Doxygenもっと日本語対応 作品解説  2013-11-25
 全て クラス ファイル 関数 変数 列挙型 列挙値 ページ
doxygenもっと日本語対応

目次

English version of this document available.

概要

2013年夏から秋にかけて Doxygen をより日本語に深く対応させるべく10余りのパッチを送信いたしました。

いずれすべてのパッチが受け入れられるものと思いますが、先行して dlsite.com にて適用済みのものを販売しております。ライセンスは GPL であり、ソースコードのスナップショットおよびその時点の本家に対する差分ファイルも同梱しております。

実行ファイルについては Windows 用の doxygen 本体及び doxywizard を同梱しています。

日本語化の対象は doxygen 本体、doxywizard の GUI 、そして C++ および Python を用いたときの関数名・変数名などにおける非ASCII文字への対応です。本体のログ出力など一部については翻訳手段が提供されていないので未訳です。

説明書に関してはすでに(いささか古いものですが)翻訳されている方がいらっしゃるのでそちらの文献を参照ください:
株式会社きじねこさんによる Doxygen マニュアル

販売先

dlsite.com で提供・販売しております。体験版はほぼウェブでご覧になっている内容と同じです → Doxygenもっと日本語対応

本家がすべての提出パッチに対応した後は、私に対する寄付、という位置づけになります。

参考実行結果

DLSite.com で提供している体験版と同じものがこのサイトでも見られます。最上部から移動できるクラスファイル、また「クラス」の配下にあるクラス索引クラスメンバにご注目ください。

本家にパッチが導入されるまでは、本作製品版同梱の doxygen のみがこのような出力を行えます。

本家が対応するのはいつになる?

各提出パッチの内容にもよりますが、修正する形のものは数週間から数か月くらいです。日々数多くの修正要求が上がっていますので、機能を追加するようなパッチについては相当に後回しにされるのが実情です。

日本語(非ASCII)対応関係でも、実質的に新機能の追加にあたるような大掛かりなものがいくつかあるので、それらの本家側対応はひょっとしたら年単位になるかもしれません。

本作に適用されているパッチの本家における対応度は Gnome のバグトラッカーで Doxygen プロジェクトを対象に報告者や追加報告者を h12u.com で検索することで確認できます。 FIXED が公式リリース対応を示すものと考えてよいようです。

識別子の日本語受け入れ対応について

マイクロソフト社の Visual Studio は、おそらく .NET Framework の関係でずいぶん以前から C++ の識別子に非ASCII文字が使えたようです。関数名・変数名・列挙・マクロ、およそ名前のつけられるものは何にでも使えます。

2013年になって、ようやくオープンソースの C++ コンパイラでも日本語の識別子が使える下地ができてきたものと思われます。この文書をお読みになる方ならご存知でしょう、 LLVM の一部である Clang がそれです。

CLang 3.3 のリリースノート にて、"Extended Identifiers: Unicode Support and Universal Character Names" との文言により対応が明記されています。

他方、私がパッチを提供する前の doxygen はこれにほとんど対応しておらず、マクロ名が途中で切れてしまったり、索引や検索が機能していなかったりで、実はいろいろ苦労して修正を行いました。

識別子に日本語を使うと、当然ながらそのままでは索引の見出しには漢字が並ぶことになります。これに対応するため Wikipedia の機能に似せた \sk コマンドも用意いたしました。 \sk の後に読み仮名を続けることで、索引上には漢字名ではなくその読み仮名で探すことができるようになります。

このほか、やはり Wikipedia の広まりもあって URL に日本語を入れる方法も定着して参りました。そこで doxygen の設定ファイル(いわゆる Doxyfile という名のファイル) におけるオプションを一つ追加し、クラス名などを示すファイルの名前に日本語そのままを使えるような改良も加えています。

doxywizardの日本語化

localized_doxywizard.png
日本語化された doxywizard の画像

これまで、GUI 窓口となっていた doxywizard は英語のままで使うことが前提になっていましたが、これを国際化対応に改良し、日本語訳をつけてみました。メニューなどはすでに下地ができていたのですぐに処置できたのですが、左下に出る各オプションの説明に対してはこれまた結構面倒な準備が必要でした。無論 300 件の翻訳を書くのもなかなか骨が折れましたが一通り完成いたしました。

連絡先

ウェブサイト: https://h12u.com/doxygen / h12u.com
メール: info@@@@@h12u.com
ツイッター: @szmzk
ブログ: 姫踊子草の楽屋裏 / (DLsite 側)