すべてのサポートするフォーマットは、すべての組み合わせを、ひとつの po4a-build.conf 設定ファイルで扱い、"po4a-build" を一度呼び出すだけですみます。しかし、po/ ディレクトリを分割し、各実行をひとつの設定ファイルで扱うことも選択できます (それぞれ "po4a-build -f FILE" を呼び出してください)。
po4a-build に、スクリプト出力メッセージ翻訳用の gettext サポート追加が含まれているといっても、po4a-build.conf 自身には、そのような翻訳をサポートしていないことに注意してください。po4a-build.conf は、manpage のような静的内容の翻訳にのみ関係します。
po4a-build がランタイムメッセージの翻訳をサポートするには、po4a-runtime (7) をご覧ください。
デフォルトでは docbook-xsl を用いて manpage を生成します。"po4a-build" 設定ファイルの "XSLFILE" 設定を用いて使用するスタイルシートを上書きできます。
セクション 1 向けに "PODFILE"、セクション 3 向けに "PODMODULES"、セクション 5 向けに "POD5FILES"、セクション 7 向けに "POD7FILES" を使用してください。
(セクション 1 の内容でも使われるファイル名にしなければならない傾向がある) セクション 5, 7 の内容向けに、ファイル名の一部に 5 や 7 が含まれる場合、(ファイル名の拡張子と共に) 自動的に取り除かれます。
例えば、/usr/share/man/man7/po4a.7.gz の準備をするには以下のようにします。
# セクション 7 用 POD POD7FILES="doc/po4a.7.pod"
'#' 以降の内容を無視します。
常に空になる値は、ファイルから取り除けます。
設定フィールドのいくつかは必須です。必須フィールドを空にすると、po4a-build は何もせずに終わります。
"po4a-build" が生成・管理する (一時的な) "po4a" 設定ファイルの名前・場所です。このファイルは、バージョン管理システムの管理下にある必要はなく、パッケージの構築が終わると安全に削除できます。
# 設定ファイルの場所・名前 CONFIG="_build/po4a.config"
この設定ファイルにより、すべての翻訳を扱う POファイルを格納するディレクトリです。文字列はすべてこのディレクトリにある POT ファイルにマージされ、全 PO ファイルを このPOT ファイルとマージします。KEEP 閾値 (後述) は、このファイルで指定した全入力ファイルの全文字列と、このディレクトリにある全 PO ファイルに適用されます。ディレクトリは 'po' と言う名前である必要はありません。しかし、このディレクトリ名が 'po' であることを想定している統計ツールがあるため、この名前にしておくことをお勧めします。
# manpage/doc 用 po ディレクトリ PODIR="po/pod"
POT ファイルへのパス (この設定ファイルの場所からの相対パス) です。ここに対して "po4a-build" が翻訳を生成・保守・更新を行います。
# POT ファイルパス POTFILE="po/pod/po4a-pod.pot"
翻訳内容を書き出すベースディレクトリです。
# 生成したファイルのベースディレクトリ。例: doc BASEDIR="_build"
単一パッケージを構築するとしても、少なくともひとつは値が必要です。
この文字列は任意ですが、通常パッケージ名からできています。生成した内容は、以下のように BASEDIR/BINARIES のサブディレクトリに現れます。
_build/po4a/man/man1/foo.1
複数のパッケージを構築する (つまり、ひとつのソースパッケージから、複数の .deb ファイルや .rpmファイルを構築する) 場合 、構築プロセスの自動化を簡単にするため、このフィールドは各ターゲット向けの内容を隔離するのを助けます。
空白で文字列を分割します。
# 生成した manpage を含むバイナリパッケージ BINARIES="po4a"
そのような挙動をすべて制御するために、どのファイルをどの po4a-build.conf 設定ファイルに割り当てるかを、慎重に決めてください。
翻訳者にとって、POT ファイルにたくさんのファイルが含まれていると (特に共通する文字列が多いと) 都合がよいですが、逆に POT ファイルにたくさんの長い文字列があると、文字列の確定に時間がかかり、翻訳者の気力を奪ってしまうということに注意してください。
# 維持する翻訳率の最小閾値 KEEP=
目次などを提供するために、複数の XML ファイルをひとつの book にまとめるのは、一般的な手法です。book に XMLMAN3 で指定したファイルも含む場合、book 自体ではなく、セクション 1 の XML ファイルだけをここに指定してください。book にこのセクションの内容だけがある場合、book ファイルを指定してください。
# セクション 1 用 DocBook XML ファイル XMLMAN1="po4a-build.xml po4aman-display-po.xml po4apod-display-po.xml"
目次などを提供するために、複数の XML ファイルをひとつの book にまとめるのは、一般的な手法です。book に XMLMAN1 で指定したファイルも含む場合、book 自体ではなく、セクション 3 の XML ファイルだけをここに指定してください。book にこのセクションの内容だけがある場合、book ファイルを指定してください。
# セクション 3 用 DocBook XML manpage XMLMAN3=""
XMLMAN1 や XMLMAN3 を使用する場合、指定しなければなりません。設定ファイルの場所からの、相対パスです。
# XML ファイルの場所 XMLDIR="share/doc/"
XMLMAN1 や XMLMAN3 で与えた値は、ここにも同様に与えなければなりません。
# DocBook XML & xsltproc を使用するバイナリパッケージ XMLPACKAGES="po4a"
# .docbook ファイルを検索するパターン DOCBOOKDIR=""
# DocBook XML に使用する XSL ファイル XSLFILE="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
# man1 用 POD ファイル PODFILE="po4a po4a-gettextize po4a-normalize scripts/msguntypot"
# man3/ 用 POD ファイル - モジュール名はパスから再生成します。 PODMODULES="lib/Locale/Po4a/*.pm"
(セクション 1 の内容でも使われるファイル名にしなければならない傾向がある) セクション 5, 7 の内容向けに、ファイル名の一部に 5 や 7 が含まれる場合、(ファイル名の拡張子と共に) 自動的に取り除かれます。
# セクション 5 用 POD ファイル POD5FILES="doc/po4a-build.conf.5.pod"
(セクション 1 の内容でも使われるファイル名にしなければならない傾向がある) セクション 5, 7 の内容向けに、ファイル名の一部に 5 や 7 が含まれる場合、(ファイル名の拡張子と共に) 自動的に取り除かれます。
# セクション 7 用 POD POD7FILES="doc/po4a.7.pod"
# POD を使用するバイナリパッケージ PODPACKAGES="po4a"
# HTML 出力先 (BASEDIR のサブディレクトリ) HTMLDIR=""
# HTML DocBook ファイル HTMLFILE=""
# HTML に使用する XSL ファイル HTMLXSL="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"
Neil Williams <linux@codehelp.co.uk>
倉澤 望 <nabetaro@debian.or.jp> Debian JP Documentation ML <debian-doc@debian.or.jp>