为了支持国际化语言,我们只要在res/目录下在重新新建文件夹为:values-国家编号,如values-zh-rCN表示简体中文,values-zh-rTW表示繁体,values-jp表示日语等。
常见的国际编号有:
zh_cn: 简体中文
zh_hk: 繁体中文(中国香港)
zh_tw: 繁体中文(中国台湾地区)
en-hk: 英语(香港)
en_us: 英语(美国)
en_gb: 英语(英国)
en_ww: 英语(全球)
ja_jp: 日语(日本)
ko_kr: 韩文(韩国)
在Android工程的res目录下,通过定义特殊的文件夹名称就可以实现多语言支持。比如我们的程序兼容简体中文、英文,在values文件夹中建立默认strings.xml,再建立values-zh-rCN文件夹。手机设置为哪种语言,它就会加载哪种语言的Values文件。
values-zh-rUS
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">" Android_i18n"</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
</resources>
values-zh-rCN
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">" 安卓国际化"</string>
<string name="hello_world">你好,世界</string>
<string name="action_settings">设置</string>
</resources>
在设置中设置语言:
在代码中动态切换语言:
Resources resources = getResources();//获得res资源对象
Configuration config = resources.getConfiguration();//获得设置对象
DisplayMetrics dm = resources .getDisplayMetrics();//获得屏幕参数:主要是分辨率,像素等。
config.locale = Locale.SIMPLIFIED_CHINESE; //简体中文
resources.updateConfiguration(config, dm);
设置横竖屏不同的布局: