2010-08-30 61 views
2

我们有要求在不同语言环境中单独显示某个页面。 (例如,如果讨论主题与英语相关,则在某个页面中,然后我们从messages_en.properties中获取消息,但如果讨论主题是法语或德语,则需要以适当的语言显示消息。如何以不同语言环境显示消息

如何更改以下Bean调用采取的语言环境作为XHTML页面#{messages['label.hello']}的参数。

以上默认为英语语言环境,我怎么通过现场动态?

回答

3

在服务器端,就这样做

private @In LocaleSelector localeSelector; 

并成立了如下

localeSelector.setLanguage("en"); 
localeSelector.setCountry("US"); 
+0

将检查看看是否有差别渲染 – Joe 2010-08-30 17:11:54

+0

页面@Joshua确定之前。稍后再告诉我! – 2010-08-30 17:34:28

2

我想指出,JSF还读取浏览器中的首选语言,并显示如果该语言是您的应用程序支持。

所以,如果你支持很多语言,那么你不需要定义服务器端语言环境。

faces-config.xml

<application> 
    <view-handler>com.sun.facelets.FaceletViewHandler</view-handler> 
    <locale-config> 
    <default-locale>en</default-locale> 
    <supported-locale>se</supported-locale> 
    <supported-locale>dk</supported-locale> 
    <supported-locale>no</supported-locale> 
    <supported-locale>it</supported-locale> 
    <!-- etc --> 
    </locale-config> 

+0

我在说的网页大部分时间都会使用英文属性文件。但是基于某个主题,它需要以不同的语言环境显示。注意:这不是最终用户区域设置驱动的,而是基于讨论主题来驱动的)。所以我不清楚如何使消息bean成为语言环境 – Joe 2010-08-30 17:10:32

相关问题