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

JSF Java Discussion :

Internationalisation: la langue du site ne change pas


Sujet :

JSF Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut Internationalisation: la langue du site ne change pas
    Bonjour,

    Après avoir suivi un guide trouvé sur internet (FrançoisXavier SENNESAL), je suis arrivé à faire le site suivant:

    Page xhtml:
    Code html : 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
    22
    23
    24
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:p="http://primefaces.org/ui">
     
    <ui:composition>
    	<f:view>
    		<div align="right">
    			<table><tr>
    			<td><h:link value="#{txtl.sortir}" outcome="logout.jsp" /></td>
    			<td><h:link id="pt_BR"  actionListener="#{beanInternationalisation.choixLangue}"  >
    					<h:graphicImage value="images/brasilFlag.jpg" width="25" height="15" />
    				</h:link></td>
    			<td><h:link id="en_US" actionListener="#{beanInternationalisation.choixLangue}"  >
    					<h:graphicImage value="images/usaFlag.jpg" width="25" height="15" />
    				</h:link></td>
    			</tr></table>
    		</div>
    		<h:graphicImage value="images/logo.JPG" /><br />
    	</f:view>
    </ui:composition>
     
    </html>
    Faces-config:
    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
     
    <faces-config
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
        version="2.0">
     
        <application>
        	<resource-bundle>
    	          <base-name>resources.text</base-name>
    	          <var>txtl</var>
    	    </resource-bundle>
     
    	    <locale-config>
    	    	<default-locale>pt_BR</default-locale>
    	        <supported-locale>en_US</supported-locale>
    	    </locale-config>
    	</application>
     
    </faces-config>
    ManagedBean:
    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
    22
    23
    24
    25
    26
    27
    28
    29
    package app;
     
    import java.util.Locale;
     
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.SessionScoped;
    import javax.faces.context.FacesContext;
    import javax.faces.event.ActionEvent;
     
    @ManagedBean
    @SessionScoped
    public class BeanInternationalisation {
     
    	public void choixLangue(ActionEvent actionEvent){
    		Locale locale;
    		String idComposant=actionEvent.getComponent().getId();
     
    		int index=idComposant.indexOf("_");
    		if (index>0){
    			String langue=idComposant.substring(0,index);
    			String pays=idComposant.substring(index+1);
    			locale=new Locale(langue,pays);
    		}else{
    			locale=new Locale(idComposant);
    		}
    		FacesContext.getCurrentInstance().getViewRoot().setLocale(locale);
    	}
     
    }
    J'ai aussi défini les fichiers text_en_US et text_pt_BR qui sont dans le dossier src/resources de mon application. Le site marche bien, lors que je charge la page j'ai le libele du site en pt_BR qu'est affiché, mais lorsque je clique sur le drapeau en_US, il n'y a rien qu'arrive, le site continue en pt_BR...

    J'ai l'image du site en pièce jointe, le libele #{txtl.sortir} doit changer entre LogoutPT et LogoutUS

    Est-ce que quelqu'un pourrait m'aider svp?
    Merci d'avance,
    Marc
    Images attachées Images attachées  

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/06/2006, 14h35
  2. Internationalisation : quelles langues choisir ?
    Par cjacquel dans le forum Général Conception Web
    Réponses: 5
    Dernier message: 09/05/2006, 16h28
  3. [WinCE/PDA] Pourquoi touche TAB ne change pas le focus ?
    Par zitoun dans le forum Windows Mobile
    Réponses: 7
    Dernier message: 24/04/2006, 09h26
  4. [POO] La valeur de l'attribut ne change pas...
    Par slydemusli dans le forum Langage
    Réponses: 3
    Dernier message: 26/03/2006, 12h10
  5. Frames : adresse ne change pas
    Par polo-j dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 14/02/2005, 16h56

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