1)将java文件中需要国际化的信息写在一个properties文件中
文件形式key-value对的形式,即如:hello=你好
命名方式:名称.properties 对于含有西欧字母的文件需要用native2ascii.exe执行文件编译
2)Java程序实现国际化时所用到的native2ascii.exe转码工具的使用方法
native2ascii是sun java sdk提供的一个转码工具, 用来将别的文本类文件(比如 *.txt, *.ini, *.properties, *.java 等等)编码转为Unicode编码。
1. 如何获取 native2ascii.exe?
安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录, 该目录下就有我们所需要的native2ascii.exe 工具。
2. native2ascii.exe使用方法:
命令的语法格式:
native2ascii -[options] [inputfile [outputfile]]
说明:
-[options]:表示命令开关,有两个选项可供选择
-reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。
-encoding encoding_name:转换为指定编码,encoding_name为编码名称。
[inputfile [outputfile]]
inputfile:表示输入文件全名。
outputfile:输出文件名。如果缺少此参数,将输出到控制台。
举例: 把需要进行国际化的文件(如下图)拷贝到 C:\Program Files\Java\jdk1.6.0_31\bin 目录下, 应用native2ascii.exe工具进行转码。
通过cmd命令进入DOS命令窗口进行如下操作:
通过native2ascii命令转码成功后,如下图:
注:native2ascii.exe的转码是可逆的。
3)Java程序国际化的关键类ResourceBundle,它有一个静态方法:getBundle(String basename,Locale locale)该方法根据Locale加载资源文件,再根据指定的key取得已加载语言资源文件中的字符串。Locale封装了一个国家、语言。
例子:
三个不同的资源文件,其中mess_zh_CN.properties是由mess.properties经过native2ascii.exe编译来的