i18n не может найти свойства локали

java.util.MissingResourceException: Can't find bundle for base name xxx.i18n.base, locale en_US

В настоящее время я реализую i18n, используя Facelets. У меня есть три файла .properties:

  • xxx.i18n.base.properties
  • xxx.i18n.base_en_US.properties
  • xxx.i18n.base_nl_NL.properties

faces-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']}

Кто-нибудь знает, почему мое приложение не может найти эти файлы локали?


person Menno    schedule 01.06.2012    source источник
comment
Где вы разместили xxx.i18n.base.properties ?   -  person jmj    schedule 01.06.2012
comment
Для чего нужен xxx.i18n.base.properties?   -  person Petr Mensik    schedule 01.06.2012


Ответы (2)


Если локаль по умолчанию "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>

А также убедитесь, что путь к файлам свойств правильный или нет.

person Sai Ye Yan Naing Aye    schedule 01.06.2012

Кажется, я разместил файлы свойств не в той папке: java/xxx/i18n вместо resources/xxx/i18n

После замены файлов свойств моя проблема была решена. Тем не менее всем спасибо за помощь!

person Menno    schedule 05.06.2012