感谢了博客http://lavasoft.blog.51cto.com/62575/184605/ java
1、认识国际化资源文件编程
这个类提供软件国际化的捷径。经过此类,能够使您所编写的程序能够:ide
轻松地本地化或翻译成不一样的语言spa
一次处理多个语言环境操作系统
之后能够轻松地进行修改,支持更多的语言环境翻译
说的简单点,这个类的做用就是读取资源属性文件(properties),而后根据properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也能够程序指定),而后获取相应的properties文件的内容。code
使用这个类,要注意的一点是,这个properties文件的名字是有规范的:通常的命名规范是: 自定义名_语言代码_国别代码.properties,xml
若是是默认的,直接写为:自定义名.propertiesblog
没有提供语言和地区的资源文件是系统默认的资源文件。资源
好比:定义三个资源文件,放到src的根目录下面(必须这样,或者你放到本身配置的calsspath下面。
myres.properties
aaa=good bbb=thanks
myres_en_US.properties
aaa=good bbb=thanks
myres_zh_CN.properties
aaa=\u597d bbb=\u591a\u8c22
若是你在中文操做系统编程环境下面,若是myres_zh_CN.properties、myres.properties两个文件都存在,则优先会使用myres_zh_CN.properties,当myres_zh_CN.properties不存在时候,会使用默认的myres.properties。
2、实例
定义个资源文件,放到src的根目录下面(必须这样,或者你放到本身配置的calsspath下面。
myres_zh_CN.properties aa=good bb=thanks
运行实例
package localevidence; import java.util.Locale; import java.util.ResourceBundle; public class TestResourceBundle { /** * @param args */ public static void main(String[] args) { Locale locale1 = new Locale("zh", "CN"); //设置本地环境参数language and country // TODO Auto-generated method stub System.out.println("地区"+locale1.getCountry()); System.out.println("地区"+locale1.getLanguage()); ResourceBundle resource = ResourceBundle.getBundle("myres", locale1); System.out.println(resource.getString("onlyfun.caterpillar.welcome") + "!"); System.out.println(resource.getString("onlyfun.caterpillar.name") + "!"); } }
运行结果:
地区CN
地区zh
good !thanks!
结果没有将good 和thanks转换成中文。