改变翻译的复合属性的大小写

时间:2013-11-25 14:56:11

标签: java localization resourcebundle

如果我有一个带有如下属性的java属性文件:

{0} are green

其中{0}可以由苹果或橘子填写,这适用于英语,但假设我有一种语言,其中单词顺序将是这样的:

Green are {0}

现在我想用小写版本代替{0},例如苹果或橘子。

该语言的翻译者应该能够选择大写或小写版本,但我无法找到这样做的方法。有谁知道如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

我不知道你是如何实现这个的,但也许你可以使用Apache Commons中的WordUtils并抽象选择相应的Apple/apple版本的过程,只需包装完整的句子和变换。

WordUtils.capitalizeFully("i aM.fine", {'.'}) = "I am.Fine"

答案 1 :(得分:0)

我找到了一种通过Apache ExtendedMessageFormat的方法,它可以让我完全按照自己的意愿行事。我可以编写一个带小写参数的文本格式,允许使用{0,text,lowercase}或{0,lowercase}之类的内容查看ExtendedMessageFormat

不幸的是我也在使用wicket,因为我不能强迫wicket使用Apache版本,我想我已经走到了尽头。