1か月ほど続いたプロジェクトが一段落。
XTM(いわゆる翻訳支援ツールひとつ)上で、DITAファイル(PDFなどのもとになるXMLファイル)を扱う案件だったので、最初っからいろいろと作業上の制約がありました。ローカライズ部門勤務時代から培ってきた「小手先」のワザがあちこちで役立ったので、記録としてまとめておきます。
基本的には、FileVisor(生産公開終了)と、秀丸エディタ上のgrepやマクロを使っています。
1. 前提 - 扱うファイル
作業ベースがDITAの場合、PDF上の内容が複数のファイルに分かれているのが普通です。しかも、チャプターくらいの分割ではなく、たいていは数百ワード~1,000ワード前後の細かいファイルが数十あったりします。そして、ファイル名が連番にでもなっていない限り、XTMでのファイルの並び順はPDF上の順番と違ってばらばらです(たとえば、intro.ditaよりencrypting.ditaが上にある)。
XTM上のリスト順に翻訳していく(=PDF上の順序は無視)のは避けたいので、PDF上の内容に沿って該当するファイルを見つけなければならないことになります。
2. 前提 - XTMの仕様
XTMの最大かつ最悪の仕様は、Trados StudioやMemoQと違って、複数のファイルをいっぺんに扱えないことです*1。最終的なチェックと修正の段階でものすっごく不便。
3. 翻訳の準備
XTMのファイル一覧ページには、File Managerという機能があります。これを使うと、ソース/ターゲットをそれぞれDITA形式つまりXMLファイルとしてダウンロードできるので、まずソースをダウンロードしておきます。
4. 翻訳
PDF上の内容に沿って翻訳を進めたいので、
- PDF上の文字列をコピーする
- ソースDITAファイルすべてを対象に、その文字列をgrepする
- 該当するファイル名をXTM上のリストから探し、翻訳する
というステップを踏みます*2。
5. 最終チェックの準備
XTM上で翻訳がすべて終わったら、機械的チェックに備えます(機械的チェック前の目視チェックはもちろん別工程)。3. と同じようにFile Managerから、今度はターゲットのDITAファイルをダウンロードします。
複数ファイルのままだとチェックに余計な手間がかかるので、次にファイルを連結して単一のテキストファイルを生成します。私はFileVisorの機能を使っていますが、これは手に入らないので参考にならない部分。DOSプロンプトなどで代用できます。
次に、連結したファイルから、XTMタグを全削除します。正規表現を知っていれば一瞬で終わるステップです。私はその作業をマクロにしてあります。
6. 最終チェック
実際のチェックでは、JustRight!、自作のPerlスクリプト、秀丸マクロなどを実行してエラーを探し、見つかったエラーは以下の手順で修正していきます。
- ターゲットDITAファイルすべてを対象に、その文字列をgrepする
- 該当するファイル名をXTM上のリストから探し、修正する
XTMって、リストからファイルを開くまで5秒くらいかかるので、ここでけっこうイライラさせられます。
ちなみに、この間はずっと、ファイル名をコピーしたり、エラーの文字列をコピーしたりと、クリップボードの内容を取り出す作業が細々と何度も入ります。ここで標準のクリップボードしか使っていなかったら、かなり作業ロスが生じるはずです。私は秀丸エディタを常駐させてクリップボード履歴を使っています。ローカライズ的な作業になるときは、地味にこれが必要不可欠。Windows自体にもクリップボード履歴の機能はありますが、使い勝手は常駐秀丸のほうがダントツ。
7. ツール/スキルのまとめ
以上で使ったツールやスキルは以下のとおり。
- (もしかしたら)XMLファイルについての知識
- ファイルの連結
- 複数ファイルに対するgrep
- 正規表現
- マクロ
- Perlスクリプト
- クリップボード履歴
ざっとこんなところです。こういう助っ人がなかったら、作業効率はとんでもなく下がるでしょう。いろいろと身につけたワザは改めて貴重と思い知らさせたプロジェクトでした。
というわけで、こういう効率化を考えたい方には、ぜひこれをどうぞ(オチはそこかい!)
……と、いま見たら、Kindle版が期間セール中じゃないですか!
なんと、いまなら1,870円ですって、奥様!(あと10日だそうです)