JAVA国际化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA国际化

国际化英文单词为:Internationalization,又称I18N,I为因为单词的第一个字母,18为这个单词的长度,而N代表这个单词的最后一个字母。国际化又称本地化(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

System.out.println(localeList[i].getDisplayCountry()+"="+loca leList[i].getCounrtry() + " " + localeList[i].getDisplayLanguage() + "=" +localeList[i].getLanguage());

}

}

程序运行结果如下:

Japan=JP Japanese=ja

Peru=PE Spanish=es

= English=en

Japan=JP Japanese=ja

Panama=PA Spanish=es

Bosnia and Herzegovina=BA Serbian=sr

= Macedonian=mk

Guatemala=GT Spanish=es

United Arab Emirates=AE Arabic=ar

Norway=NO Norwegian=no

Albania=AL Albanian=sq

= Bulgarian=bg

Iraq=IQ Arabic=ar

Yemen=YE Arabic=ar

= Hungarian=hu

Portugal=PT Portuguese=pt

Cyprus=CY Greek=el

Qatar=QA Arabic=ar

Macedonia=MK Macedonian=mk

= Swedish=sv

Switzerland=CH German=de

United States=US English=en

Finland=FI Finnish=fi

= Icelandic=is

= Czech=cs

Malta=MT English=en

Slovenia=SI Slovenian=sl

Slovakia=SK Slovak=sk

= Italian=it

Turkey=TR Turkish=tr

= Chinese=zh

= Thai=th

Saudi Arabia=SA Arabic=ar

= Norwegian=no

United Kingdom=GB English=en

Serbia and Montenegro=CS Serbian=sr = Lithuanian=lt

= Romanian=ro

New Zealand=NZ English=en

Norway=NO Norwegian=no

Lithuania=LT Lithuanian=lt Nicaragua=NI Spanish=es

= Dutch=nl

Ireland=IE Irish=ga

Belgium=BE French=fr

Spain=ES Spanish=es

Lebanon=LB Arabic=ar

= Korean=ko

Canada=CA French=fr

Estonia=EE Estonian=et

Kuwait=KW Arabic=ar

Serbia=RS Serbian=sr

United States=US Spanish=es

Mexico=MX Spanish=es

Sudan=SD Arabic=ar

Indonesia=ID Indonesian=in

= Russian=ru

相关文档
最新文档