Android之路 – 3步完成多语言支持
Google不愧是跨国企业,连开发出的系统都能轻松支持多语言支持。
以英文和简体中文两种语言为例,3步完成:
1. 新建项目后,默认res\values下会有strings.xml文件,我们添加一些资源字符串
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Yamba 1</string>
<string name="titleYamba">Yamba</string>
<string name="titleStatus">Status Update</string>
<string name="hintText">Please enter your 140-character status</string>
<string name="buttonUpdate">Update</string>
</resources>
2. 在res目录下添加values-zh-rCN目录,然后复制res\values\strings.xml到新建的目录下
3. 打开res\values-zh-rCN\strings.xml,编辑其内容为
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Yamba</string>
<string name="titleYamba">Yamba</string>
<string name="titleStatus">状态更新</string>
<string name="hintText">请输入140字内信息</string>
<string name="buttonUpdate">更新</string>
</resources>
OK,大功告成!
部署到模拟器上,来看看吧。假设默认Custom Locale为en_US
修改Custom Locale为简体中文zh_CN
再打开应用看,已经从简体中文的资源文件中提取了对应的配置
android是如何定位这个资源文件的呢?
我们来看下第2步的目录名:values-zh-rCN,拆分成3部分为:values, zh, rCN。values不用解释了,可以明白是values目录,zh是语言的双字符简写,rCN的r表示region,CN是地区的双字符简写。
如果系统设置的Custom Locale,无对应的本地化资源文件,那么就会取默认的res\values\strings.xml。
各国语言缩写 http://www.loc.gov/standards/iso639-2/php/code_list.php
国家和地区简写 http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html
参考链接:http://blog.csdn.net/lijiecong/archive/2009/11/03/4764947.aspx
走的多了,就有了自己的路!