java.util.MissingResourceException: Can't find bundle for base name xxx.i18n.base, locale en_US
我目前正在使用Facelets实现i18n。 我有三个.properties文件:
面-config.xml中
<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
<application>
<locale-config>
<default-locale>nl_NL</default-locale>
<supported-locale>en_US</supported-locale>
</locale-config>
<resource-bundle>
<base-name>xxx.i18n.base</base-name>
<var>base</var>
</resource-bundle>
</application>
</faces-config>
正如错误所述,我无法找到en_US文件,但是当我为nl_NL设置我的语言环境时,也找不到它。最后,将语言环境放到像de_DE这样的地方会给我de_DE的结果,即使这个语言环境没有被定义为支持。
我正在使用以下语法从.properties文件中检索值
#{base['msg']}
有没有人知道为什么我的应用程序似乎无法找到这些区域设置文件?
答案 0 :(得分:0)
如果您的默认语言环境是“nl_NL”,那么请更改您的faces-config.xml。
<application>
<locale-config>
<default-locale>nl_NL</default-locale>
<supported-locale>en_US</supported-locale>
</locale-config>
<resource-bundle>
<base-name>xxx.i18n.base_nl_NL</base-name>
<var>msg</var>
</resource-bundle>
</application>
还要确保属性文件的路径是否正确。
答案 1 :(得分:0)
似乎我已将我的属性文件放在错误的文件夹中: java / xxx / i18n而不是resources / xxx / i18n
更换属性文件后,问题解决了。 大家都感谢你的帮助!