Java程序国际化
三个类:
java.util.ResourceBundle
java.util.Locale
java.text.MessageFormat
资源文件形式
baseName_language_country.properties
baseName_language.properties
baseName.properties
获取支持的国家语言
Locale.getAvailableLocacles()
Locacle.getDisplayCountry()/.getCountry() / getDisplayLanguage() / getLanguage()
资源文件:
MY.properties
msg=Hello,{0}!Today is {1}.
中文的资源文件需要转码:
native2ascii a b
获取 MyResource.properties ...:
ResouceBundle bd=ResourceBundle.getBundle("MyResource",Locale.getDefault());
(String)db.getObject("msg");
MessageFormat mf=new ("");
mf.setLocale(locale);
mf.applyPattern(msg);
mf.format(new Object[]{"a","b"});
类文件代替资源文件:
MyResource_zh_CN extends ListResourceBundle
{
private final Object myData[][]={}
public Object[][] getContents()
{
return myData;
}
}
Struts 资源文件
资源文件加载通过struts-config.xml 来配置,路径从 WEB-INF/classes开始,子路径则以包形式
<message-resources parameter="lee.messages"/>
2.struts-bean.tld 添加到web.xml
<bean:message key=""/>