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

dig*_*oel 4 java properties internationalization

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

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

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

Ste*_*n C 6

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

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

FWIW,我的一般建议是:

  • 关于属性名称和属性文件结构的系统性和一致性.
  • 如果有很多重复,不要害怕使用资源包继承,
  • 如果属性文件或资源包太大,请对它们进行分区.

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

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