Mantisのドキュメントを翻訳してみる
MantisのドキュメントがDocBook形式になったので、今後は頻繁に更新されるかな? 今までは1.0.0のまま放置されてきたんですよね。
つーことで、翻訳できるか試してみました。
Windows上での変換
まずはDocBook形式からhtmlの形式に変換する環境を作ってみます。
えーっと、いろいろがんばったのですが無理でした(笑) DocBookにはSGML形式とXML形式があるのですが、XML版はまだツールがあるのですがSGML版はあまりツールないんですよね。。。
Linux上での変換
docbook* のパッケージを全部入れます。makeも使えるようにします。
cd docbook/adminguide/en
make html
Linux上だと普通に変換できます。今回はVMwareのUbuntu8.04を利用しています。ここまででCygwin上で変換しようとして失敗して、coLinux上とかいろいろ試してかなーーーーり時間をつぶしていますがWindows上でやるのであれば現状はVMware+Ubuntuが楽かな。CentOSかFedoraの方が好みなのですが今風に行きます(笑)
DocBook/XMLへの変換
http://www.jclark.com/sp/index.htm
いろいろ調べたところ上記のSGMLパーサーの中にsxという変換ツールがありました。Ubuntuで探してみると追加パッケージを入れろといわれて入れてみる。。。
結果というとXMODEMとかの転送モードがでてきた? これって他のパッケージだね。よくよく調べたところsgml2xmlという名前に変更されているようでした(笑)
sgml2xml administration_guide.sgml > administration_guide.xml
上記で変換できます。ただ結構吐き出されるxmlが汚い。。。あとDOCTYPEがなくなるので手で追加します。
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "docbookx.dtd">
これでOmegaTに読み込める形式になりました。読み込んでみると。。。。。。。。。。。あれ?
docbookのタグ理解してなくて、かなりでかい単位で分割される。。。これでは使えませんね。
po形式に変換する
もう少し一般的な翻訳中間形式であるgettext形式に変換です。
cd docbook/developers cp -r en ja cd ja po4a-gettextize -f sgml -m developers.sgml -p developers.po -o 'ignore=CODE' -o 'translate=COLOPHON'
po4aというパッケージをインストールします。
http://po4a.alioth.debian.org/man/man1/po4a-gettextize.1.php.ja
このページが非常に参考になりました。CODEとか何個かのタグが利用できなかったのでオプションで無視設定する必要があります。
翻訳
OmegaTにdevelopers.poを読み込ませてみるときれいに分割できました。これで大丈夫ですね。
po形式からsgml形式に戻す
cd docbook/developers/ja po4a-translate -f sgml -m ../en/developers.sgml -p developers.po -o 'ignore=CODE' > developers.sgml
元のファイルを要求するのでこんな感じかな。
変換
makeをすれば出来上がるはず! ただ文字コードの指定を途中でしてなかったのでsjisでコードが吐き出されちゃいました。poファイルはEUCJPで作成してあげましょう。SGMLって日本語はEUCJPだけみたいなんですよね。。。
感想
書いていないのですが、Velocity DocBook Frameworkを試してみたりいろいろなツールを入れてみたり非常に大変でした。あまり日本語の情報ってないんですよね。
これとは別に本体の翻訳ファイル群があるのでそれから翻訳用のグロッサリーを作ってとか、1.0.0の翻訳したマニュアルもあるのでそこから翻訳を持ってくるなどいろいろやらないとだめみたいですね。ただし翻訳の流れは上記のような感じでできるかな。。。
問題は自分で翻訳自体までしている時間はないってことですね(苦笑)