2010-11-27 44 views
7

我的问题是,我不能让本地化与的FacesMessageJSF的FacesMessage本地化

工作,我已经试过:

try { 
    ResourceBundle bundle = ResourceBundle.getBundle("translations", context.getViewRoot().getLocale()); 
    text = bundle.getString("loginFail"); 
} catch (Exception e) { 
    System.out.println("EXCEPTION: " + e); 
} 

FacesContext.getCurrentInstance().addMessage("", new FacesMessage(text)); 

但以下异常被抛出

java.util.MissingResourceException: Can't find bundle for base name translations, locale cs 

faces-config.xml包含:

<application> 
    <locale-config> 
     <default-locale>cs</default-locale> 
     <supported-locale>en</supported-locale> 
    </locale-config> 
    <resource-bundle> 
     <base-name>tr.translations</base-name> 
     <var>txt</var> 
    </resource-bundle> 
    <message-bundle> 
     tr.translations 
    </message-bundle> 
</application> 

文件translations_cs.properties and translations_en.properties在tr包中,位置肯定没问题。

你知道如何让它工作吗? 在此先感谢

回答

5

getBundle()中的基名应该是tr.translations,正如您在faces-config.xml中的基名一样。

+0

谢谢,那正是我所需要的;] – 2010-11-27 15:27:18