Android 多语言与国际化

nternationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n。

一般用 语言_地区的形式表示一种语言,如  zh_CN, zh_TW.

各国语言缩写  http://www.loc.gov/standards/iso639-2/php/code_list.php

国家和地区简写 http://www.iso.org/iso/en/prods- ... lists/list-en1.html

在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);

你可能感兴趣的:(Android应用开发)