<分区>
我已经看到国际化在经典的 ASP 购物车中实现为一个最庞大(int,String)键值对的整体字典,其中调用代码向字典传递一个整数表示要返回哪个字符串(与所需语言 ID 进行二进制或运算),每个唯一 int 的值是“国际化”字符串。
这看起来是一种非常、非常、非常糟糕的实现 i18n 的方式。
我正处于我希望国际化的基于 Java 的 Swing 应用程序的“预设计”(如果有这样的事情)阶段。并不是说我会说英语以外的任何东西(哈哈!),但如果将来扩展到其他语言而不必重构 20,000 个字符串会很好。
因此,这引出了一个问题:围绕基于 Java 的 i18n(以及 L10n 相关)的最佳实践是什么?使用了哪些类和结构?显然,如果这最终成为一个大的 com.myproject.i18n 包,其中包含一个“Internationalizer”类作为我其余代码的公共(public)网关,我希望它是一个单例类,是的?
只是在这里请求一些深思熟虑,非常感谢任何朝着正确方向的插入:-)