2011年(125)
分类: LINUX
2011-05-16 14:57:05
nternationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n。
一般用 语言_地区的形式表示一种语言,如 zh_CN, zh_TW.
各国语言缩写
国家和地区简写
在Android工程的res目录下,通过定义 特殊的文件 夹名称就可以实现多语言支持。比如我们的程序 兼容 简体中文 、 日文、英文、法文和德文,在values文件夹中建立默认strings.xml,再建立 values-zh-rCN(zh表示中文rCN表示简体,类似还有美式英语,奥式英语)、values-ja、values、values-fr和 values-de文件夹。(可以用开发 工具建:见http://www.cnblogs.com/wuyunan/archive/2009/09/16/1567960.html )
在每个文件夹里放置一个strings.xml,strings.xml里是各种语言字符串。如果涉及到参数配置类xml文件夹也要改成xml-zh、xml-ja、xml、xml-fr和xml-de。这样在android 的系统 中进行语言切换,所开发的程序也会跟着切换语言。
在代码 中切换语言:
Resources resources = getResources();//获得res资源对象
Configuration config = resources.getConfiguration();//获得设置 对象
DisplayMetrics dm = resources .getDisplayMetrics();//获得屏幕 参数:主要是分辨率,像素等。
config.locale = Locale.SIMPLIFIED_CHINESE; //简体中文
resources.updateConfiguration(config, dm);