変更される原文への追従を容易にするために行やセンテンス単位でpoに変換して翻訳し、
原文変更後は同様にpoを作って未翻訳部分に集中するという戦術。
http://po4a.alioth.debian.org/index.php
po4a (po for anything) プロジェクトは、gettext ツールが想定していないドキュメントのような領域で翻訳をしやすくすること (またより興味深いのは、翻訳文の保守がしやすくなること) を目標にしています。
po4a-gettextize
http://po4a.alioth.debian.org/man/man1/po4a-gettextize.1.php
オリジナルファイル (とその翻訳) を po ファイルに変換
既に翻訳したファイルがある場合、"po4a-gettextize" はそこに含まれている翻訳の抽出を行い、po ファイルの書き出しを試みます。この処理をなにも考えずに行ってはいけません。翻訳済ファイルの N 番目の文字列はオリジナルの N 番目の文字列と対応することを想定しています。そうでなければご愁傷様。このため、両方のファイルが同じ構造を共有することが非常に重要なのです。
po4a-updatepo - ドキュメントの (po フォーマットの) 翻訳を更新
http://po4a.alioth.debian.org/man/man1/po4a-updatepo.1.php
"po4a-updatepo" スクリプトは、オリジナルドキュメントのファイルに行われた変更を反映し、po ファイルの更新を担当します。これには、ドキュメントファイルを pot ファイルに変換し、msgmerge(1) を呼び出して、この新しい pot ファイルを po ファイルに適用します。
msgmergeで旧ファイルを新規poでアップデート
msgmerge -U
http://makunouchi.jp/zope3/8440297694
既存の翻訳された msgstr は引き継がれています
新しいメッセージ ID "shield" が追加されています
削除された msgid は #~ でコメントアウトされています("zodiac")
完全一致はしないけれども、部分一致するメッセージID("cosmic debris" が "debris" に変更)に対しては、 fuzzy マークが付いています
orig.po~ というバックアップファイルが作成されます。
po4a-gettextize - オリジナルファイル (とその翻訳) を po ファイルに変換