现有系统,满足资源束。资源包,满足现有系统...
除了所有的笑话,解决方案将取决于您的应用程序。它是基于 Web 的 JSP 应用程序、Swing 客户端还是其他什么?
对于简单的非 Web 应用程序,这里是一个使用 Spring 的ResourceBundleMessageSource的简单示例。这是一个相当老的例子,但基本思想是你设置一些MessageSource,然后使用 MessageSource 来获取消息。
如果这是一个使用 JSP 的 Web 应用程序,那么您将更改所有 JSP 以使用 Spring JSTL 标记 spring:message(或非弹簧 fmt:message,但我认为这会限制您的选择)在任何需要使用的地方国际化字符串。同样,您需要一些 MessageSource 设置,Spring 会自动神奇地找到您的 MessageSource 并使用它。它仍然遵循相同的模式:定义 MessageSource,向 MessageSource 请求消息……它只是使用 JSTL 标记来完成繁重的工作。
有几个 MessageSource 选项可用。最简单的方法是像上面的示例一样使用 .properties 文件。我发现这很难维护,所以在我们的应用程序中,我们用我们自己的实现替换了 MessageSource,我们称之为 JdbcMessageSource,它扩展了AbstractMessageSource。基本上,它使用一个表来读取消息并提供这些消息的缓存。