2014-09-18 3 views
0

Я столкнулся с странным поведением локализации. В моем приложении два языка - английский и словацкий. На моем локальном коммутаторе Locfish работает отлично. Но одно и то же приложение, развернутое на Jelastic Glassfish, всегда на английском языке. Язык переключения не работает. Я отлаживал удаленное приложение и facecontext (FacesContext.getCurrentInstance(). GetViewRoot(). GetLocale() и FacesContext.getCurrentInstance(). GetExternalContext(). GetRequestLocale()) возвращает правильный языковой стандарт, но страница все еще находится на английском языке , В языковом меню выбрана словавка (2-й вариант)!JSF страница на кластерах Glassfish всегда на английском

Обе Glassfishes находятся в версии 3.1.2.2 с Mojarra 2.2.7 и Primefaces 5.0, работающими на JDK7. Местный GF работает на Win7, удаленный на Linux (CentOS?), И это кластерный (может быть, это причина?)

лиц-conf.xml

<locale-config> 
    <default-locale>en</default-locale> 
    <supported-locale>sk</supported-locale> 
</locale-config> 
<resource-bundle> 
    <base-name>Bundle</base-name> 
    <var>bundle</var> 
</resource-bundle> 

login.xhtml

<f:view locale="#{loginBean.locale}"> 
    ... 
    <p:outputLabel value="#{bundle.language}: "/> 
    <p:selectOneMenu value="#{loginBean.language}" id="loginLocale"> 
    <f:selectItem itemValue="en" itemLabel="English" /> 
    <f:selectItem itemValue="sk" itemLabel="Slovensky" /> 
    <p:ajax update="@all"/> 
    </p:selectOneMenu> 
    ... 
</f:view> 

LoginBean.java

@ManagedBean(name = "loginBean") 
@SessionScoped 
public class LoginBean implements Serializable{ 

    private Locale locale = FacesContext.getCurrentInstance().getExternalContext().getRequestLocale(); 
    ... 
    public Locale getLocale() { 
    return locale; 
    } 

    public String getLanguage() { 
    return locale.getLanguage(); 
    } 

    public void setLanguage(String language) { 
    locale = new Locale(language); 
    FacesContext.getCurrentInstance().getViewRoot().setLocale(locale); 
    } 
} 

Спасибо за любую помощь

Michal

ответ

1

Я нашел решение, но я не уверен, почему это происходит. Название моего файла slovak bundle было Bundle_sk_SK.properties, я переименовал его в Bundle_sk.properties, и теперь он работает.

Michal

 Смежные вопросы

  • Нет связанных вопросов^_^