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 ...
随机推荐
- 改善过多的if else
刚看到一个提问帖: <如果程序中出现多层嵌套的 if...else...语句,如何重构可使程序逻辑变得更为清晰易读?>,因回答篇幅比较大,单独开个帖子答一下. 个人喜好代码风格不一样,下面 ...
- GeoHash
查找是我们经常会碰到的问题,以前我做过一个这样的算法,在有序的数列(80万条左右),这批数据是根据维度由小到大排序的,寻找已知数据的位置,并且所相应的运算,由于这个算法要在嵌入式系统中做,如果一次在内 ...
- Software Engineering: 2. Project management
resources:"Software Engineering" Ian Sommerville For most projects, important goals are: D ...
- shell的if判断
shell的if判断 2012-03-16 14:53:05 分类: Python/Ruby 1 概要 有时候你需要指定shell脚本中的依靠命令的成功与否来实施不同过程的行为. if 结构允许 ...
- 002_kafka_相关术语详细解析
参考: http://www.cnblogs.com/likehua/p/3999538.html http://kafka.apache.org/documentation.html#getting ...
- Java 编程入门(词汇表)
抽象类(abstract class):抽象类不能创建对象,主要用来创建子类.Java中的抽象类使用 abstract 修饰符定义. 抽象数据类型(abstract data type ADT):抽象 ...
- c/c++ 软件集成 安装和可卸载软件
作为一个工程师应具备的一些能力: 1. 首先具备这款软件: >inno Setup 免费版还开源,良心货,妥妥的. 2. 这款软件上手也比较款,可自行参考使用文档 3.编译成功,生 ...
- osg,vtk,ogre的区别
osg使用过一年,阅读过一部分源代码,vtk也断续使用过三四年了,ogre研究的比较深入,基本上比较熟悉它的整体结构,说说个人的看法 vtk是一个算法库,里面包括了很多挺不错的算法,如果做有限元云图, ...
- jquery mobile 教程
简介:jQuery Mobile框架可以轻松的帮助我们实现非常好看的.可跨设备的Web应用程序.我们将后续的介绍中向大家介绍大量的代码及实例. jQuery一直以来都是非常流行的富客户端及Web应用程 ...
- Model2模型介绍
在JSP课程中有 Model1 模型的介绍 模型二: 实例接JSP课程,先去看JSP课程了