Pleiades の長所・短所


eclipseの日本語化プラグイン「Pleiades」の長所と短所をみていきます。
Pleiades公式サイトに「言語パックと Pleiades による日本語化の比較」についてまとめられていましたので引用します。

言語パックと Pleiades による日本語化の比較

言語
パック
Pleiades
パフォーマンス AOP による極端な速度低下は様々な試みで改善されている。
翻訳箇所の正当性 Pleiades はいらんとこを訳す可能性あり。報告時に都度改善。
プラグインごとのリソース不要 統合された辞書を使用。
対応プラグインの数 150 以上のプラグインに対応。未知のプラグインでも実行時に解決される。
リソースの重複回避 重複は配布前に静的ジェネレーターで除去、最小限のリソースのみ保持。
文字コード対応 ASCII のみしか対応していないプラグインをマルチバイトに動的対応。
バージョン非依存 バージョン以前に少しの修正で Netbeans などにも対応可能。たぶん。
非外部化文字列対応 プラグイン開発者は言語パックを強く意識する必要はない。
訳語の統一 静的ジェネレーターが翻訳ルール・エンジンを持つ。
各プラグイン対応工数 辞書に存在すれば対応工数 0。訳を辞書に累積するため工数小。
訳の再利用 追加・修正した訳は、今後のプラグインにも再利用される。
Javadoc ホバー日本語化 src.zip > API ドキュメント の参照順序逆転で実現。

Pleiadesは最も日本語化対応がはやい

eclipseの日本語化の方法には主に次の3つがあります。

(1)Pleiades
(2)Eclipse 日本語化言語パック (サードパーティ版)
(3)EJWG Babel 言語パック

Eclipse 3.3 以降の言語パックは (2)(3)もPleiades の訳が元になっているらしく、

Pleiades

Eclipse 日本語化言語パック (サードパーティ版)

EJWG Babel 言語パック

の順に反映されます。よってPleiadesが最も先行して日本語化されますのでEclipseがバージョンアップしたときにすぐに日本語化したい場合はPleiadesがお勧めです。EJWG Babel 言語パックが反映されるまではしばらくかかるようです。

パフォーマンス

Pleiades公式サイトには次のようなことが書かれています。

PC 性能がそんなに良くない場合は言語パックをお勧めします。Pleiadesのおおまかな流れとしては、配布前に翻訳ルールを持つ静的なジェネレーターで eclipse.org が配布してきた言語パック 25 種類、約 150,000 を最適化して 50,000 にし、 Pleiades で約 25,000 を追加、各種辞書を生成し、実行時に動的バイトコード変換 (Dynamic AOP) により翻訳を実施します。

簡単に言えば、翻訳用の辞書をメモリ上につくって実行時に動的に変換して翻訳します。ですのでメモリ量は多めにして動的翻訳をスムーズにできるスペックが必要になりますとのこと。Pleiadesのポイントは「AOP(アスペクト指向プログラミング)」であるということです。

AOP(アスペクト指向プログラミング)

IT用語 - ビジネスEX」から引用します。

ソフトウェアの特定の振る舞いを「アスペクト」として分離し、モジュール化するプログラミング技法。オブジェクト指向プログラミングの問題点を補うために考え出された手法。
オ ブジェクト指向プログラミングでは、属性(データ)と操作(メソッド)の集合であるオブジェクトをソフトウェアの分解単位として扱うが、オブジェクトとし てうまく分解ができないソフトウェアの「様相」や「側面」といったものが存在し、このような様相や側面は、複数のオブジェクト間にまたがる操作となる。こ れを「横断要素」と呼ぶ。
アスペクト指向プログラミングを導入することにより、既存のコードの手を加えなくてもプログラム中に散在する特定の機能を持った部分を書き換えることがで きる。アスペクト指向プログラミング環境は既存のプログラミング言語の拡張機能などの形で提供されているものが多く、Javaを拡張してアスペクト指向プ ログラミングを可能とする「AspectJ」などが有名。

Pleiades と AOP

pleiades_aop01Pleiades公式サイトに「Pleiadesの仕組み」について書かれていました。左画像は公式サイト画像から一部利用させてもらっています。プラグインがPleiades辞書を参照するように書き換えられている流れがよくわかります。
「言語バック」では各プラグインごとに日本語対応にしてもらわないと日本語化できませんが、「Pleaiades」ではロード時に表示に関するgetStringメソッドなどを判定して自動的に書き換えますので、未知のプラグインでも対応できます。上記の表の「対応プラグインの数」で150以上と書かれているのでかなりの数のプラグインの対応が確認されています。
欠点として上記表の「翻訳箇所の正当性」で「Pleiades はいらんとこを訳す可能性あり」とあるように、Pleiadesは意図しない箇所でも翻訳条件に該当さえすれば変換されます。

個人的に使ってみるとパフォーマンス的にも翻訳的にも十分満足できます。Eclipseの本来の目的はプログラム開発なので開発ソースなどに影響なければプラグインが意図してないところで日本語されていようが、ちょっとしたパフォーマンス低下などは特に気になりませんでした。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です