Java I18n-JSF变量值转换

Java I18n-JSF变量值转换,java,jsf,internationalization,Java,Jsf,Internationalization,我正在我的项目中使用Bundle国际化。我已经初始化了bundle via <f:loadBundle basename="ui.all.bundles.AppResources_en" var="msg"/> 当我需要翻译一些文本时,我使用resourceBundle的键来获取它的值,例如:#{msg.someText}。但是,现在我想翻译文本,其中的键是另一个变量的值。例如: 我有变量字符串textToTransl。它的值是预订状态。在我的AppResources定义中,s

我正在我的项目中使用Bundle国际化。我已经初始化了bundle via

<f:loadBundle basename="ui.all.bundles.AppResources_en" var="msg"/>

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

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

我怎样才能让它工作

 ui.all.bundles.AppResources
不要在资源名称中包含区域设置(
\u en
)。资源包代码应根据请求区域设置解析特定于区域设置的包

不要在资源名称中包含区域设置(
\u en
)。资源包代码应根据请求区域设置解析特定于区域设置的包。

使用:

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


我需要包括地区名称,因为所有的项目仍然只是在英语。但问题不在于此。@Yurish-它被称为
basename
,因为您不应该包含区域设置后缀:)我需要包含区域设置名称,因为所有项目仍然只有英文版本。但问题不在于此。@Yurish-它被称为
basename
,因为你不应该包含区域后缀:)如果我的textToTransl在{currentDoc.textToTransl}中,那么我可以做{msg[{currentDoc.textToTransl}?如果我的textToTransl在{currentDoc.textToTransl}中,那么我可以做{msg[{currentDoc.textToTransl}?