2010-12-10 11 views
4

在我们的应用程序中,我们有一个messages.properties文件,其中包含将显示给UI的所有字符串。我们有一个小屏幕的应用程序,它已经变得笨拙,整个重复的字符串值。如何组织用于国际化的Java属性条目?

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

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

+1

这几乎是事态,就在那里。你总是可以将它分解成多个文件,但这与我的经验有关。 - Nonexpert – 2010-12-11 00:22:40

回答

5

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

(这我发现有些令人惊讶。通常还有人在那里谁愿意提出自己的考虑不周的意见对这样的事情为“最佳实践”。也许,我太愤世嫉俗。)

FWIW,我的一般建议是:

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

但我希望你已经知道并且完成所有这些。

最后,不要太想得到这个“恰到好处”。没有完美的解决方案,你现在正在做的可能是足够好的......根据谁付钱给你做这项工作的标准。

+1

当我尝试使用谷歌搜索最佳实践建议时,我得到了相同的结果,这就是为什么我把它带到这里的原因。我想我很高兴你不能简单地粘贴lmgtfy链接作为你的答案。 – digitaljoel 2010-12-13 15:27:36