如何组织Java属性条目进行国际化?

时间:2010-12-10 23:55:23

标签: java internationalization properties

在我们的应用程序中,我们有一个messages.properties文件,其中包含将显示给UI的所有字符串。我们有一个带有几个屏幕的小应用程序,并且它已经变得笨重,整个字符串值都是重复的。

现在我们将它组织成特定于页面的字符串,用空格和注释分隔出来,每个jsp的一个部分的属性名称都带有页面名称的前缀。我们还有实体部分,例如,在我们显示用户电子邮件地址的任何地方,我们将引用属性user.email作为该输入或输出字段的标签。我们有另一个部分用于错误和状态消息,最后一个部分包含全局消息,如“提交”和“取消”

必须有一个更好的方法,我想知道你是否知道它是什么。

1 个答案:

答案 0 :(得分:6)

我认为没有一种普遍的“更好的方法”。我尝试使用谷歌搜索“最佳实践”建议,并发现没有谈论如何最好地构建i18n的属性命名空间。

(我发现这有点令人惊讶。通常有人会准备在这样的事情上提出他们考虑不周的意见作为“最佳实践”。或许,我太愤世嫉俗了。)

FWIW,我的一般建议是:

  • 对属性名称和属性文件结构系统且一致,。
  • 如果存在大量重复,请不要害怕使用资源包继承,
  • 如果属性文件或资源包太大,请对它们进行分区。

但我希望你已经知道并做了所有这些。

最后,不要太担心这个“恰到好处”。没有完美的解决方案,你目前正在做的事情可能已经足够......根据支付你做这项工作的人的标准。