4

我正在使用 JSF,并且我想使用消息包,所以我在下面添加了 XML 配置。现在我想知道是否有人可以写一些他们在使用它们时的经验。最好的做法是拥有一个包含页面上所有翻译的大属性文件,如果是这样,您如何命名您的键。如果没有,那么我猜你有多个资源文件,你如何构造它们 - 它们为页面的哪个部分提供消息?- 以及任何命名惯例?

我知道这可能是主观的,但无论如何它对我来说可能是有价值的见解。

<application>
    <resource-bundle>
        <base-name>com.myapp.blah</base-name>
        <var>msgs</var>
    </resource-bundle>
</application>
4

1 回答 1

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

于 2012-04-13T20:45:28.180 回答