プロジェクト名: Javaドキュメンテーションコメント多言語フィルタ。
docletファイル名: MultilingualFilter.jar
概要: javadocの多言語化を比較的単純に行うためのdoclet。
バージョン: Ver.0.0.0 2011-04
divタグで記述言語を指定したドキュメンテーションコメントに対し、
javadoc作成時にコマンドラインパラメータで出力言語を指定するフィルタdoclet。
例えば以下の様なjavaソース内のドキュメントコメントがあるとします。
これは日本語のコメントです。
This is English comment.
javadoc生成時に、コマンドラインから次のようにパラメータを与えると
javadoc ... -docletpath C:\...\MultilingualFilter.jar -doclet sfj.kiramik.multilingualFilter.MultilingualFilter -sellang en,ja
生成されるjavadocは
This is English comment.
これは日本語のコメントです。
のように生成されます。コマンドラインを
-sellang ja
にすれば、
これは日本語のコメントです。
となります。
使用できるタグはdivとspanです。
言語の指定の記号は単なる選択用の文字列ですので
コマンドラインの指定と一致すれば何でもかまいません。
このdocletを使えば、単一ソースファイルにすべての言語のドキュメントを集約できます。
小規模なプロジェクトでは、ソースファイルの外に訳語を置いても翻訳するのは結局プログラマなので、
メンテナンスがかえって煩雑になる場合などに対応することを想定しています。
作成動機は、海外起点のオープンソースの翻訳したjavadocを新たに生成して参照するのに、
リソースをくくりだして翻訳してjavadocを出力する、といった作業が大変に思えたので、
ソースコードに直接記述してしまえば楽なんじゃないかと思った所にあります。
しかし良く考えれば、
ドキュメンテーションコメント内にタグを埋め込むなら、docletを使わなくても
CSSでタグブロックごとに可視/不可視属性を設定してやるjavaScriptを
javaドキュメントに埋め込むというアプローチのほうがよかったかもしれないですね。
ページ上部に言語選択のドロップダウンリストボックスなどをつけてやれば、
一つのドキュメントが多言語対応となり、言語別にドキュメントを生成する作業は不要です。
このdocletの制限事項は次の通りです。
・ソースコードは多言語に対応するUTF-8等で記述されている必要がある。
•divとspanを区別しておらず、言語タグがネストすると上手く取り扱えない。
•ソートできるのは隣り合う言語ブロック同士だけである。
•divは前後に改行が入り、spanは改行が入らない、という使い分けがある(HTMLのデフォルト仕様)。
•言語ブロックの間のHTMLソース上の空白はその直前の言語ブロックに属する。
•package-info.javaのドキュメンテーションコメントが今のところ(Ver0)処理できない。
•デフォルト言語が指定できない。つまり、コマンドラインで与えた言語ブロックがないとき、
代替で表示する言語ブロックを指定する、と言うことが出来ない。
本docletのライセンスはGPL V3に従うものとします。