3

国際化プラグイン フラグメントの作成方法と使用方法の具体的な例を示すチュートリアルはありません。plugin.xmlとソース コード ファイルの翻訳が必要です。翻訳がどこに行き、i18n ファサードがどこに行くのか頭を悩ませようとしています。

1.そのフラグメントは、マルチプラグイン エンタープライズ アプリケーションにどのように適用されますか? さらに重要なことに、これらすべてのプラグインは、フラグメント内の適切なフォルダー内の文字列をどのように外部化しますか?

2. 外部 JAR はどうですか? このメカニズムは、外部リソースの翻訳サポートをどのように提供しますか?

3.大当たりのリスクを冒して、またはの独立した翻訳を提供することは可能でしょうviewperspective? バンドルを動的に切り替えることができないことを知っているため、実行時に必ずしもそうではありません。

4

2 に答える 2

2

http://babel.eclipse.org/babel/を使用して、人々が既存のリソースを翻訳できるようにしています。ビルド プロセスにより、必要な言語フラグメントがアーティファクトに追加されます。各プラグインは、独自の Messages.properties / Messages.java ファイルを定義します。おそらく、外部の jar については多くのことを行うことはできません。

例えば:

public final class MyMessages {
  // a string member as you reference it later in the code 
  public static String login_window_user_label;

  // static initializer which initalizes the fields in this class
  static {
    NLS.initializeMessages("mymessages", MyMessages.class);
  }
}

そして(通常は同じパッケージに)プロパティファイルがあります。この場合、

mymessages.properties

次の文字列が含まれます。

login_window_user_label = Enter username to login to {0}

そして、コード内で次のことを行います。

String userNameLabel = NLS.bind(MyMessages.login_window_user_label, Environment.getName());

これが、バンドルを「翻訳可能」にする方法です。ビルドは言語フラグメントを生成し、babel サーバー インスタンスは翻訳を許可します。

于 2013-08-14T14:23:01.960 に答える