Toutes les étapes du tutoriel ne sont pas vraiment nécessaires.
Ce que je l'ai fait (et ça marche) est:
1. Dans loging.xhtm, par exemple:
<f:view locale="#{languageDetails.locale}" >
<head>
.....
<f:loadBundle basename="messages.Messages" var="msg1"/>
.....
<f:view>
<h:form>
<h:panelGrid columns="2">
<h:outputText value="Select Language"></h:outputText>
<h:selectOneMenu id="dropdown" value="#{languageDetails.locale}">
<f:selectItem itemValue="en" itemLabel="English" />
<f:selectItem itemValue="es" itemLabel="Spanish" />
<f:selectItem itemValue="de" itemLabel="German" />
</h:selectOneMenu>
</h:panelGrid>
<p><h:commandButton id="change" value="Change Language"
action="#{languageDetails.changeLanguage}" /></p>
</h:form>
</f:view>
</body>
</f:view>
2.In code source java j'ai également fait quelques changements:
public class LanguageDetails {
private static String locale = Locale.getDefault().getDisplayLanguage();
public void setLocale(String locale1) {
this.locale = locale1;
}
public synchronized String getLocale() {
return locale;
}
public synchronized String changeLanguage() {
return "changed";
}
}
Et c'est tout.
Espérons que cela pourrait aider
... Kanguage devrait être la langue ... –
Je ne pense pas avoir mieux , mais dans une certaine mesure, ce n'est pas approprié. Votre application devrait automatiquement détecter la langue du navigateur et s'y adapter. La reconnaissance de l'attribut lang dans les URL (c'est-à-dire http://example.com/index.html?lang=de) serait également intéressante.Peut-être que vous devriez juste Google autour du problème spécifique? –
duplication possible de [Changement de paramètres régionaux dynamiques dans une application JSF?] (Http://stackoverflow.com/questions/3858868/dynamic-locale-switching-in-a-jsf-app) – Bozho