如何在其他区域设置中显示消息

时间:2010-08-30 04:14:31

标签: java seam

我们要求在不同的区域设置中单独显示某个页面。 (例如,如果讨论主题与英语相关,则在某个页面中我们从messages_en.properties中获取消息,但如果讨论主题是法语或德语,我们需要以适当的语言显示消息。< / p>

如何更改以下bean调用以将区域设置作为xhtml页面#{messages['label.hello']}中的参数。

以上默认为英语语言环境,如何动态传递语言环境?

2 个答案:

答案 0 :(得分:3)

在服务器端,只需执行此操作

private @In LocaleSelector localeSelector;

并设置如下

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

答案 1 :(得分: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>