Java实现国际化

来源:互联网 发布:手机天使玻璃优化软件 编辑:程序博客网 时间:2024/05/17 03:20

1、Java国际化主要通过下面三个基本类来完成:

1)、java.util.ResourceBundle://用于加载一个资源包

2)、java.util.Locale://对应一个特定的国家/区域、语言环境。

3)、java.text.MessageFormat://用于将消息格式化

2、为实现程序的国际化,必须提供程序所需要的资源文件。资源文件的内容由(键值对)key-value对组成。

资源文件的命名可以有3种格式:

1)、basename_language_country.properties(常用)例如:mess_en_US.properties(英文)/mess_zh_CN.properties(中文)

2)、basename_language.properties

3)、basename_properties

3、若资源文件包含非西方字符(如中文字符),则需要用JDK自带的工具来处理:native2ascii,这个工具的语法格式如下:

native2ascii 资源文件名 目标文件名

如:native2ascii mess_en_US.properties  mess_zh_CN.properties

4、实例(实现国际化)

1)、原始程序:

System.out.println("帐号:");

System.out.println("密码:");

其中(帐号:和密码:)字符串需国际化,定义资源文件,文件名分别为mess_zh_CN.properties和mess_en_US.properties

2)、mess_zh_CN.properties文件的内容如下:

account=帐号:

password=密码:

3)、mess_en_US.properties文件的内容如下:

account=Account:

password=Password:

4)、将上面两个资源文件放到同一个目录下面如:com.Ray.test,并用native2ascii命令重新生成资源文件,然后修改源程序:

Locale myLocale = Local.getDefault();//根据指定国家/语言环境加载资源文件ResourceBundle bundle = ResourceBundle.getBundle("mess", myLocale);
System.out.println(bundle.getString("account"));
System.out.println(bundle.getString("password"));
5)、Java实现国际化的流程:
a、通过Local获取国家/语言环境
b、ResourceBundle根据Locale加载资源文件
c、返回一个ResourceBundle实例
d、ResourceBundle调用getString方法返回指定key对应的字符串

原创粉丝点击