【发布时间】:2014-02-14 10:15:10
【问题描述】:
我们从我们的数据库中加载我们的翻译。要检索捆绑包,我们有一个自定义 java.util.ResourceBundle.Control。
为了翻译我们的 e4 RCP 应用程序,我已经创建了一个 TranslationService,我使用插件将其添加到根上下文中。这没问题(只是我不得不复制 95% 的 BundleTranslationProvider,因为我没有看到任何其他方式)。
现在我想使用new Message Extension(Eclipse Luna 附带)来翻译其余部分。据我从默认MessageFactoryServiceImpl 的来源中可以看出,似乎也没有一种简单的方法可以在那里注入我的 ResourceBundle.Control。
在linked blog series 中,描述了从数据库获取资源包的用例,但通过使用基于类的资源包来解决。这是没有选择的,因为我不能为每个资源包和每个语言环境实现一个类。从数据库加载资源包的原因是能够在不重新部署应用程序的情况下将翻译部署为新语言。
是通过复制默认MessageFactoryServiceImpl 的99% 来创建我自己的IMessageFactoryService 来实现此目的的唯一方法,只是为了将我们的控制权传递给对ResourceBundleHelper 的调用?
【问题讨论】:
标签: java internationalization eclipse-rcp e4