Java模块化的国际化实现- Gunnar


在这篇博文中讨论如何在多模块应用程序(即“模块化单体”)中使用资源包来国际化错误消息。应满足以下要求:

  • 应用程序的各个模块应该提供带有特定错误消息的包,避免团队中的开发人员不得不处理一个大型共享资源包
  • 一个中心组件(如错误处理程序)应该使用这些包以统一的方式显示或记录错误消息
  • 不应该知道中央组件所需的特定模块,即应该可以向应用程序添加更多模块,每个模块都有自己的一组资源包,而无需修改中央组件

这种设计的基本原理是使各个开发团队能够独立处理各自的组件,包括错误消息资源包,同时确保通过中央错误处理程序一致地准备消息。
ResourceBundle是Java的管理和检索区域设置特定的资源,如国际化应用程序的错误消息的主力。随着 Java 9 中模块系统的出现,有关发现和加载资源包的细节发生了很大变化,特别是在跨命名模块边界检索资源包时。
modules-resource-bundles GitHub 存储库中找到它。
感兴趣点击标题见原文