我的Java開發學習之旅------>Java資源的國際化詳解
阿新 • • 發佈:2019-02-05
國際化相關的Java類
Java國際化主要通過如下3個類完成
- java.util.ResourceBundle:用於載入一個資源包
- java.util.Locale:對應一個特定的國家/區域、語言環境。
- java.text.MessageFormat:用於將訊息格式化
國際化資原始檔
為實現程式的國際化,必須提供程式所需要的資原始檔。資原始檔的內容由key-value對組成。
資原始檔的命名可以有3種格式:
- basename_language_country.properties
- basename_language.properties
- basename_properties
若資原始檔包含非西方字元,則需要用JDK自帶的工具來處理:native2ascii,這個工具的語法格式如下:
native2ascii 資原始檔名 目標資原始檔名
如:
native2ascii mess_zh_XXX.proerties mess_zh_CN.proerties
Locale類可獲取各國區域環境(如:Locale.ENGLISH、Locale.CHINESE,這些常量返回一個Locale例項),也可以獲取當前系統所使用的區域語言環境。
ResourceBundle類可根據指定引數獲取相應的資源,常用方法如下
ResourceBundle.getBundle(basename)//獲取當前系統所使用的區域環境獲得指定資原始檔
ResourceBundle.getBundle(basename,locale)//根據指定的區域獲取對應的資原始檔
語言環境
在 Java 語言中,語言環境(locale)僅僅是一個識別符號,而不是一組本地化的屬性。java.util.Locale 類的一個例項表示一個特定的地理政治區域,使用表示語言、區域以及國家或地區的引數建立。每個與語言環境相關的類都維護著它自己的一組本地化屬性,並且確定如何對含有 Locale 引數的方法請求做出響應。
Java支援的語言和國家
若要獲取Java所支援的語言和國家,可呼叫Locale類的getAvailableLocale方法獲取,該方法返回一個Locale陣列,該數組裡包含了java所支援的語言和國家。
java程式碼如下:
Locale[] localeList = Locale.getAvailableLocales(); for(int i=0; i<localeList.length; i++) { System.out.println(localeList[i].getDisplayCountry()+"="+localeList[i].getCounrtry() + " " + localeList[i].getDisplayLanguage() + "=" +localeList[i].getLanguage()); } }
1、各國語言縮寫
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 中文 (臺灣)
2、國家和地區簡寫及全稱
阿爾巴尼亞 AL Albania
阿爾及利亞 DZ Algeria
阿富汗 AF Afghanistan
阿根廷 AR Argentina
阿拉伯聯合大公國 AZ Azerbaijan
阿拉伯聯合大公國 AE United Arab Emirates
阿拉伯葉門共和國
阿拉斯加
阿魯巴 AW Aruba
阿魯巴島
阿曼
阿曼 OM Oman
亞塞拜然共和國
阿森鬆
埃及 EG Egypt
衣索比亞 ET Ethiopia
愛爾蘭 IE Ireland
愛沙尼亞 EE Estonia
安道爾 AD Andorra
安哥拉 AO Angola
安圭拉 AI Angola
安地卡及巴布達 AG Ntigua and Barbuda
奧地利 AT Austria
澳大利亞 AU Australia
巴貝多 BB Barbados
巴布亞紐幾內亞 PG Papua,Territory of
巴哈馬 BS Bahamas
巴基斯坦 PK Pakistan
國家或地區名稱(中文) 地區程式碼 國家或地區名稱(英文)
巴拉圭 PY Paraguay
巴勒斯坦
巴林 BH Bahrain
巴拿馬 PA Panama
巴西 BR Brazil
白俄羅斯共和 BY White Russia
白俄羅斯共和 BY Byelorussian SSR
百慕大 BM Bermuda
保加利亞 BG Bulgaria
北馬裡亞納群島
貝南 BJ Benin
比利時 BE Belgium
冰島 IS Iceland
波多黎各(美) PR Puerto Rico
波蘭 PL Poland
波斯尼亞和黑塞哥維那 BA Bosnia Hercegovina
玻利維亞 BO Bolivia
貝里斯 BZ Belize
波札那 BW Botswana
不丹 BT Bhutan
不列顛島(美) VI Vigin Islands(U.S.)
不列顛島(英) VG Virgin Islands(British)
布吉納法索 BF Burkina Faso
蒲隆地 BI Burundi
布維島 BV Bouvet Island
朝鮮 KP North Korea
赤道幾內亞 GQ Equatorial Guinea
大西洋東區(海事衛星)
大西洋區(海事衛星)
丹麥 DK Denmark
德國 DE Grmany
東帝 TP East Timor
東非共同體
東薩摩亞
多哥 TG Togo
多明尼加共和國 DO Dominica
多明哥 DM Gominica
俄羅斯聯邦 RU Russia
厄瓜多 EC Ecuador
厄利垂亞
法國 FR France
法屬玻里尼西亞 PF French Polynesia
法屬蓋亞那 GF French Guiana
國家或地區名稱(中文) 地區程式碼 國家或地區名稱(英文)
法屬南方領土 TF French Southern Territoties
梵蒂岡(羅馬教庭) VA Vatican
菲律賓 PH Philippines
斐濟 FJ Fiji
芬蘭 FI Finland
維德角 CV Cape Verde,Republic of
福克蘭群島 FK Falkland Islands
甘比亞 GM Gambia
剛果(布) CG Congo
剛果(金)
哥倫比亞 CO Colombia
哥斯大黎加 CR Costa rica
格瑞那達 GD Grenada
格陵蘭 GL Greenland
喬治亞 GE Georgia
古巴 CU Cuba
瓜德羅普 GP Guadeloupe
關島 GU Guam
蓋亞那 GY Guyana
哈薩克 KZ Kazakstan
海地共和國 HT Haiti
韓國 KR Korea
豪蘭和貝克群島
荷蘭 NL Netherlands
荷屬安的列斯
宏都拉斯 HN Honduras
吉里巴斯 KI Kiribati
吉布提 DJ Djibouti
吉爾吉斯共和國 KG Kyrgyzstan
幾內亞 GN Guinea
幾內亞比索 GW Guinea-Bissau
加拿大 CA Canada
加那利群島
迦納 GH Ghana
加彭 GA Gabon
賈維斯島
柬埔寨 KH Cambodia
捷克共和國 CZ Czech Republic
辛巴威 ZW Zimbabwe
喀麥隆 CM Cameroon
卡達 QA Qatar
開曼群島 KY Cayman Islands
科科斯島
國家或地區名稱(中文) 地區程式碼 國家或地區名稱(英文)
科克群島(新)
葛摩 KM Comoros
象牙海岸
科威特 KW kuwait
可可島 CC COCOS Islands
克羅埃西亞 HR Croatia
肯亞 KE Kenya
庫克群島 CK Cook Island
拉托維亞 LV Latvia
賴索托 LS Lesotho
寮國 LA Laos
黎巴嫩 LB Lebanon
立陶宛共和國 LT Lithuania
賴比瑞亞 LR Liberia
利比亞 LY Libya
列支敦斯登 LI Liechtenstein
留尼汪
盧森堡 LU Luxembourg
盧安達 RW Rwanda
羅馬尼亞 RO Romania
馬達加斯加 MG Malagasy
馬爾地夫 MV Maldives
馬爾他 MT Malta
馬爾維納斯群島 MW Malawi
馬耳他
馬耳他
馬來西亞 MY Malaysia
馬裡 ML Mali
馬里亞納群島
馬其頓
馬紹爾群島共和國 MH Marshall Islands
馬提尼克
模里西斯 MU Mauritius
茅利塔尼亞 MR Mauritania
美國 US America
美屬薩摩亞 UM
美屬維爾京群島
蒙古 MN Mongolia
蒙特塞拉特
孟加拉 BD Bangladesh
祕魯 PE Peru
密克羅尼西亞聯邦 FM Micronesia
緬甸 MM Burma
國家或地區名稱(中文) 地區程式碼 國家或地區名稱(英文)
摩爾多瓦 MD Moldova,Republic of
摩洛哥 MA Morocco
摩納哥 MC Monaco
莫三比克 MZ Mozambique
墨西哥 MX Mexico
納米比亞 NA Namibia
南非 ZA South Africa
南極洲 AQ Antarctica
南斯拉夫 YU Yugoslavia
諾魯 NR Naura
尼泊爾 NP Nepal
尼加拉瓜 NI Nicaragua
尼日 NE Niger
奈及利亞 NG Nigeria
紐埃 NU Niue
挪威 NO Norway
諾福克島
帛琉 PW Palau
皮特開恩群島 PN Pitcairn Islands
葡萄牙 PT Portugal
日本 JP Japan
瑞典 SE Sweden
瑞士 CH Switzerland
薩爾瓦多 SV El Salvador
薩摩亞
獅子山 SL Sierra leone
塞內加爾 SN Senegal
塞普勒斯 CY Cyprus
塞席爾 SC Seychelles
沙烏地阿拉伯 SA Saudi Arabia
聖誕島 CX Christmas Island
聖多美與普林西比 ST Sao Tome and Principe
聖赫勒那 SH St.Helena
聖克里斯多福及尼維斯
聖露西亞 LC St. Lucia
聖馬利諾 SM San Marino
聖文森及格瑞那丁
斯里蘭卡 LK Sri Lanka
斯洛伐克 SK Slovakia
斯洛維尼亞 SI Slovene
史瓦濟蘭 SZ Swaziland
蘇丹 SD Sudan
蘇利南 SR Surinam
國家或地區名稱(中文) 地區程式碼 國家或地區名稱(英文)
蘇聯(前) SU USSR(formerly)
索羅門群島 SB Solomon Islands
索馬利亞 SO Somali
塔吉克 TJ Tsjikistan
塔吉克
太平洋地區(海事衛星)
泰國 TH Thailand
坦尚尼亞 TZ Tanzania
湯加 TO Tonga
特克斯和凱科斯群島
千里達及托巴哥 TT Trinidad and Tobago
突尼西亞 TN Tunisia
吐瓦魯 TV Tuvalu
土爾其 TR Turkey
土庫曼 TM Turkomanstan
托克勞 TK Tokela
瓦利斯和富圖納群島
萬那杜
瓜地馬拉 GT Guatemala
威克島
維爾京群島(美)
維爾京群島(英)
委內瑞拉 VE Venezuela
汶萊 BN Brunei Darussalam
烏干達 UG Uganda
烏克蘭 UA Ukiain
烏拉圭 UY uruguay
烏茲別克 UZ Uzbekstan
西班牙 ES Spain
西撒哈拉 EH West Sahara
西薩摩亞 WS Western Samoa
希臘 GR Greece
錫金
夏威夷
象牙海岸 CI Lvory Coast
新加坡 SG Singapore
新喀里多尼亞 NC New Caledonia
紐西蘭 NZ New Zealand
匈牙利 HU Hungary
敘利亞 SY Syria
牙買加 JM Jamaica
亞美尼亞共和國 AM Armenia
葉門 YE Yemen
國家或地區名稱(中文) 地區程式碼 國家或地區名稱(英文)
伊拉克 IQ Iraq
伊朗 IR Iran
以色列 IL Israel
義大利 IT Italy
印度 IN India
印度尼西亞 ID Indonesia
印度洋地區(海事衛星)
英國 GB United Kingdom
英國(正式程式碼為GB) UK England
英聯邦的印度洋領域 IO British Indian Ocean Territory
英屬維爾京群島
約旦 JO Jordan
約翰斯頓島
越南 VN Vietnam
尚比亞 ZM Zambia
扎伊爾 ZR Zaire
查德 TD Chad
直布羅陀 GI Gibraltar
智利 CL Chile
中非共和國 CF The Central African Republic
中國 CN China
中國澳門 MO Macao
中國臺灣 TW Taiwan
中國香港 HK Hong Kong