android国际化操作
1、简单介绍
我们知道在java中通过.properties文件来配置资源文件,一般用的有中文message_zh_CN.properties和英文message_en_US.properties两个配置文件,然后通过一系列的配置来实现,这里不详细介绍,在android也有国际化,而且更方便,因为android本身采用了Xml资源文件来管理所有的字符串消息,只要为各消息提供不同语言、国家对应的内容即可。
2、资源文件的编写
和java中的properties文件一样,在android也要配置这样的文件,只不过android是在res/values目录下编写字符串消息,为了给这些消息提供不同的语言、国家的版本,开发者需要在values目录下添加几个不同语言国家版本,不同values文件夹的命名方式为:
values-语言代码-r国家代码
例如:values-zh-rCN(中文)和values-en-rUS(英文)
如果需要让图片也实现国际化,还要为drawable目录添加几个不同语言国家的版本,不同drawable文件夹的命名方式为:drawable-语言代码-r国家代码
在values-zh-rCN文件夹下建一个strings.xml代表中文资源
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ok">确定</string>
<string name="cancel">取消</string>
<string name="msg">你好啊,小机器人!</string>
</resources>
在valuesen-rUS文件夹下建一个strings.xml代表英文资源
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ok">ok</string>
<string name="cancel">cancel</string>
<string name="msg">Hello,Android!</string>
</resources>
3、在布局文件中使用这些字符串资源
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/msg"
/> <Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/ok"
/> <Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/cancel"/> </LinearLayout>
接着在activity中通过setContentView(R.layout.main)加载布局文件
运行效果:
首先显示出来的是英文版的,android模拟器默认英文的,接着我们可以在Setting/Language&Input/Language这将android语言设置问中文的,就可以看到中文版的。




android国际化操作的更多相关文章
- [Android Pro] 完美Android Cursor使用例子(Android数据库操作)
reference to : http://www.ablanxue.com/prone_10575_1.html 完美 Android Cursor使用例子(Android数据库操作),Androi ...
- Android 常用操作
0.android studios使用介绍 使用介绍 android studio 常用小技巧 网址 1.怎么样添加第三方库 方法一: 第一步:将第三方库以module的形式导入 第二步:选中要导入第 ...
- iOS基础框架的搭建/国际化操作
1.基础框架的搭建 1.1 pod引入常用的第三方类库 1.2 创建基础文件夹结构/目录结构 Resource———存放声音/图片/xib/storyboard 等资源文件 Define——宏定义, ...
- Android – 学习操作NFC – 2
在<Android – 学习操作NFC – 1>说明了Android在处理NFC tag的机制.tag dispatch system的运作流程,以及三种ACTION_NDEF_DISCO ...
- iOS基础框架的搭建 / 及国际化操作
1.基础框架的搭建 1.1 pod引入常用的第三方类库 1.2 创建基础文件夹结构/目录结构 Resource———存放声音/图片/xib/storyboard 等资源文件 Define——宏定义, ...
- android 文件操作类简易总结
android 文件操作类(参考链接) http://www.cnblogs.com/menlsh/archive/2013/04/02/2997084.html package com.androi ...
- iOS Storyboard创建APP 的国际化操作
Storyboard创建APP 的国际化操作 最近在看<X-code江湖录>这本书,看到了APP 国际化这点,刚刚也简单的实践了一下.现在和大家分享分享! 写的这个简单的Demo全都是用 ...
- 为什么说android UI操作不是线程安全的
转载于:http://blog.csdn.net/lvxiangan/article/details/17218409#t2 UI线程及Android的单线程模型原则 使用Worker线程 Commu ...
- Android权限操作之uses-permission详解
本文实例讲述了Android权限操作之uses-permission.分享给大家供大家参考,具体如下: 我们在安装Android软件的时候,系统会提示该软件所需要的权限,相对于其他系统,android ...
随机推荐
- Debian 上面五分钟搭建 WordPress - 博客/网站平台
没有废话,步骤如下: 下载安装软件,MySQL Apache PHP sudo aptitude install mysql-server mysql-client ##安装 MySQLsudo ap ...
- 001_kafka起步
一.简介 Kafka is a distributed, partitioned, replicated commit log service. It provides the functionali ...
- IOS开发UI篇—导航控制器属性和基本使用
IOS开发UI篇—导航控制器属性和基本使用 一.导航控制器的一些属性和基本使用 1.把子控制器添加到导航控制器中的四种方法 (1) 1.创建一个导航控制器 UINavigationController ...
- iOS开发数据库篇—FMDB数据库队列
iOS开发数据库篇—FMDB数据库队列 一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: // // YYViewContr ...
- SRM 657 DIV2
-------一直想打SRM,但是感觉Topcoder用起来太麻烦了.题目还是英文,不过没什么事干还是来打一打好了.但是刚注册的号只能打DIV2,反正我这么弱也只适合DIV2了.. T1: 题目大意: ...
- 计算机网络(5)-----ICMP协议和PING程序
控制报文协议(Internet Control Message Protocol) 定义 它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制消息是指网络通不通.主机是否可 ...
- js 中混乱this
1.在HTML元素事件属性中inline方式使用this关键字: <div onclick=" // 可以在里面使用this ">division element&l ...
- Devexpress datagrid动态添加显示指定列的gridView
代码如下: public class DXGridControlHelper { /// <summary> /// 获取显示指定列的GridView /// </summary&g ...
- 第三个Sprint冲刺第五天
讨论地点:宿舍 讨论成员:邵家文.李新.朱浩龙.陈俊金 讨论问题:继续昨天的工作
- H - R(N)
H - R(N) Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Sta ...