Bonjour,

J'ai une appli qui doit gérer 2 langues (français et anglais).

Pour cela j'ai renseigné 2 fichiers de ressources :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
appli.properties
appli_en.properties
Voici l'action suivant la sélection de langue par l'utilisateur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
// Locale à définir
Locale locale = monForm.getLocale();
 
 // Mise à jour de la locale dans la request (session)
setLocale(request, locale);
Ensuite l'affichage dans une JSP s'adapte bien suivant la langue sélectionnée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<bean:message key="mot-traduit" />
Mon souci c'est que la traduction ne se fait pas côté serveur et c'est toujours le fichier appli.properties qui est utilisé avec la commande suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
MessageResources mr = this.getResources(request);
 
erreur.setTitre(mr.getMessage("mot-traduit"));
Le String retourné dans la JSP sera alors "mot traduit" au lieu de "translated word" quand la langue sélectionnée est l'anglais.

Dans le fichier de configuration de struts seul le fichier de ressources français est renseigné avec l'entrée suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<message-resources parameter="ressources.appli"/>

Comment faire pour que la traduction fonctionne ?


Merci.