Bonjour à tous,
Cela fait deux jours que je cherche à trduire mon menu développé avec Struts-Menu, via une action sur un bouton, dans ma page jsp.
Mes balises de menu son bien remplacées via mon fichier de properties.
Quand je clique sur mes boutons, le contenu de ma page jsp change bien, mais pas celui de mon menu.
Je me suis donc attardée sur la variable locale disponible dans le displayer. Je suis aprvenue à changer sa valeur, au moment du clique sur le bouton, mais cela n'influence pas la langue affichée par le menu.
Je me suis donc rendue compte que le fichier properties chargé correspond à la langue du navigateur. J'ai donc tenté de trouver un moyen de modifier cette variable, mais cela semble impossible.
Est-ce que quelqu'un a déjà rencontré ce genre de problème ? Avez-vous trouvé une solution ou une parade à ce problème ? Est-ce que quelqu'un a une idée ?
D'avance merci.
Ci dessous, quelques extraits de mon code :
Ma page jsp qui contient les boutonset qui provoque le changement de la langue de mes balises contenues dans ma jsp :
La modification de la variable locale dans mon fichier .vm, qui change effectivement de valeur mais qui n'influence en rien la langue affichée par le menu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <s:url id="langEN" namespace="/" action="language" > <s:param name="request_locale" >en</s:param> </s:url> <s:url id="langFR" namespace="/" action="language" > <s:param name="request_locale" >fr</s:param> </s:url> <s:url id="langRO" namespace="/" action="language" > <s:param name="request_locale" >ro</s:param> </s:url> <!-- Language selector --> <ul id="language"> <li> <s:a href="%{langEN}" ><img src="../design/img/flag_en.gif" /></s:a> <s:a href="%{langFR}" ><img src="../design/img/flag_fr.gif" /></s:a> <s:a href="%{langRO}" ><img src="../design/img/flag_ro.gif" /></s:a> </li> </ul>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #set ($locale = $request.getSession().getAttribute("WW_TRANS_I18N_LOCALE")) $displayer.setLocale($locale) displayer = $displayer.getLocale()
Partager