java.util.Locale

1.本地  转自http://blog.163.com/chtx87_98/blog/static/65401119201191511145551/
控制面板->区域和语言选项->区域选项————中文(中国)
2.properties
(注意,如果有多个properties,任意名必须保持一致)src目录下
任意名_语言_国家.properties
anyname.properties
//缺省文件
anyname_en_US.properties
    k1=hello
    k2=hello,{0}{1}
(使用占位符实现不同语言输出)
anyname_zh_CN.properties
    k1=你好


3.java
//Locale 对象表示了以特定
的地理、政治和文化地区;
java.util.Locale defaultLocale = java.util.Locale.getDefault();//获取本地默认的地区
java.util.Locale locale = java.util.Locale("en", "US");//自定义("语言", "国家")
defaultLocal.getCountry();//获取国家
defaultLocal.getLanguage();//获取语言

//ResourceBundle 对象表示资源包包含特定的语言环境
//通过“anyname”拼接locale中的语言国家找到properties文件
//(如果自定义locale乱写或不存在,首先会根据你本地设置的locale读取对应properties文件,找不到就找缺省文件)
java.util.ResourceBundle rb = java.util.ResourceBundle.getBundle("anyname", locale);
rb.getString("k1");//获取对应的key信息

//MessageFormat提供了以与语言无关方式生成连接消息的方式
java.text.MessageFormat mf = new java.text.MessageFormat(rb.getString("k2"));
mf.format(new Object[]{"张三","tom"});//对应{0}和{1}

4.输出中文乱码:
jdk/bin/native2ascii.exe //转ascii码值

批量转换
cmd
>cd:  c:/project/src 
(项目src目录)
>c:  
(注:是你项目的盘符)
c:/project/src> native2ascii.exe xxx.properties
(旧的properties文件) newXXX.properties(新的properties文件)

posted @ 2013-06-14 09:40  samj114  阅读(1833)  评论(0编辑  收藏  举报