Scroll to navigation

PO4A-BUILD.CONF(5) Po4a Tools PO4A-BUILD.CONF(5)

名前

po4a-build.conf - 翻訳済み内容ビルド用設定ファイル

概要

po4a-build.conf は、翻訳されていないソース群およびそれぞれに対応する PO ファイルから翻訳済みと未訳のドキュメントをビルドする方法を記述します。

対応しているあらゆるフォーマットにおいて、サポートするあらゆる組み合わせは単一の設定ファイル 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) を参照してください。

サポートするフォーマット

現在、"po4a-build" は以下の組み合わせをサポートしています:

セクション 1, 3 用 DocBook XML
通常、POD のような独自のドキュメントフォーマットを持たないシェルスクリプトやその他のインタプリタで利用されます。既存の manpage から "doclifter"(1) を用いて直接適合する XML を生成でき、余計な作業負荷もなく "po4a-build" で POT ファイルを生成できます。その生成した POT ファイルは翻訳用に提供でき、適切な po/ ディレクトリに PO ファイルを配置できます。さらに、"po4a-build""doclifter" XML による未訳 manpage だけでなく、"PO4a" も利用して翻訳済み XML を PO ファイルから生成し、その XML から翻訳済み manpage をビルドします。

デフォルトでは docbook-xsl を用いて manpage を生成します。"po4a-build" 設定ファイルの "XSLFILE" 設定を用いて使用するスタイルシートを上書きできます。

最終的に HTML を準備するスタイルシートは、デフォルトのままにしておけます。また、"po4a-build" 設定ファイルの "HTMLXSL" 設定を用いて上書きできます。
セクション 1, 3, 5, 7 用 POD
サポートする各セクション用に POD 内容を pod2man で変換します。

セクション 1 向けに "PODFILE"、セクション 3 向けに "PODMODULES"、セクション 5 向けに "POD5FILES"、セクション 7 向けに "POD7FILES" を使用してください。

セクション 5、7 の内容のファイル名の一部に 5 や 7 が含まれる場合は、(セクション 1 の内容でも使われるファイル名にしなければならない傾向があるので) ファイル名の拡張子と共に 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 -k" に直接渡される、正しく翻訳される内容の閾値です。空のままにしたり、削除したりするとデフォルト値 (80%) を使用します。また、0 にすると、まったく訳されていなくても、強制的にすべての内容を含めるようになります。

そのような挙動をすべて制御するために、どのファイルをどの po4a-build.conf 設定ファイルに割り当てるかを慎重に決めてください。

翻訳者にとっては POT ファイルにたくさんのファイルが含まれていると (特に共通する文字列が多いと) 都合がよいですが、逆に POT ファイルにたくさんの長い文字列があると、文字列の確定に時間がかかり、翻訳者の気力を奪ってしまうということに注意してください。

 # 維持する翻訳率のしきい値
 KEEP=
    
セクション 1 の manpage を生成するための DocBook XML です。ファイル名は空白で区切られます。すべてのファイルが、XMLDIR ディレクトリにある必要があります。

目次などを提供するために、複数の XML ファイルを一つの book にまとめるのは一般的な手法です。book に XMLMAN3 で指定したファイルも含む場合、book 自体ではなく、セクション 1 の XML ファイルだけをここに指定してください。book にこのセクションの内容だけがある場合、book ファイルを指定してください。

 # セクション 1 用 DocBook XML ファイル
 XMLMAN1="po4a-build.xml po4aman-display-po.xml po4apod-display-po.xml"
    
セクション 3 の manpage を生成するための DocBook XML です。ファイル名は空白で区切られます。すべてのファイルが、XMLDIR ディレクトリにある必要があります。

目次などを提供するために、複数の XML ファイルを一つの book にまとめるのは、一般的な手法です。book に XMLMAN1 で指定したファイルも含む場合、book 自体ではなく、セクション 3 の XML ファイルだけをここに指定してください。book にこのセクションの内容だけがある場合、book ファイルを指定してください。

 # セクション 3 用 DocBook XML manpage
 XMLMAN3=""
    
