Java中国际化的使用
一、国际化的实现思路
国际化的实现的主要是一种语言对应一个配置文件,配置文件中值以键值对的形式存放,同一组的配置文件都有相同的键名。使用时根据选择不同的语种来调用不同语言对应的配置文件,通过键名获取到相应的值。
二、国际化在Java代码中的简单使用Demo
a)准备两个配置文件,my_zh_CN.properties和my_en_US.properties,配置文件的格式是固定的,以下划线进行连接,总共分三段,
"my" —— 是配置文件的基名,相当于同一组配置文件的唯一标识,
"zh"和"en" —— 是标识配置文件所对应的语言,
"CN"和"US" —— 表示配置文件对应的国家。
my_zh_CN.properties:
user=\u6587\u548C ——因为中文自动编码的问题,内容为:文和
pwd=\u738B\u8BE9 ——因为中文自动编码的问题,内容为:王诩
my_en_US.properties:
user=wenhe
pwd=wangxu
b)准备一个测试类
InterTest.java
public static void main(String[] args) {
ResourceBundle bundle = ResourceBundle.getBundle("my", Locale.US);
String user = bundle.getString("user");
String pwd = bundle.getString("pwd");
System.out.println("username:"+user);
System.out.println("password:"+pwd);
}
ResourceBundle为jdk的内置对象,对象的在创建时可以传入基名和国家名称( 其它的构造方法可以自己测试),当使用该对象获取键的对应值的时候,它就会根据传入的基名和国家名称自动去匹配相应的配置文件了。
当参数为Local.US时的打印结果:
wenhe
wangxu
当参数为Local.CN时的打印结果:
文和
王诩
三、国际化在jsp页面使用的简单Demo
a)准备不同语言对应的配置文件,命名格式同上。
b)导入jstl包,在jsp页面引入国际化的标签
c)在页面通过标签获取国际化配置文件中的值
当页面环境为中文环境时的显示效果(这里的环境是指当前浏览器设置的语言环境,下同):
当页面环境为英文环境时的显示效果: