ローカリゼーションを使用したEclipseRCPアプリケーションに取り組んでいます。ユーザーは、アプリケーションで使用される言語をその場で変更できる必要があります。この言語の切り替え中は、アプリケーションの再起動を行わないでください。左から右に書かれた言語と右から左に書かれた言語を切り替えることも可能であるはずです。
この問題を解決する(良い)方法はありますか?
2 に答える
このスレッドによると:
Eclipse ライブラリのほとんどは、ウィジェットの作成時に言語情報をロードします。後でロケールを変更した場合は、Eclipse を再起動して有効にする必要があります。
ただし、その種の動的な動作を独自の SWT プログラムに書き込むことはできます (ロケールが切り替わると、すべてを呼び出す必要があり
setText(*)
ます:-)
したがって、これは現在、自分でプログラムしない限り動的に管理されていません... Birtのような
他のrcp /プラグインアプリケーションは、同じ指示を指定します(つまり、最後に「Eclipseを再起動します...」)
とはいえ、このスレッドではわずかに異なる問題が設定されていました。
言語設定を切り替えて再起動し、その言語で実行する
バグ 222023を読んで模倣することで動作するようになりました
org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction
手動で試しました:
-configuration @user.home/.myapp/configuration
launcher.ini に「 」を追加しました- そこに住む
osgi.nl
ユーザーに「」を追加すると、機能しました。config.ini
config-Location
経由でアクセスできるのでPlatform.getConfigurationLocation()
、それが方法であると思います。
注: osgi.nl
webstart jnlp に " " を追加しても機能します。
それぞれのテキストを使用して、各ウィジェットでsetTextを呼び出す必要があります。ウィジェットにはテキスト変数のマッピングがないため、これも完全に手動で行う必要があります。