10

Eclipse プラグインの plugin.xml で文字列を外部化するにはどうすればよいですか?

プラグイン プロジェクト > PDE ツール > Externalize Strings を右クリックしても、プラグインが表示されません。

私は今これを手動でやろうとしています。plugin.properties にエントリを追加し、plugin.xml の同等の文字列を % 記号とそれに続く文字列キーに置き換えました。しかし、それはうまくいかないようです。ここで何が欠けていますか?

4

2 に答える 2

20

最後に、プラグインを手動で外部化する方法を見つけました。

Eclipse は、plugin.xml を次のように外部化します。

  • プラグイン マニフェスト (META-INF/MANIFEST.MF) で、次の行を追加します。

    Bundle-Localization: plugin
    

    外部化された文字列を「plugin.properties」というファイルに保存する予定です(これが欠落していたことがわかりました)。

  • 外部化された文字列のキーと値のペアを plugin.properties に追加します。

  • plugin.xml の実際の文字列を plugin.properties のキー (接頭辞 %) に置き換えます。

于 2009-03-13T23:24:21.710 に答える
3

ワーキング セットにプラグイン プロジェクトが含まれている場合は、マニフェストおよび plugin.xml ファイル内の文字列を外部化するのに役立つ文字列の外部化ウィザードを使用できるはずです。
マニフェスト ファイルを外部化すると、翻訳可能な文字列が抽出され、複数言語をサポートするためにプロパティ ファイルに格納されます。

このウィザードは、PDE プロジェクトの MANIFEST.MF または plugin.xml ファイルのコンテキスト メニューの PDE ツール メニューで使用できます。

代替テキスト
(ソース: eclipse.org )

and要素のすべての外部化されていない属性/値の検出<extension-point><extension>、またはextension(-point) の外部化されていない名前の表示に関連するいくつかのバグがあったことに注意してください。これらは 3.4 またはごく最近の 3.5M4 でのみ解決されます。

ただし、「Externalize Strings」メニューがプラグイン プロジェクトにまったく表示されない場合は、その「プロジェクトの性質」が何らかの理由で破損している可能性があります。以前の Java プロジェクトがPDE プロジェクトに適切に変換されていない可能性があります。

したがって、2つの提案:

  • eclipse3.5M4の新規インストールを試してください
  • プラグイン プロジェクトをインポートし、その性質を確認します

そして、そのメニューがまだ利用できないかどうか教えてください.


あなた自身の回答で言及したように、外部化プロセスは文字列によって宣言されます

Bundle-Localization: plugin

このメッセージに記載されているように、MANIFEST.MF ファイルに.

バグが作成されましたが:

  • ローカリゼーションは PDE 固有のものではなく、OSGI 仕様です。
  • その行は常にMANIFESTにあるとは限りません:

    3.3 より前は、すべてのマニフェストを plugin.xml を作成してから変換することで作成していました。プラグインにマニフェストがない場合、これがデフォルトの場所であるため、コンバーターは常に「Bundle-Localization: plugin」をマニフェストに追加しました。
    プラグインに翻訳ファイルがない場合、このヘッダーは不必要に肥大化していました。
    3.3ではマニフェストを直接作成してプラグインプロジェクトを作成していたので、プロジェクト作成に必要なヘッダだけを作成することにしました。

  • 3.2 より前の外部化でバンドルを作成し、3.3 で実行するとそれらが表示されないという問題が発生する可能性があります。

于 2009-03-13T23:06:54.123 に答える