Android国际化(一)语言、国家/区域代码
来源:互联网 发布:linux jdk1.7下载地址 编辑:程序博客网 时间:2024/06/06 12:23
当你在开发Android应用时或Android系统时,如果希望自己的产品在全球或多国上市进行销售时,那么国际化的工作必不可少。Android系统的国际化需要在应用所在目录res文件夹下建立针对不同语言或地区的values文件夹,那么具体应该怎样进行命名,最终结构又是怎么样的呢?
例:
AndroidDemo //应用名称
|
|_____res //Android应用资源根目录
|
|_____values
|_____ strings.xml
|_____ colors.xml
|_____ dimens.xml
|_____ styles.xml
|
|_____values-zh-rCN //汉语
|_____ strings.xml
|_____ colors.xml
|_____ dimens.xml
|_____ styles.xml
|_____values-de //德语
|
|.......
查看AndroidAPI,values可以支持很多属性,具本参见http://developer.android.com/guide/topics/resources/providing-resources.html
此处我们只针对values后添加语言,国家/区域代码的情况进行说明
values-zh-rCN:values固定部分,zh:表示语言代码,rCN:表示区域代码,其中r为固定保留值。
Android中的语言代码规范遵循的是ISO639-1,区域代码遵循的是ISO3166-1
以下我们对ISO639-1及ISO3166-1标准进行一个简单说明:
1)ISO639-1
从命名中我们也可直接看出ISO639-1是ISO 639国际标准的一部分。ISO639是ISO组织为各语言制定的国际标准。ISO639长期的演变过程中一共出现了6个部分,分别为:ISO639-1,ISO 639-2,ISO639-3,ISO 639-4,ISO639-5,ISO 639-6。
具体的详情请参考:
http://zh.wikipedia.org/wiki/ISO_639
http://zh.wikipedia.org/wiki/ISO_639-1%E4%BB%A3%E7%A0%81%E8%A1%A8
2)ISO3166-1
同样ISO3166-1也是ISO3166国际标准的一部分。ISO3166是ISO组织针对国家和地区代码而制订的国际标准。ISO3166一共有三部分组成:ISO3166-1,ISO 3166-2,ISO3166-3。
具体的详情请参考:
http://zh.wikipedia.org/wiki/ISO_3166
http://zh.wikipedia.org/wiki/ISO_3166-1
*注意:
在java.utils.Locale.java类中有如下一段注释:
* <p>Note that Java uses several deprecated two-letter codes. The Hebrew ("he") language
* code is rewritten as "iw", Indonesian ("id") as "in", and Yiddish ("yi") as "ji". This
* rewriting happens even if you construct your own {@code Locale} object, not just for
* instances returned by the various lookup methods.
以下几种语言使用时,Android与ISO 639-1有所有区别,主要是由于历史问题引起的,要特别注意
语言中文 语言英文 ISO 639-1 Android
希伯来语 Hebrew he iw
印尼语 Indonesian id in
依地语 Yiddish yi ji
values-he 等价 values-iw
values-id 等价 values-in
value-yi 等价 values-ji
以上三个为物殊情况,其它语言严格遵循ISO 639-1规范
- Android国际化(一)语言、国家/区域代码
- Android国际化中用到的国家/地区 语言缩写代码
- Android国际化中用到的国家/地区 语言缩写代码
- android 资源国际化 国家/地区 语言缩写代码
- android 资源国际化 国家/地区 语言缩写代码
- android 资源国际化 语言 国家/地区 缩写代码
- Android国际化对应国家代码
- 国际化 i18n ———— 国家语言代码
- java支持的语言和国家(国际化)
- struts--动态访问国际化资源(国家/语言切换)
- 33.Struts-动态访问国际化资源(国家/语言切换)
- 国家区域代码关系整理
- 国家区域代码关系整理
- 语言代码 国家代码
- android国际化之各国区域和语言的标志码
- 国家国际化代码和城市代码资源
- android国际化代码动态更改语言环境
- 国家语言代码i18n
- C++头文件讲解
- 使用JNI进行混合编程:在C/C++中调用Java代码
- MFC组件应用
- Android Dependencies
- 用标准的SQL语句实现查询记录的分页
- Android国际化(一)语言、国家/区域代码
- Postgresql 创建主键并设置自动递增的三种方法
- JNI和NDK使用介绍
- SQL Server返回最后一个标识值的三个函数:IDENT_CURRENT、@@IDENTITY、SCOPE_IDENTITY
- Android打印代码调用栈
- 数据库出现ORA-01033问题 解决方法
- 开发自己的Maven插件之四:基本概念
- Objective-C中的一些特殊的数据类型
- Amazon Flow更新 支持QR条码及增强现实购物功能