天天看點

android開發 多語言和國際化

我們建好一個android 的項目後,預設的res下面 有layout、values、drawable等目錄

這些都是程式預設的資源檔案目錄,如果要實作多語言版本的話,我們就要添加要實作語言的對應的資源檔案。

首先我們點選添加Android Xml File按鈕,會出現下面的界面:

android開發 多語言和國際化

輸入檔案名:string.xml,選中Values單選框,并把下面左清單中的Region添加到左邊的清單裡面,并在Region輸入框裡輸入cn,如下圖

android開發 多語言和國際化

這時,上面的消息提示:如果用Region的話,需要使用語言項,和Region一樣,我們把Language也添加到右面的清單裡面,填入zh,如下圖

android開發 多語言和國際化

點選Finish按鈕,資源檔案就會建好了,目錄:res\values-zh-rCN(其實上面一大堆操作,就是為生成這個目錄)

android開發 多語言和國際化

預設生成的string.xml的代碼:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Test!</string>
<string name="app_name">Test-Multilingual</string>
</resources>
           

修改剛剛生成的res\values-zh-rCN目錄下的string.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">測試多語言</string>
<string name="hello">你好 多語言測試</string>
</resources>
           

運作結果:

en-us:英文

android開發 多語言和國際化
android開發 多語言和國際化

zh-cn:中國大陸

android開發 多語言和國際化
android開發 多語言和國際化
android開發 多語言和國際化

zh-tw:台灣

android開發 多語言和國際化
android開發 多語言和國際化
android開發 多語言和國際化

因為設定了region為CN,是以zh-tw的時候,沒有找到res\values-zh-rTW的目錄,加載了預設的res\values目錄下的string.xml

這裡隻用了Values做例子,其餘的Resource都可以,圖檔了,布局了等等

(出處和作者:www.cnblogs.com/wuyunan Ready Wu)

附1:

在代碼中切換語言:

Resources resources = getResources();//獲得res資源對象
     Configuration config = resources.getConfiguration();//獲得設定對象
     DisplayMetrics dm = resources .getDisplayMetrics();//獲得螢幕參數:主要是分辨率,像素等。
     config.locale = Locale.SIMPLIFIED_CHINESE; //簡體中文
     resources.updateConfiguration(config, dm);
           

附2:

