I18n - JSF变量值转换

时间:2010-05-24 08:39:45

标签: java jsf internationalization

我在我的项目中使用Bundle Internationalization。我已经通过

初始化了捆绑包
<f:loadBundle basename="ui.all.bundles.AppResources_en" var="msg"/>

当我需要翻译一些文本时,我使用resourceBundle的一个键来获取它的值,例如:#{msg.someText}。但是,现在我想翻译文本,哪个键是另一个变量的值。例如:

我有变量 String textToTransl 。它的值是 status_booked 。在我的AppResources定义中, status_booked 表示“已预订!”,因此,当我将其指向#{msg.textToTransl} 时,我需要看到“它被预订!“

我怎样才能让它发挥作用?

2 个答案:

答案 0 :(得分:5)

使用:

value="#{msg[currentDoc.textToTransl]}"

答案 1 :(得分:0)

 ui.all.bundles.AppResources

不要在资源名称中包含区域设置(_en)。资源包代码应根据请求区域设置解析特定于语言环境的包。