Java国际化
今天碰到一个同学问我Java国际化的问题。
就在网上查找了一下资料。主要是对Locale和ResourceBundle的设置和使用。
对Locale的设置:
Locale(String language, String country)
例如中文:zh_CN,new Locale("zh","CN");//表示中国的Locale,由语言,国家组成
美国英语:en_US,new Locale("en","US");
对ResourceBundle的操作:
ResourceBundle resource=ResourceBundle.getBundle(String baseName, Locale locale);
baseName,跟properties要对应,是第一个"_"前面的内容(资源文件名=baseName_local.language_locale.country.properties);
locale,就是上面的Locale;
e.g.: Locale zhLoc = new Locale("zh","CN");
ResourceBundle resource=ResourceBundle.getBundle("Message",zhLoc);
这里调用的资源文件就是Message_zh_CN.properties;
如果要更改语言类型。
ResourceBundle resource=ResourceBundle.getBundle("Message",new Locale("en","US"));
这时候调用的资源文件就是Message_en_US.properties了。
如果要取出对应的Text,可以使用resource.getString("")方法。