すべての DocBook XML ファイルの場所です。現在 "po4a-build" は、このディレクトリにある *.xml ファイルを探すと XMLMAN1 と XMLMAN3 に列挙したすべてのファイルが見つかることを期待しています。

XMLMAN1 や XMLMAN3 を使用する場合、指定しなければなりません。設定ファイルの場所からの相対パスです。

 # XML ファイルの場所
 XMLDIR="share/doc/"
    
BINARIES のリスト外で、どのパッケージが XML ソース内容を使用するかを指定します。

XMLMAN1 や XMLMAN3 で与えた値は、ここにも同様に与えなければなりません。

 # DocBook XML & xsltproc を使用するバイナリパッケージ
 XMLPACKAGES="po4a"
    
XMLDIR と同様ですが、翻訳された DocBook ファイルを準備するために使用します。パッケージで .sgml ファイルを使用したい場合は、どのようにビルドするべきかを po4a-devel メーリングリストで議論してください。

 # .docbook ファイルを検索するパターン
 DOCBOOKDIR=""
    
DocBook XML ファイルから翻訳済みおよび未訳の内容を用意するために使用される XSL スタイルシートです。

 # DocBook XML に使用する XSL ファイル
 XSLFILE="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
    
セクション 1 の manpage を生成するための POD ファイルです。POD ファイルを空白で区切ります。使用する場合、設定ファイルの場所からの相対パスを指定する必要があります。

 # セクション 1 用 POD ファイル
 PODFILE="po4a po4a-gettextize po4a-normalize scripts/msguntypot"
    
POD 内容を含む Perl モジュールに特化したサポートです。モジュール名はパスから再構築されます (そのため一般的な Perl のレイアウトであるべきです)。また、manpage を自動的にセクション 3 に配置します。

 # セクション 3 用 POD ファイル - モジュール名はパスから再生成されます
 PODMODULES="lib/Locale/Po4a/*.pm"
    
セクション 5 の manpage を生成する任意の POD 内容です。使用する場合、設定ファイルの場所からの相対パスを指定する必要があります。

セクション 5、7 の内容のファイル名の一部に 5 や 7 が含まれる場合は、(セクション 1 の内容でも使われるファイル名にしなければならない傾向があるので) ファイル名の拡張子と共に 5 や 7 が自動的に取り除かれます。

 # セクション 5 用 POD ファイル
 POD5FILES="doc/po4a-build.conf.5.pod"
    
セクション 7 の manpage を生成する任意の POD 内容です。使用する場合、設定ファイルの場所からの相対パスを指定する必要があります。

セクション 5、7 の内容のファイル名の一部に 5 や 7 が含まれる場合は、(セクション 1 の内容でも使われるファイル名にしなければならない傾向があるので) ファイル名の拡張子と共に 5 や 7 が自動的に取り除かれます。

 # セクション 7 用 POD
 POD7FILES="doc/po4a.7.pod"
    
XMLPACKAGES と同様です。内容を POD ファイルからビルドするパッケージは、PODPACKAGES に値が含まれている必要があります。PODFILE、PODMODULES、POD5FILES、POD7FILES に何か値を指定する場合必須です。

 # POD を使用するバイナリパッケージ
 PODPACKAGES="po4a"
    
未訳と翻訳済みの HTML 出力を保存する BASEDIR のサブディレクトリです。

 # HTML 出力 (BASEDIR のサブディレクトリ)
 HTMLDIR=""
    
HTML に変換される DocBook ファイルです (XMLMAN1 や XMLMAN3 にあるファイルと同じかも)。セクションは HTML 出力と関連がないので、HTML に目次などを作るため、気軽に単一 book ファイルを使用してください。

 # HTML DocBook file
 HTMLFILE=""
    
chunk XSL スタイルシートを使用する際のデフォルト値です。現在、HTML の実行ごとの、複数のスタイルシートの使用はサポートしていません。

 # 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>
2018-05-27 Po4a Tools