Мое приложение поддерживает интернационализацию и локализацию, каждый пользователь может выбрать свой предпочтительный язык, и приложение отлично отразит его. проблема заключается в том, что первый пользователь выбирает английский, а второй выбирает французский - пакет ресурсов для первого пользователя будет считываться с французского ресурса после обновления его страницы.
Я использую следующий код для переключения между двумя языками:
public void changeToEnglish()
{
FacesContext context = FacesContext.getCurrentInstance();
Locale currentLocale = context.getViewRoot().getLocale();
String locale = "en_US";
Locale newLocale = new Locale(locale);
if(!currentLocale.equals(newLocale))
context.getViewRoot().setLocale(newLocale);
}
В моем Face_config.xml есть следующее:
<locale-config>
<default-locale>en</default-locale>
<supported-locale>fr</supported-locale>
</locale-config>
приложение очень хорошо реагирует на изменение языков, но я думаю, что при настройке локали из FacesContext оно отражает все локали пользователей.
Пожалуйста, помогите мне в этом ....