【发布时间】:2011-02-01 09:56:35
【问题描述】:
我已经看到在经典 ASP 购物车中实现的国际化是一个最大规模(int,String)键值对的整体字典,其中调用代码向字典传递一个整数,表示要返回哪个字符串(与所需语言 id 进行二进制或运算),每个唯一 int 的值是“国际化”字符串。
这似乎是实现 i18n 的一种非常、非常、非常可怕的方式。
我正处于我希望国际化的基于 Java 的 Swing 应用程序的“预设计”(如果有的话)阶段。并不是说我会说英语以外的任何东西(哈!),但将来扩展到其他语言而不需要重构 20,000 个字符串会很好。
那么,这就引出了一个问题:围绕基于 Java 的 i18n(以及 L10n)的最佳实践是什么?使用了什么样的类和结构?显然,如果这最终成为一个大的 com.myproject.i18n 包,其中一个“Internationalizer”类作为我其余代码的公共网关,我希望这是一个单例类,是的?
这里只是请求一些思考的食物,非常感谢任何朝着正确方向的轻推:-)
【问题讨论】: