2010-10-14 5 views
1

Je commence avec cela, et avec ce code:Bundle ressources

public static void main(String[] args) { 
Locale[] supportedLocales = { 
     new Locale("en", "CA"), 
     new Locale("es", "ES") 

    }; 

ResourceBundle labels = ResourceBundle.getBundle("Messages", supportedLocales[0]); 
System.out.println(supportedLocales[0].getDisplayVariant()); 
System.out.println(supportedLocales[0].getVariant().toString()); 
} 

} 

Je ne reçois aucune de ces sysout. Dans le classpath il y a ces fichiers:
Messages.bundle

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> 
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%> 
<f:loadBundle basename="Messages" var="msg"/> 
<f:view> <html> 
    <body> 
     <f:view> 
      <h:form> 
       <h:commandButton value="#{msg.cancel}" action="fail"/> 
       <h:commandButton value="#{msg.submit}" action="success"/> 
       <h:outputText value="#{myBundle[myBean.msgKey]}"/> 
      </h:form> 
     </f:view> 
    </body> 
</html> </f:view> 

Et pour chaque langue:

Messages_es.properties

cancel=Cancelar 
submit=Enviar 
Search=Buscar 

Répondre

0

Je devais énumérer tous les clés, de cette façon je lisais un. Whit ce code:

Enumeration bundleKeys = labels.getKeys(); 

    while (bundleKeys.hasMoreElements()) { 
     String key = (String)bundleKeys.nextElement(); 
     String value = labels.getString(key); 
     System.out.println("key = " + key + ", " + 
        "value = " + value); 
    } 

Je reçois cette sortie:

key = Search, value = Buscar 
key = submit, value = Enviar 
key = cancel, value = Cancelar 

Complete tutorial here.

Questions connexes