单身人士好管理吗Locales/Localization/Internationalization?

Are Singletons good to manage Locales/Localization/Internationalization?

我正在开发一个有多个字符串的应用程序,我想至少实现我的母语和英语,要使用语言环境,我需要一个 ResourceBundle,因为我有 many 类 我认为在 Singleton 中只有一个 ResourceBundle 实例会很棒。

这是一种常见的做法吗?好的、坏的,还是有更好的方法?

单身人士很好是的。认为您不需要将不同的状态保存到实例中,因此获得相同的实例是值得的。

为了可维护性,我不建议在代码上做逻辑,如果这是假设,我可能会使用静态字符串。

恕我直言,最好和更常见的解决方案是使用 数据库来映射翻译 具有键和区域设置作为 UNIQUE KEY key - value - locale 例如 ${username}会有两个不同语言环境的入口。

  • ${username} - 用户名 - en-US
  • ${username} - O nome do utilizador - pt-PT

这将避免每次您想要更改翻译时都必须编写新代码和新提交。新提交是可能会进入您的代码的更多错误。