1. 创建资源文件
右键 res –> new –> Android Resource Directory
选择 Locale 并点击 右侧 >> 按钮
选择你需要添加的语言或分支
在res 下 会穿件对应语言的 values-xx 的 文件夹,将 对应语言的String,xml 放到文件夹下
2. 点击切换按钮,将需要切换的语言,存入 SharedPreferences,然后 重新跳转的首页,并清除旧程序
保存到SharedPreferences
SharedPreferencesUtil.putData("language", language);
重新打开
public void exitApp() {
// 重新切换到首页,并且关闭旧系统,若 在base 保存的 activity 记得清空 list;
Intent intent = new Intent(this, VpActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
// 杀掉进程
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
}
然后在BaseActivity 的 onCreate 中 判断,是否有自定义的语言,
// 将语言格式存入Share ,然后读取share,根据share 进行语言的 切换
public void changeLanguage() {
//获取 share 保存的语言
String shareLanguage = (String) SharedPreferencesUtil.getData("language", "");
if (shareLanguage.equals("")) {
return;
}
// 获得res资源对象
Resources resources = this.getResources();
// 获得屏幕参数:主要是分辨率,像素等。
DisplayMetrics metrics = resources.getDisplayMetrics();
// 获得配置对象
Configuration config = resources.getConfiguration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
//根据Share 存储的 语言格式 进行 设置
//config.setLocale(Locale.SIMPLIFIED_CHINESE);//设置简体中文
config.setLocale(Locale.ENGLISH);//设置英文
} else {
//根据Share 存储的 语言格式 进行 设置
//config.locale = Locale.SIMPLIFIED_CHINESE;//设置简体中文
config.locale = Locale.ENGLISH;//设置英文
}
resources.updateConfiguration(config, metrics);
}
另附 语言对照表:
en 英文
en_US 英文 (美国)
ar 阿拉伯文
ar_AE 阿拉伯文 (阿拉伯联合酋长国)
ar_BH 阿拉伯文 (巴林)
ar_DZ 阿拉伯文 (阿尔及利亚)
ar_EG 阿拉伯文 (埃及)
ar_IQ 阿拉伯文 (伊拉克)
ar_JO 阿拉伯文 (约旦)
ar_KW 阿拉伯文 (科威特)
ar_LB 阿拉伯文 (黎巴嫩)
ar_LY 阿拉伯文 (利比亚)
ar_MA 阿拉伯文 (摩洛哥)
ar_OM 阿拉伯文 (阿曼)
ar_QA 阿拉伯文 (卡塔尔)
ar_SA 阿拉伯文 (沙特阿拉伯)
ar_SD 阿拉伯文 (苏丹)
ar_SY 阿拉伯文 (叙利亚)
ar_TN 阿拉伯文 (突尼斯)
ar_YE 阿拉伯文 (也门)
be 白俄罗斯文
be_BY 白俄罗斯文 (白俄罗斯)
bg 保加利亚文
bg_BG 保加利亚文 (保加利亚)
ca 加泰罗尼亚文
ca_ES 加泰罗尼亚文 (西班牙)
ca_ES_EURO 加泰罗尼亚文 (西班牙,Euro)
cs 捷克文
cs_CZ 捷克文 (捷克共和国)
da 丹麦文
da_DK 丹麦文 (丹麦)
de 德文
de_AT 德文 (奥地利)
de_AT_EURO 德文 (奥地利,Euro)
de_CH 德文 (瑞士)
de_DE 德文 (德国)
de_DE_EURO 德文 (德国,Euro)
de_LU 德文 (卢森堡)
de_LU_EURO 德文 (卢森堡,Euro)
el 希腊文
el_GR 希腊文 (希腊)
en_AU 英文 (澳大利亚)
en_CA 英文 (加拿大)
en_GB 英文 (英国)
en_IE 英文 (爱尔兰)
en_IE_EURO 英文 (爱尔兰,Euro)
en_NZ 英文 (新西兰)
en_ZA 英文 (南非)
es 西班牙文
es_BO 西班牙文 (玻利维亚)
es_AR 西班牙文 (阿根廷)
es_CL 西班牙文 (智利)
es_CO 西班牙文 (哥伦比亚)
es_CR 西班牙文 (哥斯达黎加)
es_DO 西班牙文 (多米尼加共和国)
es_EC 西班牙文 (厄瓜多尔)
es_ES 西班牙文 (西班牙)
es_ES_EURO 西班牙文 (西班牙,Euro)
es_GT 西班牙文 (危地马拉)
es_HN 西班牙文 (洪都拉斯)
es_MX 西班牙文 (墨西哥)
es_NI 西班牙文 (尼加拉瓜)
et 爱沙尼亚文
es_PA 西班牙文 (巴拿马)
es_PE 西班牙文 (秘鲁)
es_PR 西班牙文 (波多黎哥)
es_PY 西班牙文 (巴拉圭)
es_SV 西班牙文 (萨尔瓦多)
es_UY 西班牙文 (乌拉圭)
es_VE 西班牙文 (委内瑞拉)
et_EE 爱沙尼亚文 (爱沙尼亚)
fi 芬兰文
fi_FI 芬兰文 (芬兰)
fi_FI_EURO 芬兰文 (芬兰,Euro)
fr 法文
fr_BE 法文 (比利时)
fr_BE_EURO 法文 (比利时,Euro)
fr_CA 法文 (加拿大)
fr_CH 法文 (瑞士)
fr_FR 法文 (法国)
fr_FR_EURO 法文 (法国,Euro)
fr_LU 法文 (卢森堡)
fr_LU_EURO 法文 (卢森堡,Euro)
hr 克罗地亚文
hr_HR 克罗地亚文 (克罗地亚)
hu 匈牙利文
hu_HU 匈牙利文 (匈牙利)
is 冰岛文
is_IS 冰岛文 (冰岛)
it 意大利文
it_CH 意大利文 (瑞士)
it_IT 意大利文 (意大利)
it_IT_EURO 意大利文 (意大利,Euro)
iw 希伯来文
iw_IL 希伯来文 (以色列)
ja 日文
ja_JP 日文 (日本)
ko 朝鲜文
ko_KR 朝鲜文 (南朝鲜)
lt 立陶宛文
lt_LT 立陶宛文 (立陶宛)
lv 拉托维亚文(列托)
lv_LV 拉托维亚文(列托) (拉脱维亚)
mk 马其顿文
mk_MK 马其顿文 (马其顿王国)
nl 荷兰文
nl_BE 荷兰文 (比利时)
nl_BE_EURO 荷兰文 (比利时,Euro)
nl_NL 荷兰文 (荷兰)
nl_NL_EURO 荷兰文 (荷兰,Euro)
no 挪威文
no_NO 挪威文 (挪威)
no_NO_NY 挪威文 (挪威,Nynorsk)
pl 波兰文
pl_PL 波兰文 (波兰)
pt 葡萄牙文
pt_BR 葡萄牙文 (巴西)
pt_PT 葡萄牙文 (葡萄牙)
pt_PT_EURO 葡萄牙文 (葡萄牙,Euro)
ro 罗马尼亚文
ro_RO 罗马尼亚文 (罗马尼亚)
ru 俄文
ru_RU 俄文 (俄罗斯)
sh 塞波尼斯-克罗地亚文
sh_YU 塞波尼斯-克罗地亚文 (南斯拉夫)
sk 斯洛伐克文
sk_SK 斯洛伐克文 (斯洛伐克)
sl 斯洛文尼亚文
sl_SI 斯洛文尼亚文 (斯洛文尼亚)
sq 阿尔巴尼亚文
sq_AL 阿尔巴尼亚文 (阿尔巴尼亚)
sr 塞尔维亚文
sr_YU 塞尔维亚文 (南斯拉夫)
sv 瑞典文
sv_SE 瑞典文 (瑞典)
th 泰文
th_TH 泰文 (泰国)
tr 土耳其文
tr_TR 土耳其文 (土耳其)
uk 乌克兰文
uk_UA 乌克兰文 (乌克兰)
zh 中文
zh_CN 中文 (中国)
zh_HK 中文 (香港)
zh_TW 中文 (台湾)
Countries and Regions 国家或地区 国际域名缩写
Angola 安哥拉 AO
Afghanistan 阿富汗 AF
Albania 阿尔巴尼亚 AL
Algeria 阿尔及利亚 DZ
Andorra 安道尔共和国 AD
Anguilla 安圭拉岛 AI
Antigua and Barbuda 安提瓜和巴布达 AG
Argentina 阿根廷 AR
Armenia 亚美尼亚 AM
Ascension 阿森松
Australia 澳大利亚 AU
Austria 奥地利 AT
Azerbaijan 阿塞拜疆 AZ
Bahamas 巴哈马 BS
Bahrain 巴林 BH
Bangladesh 孟加拉国 BD
Barbados 巴巴多斯 BB
Belarus 白俄罗斯 BY
Belgium 比利时 BE
Belize 伯利兹 BZ
Benin 贝宁 BJ
Bermuda Is. 百慕大群岛 BM
Bolivia 玻利维亚 BO
Botswana 博茨瓦纳 BW
Brazil 巴西 BR
Brunei 文莱 BN
Bulgaria 保加利亚 BG
Burkina-faso 布基纳法索 BF
Burma 缅甸 MM
Burundi 布隆迪 BI
Cameroon 喀麦隆 CM
Canada 加拿大 CA
Cayman Is. 开曼群岛
Central African Republic 中非共和国 CF
Chad 乍得 TD
Chile 智利 CL
China 中国 CN
Colombia 哥伦比亚 CO
Congo 刚果 CG
Cook Is. 库克群岛 CK
Costa Rica 哥斯达黎加 CR
Cuba 古巴 CU
Cyprus 塞浦路斯 CY
Czech Republic 捷克 CZ
Denmark 丹麦 DK
Djibouti 吉布提 DJ
Dominica Rep. 多米尼加共和国 DO
Ecuador 厄瓜多尔 EC
Egypt 埃及 EG
EI Salvador 萨尔瓦多 SV
Estonia 爱沙尼亚 EE
Ethiopia 埃塞俄比亚 ET
Fiji 斐济 FJ
Finland 芬兰 FI
France 法国 FR
French Guiana 法属圭亚那 GF
Gabon 加蓬 GA
Gambia 冈比亚 GM
Georgia 格鲁吉亚 GE
Germany 德国 DE
Ghana 加纳 GH
Gibraltar 直布罗陀 GI
Greece 希腊 GR
Grenada 格林纳达 GD
Guam 关岛 GU
Guatemala 危地马拉 GT
Guinea 几内亚 GN
Guyana 圭亚那 GY
Haiti 海地 HT
Honduras 洪都拉斯 HN
Hongkong 香港 HK
Hungary 匈牙利 HU
Iceland 冰岛 IS
India 印度 IN
Indonesia 印度尼西亚 ID
Iran 伊朗 IR
Iraq 伊拉克 IQ
Ireland 爱尔兰 IE
Israel 以色列 IL
Italy 意大利 IT
Ivory Coast 科特迪瓦
Jamaica 牙买加 JM
Japan 日本 JP
Jordan 约旦 JO
Kampuchea (Cambodia ) 柬埔寨 KH
Kazakstan 哈萨克斯坦 KZ
Kenya 肯尼亚 KE
Korea 韩国 KR
Kuwait 科威特 KW
Kyrgyzstan 吉尔吉斯坦 KG
Laos 老挝 LA
Latvia 拉脱维亚 LV
Lebanon 黎巴嫩 LB
Lesotho 莱索托 LS
Liberia 利比里亚 LR
Libya 利比亚 LY
Liechtenstein 列支敦士登 LI
Lithuania 立陶宛 LT
Luxembourg 卢森堡 LU
Macao 澳门 MO
Madagascar 马达加斯加 MG
Malawi 马拉维 MW
Malaysia 马来西亚 MY
Maldives 马尔代夫 MV
Mali 马里 ML
Malta 马耳他 MT
Mariana Is 马里亚那群岛
Martinique 马提尼克
Mauritius 毛里求斯 MU
Mexico 墨西哥 MX
Moldova, Republic of 摩尔多瓦 MD
Monaco 摩纳哥 MC
Mongolia 蒙古 MN
Montserrat Is 蒙特塞拉特岛 MS
Morocco 摩洛哥 MA
Mozambique 莫桑比克 MZ
Namibia 纳米比亚 NA
Nauru 瑙鲁 NR
Nepal 尼泊尔 NP
Netheriands Antilles 荷属安的列斯
Netherlands 荷兰 NL
New Zealand 新西兰 NZ
Nicaragua 尼加拉瓜 NI
Niger 尼日尔 NE
Nigeria 尼日利亚 NG
North Korea 朝鲜 KP
Norway 挪威 NO
Oman 阿曼 OM
Pakistan 巴基斯坦 PK
Panama 巴拿马 PA
Papua New Cuinea 巴布亚新几内亚 PG
Paraguay 巴拉圭 PY
Peru 秘鲁 PE
Philippines 菲律宾 PH
Poland 波兰 PL
French Polynesia 法属玻利尼西亚 PF
Portugal 葡萄牙 PT
Puerto Rico 波多黎各 PR
Qatar 卡塔尔 QA
Reunion 留尼旺
Romania 罗马尼亚 RO
Russia 俄罗斯 RU
Saint Lueia 圣卢西亚 LC
Saint Vincent 圣文森特岛 VC
Samoa Eastern 东萨摩亚(美)
Samoa Western 西萨摩亚
San Marino 圣马力诺 SM
Sao Tome and Principe 圣多美和普林西比 ST
Saudi Arabia 沙特阿拉伯 SA
Senegal 塞内加尔 SN
Seychelles 塞舌尔 SC
Sierra Leone 塞拉利昂 SL
Singapore 新加坡 SG
Slovakia 斯洛伐克 SK
Slovenia 斯洛文尼亚 SI
Solomon Is 所罗门群岛 SB
Somali 索马里 SO
South Africa 南非 ZA
Spain 西班牙 ES
Sri Lanka 斯里兰卡 LK
St.Lucia 圣卢西亚 LC
St.Vincent 圣文森特 VC
Sudan 苏丹 SD
Suriname 苏里南 SR
Swaziland 斯威士兰 SZ
Sweden 瑞典 SE
Switzerland 瑞士 CH
Syria 叙利亚 SY
Taiwan 台湾省 TW
Tajikstan 塔吉克斯坦 TJ
Tanzania 坦桑尼亚 TZ
Thailand 泰国 TH
Togo 多哥 TG
Tonga 汤加 TO
Trinidad and Tobago 特立尼达和多巴哥 TT
Tunisia 突尼斯 TN
Turkey 土耳其 TR
Turkmenistan 土库曼斯坦 TM
Uganda 乌干达 UG
Ukraine 乌克兰 UA
United Arab Emirates 阿拉伯联合酋长国 AE
United Kiongdom 英国 GB
United States of America 美国 US
Uruguay 乌拉圭 UY
Uzbekistan 乌兹别克斯坦 UZ
Venezuela 委内瑞拉 VE
Vietnam 越南 VN
Yemen 也门 YE
Yugoslavia 南斯拉夫 YU
Zimbabwe 津巴布韦 ZW
Zaire 扎伊尔 ZR
Zambia 赞比亚 ZM
版权声明:本文为duke_knight原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。