Eclipse 4 RCPアプリケーションに奇妙な問題があります.のためにメニュー項目を翻訳しないことがあります。私は現在、複数のローカライズされたプラグインで構成されていEclipseの4 RCPアプリケーションに取り組んでいますfragment.e4xmiによって寄贈されたMenuItemsは翻訳されていません、contributorURIがありません
状況
。
これらのプラグインの1つはcom.mobatime.nms.masterclock.common.ui
です。そのfragment.e4xmi
は、他のプラグインのApplication.e4xmi
(com.mobatime.nms.app
)によって "制御"されているローカライズされたMenuItems
をメインメニューバーに提供します。ローカライズされているとは、MenuItem
のラベルが、OSGI-INF/l10n/bundle.properties
ファイルで定義されているOSGI
変数(たとえば%commands.somecommand
)であることを意味します。 OSGI
変数の名前はMenuItem
のラベルとして使用されるように
しかし、自分のアプリケーションのすべての開始の約50%に、masterclock
プラグインによって寄与MenuItems
は、翻訳されていません。
物事私はすでにインターネット上でいくつかの研究の後
を発見し、私は明らかに私の比較的類似の問題を説明しthis threadを見つけました。しかし、このスレッドはすでに5才であり、発見されたバグは古いバージョンのEclipse SDKで修正されています。
ModelSpyプラグインを私のアプリケーションにインポートしました。なぜなら、私が上記のスレッドのバグを見つけるのを助けてくれたからです。
MenuItems
を調べたところ、それぞれの項目のcontributorURI
は、翻訳が見つからない場合、に設定されていません。翻訳が正しく行われると、
MenuItem
のcontributerURI
にはplatform:/plugin/com.mobatime.nms.masterclock.common.ui
が含まれます。私たちは、Eclipseライブラリ(SDK、RCPなど)の最新バージョンを使用し
追加情報
- 。
- 問題は、これらのライブラリの古いバージョン(以前のバージョン4.4.2を使用)でも発生します。
- Eclipse IDEの通常のビルドとデバッグセッションに違いはありません。どこでもエラーが発生します。
- その他の項目では、
contributorURI
が正しく入力されています。 org.eclipse.e4.workbench
メタデータのworkbench.xmi
ファイルでは、寄与URIが影響を受けるMenuItems
に保存されていません。-clearPersistedState
を使用する場合、問題は発生しません。
これはどのように修正できますか?
モデルが保存された状態から再ロードされるように、あなたは永続状態を使用していたりしますが、これを防ぐために、 '-clearPersistedState'を使用しています(そうモデルはそのたびにフラグメントから構築されます)。 –
私は 'clearPersistedState'を使用していませんが、それを私のデバッグ設定に追加すると、問題はもう発生しません。 Eclipseの永続性ロジックのバグでしょうか? – appnic
'org.eclipse.e4.workbench'メタデータの' workbench.xmi'ファイルで永続状態を見て、contributorURIが保存されているかどうかを調べることができます。 –