[置顶] 我的Java开发学习之旅------>Java资源的国际化详解

internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n。

国际化相关的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 



3、国家_地区语言速查表

国家/地区 语言代码 国家/地区 语言代码
简体中文(中国) zh-cn 繁体中文(台湾地区) zh-tw
繁体中文(香港) zh-hk 英语(香港) en-hk
英语(美国) en-us 英语(英国) en-gb
英语(全球) en-ww 英语(加拿大) en-ca
英语(澳大利亚) en-au 英语(爱尔兰) en-ie
英语(芬兰) en-fi 芬兰语(芬兰) fi-fi
英语(丹麦) en-dk 丹麦语(丹麦) da-dk
英语(以色列) en-il 希伯来语(以色列) he-il
英语(南非) en-za 英语(印度) en-in
英语(挪威) en-no 英语(新加坡) en-sg
英语(新西兰) en-nz 英语(印度尼西亚) en-id
英语(菲律宾) en-ph 英语(泰国) en-th
英语(马来西亚) en-my 英语(阿拉伯) en-xa
韩文(韩国) ko-kr 日语(日本) ja-jp
荷兰语(荷兰) nl-nl 荷兰语(比利时) nl-be
葡萄牙语(葡萄牙) pt-pt 葡萄牙语(巴西) pt-br
法语(法国) fr-fr 法语(卢森堡) fr-lu
法语(瑞士) fr-ch 法语(比利时) fr-be
法语(加拿大) fr-ca 西班牙语(拉丁美洲) es-la
西班牙语(西班牙) es-es 西班牙语(阿根廷) es-ar
西班牙语(美国) es-us 西班牙语(墨西哥) es-mx
西班牙语(哥伦比亚) es-co 西班牙语(波多黎各) es-pr
德语(德国) de-de 德语(奥地利) de-at
德语(瑞士) de-ch 俄语(俄罗斯) ru-ru
意大利语(意大利) it-it 希腊语(希腊) el-gr
挪威语(挪威) no-no 匈牙利语(匈牙利) hu-hu
土耳其语(土耳其) tr-tr 捷克语(捷克共和国) cs-cz
斯洛文尼亚语 sl-sl 波兰语(波兰) pl-pl
瑞典语(瑞典) sv-se 西班牙语 (智利) es-cl



==================================================================================================

  作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址:http://blog.csdn.net/ouyang_peng

==================================================================================================


你可能感兴趣的:([置顶] 我的Java开发学习之旅------>Java资源的国际化详解)