我們建好一個android 的項目後,預設的res下面 有layout、values、drawable等目錄
這些都是程式預設的資源檔案目錄,如果要實作多語言版本的話,我們就要添加要實作語言的對應的資源檔案。
首先我們點選添加Android Xml File按鈕,會出現下面的界面:
輸入檔案名:string.xml,選中Values單選框,并把下面左清單中的Region添加到左邊的清單裡面,并在Region輸入框裡輸入cn,如下圖
這時,上面的消息提示:如果用Region的話,需要使用語言項,和Region一樣,我們把Language也添加到右面的清單裡面,填入zh,如下圖
點選Finish按鈕,資源檔案就會建好了,目錄:res\values-zh-rCN(其實上面一大堆操作,就是為生成這個目錄)
預設生成的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:英文
zh-cn:中國大陸
zh-tw:台灣
因為設定了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 中文 (台灣)