В настоящее время моя команда разрабатывает приложение Web 2.0 на Java, и мы используем JSF для уровня представления. Мы начинаем с уровня представления, поэтому нам еще предстоит добавить уровень бизнеса и данных.
Технологии, которые мы используем:
- JSF (Мохарра 2.0.3)
- Primefaces 2.1 (библиотека компонентов JSF)
- Spring Security 3.0.5
- jBoss 5.1
Меня попросили добавить поддержку локали в приложение. Поэтому я настроил файл Face-config.xml следующим образом:
<application>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>pt</supported-locale>
<supported-locale>en</supported-locale>
<supported-locale>es</supported-locale>
</locale-config>
<message-bundle>
com.<company>.<product>.i18n.MessageBundle
</message-bundle>
</application>
Я создал файлы с суффиксом MessageBundle и развернул приложение. Я прочитал, что есть 3 критерия, которые JSF использует для выбора локали:
1) соответствие между локалями запроса (заголовок запроса Accept-Language) и поддерживаемыми локалями
2) языковой стандарт приложения, определенный в файле конфигурации лиц
3) Язык по умолчанию JVM
Когда я пытаюсь изменить язык в настройках своего браузера, приложение не меняет локаль. Даже если я настрою только один язык, отличный от языка по умолчанию. Я что-то здесь упускаю? Это то, что ожидать или на самом деле это должно изменить содержание, когда я изменяю язык браузера (при условии, что это поддерживаемый язык)?
Я был бы очень признателен за любые подсказки или хотя бы указатель на то, где я мог найти ответ, увиденный, поскольку я уже гуглил его безуспешно.
Заранее спасибо.