显示用于本地化目的的参数化字符串

时间:2011-10-12 19:54:31

标签: jsf localization

有没有办法在资源包中有一个parmeterized字符串?我需要这个,因为名词的顺序可以在不同的语言中有所不同。

例如在我的英语包中我会有

love_message={0} loves {1}

我的拉丁语翻译会把它拿起来做

love_message={0} {1} amet

在我的页面中,我会有类似

的内容
<h:outputText value="#{bundle.love_message,John,Jenny}" />

(如果可能的话)

这样我的英文翻译页面就是

Jonh love Jenny

拉丁页面读取

John Jenna amet.

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:8)

使用<h:outputFormat>代替<h:outputText>。它可以将这些参数设为<f:param>

<h:outputFormat value="#{bundle.love_message}">
    <f:param value="John" />
    <f:param value="Kenny" />
</h:outputFormat>