这是我的 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/