项目有个需求,App可以单独设置语言,并不再跟随系统语言环境变化。
实现如下:
private void setLanguage(Locale locale){
if (locale == null){
return;
}
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getApplicationContext().getResources().updateConfiguration(config, null);
}
Manifest.xml中的application添加属性:
android:configChanges="keyboardHidden|orientation|locale"
调用:
setLanguage(Locale.GERMANY);
简体中文 values-zh-rCN
繁体中文 values-zh-rTW
英语 values-en-rGB
德语 values-de-rDE
日语 values-ja-rJP
西班牙语 values-es-rES
韩语 values-ko-rKR
法语 values-fr-rFR
意大利语 values-it-rIT
荷兰语 values-nl-rNL
葡萄牙语 values-pt-rPT
瑞典语 values-sv-rSE
捷克语 values-cs-rCZ
丹麦语 values-da-rDK
波兰语 values-pl-rPL
俄语 values-ru-rRU
土耳其语 values-tr-rTR
希伯来语 values-iw-rIL<以色列>
泰语 values-th-rTH
匈牙利语 values-hu-rHU
罗马尼亚语 values-ro-rRO
阿拉伯语 values-ar-rEG(以色列)/values-ar-rIL(埃及)
ref:http://blog.csdn.net/fenghome/article/details/5769446
ref:http://www.cnblogs.com/wuyunan/articles/1567960.html
ref:http://www.loc.gov/standards/iso639-2/php/code_list.php
ref:http://www.jb51.net/article/32476.htm
ref:http://blog.csdn.net/cailingyun0129/article/details/8450084