データベースから翻訳を読み込みます。バンドルを取得するために、カスタムjava.util.ResourceBundle.Controlがあります。
e4 RCP アプリケーションを翻訳するために、アドオンを使用してルート コンテキストに追加するTranslationServiceを作成済みです。それは問題ではありませんでした ( BundleTranslationProviderの 95% をコピーする必要があっただけです)。
ここで、新しい Message Extension (Eclipse Luna に付属) を使用して、残りを翻訳したいと考えています。デフォルトのMessageFactoryServiceImplのソースからわかる限り、そこに私の ResourceBundle.Control を挿入する簡単な方法もないようです。
リンクされたブログ シリーズでは、データベースからリソース バンドルを取得するユース ケースが説明されていますが、クラス ベースのリソース バンドルを使用することで解決されます。すべてのリソース バンドルとすべてのロケールに対してクラスを実装することはできないため、これはオプションではありません。データベースからリソース バンドルをロードする理由は、アプリケーションを再デプロイせずに翻訳を新しい言語にデプロイできるようにするためです。
これを達成する唯一の方法は、デフォルトのMessageFactoryServiceImplの 99% をコピーして独自の IMessageFactoryService を作成し、コントロールを ResourceBundleHelper の呼び出しに渡すことですか?