Provided by: po4a_0.69-1_all
名前
po4a - PO ファイルと翻訳済みドキュメントの両方を一括更新
書式
po4a [options] config_file
説明
po4a (PO for anything) は従来のgettextツールを使った文書翻訳の保守作業を容易にしま す。po4aの主な特徴は内容の翻訳を文書構造から切り離すところにあります。このプロジェクトのや さしい導入についてはページpo4a(7)を参照してください。 実行すると po4aは設定ファイルで指定された全ての文書ファイルを解析します。(翻訳を含 む)POファイルを更新して文書にあらゆる変更を反映し、元のマスター文書の構造に(POファイルで 見付かった)内容の翻訳を注入することで翻訳文書を生成します。 最初、POファイルには、元の文書からの翻訳すべき文字列のみが含まれています。このファイル形式 により、po4aが抽出した各段落に対して、翻訳者が手作業で翻訳を与えることができます。翻訳後に 文書が変更された場合、po4aは対応する翻訳をPOファイル内で「fuzzy」として印を付け、翻訳者に よる手動のレビューを要求します。翻訳者はいわゆる「補遺」を与えることもできます。これは例え ば、誰が翻訳を行ったか、どのように誤りを報告するかなどを記載した追加内容です。 master documents ---+---->-------->---------+ (doc authoring) | | V (po4a executions) >-----+--> translated | | | documents existing PO files -->--> updated PO files >-+ | ^ | | | V | +----------<---------<-------+ ^ (manual translation process) | | addendum -->--------------------------------------+ master documents: マスター文書 doc authoring: 文書執筆 po4a executions: po4aの実行 translations: 翻訳 existing PO files: 既存のPOファイル updated PO files: 更新されたPOファイル manual translation process: 手動の翻訳過程 addendum: 補遺 po4aの作業工程は、オープンソースプロジェクトに相応しい非同期型です。文書の執筆者は自分の ペースでマスター文書を作成します。翻訳者はPOファイルの翻訳をレビューし、更新します。保守者 は必要に応じてpo4aを再実行し、元文書への変更をPOファイルに反映し、最新の文書構造に最新の翻 訳を注入することによって、更新された文書の翻訳を生成します。 既定では、翻訳文書はその内容の少なくとも80%が翻訳されたときに作成されます。翻訳されていな いテキストは元の言語のまま残されます。そのため翻訳が完全でない場合、作成された文書には言語 が混在することになります。80% のしきい値は、後述の --keep オプションで変更することができま す。ただし、100%でないと直ちに翻訳が無視されるのは、ほとんど利用者に見られないようになるた め翻訳者の意欲をそぐかもしれませんし、一方であまりにも不完全な「翻訳」を表示するのはエンド ユーザーが困ってしまうかもしれませんので、注意してください。 翻訳された文書ファイルをバージョン管理システムに保存するのは、自動生成されるもののためおそ らく悪い考えでしょう。貴重なファイルはPOファイルであり、そこにこそ仲間の翻訳者達の苦労が詰 まっているのです。また、weblateなどのオンラインプラットフォームで翻訳者と交流するのが楽だ という人もいますが、これは当然ながら完全に任意です。 早分かり入門 foo という名前のプログラムを保守していて、そのプログラムには英語(ほとんどのオープンソース プロジェクトでの橋渡しとなる言語ですが、 po4a はどの言語からでも、またどの言語へでも使えま す)で書かれた man ページ man/foo.1 があるとしましょう。いつだったか、誰かが man/foo.de.1 という名前のドイツ語の翻訳を提供したなり立ち消えになったことがありました。ここで問題になっ ているのは、たった今文書にすべての言語で修正しなければならないような重大な誤解を招く情報が 含まれているというバグ報告を受けましたが、ドイツ語を話せないので、翻訳ではなく元の文書を修 正するしかないということです。そして今、別の貢献者がこれまた修得していない言語である日本語 への翻訳を提供したいと言っています。 文書の保守の悪夢を解決するために、文書をpo4aに変換する時が来ました。必要なときに文書を更新 したい、仲間の翻訳者達の作業を楽にしたい、そして、利用者が古くて誤解を招くような文書を目に することがないようにしたい、そう思っていますよね。 変換には2つの工程が含まれます。po4aインフラの立ち上げと、以前のドイツ語翻訳を引き揚げるた めの変換です。この後者の部分は、以下のようにpo4a-gettextizeを使用して行われま す。po4a-gettextize(1) のドキュメントに詳述されているように、この過程が完全に自動化される ことは稀ですが、一度完了すればドイツ語翻訳を含む de.po ファイルを po4a の作業工程に統合す ることができます。 po4a-gettextize --format man --master foo.1 --localized foo.de.1 --po de.po それではpo4aを設定しましょう。適切なファイル配置を使うと設定ファイルはこのように単純になり ます。 [po_directory] man/po4a/ [type: man] man/foo.1 $lang:man/translated/foo.$lang.1 これは、すべての(翻訳者の作業内容を含む)PO ファイルが man/po4a/ ディレクトリにあり、マス ターファイルは man/foo.1 の 1 つだけであることを指定するものです。もし、複数のマスターファ イルがあれば、2行目のような行がいくつもあることになります。このような行はそれぞれ、対応す る翻訳ファイルをどこに書き込むかも指定します。ここでは、man/foo.1 のドイツ語訳は man/translated/foo.de.1 にあります。 po4aの設定を完了するために最後に必要なものは、新しい翻訳を開始するために使用されるべきテン プレート材料を含むPOTファイルです。指定されたpo_directoryの中にに拡張子.potの空のファイル を作成するだけです(例:man/po4a/foo.pot)。そしてpo4aはその中に期待される内容を詰め込みま す。 この立ち上げでのファイルについておさらいすると次のようになります。 ├── man/ │ ├── foo.1 <- 英語で書かれた元のmanページ │ ├── po4a/ │ │ ├── de.po <- gettextizationによるドイツ語訳のPO │ │ └── foo.pot <- 将来の翻訳に向けたPOTテンプレート(最初は空) │ └── translated/ <- 翻訳が作られるディレクトリ └── po4a.cfg <-設定ファイル 一度立ち上げれば、po4aを実行すると、文書を解析し、POTテンプレートファイルを更新し、それを 使ってPO翻訳ファイルを更新し、それを使って文書の翻訳ファイルを更新します。すべて1つのコマ ンドで。 po4a --verbose po4a.cfg 以上です。po4aは完璧に設定されました。man/foo.1の誤りを修正したら、ドイツ語翻訳の問題のあ る段落は、英語の修正されたテキストに置き換えられるでしょう。言語を混ぜることは最適ではあり ませんが、自分でも理解できない翻訳の誤りを取り除き、利用者に提示する内容が決して誤解を招く ものにならないようにするためには、これが唯一の方法なのです。対応するPOファイル中のドイツ語 の翻訳を更新するのも遥かに簡単なので、言語の混在は長くは続かないでしょう。最後に、日本語の 翻訳者が jp.po の翻訳ファイルを渡してきたら、それを man/po4a/po/ に置くだけでいいので す。改めて po4a を実行すると、翻訳されたページが man/translated/foo.jp.1 として現れます( 充分に内容が翻訳されている場合に限ります)。
オプション
-k, --keep 生成するファイルを維持する(つまり書き出す)翻訳率の下限値(既定値:80)。言い換える と、既定では書き出されるために少なくとも 80% は翻訳されディスク上に保存されていなけれ ばなりません。 -h, --help 短いヘルプメッセージを表示します。 -M, --master-charset 翻訳文書を含むファイルで使われている文字セットです。すべてのマスター文書が、同じ文字 セットを使用していなければならないことに注意してください。 -L, --localized-charset ローカライズされた文書を含む、ファイルで使われている文字セット。翻訳されたすべての文書 は同じ文字セットを使用することに注意してください。 -A, --addendum-charset 追加内容の文字セットです。追加内容では、すべて同じ文字セットを使用することに注意してく ださい。 -V, --version スクリプトのバージョンを表示して終了します。 -v, --verbose プログラムの冗長度を上げます。 -q, --quiet プログラムの冗長度を下げます。 -d, --debug デバッグ情報を出力します。 -o, --option 書式プラグインに渡す追加オプションです。有効なオプションやその意味の詳細は、各プラグイ ンの説明書を参照してください。例えば、AsciiDocパーサーには '-o tablecells' を、テキス トパーサーには '-o tabs=split' を渡すことができます。 -f, --force 生成の必要はないと po4a が判断した場合でも、常に POT ファイルと PO ファイルを生成しま す。 デフォルトの動作 (--force を指定しない場合) は以下のようになります: POT ファイルが存在する場合、マスター文書や設定ファイルの方が新しければ (--no-updateが指定されている場合を除き)再生成を実行します。POT ファイルもまた一 時文書に書き出され、変更が本当に必要かどうか po4a が検証を行います。 また、マスタードキュメント、PO ファイル、追加内容のどれか、設定ファイルのいずれか が翻訳より新しい場合にのみ、翻訳を再生成します。しきい値に達しない翻訳を再生成しな いように (--keep を参照)、.po4a-stamp 拡張子を持つファイルを作成します (--stamp を 参照)。 マスタードキュメントがファイルをインクルードする場合、インクルードするファイルの更新時 刻は考慮されないため、--force フラグを使用するべきです。 PO ファイルは、常に POT を元に msgmerge -U で再生成されます。 --stamp 翻訳が閾値に到達せず生成されないとき、po4a にスタンプファイルを作成するように指示しま す。このスタンプファイルは翻訳済みドキュメントが期待する名前に .po4a-stamp 拡張子をつ けた名前となります。 注意: これは .po4a-stamp ファイルの作成を行うだけです。スタンプファイルは存在すれば使 用され、--rm-translations を指定した場合や、最終的にファイルの翻訳が完了した場合に削除 されます。 --no-translations 翻訳済みドキュメントを生成せず、POT ファイルや PO ファイルの更新のみ行います。 --no-update POT、POのファイルは変更せず、翻訳のみを更新することができます。 --keep-translations 翻訳が --keep で指定された閾値を満たしていない場合でも、既存の翻訳ファイルを保持しま す。 このオプションでは、内容の乏しい新しい翻訳ファイルは作成されませんが、マスター ファイルへの変更のために陳腐化した既存の翻訳が保存されます。 警告:このフラグは po4a の動作をかなり大幅に変更します。というのは、翻訳が改善されるま で、あなたの翻訳したファイルはまったく更新されないからです。正確な未翻訳の文書より、古 びた翻訳文書のほうを世に出したい場合にのみ、このフラグを使用してください。 --rm-translations 翻訳済みファイルを削除します (--no-translations を暗に意味します)。 --no-backups このフラグは 0.41 から何もしなくなりました。また今後のリリースで削除される可能性があり ます。 --rm-backups このフラグは 0.41 から何もしなくなりました。また今後のリリースで削除される可能性があり ます。 --translate-only translated-file 指定したファイルに対する翻訳のみ行います。設定ファイル内にファイルがたくさん指定されて いる場合、処理の高速化に役立つことでしょう。このオプションは、PO ファイルと POT ファイ ルの更新を行わないことに注意してください。このオプションは複数回指定できます。 --variable var=value po4a 設定ファイル内で展開する変数を定義します。現れるすべての $(var) は、value に置換 されます。このオプションは複数回使用できます。 --srcdir SRCDIR po4a 設定ファイルで指定されたすべての入力文書に対する基底ディレクトリを指定します。 l<destdir>とl<srcdir>の両方が指定された場合、入力ファイルはl<destdir>、現在のディレク トリ、l<srcdir>の順番で探索します。出力ファイルは、指定されていればl<destdir>に、そう でなければ現在のディレクトリに書き出されます。 --destdir DESTDIR po4aの設定ファイルで指定されたすべての出力文書の基底ディレクトリを設定します(前述 の--srcdirを参照)。 POTヘッダーを変更するオプション --porefs type 参照形式を指定します。引数 type は、いずれの参照も生成しない none、ファイルを指定する のみで行番号を指定しない noline、カウンタを増加させることで行番号を置き換える counter、完全な参照を含む full のいずれかを指定できます(既定値:full)。 --wrap-po no|newlines|number(既定値:76) poファイルの行の折り返し方法を指定します。これにより、適切に折り返されているがgitの競 合につながる可能性のあるファイルか、もしくは自動的に処理しやすいものの人間にとっては読 みにくいファイルかのいずれかを選択できます。 歴史的な理由から、gettextスイートは整形を理由にpoファイルを77行目で折り返すことで再整 形します。このオプションはpo4aの振舞いを指定するものです。数値が指定された場合、po4aは この行中の位置以降にある内容中の改行箇所でpoファイルを折り返します。newlinesが指定され た場合、po4aは内容中の改行箇所でのみmsgidとmsgstrを分割します。noが指定された場 合、po4aはpoファイルをまったく折り返しません。参照コメントはpo4aが内部的に用い るgettextツールによって常に折り返されます。 このオプションは、msgidとmsgstrの行の折り返し方法、すなわちこれらの文字列の内容に改行 を追加する方法には影響しないことに注意してください。 --master-language 翻訳文書を含むソースファイルの言語。すべてのマスター文書が同じ言語を使用する必要がある ことに注意してください。 --msgid-bugs-address email@address msgid のバグレポートを送るアドレスをセットします。デフォルトでは、生成した POT ファイ ルに Report-Msgid-Bugs-To フィールドはありません。 --copyright-holder string POT ヘッダの著作権者 (copyright holder) を設定します。既定値は "Free Software Foundation, Inc." です。 --package-name string POT ヘッダのパッケージ名をセットします。デフォルト値は "PACKAGE" です。 --package-version string POT ヘッダのパッケージバージョンをセットします。デフォルト値は "VERSION" です。 PO ファイルを変更するオプション --msgmerge-opt options msgmerge(1) 用の追加オプションです。 注意: $lang は現在の言語へ展開されます。 --no-previous このオプションは、msgmerge に渡すオプションから --previous を削除します。これは0.16よ り前のgettextのサポートに不可欠なものです。 --previous このオプションは、msgmerge に渡すオプションに --previous を追加します。gettext 0.16 以 降が必要で、デフォルトで有効です。
設定ファイル
po4a は引数として設定ファイルを必要とします。このファイルには、次の要素が含まれている必要 があります。 • POファイルのパスおよびプロジェクトに存在する言語のリスト、 • オプションとして、いくつかの大域オプションと、個々のマスターファイルを設定するためのテ ンプレートとして使用される、いわゆる設定エイリアス、 • 翻訳する各マスターファイルとそれぞれに指定する引数の一覧。 各行は角括弧で囲まれた命令とその後に続く引数で構成されています。 コメントは文字 '#' で始ま り行末まで続きます。行末をエスケープすることで複数行にわたる命令を書けます。 このページでは、いくつかの完全な例を紹介していますが、他の例はソース配布物の"t/cfg"ディレ クトリにあります。 POファイルとPOTファイルの探索 最も簡単な方法は、以下のようにPOTとPOのファイルへのパスを明示的に指定することです。 [po4a_paths] man/po/project.pot de:man/po/de.po fr:man/po/fr.po ここではまずPOTファイルへのパスを指定し、次にドイツ語とフランス語のPOファイルへのパスを指 定しています。 同じ意味ですが、コピーアンドペーストでのミスを軽減するために、以下のように書くこともできま す。 [po4a_langs] fr de [po4a_paths] man/po/project.pot $lang:man/po/$lang.po $lang 構成要素は、与えられた言語一覧から自動的に展開されるため、新しい言語を追加する際のコ ピーアンドペーストでのミスの発生を軽減できます。 以下のように、翻訳プロジェクトを含むディレクトリへのパスを提供するだけで、同じ情報をさらに 簡潔にすることができます。 [po_directory] man/po/ 与えられたディレクトリには、いくつかのPOファイルが含まれていなければなりません。それぞれの ファイル名はXX.poで、"XX"はこのファイルで使用されている言語のISO 639-1形式にしたがったもの です。また、ディレクトリには、".pot"という拡張子を持つPOTファイルが1つ含まれていなければな りません。初回実行時には、このファイルは中身が空でも構いませんが、必ず存在しなければなりま せん(po4aは拡張子の前の部分を推測することはできません)。 "po_directory" と "po4a_paths" のどちらか一方だけを選択する必要があることに注意してくださ い。前者("po_directory")は、より簡素で、コピー&ペーストエラーの危険を低減しますが、規定 通りのプロジェクト構造とファイル名を使用する必要があります。後者("po4a_paths")はより明示的 で、おそらくより読みやすいので、最初にpo4aでプロジェクトを立ち上げるときはこちらをお勧めし ます。 POファイルは一元化すべきか、もしくは分割すべきか? 既定では、po4aは翻訳プロジェクトの全内容を含む、対象言語ごとに1つのPOファイルを生成しま す。プロジェクトが大きくなると、これらのファイルの大きさが問題になることがありま す。Weblateを使用する場合、各翻訳区分(つまりmsgid)に優先順位を指定し、重要なものから順に 翻訳することが可能です。それでも、翻訳チームは内容をいくつかのファイルに分割することを好む ことがあります。 マスターファイルごとに1つのPOファイルがあるようにするには、以下のように、"[po4a_paths]" 行 でPOファイルの名前に文字列 $master を使うだけです。 [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po この行によってpo4aは翻訳する文書ごとにそれぞれPOTファイルとPOファイルを作成します。例え ば3つの文書と5つの言語がある場合、3つのPOTファイルと15のPOファイルになります。これらのファ イルは "po4a_paths" テンプレートで指定された名前になり、 $master は翻訳するそれぞれの文書 の基幹名に置き換えられます。名前が衝突した場合はPOTファイルで以下のように "pot=" 引数を 使って指定できます。 この機能は、複数の翻訳ファイルを同じ POT ファイルにまとめることにも使用できます。次の例で は、2つのPOTファイルだけが生成されます。l10n/po/foo.pot(foo/gui.xml由来の翻訳材料を含 む)と l10n/po/bar.pot(bar/gui.xml と bar/cli.xml の両方の翻訳材料を含む)です。 [po4a_langs] de fr ja [po4a_paths] l10n/po/$master.pot $lang:l10n/po/$master.$lang.po [type: xml] foo/gui.xml $lang:foo/gui.$lang.xml pot=foo [type: xml] bar/gui.xml $lang:bar/gui.$lang.xml pot=bar [type: xml] bar/cli.xml $lang:bar/cli.$lang.xml pot=bar 分割モードでは、po4a は PO の更新中に一時的な大枠を構築し、すべての PO ファイル間で翻訳を 共有します。2つのPOファイルが同じ文字列に対して異なる翻訳を持つ場合、po4aはこの文字列を ファジーとして印を付け、この文字列を含むすべてのPOファイルにおいて両方の翻訳を提示しま す。翻訳者によってファジーが解除されると、その翻訳がすべての PO ファイルで自動的に使用され ます。 翻訳するドキュメントの指定 また、翻訳すべき文書を一覧にする必要があります。それぞれのマスター文書について、使用する形 式のパーサ、翻訳された文書を生成する場所、そして任意で追加の設定を指定しなければいけませ ん。以下に一例を示します。 [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \ de:doc/de/mein_kram.sgml [type: man] script fr:doc/fr/script.1 de:doc/de/script.1 [type: docbook] doc/script.xml fr:doc/fr/script.xml \ de:doc/de/script.xml しかし繰り返しになりますが、これらの複雑な行は読んだり変更したりするのが難しいです。例えば 新しい言語を追加するときなどです。そこで $lang テンプレートを使って以下のようにまとめ直す とより簡素になります。 [type: sgml] doc/my_stuff.sgml $lang:doc/$lang/my_stuff.sgml [type: man] script.1 $lang:po/$lang/script.1 [type: docbook] doc/script.xml $lang:doc/$lang/script.xml オプションの指定 オプションには2種類あります。po4aオプションはpo4aコマンドラインオプションの既定値であ り、形式オプションは形式の構文解析器の動作を変更するために使用されます。po4a オプション と して、例えば、--keep コマンドラインパラメータの既定値を 80% ではなく 50% にすることを設定 ファイルに指定することができます。形式オプションは各構文解析モジュールの個別のページ、例え ばLocale::Po4a::Xml(3pm)に記載されています。例えば、nostripをXMLパーサーに渡すと、抽出され た文字列の周りのスペースを取り除かないようにすることができます。 これらのオプションは特定のマスターファイルに対して、あるいはそのファイルの特定の翻訳に対し て、"opt:" と "opt_XX:" を使って "XX" 言語に渡すことができます。次の例では、nostripオプ ションが(すべての言語に対して)XML構文解析器に渡される一方で、フランス語翻訳に対しては閾 値が0%に減じられています(したがって、翻訳は常に維持されます)。 [type:xml] toto.xml $lang:toto.$lang.xml opt:"-o nostrip" opt_fr:"--keep 0" いずれにせよ、これらの設定の各区切りは行末に配置しなければなりません。ファイルの宣言が最初 に来て、次に補遺があればそれを(後述)、そしてオプションだけが来るようにしなければなりませ ん。設定の各区切りの集合化は、内部的には文字列として連結されるためあまり重要ではありませ ん。以下の例はすべて等価です。 [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20" opt:"-o nostrip" opt_fr:"--keep 0" [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20 -o nostrip" opt_fr:"--keep 0" [type:xml] toto.xml $lang:toto.$lang.xml opt:--keep opt:20 opt:-o opt:nostrip opt_fr:--keep opt_fr:0 言語固有のオプションは、POT ファイルを構築するときには使用されないことに注意してくださ い。例えば、フランス語の翻訳を構築するときだけ構文解析器に nostrip を渡すことは不可能で す。なぜなら、同じ POT ファイルがすべての言語を更新するために使われるからです。したがって 言語固有のオプションは、"--keep"オプションのように、翻訳を作成するときに使用されるものだけ です。 設定ファイルのエイリアス 同じオプションを複数のファイルに渡すには、次のように型の別名を定義するのが一番です。次の例 では、"--keep 0" が"man" 型の拡張であるこの "test" 型を使用するすべてのイタリア語翻訳に渡 されています。 [po4a_alias:test] man opt_it:"--keep 0" [type: test] man/page.1 $lang:man/$lang/page.1 また、以下のように既存の型を拡張し、別名に同じ名前を再利用することも可能です。これは、誤っ た再帰的定義として解釈されることはありません。 [po4a_alias:man] man opt_it:"--keep 0" [type: man] man/page.1 $lang:man/$lang/page.1 大域的な既定のオプション また、"[options]"行を使用し、ファイルの種類に関係なく、すべてのファイルに対して使用しなけ ればならないオプションを定義することができます。 [options] --keep 20 --option nostrip コマンドラインオプションと同様に、設定ファイルに渡される引数を略すことができます。 [options] -k 20 -o nostrip オプションの優先順位 各ソースのオプションを連結し、既定値をより具体的なオプションで簡単に上書きできるようになっ ています。その順序は以下の通りです。 • "[options]"行は、他のソースで上書き可能な既定値を提供します。 • 種類の別名が使用されます。言語固有の設定は、すべての言語に適用される設定より優先されま す。 • 特定のマスターファイルに固有の設定は、既定の設定と種類の別名に由来する設定の両方を上書 きします。この場合、言語固有の設定は大域的な設定より優先されます。 • 最後に、po4aコマンドラインで提供される引数は、設定ファイルの設定を上書きします。 例 ここでは、空白と引用符の使い分けを示す例を示します。 [po_directory] man/po/ [options] --master-charset UTF-8 [po4a_alias:man] man opt:"-o \"mdoc=NAME,SEE ALSO\"" [type:man] t-05-config/test02_man.1 $lang:tmp/test02_man.$lang.1 \ opt:"-k 75" opt_it:"-L UTF-8" opt_fr:--verbose 補遺:翻訳に追記する もし、翻訳者のクレジットを加えるなど、翻訳に追加の節を追加したい場合は、マスターファイルで 定まる行に補遺ファイルを定義する必要があります。補遺ファイルの構文についてより詳しく は、po4a(7) ページを参照してください。 [type: pod] script fr:doc/fr/script.1 \ add_fr:doc/l10n/script.fr.add また、以下のように言語テンプレートを使用することも可能です。 [type: pod] script $lang:doc/$lang/script.1 \ add_$lang:doc/l10n/script.$lang.add 補遺の適用に失敗したら、その翻訳は無視されます。 補遺の宣言用の修飾子 補遺修飾子は、すべての言語では補遺を提供していない場合や、補遺の一覧がある言語と別の言語と で変わってくる場合に、構成ファイルを単純化できます。修飾子は、ファイル名の前にある単一の文 字です。 ? ファイルが存在する場合 addendum_path を含めます。なければ何もしません。 @ addendum_path は通常の追加内容ファイルではなく、追加内容ファイルのリスト (1 行 1 ファイ ル) です。各追加内容ファイルの前に修飾子を追加できます。 ! addendum_path は読み込まれません。また、その他の追加内容で読み込まれるように指定してあっ ても読み込まれません。 以下では存在する場合にのみいかなる言語においても補遺を含みます。補遺が存在しない場合、エ ラーは報告されません。 [type: pod] script $lang:doc/$lang/script.1 add_$lang:?doc/l10n/script.$lang.add 以下には各言語向けの補遺の一覧が含まれます。 [type: pod] script $lang:doc/$lang/script.1 add_$lang:@doc/l10n/script.$lang.add 翻訳する文字列の選別 時には、翻訳過程でいくつかの文字列を隠したいことがあります。そのために、マスターファイル に"pot_in"引数を与えて、POTファイルを構築するときに本当のマスターの代わりに使用するファイ ルの名前を指定することができます。以下はその例です。 [type:docbook] book.xml \ pot_in:book-filtered.xml \ $lang:book.$lang.xml この設定により、翻訳される文字列はbook-filtered.xml(po4aを呼び出す前に生成されなければな りません)から抽出され、翻訳ファイルはbook.xmlから構築されることになります。その結 果、book.xml には含まれるが book-filtered.xml には含まれない文字列は PO ファイルに含まれ ず、翻訳者が翻訳を提供することができなくなります。そのため、これらの文字列は翻訳文書を作成 する際に変更されずに残されることになります。これは当然ながら翻訳水準を低下させるので、とに かく文書を確実に作成するために"--keep"オプションが必要になるかもしれません。
関連項目
po4a-gettextize(1)、po4a(7)。
著者
Denis Barbier <barbier@linuxfr.org> Nicolas François <nicolas.francois@centraliens.net> Martin Quinson (mquinson#debian.org)
訳者
倉澤 望 <nabetaro@debian.or.jp> Debian JP Documentation ML <debian-doc@debian.or.jp>
著作権とライセンス
Copyright 2002-2022 by SPI, inc. 本プログラムはフリーソフトウェアです。GPL の条項に基づき再頒布と変更を行うことができます (COPYING ファイルを参照してください)。