國家代号與區号
Countries and Regions 國家或地區 國際域名縮寫 電話代碼 時差
Angola 安哥拉 AO 244 -7
Afghanistan 阿富汗 AF 93
Albania 阿爾巴尼亞 AL 355 -7
Algeria 阿爾及利亞 DZ 213 -8
Andorra 安道爾共和國 AD 376 -8
Anguilla 安圭拉島 AI 1264 -12
Antigua and Barbuda 安提瓜和巴布達 AG 1268 -12
Argentina 阿根廷 AR 54 -11
Armenia 亞美尼亞 AM 374 -6
Ascension 阿森松 247 -8
Australia 澳洲 AU 61 +2
Austria 奧地利 AT 43 -7
Azerbaijan 阿塞拜疆 AZ 994 -5
Bahamas 巴哈馬 BS 1242 -13
Bahrain 巴林 BH 973 -5
Bangladesh 孟加拉國 BD 880 -2
Barbados 巴貝多 BB 1246 -12
Belarus 白俄羅斯 BY 375 -6
Belgium 比利時 BE 32 -7
Belize 貝裡斯 BZ 501 -14
Benin 貝甯 BJ 229 -7
Bermuda Is. 百慕大群島 BM 1441 -12
Bolivia 玻利維亞 BO 591 -12
Botswana 波紮那 BW 267 -6
Brazil 巴西 BR 55 -11
Brunei 文萊 BN 673
Bulgaria 保加利亞 BG 359 -6
Burkina-faso 布基納法索 BF 226 -8
Burma 緬甸 MM 95 -1.3
Burundi 布隆迪 BI 257 -6
Cameroon 喀麥隆 CM 237 -7
Canada 加拿大 CA 1 -13
Cayman Is. 開曼群島 1345 -13
Central African Republic 中非共和國 CF 236 -7
Chad 查德 TD 235 -7
Chile 智利 CL 56 -13
China 中國 CN 86
Colombia 哥倫比亞 CO 57
Congo 剛果 CG 242 -7
Cook Is. 庫克群島 CK 682 -18.3
Costa Rica 哥斯達黎加 CR 506 -14
Cuba 古巴 CU 53 -13
Cyprus 塞普勒斯 CY 357 -6
Czech Republic 捷克 CZ 420 -7
Denmark 丹麥 DK 45 -7
Djibouti 吉布地 DJ 253 -5
Dominica Rep. 多米尼加共和國 DO 1890 -13
Ecuador 厄瓜多 EC 593 -13
Egypt 埃及 EG 20 -6
EI Salvador 薩爾瓦多 SV 503 -14
Estonia 愛沙尼亞 EE 372 -5
Ethiopia 埃塞俄比亞 ET 251 -5
Fiji 斐濟 FJ 679 +4
Finland 芬蘭 FI 358 -6
France 法國 FR 33 -8
French Guiana 法屬蓋亞那 GF 594 -12
Gabon 加蓬 GA 241 -7
Gambia 甘比亞 GM 220 -8
Georgia 格魯吉亞 GE 995
Germany 德國 DE 49 -7
Ghana 加納 GH 233 -8
Gibraltar 直布羅陀 GI 350 -8
Greece 希臘 GR 30 -6
Grenada 格瑞那達 GD 1809 -14
Guam 關島 GU 1671 +2
Guatemala 瓜地馬拉 GT 502 -14
Guinea 幾内亞 GN 224 -8
Guyana 蓋亞那 GY 592 -11
Haiti 海地 HT 509 -13
Honduras 洪都拉斯 HN 504 -14
Hongkong 香港 HK 852
Hungary 匈牙利 HU 36 -7
Iceland 冰島 IS 354 -9
India 印度 IN 91 -2.3
Indonesia 印度尼西亞 ID 62 -0.3
Iran 伊朗 IR 98 -4.3
Iraq 伊拉克 IQ 964 -5
Ireland 愛爾蘭 IE 353 -4.3
Israel 以色列 IL 972 -6
Italy 意大利 IT 39 -7
Ivory Coast 科特迪瓦 225 -6
Jamaica 牙買加 JM 1876 -12
Japan 日本 JP 81 +1
Jordan 約旦 JO 962 -6
Kampuchea (Cambodia ) 高棉 KH 855 -1
Kazakstan 哈薩克斯坦 KZ 327 -5
Kenya 肯亞 KE 254 -5
Korea 南韓 KR 82 +1
Kuwait 科威特 KW 965 -5
Kyrgyzstan 吉爾吉斯坦 KG 331 -5
Laos 寮國 LA 856 -1
Latvia 拉脫維亞 LV 371 -5
Lebanon 黎巴嫩 LB 961 -6
Lesotho 賴索托 LS 266 -6
Liberia 賴比瑞亞 LR 231 -8
Libya 利比亞 LY 218 -6
Liechtenstein 列支敦士登 LI 423 -7
Lithuania 立陶宛 LT 370 -5
Luxembourg 盧森堡 LU 352 -7
Macao 澳門 MO 853
Madagascar 馬拉加西 MG 261 -5
Malawi 馬拉威 MW 265 -6
Malaysia 馬來西亞 MY 60 -0.5
Maldives 馬爾代夫 MV 960 -7
Mali 馬裡 ML 223 -8
Malta 馬耳他 MT 356 -7
Mariana Is 馬裡亞那群島 1670 +1
Martinique 馬提尼克 596 -12
Mauritius 模裡西斯 MU 230 -4
Mexico 墨西哥 MX 52 -15
Moldova Republic of 摩爾多瓦 MD 373 -5
Monaco 摩納哥 MC 377 -7
Mongolia 蒙古 MN 976
Montserrat Is 蒙特塞拉特島 MS 1664 -12
Morocco 摩洛哥 MA 212 -6
Mozambique 莫三鼻克 MZ 258 -6
Namibia 那密比亞 NA 264 -7
Nauru 諾魯 NR 674 +4
Nepal 尼泊爾 NP 977 -2.3
Netheriands Antilles 荷屬安的列斯 599 -12
Netherlands 荷蘭 NL 31 -7
New Zealand 紐西蘭 NZ 64 +4
Nicaragua 尼加拉瓜 NI 505 -14
Niger 尼日爾 NE 227 -8
Nigeria 奈及利亞 NG 234 -7
North Korea 北韓 KP 850 +1
Norway 挪威 NO 47 -7
Oman 阿曼 OM 968 -4
Pakistan 巴基斯坦 PK 92 -2.3
Panama 巴拿馬 PA 507 -13
Papua New Cuinea 巴巴新幾內亞 PG 675 +2
Paraguay 巴拉圭 PY 595 -12
Peru 秘魯 PE 51 -13
Philippines 菲律賓 PH 63
Poland 波蘭 PL 48 -7
French Polynesia 法屬玻利尼西亞 PF 689 +3
Portugal 葡萄牙 PT 351 -8
Puerto Rico 波多黎各 PR 1787 -12
Qatar 卡達 QA 974 -5
Reunion 留尼旺 262 -4
Romania 羅馬尼亞 RO 40 -6
Russia 俄羅斯 RU 7 -5
Saint Lueia 聖盧西亞 LC 1758 -12
Saint Vincent 聖文森特島 VC 1784 -12
Samoa Eastern 東薩摩亞(美) 684 -19
Samoa Western 薩摩亞 685 -19
San Marino 聖馬力諾 SM 378 -7
Sao Tome and Principe 聖多美和普林西比 ST 239 -8
Saudi Arabia 沙特阿拉伯 SA 966 -5
Senegal 塞内加爾 SN 221 -8
Seychelles 塞昔耳 SC 248 -4
Sierra Leone 塞拉利昂 SL 232 -8
Singapore 新加坡 SG 65 +0.3
Slovakia 斯洛伐克 SK 421 -7
Slovenia 斯洛文尼亞 SI 386 -7
Solomon Is 所羅門群島 SB 677 +3
Somali 索馬裡 SO 252 -5
South Africa 南非 ZA 27 -6
Spain 西班牙 ES 34 -8
Sri Lanka 斯裡蘭卡 LK 94
St.Lucia 聖盧西亞 LC 1758 -12
St.Vincent 聖文森特 VC 1784 -12
Sudan 蘇丹 SD 249 -6
Suriname 蘇利南 SR 597 -11.3
Swaziland 史瓦濟蘭 SZ 268 -6
Sweden 瑞典 SE 46 -7
Switzerland 瑞士 CH 41 -7
Syria 叙利亞 SY 963 -6
Taiwan 台灣省 TW 886
Tajikstan 塔吉克斯坦 TJ 992 -5
Tanzania 坦尚尼亞 TZ 255 -5
Thailand 泰國 TH 66 -1
Togo 多哥 TG 228 -8
Tonga 東加 TO 676 +4
Trinidad and Tobago 千裡達托貝哥 TT 1809 -12
Tunisia 突尼西亞 TN 216 -7
Turkey 土耳其 TR 90 -6
Turkmenistan 土庫曼斯坦 TM 993 -5
Uganda 烏幹達 UG 256 -5
Ukraine 烏克蘭 UA 380 -5
United Arab Emirates 阿拉伯聯合酋長國 AE 971 -4
United Kiongdom 英國 GB 44 -8
United States of America 美國 US 1 -13
Uruguay 烏拉圭 UY 598 -10.3
Uzbekistan 烏茲别克斯坦 UZ 233 -5
Venezuela 委内瑞拉 VE 58 -12.3
Vietnam 越南 VN 84 -1
Yemen 葉門 YE 967 -5
Yugoslavia 南斯拉夫 YU 381 -7
Zimbabwe 辛巴維(威) ZW 263 -6
Zaire 薩伊 ZR 243 -7
Zambia 尚比亞 ZM 260 -6

附3:

各國語言縮寫

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 中文 (台灣)