IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

Faire fonctionner le multilinguisme


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 49
    Par défaut Faire fonctionner le multilinguisme
    Bonjour,

    Je n'arrive pas à faire fonctionner le multilinguisme.
    J'ai 2 fichiers de resources, appelés ApplicationResources et ApplicationResources_EN.
    Pour changer la langue, c'est via une selectbox qui déclanche une action, dont voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response) {
    		ChangeLanguageForm changeLanguageForm = (ChangeLanguageForm) form;// TODO Auto-generated method stub
    		String language = changeLanguageForm.getLanguage();
    		HttpSession session = request.getSession();
    		Locale l = new Locale(language, "");
    		setLocale(request, l);
    		ActionForward forward = new RedirectingActionForward();
    		forward.setPath(request.getHeader("referer"));
    		return forward;
    	}
    J'ai vérifié, le code langue est bon. Mais la langue ne change jamais. Quelqu'un a une idée ?

    Merci d'avance pour toute réponse.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Je peux dire des bêtises, mais avec un fichier ApplicationResources_en (petit en), ça marche pas mieux ? Et pourquoi utilises-tu le constructeur Locale(String, String) et pas Locale(String) ? Ca serait pas mieux, des fois ?

    Tu peux nous montrer comment tu affiches tes textes dans la JSP, steuplé.

    Sinon, tu récupères la session mais tu n'en fais rien.

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 49
    Par défaut
    Hey merci! J'ai mis des minuscules et ça fonctionne.
    Par contre, y aurait-il un moyen de savoir quelle est la langue courrante dans un jsp ?

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Regarde le code de la méthode setLocale() : la locale est mise en session dans l'attribut org.apache.struts.Globals.LOCALE_KEY.

    Logiquement, tu ne devrais pas avoir besoin de récupérer la locale si tu utilises les taglibs Struts pour afficher tes messages.

  5. #5
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    C'est vrai qu'en utilisant les tags de struts (comme <bean:message> ) l'application s'affiche dans la langue de l'utilisateur ( à condition de fournir les fichiers de ressources correspondants). Mais il arrive parfois qu'un utilisateur de langue X accède à l'application depuis un système de langue Y ! par exemple,un utilisateur français peut visiter l'application depuis un pc avec un Windows en anglais, et là (devinez qui ?), l'application s'affiche en anglais !
    Dans des cas pareils, il faut gérer soit même la langue d'affichage en fournissant par exemple un combobox.

  6. #6
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 49
    Par défaut
    Merci pour toutes vos réponses, tout fonctionne comme je veux maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. impossible de faire fonctionner phppgadmin et pgdmin3
    Par le_ben dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 09/12/2004, 14h27
  2. Réponses: 5
    Dernier message: 02/09/2004, 19h53
  3. Faire fonctionner Flash sous Konqueror
    Par Ultra-FX dans le forum KDE
    Réponses: 2
    Dernier message: 20/06/2004, 18h40
  4. Réponses: 5
    Dernier message: 18/06/2004, 14h59
  5. comment faire fonctionner l'exe sur une autre machine
    Par brian79 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/05/2004, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo