我正在使用JSF,我想使用消息包,所以我在下面添加了XML配置。现在我想知道是否有人可以写一些使用它们时的经验。最佳做法是在页面上包含一个包含所有翻译的大属性文件,如果是这样,您如何命名您的密钥。如果没有,那么我猜你有多个资源文件,你如何构建它们 - 它们提供消息的页面的哪个部分? - 以及任何命名实践?
我知道这可能是主观的,但无论如何它对我来说都是有价值的见解。
<application>
<resource-bundle>
<base-name>com.myapp.blah</base-name>
<var>msgs</var>
</resource-bundle>
</application>
答案 0 :(得分:4)
我建议你从单一文件方法开始,每种语言一种方法。如果它在一个你根本无法管理的水平上增长,那么就会有数千条线,而不是你可以将它分开。
然后,您可以使用以下模板对您的网页进行国际化:
<f:view locale="#{userBean.userLocale}">
您可以启用一个选择组件来保留用户可以切换的语言:
FacesContext.getCurrentInstance().getViewRoot().setLocale(locale);
并在faces-config.xml中:
<application>
<locale-config>
<default-locale>pt-br</default-locale>
<supported-locale>en</supported-locale>
</locale-config>
<resource-bundle>
<base-name>com.myapp.blah.ApplicationResources</base-name>
<var>msg</var>
</resource-bundle>
...
然后每种语言都有一个文件:
ApplicationResources.properties
ApplicationResources_en.properties
ApplicationResources_pt_BR.properties