java - 为什么国际化不能正常运作?日本科学基金会

标签 java jsf internationalization

这是我的 messages_en_US.properties 文件,位于 WEB-INF/classes 文件夹中:-

Login=Login

然后我创建了messages_fr_FR.properties:-

Login=frenchLogin

然后在我的 JSF 页面中我写了这个:-

 <f:loadBundle basename="messages" var="msg"/>

<h:commandButton id="btnLogin" value="#{msg.Login}" actionListener="#{IndexBean.doLogin}"/>

默认情况下我可以正确地看到登录文本。但是当我进入 Firefox 并将默认语言更改为 fr-fr 时,我的文本仍然保持不变,即我看不到 frenchLogin。

我的 faces-config.xml 中没有任何内容

我做错了什么?预先感谢:)

最佳答案

您必须将其包含在 faces-config.xml

    <application>
        <message-bundle>com.mydomain.resources.Messages</message-bundle>
        <locale-config>
            <default-locale>fr_FR</default-locale>
            <supported-locale>en_EN</supported-locale>
        </locale-config>
    </application>

您需要一个 Messages.properties,这将是默认的。

在你的 jsf 页面中:

<f:loadBundle basename="com.mydomain.resources.Messages" var="msg" />

消息文件必须位于 src/main/java/ 中,然后位于包中。我的是 /src/main/java/com/mydomain/resources

还要注意大写字母。

关于java - 为什么国际化不能正常运作?日本科学基金会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3070108/

相关文章:

java - 参数未从 flex 发送到 java

java - 如何在递归函数的每一级都有一个新的局部数组

ajax - gmap PrimeFaces p :ajax

ruby-on-rails - 关于 Rails 中的 i18n 和 Rails 中的网站反转

c++ - UnicodeString 到 char* (UTF-8)

java - 与 Couchbase 中引用文档的关系

java - 我需要列出使用 java.lang.ApplicationShutdownHooks 注册的钩子(Hook)

java - Helloworld JSF2.0 页面未呈现为 html 标签

javascript - 禁用 h :inputText with jQuery

javascript - React 中常量文件的翻译