在我们的应用程序中,我们有一个 messages.properties 文件,其中包含将显示给 UI 的所有字符串。我们有一个只有几个屏幕的小应用程序,它已经变得笨拙,整个过程中都有重复的字符串值。
现在我们将它组织成页面特定的字符串,用空格和注释分隔开,每个 jsp 都有一个部分,属性名称带有页面名称的前缀。我们也有实体部分,例如,在我们显示用户电子邮件地址的任何地方,我们将引用属性 user.email 作为该输入或输出字段的标签。我们还有另一个部分用于错误和状态消息,最后一个部分包含全局消息,如“提交”和“取消”
一定有更好的方法,我想知道你是否知道它是什么。
最佳答案
我认为没有通用的“更好的方法”。我尝试在谷歌上搜索“最佳实践”建议,但发现没有讨论如何最好地为 i18n 构建属性命名空间。
(我觉得这有点令人惊讶。通常有人准备就这样的事情提出他们考虑不周的意见作为“最佳实践”。或者,也许我太愤世嫉俗了。)
FWIW,我的一般建议是:
- 在属性名称和属性文件结构方面保持系统和一致。
- 如果有很多重复,不要害怕使用资源包继承,
- 如果属性文件或资源包变得太大,将它们分区。
但我希望您已经了解并做到了所有这些。
最后,不要太执着于“恰到好处”。没有完美的解决方案,您目前所做的可能已经足够好了……根据付钱给您做这项工作的人的标准。
关于java - 如何组织国际化的 Java 属性条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4414313/