我看到国际化在经典的ASP购物车中实现为最庞大的(int,String)键值对的单片词典,其中调用代码将字典传递给整数字典要返回哪个字符串(带有所需语言ID的二进制或“)”,每个唯一int的值是“国际化”字符串。
这似乎是实施i18n的一种非常非常非常可怕的方式。
我正处于基于Java的Swing应用程序的“预设计”(如果存在这样的事情)阶段,我希望将其国际化。不是说我说英语以外的任何东西(哈!)但是将来扩展到其他语言而不必重构20,000个字符串会很好。
所以,这引出了一个问题:围绕基于Java的i18n(以及L10n)的最佳实践是什么?什么样的类和&使用结构?显然,如果这个作为一个大的 com.myproject.i18n 包并且“Internationalizer”类作为我的其余代码的公共网关,我希望这是一个单例类,是的?
这里只是要求一些考虑周到的食物,非常感谢正确方向的任何推动: - )
答案 0 :(得分:4)
这个想法是解决属性文件。它们易于使用,您可以轻松扩展此系统。
你可以找到一个很好的答案here。
Netbeans还有一个很好的样本tutorial。
在您的语言正确后,您需要software来切换区域设置,本地化日期和金额等.Kin Toedter的工具非常可靠。您可以将这些bean添加到IDE中,然后将它们拖放到JPanels中。
答案 1 :(得分:2)
答案 2 :(得分:1)
您可以查看Gettext Commons。它是gettext中的i18n - 用于Java的方式。它有Maven插件,用于生成,更新和编译PO文件。个人使用一段时间后发现使用标准的ResourceBundles更容易。
答案 3 :(得分:0)
我使用netbeans开发基于Swing Application Framework [SAF]的GUI应用程序
您可以获得强大的工具,以便在Netbeans IDE上实现Project的国际化。