Probleme avec l'Internationalisation
Bonjour tout le monde,
je veux internationalisé une application web
j'ai suivi les étapes suivantes :
dans mon fichier de config Faces-config.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
<resource-bundle>
<base-name>resources.messages_fr</base-name>
<var>msg</var>
</resource-bundle>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>fr</supported-locale>
</locale-config>
</application> |
j'ai crée une methode dans le bean
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public String changeToEnglish()
{
private Locale locale = Locale.FRENCH;
this.locale = Locale.ENGLISH;
try
{
FacesContext.getCurrentInstance().getViewRoot().setLocale(locale);
// Locale locale = new Locale(language, country);
ResourceBundle captions= ResourceBundle.getBundle("messages_fr",locale);
log.info("changement de langue reussi");
}
catch (Exception ex )
{
log.error("Erreur Changement Langue"+ex);
}
return FacesContext.getCurrentInstance().getExternalContext().getRequestPathInfo();
} |
et dans ma page xhtm :
Code:
1 2 3 4
| <a4j:form>
<h:commandLink value="Francais" action="#{Bean.changeToEnglish}" >
</h:commandLink>
</a4j:form> |
mais lorsque j'accede mais j'ai le message d'erreur suivant lorsque j'accede a la page :
Code:
1 2 3
|
java.util.MissingResourceException: Can't find bundle for base name resources.messages_fr, locale en
at java.util.ResourceBundle.throwMissingResourceException(Unknown Source) |
PS: le fichier .properties se trouve sous src/main/ressources.
Merci pour votre aide d'avance.