Eclipse プラグインの plugin.xml で文字列を外部化するにはどうすればよいですか?
プラグイン プロジェクト > PDE ツール > Externalize Strings を右クリックしても、プラグインが表示されません。
私は今これを手動でやろうとしています。plugin.properties にエントリを追加し、plugin.xml の同等の文字列を % 記号とそれに続く文字列キーに置き換えました。しかし、それはうまくいかないようです。ここで何が欠けていますか?
Eclipse プラグインの plugin.xml で文字列を外部化するにはどうすればよいですか?
プラグイン プロジェクト > PDE ツール > Externalize Strings を右クリックしても、プラグインが表示されません。
私は今これを手動でやろうとしています。plugin.properties にエントリを追加し、plugin.xml の同等の文字列を % 記号とそれに続く文字列キーに置き換えました。しかし、それはうまくいかないようです。ここで何が欠けていますか?
最後に、プラグインを手動で外部化する方法を見つけました。
Eclipse は、plugin.xml を次のように外部化します。
プラグイン マニフェスト (META-INF/MANIFEST.MF) で、次の行を追加します。
Bundle-Localization: plugin
外部化された文字列を「plugin.properties」というファイルに保存する予定です(これが欠落していたことがわかりました)。
外部化された文字列のキーと値のペアを plugin.properties に追加します。
plugin.xml の実際の文字列を plugin.properties のキー (接頭辞 %) に置き換えます。
ワーキング セットにプラグイン プロジェクトが含まれている場合は、マニフェストおよび 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つの提案:
そして、そのメニューがまだ利用できないかどうか教えてください.
あなた自身の回答で言及したように、外部化プロセスは文字列によって宣言されます
Bundle-Localization: plugin
このメッセージに記載されているように、MANIFEST.MF ファイルに.
バグが作成されましたが:
その行は常にMANIFESTにあるとは限りません:
3.3 より前は、すべてのマニフェストを plugin.xml を作成してから変換することで作成していました。プラグインにマニフェストがない場合、これがデフォルトの場所であるため、コンバーターは常に「Bundle-Localization: plugin」をマニフェストに追加しました。
プラグインに翻訳ファイルがない場合、このヘッダーは不必要に肥大化していました。
3.3ではマニフェストを直接作成してプラグインプロジェクトを作成していたので、プロジェクト作成に必要なヘッダだけを作成することにしました。
3.2 より前の外部化でバンドルを作成し、3.3 で実行するとそれらが表示されないという問題が発生する可能性があります。