2010-10-14 72 views
1

我剛開始這一點,並使用此代碼:資源包

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()); 
} 

} 

我沒有得到那些都sysout的。在類路徑中有這些文件:
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> 

併爲每個語言:

Messages_es.properties

cancel=Cancelar 
submit=Enviar 
Search=Buscar 

回答

0

我不得不枚舉所有鑰匙,就這樣我正在讀一本。白衣這個代碼:

Enumeration bundleKeys = labels.getKeys(); 

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

我得到這樣的輸出:

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

Complete tutorial here