po4a - en to ja translation catalogue (956 entries)

note: type: Attribute 'xml:lang' of: <refentry>
en: en
ja: ja

note: type: Content of: <refentry><refnamediv><refpurpose>
en: display a translated man page according to a PO
ja: PO により翻訳された man ページを表示する

note: type: =head1
en: DESCRIPTION
ja: 説明

note: type: Content of: <refentry><refsect1><para>
en: Translators can use <command>po4a-display-man</command> to see how their translation of a man page will be rendered to the end users, without recompiling and reinstalling the whole project.
ja: 翻訳者は<command>po4a-display-man</command>を使って、manページの翻訳がどのようにエンドユーザに表示されるかを確認できます。これにはプロジェクト全体の再コンパイルと再インストールが要りません。

note: type: Content of: <refentry><refsect1><para>
en: This script only works with man pages written directly in <emphasis remap='I'>nroff</emphasis> and handled by the po4a's <emphasis remap='I'>man</emphasis> module.  Manual pages generated from other formats, like DocBook or POD, are not supported.  See <citerefentry><refentrytitle>po4a-display-pod</refentrytitle><manvolnum>1</manvolnum></citerefentry> for an equivalent supporting <emphasis remap='I'>POD</emphasis> documents.
ja: このスクリプトは直接<emphasis remap='I'>nroff</emphasis>で書かれたmanページでのみ動作します。また、このスクリプトはpo4aの<emphasis remap='I'>man</emphasis>モジュールによって制御されます。DocBook や POD など、ほかのフォーマットから生成したマニュアルページはサポートしていません。同じように <emphasis remap='I'>POD</emphasis> ドキュメントをサポートする <citerefentry><refentrytitle>po4a-display-pod</refentrytitle><manvolnum>1</manvolnum></citerefentry> を参照してください。

note: type: =head1
en: OPTIONS
ja: オプション

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: The PO file containing the translations.
ja: 翻訳を収録している PO ファイル。

note: .br type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: The original man page.  It can be the absolute or relative path to the original man page (gzipped or not), the name of the man page or the name and section of the man page (using the man.section format).  When the master document is not provided with the <option>-m</option> option, <command>po4a-display-man</command> tries to find the original man page based on the line reference of the first string in the PO.
ja: オリジナルの man ページです。オリジナル man ページ (gzip 圧縮または非圧縮) への絶対パスか相対パスを指定し、man ページの名前か、man ページの名前とセクション (man.section 形式を使用) で指定します。マスタードキュメントが <option>-m</option> オプションで与えられない場合、<command>po4a-display-man</command> は PO の最初の文字列の行参照からオリジナルの man ページを探そうとします。

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: Some options to pass to <citerefentry><refentrytitle>po4a-translate</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
ja: <citerefentry><refentrytitle>po4a-translate</refentrytitle><manvolnum>1</manvolnum></citerefentry> に渡すオプション。

note: type: =head1
en: SEE ALSO
ja: 関連項目

note: type: Content of: <refentry><refsect1><title>
en: AUTHOR
ja: 著者

note: type: Content of: <refentry><refnamediv><refpurpose>
en: display of a translated POD file according to a PO
ja: PO により翻訳済みの POD ファイルの表示

note: type: Content of: <refentry><refsect1><para>
en: Translators can use <command>po4a-display-pod</command> to see how their translation of a man page will be rendered to the end users, without recompiling and reinstalling the whole project.  Most of the time, the POD file is only available in source package or embedded in Perl script.
ja: 翻訳者は<command>po4a-display-pod</command>を使って、プロジェクト全体を再コンパイル・再インストールすることなく、翻訳したmanページがエンドユーザーにどのように表示されるのかを確認することができます。一般的に、POD ファイルはソースパッケージや Perl スクリプト内部に埋め込まれています。

note: type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
en: The original POD file used by po4a to generate PO file.
ja: po4a が PO ファイルを生成するのに使用するオリジナル POD ファイルです。

note: type: =head1
en: NAME
ja: 名前

note: type: textblock
en: po4a - update both the PO files and translated documents in one shot
ja: po4a - PO ファイルと翻訳済みドキュメントの両方を一括更新

note: type: =head1
en: SYNOPSIS
ja: 書式

note: type: textblock
en: po4a (PO for anything) eases the maintenance of documentation translation using the classical gettext tools. The main feature of po4a is that it decouples the translation of content from its document structure.  Please refer to the page L<po4a(7)> for a gentle introduction to this project.
ja: po4a (PO for anything) は従来のgettextツールを使った文書翻訳の保守作業を容易にします。po4aの主な特徴は内容の翻訳を文書構造から切り離すところにあります。このプロジェクトのやさしい導入についてはページL<po4a(7)>を参照してください。

note: type: textblock
en: Upon execution, B<po4a> parses all documentation files specified in its configuration file. It updates the PO files (containing the translation) to reflect any change to the documentation, and produce a translated documentation by injecting the content's translation (found in the PO files) into the structure of the original master document.
ja: 実行すると B<po4a>は設定ファイルで指定された全ての文書ファイルを解析します。（翻訳を含む）POファイルを更新して文書にあらゆる変更を反映し、元のマスター文書の構造に（POファイルで見付かった）内容の翻訳を注入することで翻訳文書を生成します。

note: type: textblock
en: At first, the PO files only contain the strings to translate from the original documentation. This file format allows the translators to manually provide a translation for each paragraph extracted by B<po4a>. If the documentation is modified after translation, B<po4a> marks the corresponding translations as "fuzzy" in the PO file to request a manual review by the translators. The translators can also provide so-called "addendum", that are extra content stating for example who did the translation and how to report bugs.
ja: 最初、POファイルには、元の文書からの翻訳すべき文字列のみが含まれています。このファイル形式により、B<po4a>が抽出した各段落に対して、翻訳者が手作業で翻訳を与えることができます。翻訳後に文書が変更された場合、B<po4a>は対応する翻訳をPOファイル内で「fuzzy」として印を付け、翻訳者による手動のレビューを要求します。翻訳者はいわゆる「補遺」を与えることもできます。これは例えば、誰が翻訳を行ったか、どのように誤りを報告するかなどを記載した追加内容です。

note: type: verbatim
en:  master documents ---+---->-------->---------+
      (doc authoring)    |                       |
                         V   (po4a executions)   >-----+--> translated
                         |                       |     |     documents
     existing PO files -->--> updated PO files >-+     |
          ^                            |               |
          |                            V               |
          +----------<---------<-------+               ^
           (manual translation process)                |
                                                       |
     addendum -->--------------------------------------+
ja:  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: 補遺

note: type: textblock
en: The workflow of B<po4a> is asynchronous, as suited to open-source projects. The documentation writers author the master documents at their own pace. The translators review and update the translations in the PO files. The maintainers rerun B<po4a> on need, to reflect any change to the original documentation to the PO files, and to produce updated documentation translations, by injecting the latest translation into the latest document structure.
ja: B<po4a>の作業工程は、オープンソースプロジェクトに相応しい非同期型です。文書の執筆者は自分のペースでマスター文書を作成します。翻訳者はPOファイルの翻訳をレビューし、更新します。保守者は必要に応じてB<po4a>を再実行し、元文書への変更をPOファイルに反映し、最新の文書構造に最新の翻訳を注入することによって、更新された文書の翻訳を生成します。

note: type: textblock
en: By default, a given translated document is produced when at least 80% of its content is translated. The untranslated text is kept in the original language.  The produced documentation thus mixes languages if the translation is not complete. You can change the 80% threshold with the I<--keep> option described below. Note however that discarding translations as soon as they are not 100% may be discouraging for the translators whose work will almost never be shown to the users, while showing "translations" that are too incomplete may be troubling for the end users.
ja: 既定では、翻訳文書はその内容の少なくとも80％が翻訳されたときに作成されます。翻訳されていないテキストは元の言語のまま残されます。そのため翻訳が完全でない場合、作成された文書には言語が混在することになります。80% のしきい値は、後述の I<--keep> オプションで変更することができます。ただし、100%でないと直ちに翻訳が無視されるのは、ほとんど利用者に見られないようになるため翻訳者の意欲をそぐかもしれませんし、一方であまりにも不完全な「翻訳」を表示するのはエンドユーザーが困ってしまうかもしれませんので、注意してください。

note: type: textblock
en: Storing the translated documentation files in the version control system is probably a bad idea, since they are automatically generated. The precious files are the PO files, that contain the hard work of your fellow translators. Also, some people find it easier to interact with the translators through an online platform such as S<weblate>, but this is naturally fully optional.
ja: 翻訳された文書ファイルをバージョン管理システムに保存するのは、自動生成されるもののためおそらく悪い考えでしょう。貴重なファイルはPOファイルであり、そこにこそ仲間の翻訳者達の苦労が詰まっているのです。また、S<weblate>などのオンラインプラットフォームで翻訳者と交流するのが楽だという人もいますが、これは当然ながら完全に任意です。

note: type: =head2
en: Quick start tutorial
ja: 早分かり入門

note: type: textblock
en: Let's assume you maintain a program named B<foo> which has a man page F<man/foo.1> written in English (the bridge language in most open-source projects, but B<po4a> can be used from or to any language). Some times ago, someone provided a German translation named F<man/foo.de.1> and disappeared.  This is a problem because you just got a bug report saying that your documentation contains a gravely misleading information that must be fixed in all languages, but you don't speak German so you can only modify the original, not the translation. Now, another contributor wants to contribute a translation to Japanese, a language that you don't master either.
ja: B<foo> という名前のプログラムを保守していて、そのプログラムには英語（ほとんどのオープンソースプロジェクトでの橋渡しとなる言語ですが、 B<po4a> はどの言語からでも、またどの言語へでも使えます）で書かれた man ページ F<man/foo.1> があるとしましょう。いつだったか、誰かが F<man/foo.de.1> という名前のドイツ語の翻訳を提供したなり立ち消えになったことがありました。ここで問題になっているのは、たった今文書にすべての言語で修正しなければならないような重大な誤解を招く情報が含まれているというバグ報告を受けましたが、ドイツ語を話せないので、翻訳ではなく元の文書を修正するしかないということです。そして今、別の貢献者がこれまた修得していない言語である日本語への翻訳を提供したいと言っています。

note: type: textblock
en: It is time to convert your documentation to B<po4a> to solve your documentation maintenance nightmares. You want to update the doc when needed, you want to ease the work of your fellow translators, and you want to ensure that your users never see any outdated and thus misleading documentation.
ja: 文書の保守の悪夢を解決するために、文書をB<po4a>に変換する時が来ました。必要なときに文書を更新したい、仲間の翻訳者達の作業を楽にしたい、そして、利用者が古くて誤解を招くような文書を目にすることがないようにしたい、そう思っていますよね。

note: type: textblock
en: The conversion includes two steps: setup the po4a infrastructure, and convert the previous German translation to salvage the previous work. This latter part is done using S<po4a-gettextize>, as follows. As detailed in the documentation of L<po4a-gettextize(1)>, this process rarely fully automatic, but once it's done, the B<de.po> file containing the German translation can be integrated in your po4a workflow.
ja: 変換には2つの工程が含まれます。po4aインフラの立ち上げと、以前のドイツ語翻訳を引き揚げるための変換です。この後者の部分は、以下のようにS<po4a-gettextize>を使用して行われます。L<po4a-gettextize(1)> のドキュメントに詳述されているように、この過程が完全に自動化されることは稀ですが、一度完了すればドイツ語翻訳を含む B<de.po> ファイルを po4a の作業工程に統合することができます。

note: type: textblock
en: Let's now configure po4a. With the appropriate file layout, your configuration file could be as simple as this:
ja: それではpo4aを設定しましょう。適切なファイル配置を使うと設定ファイルはこのように単純になります。

note: type: textblock
en: It specifies that all PO files (containing the work of the translators) are the F<man/po4a/> directory, and that you have only one master file, F<man/foo.1>. If you had several master files, you would have several lines similar to the second one. Each such line also specify where to write the corresponding translation files. Here, the German translation of F<man/foo.1> is in F<man/translated/foo.de.1>.
ja: これは、すべての（翻訳者の作業内容を含む）PO ファイルが F<man/po4a/> ディレクトリにあり、マスターファイルは F<man/foo.1> の 1 つだけであることを指定するものです。もし、複数のマスターファイルがあれば、2行目のような行がいくつもあることになります。このような行はそれぞれ、対応する翻訳ファイルをどこに書き込むかも指定します。ここでは、F<man/foo.1> のドイツ語訳は F<man/translated/foo.de.1> にあります。

note: type: textblock
en: The last thing we need to complete the configuration of B<po4a> is a POT file containing the template material that should be used to start a new translation.  Simply create an empty file with the S<.pot> extension in the specified S<po_directory> (e.g. F<man/po4a/foo.pot>), and B<po4a> will fill it with the expected content.
ja: B<po4a>の設定を完了するために最後に必要なものは、新しい翻訳を開始するために使用されるべきテンプレート材料を含むPOTファイルです。指定されたS<po_directory>の中にに拡張子S<.pot>の空のファイルを作成するだけです（例：F<man/po4a/foo.pot>）。そしてB<po4a>はその中に期待される内容を詰め込みます。

note: type: textblock
en: Here is a recap of the files in this setup:
ja: この立ち上げでのファイルについておさらいすると次のようになります。

note: type: verbatim
en:   ├── man/
      │   ├── foo.1        <- The original man page, in English.
      │   ├── po4a/
      │   │   ├── de.po    <- The German PO translation, from gettextization.
      │   │   └── foo.pot  <- The POT template of future translations (empty at first)
      │   └── translated/  <- Directory where the translations will be created
      └── po4a.cfg         <- The configuration file.
ja:   ├── man/
      │   ├── foo.1        <- 英語で書かれた元のmanページ
      │   ├── po4a/
      │   │   ├── de.po    <- gettextizationによるドイツ語訳のPO
      │   │   └── foo.pot  <- 将来の翻訳に向けたPOTテンプレート（最初は空）
      │   └── translated/  <- 翻訳が作られるディレクトリ
      └── po4a.cfg         <-設定ファイル

note: type: textblock
en: Once setup, executing B<po4a> will parse your documentation, update the POT template file, use it to update the PO translation files, and use them to update the documentation translation files. All in one command:
ja: 一度立ち上げれば、B<po4a>を実行すると、文書を解析し、POTテンプレートファイルを更新し、それを使ってPO翻訳ファイルを更新し、それを使って文書の翻訳ファイルを更新します。すべて1つのコマンドで。

note: type: textblock
en: This it. B<po4a> is now fully configured. Once you've fixed your error in F<man/foo.1>, the offending paragraph in the German translation will be replaced by the fixed text in English. Mixing languages is not optimal, but it's the only way to remove errors in translations that you don't even understand, and ensure that the content presented to the users is never misleading. Updating the German translation is also much easier in the corresponding PO file, so the language mix-up may not last long. Finally, when the Japanese translator gives you a S<jp.po> translated file, just drop it in F<man/po4a/po/>. A translated page will appear as F<man/translated/foo.jp.1> (provided that enough content is translated) when you run B<po4a> again.
ja: 以上です。B<po4a>は完璧に設定されました。F<man/foo.1>の誤りを修正したら、ドイツ語翻訳の問題のある段落は、英語の修正されたテキストに置き換えられるでしょう。言語を混ぜることは最適ではありませんが、自分でも理解できない翻訳の誤りを取り除き、利用者に提示する内容が決して誤解を招くものにならないようにするためには、これが唯一の方法なのです。対応するPOファイル中のドイツ語の翻訳を更新するのも遥かに簡単なので、言語の混在は長くは続かないでしょう。最後に、日本語の翻訳者が S<jp.po> の翻訳ファイルを渡してきたら、それを F<man/po4a/po/> に置くだけでいいのです。改めて B<po4a> を実行すると、翻訳されたページが F<man/translated/foo.jp.1> として現れます（充分に内容が翻訳されている場合に限ります）。

note: type: textblock
en: Minimal threshold for translation percentage to keep (i.e. write) the resulting file (default: 80). I.e. by default, files have to be translated at least at 80% to be written on disk.
ja: 生成するファイルを維持する（つまり書き出す）翻訳率の下限値（既定値：80）。言い換えると、既定では書き出されるために少なくとも 80％ は翻訳されディスク上に保存されていなければなりません。

note: type: textblock
en: Show a short help message.
ja: 短いヘルプメッセージを表示します。

note: type: textblock
en: Charset of the files containing the documents to translate. Note that all master documents must use the same charset.
ja: 翻訳文書を含むファイルで使われている文字セットです。すべてのマスター文書が、同じ文字セットを使用していなければならないことに注意してください。

note: type: textblock
en: Charset of the files containing the localized documents. Note that all translated documents will use the same charset.
ja: ローカライズされた文書を含む、ファイルで使われている文字セット。翻訳されたすべての文書は同じ文字セットを使用することに注意してください。

note: type: textblock
en: Charset of the addenda. Note that all the addenda should be in the same charset.
ja: 追加内容の文字セットです。追加内容では、すべて同じ文字セットを使用することに注意してください。

note: type: textblock
en: Display the version of the script and exit.
ja: スクリプトのバージョンを表示して終了します。

note: type: textblock
en: Increase the verbosity of the program.
ja: プログラムの冗長度を上げます。

note: type: textblock
en: Decrease the verbosity of the program.
ja: プログラムの冗長度を下げます。

note: type: textblock
en: Output some debugging information.
ja: デバッグ情報を出力します。

note: type: textblock
en: Extra option(s) to pass to the format plugin. See the documentation of each plugin for more information about the valid options and their meanings. For example, you could pass '-o tablecells' to the AsciiDoc parser, while the text parser would accept '-o tabs=split'.
ja: 書式プラグインに渡す追加オプションです。有効なオプションやその意味の詳細は、各プラグインの説明書を参照してください。例えば、AsciiDocパーサーには '-o tablecells' を、テキストパーサーには '-o tabs=split' を渡すことができます。

note: type: textblock
en: Always generate the POT and PO files, even if B<po4a> considers it is not necessary.
ja: 生成の必要はないと B<po4a> が判断した場合でも、常に POT ファイルと PO ファイルを生成します。

note: type: textblock
en: The default behavior (when B<--force> is not specified) is the following:
ja: デフォルトの動作 (B<--force> を指定しない場合) は以下のようになります:

note: type: textblock
en: If the POT file already exists, it is regenerated if a master document or the configuration file is more recent (unless B<--no-update> is provided).  The POT file is also written in a temporary document and B<po4a> verifies that the changes are really needed.
ja: POT ファイルが存在する場合、マスター文書や設定ファイルの方が新しければ（B<--no-update>が指定されている場合を除き）再生成を実行します。POT ファイルもまた一時文書に書き出され、変更が本当に必要かどうか B<po4a> が検証を行います。

note: type: textblock
en: Also, a translation is regenerated only if its master document, the PO file, one of its addenda or the configuration file is more recent.  To avoid trying to regenerate translations which do not pass the threshold test (see B<--keep>), a file with the F<.po4a-stamp> extension can be created (see B<--stamp>).
ja: また、マスタードキュメント、PO ファイル、追加内容のどれか、設定ファイルのいずれかが翻訳より新しい場合にのみ、翻訳を再生成します。しきい値に達しない翻訳を再生成しないように (B<--keep> を参照)、F<.po4a-stamp> 拡張子を持つファイルを作成します (B<--stamp> を参照)。

note: type: textblock
en: If a master document includes files, you should use the B<--force> flag because the modification time of these included files are not taken into account.
ja: マスタードキュメントがファイルをインクルードする場合、インクルードするファイルの更新時刻は考慮されないため、B<--force> フラグを使用するべきです。

note: type: textblock
en: The PO files are always re-generated based on the POT with B<msgmerge -U>.
ja: PO ファイルは、常に POT を元に B<msgmerge -U> で再生成されます。

note: type: textblock
en: Tells B<po4a> to create stamp files when a translation is not generated because it does not reach the threshold. These stamp files are named according to the expected translated document, with the F<.po4a-stamp> extension.
ja: 翻訳が閾値に到達せず生成されないとき、B<po4a> にスタンプファイルを作成するように指示します。このスタンプファイルは翻訳済みドキュメントが期待する名前に F<.po4a-stamp> 拡張子をつけた名前となります。

note: type: textblock
en: Note: This only activates the creation of the F<.po4a-stamp> files. The stamp files are always used if they exist, and they are removed with B<--rm-translations> or when the file is finally translated.
ja: 注意: これは F<.po4a-stamp> ファイルの作成を行うだけです。スタンプファイルは存在すれば使用され、B<--rm-translations> を指定した場合や、最終的にファイルの翻訳が完了した場合に削除されます。

note: type: textblock
en: Do not generate the translated documents, only update the POT and PO files.
ja: 翻訳済みドキュメントを生成せず、POT ファイルや PO ファイルの更新のみ行います。

note: type: textblock
en: Do not change the POT and PO files, only the translation may be updated.
ja: POT、POのファイルは変更せず、翻訳のみを更新することができます。

note: type: textblock
en: Keeps the existing translation files even if the translation doesn't meet the threshold specified by B<--keep>.  This option does not create new translation files with few content, but it will save existing translations which decay because of changes to the master files.
ja: 翻訳が B<--keep> で指定された閾値を満たしていない場合でも、既存の翻訳ファイルを保持します。 このオプションでは、内容の乏しい新しい翻訳ファイルは作成されませんが、マスターファイルへの変更のために陳腐化した既存の翻訳が保存されます。

note: type: textblock
en: WARNING: This flag changes the po4a behavior in a rather drastic way: your translated files will not get updated at all until the translation improves. Only use this flag if you prefer shipping an outdated translated documentation rather than only shipping an accurate untranslated documentation.
ja: 警告：このフラグは po4a の動作をかなり大幅に変更します。というのは、翻訳が改善されるまで、あなたの翻訳したファイルはまったく更新されないからです。正確な未翻訳の文書より、古びた翻訳文書のほうを世に出したい場合にのみ、このフラグを使用してください。

note: type: textblock
en: Remove the translated files (implies B<--no-translations>).
ja: 翻訳済みファイルを削除します (B<--no-translations> を暗に意味します)。

note: type: textblock
en: This flag does nothing since 0.41, and may be removed in later releases.
ja: このフラグは 0.41 から何もしなくなりました。また今後のリリースで削除される可能性があります。

note: type: textblock
en: Translate only the specified file.  It may be useful to speed up processing if a configuration file contains a lot of files.  Note that this option does not update PO and POT files.  This option can be used multiple times.
ja: 指定したファイルに対する翻訳のみ行います。設定ファイル内にファイルがたくさん指定されている場合、処理の高速化に役立つことでしょう。このオプションは、PO ファイルと POT ファイルの更新を行わないことに注意してください。このオプションは複数回指定できます。

note: type: textblock
en: Define a variable that will be expanded in the B<po4a> configuration file.  Every occurrence of I<$(var)> will be replaced by I<value>.  This option can be used multiple times.
ja: B<po4a> 設定ファイル内で展開する変数を定義します。現れるすべての I<$(var)> は、I<value> に置換されます。このオプションは複数回使用できます。

note: type: textblock
en: Set the base directory for all input documents specified in the B<po4a> configuration file.
ja: B<po4a> 設定ファイルで指定されたすべての入力文書に対する基底ディレクトリを指定します。

note: type: textblock
en: If both I<destdir> and I<srcdir> are specified, input files are searched in the following directories, in order: I<destdir>, the current directory and I<srcdir>. Output files are written to I<destdir> if specified, or to the current directory.
ja: l<destdir>とl<srcdir>の両方が指定された場合、入力ファイルはl<destdir>、現在のディレクトリ、l<srcdir>の順番で探索します。出力ファイルは、指定されていればl<destdir>に、そうでなければ現在のディレクトリに書き出されます。

note: type: textblock
en: Set the base directory for all the output documents specified in the B<po4a> configuration file (see B<--srcdir> above).
ja: B<po4a>の設定ファイルで指定されたすべての出力文書の基底ディレクトリを設定します（前述のB<--srcdir>を参照）。

note: type: =head2
en: Options modifying the POT header
ja: POTヘッダーを変更するオプション

note: type: textblock
en: Specify the reference format. Argument I<type> can be one of B<never> to not produce any reference, B<file> to only specify the file without the line number, B<counter> to replace line number by an increasing counter, and B<full> to include complete references (default: full).
ja: 参照形式を指定します。引数 I<type> は、いずれの参照も生成しない B<none>、ファイルを指定するのみで行番号を指定しない B<noline>、カウンタを増加させることで行番号を置き換える B<counter>、完全な参照を含む B<full> のいずれかを指定できます（既定値：full）。

note: type: =item
en: B<--wrap-po> B<no>|B<newlines>|I<number> (default: 76)
ja: B<--wrap-po> B<no>|B<newlines>|I<number>（既定値：76）

note: type: textblock
en: Specify how the po file should be wrapped. This gives the choice between either files that are nicely wrapped but could lead to git conflicts, or files that are easier to handle automatically, but harder to read for humans.
ja: poファイルの行の折り返し方法を指定します。これにより、適切に折り返されているがgitの競合につながる可能性のあるファイルか、もしくは自動的に処理しやすいものの人間にとっては読みにくいファイルかのいずれかを選択できます。

note: type: textblock
en: Historically, the gettext suite has reformatted the po files at the 77th column for cosmetics. This option specifies the behavior of po4a. If set to a numerical value, po4a will wrap the po file after this column and after newlines in the content. If set to B<newlines>, po4a will only split the msgid and msgstr after newlines in the content. If set to B<no>, po4a will not wrap the po file at all.  The reference comments are always wrapped by the gettext tools that we use internally.
ja: 歴史的な理由から、gettextスイートは整形を理由にpoファイルを77行目で折り返すことで再整形します。このオプションはpo4aの振舞いを指定するものです。数値が指定された場合、po4aはこの行中の位置以降にある内容中の改行箇所でpoファイルを折り返します。B<newlines>が指定された場合、po4aは内容中の改行箇所でのみmsgidとmsgstrを分割します。B<no>が指定された場合、po4aはpoファイルをまったく折り返しません。参照コメントはpo4aが内部的に用いるgettextツールによって常に折り返されます。

note: type: textblock
en: Note that this option has no impact on how the msgid and msgstr are wrapped, i.e.  on how newlines are added to the content of these strings.
ja: このオプションは、msgidとmsgstrの行の折り返し方法、すなわちこれらの文字列の内容に改行を追加する方法には影響しないことに注意してください。

note: type: textblock
en: Language of the source files containing the documents to translate. Note that all master documents must use the same language.
ja: 翻訳文書を含むソースファイルの言語。すべてのマスター文書が同じ言語を使用する必要があることに注意してください。

note: type: textblock
en: Set the report address for msgid bugs. By default, the created POT files have no Report-Msgid-Bugs-To fields.
ja: msgid のバグレポートを送るアドレスをセットします。デフォルトでは、生成した POT ファイルに Report-Msgid-Bugs-To フィールドはありません。

note: type: textblock
en: Set the copyright holder in the POT header. The default value is "Free Software Foundation, Inc."
ja: POT ヘッダの著作権者 (copyright holder) を設定します。既定値は "Free Software Foundation, Inc." です。

note: type: textblock
en: Set the package name for the POT header. The default is "PACKAGE".
ja: POT ヘッダのパッケージ名をセットします。デフォルト値は "PACKAGE" です。

note: type: textblock
en: Set the package version for the POT header. The default is "VERSION".
ja: POT ヘッダのパッケージバージョンをセットします。デフォルト値は "VERSION" です。

note: type: =head2
en: Options to modify the PO files
ja: PO ファイルを変更するオプション

note: type: textblock
en: Extra options for B<msgmerge>(1).
ja: B<msgmerge>(1) 用の追加オプションです。

note: type: textblock
en: Note: B<$lang> will be extended to the current language.
ja: 注意: B<$lang> は現在の言語へ展開されます。

note: type: textblock
en: This option removes B<--previous> from the options passed to B<msgmerge>.  This is necessary to support versions of B<gettext> earlier than 0.16.
ja: このオプションは、B<msgmerge> に渡すオプションから B<--previous> を削除します。これは0.16より前のB<gettext>のサポートに不可欠なものです。

note: type: textblock
en: This option adds B<--previous> to the options passed to B<msgmerge>.  It requires B<gettext> 0.16 or later, and is activated by default.
ja: このオプションは、B<msgmerge> に渡すオプションに B<--previous> を追加します。B<gettext> 0.16 以降が必要で、デフォルトで有効です。

note: type: =head1
en: CONFIGURATION FILE
ja: 設定ファイル

note: type: textblock
en: po4a expects a configuration file as argument. This file must contain the following elements:
ja: po4a は引数として設定ファイルを必要とします。このファイルには、次の要素が含まれている必要があります。

note: type: textblock
en: The path to the PO files and the list of languages existing in the project;
ja: POファイルのパスおよびプロジェクトに存在する言語のリスト、

note: type: textblock
en: Optionally, some global options and so-called configuration aliases that are used as templates to configure individual master files;
ja: オプションとして、いくつかの大域オプションと、個々のマスターファイルを設定するためのテンプレートとして使用される、いわゆる設定エイリアス、

note: type: textblock
en: The list of each master file to translate, along with specific parameters.
ja: 翻訳する各マスターファイルとそれぞれに指定する引数の一覧。

note: type: textblock
en: All lines contain a command between square braces, followed by its parameters.  Comments begin with the char '#' and run until the end of the line. You can escape the end of line to spread a command over several lines.
ja: 各行は角括弧で囲まれた命令とその後に続く引数で構成されています。 コメントは文字 '#' で始まり行末まで続きます。行末をエスケープすることで複数行にわたる命令を書けます。

note: type: textblock
en: Some full examples are presented on this page, while other examples can be found in the C<t/cfg> directory of the source distribution.
ja: このページでは、いくつかの完全な例を紹介していますが、他の例はソース配布物のC<t/cfg>ディレクトリにあります。

note: type: =head2
en: Finding the PO and POT files
ja: POファイルとPOTファイルの探索

note: type: textblock
en: The simplest solution is to explicitly give the path to POT and PO files, as follows:
ja: 最も簡単な方法は、以下のようにPOTとPOのファイルへのパスを明示的に指定することです。

note: type: textblock
en: This specifies the path to the POT file first, and then the paths to the German and French PO files.
ja: ここではまずPOTファイルへのパスを指定し、次にドイツ語とフランス語のPOファイルへのパスを指定しています。

note: type: textblock
en: The same information can be written as follows to reduce the risk of copy/paste errors:
ja: 同じ意味ですが、コピーアンドペーストでのミスを軽減するために、以下のように書くこともできます。

note: type: textblock
en: The C<$lang> component is automatically expanded using the provided languages list, reducing the risk of copy/paste error when a new language is added.
ja: C<$lang> 構成要素は、与えられた言語一覧から自動的に展開されるため、新しい言語を追加する際のコピーアンドペーストでのミスの発生を軽減できます。

note: type: textblock
en: You can further compact the same information by only providing the path to the directory containing your translation project, as follows.
ja: 以下のように、翻訳プロジェクトを含むディレクトリへのパスを提供するだけで、同じ情報をさらに簡潔にすることができます。

note: type: textblock
en: The provided directory must contain a set of PO files, each named F<XX.po> with C<XX> the ISO 639-1 of the language used in this file. The directory must also contain a single POT file, with the C<.pot> file extension. For the first run, this file can be empty but it must exist (po4a cannot guess the name to use before the extension).
ja: 与えられたディレクトリには、いくつかのPOファイルが含まれていなければなりません。それぞれのファイル名はF<XX.po>で、C<XX>はこのファイルで使用されている言語のISO 639-1形式にしたがったものです。また、ディレクトリには、C<.pot>という拡張子を持つPOTファイルが1つ含まれていなければなりません。初回実行時には、このファイルは中身が空でも構いませんが、必ず存在しなければなりません（po4aは拡張子の前の部分を推測することはできません）。

note: type: textblock
en: Note that you must choose only one between C<po_directory> and C<po4a_paths>. The first one (C<po_directory>) is more compact, further reduces the risk of copy/paste error, but forces you to use the expected project structure and file names. The second one (C<po4a_paths>), is more explicit, probably more readable, and advised when you setup your first project with po4a.
ja: C<po_directory> と C<po4a_paths> のどちらか一方だけを選択する必要があることに注意してください。前者（C<po_directory>）は、より簡素で、コピー＆ペーストエラーの危険を低減しますが、規定通りのプロジェクト構造とファイル名を使用する必要があります。後者(C<po4a_paths>)はより明示的で、おそらくより読みやすいので、最初にpo4aでプロジェクトを立ち上げるときはこちらをお勧めします。

note: type: =head3
en: Centralized or split PO files?
ja: POファイルは一元化すべきか、もしくは分割すべきか？

note: type: textblock
en: By default, po4a produces one single PO file per target language, containing the whole content of your translation project. As your project grows, the size of these files may become problematic. When using weblate, it is possible to specify priorities for each translation segment (i.e., msgid) so that the important ones get translated first. Still, some translation teams prefer to split the content in several files.
ja: 既定では、po4aは翻訳プロジェクトの全内容を含む、対象言語ごとに1つのPOファイルを生成します。プロジェクトが大きくなると、これらのファイルの大きさが問題になることがあります。Weblateを使用する場合、各翻訳区分（つまりmsgid）に優先順位を指定し、重要なものから順に翻訳することが可能です。それでも、翻訳チームは内容をいくつかのファイルに分割することを好むことがあります。

note: type: textblock
en: To have one PO file per master file, you simply have to use the string C<$master> in the name of your PO files on the C<[po4a_paths]> line, as follows.
ja: マスターファイルごとに1つのPOファイルがあるようにするには、以下のように、C<[po4a_paths]> 行でPOファイルの名前に文字列 C<$master> を使うだけです。

note: type: textblock
en: With this line, po4a will produce separate POT and PO files for each document to translate.  For example, if you have 3 documents and 5 languages, this will result in 3 POT files and 15 PO files. These files are named as specified on the C<po4a_paths> template, with C<$master> substituted to the basename of each document to translate. In case of name conflict, you can specify the POT file to use as follows, with the C<pot=> parameter.
ja: この行によってpo4aは翻訳する文書ごとにそれぞれPOTファイルとPOファイルを作成します。例えば3つの文書と5つの言語がある場合、3つのPOTファイルと15のPOファイルになります。これらのファイルは C<po4a_paths> テンプレートで指定された名前になり、 C<$master> は翻訳するそれぞれの文書の基幹名に置き換えられます。名前が衝突した場合はPOTファイルで以下のように C<pot=> 引数を使って指定できます。

note: type: textblock
en: This feature can also be used to group several translated files into the same POT file. The following example only produces 2 POT files: F<l10n/po/foo.pot> (containing the material from F<foo/gui.xml>) and F<l10n/po/bar.pot> (containing the material from both F<bar/gui.xml> and F<bar/cli.xml>).
ja: この機能は、複数の翻訳ファイルを同じ POT ファイルにまとめることにも使用できます。次の例では、2つのPOTファイルだけが生成されます。F<l10n/po/foo.pot>（F<foo/gui.xml>由来の翻訳材料を含む）と F<l10n/po/bar.pot>（F<bar/gui.xml> と F<bar/cli.xml> の両方の翻訳材料を含む）です。

note: type: textblock
en: In split mode, B<po4a> builds a temporary compendium during the PO update, to share the translations between all the PO files. If two PO files have different translations for the same string, B<po4a> will mark this string as fuzzy and will submit both translations in all the PO files containing this string. When unfuzzied by the translator, the translation is automatically used in every PO files.
ja: 分割モードでは、B<po4a> は PO の更新中に一時的な大枠を構築し、すべての PO ファイル間で翻訳を共有します。2つのPOファイルが同じ文字列に対して異なる翻訳を持つ場合、B<po4a>はこの文字列をファジーとして印を付け、この文字列を含むすべてのPOファイルにおいて両方の翻訳を提示します。翻訳者によってファジーが解除されると、その翻訳がすべての PO ファイルで自動的に使用されます。

note: type: =head2
en: Specifying the documents to translate
ja: 翻訳するドキュメントの指定

note: type: textblock
en: You must also list the documents that should be translated. For each master file, you must specify the format parser to use, the location of the translated document to produce, and optionally some configuration. Here is an example:
ja: また、翻訳すべき文書を一覧にする必要があります。それぞれのマスター文書について、使用する形式のパーサ、翻訳された文書を生成する場所、そして任意で追加の設定を指定しなければいけません。以下に一例を示します。

note: type: textblock
en: But again, these complex lines are difficult to read and modify, e.g. when adding a new language. It is much simpler to reorganize things using the C<$lang> template as follows:
ja: しかし繰り返しになりますが、これらの複雑な行は読んだり変更したりするのが難しいです。例えば新しい言語を追加するときなどです。そこで C<$lang> テンプレートを使って以下のようにまとめ直すとより簡素になります。

note: type: =head2
en: Specifying options
ja: オプションの指定

note: type: textblock
en: There is two types of options: I<po4a options> are default values to the po4a command line options while I<format options> are used to change the behavior of the format parsers. As a I<po4a options>, you could for example specify in your configuration file that the default value of the B<--keep> command line parameter is 50% instead of 80%. I<Format options> are documented on the specific page of each parsing module, e.g. L<Locale::Po4a::Xml(3pm)>. You could for example pass B<nostrip> to the XML parser to not strip the spaces around the extracted strings.
ja: オプションには2種類あります。I<po4aオプション>はpo4aコマンドラインオプションの既定値であり、I<形式オプション>は形式の構文解析器の動作を変更するために使用されます。I<po4a オプション> として、例えば、B<--keep> コマンドラインパラメータの既定値を 80% ではなく 50% にすることを設定ファイルに指定することができます。I<形式オプション>は各構文解析モジュールの個別のページ、例えばL<Locale::Po4a::Xml(3pm)>に記載されています。例えば、B<nostrip>をXMLパーサーに渡すと、抽出された文字列の周りのスペースを取り除かないようにすることができます。

note: type: textblock
en: You can pass these options for a specific master file, or even for a specific translation of that file, using C<opt:> and C<opt_XX:> for the C<XX> language.  In the following example, the B<nostrip> option is passed to the XML parser (for all languages), while the threshold will be reduced to 0% for the French translation (that is thus always kept).
ja: これらのオプションは特定のマスターファイルに対して、あるいはそのファイルの特定の翻訳に対して、C<opt:> と C<opt_XX:> を使って C<XX> 言語に渡すことができます。次の例では、B<nostrip>オプションが（すべての言語に対して）XML構文解析器に渡される一方で、フランス語翻訳に対しては閾値が0％に減じられています（したがって、翻訳は常に維持されます）。

note: type: textblock
en: In any case, these configuration chunks must be located at the end of the line.  The declaration of files must come first, then the addendum if any (see below), and then only the options. The grouping of configuration chunks is not very important, since elements are internally concatenated as strings. The following examples are all equivalent:
ja: いずれにせよ、これらの設定の各区切りは行末に配置しなければなりません。ファイルの宣言が最初に来て、次に補遺があればそれを（後述）、そしてオプションだけが来るようにしなければなりません。設定の各区切りの集合化は、内部的には文字列として連結されるためあまり重要ではありません。以下の例はすべて等価です。

note: type: textblock
en: Note that language specific options are not used when building the POT file. It is for example impossible to pass B<nostrip> to the parser only when building the French translation, because the same POT file is used to update every languages. So the only options that can be language-specific are the ones that are used when producing the translation, as the C<--keep> option.
ja: 言語固有のオプションは、POT ファイルを構築するときには使用されないことに注意してください。例えば、フランス語の翻訳を構築するときだけ構文解析器に B<nostrip> を渡すことは不可能です。なぜなら、同じ POT ファイルがすべての言語を更新するために使われるからです。したがって言語固有のオプションは、C<--keep>オプションのように、翻訳を作成するときに使用されるものだけです。

note: type: =head3
en: Configuration aliases
ja: 設定ファイルのエイリアス

note: type: textblock
en: To pass the same options to several files, the best is to define a type alias as follows. In the next example, C<--keep 0> is passed to every Italian translation using this C<test> type, that is an extension of the C<man> type.
ja: 同じオプションを複数のファイルに渡すには、次のように型の別名を定義するのが一番です。次の例では、C<--keep 0> がC<man> 型の拡張であるこの C<test> 型を使用するすべてのイタリア語翻訳に渡されています。

note: type: textblock
en: You can also extend an existing type reusing the same name for the alias as follows. This is not interpreted as as an erroneous recursive definition.
ja: また、以下のように既存の型を拡張し、別名に同じ名前を再利用することも可能です。これは、誤った再帰的定義として解釈されることはありません。

note: type: =head3
en: Global default options
ja: 大域的な既定のオプション

note: type: textblock
en: You can also use C<[options]> lines to define options that must be used for all files, regardless of their type.
ja: また、C<[options]>行を使用し、ファイルの種類に関係なく、すべてのファイルに対して使用しなければならないオプションを定義することができます。

note: type: textblock
en: As with the command line options, you can abbreviate the parameters passed in the configuration file:
ja: コマンドラインオプションと同様に、設定ファイルに渡される引数を略すことができます。

note: type: =head3
en: Option priorities
ja: オプションの優先順位

note: type: textblock
en: The options of every sources are concatenated, ensuring that the default values can easily be overridden by more specific options. The order is as follows:
ja: 各ソースのオプションを連結し、既定値をより具体的なオプションで簡単に上書きできるようになっています。その順序は以下の通りです。

note: type: textblock
en: C<[options]> lines provide default values that can be overridden by any other source.
ja: C<[options]>行は、他のソースで上書き可能な既定値を提供します。

note: type: textblock
en: Type aliases are then used. Language specific settings override the ones applicable to all languages.
ja: 種類の別名が使用されます。言語固有の設定は、すべての言語に適用される設定より優先されます。

note: type: textblock
en: Settings that are specific to a given master file override both the default ones and the ones coming from the type alias. In this case also, language specific settings override the global ones.
ja: 特定のマスターファイルに固有の設定は、既定の設定と種類の別名に由来する設定の両方を上書きします。この場合、言語固有の設定は大域的な設定より優先されます。

note: type: textblock
en: Finally, parameters provided on the B<po4a> command line override any settings from the configuration file.
ja: 最後に、B<po4a>コマンドラインで提供される引数は、設定ファイルの設定を上書きします。

note: type: =head3
en: Example
ja: 例

note: type: textblock
en: Here is an example showing how to quote the spaces and quotes:
ja: ここでは、空白と引用符の使い分けを示す例を示します。

note: type: =head2
en: Addendum: Adding extra content in the translation
ja: 補遺：翻訳に追記する

note: type: textblock
en: If you want to add an extra section to the translation, for example to give credit to the translator, then you need to define an addendum to the line defining your master file. Please refer to the page L<po4a(7)> for more details on the syntax of addendum files.
ja: もし、翻訳者のクレジットを加えるなど、翻訳に追加の節を追加したい場合は、マスターファイルで定まる行に補遺ファイルを定義する必要があります。補遺ファイルの構文についてより詳しくは、L<po4a(7)> ページを参照してください。

note: type: textblock
en: You can also use language templates as follow:
ja: また、以下のように言語テンプレートを使用することも可能です。

note: type: textblock
en: If an addendum fails to apply, the translation is discarded.
ja: 補遺の適用に失敗したら、その翻訳は無視されます。

note: type: =head3
en: Modifiers for the addendum declaration
ja: 補遺の宣言用の修飾子

note: type: textblock
en: Addendum modifiers can simplify the configuration file in the case where not all languages provide an addendum, or when the list of addenda changes from one language to the other. The modifier is a single char located before the file name.
ja: 補遺修飾子は、すべての言語では補遺を提供していない場合や、補遺の一覧がある言語と別の言語とで変わってくる場合に、構成ファイルを単純化できます。修飾子は、ファイル名の前にある単一の文字です。

note: type: textblock
en: Include I<addendum_path> if this file does exist, otherwise do nothing.
ja: ファイルが存在する場合 I<addendum_path> を含めます。なければ何もしません。

note: type: textblock
en: I<addendum_path> is not a regular addendum but a file containing a list of addenda, one by line.  Each addendum may be preceded by modifiers.
ja: I<addendum_path> は通常の追加内容ファイルではなく、追加内容ファイルのリスト (1 行 1 ファイル) です。各追加内容ファイルの前に修飾子を追加できます。

note: type: textblock
en: I<addendum_path> is discarded, it is not loaded and will not be loaded by any further addendum specification.
ja: I<addendum_path> は読み込まれません。また、その他の追加内容で読み込まれるように指定してあっても読み込まれません。

note: type: textblock
en: The following includes an addendum in any language, but if only it exists. No error is reported if the addendum does not exist.
ja: 以下では存在する場合にのみいかなる言語においても補遺を含みます。補遺が存在しない場合、エラーは報告されません。

note: type: textblock
en: The following includes a list of addendum for every language:
ja: 以下には各言語向けの補遺の一覧が含まれます。

note: type: =head2
en: Filtering the translated strings
ja: 翻訳する文字列の選別

note: type: textblock
en: Sometimes, you want to hide some strings from the translation process. To that extend, you can give a C<pot_in> parameter to your master file to specify the name of the file to use instead of the real master when building the POT file. Here is an example:
ja: 時には、翻訳過程でいくつかの文字列を隠したいことがあります。そのために、マスターファイルにC<pot_in>引数を与えて、POTファイルを構築するときに本当のマスターの代わりに使用するファイルの名前を指定することができます。以下はその例です。

note: type: textblock
en: With this setting, the strings to translate will be extracted from the F<book-filtered.xml> (that must be produced before calling B<po4a>) while the translated files will be built from F<book.xml>. As a result, any string that is part of F<book.xml> but not in F<book-filtered.xml> will not be included in the PO files, preventing the translators from providing a translation for them. So these strings will be left unmodified when producing the translated documents.  This naturally decreases the level of translation, so you may need the C<--keep> option to ensure that the document is produced anyway.
ja: この設定により、翻訳される文字列はF<book-filtered.xml>（B<po4a>を呼び出す前に生成されなければなりません）から抽出され、翻訳ファイルはF<book.xml>から構築されることになります。その結果、F<book.xml> には含まれるが F<book-filtered.xml> には含まれない文字列は PO ファイルに含まれず、翻訳者が翻訳を提供することができなくなります。そのため、これらの文字列は翻訳文書を作成する際に変更されずに残されることになります。これは当然ながら翻訳水準を低下させるので、とにかく文書を確実に作成するためにC<--keep>オプションが必要になるかもしれません。

note: type: textblock
en: L<po4a-gettextize(1)>, L<po4a(7)>.
ja: L<po4a-gettextize(1)>、L<po4a(7)>。

note: type: =head1
en: AUTHORS
ja: 著者

note: type: =head1
en: COPYRIGHT AND LICENSE
ja: 著作権とライセンス

note: type: textblock
en: This program is free software; you may redistribute it and/or modify it under the terms of GPL (see the COPYING file).
ja: 本プログラムはフリーソフトウェアです。GPL の条項に基づき再頒布と変更を行うことができます (COPYING ファイルを参照してください)。

note: type: textblock
en: po4a-gettextize - convert an original file (and its translation) to a PO file
ja: po4a-gettextize - オリジナルファイル (とその翻訳) を PO ファイルに変換

note: type: textblock
en: (I<XX.po> is the output, all others are inputs)
ja: (I<XX.po> は出力ファイル。その他すべては入力ファイル)

note: type: textblock
en: The B<po4a-gettextize> script helps you converting your previously existing translations into a po4a-based workflow. This is only to be done once to salvage an existing translation while converting to po4a, not on a regular basis after the conversion of your project. This tedious process is explained in details in Section 'Converting a manual translation to po4a' below.
ja: B<po4a-gettextize>スクリプトは、既存の翻訳をpo4aベースの作業工程で使えるものに変換するのに役立ちます。この作業はプロジェクトでの変換作業後に定期的に行うものではなく、po4aへの変換中に既存の翻訳を拾い上げる際に一度だけ行う必要があります。この手間の掛かる作業については、以下の節「手動翻訳をpo4aに変換する」で詳しく説明します。

note: type: textblock
en: You must provide both a master file (e.g., the source in English) and an existing translated file (e.g., a previous translation attempt without po4a). If you provide more than one master or translation files, they will be used in sequence, but it may be easier to gettextize each page or chapter separately and then use B<msgmerge> to merge all produced PO files. As you wish.
ja: マスターファイル（例：英語のソース）と既存の翻訳ファイル（例：po4a を使わずに以前に翻訳を試みたもの）の両方を与える必要があります。複数のマスターファイルや翻訳ファイルを与えた場合、それらは順番に使用されます。しかし各ページや章を別々に gettextize したのち、 B<msgmerge> を使用して生成されたすべての PO ファイルを統一する方が簡単かもしれません。お好きなように。

note: type: textblock
en: If the master document has non-ASCII characters, the new generated PO file will be in UTF-8. If the master document is completely in ASCII, the generated PO will use the encoding of the translated input document.
ja: マスター文書に非 ASCII 文字が含まれる場合、生成した PO ファイルは UTF-8 となります。もしマスター文書が完全に ASCII の場合、生成した PO ファイルは入力された翻訳文書のエンコーディングを使います。

note: type: textblock
en: Format of the documentation you want to handle. Use the B<--help-format> option to see the list of available formats.
ja: 扱うドキュメントのフォーマットです。有効なフォーマットの一覧を見るには、B<--help-format> オプションを使用してください。

note: type: textblock
en: File containing the master document to translate. You can use this option multiple times if you want to gettextize multiple documents.
ja: 翻訳するマスタードキュメントのファイルです。複数のドキュメントを gettext 化する場合は、このオプションを複数回使用してください。

note: type: textblock
en: Charset of the file containing the document to translate.
ja: 翻訳するドキュメントファイルの文字セットです。

note: type: textblock
en: File containing the localized (translated) document. If you provided multiple master files, you may wish to provide multiple localized file by using this option more than once.
ja: 地域化 (翻訳済み) ドキュメントのファイル。マスターに複数のファイルを指定する場合、このオプションを複数回使って、複数の地域化ファイルを指定してください。

note: type: textblock
en: Charset of the file containing the localized document.
ja: 地域化ドキュメントファイルの文字セットです。

note: type: textblock
en: File where the message catalog should be written. If not given, the message catalog will be written to the standard output.
ja: メッセージカタログが書き出されるファイルです。与えられない場合、メッセージカタログを標準出力に書き出します。

note: type: textblock
en: List the documentation formats understood by po4a.
ja: po4a が理解できるドキュメントフォーマットの一覧を表示します。

note: type: textblock
en: Keep the temporary master and localized POT files built before merging.  This can be useful to understand why these files get desynchronized, leading to gettextization problems
ja: 統合する前にビルドした一時的なマスターファイルとローカライズされた POT ファイルは控えておいてください。なぜこれらのファイルが同期されず、gettextizationの問題につながったのかを理解するのに役立つためです

note: type: =head2
en: Converting a manual translation to po4a
ja: 手動の翻訳をpo4aに変換する

note: type: textblock
en: B<po4a-gettextize> synchronizes the master and localized files to extract their content into a PO file. The content of the master file gives the B<msgid> while the content of the localized file gives the B<msgstr>. This process is somewhat fragile: the Nth string of the translated file is supposed to be the translation of the Nth string in the original.
ja: B<po4a-gettextize>はマスターファイルとローカライズファイルを同期させ、その内容をPOファイルに抽出します。マスターファイルの内容が B<msgid> となり、ローカライズされたファイルの内容が B<msgstr> となります。この工程はどこかしら頼りないところがあります。翻訳されたファイルの N 番目の文字列は、元の N 番目の文字列の翻訳であることが前提となっているのです。

note: type: textblock
en: Gettextization works best if you manage to retrieve the exact version of the original document that was used for translation. Even so, you may need to fiddle with both master and localized files to align their structure if it was changed by the original translator, so working on files' copies is advised.
ja: gettextization は、翻訳に使用された元文書の正確なバージョンをなんとかして取得することができれば、一番うまくいきます。それでも、元の翻訳者によって構造が変更された場合、マスターファイルとローカライズされたファイルの両方をいじって構造を揃える必要がある場合があります。そのためファイルの複製を取って作業することをお勧めします。

note: type: textblock
en: Internally, each po4a parser reports the syntactical type of each extracted strings. This is how desynchronization are detected during the gettextization.  In the example depicted below, it is very unlikely that the 4th string in translation (of type 'chapter') is the translation of the 4th string in original (of type 'paragraph'). It is more likely that a new paragraph was added to the original, or that two original paragraphs were merged together in the translation.
ja: 内部的には、それぞれのpo4aの構文解析器は抽出された文字列の構文種別を報告します。これは、gettextizationの際に非同期が検出される方法です。下の例では、翻訳中の4番目の文字列（種別 'chapter'）が、原文の4番目の文字列（種別'paragraph'）の翻訳である可能性は非常に低いでしょう。原文に新しい段落が追加されたか、原文の2つの段落が翻訳時に統合された可能性が高いです。

note: type: verbatim
en:     Original         Translation
ja:     オリジナル       翻訳

note: type: verbatim
en:   chapter            chapter
        paragraph          paragraph
        paragraph          paragraph
        paragraph        chapter
      chapter              paragraph
        paragraph          paragraph
ja:   章                 章
        段落               段落
        段落               段落
        段落             章
      章                   段落
        段落               段落

note: type: textblock
en: B<po4a-gettextize> will verbosely diagnose any structure desynchronization. When this happens, you should manually edit the files to add fake paragraphs or remove some content here and there until the structure of both files actually match. Some tricks are given below to salvage the most of the existing translation while doing so.
ja: B<po4a-gettextize>は構造の非同期箇所を冗長に診断します。この場合、両方のファイルの構造が実際に一致するまで、手動でファイルを編集し、張りぼての段落を追加したり、あちこちの内容を削除したりする必要があります。その際、既存の翻訳を最大限活用するためのいくつかのコツを以下に示します。

note: type: textblock
en: If you are lucky enough to have a perfect match in the file structures out of the box, building a correct PO file is a matter of seconds. Otherwise, you will soon understand why this process has such an ugly name :) Even so, gettextization often remains faster than translating everything again. I gettextized the French translation of the whole Perl documentation in one day despite the I<many> synchronization issues. Given the amount of text (2Mb of original text), restarting the translation without first salvaging the old translations would have required several months of work. In addition, this grunt work is the price to pay to get the comfort of po4a. Once converted, the synchronization between master documents and translations will always be fully automatic.
ja: もし幸運にもファイル構造が完全に一致するのであれば、正しいPOファイルを作るのには数秒しか掛かりません。そうでない場合は、このプロセスがなぜこのような醜い名前を付けられているのか、すぐに理解できるでしょう :) それでも、すべてを翻訳し直すより、gettextization の方が速いことがしばしばです。私は、I<多くの> 同期の問題があったにもかかわらず、1 日で Perl の文書全体のフランス語翻訳を gettextize しました。テキストの量（原文 2Mb ）を考えると、まず古い翻訳から拾い上げることなく翻訳を再開すると、数ヶ月の作業が必要だったでしょう。さらに、この手間のかかる作業は、po4aの快適さを手に入れるための代償でもあるのです。一度変換してしまえば、マスター文書と翻訳の同期はいつも完全に自動で行われます。

note: type: textblock
en: After a successful gettextization, the produced documents should be manually checked for undetected disparities and silent errors, as explained below.
ja: gettextizationに成功したら、以下に説明するように、生成された文書に未検出の不一致や表面化していない誤りがないか手作業で検査する必要があります。

note: type: =head3
en: Hints and tricks for the gettextization process
ja: gettextization の工程のヒントとコツ

note: type: textblock
en: The gettextization stops as soon as a desynchronization is detected. When this happens, you need to edit the files as much as needed to re-align the files' structures. B<po4a-gettextize> is rather verbose when things go wrong. It reports the strings that don't match, their positions in the text, and the type of each of them. Moreover, the PO file generated so far is dumped as F<gettextization.failed.po> for further inspection.
ja: 非同期箇所が検出されると同時に、gettextizationは停止します。このような場合、ファイルの構造を再調整するために必要なだけのファイルを編集する必要があります。B<po4a-gettextize> は、うまくいかないときにはかなり口数が多くなります。一致しない文字列とその位置、そしてそれぞれの型が報告されます。さらに、これまでに生成された PO ファイルは F<gettextization.failed.po> として吐き出され、さらに詳しく調べられるようになっています。

note: type: textblock
en: Here are some tricks to help you in this tedious process and ensure that you salvage the most of the previous translation:
ja: ここでは、この面倒な作業をお手伝いするために、前回の翻訳を最大限に生かすためのコツをご紹介します。

note: type: textblock
en: Remove all extra content of the translations, such as the section giving credits to the translators. They should be added separately to B<po4a> as addendas (see L<po4a(7)>).
ja: 翻訳者のクレジットを示す節など、翻訳の余分な内容をすべて削除してください。これらはB<po4a>にaddendasとして別途追加してください（L<po4a(7)>を参照）。

note: type: textblock
en: When editing the files to align their structures, prefer editing the translation if possible. Indeed, if the changes to the original are too intrusive, the old and new versions will not be matched during the first po4a run after gettextization (see below). Any unmatched translation will be dumped anyway.  That being said, you still want to edit the original document if it's too hard to get the gettextization to proceed otherwise, even if it means that one paragraph of the translation is dumped. The important thing is to get a first PO file to start with.
ja: ファイルを編集して構造を揃える場合、可能であれば翻訳を編集するのが望ましいです。実際、元文書への変更があまりにも割り込んでくる場合、gettextization後の最初のpo4a実行時に新旧バージョンが噛み合いません（下記参照）。噛み合わない翻訳はいずれにせよ切り落とされます。とはいえ、gettextizationを進めるのが難しい場合は、翻訳の1段落が切り落とされることになっても、元の文書を編集したいものです。重要なのは、まず最初のPOファイルを手に入れることです。

note: type: textblock
en: Do not hesitate to kill any original content that would not exist in the translated version. This content will be automatically reintroduced afterward, when synchronizing the PO file with the document.
ja: 翻訳版には存在しない元の内容は遠慮なく削除してください。この内容はその後、POファイルと文書を同期させる際に自動的に再導入されます。

note: type: textblock
en: You should probably inform the original author of any structural change in the translation that seems justified. Issues in the original document should reported to the author. Fixing them in your translation only fixes them for a part of the community. Plus, it is impossible to do so when using po4a ;) But you probably want to wait until the end of the conversion to B<po4a> before changing the original files.
ja: 翻訳の構造的な変更が正当化されると思われる場合は、おそらく原著者に報告すべきです。原文にある問題は、原作者に報告すべきです。翻訳側で修正しても、コミュニティの一部で修正されるだけです。さらに、po4aを使用している場合は、そうすることは不可能です ;)しかし、B<po4a>への変換が終わるまで待ってから、元のファイルが変更されてほしいかもしれません。

note: type: textblock
en: Sometimes, the paragraph content does match, but not their types. Fixing it is rather format-dependent. In POD and man, it often comes from the fact that one of them contains a line beginning with a white space while the other does not.  In those formats, such paragraph cannot be wrapped and thus become a different type. Just remove the space and you are fine. It may also be a typo in the tag name in XML.
ja: 時には、段落の内容は一致するけれども、型があわない場合があります。その修正法はフォーマットに依存します。POD や man では、片方の行は空白で始まっているのに、もう片方はそうではない、ということが実際にあります。こういったフォーマットでは、そのような段落は改行できず、別の型となります。そのようなときは空白を削除してください。XMLの場合ではおそらくタグ名のタイプミスでしょう。

note: type: textblock
en: Likewise, two paragraphs may get merged together in POD when the separating line contains some spaces, or when there is no empty line between the B<=item> line and the content of the item.
ja: 同様に、POD では、分割行に空白が入っていたり、B<=item> 行と item の内容の間に空行がない場合、二つの段落を一つにまとめてしまいます。

note: type: textblock
en: Sometimes, the desynchronization message seems odd because the translation is attached to the wrong original paragraph. It is the sign of an undetected issue earlier in the process. Search for the actual desynchronization point by inspecting the file F<gettextization.failed.po> that was produced, and fix the problem where it really is.
ja: 翻訳が間違った元の段落に添付されているため、非同期箇所の文言が奇妙に見えることがあります。これは、工程の早い段階で検出されていない問題があったことを示すものです。生成されたファイル F<gettextization.failed.po> を検査することによって実際の非同期的な箇所を探し、本当にあるべきところにあるように直します。

note: type: textblock
en: Other issues may come from duplicated strings in either the original or translation. Duplicated strings are merged in PO files, with two references.  This constitutes a difficulty for the gettextization algorithm, that is a simple one to one pairing between the B<msgid>s of both the master and the localized files. It is however believed that recent versions of po4a deal properly with duplicated strings, so you should report any remaining issue that you may encounter.
ja: その他の問題としては、原文または訳文のいずれかに重複する文字列があることが考えられます。重複した文字列は PO ファイルに統合され、2 つの参照先を持ちます。これは、マスターとローカライズの両ファイルの B<msgid>s を1対1で対応させるという単純な gettextization アルゴリズムにとって難題となります。しかし、最近のバージョンの po4a は重複した文字列を適切に処理していると思われますので、問題が残っている場合は報告するべきです。

note: type: =head2
en: Reviewing files produced by B<po4a-gettextize>
ja: B<po4a-gettextize>が生成したファイルを確認する

note: type: textblock
en: Any file produced by B<po4a-gettextize> should be manually reviewed, even when the script terminates successfully. You should skim over the PO file, ensuring that the B<msgid> and B<msgstr> actually match. It is not necessary to ensure that the translation is perfectly correct yet, as all entries are marked as fuzzy translations anyway. You only need to check for obvious matching issues because badly matched translations will be dumped in subsequent steps while you want to salvage them.
ja: B<po4a-gettextize>によって生成されたファイルは、スクリプトが正常に終了した場合であったとしても、手作業で確認するべきです。B<msgid> と B<msgstr> が実際に一致しているかどうか、PO ファイルにざっと目を通すべきです。ひとまず全項目が曖昧な翻訳としてマークされるので、翻訳が完璧に正しいことを確認する必要はありません。対応が取れていない翻訳を吸い上げたいと思っても、その後の工程で捨てられてしまうことになるので、明らかに一致に問題がないかだけを確認する必要があります。

note: type: textblock
en: Fortunately, this step does not require to master the target languages as you only want to recognize similar elements in each B<msgid> and its corresponding B<msgstr>. As a speaker of French, English, and some German myself, I can do this for all European languages at least, even if I cannot say one word of most of these languages. I sometimes manage to detect matching issues in non-Latin languages by looking at string length, phrase structures (does the amount of interrogation marks match?) and other clues, but I prefer when someone else can review those languages.
ja: 幸いなことに、この工程では各 B<msgid> とそれに対応する B<msgstr> の類似した要素を認識したいだけなので、対象の言語を修得する必要はありません。私自身、フランス語、英語、ドイツ語の一部を話すので、これらの言語のほとんどを一単語も話せないとしても、少なくともすべてのヨーロッパ言語についてはこの工程ができます。時々、文字列の長さやフレーズの構造（疑問符の量は一致しているか）、その他の手がかりを見ることによって、非ラテン語の言語の一致の問題を検出することができますが、他の誰かがそれらの言語を確認することが望ましいと思っています。

note: type: textblock
en: If you detect a mismatch, edit the original and translation files as if B<po4a-gettextize> reported an error, and try again. Once you have a decent PO file for your previous translation, backup it until you get po4a working correctly.
ja: 不一致を検出したら、B<po4a-gettextize>がエラーを報告したかのように元のファイルと翻訳ファイルを編集し、再試行してください。以前の翻訳を元にして一定水準以上のPOファイルができたら、po4aが正しく動作するようになるまでそれをバックアップしてください。

note: type: =head2
en: Running B<po4a> for the first time
ja: 初めてのB<po4a>の実行

note: type: textblock
en: The easiest way to setup po4a is to write a B<po4a.conf> configuration file, and use the integrated po4a program (B<po4a-updatepo> and B<po4a-translate> are deprecated). Please check the "CONFIGURATION FILE" Section in L<po4a(1)> documentation for more details.
ja: po4aを立ち上げる最も簡単な方法は、B<po4a.conf>設定ファイルを書き、統合されたpo4aプログラムを使うことです（B<po4a-updatepo>とB<po4a-translate>は非推奨です）。詳しくは、L<po4a(1)>のドキュメントの「設定ファイル」の節を参照してください。

note: type: textblock
en: When B<po4a> runs for the first time, the current version of the master documents will be used to update the PO files containing the old translations that you salvaged through gettextization. This can take quite a long time, because many of the B<msgid>s of from the gettextization do not exactly match the elements of the POT file built from the recent master files. This forces gettext to search for the closest one using a costly string proximity algorithm.  For example, the first run over the Perl documentation's French translation (5.5 MB PO file) took about 48 hours (yes, two days) while the subsequent ones only take seconds.
ja: B<po4a> が初めて実行されるとき、gettextization によって吸い上げられた古い翻訳を含む PO ファイルを更新するために、現在のバージョンのマスター文書が使用されます。gettextization から得られた B<msgid>s の多くは、最近のマスターファイルから構築された POT ファイルの要素と正確に一致しないため、これにはかなり長い時間がかかることがあります。このため、gettext はコストのかかる文字列近接アルゴリズムを使って最も近いものを探さざるを得ません。例えば、Perl ドキュメントのフランス語翻訳（5.5 MB の PO ファイル）に対する最初の実行は約 48 時間（そう、2 日間です）かかりましたが、その後の実行は数秒しかかかりません。

note: type: =head2
en: Moving your translations to production
ja: 翻訳を本番環境に移行する

note: type: textblock
en: After this first run, the PO files are ready to be reviewed by translators. All entries were marked as fuzzy in the PO file by B<po4a-gettextization>, forcing their careful review before use. Translators should take each entry to verify that the salvaged translation actually match the current original text, update the translation on need, and remove the fuzzy markers.
ja: この最初の実行の後、POファイルは翻訳者によるレビューの準備ができています。全項目は、B<po4a-gettextization>によってPOファイル内でfuzzyとして印が付けられており、使用前に慎重にレビューするようにさせています。翻訳者は、各項目を取り上げて、吸い上げられた翻訳が実際に現在の原文と一致しているかどうかを確認し、必要に応じて翻訳を更新し、fuzzyの印を削除する必要があります。

note: type: textblock
en: Once enough fuzzy markers are removed, B<po4a> will start generating the translation files on disk, and you're ready to move your translation workflow to production. Some projects find it useful to rely on weblate to coordinate between translators and maintainers, but that's beyond B<po4a>' scope.
ja: fuzzyの印が充分に取り除かれると、B<po4a>は翻訳ファイルをディスク上に生成し始め、翻訳の作業工程を本番に移行する準備が整います。プロジェクトによっては、翻訳者と保守者の間の調整にWeblateを利用するのが便利な場合もありますが、それはB<po4a>の範囲外です。

note: type: textblock
en: L<po4a(1)>, L<po4a-normalize(1)>, L<po4a-translate(1)>, L<po4a-updatepo(1)>, L<po4a(7)>.
ja: L<po4a(1)>、L<po4a-normalize(1)>、L<po4a-translate(1)>、L<po4a-updatepo(1)>、L<po4a(7)>。

note: type: textblock
en: po4a-normalize - normalize a documentation file by parsing it in po4a, and writing it back
ja: po4a-normalize - ドキュメントファイルを po4a でパースしてから書き戻すことで正規化

note: type: textblock
en: The po4a (PO for anything) project goal is to ease translations (and more interestingly, the maintenance of translations) using gettext tools on areas where they were not expected like documentation.
ja: po4a (PO for anything) プロジェクトは、gettext ツールが想定していないドキュメントのような領域で翻訳をしやすくすること (またより興味深いのは、翻訳文の保守がしやすくなること) を目標にしています。

note: type: textblock
en: The B<po4a-normalize> script is a debugging tool used to make sure that po4a don't change the document when it's not supposed to. Only use it if you're developing a new module, or if you doubt the sanity of the tools.
ja: B<po4a-normalize> スクリプトは、po4a が想定外の変更をドキュメントに行っていないことを確認するデバッグツールです。新しいモジュールを開発しているときや、ツールの健全性が疑わしいときにのみ使用してください。

note: type: textblock
en: The generated document will be written to F<po4a-normalize.output> while the generated POT file will be written to F<po4a-normalize.po> by default, but you can use the B<--localized> and B<--pot> options to change that.
ja: 生成した文書は F<po4a-normalize.output> に書き出され、生成した POTファイルは既定で F<po4a-normalize.po> に書き出されます。しかしB<--localized>オプションとB<--pot>オプションを使ってそれを変えることができます。

note: type: textblock
en: Create an blank translated document.  The generated translated document will be generated assuming all messages are translated by a space or new line.
ja: 空の翻訳済みドキュメントを作成します。生成した翻訳済みドキュメントは、すべてのメッセージが空白や改行で翻訳されていると見なして生成されます。

note: type: textblock
en: This is useful to check what parts of the document cannot be translated.
ja: これは、ドキュメントのどの部分が翻訳できないかチェックするのに便利です。

note: type: textblock
en: Name of the normalized file to produce (I<po4a-normalize.output> by default).
ja: 生成する正規化ファイルの名前（既定ではI<po4a-normalize.output>）です。

note: type: textblock
en: Pot file to produce (I<po4a-normalize.po> by default).
ja: 生成するPOTファイル（既定ではI<po4a-normalize.po>）。

note: type: textblock
en: po4a-translate - convert a PO file back to documentation format
ja: po4a-translate - PO ファイルをドキュメントフォーマットへ変換

note: type: textblock
en: (I<XX.doc> is the output, all others are inputs)
ja: (I<XX.doc> は出力ファイル。その他すべては入力ファイル)

note: type: textblock
en: The B<po4a-translate> script is in charge of converting the translation (which was done in a PO file) back into the documentation format. The provided PO file should be the translation of the POT file which was produced by L<po4a-gettextize(1)>.
ja: B<po4a-translate> スクリプトは、(PO ファイルで行われた) 翻訳から元のドキュメントフォーマットへの変換を担当します。与える PO ファイルは、L<po4a-gettextize(1)> で得た POT ファイルを翻訳したものであるべきです。

note: type: textblock
en: Add a file to the resulting file (to put translator's name or a section "About this translation", for example). The first line of the file to insert should be a PO4A header indicating where it should be added (see section B<HOWTO add extra text to translations> in L<po4a(7)>).
ja: 生成するファイルに追加するファイル (例えば、翻訳者名や「この翻訳について」節) です。挿入するファイルの先頭行は、追加する位置を指定する PO4A ヘッダです (L<po4a(7)> の B<翻訳におまけのテキストを追加するには> 節を参照してください)。

note: type: textblock
en: File containing the master document to translate.
ja: 翻訳するマスタードキュメントのファイルです。

note: type: textblock
en: File where the localized (translated) document should be written.
ja: 書き出される地域化 (翻訳済み) ドキュメントのファイルです。

note: type: textblock
en: File from which the message catalog should be read.
ja: メッセージカタログとして読み込むファイルです。

note: type: textblock
en: Minimal threshold for translation percentage to keep (i.e. write) the resulting file (default: 80). I.e. by default, files have to be translated at least at 80% to get written.
ja: 生成するファイルを維持する（つまり書き出す）翻訳率のしきい値（既定値：80）。言い換えると、既定値では書き出されるために少なくとも 80% は翻訳されていなければならないということです。

note: type: textblock
en: Column at which we should wrap the resulting file.
ja: 結果のファイルの改行幅です。

note: type: textblock
en: Argument can be followed by a comma and either B<wrap> or B<nowrap> keyword.  References are written by default on a single line.  The B<wrap> option wraps references on several lines, to mimic B<gettext> tools (B<xgettext> and B<msgmerge>).  This option will become the default in a future release, because it is more sensible.  The B<nowrap> option is available so that users who want to keep the old behavior can do so.
ja: 引数にはコンマを続けた後に B<wrap> または B<nowrap> キーワードのどちらかを付けられます。デフォルトでは、リファレンスは 1 行で書き出されます。B<wrap> オプションは、B<gettext> ツール (B<xgettext> や B<msgmerge>) のようにリファレンスを複数行に折り返します。こちらのオプションの方がより気が利いているため、将来のリリースでデフォルトとなります。元の挙動のままにしておきたいユーザは、B<nowrap> オプションを使用できます。

note: type: textblock
en: Historically, the gettext suite has reformatted the po files at the 77th column for cosmetics. This option specifies the behavior of po4a. If set to a numerical value, po4a will wrap the po file after this column and after newlines in the content. If set to B<newlines>, po4a will only split the msgid and msgstr after newlines in the content. If set to B<no>, po4a will not wrap the po file at all.  The wrapping of the reference comments is controlled by the B<--porefs> option.
ja: 歴史的に、gettext スイートは見た目上の理由で、POファイルを77列目で折り返すよう再フォーマットしてきました。このオプションは po4a の動作を指定します。数値に設定された場合、po4aはこの列の後と、内容の改行の後でpoファイルを折り返します。B<newlines>に設定すると、po4aはmsgidとmsgstrを内容内の改行の後でのみ分割します。B<no>に設定すると、po4aはpoファイルでの行折り返しを一切行いません。参照コメントの折り返しは、B<--porefs>オプションで制御されます。

note: type: textblock
en: Note that this option has no impact on how the msgid and msgstr are wrapped, ie on how newlines are added to the content of these strings.
ja: このオプションは、msgidとmsgstrの折り返し方法、すなわちこれらの文字列の内容にどのように改行を追加するかには影響しないことに注意してください。

note: type: =head1
en: Adding content (beside translations) to generated files
ja: 生成されたファイルへの (翻訳以外の) 内容の追加

note: type: textblock
en: To add some extra content to the generated document beside what you translated (like the name of the translator, or an "About this translation" section), you should use the B<--addendum> option.
ja: 生成される文書に翻訳以外の内容（翻訳者名や「この翻訳について」節など）を追加するには、B<--addendum> オプションを使用してください。

note: type: textblock
en: The first line of the addendum must be a header indicating where to put it in the document (it can be before or after a given part of the document).  The rest of the file will be added verbatim to the resulting file without further processing.
ja: 追加内容の最初の行は、ドキュメントのどこに配置するかを指定するヘッダでなければなりません (ドキュメント内の任意の部分の前後を指定できます)。 ファイルの残りの部分は、さらに処理することなく、結果のファイルにそのまま追加されます。

note: type: textblock
en: Note that if po4a-translate fails to add one of the given files, it discards the whole translation (because the missing file could be the one indicating the author, what would prevent the users to contact him to report bugs in the translation).
ja: 指定したファイルに追加できないものがあった場合、po4a-translate は翻訳全体を破棄することに注意してください (見つからないファイルは作者を示すものかも知れず、翻訳のバグ報告をしたいユーザの妨げになるからです)。

note: type: textblock
en: The header has a pretty rigid syntax. For more information on how to use this feature and how it works, please refer to the L<po4a(7)> man page.
ja: ヘッダにはかなり厳密な文法があります。この機能の使い方や動作の概要は、L<po4a(7)> man ページを参照してください。

note: type: textblock
en: po4a-updatepo - update the translation (in PO format) of documentation
ja: po4a-updatepo - ドキュメントの (PO フォーマットの) 翻訳を更新

note: type: textblock
en: (I<XX.po> are the outputs, all others are inputs)
ja: (I<XX.po> は出力ファイル。その他すべては入力ファイル)

note: type: textblock
en: The B<po4a-updatepo> script is in charge of updating PO files to make them reflect the changes made to the original documentation file. For that, it converts the documentation file to a POT file, and call L<msgmerge(1)> on this new POT and on the provided PO files.
ja: B<po4a-updatepo> スクリプトは、PO ファイルの更新を担当し、オリジナルドキュメントのファイルに行われた変更を反映します。そのため、ドキュメントファイルを POT ファイルに変換し、L<msgmerge(1)> を呼び出して、この新しい POT ファイルを PO ファイルに適用します。

note: type: textblock
en: It is possible to give more than one PO file (if you want to update several languages at once), and several documentation files (if you want to store the translations of several documents in the same PO file).
ja: 複数の PO ファイルと (複数の言語を一度に更新する場合)、あるいは複数の文書ファイル (複数のドキュメントの翻訳を同じ PO ファイルに格納したい場合) を指定することもできます。

note: type: textblock
en: If the master document has non-ASCII characters, this script will convert the PO files to UTF-8 (if they weren't already), for a transparent handling of non-standard characters.
ja: マスター文書に非ASCII文字がある場合、このスクリプトは（まだ変換されていない場合）POファイルをUTF-8に変換し、非標準文字を透過的に扱うようにします。

note: type: textblock
en: File(s) containing the master document to translate.
ja: 翻訳するマスタードキュメントを含むファイルです。

note: type: textblock
en: Charset of the files containing the document to translate. Note that all files must have the same charset.
ja: 翻訳するドキュメントを含むファイルの文字セットです。すべてのファイルが、同じ文字セットを使用していなければならないことに注意してください。

note: type: textblock
en: PO file(s) to update. If these files do not exist, they are created by B<po4a-updatepo>.
ja: 更新する PO ファイルです。ファイルが存在しない場合、B<po4a-updatepo> が作成します。

note: type: textblock
en: msguntypot - update PO files when a typo is fixed in POT file
ja: msguntypot - POT ファイルのタイプミス修正時に PO ファイルを更新

note: type: textblock
en: When you fix a trivial error which surely doesn't affect translations (e.g.  a typo) in a POT file, you should unfuzzy the corresponding msgstr in the translated PO files to avoid so extra work to the translators.
ja: POT ファイルにおいて、翻訳にまったく影響を与えない些細なエラー (例: タイプミス) を修正した際は、翻訳者に余計な作業をさせないように、翻訳した PO ファイルの対応する msgstr の fuzzy を外すべきです。

note: type: textblock
en: This task is difficult and error prone when done manually, and this tool is there to help doing so correctly. You just need to provide the two versions of the POT file: before the edition and after as marked in the above synopsis, and it all becomes automatic.
ja: この作業を手で行うのは難しく、誤りが混入する傾向にあります。このツールはそれを正しく行う手助けをします。必要なのは、上記の書式にある前の版と後の版の POT ファイル二つだけで、後はすべて自動的に行います。

note: type: =head1
en: HOW TO USE IT
ja: 使用方法

note: type: textblock
en: In short, when you discover a typo in one of your [english] message, do the following:
ja: 簡単に言うと、あなたの「英語の」メッセージにタイプミスを見つけたら、以下のようにしてください:

note: type: =item
en: - Regenerate your POT and PO files.
ja: - POT ファイルと PO ファイルを再生成します。

note: type: verbatim
en:   make -C po/ update-po # for message program translations
      debconf-updatepo      # for debconf translations
      po4a po4a.conf        # for po4a based documentation translations
ja:   make -C po/ update-po # メッセージプログラム翻訳用
      debconf-updatepo      # debconf 翻訳用
      po4a po4a.conf        # po4a ベースのドキュメント翻訳用

note: type: textblock
en: or something else, depending on your project's building settings. You know how to make sure your POT and PO files are uptodate, don't you??
ja: といった感じですが、プロジェクトでのビルド方法によります。POT や PO ファイルが最新のものであることを確かめる方法を知っていますよね？

note: type: =item
en: - Make a copy of your POT file.
ja: - POT ファイルのコピーを作成します。

note: type: =item
en: - Make a copy of all your PO files.
ja: - 全POファイルをコピーします。

note: type: =item
en: - Fix your typo.
ja: - タイプミス修正。

note: type: textblock
en: See above.
ja: 上記を参照してください。

note: type: textblock
en: At this point, the typo fix fuzzied all the translations, and this unfortunate change is the only one between the PO files of your main directory and the one from the fridge. Here is how to solve this.
ja: この時点で、タイプミスを修正することですべての翻訳が fuzzy となりますが、メインディレクトリの po ファイルと fridge に置いた PO ファイルとの不幸な変更は、一つだけのはずです。これを以下の手順で解決します。

note: type: =item
en: - Discard fuzzy translation, restore the ones from the fridge.
ja: - fuzzy な翻訳を捨てて、fridge から復元します。

note: type: =item
en: - Manually merge the PO files with the new POT file, but taking the useless fuzzy into account.
ja: - 意味のない fuzzy を考慮しつつ、PO ファイルと新しい POT ファイルの手動マージ。

note: type: =item
en: - Cleanups.
ja: - 後片付けをします。

note: type: textblock
en: You're done. The typo was eradicated from msgstr of both your POT and PO files, and the PO files were not fuzzyied in the process. Your translators love you already.
ja: 以上で完了です。POT ファイルと PO ファイルの双方の msgstr からタイプミスを根絶しましたし、このプロセス中に PO ファイルは fuzzy になりませんでした。翻訳者は、あなたを大好きなままでいてくれることでしょう。

note: type: textblock
en: Despite its name, this tool is not part of the gettext tool suite. It is instead part of po4a. More precisely, it's a random Perl script using the fine po4a modules. For more information about po4a, please see:
ja: その名前にもかかわらず、このツールは gettext ツールスイートの一部ではありません。po4a の一部です。もっと正確に言うと、これはすばらしい po4a モジュールを使用する、不格好な Perl スクリプトです。po4a についての詳細情報は、以下を参照してください:

note: type: textblock
en: po4a - framework to translate documentation and other materials
ja: po4a - ドキュメントやその他の素材の翻訳フレームワーク

note: type: =head1
en: Introduction
ja: 概要

note: type: textblock
en: po4a (PO for anything) eases the maintenance of documentation translation using the classical gettext tools. The main feature of po4a is that it decouples the translation of content from its document structure.
ja: po4a (PO for anything) は、従来の gettext ツールを使った文書翻訳の保守を容易にするものです。po4aの主な特徴は、内容の翻訳を文書構造から切り離すことです。

note: type: textblock
en: This document serves as an introduction to the po4a project with a focus on potential users considering whether to use this tool and on the curious wanting to understand why things are the way they are.
ja: このドキュメントではpo4aプロジェクトの紹介を行いこのツールを使うかどうかを検討している潜在的な利用者と、このツールの仕組みのなりたちを理解したいという興味のある読者に焦点を当てます。

note: type: =head1
en: Why po4a?
ja: なぜpo4aなのか？

note: type: textblock
en: The philosophy of Free Software is to make the technology truly available to everyone. But licensing is not the only consideration: untranslated free software is useless for non-English speakers. Therefore, we still have some work to do to make software available to everybody.
ja: 自由ソフトウェアの理念は、技術を真に誰もが利用できるようにすることです。しかし、ライセンスだけが考慮すべきことではありません。翻訳されていない自由ソフトウェアは、英語を母国語としない人々にとっては無用の長物なのです。ですから、ソフトウェアを誰もが利用できるようにするためにやるべきことはまだあります。

note: type: textblock
en: This situation is well understood by most projects and everybody is now convinced of the necessity to translate everything. Yet, the actual translations represent a huge effort of many individuals, crippled by small technical difficulties.
ja: このような状況はほとんどのプロジェクトで知られており、誰もがあらゆるものを翻訳する必要性を確信しています。しかし、実際の翻訳は、多くの人の膨大な努力の結晶であり、ちょっとした技術的な問題で不自由なことになっているのが現状です。

note: type: textblock
en: Thankfully, Open Source software is actually very well translated using the gettext tool suite. These tools are used to extract the strings to translate from a program and present the strings to translate in a standardized format (called PO files, or translation catalogs). A whole ecosystem of tools has emerged to help the translators actually translate these PO files. The result is then used by gettext at run time to display translated messages to the end users.
ja: ありがたいことに、オープンソースソフトウェアは、gettext tool suite を使って実際に非常によく翻訳されています。これらのツールは、プログラムから翻訳する文字列を抽出し、標準化された形式（POファイル、または翻訳カタログと呼ばれます）で翻訳する文字列を提示するために使用されます。翻訳者が実際にこのPOファイルを翻訳するのを助けるために、このツールのエコシステム全体が成立しました。そしてその結果を実行時にgettextが使用し、エンドユーザーに翻訳された文言を表示するのです。

note: type: textblock
en: Regarding documentation, however, the situation still somewhat disappointing.  At first translating documentation may seem to be easier than translating a program as it would seem that you just have to copy the documentation source file and start translating the content. However, when the original documentation is modified, keeping track of the modifications quickly turns into a nightmare for the translators. If done manually, this task is unpleasant and error prone.
ja: しかし、ドキュメンテーションに関しては、まだ少し残念な状況です。一見して、文書のソースファイルを複製して翻訳を始めるだけなので、プログラムの翻訳よりも簡単そうに見えるかもしれません。しかし、元の文書が変更された場合、その変更点を把握しておくことは、すぐさま翻訳者にとって悪夢となります。手作業で行う場合、この作業は不快であり、誤りの温床となるのです。

note: type: textblock
en: Outdated translations are often worse than no translation at all. End-users can be tricked by documentation describing an old behavior of the program.  Furthermore, they cannot interact directly with the maintainers since they don't speak English. Additionally, the maintainer cannot fix the problem as they don't know every language in which their documentation is translated.  These difficulties, often caused by poor tooling, can undermine the motivation of volunteer translators, further aggravating the problem.
ja: 古い翻訳は、全く翻訳がないことよりも悪いことがよくあります。エンドユーザは、プログラムの古い動作を説明した文書に騙される可能性があります。さらに、彼らは英語を話せないので、保守者と直接対話することができません。加えて、保守者は文書が翻訳されているすべての言語は知らないので、問題を修正することができません。このような困難はしばしば貧弱なツールによって引き起こされるもので、ボランティアの翻訳者のモチベーションを蝕み、問題をさらに悪化させる可能性があります。

note: type: textblock
en: B<The goal of the po4a project is to ease the work of documentation translators>.  In particular, it makes documentation translations I<maintainable>.
ja: B<po4aプロジェクトの目標は、文書を翻訳する人の仕事を楽にすることです。特に、文書の翻訳をI<保守可能>なものにすることです。

note: type: textblock
en: The idea is to reuse and adapt the gettext approach to this field. As with gettext, texts are extracted from their original locations and presented to translators as PO translation catalogs. The translators can leverage the classical gettext tools to monitor the work to do, collaborate and organize as teams. po4a then injects the translations directly into the documentation structure to produce translated source files that can be processed and distributed just like the English files. Any paragraph that is not translated is left in English in the resulting document, ensuring that the end users never see an outdated translation in the documentation.
ja: アイディアとしてはgettextの手法を再利用し、この分野に適応させようというものです。gettextと同様、テキストは元の場所から抽出され、POの翻訳カタログとして翻訳者に提示されます。翻訳者はgettextの古典的なツールを活用して、取り組んでいる作業を監査し、チームとして協力・組織化することができます。それからpo4aは翻訳を文書構造に直接注入して、英語ファイルと同様に処理・配布できる翻訳済みソースファイルを生成します。翻訳されなかった段落は、翻訳後の文書に英語のまま残され、エンドユーザーが文書内の古い翻訳を目にすることがないようにします。

note: type: textblock
en: This automates most of the grunt work of the translation maintenance.  Discovering the paragraphs needing an update becomes very easy, and the process is completely automated when elements are reordered without further modification. Specific verification can also be used to reduce the chance of formatting errors that would result in a broken document.
ja: これにより、翻訳の保守におけるほとんどの荷の重い作業が自動化されます。更新が必要な段落を発見するのは非常に簡単であり、要素の順番が変わっただけでそれ以外の変更がなければ工程は完全に自動化されます。また何らかの検証を行うことで、文書が壊れてしまうような形式エラーの可能性を減らすことができます。

note: type: textblock
en: Please also see the B<FAQ> below in this document for a more complete list of the advantages and disadvantages of this approach.
ja: このアプローチの利点と欠点のより詳しい一覧は、このドキュメントの後ろの B<FAQ> を参照してください。

note: type: =head2
en: Supported formats
ja: サポートするフォーマット

note: type: textblock
en: Currently, this approach has been successfully implemented to several kinds of text formatting formats:
ja: 現在、このアプローチで実装に成功しているのは、以下のテキスト整形フォーマットです:

note: type: =item
en: man (mature parser)
ja: man（成熟した構文解析器）

note: type: textblock
en: The good old manual pages' format, used by so many programs out there. po4a support is very welcome here since this format is somewhat difficult to use and not really friendly to newbies.
ja: たくさんのプログラムで使われている、古き良きマニュアルページの形式です。この形式はいくらか難しく、初心者には本当に易しくありません。

note: type: textblock
en: The L<Locale::Po4a::Man(3pm)|Man> module also supports the mdoc format, used by the BSD man pages (they are also quite common on Linux).
ja: L<Locale::Po4a::Man(3pm)|Man> モジュールは、BSD の man ページで使われている mdoc 形式にも対応しています（Linux でもかなり一般的になっています）。

note: type: =item
en: AsciiDoc (mature parser)
ja: AsciiDoc（成熟した構文解析器）

note: type: textblock
en: This format is a lightweight markup format intended to ease the authoring of documentation. It is for example used to document the git system. Those manpages are translated using po4a.
ja: この形式は、文書の執筆を容易にすることを目的とした軽量のマークアップ形式です。例えば、git システムのドキュメントに使用されています。これらのmanページは po4a を使って翻訳されています。

note: type: textblock
en: See L<Locale::Po4a::AsciiDoc> for details.
ja: 詳しくはL<Locale::Po4a::AsciiDoc>をご覧ください。

note: type: =item
en: pod (mature parser)
ja: pod（成熟した構文解析器）

note: type: textblock
en: This is the Perl Online Documentation format. The language and extensions themselves are documented using this format in addition to most existing Perl scripts. It makes easy to keep the documentation close to the actual code by embedding them both in the same file. It makes programmer's life easier, but unfortunately, not the translator's, until you use po4a.
ja: Perl のオンラインドキュメントフォーマットです。既存のほとんどの Perl スクリプトに加え、言語や拡張機能自体がこの形式を使って記述されています。ドキュメントと実際のコードの両方を同じファイルに組み込んでおくことで両者の内容を近しいものに保ちやすくなっています。プログラマーの体験が良くなりますが、残念ながら翻訳者の生活は楽にはなりません。po4aを使うまではね。

note: type: textblock
en: See L<Locale::Po4a::Pod> for details.
ja: 詳細はL<Locale::Po4a::Pod>を見てください。

note: type: =item
en: sgml (mature parser)
ja: sgml（成熟した構文解析器）

note: type: textblock
en: Even if superseded by XML nowadays, this format is still used for documents which are more than a few screens long. It can even be used for complete books.  Documents of this length can be very challenging to update. B<diff> often reveals useless when the original text was re-indented after update.  Fortunately, po4a can help you after that process.
ja: 現在ではXMLに取って代わられたとはいえ、数画面以上の文書にはこの形式が使われます。本全体に使われることもあります。これだけの長さの文書は、更新するのが非常に困難です。B<diff>は、更新後に元のテキストの字下げが改められた場合、明らかに役に立たないとわかることがよくあります。幸いなことに、po4aはそのような変更処理の後でも助けになります。

note: type: textblock
en: Currently, only DebianDoc and DocBook DTD are supported, but adding support for a new one is really easy. It is even possible to use po4a on an unknown SGML DTD without changing the code by providing the needed information on the command line. See L<Locale::Po4a::Sgml(3pm)> for details.
ja: 現在、DebianDoc と DocBook DTD のみに対応していますが、新しく対応するものを追加するのは、本当に簡単です。また、コマンドラインに必要な情報を与え、コードを変更せずに未知の SGML DTD を po4a で使用することもできます。詳細は L<Locale::Po4a::Sgml(3pm)> を参照してください。

note: type: =item
en: TeX / LaTeX (mature parser)
ja: TeX / LaTeX （成熟した構文解析器）

note: type: textblock
en: The LaTeX format is a major documentation format used in the Free Software world and for publications.
ja: LaTeX 形式はフリーソフトウェア界や出版界で使われている主要な文書形式です。

note: type: textblock
en: The L<Locale::Po4a::LaTeX(3pm)|LaTeX> module was tested with the Python documentation, a book and some presentations.
ja: L<Locale::Po4a::LaTeX(3pm)|LaTeX> モジュールは Python のドキュメントや書籍、プレゼンのスライドでの実績があります。

note: type: =item
en: text (mature parser)
ja: text（成熟した構文解析器）

note: type: textblock
en: The Text format is the base format for many formats that include long blocks of text, including Markdown, fortunes, YAML front matter section, debian/changelog, and debian/control.
ja: テキスト形式は、Markdown、fortunes、YAMLフロントマター節、debian/changelog、debian/control など、長いテキストブロックを含む多くの形式の基本形式となります。

note: type: textblock
en: This supports the common format used in Static Site Generators, READMEs, and other documentation systems. See L<Locale::Po4a::Text(3pm)|Text> for details.
ja: これは、静的サイトジェネレータ、README、その他のドキュメントシステムで使用される一般的な形式に対応しています。詳しくは L<Locale::Po4a::Text(3pm)|Text> をご覧ください。

note: type: =item
en: xml and XHMTL (probably mature parser)
ja: xmlとXHTML（恐らく成熟した構文解析器）

note: type: textblock
en: The XML format is a base format for many documentation formats.
ja: XML フォーマットは多くのドキュメントフォーマットの基礎になっています。

note: type: textblock
en: Currently, the DocBook DTD (see L<Locale::Po4a::Docbook(3pm)> for details) and XHTML are supported by po4a.
ja: 現在、DocBook の DTD （詳細は L<Locale::Po4a::Docbook(3pm)> を参照）とXHTMLがpo4aでは対応されています。

note: type: =item
en: BibTex (probably mature parser)
ja: BibTeX（恐らく成熟した構文解析器）

note: type: textblock
en: The BibTex format is used alongside LaTex for formatting lists of references (bibliographies).
ja: BibTeXは、LaTeXと共に出典リスト（参考文献一覧）を整えるために使用されています。

note: type: textblock
en: See L<Locale::Po4a::BibTex> for details.
ja: 詳しくはL<Locale::Po4a::BibTex>をご覧ください。

note: type: =item
en: Docbook (probably mature parser)
ja: DocBook（恐らく成熟した構文解析器）

note: type: textblock
en: A XML-based markup language that uses semantic tags to describe documents.
ja: XMLを基にしたマークアップ言語で、文書を記述するのに意味的なタグを用います。

note: type: textblock
en: See L<Locale::Po4a:Docbook> for greater details.
ja: 詳しくはL<Locale::Po4a:Docbook>をご覧ください。

note: type: =item
en: Guide XML (probably mature parser)
ja: Guide XML（恐らく成熟した構文解析器）

note: type: textblock
en: A XML documentation format. This module was developed specifically to help with supporting and maintaining translations of Gentoo Linux documentation up until at least March 2016 (Based on the Wayback Machine). Gentoo have since moved to the DevBook XML format.
ja: XMLの文書形式の1つ。このモジュールは、少なくとも2016年3月（Wayback Machineに基づく）までは、Gentoo Linuxドキュメントの翻訳のサポートと保守を支援するために特別に開発されました。Gentooはその後、DevBook XML形式に移行しました。

note: type: textblock
en: See L<Locale::Po4a:Guide> for greater details.
ja: 詳しくはL<Locale::Po4a:Guide>をご覧ください。

note: type: =item
en: Wml (probably mature parser)
ja: Wml（恐らく成熟した構文解析器）

note: type: textblock
en: The Web Markup Language, do not mixup WML with the WAP stuff used on cell phones.  This module relies on the Xhtml module, which itself relies on the XmL module.
ja: Web Markup Languageの略であって、携帯電話で使われているWAPとしてのWMLを混同しないようにしてください。このモジュールはXHTMLモジュールに依存しており、XHTMLモジュール自体もXMLモジュールに依存しています。

note: type: textblock
en: See L<Locale::Po4a::Wml> for greater details.
ja: より詳しくは L<Locale::Po4a::Wml>を見てください。

note: type: =item
en: Yaml (probably mature parser)
ja: Yaml（恐らく成熟した構文解析器）

note: type: textblock
en: A strict superset of JSON. YAML is often used as systems or configuration projects.  YAML is at the core of Red Hat's Ansible.
ja: JSONの厳密なスーパーセットです。YAMLはシステムやプロジェクトの設定としてよく使われます。YAMLはRed HatのAnsibleの中核を成しています。

note: type: textblock
en: See L<Locale::Po4a::Yaml> for greater details.
ja: より詳しくは L<Locale::Po4a::Yaml> を見てください。

note: type: =item
en: RubyDoc (probably mature parser)
ja: RubyDoc（恐らく成熟した構文解析器）

note: type: textblock
en: The Ruby Document (RD) format, originally the default documentation format for Ruby and Ruby projects before converted to RDoc in 2002. Though apparently the Japanese version of the Ruby Reference Manual still use RD.
ja: Ruby Document (RD) 形式は、2002年にRDocに変換されるまでは、RubyおよびRubyプロジェクトの既定の文書形式でした。ただし、日本語版のRubyリファレンスマニュアルは今でもRDを使用しているようです。

note: type: textblock
en: See L<Locale::Po4a::RubyDoc> for greater details.
ja: より詳しくは L<Locale::Po4a::RubyDoc>を見てください。

note: type: =item
en: Halibut (probably experimental parser)
ja: Halibut（恐らく実験的な構文解析器）

note: type: textblock
en: A documentation production system, with elements similar to TeX, debiandoc-sgml, TeXinfo, and others, developed by Simon Tatham, the developer of PuTTY.
ja: PuTTYの開発者であるSimon Tathamが開発した、TeX、debiandoc-sgml、TeXinfoなどに似た要素を持つ文書作成システムです。

note: type: textblock
en: See L<Locale::Po4a:Halibut> for greater details.
ja: 詳しくはL<Locale::Po4a:Halibut>をご覧ください。

note: type: =item
en: Ini (probably experimental parser)
ja: Ini（恐らく実験的な構文解析器）

note: type: textblock
en: Configuration file format popularized by MS-DOS.
ja: MS-DOS によって普及した設定ファイル形式。

note: type: textblock
en: See L<Locale::Po4a::Ini> for greater details.
ja: 詳しくはL<Locale::Po4a::Ini>をご覧ください。

note: type: =item
en: texinfo (very highly experimental parser)
ja: texinfo（極めて実験的な構文解析器）

note: type: textblock
en: All of the GNU documentation is written in this format (it's even one of the requirements to become an official GNU project). The support for L<Locale::Po4a::Texinfo(3pm)|Texinfo> in po4a is still at the beginning.  Please report bugs and feature requests.
ja: GNU のドキュメントはすべてこの形式で書かれています（公式 GNU プロジェクトになる必要条件の一つでさえあります）。po4a のL<Locale::Po4a::Texinfo(3pm)|Texinfo> 対応は始まったばかりです。バグ報告や機能の要望をお願いします。

note: type: =item
en: Others supported formats
ja: 他に対応している形式

note: type: textblock
en: Po4a can also handle some more rare or specialized formats, such as the documentation of compilation options for the 2.4+ Linux kernels (L<Locale::Po4a::KernelHelp>) or the diagrams produced by the dia tool (L<Locale::Po4a:Dia>). Adding a new format is often very easy and the main task is to come up with a parser for your target format. See L<Locale::Po4a::TransTractor(3pm)> for more information about this.
ja: po4a は、2.4以上のLinuxカーネル のコンパイルオプションのドキュメント (L<Locale::Po4a::KernelHelp>) や、dia ツールで使用する図 (L<Locale::Po4a::Dia>) といった、もっと稀だったり特殊な形式もサポートしています。新しい形式を追加するのは非常に簡単で、目標の形式の構文解析器を追加するのが主な作業内容となっています。この詳細情報は L<Locale::Po4a::TransTractor(3pm)> を参照してください。

note: type: =item
en: Unsupported formats
ja: サポート外のフォーマット

note: type: textblock
en: Unfortunately, po4a still lacks support for several documentation formats. Many of them would be easy to support in po4a. This includes formats not just used for documentation, such as, package descriptions (deb and rpm), package installation scripts questions, package changelogs, and all the specialized file formats used by programs such as game scenarios or wine resource files.
ja: 残念ながら、po4aはまだいくつかの文書形式に対応していません。それらの多くは po4a で簡単に対応できるはずです。例えば、パッケージの説明（debやrpm）、パッケージのインストールスクリプトの質問、パッケージの変更履歴、ゲームシナリオやwineのリソースファイルのようなプログラムで使用されるすべての特殊なファイル形式など、文書に使用されない形式が含まれます。

note: type: =head1
en: Using po4a
ja: po4aを使う

note: type: textblock
en: Historically, po4a was built around four scripts, each fulfilling a specific task. L<po4a-gettextize(1)> helps bootstrapping translations and optionally converting existing translation projects to po4a. L<po4a-updatepo(1)> reflects the changes to the original documentation into the corresponding po files.  L<po4a-translate(1)> builds translated source file from the original file and the corresponding PO file. In addition, L<po4a-normalize(1)> is mostly useful to debug the po4a parsers, as it produces an untranslated document from the original one. It makes it easier to spot the glitches introduced by the parsing process.
ja: 歴史的に、po4aは4つのスクリプトを中心に構築されており、それぞれが特定の作業目的を果たしています。L<po4a-gettextize(1)> は翻訳の初動に役立つもので、既存の翻訳プロジェクトをpo4aに変換する選択肢を提供します。L<po4a-updatepo(1)> は、元の文書への変更を、対応する po ファイルに反映します。L<po4a-translate(1)> は、元のファイルと対応するPOファイルから、翻訳されたソースファイルを構築します。さらに、L<po4a-normalize(1)> は、元の文書から未翻訳の文書を生成するので、po4a 解析器のデバッグにそこそこ役に立ちます。これにより構文解析器の処理によってもたらされる不具合を発見することが容易になります。

note: type: textblock
en: The rest of this section gives an overview of how use the scripts' interface of po4a. Most users will probably prefer to use the all-in-one tool, that is described in the documentation of L<po4a(1)>.
ja: この節の残りの部分では、po4aのスクリプトのインターフェイスの使い方の概要を説明します。ほとんどのユーザーはオールインワンなツールの方を使うことになると思いますが、こちらについては L<po4a(1)>のドキュメントで説明されます。

note: type: =head2
en: Graphical overview of the po4a scripts
ja: po4aスクリプトの概要図

note: type: textblock
en: The following schema gives an overview of how each po4a script can be used.  Here, F<master.doc> is an example name for the documentation to be translated; F<XX.doc> is the same document translated in the language XX while F<doc.XX.po> is the translation catalog for that document in the XX language. Documentation authors will mostly be concerned with F<master.doc> (which can be a manpage, an XML document, an asciidoc file or similar); the translators will be mostly concerned with the PO file, while the end users will only see the F<XX.doc> file.
ja: 次のスキーマは、各 po4a スクリプトがどのように使用されるかの概要を示しています。F<master.doc> は翻訳される文書の例です。F<XX.doc> はXX言語で翻訳された同じ文書で、F<doc.XX.po> はXX言語の文書の翻訳カタログを表します。文書の著者は主にF<master.doc>（manpage、XML文書、asciidocファイルなど）に関心があり、翻訳者は主にPOファイルに関心があり、エンドユーザーはF<XX.doc>ファイルのみを見ることになります。

note: type: verbatim
en:                                    master.doc
                                           |
                                           V
         +<-----<----+<-----<-----<--------+------->-------->-------+
         :           |                     |                        :
    {translation}    |         { update of master.doc }             :
         :           |                     |                        :
       XX.doc        |                     V                        V
     (optional)      |                 master.doc ->-------->------>+
         :           |                   (new)                      |
         V           V                     |                        |
      [po4a-gettextize]   doc.XX.po -->+   |                        |
              |            (old)       |   |                        |
              |              ^         V   V                        |
              |              |     [po4a-updatepo]                  |
              V              |           |                          V
       translation.pot       ^           V                          |
              |              |        doc.XX.po                     |
              |              |         (fuzzy)                      |
       { translation }       |           |                          |
              |              ^           V                          V
              |              |     {manual editing}                 |
              |              |           |                          |
              V              |           V                          V
          doc.XX.po --->---->+<---<-- doc.XX.po    addendum     master.doc
          (initial)                 (up-to-date)  (optional)   (up-to-date)
              :                          |            |             |
              :                          V            |             |
              +----->----->----->------> +            |             |
                                         |            |             |
                                         V            V             V
                                         +------>-----+------<------+
                                                      |
                                                      V
                                               [po4a-translate]
                                                      |
                                                      V
                                                    XX.doc
                                                 (up-to-date)
ja:                                    master.doc
                                           |
                                           V
         +<-----<----+<-----<-----<--------+------->-------->-------+
         :           |                     |                        :
       {翻訳}        |            { master.doc の更新 }             :
         :           |                     |                        :
       XX.doc        |                     V                        V
     (オプション)    |                 master.doc ->-------->------>+
         :           |                    (新)                      |
         V           V                     |                        |
      [po4a-gettextize]   doc.XX.po--->+   |                        |
              |             (旧)       |   |                        |
              |              ^         V   V                        |
              |              |     [po4a-updatepo]                  |
              V              |           |                          V
       translation.pot       ^           V                          |
              |              |        doc.XX.po                     |
              |              |         (fuzzy)                      |
           { 翻訳 }          |           |                          |
              |              ^           V                          V
              |              |       {手動編集}                     |
              |              |           |                          |
              V              |           V                          V
          doc.XX.po --->---->+<---<--- doc.XX.po    addendum     master.doc
            (初期)                     (最新化)   (オプション)    (最新化)
              :                          |            |             |
              :                          V            |             |
              +----->----->----->------> +            |             |
                                         |            |             |
                                         V            V             V
                                         +------>-----+------<------+
                                                      |
                                                      V
                                               [po4a-translate]
                                                      |
                                                      V
                                                    XX.doc
                                                   (最新化)

note: type: textblock
en: This schema is complicated, but in practice only the right part (involving L<po4a-updatepo(1)> and L<po4a-translate(1)>) is used once the project is setup and configured.
ja: このスキーマは複雑ですが、一度プロジェクトが立ち上がり設定されれば、実際には（L<po4a-updatepo(1)> と L<po4a-translate(1)> を含む）右の部分だけが使用されます。

note: type: textblock
en: The left part depicts how L<po4a-gettextize(1)> can be used to convert an existing translation project to the po4a infrastructure. This script takes an original document and its translated counterpart, and tries to build the corresponding PO file. Such manual conversion is rather cumbersome (see the L<po4a-gettextize(1)> documentation for more details), but it is only needed once to convert your existing translations. If you don't have any translation to convert, you can forget about this and focus on the right part of the schema.
ja: 左の部分は、L<po4a-gettextize(1)>を使って、既存の翻訳プロジェクトをpo4aのインフラへと変換する方法を示しています。このスクリプトは、元の文書と翻訳された対応する文書を受け取り、対応するPOファイルを構築しようとします。このような手動変換はかなり面倒ですが（詳しくは L<po4a-gettextize(1)> のドキュメントを参照してください）、既存の翻訳を変換するために一度だけ必要になります。もし変換する翻訳がなければこのことは忘れてよく、スキーマの右の部分に集中することができます。

note: type: textblock
en: On the top right part, the action of the original author is depicted, updating the documentation. The middle right part depicts the automatic actions of L<po4a-updatepo(1)>. The new material is extracted and compared against the exiting translation. The previous translation is used for the parts that didn't change, while partially modified parts are connected to the previous translation with a "fuzzy" marker indicating that the translation must be updated. New or heavily modified material is left untranslated.
ja: 右上には原著作者が文書を更新する動作が図示されています。右中段にはL<po4a-updatepo(1)>の自動的な動作が示されています。新しい資料が抽出され、既存の翻訳と比較されます。変更されていない部分には以前の翻訳が使用され、部分的に変更された部分には、翻訳を更新する必要があることを示す "fuzzy" の印が以前の翻訳に付けられます。新しい部分や大きく変更された箇所は翻訳されないまま残されます。

note: type: textblock
en: Then, the I<manual editing> reported depicts the action of the translators, that modify the PO files to provide translations to every original string and paragraph. This can be done using either a specific editor such as the B<GNOME Translation Editor>, KDE's B<Lokalize> or B<poedit>, or using an online localization platform such as B<weblate> or B<pootle>. The translation result is a set of PO files, one per language. Please refer to the gettext documentation for more details.
ja: 次に、I<手動編集>では、翻訳者がPOファイルを修正して、すべての元の文字列と段落に翻訳を提供する動作が表されていることがわかります。これは、B<GNOME Translation Editor> や KDE の B<Lokalize> や B<poedit> などの特定のエディタ、あるいは B<weblate> や B<pootle> などのオンライン現地語化プラットフォームを使用して行うことができます。翻訳結果は、1言語につき1つのPOファイルの集まりです。詳細は gettext のドキュメントを参照してください。

note: type: textblock
en: The bottom part of the figure shows how L<po4a-translate(1)> creates a translated source document from the F<master.doc> original document and the F<doc.XX.po> translation catalog that was updated by the translators. The structure of the document is reused, while the original content is replaced by its translated counterpart. Optionally, an addendum can be used to add some extra text to the translation. This is often used to add the name of the translator to the final document. See below for details.
ja: 図の下部は、L<po4a-translate(1)>が元の文書である F<master.doc>と翻訳者によって更新された翻訳カタログである F<doc.XX.po>から翻訳された文書のソースを作成する様子を示しています。文書の構造は再利用され、元の内容は翻訳された対応部分に置き換えられます。オプションとして、addendumを使用して翻訳に追加でテキストを差し込むことができます。これは、最終的な文書に翻訳者の名前を追加するためによく使用されます。詳しくは以下をご覧ください。

note: type: textblock
en: As noted before, the L<po4a(1)> program combines the effects of the separated scripts, updating the PO files and the translated document in one invocation.  The underlying logic remains the same.
ja: 先に述べたように、L<po4a(1)>プログラムは、分離されたスクリプトの機能を統合し、1回の呼び出しでPOファイルと翻訳文書を更新するものです。通底する仕組みは同じです。

note: type: =head2
en: Starting a new translation
ja: 新規翻訳を始めるには

note: type: textblock
en: If you use L<po4a(1)>, there is no specific step to start a translation. You just have to list the languages in the configuration file, and the missing PO files are automatically created. Naturally, the translator then have to provide translations for every content used in your documents. L<po4a(1)> also creates a POT file, that is a PO template file. Potential translators can translate your project into a new language by renaming this file and providing the translations in their language.
ja: L<po4a(1)>を使用する場合、翻訳を開始するための特別な手順はありません。設定ファイルに言語を列挙するだけで、不足分のPOファイルは自動的に作成されます。当然ながら、翻訳者は文書で使用されているすべての内容の翻訳を提供する必要があります。L<po4a(1)> は POT ファイル、つまり PO テンプレートファイルも作成します。このファイルの名前を変更し、何らかの言語で翻訳を提供することによって、プロジェクトを新しい言語に翻訳する翻訳者が現れるかもしれません。

note: type: textblock
en: If you prefer to use the individual scripts separately, you should use L<po4a-gettextize(1)> as follows to create the POT file. This file can then be copied into F<XX.po> to initiate a new translation.
ja: もし、個々のスクリプトを別々に使いたい場合は、以下のように L<po4a-gettextize(1)> を使って POT ファイルを作成するとよいでしょう。このファイルを F<XX.po> に複製すれば新しい翻訳を開始することができます。

note: type: textblock
en: The master document is used in input, while the POT file is the output of this process.
ja: 入力にはマスター文書が使われ、この処理による出力はPOTファイルになります。

note: type: =head2
en: Integrating changes to the original document
ja: 元の文書の変更の統合

note: type: textblock
en: The script to use for that is L<po4a-updatepo(1)> (please refer to its documentation for details):
ja: そのためのスクリプトがL<po4a-updatepo(1)>です（詳しくはそのドキュメントを参照してください）：

note: type: textblock
en: The master document is used in input, while the PO file is updated: it is used both in input and output.
ja: マスター文書は入力で使用され、PO ファイルは更新されます。つまり入力と出力の両方で使用されます。

note: type: =head2
en: Generating a translated document
ja: 翻訳済み文書を生成する

note: type: textblock
en: Once you're done with the translation, you want to get the translated documentation and distribute it to users along with the original one.  For that, use the L<po4a-translate(1)> program as follows:
ja: 一度翻訳が完了したら、翻訳された文書を取得して元のものと一緒に利用者に配布したいでしょう。そのためには以下のように L<po4a-translate(1)> プログラムを使用してください：

note: type: textblock
en: Both the master and PO files are used in input, while the localized file is the output of this process.
ja: マスターファイルとPOファイルは両方とも入力で使われ、現地化されたファイルはこの過程の出力となります。

note: type: =head2
en: Using addenda to add extra text to translations
ja: 補遺を使って翻訳に追加のテキストを入れる

note: type: textblock
en: Adding new text to the translation is probably the only thing that is easier in the long run when you translate files manually :). This happens when you want to add an extra section to the translated document, not corresponding to any content in the original document. The classical use case is to give credits to the translation team, and to indicate how to report translation-specific issues.
ja: ファイルを手動で翻訳する管理をしていれば、翻訳文に新しいテキストを追加することは、長い目で見れば恐らくどんな管理方法よりも簡単でしょう :)。こうしたことは翻訳された文書に、元の文書のどの内容にも対応しない追加部分を入れたい場合に起こります。古典的な使用例としては、翻訳チームに謝辞を述べたり、翻訳特有の問題を報告する方法を示したりすることがあります。

note: type: textblock
en: With po4a, you have to specify B<addendum> files, that can be conceptually viewed as patches applied to the localized document after processing. Each addendum must be provided as a separate file, which format is however very different from the classical patches. The first line is a I<header line>, defining the insertion point of the addendum (with an unfortunately cryptic syntax -- see below) while the rest of the file is added verbatim at the determined position.
ja: po4a では B<addendum> ファイルを指定しなければなりませんが、これは概念的に処理後に現地化された文書に適用されるパッチと見なすことができます。各補遺は別々のファイルとして与えられていなければなりませんが、その形式は従来のパッチとは全く異なっています。最初の行は I<header line> で、補遺の挿入位置を定義し（残念ながら不可解な構文で……。後述）、ファイルの残りの部分は決められた位置にそのまま追加されます。

note: type: textblock
en: The header line must begin with the string B<PO4A-HEADER:>, followed by a semi-colon separated list of I<key>B<=>I<value> fields.
ja: ヘッダ行は、文字列 B<PO4A-HEADER:>で始まり、I<key>B<=>I<value>フィールドのリストをセミコロンで区切ったものが続く必要があります。

note: type: textblock
en: For example, the following header declares an addendum that must be placed at the very end of the translation.
ja: 例えば以下のヘッダは翻訳の一番最後に置かなければならない補遺を宣言しています。

note: type: textblock
en: Things are more complex when you want to add your extra content in the middle of the document. The following header declares an addendum that must be placed after the XML section containing the string C<About this document> in translation.
ja: 文書の途中に追加の内容を入れたい場合、話はより複雑になります。以下のヘッダは補遺を C<About this document>という文字列を含むXMLのsectionの後に置かなければならないと宣言しています。

note: type: textblock
en: In practice, when trying to apply an addendum, po4a searches for the first line matching the C<position> argument (this can be a regexp). Do not forget that po4a considers the B<translated> document here. This documentation is in English, but your line should probably read as follows if you intend your addendum to apply to the French translation of the document.
ja: 実際には、補遺を適用しようとするとき、po4aはC<position>引数（これは正規表現でも構いません）に照合する最初の行を探します。po4aはここでB<翻訳された>の文書を考慮することを忘れないでください。この文書は英語ですが、補遺がフランス語に翻訳された文書に適用されることを意図しているなら、行はおそらく次のようなものにするべきでしょう。

note: type: textblock
en: Once the C<position> is found in the target document, po4a searches for the next line after the C<position> that matches the provided C<endboundary>. The addendum is added right B<after> that line (because we provided an I<endboundary>, i.e. a boundary ending the current section).
ja: C<position>が対象の文書で見つかると、po4aはC<position>以降で与えられた C<endboundary>に照合する行を探します。その行のすぐB<後ろ>に補遺が追加されます（なぜなら現在の節が終わる境界である I<endboundary>を与えたためです）。

note: type: textblock
en: The exact same effect could be obtained with the following header, that is equivalent:
ja: ちょうど同じ効果が以下のヘッダでも付与でき、等価です。

note: type: textblock
en: Here, po4a searches for the first line matching C<<section>> after the line matching C<About this document> in the translation, and add the addendum B<before> that line since we provided a I<beginboundary>, i.e. a boundary marking the beginning of the next section. So this header line requires to place the addendum after the section containing C<About this document>, and instruct po4a that a section starts with a line containing the C<<section>> tag. This is equivalent to the previous example because what you really want is to add this addendum either after C</section>> or before C<<section>>.
ja: ここでは、po4a は翻訳の中の C<About this document> に照合する行の後にある C<<section>> に照合する最初の行を探し、I<beginboundary>、つまり次の節の始まりを示す境界を与えたのでその行の B<前に> 補遺を追加するのです。ですから、このヘッダ行は、C<About this document>を含む節の後に補遺を置き、C<<section>>タグを含む行から節が始まるとpo4aに指示する必要があります。これは前の例と同じです。なぜなら本当にしたいことはこの補遺を C</section> の後か C<<section> の前に追加することだからです。

note: type: textblock
en: You can also set the insertion I<mode> to the value C<before>, with a similar semantic: combining C<mode=before> with an C<endboundary> will put the addendum just B<after> the matched boundary, that the last potential boundary line before the C<position>. Combining C<mode=before> with an C<beginboundary> will put the addendum just B<before> the matched boundary, that the last potential boundary line before the C<position>.
ja: 挿入 l<mode>を値 C<before>に設定することもでき、これは似た意味を持ちます。 C<mode=before>と C<endboundary>を組み合わせると、照合した境界のちょうど B<後ろ>に補遺を置き、最後の潜在的な境界線が C<position>の前に来ます。C<mode=before>と C<beginboundary>を組み合わせると照合した境界のちょうど B<前に> 補遺が置かれ、最後の潜在的な境界線が C<position>の前に来ます。

note: type: =head3
en: Hint and tricks about addenda
ja: 補遺についてのヒントとコツ

note: type: textblock
en: Remember that these are regexp. For example, if you want to match the end of a nroff section ending with the line C<.fi>, do not use C<.fi> as B<endboundary>, because it will match with C<the[ fi]le>, which is obviously not what you expect. The correct B<endboundary> in that case is: C<^\.fi$>.
ja: これらが正規表現であることを覚えておいてください。例えば C<.fi>で終わるnroffの節の終端に照合させたいときは、B<endboundary> として C<.fi> を使用しないでください。明らかに想定していない C<the[ fi]le> にも照合してしまいます。この場合の正しい B<endboundary> は C<^\.fi$> です。

note: type: textblock
en: White spaces ARE important in the content of the C<position> and boundaries. So the two following lines B<are different>. The second one will only be found if there is enough trailing spaces in the translated document.
ja: C<position>と境界の内容の中ではまさに空白が要です。ですから、次の2つの行B<は異なります>。2番目の行は、翻訳された文書に充分な後続の空白がある場合にのみ検出されます。

note: type: textblock
en: Although this context search may be considered to operate roughly on each line of the B<translated> document, it actually operates on the internal data string of the translated document. This internal data string may be a text spanning a paragraph containing multiple lines or may be a XML tag itself alone. The exact I<insertion point> of the addendum must be before or after the internal data string and can not be within the internal data string.
ja: この文脈検索は、B<翻訳>文書の各行に対して大まかに操作しているように思われますが、実際には翻訳文書の内部データ文字列に対して操作しています。この内部データ文字列は、複数行を含む段落にまたがるテキストでやXMLタグそのものになりえます。補遺の正確なI<挿入点>は、内部データ文字列の前か後でなければならず、内部データ文字列の中にあることはできません。

note: type: textblock
en: Pass the B<-vv> argument to po4a to understand how the addenda are added to the translation. It may also help to run po4a in debug mode to see the actual internal data string when your addendum does not apply.
ja: po4aにB<-vv>引数を渡すと、どのように補遺が翻訳に追加されるかを理解することができます。また、補遺が適用されないときの実際の内部データ文字列を見るために、po4aをデバッグモードで実行することも役に立つかもしれません。

note: type: =head3
en: Addenda examples
ja: 補遺の例

note: type: textblock
en: If you want to add something after the following nroff section:
ja: 以下の nroff 節の後に何か追加したいとします:

note: type: textblock
en: You should select a two step approach by setting B<mode=after>. Then you should narrow down search to the line after B<AUTHORS> with the B<position> argument regex. Then, you should match the beginning of the next section (i.e., B<^\.SH>) with the B<beginboundary> argument regex. That is to say:
ja: B<mode=after>を設定して2工程の手法を選択します。それから B<position>引数の正規表現でB<AUTHORS>の後の行に検索を絞り込みます。次に、B<beginboundary>引数の正規表現で、次の節の先頭（つまりB<^.SH>）に照合させます。つまり次のようになります。

note: type: textblock
en: If you want to add something right after a given line (e.g. after the line "Copyright Big Dude"), use a B<position> matching this line, B<mode=after> and give a B<beginboundary> matching any line.
ja: 与えられた行の直後に何かを追加したければ、この行に照合するB<position>とB<mode=after>を使い、任意の行に照合するB<beginboundary>を与えてください。

note: type: textblock
en: If you want to add something at the end of the document, give a B<position> matching any line of your document (but only one line. Po4a won't proceed if it's not unique), and give an B<endboundary> matching nothing. Don't use simple strings here like B<"EOF">, but prefer those which have less chance to be in your document.
ja: ドキュメントの最後に何か追加したい場合、B<position> はドキュメントの任意の行 (しかし 1 行のみ。ユニークでないと po4a は処理しません) にマッチするように与え、B<endboundary> は何もマッチしないように与えます。B<"EOF"> のような単純な文字列を使用せず、ドキュメントにたまたま含まれているものを使用してください。

note: type: =head3
en: More detailed example
ja: もっと詳細な例

note: type: textblock
en: Original document (POD formatted):
ja: オリジナルドキュメント (POD フォーマット):

note: type: textblock
en: Then, the following addendum will ensure that a section (in French) about the translator is added at the end of the file (in French, "TRADUCTEUR" means "TRANSLATOR", and "moi" means "me").
ja: そして、以下の補遺は確実に（フランス語で）翻訳者についての節をファイルの最後に追加されます（フランス語の "TRADUCTEUR" は "TRANSLATOR"、"moi" は "me" の意味です）。

note: type: textblock
en: To put your addendum before the AUTHOR, use the following header:
ja: AUTHOR の前に追加内容を追加するには、以下のヘッダを使用してください:

note: type: textblock
en: This works because the next line matching the B<beginboundary> /^=head1/ after the section "NAME" (translated to "NOM" in French), is the one declaring the authors. So, the addendum will be put between both sections. Note that if another section is added between NAME and AUTHOR sections later, po4a will wrongfully put the addenda before the new section.
ja: これは、"NAME" 節（フランス語では "NOM"と翻訳される）の後にある B<beginboundary> /^=head1/ に照合した次の行が作者を宣言しているからうまくいくのです。そのため、両方の節の間に追加内容が挿入されます。なお他の節がNAMEとAUTHORの節に後で追加される場合、po4aは補遺を新しい節の前に置くため間違ったことになります。

note: type: textblock
en: To avoid this you may accomplish the same using B<mode>=I<before>:
ja: これを防ぐためにB<mode>=l<before>を使って同じことを達成できます：

note: type: =head1
en: How does it work?
ja: どのように動作しますか?

note: type: textblock
en: This chapter gives you a brief overview of the po4a internals, so that you may feel more confident to help us maintaining and improving it. It may also help you understanding why it does not do what you expected, and how to solve your problems.
ja: この章では、保守改良を自信を持って助けていただけるよう po4a 内部の概要を説明します。また、なぜ思ったように動作しないか、どのように問題を解決すればいいかを理解する助けになるかもしれません。

note: type: textblock
en: The po4a architecture is object oriented. The L<Locale::Po4a::TransTractor(3pm)|TransTractor> class is the common ancestor to all po4a parsers. This strange name comes from the fact that it is at the same time in charge of translating document and extracting strings.
ja: po4a のアーキテクチャはオブジェクト指向です。L<Locale::Po4a::TransTractor(3pm)|TransTractor>クラスは全てのpo4a構文解析器に共通する先祖です。このヘンな名前は、文書の翻訳と文字列の抽出を同時に行うところから付けられています。

note: type: textblock
en: More formally, it takes a document to translate plus a PO file containing the translations to use as input while producing two separate outputs: Another PO file (resulting of the extraction of translatable strings from the input document), and a translated document (with the same structure than the input one, but with all translatable strings replaced with content of the input PO). Here is a graphical representation of this:
ja: もっと形式張っていうと、入力として翻訳するドキュメントと翻訳が入っている PO ファイルを取り、結果を以下の二つに分けて出力します。別の PO ファイル (入力ドキュメントから翻訳可能な文字列を抽出した結果) と、翻訳済みドキュメント (入力したファイルと同じ構造ですが、翻訳可能な文字列は入力 PO ファイルの内容で置換されているファイル) です。以下に図示します:

note: type: verbatim
en:    Input document --\                             /---> Output document
                         \      TransTractor::       /       (translated)
                          +-->--   parse()  --------+
                         /                           \
       Input PO --------/                             \---> Output PO
                                                             (extracted)
ja:    入力ドキュメント-\                             /---> 出力ドキュメント
                         \      TransTractor::       /         (翻訳済み)
                          +-->--   parse()  --------+
                         /                           \
       入力 PO ---------/                             \---> 出力 PO
                                                             (抽出済み)

note: type: textblock
en: This little bone is the core of all the po4a architecture. If you omit the input PO and the output document, you get B<po4a-gettextize>. If you provide both input and disregard the output PO, you get B<po4a-translate>. The B<po4a> calls TransTractor twice and calls B<msgmerge -U> between these TransTractor invocations to provide one-stop solution with a single configuration file.  Please see L<Locale::Po4a::TransTractor(3pm)> for more details.
ja: この小さな骨子は、po4a アーキテクチャの中核全てを表しています。入力 のPO や出力文書を省略すると、B<po4a-gettextize> になります。両方の入力を行い、出力のPO を無視すると、B<po4a-translate> になります。B<po4a>は2度TransTractorを呼び出し、そのTransTractorの呼び出しの間にB<msgmerge -U>を呼び出すことで、1つの設定ファイルでワンストップの解決策を提供しているのです。詳しくはL<Locale::Po4a::TransTractor(3pm)>を見てください。

note: type: =head1
en: Open-source projects using po4a
ja: po4aを使っているオープンソースプロジェクト

note: type: textblock
en: Here is a very partial list of projects that use po4a in production for their documentation. If you want to add your project to the list, just drop us an email (or a Merge Request).
ja: 以下はプロダクション環境でドキュメント用にpo4aを使っているプロジェクトのほんの一部の一覧です。もし一覧へのご自身のプロジェクトの追加をご希望でしたらEメール（またはマージリクエスト）をお寄せください。

note: type: textblock
en: adduser (man): users and groups management tool.
ja: adduser (man): ユーザーとグループの管理ツール。

note: type: textblock
en: apt (man, docbook): Debian package manager.
ja: apt (man, docbook): Debianのパッケージ管理。

note: type: textblock
en: aptitude (docbook, svg): terminal-based package manager for Debian
ja: aptitude (docbook, svg): Debian用の端末ベースのパッケージ管理

note: type: textblock
en: L<F-Droid website|https://gitlab.com/fdroid/fdroid-website> (markdown): installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform.
ja: L<F-DroidのWebサイト|https://gitlab.com/fdroid/fdroid-website> (markdown): Androidプラットフォーム用のインストール可能なFOSS（自由でオープンソースなソフトウェア）の目録。

note: type: textblock
en: L<git|https://github.com/jnavila/git-manpages-l10n> (asciidoc): distributed version-control system for tracking changes in source code.
ja: L<git|https://github.com/jnavila/git-manpages-l10n> (asciidoc): ソースコードの変更を追跡するための分散バージョン管理システム。

note: type: textblock
en: L<Linux manpages|https://salsa.debian.org/manpages-l10n-team/manpages-l10n> (man)
ja: L<Linux manページ|https://salsa.debian.org/manpages-l10n-team/manpages-l10n> (man)

note: type: textblock
en: This project provides an infrastructure for translating many manpages to different languages, ready for integration into several major distributions (Arch Linux, Debian and derivatives, Fedora).
ja: このプロジェクトは多くのパッケージと別の言語に翻訳するインフラを提供しており、複数の主要なディストリビューション（Arch Linux、Debianとその派生、Fedora）への統合の準備が整っています。

note: type: textblock
en: L<Stellarium|https://github.com/Stellarium/stellarium> (HTML): a free open source planetarium for your computer. po4a is used to translate the sky culture descriptions.
ja: L<Stellarium|https://github.com/Stellarium/stellarium> (HTML): 手元のコンピュータ用の自由でオープンソースなプラネタリウム。po4aは空の文化の説明を翻訳するために使われています。

note: type: textblock
en: Other item to sort out: L<https://gitlab.com/fdroid/fdroid-website/> L<https://github.com/fsfe/reuse-docs/pull/61>
ja: その他未整理の項目： L<https://gitlab.com/fdroid/fdroid-website/> L<https://github.com/fsfe/reuse-docs/pull/61>

note: type: =head2
en: How do you pronounce po4a?
ja: po4aはどう発音するのですか？

note: type: textblock
en: I personally vocalize it as L<pouah|https://en.wiktionary.org/wiki/pouah>, which is a French onomatopoetic that we use in place of yuck :) I may have a strange sense of humor :)
ja: 個人的には<pouah|https://en.wiktionary.org/wiki/pouah>と発声しており、これは yuck の意味のフランス語の擬音語です :)。ヘンなユーモアのセンスかもしれません :)

note: type: =head2
en: What about the other translation tools for documentation using gettext?
ja: gettext を使ったドキュメント翻訳ツールは他に何がありますか?

note: type: textblock
en: There are a few of them. Here is a possibly incomplete list, and more tools are coming at the horizon.
ja: いくつかあります。以下は恐らく不完全な一覧で、もっと多くのツールが現れてきています。

note: type: textblock
en: This is the tool developed by KDE people to handle DocBook XML. AFAIK, it was the first program to extract strings to translate from documentation to PO files, and inject them back after translation.
ja: KDE の人たちが DocBook XML を扱うために開発したツールです。知る限りでは、ドキュメントから PO ファイルへ翻訳する文字列を抽出し、翻訳後に注入する初めてのプログラムです。

note: type: textblock
en: It can only handle XML, and only a particular DTD. I'm quite unhappy with the handling of lists, which end in one big msgid. When the list become big, the chunk becomes harder to swallow.
ja: これは XML のみ、さらに特定の DTD のみを扱えます。リストが一つの大きな msgid になってしまうため、私はリストの扱いにかなり不満があります。リストが大きくなると、ひとかたまりの構造をつかみにくくなります。

note: type: textblock
en: This program done by Denis Barbier is a sort of precursor of the po4a SGML module, which more or less deprecates it. As the name says, it handles only the DebianDoc DTD, which is more or less a deprecated DTD.
ja: Denis Barbier によって作られたこのプログラムは、多少の異論があるとはいえ po4a SGML モジュールの先駆けといえます。名前の通り、少々非推奨の DTD である DebianDoc DTD のみを扱います。

note: type: textblock
en: Used by the GIMP Documentation Team since 2004, works quite well even if, as the name suggests, only with XML files and needs specially configured makefiles.
ja: 2004年からGIMPドキュメントチームに使われています。名前から推測されるようにXMLファイルのみ対応であり、特有のMakefileの設定が必要ですが、かなり良く動作します。

note: type: textblock
en: The Sphinx Documentation Project also uses gettext extensively to manage its translations. Unfortunately, it works only for a few text formats, rest and markdown, although it is perhaps the only tool that does this managing the whole translation process.
ja: Sphinx文書プロジェクトも翻訳を管理するためにgettextをふんだんに使っています。翻訳過程の全体を管理する恐らく唯一のツールではありますが、不運にもreSTやMarkdownといったいくつかのテキスト形式でのみ動作します。

note: type: textblock
en: The main advantages of po4a over them are the ease of extra content addition (which is even worse there) and the ability to achieve gettextization.
ja: 以上に対する po4a の主な利点は、簡単に内容を追加できること (欠点かもしれませんが) と、gettext 化が簡単なことです。

note: type: =head2
en: SUMMARY of the advantages of the gettext based approach
ja: gettext ベースアプローチの利点まとめ

note: type: textblock
en: The translations are not stored along with the original, which makes it possible to detect if translations become out of date.
ja: 翻訳はオリジナルと一緒に保存されません。その翻訳が古くなった場合、検出することが可能となります。

note: type: textblock
en: The translations are stored in separate files from each other, which prevents translators of different languages from interfering, both when submitting their patch and at the file encoding level.
ja: 翻訳は互いに別々のファイルに格納され、異なる言語の翻訳者がパッチの提供やエンコードレベルの干渉を、互いに受けないようにします。

note: type: textblock
en: It is based internally on B<gettext> (but B<po4a> offers a very simple interface so that you don't need to understand the internals to use it).  That way, we don't have to re-implement the wheel, and because of their wide use, we can think that these tools are more or less bug free.
ja: 内部的には B<gettext> をベースにしています (が、B<po4a> は非常にシンプルなインターフェースを提供するので、内部で使用していることを理解する必要はありません)。そんなところで車輪の再発明をする必要はなく、これは広く用いられているので、バグに悩まされることはないと考えていいでしょう。

note: type: textblock
en: Nothing changed for the end-user (beside the fact translations will hopefully be better maintained). The resulting documentation file distributed is exactly the same.
ja: エンドユーザにとっては何も変化ありません (願わくば翻訳がよりよく保守されるようになる、という事実は置いておいて)。出来上がりの配布されるファイルはまったく同じです。

note: type: textblock
en: No need for translators to learn a new file syntax and their favorite PO file editor (like Emacs' PO mode, Lokalize or Gtranslator) will work just fine.
ja: 翻訳者は、新しいファイルの文法を学習する必要はなく、好みの PO ファイルエディタ (Emacs の PO mode や、Lokalize、Gtranslator など) でうまく動作します。

note: type: textblock
en: gettext offers a simple way to get statistics about what is done, what should be reviewed and updated, and what is still to do. Some example can be found at those addresses:
ja: gettext は、完了しているもの (t)、レビューや更新が必要なもの (f)、そしてまだ翻訳作業が残っているもの (u) について、統計を取得する簡単な方法を提供しています。以下のアドレスでいくつか例を見つけることができます:

note: type: textblock
en: But everything isn't green, and this approach also has some disadvantages we have to deal with.
ja: しかし、すべて問題ないわけではありません。このアプローチには対処するべき欠点もあります。

note: type: textblock
en: Addenda are… strange at the first glance.
ja: 補遺は……一見して、変です。

note: type: textblock
en: You can't adapt the translated text to your preferences, like splitting a paragraph here, and joining two other ones there. But in some sense, if there is an issue with the original, it should be reported as a bug anyway.
ja: 翻訳したテキストを、段落をここで分割する、二つの段落を片方に結合するといった、あなたの好みに合わせることができません。しかし、オリジナルに問題があるのであれば、とりあえずバグとして報告すべきだ、という意見もあります。

note: type: textblock
en: Even with an easy interface, it remains a new tool people have to learn.
ja: 簡単なインターフェースですが、学習が必要な新しいツールのままです。

note: type: textblock
en: One of my dreams would be to integrate somehow po4a to Gtranslator or Lokalize. When a documentation file is opened, the strings are automatically extracted, and a translated file + po file can be written to disk. If we manage to do an MS Word (TM) module (or at least RTF) professional translators may even use it.
ja: 私の夢の一つは Gtranslator や Lokalize に何らかの形で統合することです。文書ファイルを開くと文字列を自動的に抽出し、翻訳されたファイルとPOファイルをディスクに書き込みます。MS Word (TM) モジュール (少なくとも RTF) でこれができれば、プロの翻訳家もこれを使ってくれるかも知れません。

note: type: textblock
en: The documentation of the all-in-one tool that you should use: L<po4a(1)>.
ja: 全てが1つに集まっている使うべきツールであるL<po4a(1)>のドキュメント。

note: type: textblock
en: The documentation of the individual po4a scripts: L<po4a-gettextize(1)>, L<po4a-updatepo(1)>, L<po4a-translate(1)>, L<po4a-normalize(1)>.
ja: 個別のpo4aスクリプトのドキュメントは次の通り： L<po4a-gettextize(1)>、 L<po4a-updatepo(1)>、 L<po4a-translate(1)>、 L<po4a-normalize(1)>。

note: type: textblock
en: The additional helping scripts: L<msguntypot(1)>, L<po4a-display-man(1)>, L<po4a-display-pod(1)>.
ja: 追加の補助スクリプト：L<msguntypot(1)>、L<po4a-display-man(1)>、L<po4a-display-pod(1)>。

note: type: textblock
en: The parsers of each formats, in particular to see the options accepted by each of them: L<Locale::Po4a::AsciiDoc(3pm)> L<Locale::Po4a::Dia(3pm)>, L<Locale::Po4a::Guide(3pm)>, L<Locale::Po4a::Ini(3pm)>, L<Locale::Po4a::KernelHelp(3pm)>, L<Locale::Po4a::Man(3pm)>, L<Locale::Po4a::RubyDoc(3pm)>, L<Locale::Po4a::Texinfo(3pm)>, L<Locale::Po4a::Text(3pm)>, L<Locale::Po4a::Xhtml(3pm)>, L<Locale::Po4a::Yaml(3pm)>, L<Locale::Po4a::BibTeX(3pm)>, L<Locale::Po4a::Docbook(3pm)>, L<Locale::Po4a::Halibut(3pm)>, L<Locale::Po4a::LaTeX(3pm)>, L<Locale::Po4a::Pod(3pm)>, L<Locale::Po4a::Sgml(3pm)>, L<Locale::Po4a::TeX(3pm)>, L<Locale::Po4a::Wml(3pm)>, L<Locale::Po4a::Xml(3pm)>.
ja: それぞれのフォーマットの構文解析器は次の通り。詳しくはそれぞれの解析器で受け付けるオプションを見てください：L<Locale::Po4a::AsciiDoc(3pm)> L<Locale::Po4a::Dia(3pm)>, L<Locale::Po4a::Guide(3pm)>, L<Locale::Po4a::Ini(3pm)>, L<Locale::Po4a::KernelHelp(3pm)>, L<Locale::Po4a::Man(3pm)>, L<Locale::Po4a::RubyDoc(3pm)>, L<Locale::Po4a::Texinfo(3pm)>, L<Locale::Po4a::Text(3pm)>, L<Locale::Po4a::Xhtml(3pm)>, L<Locale::Po4a::Yaml(3pm)>, L<Locale::Po4a::BibTeX(3pm)>, L<Locale::Po4a::Docbook(3pm)>, L<Locale::Po4a::Halibut(3pm)>, L<Locale::Po4a::LaTeX(3pm)>, L<Locale::Po4a::Pod(3pm)>, L<Locale::Po4a::Sgml(3pm)>, L<Locale::Po4a::TeX(3pm)>, L<Locale::Po4a::Wml(3pm)>, L<Locale::Po4a::Xml(3pm)>。

note: type: textblock
en: The implementation of the core infrastructure: L<Locale::Po4a::TransTractor(3pm)> (particularly important to understand the code organization), L<Locale::Po4a::Chooser(3pm)>, L<Locale::Po4a::Po(3pm)>, L<Locale::Po4a::Common(3pm)>. Please also check the F<CONTRIBUTING.md> file in the source tree.
ja: インフラの中核の実装は L<Locale::Po4a::TransTractor(3pm)>（中核の組織立てを理解するのにとりわけ重要）、L<Locale::Po4a::Chooser(3pm)>、L<Locale::Po4a::Po(3pm)>、L<Locale::Po4a::Common(3pm)>にあります。ソースツリー中のF<CONTRIBUTING.md>ファイルもご確認ください。

note: type: textblock
en: Locale::Po4a::AsciiDoc - convert AsciiDoc documents from/to PO files
ja: Locale::Po4a::AsciiDoc - PO ファイルと AsciiDoc ドキュメントの変換

note: type: textblock
en: Locale::Po4a::AsciiDoc is a module to help the translation of documentation in the AsciiDoc format.
ja: Locale::Po4a::AsciiDoc は、AsciiDoc フォーマットのドキュメントを翻訳するのを助けるモジュールです。

note: type: =head1
en: OPTIONS ACCEPTED BY THIS MODULE
ja: このモジュールで使用できるオプション

note: type: textblock
en: These are this module's particular options:
ja: 以下は、このモジュール固有のオプションです:

note: type: textblock
en: The name of a file containing definitions for po4a, as defined in the B<INLINE CUSTOMIZATION> section.  You can use this option if it is not possible to put the definitions in the document being translated.
ja: B<インラインカスタマイズ> 節で定義されるような、po4a 用の定義を含むファイル名です。翻訳されるドキュメントに定義を置けない場合、このオプションを利用できます。

note: type: textblock
en: In a definitions file, lines must not start by two slashes, but directly by B<po4a:>.
ja: 定義ファイルでは、行は二つのスラッシュではなく直接 B<po4a:> で開始しなくてはなりません。

note: type: textblock
en: Space-separated list of attribute entries you want to translate.  By default, no attribute entries are translatable.
ja: 翻訳したい属性エントリの空白区切りリストです。デフォルトでは、翻訳する属性エントリはありません。

note: type: textblock
en: Space-separated list of macro definitions.
ja: マクロ定義の空白区切りリストです。

note: type: textblock
en: Space-separated list of style definitions.
ja: スタイル定義の空白区切りリストです。

note: type: textblock
en: Enable automatic line wrapping in non-verbatim blocks, even if the result could be misinterpreted by AsciiDoc formatters.
ja: 結果がAsciiDocフォーマッタによって誤って解釈される可能性があるとしても、逐語的でないブロックの自動的な行の折り返しを有効にします。

note: type: textblock
en: By default, po4a will not wrap the produced AsciiDoc files because a manual inspection is mandated to ensure that the wrapping does not change the formatting. Consider for instance the following list item:
ja: 既定では、po4aは生成されたAsciiDocファイルについては折り返しをしません。折り返しによってフォーマットが変更されないことを確実にするために、手動での検査に委ねられているからです。例えば、次のようなリスト項目を考えてみましょう。

note: type: textblock
en: If the wrapping leads to the following presentation, the item is split into a numbered sub-list. To make things worse, only the speakers of the language used in the translation can inspect the situation.
ja: 折り返しによって次のような表示になる場合、その項目は番号のついた副リストに分割されます。さらに悪いことに、翻訳に使用された言語の話者しか検査することができません。

note: type: textblock
en: Note that not wrapping the files produced by po4a should not be a problem since those files are meant to be processed automatically.  They should not be regarded as source files anyway.
ja: なおpo4aによって生成されるファイルが折り返されないのは問題ではないでしょう。これらのファイルは自動的に処理されるためのものだからです。なんにせよソースファイルとして見做すべきではありません。

note: type: textblock
en: With this option, po4a will produce better-looking source files, that may lead to possibly erroneous formatted outputs.
ja: このオプションがあればpo4aはより良い見た目のソースファイルを生成できますが、間違ってフォーマットされた出力となる可能性があります。

note: type: textblock
en: By default, the targets of block images are translatable to give opportunity to make the content point to translated images. This can be stopped by setting this option.
ja: 既定ではブロック画像の対象は翻訳可能となっており、内容を翻訳された画像に向けるようにできます。この挙動はこのオプションを設定することで止められます。

note: type: textblock
en: This option is a flag that enables sub-table segmentation into cell content.  The segmentation is limited to cell content, without any parsing inside of it.
ja: このオプションはセルの内容の副テーブル分割を有効にするフラグです。分割はセルの内容に限られ、その中の解析は行われません。

note: type: textblock
en: Switch parsing rules to compatibility with different tools. Available options are "asciidoc" or "asciidoctor". Asciidoctor has stricter parsing rules, such as equality of length of opening and closing block fences.
ja: 異なるツールとの互換性を保つために、解析規則を切り替えます。利用可能なオプションは "asciidoc " と "asciidoctor "です。Asciidoctorは、開閉ブロックフェンスの長さの等しさなど、より厳格な解析規則を持ちます。

note: type: textblock
en: Disable linting messages. When the source code cannot be fixed for clearer document structure, these messages are useless.
ja: リント文言を無効にします。ソースコードがより明確な文書構造になるように修復できなければ、こうした文言は役に立ちません。

note: type: textblock
en: Do not translate array values in the YAML Front Matter section.
ja: YAMLフロントマター節中の配列の値を翻訳しません。

note: type: =head1
en: INLINE CUSTOMIZATION
ja: インラインカスタマイズ

note: type: textblock
en: The AsciiDoc module can be customized with lines starting by B<//po4a:>.  These lines are interpreted as commands to the parser.  The following commands are recognized:
ja: AsciiDoc モジュールは、B<% po4a:> で始まる行によりカスタマイズできます。この行はパーサにコマンドとして解釈されます。以下のコマンドを認識します:

note: type: textblock
en: This describes in detail the parameters of a B<macro>; I<name> must be a valid macro name, and it ends with an underscore if the target must be translated.
ja: B<macro> パラメータの詳細を記述します。I<name> は有効なマクロ名でなければならず、ターゲットを翻訳しなければならない場合、アンダースコアで終わらなければなりません。

note: type: textblock
en: The I<attribute list> argument is a comma separated list which contains information about translatable arguments.  This list contains either numbers, to define positional parameters, or named attributes.
ja: I<attribute list> 引数は、翻訳できる引数のコンマ区切りリストです。このリストには、位置パラメータを定義する数値か、属性名のどちらでも指定できます。

note: type: textblock
en: If a plus sign (B<+>) is prepended to I<name>, then the macro and its arguments are translated as a whole.  There is no need to define attribute list in this case, but brackets must be present.
ja: I<name> の前にプラス記号 (B<+>) をつけると、マクロとその引数全体が翻訳対象になります。この場合、属性リストの定義は不要ですが、角カッコは必要です。

note: type: textblock
en: This describes in detail which attributes of a style must be translated.
ja: 翻訳されなければならないスタイルの属性を詳細に記述します。

note: type: textblock
en: The I<attribute list> argument is a comma separated list which contains information about translatable arguments.  This list contains either numbers, to define positional parameters, or named attributes.  The first attribute is the style name, it will not be translated.
ja: I<attribute list> 引数は、翻訳できる引数のコンマ区切りリストです。このリストには、位置パラメータを定義する数値か、属性名のどちらでも指定できます。先頭の属性はスタイル名で、翻訳対象になりません。

note: type: textblock
en: If a plus sign (B<+>) is prepended to the style name, then the attribute list is translated as a whole.  There is no need to define translatable attributes.
ja: スタイル名の前にプラス記号 (B<+>) をつけると、属性リスト全体が翻訳対象になります。翻訳する属性の定義は不要です。

note: type: textblock
en: If a minus sign (B<->) is prepended to the style name, then this attribute is not translated.
ja: スタイル名の前にマイナス記号 (B<->) をつけると、この属性は翻訳対象外になります。

note: type: textblock
en: This declares an attribute entry as being translatable.  By default, they are not translated.
ja: 翻訳する属性エントリを定義します。デフォルトでは翻訳しません。

note: type: =head1
en: STATUS OF THIS MODULE
ja: このモジュールの状態

note: type: textblock
en: Tested successfully on simple AsciiDoc files.
ja: シンプルな AsciiDoc ファイルでのテストが成功しています。

note: type: textblock
en: Locale::Po4a::BibTeX - convert BibTeX documents from/to PO files
ja: Locale::Po4a::BibTeX - PO ファイルと BibTeX ドキュメントの変換

note: type: textblock
en: Locale::Po4a::BibTeX is a module to help the translation of bibliographies in the BibTeX format into other [human] languages.
ja: Locale::Po4a::BibTeX は、BibTeX フォーマットの参考文献をほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: Fields values are extracted and proposed for translation.
ja: 翻訳用にフィールドの値を抽出し提案します。

note: type: textblock
en: NONE.
ja: なし。

note: type: textblock
en: It is a very simple module, but still young.
ja: 非常にシンプルなモジュールですが、まだ枯れていません。

note: type: textblock
en: Locale::Po4a::Chooser - manage po4a modules
ja: Locale::Po4a::Chooser - po4a モジュール管理

note: type: textblock
en: Locale::Po4a::Chooser is a module to manage po4a modules. Previously, all po4a binaries used to know all po4a modules (pod, man, sgml, etc). This made the addition of a new module boring, because you had to make sure that the documentation is synchronized in all modules, and that each of them can access the new module.
ja: Locale::Po4a::Chooser は po4a モジュールを管理するモジュールです。以前は、すべての po4a バイナリがすべての po4a モジュール (pod, man, sgml など) を知っていました。このため、全モジュールがドキュメントの同期を確実に取っていなくてはならなかったり、すべてのモジュールが新しいモジュールにアクセスできるようにしなければならず、新しいモジュールを追加するのはうんざりするような作業でした。

note: type: textblock
en: Now, you just have to call the Locale::Po4a::Chooser::new() function, passing the name of module as argument.
ja: 現在では Locale::Po4a::Chooser::new() 関数にモジュール名を引数として渡して呼ぶだけです。

note: type: textblock
en: The function Locale::Po4a::Chooser::list() lists the available formats, and exits with the value passed as argument. So, we call Locale::Po4a::Chooser::list(0) when requested for the list of formats, and Locale::Po4a::Chooser::list(1) when passed an invalid format name.
ja: Locale::Po4a::Chooser::list() 関数は利用可能なフォーマットを示し、そして引数として渡された値を返して終了します。そのため、フォーマットのリストを要求された場合は Locale::Po4a::Chooser::list(0) を呼び出し、渡されたフォーマットの名前が無効である場合には Locale::Po4a::Chooser::list(1) を呼び出します。

note: type: =item
en: About po4a:
ja: po4a については以下を参照してください:

note: type: =item
en: About modules:
ja: モジュールについては以下を参照してください:

note: type: textblock
en: Locale::Po4a::Common - common parts of the po4a scripts and utils
ja: Locale::Po4a::Common - po4a スクリプトの共通部分とユーティリティ

note: type: textblock
en: Locale::Po4a::Common contains common parts of the po4a scripts and some useful functions used along the other modules.
ja: Locale::Po4a::Common には、po4a スクリプトの共通部分とほかのモジュールで使用する便利な関数が含まれています。

note: type: textblock
en: If needed, you can disable the use of Text::WrapI18N as such:
ja: 必要に応じてText::WrapI18Nの使用を以下のように無効にできます。

note: type: textblock
en: instead of:
ja: 以下の代わりに:

note: type: textblock
en: The ordering is important here: as most Locale::Po4a modules load themselves Locale::Po4a::Common, the first time this module is loaded determines whether Text::WrapI18N is used.
ja: この順番は重要です。ほとんどの Locale::Po4a モジュールは、自分自身で Locale::Po4a::Common を読み込んでおり、このモジュールの初回読み込み時に、Text::WrapI18N を使用するように決定しているためです。

note: type: =head1
en: FUNCTIONS
ja: 関数

note: type: =head2
en: Showing output messages
ja: 出力メッセージの表示

note: type: textblock
en: Shows the current version of the script, and a short copyright message. It takes the name of the script as an argument.
ja: スクリプトのバージョンを表示し、簡単な著作権表示を行います。スクリプト名を引数として受け付けます。

note: type: textblock
en: This function displays a message the same way as sprintf() does, but wraps the result so that they look nice on the terminal.
ja: この関数は sprintf() と同じ方法でメッセージを表示しますが、端末で見た目がよいように折り返します。

note: type: textblock
en: This function works like wrap_msg(), but it takes a module name as the first argument, and leaves a space at the left of the message.
ja: この関数は wrap_msg() と同じように動作しますが、第一引数にモジュール名を取り、そして、メッセージの左側にあるスペースを残します。

note: type: textblock
en: This function works like wrap_msg(), but it takes a file:line reference as the first argument, a module name as the second one, and leaves a space at the left of the message.
ja: この関数は wrap_msg() と同じように動作しますが、第一引数に file:line の参照を、第二引数にモジュール名を取り、メッセージの左側にあるスペースを残します。

note: type: =head2
en: Wrappers for other modules
ja: ほかのモジュールのラッパー

note: type: textblock
en: When the Locale::Gettext module cannot be loaded, this module provide dummy (empty) implementation of the following functions. In that case, po4a messages won't get translated but the program will continue to work.
ja: Locale::Gettext モジュールが読み込めない場合、このモジュールは以下の関数のダミー (空) の実装を提供します。この場合、po4a でメッセージは翻訳されませんが、プログラムは動作を継続します。

note: type: textblock
en: If Locale::gettext is present, this wrapper also calls setlocale(LC_MESSAGES, "") so callers don't depend on the POSIX module either.
ja: Locale::gettext が有効なら、このラッパーは setlocale(LC_MESSAGES, "") を呼び出し、呼び出し元が POSIX モジュールのいずれにも依存しないようにします。

note: type: textblock
en: Locale::Po4a::Dia - convert uncompressed Dia diagrams from/to PO files
ja: Locale::Po4a::Dia - PO ファイルと非圧縮 Dia ダイアグラムの変換

note: type: textblock
en: Locale::Po4a::Dia is a module to help the translation of diagrams in the uncompressed Dia format into other [human] languages.
ja: Locale::Po4a::Dia は、非圧縮 Dia フォーマットの図をほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: verbatim
en: You can get Dia (the graphical editor for these diagrams) from:
      http://www.gnome.org/projects/dia/
ja: Dia (ダイアグラム用グラフィカルエディタ) は以下から取得できます:
      http://www.gnome.org/projects/dia/

note: type: =head1
en: TRANSLATING WITH PO4A::DIA
ja: PO4A::DIA での翻訳

note: type: textblock
en: This module only translates uncompressed Dia diagrams.  You can save your uncompressed diagrams with Dia itself, unchecking the "Compress diagram files" at the "Save Diagram" dialog.
ja: このモジュールでは、非圧縮 Dia ダイアグラムしか翻訳できません。"Save Diagram" ダイアログにある "Compress diagram files" のチェックを外すと、Dia はダイアグラムを非圧縮で保存できます。

note: type: verbatim
en: Another way is to uncompress the dia files from command line with:
      gunzip < original.dia > uncompressed.dia
ja: ほかには、以下のコマンドラインで dia ファイルを伸長できます:
      gunzip < original.dia > uncompressed.dia

note: type: textblock
en: This module is fully functional, as it relies in the L<Locale::Po4a::Xml> module. This only defines the translatable tags (E<lt>dia:stringE<gt>), and filters the internal strings (the content of the E<lt>dia:diagramdataE<gt> tag), not interesting for translation.
ja: このモジュールは、全機能を L<Locale::Po4a::Xml> に依存しています。これは、翻訳可能タグ (E<lt>dia:stringE<gt>) の定義と内部文字列 (E<lt>dia:diagramdataE<gt> タグの内容) のフィルタリングだけを行い、翻訳のために興味深いものではありません。

note: type: textblock
en: Locale::Po4a::Docbook - convert DocBook XML documents from/to PO files
ja: Locale::Po4a::Docbook - PO ファイルと DocBook XML ドキュメントの変換

note: type: textblock
en: Locale::Po4a::Docbook is a module to help the translation of DocBook XML documents into other [human] languages.
ja: Locale::Po4a::Docbook は、DocBook XML ドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: This module is fully functional, as it relies in the L<Locale::Po4a::Xml> module. This only defines the translatable tags and attributes.
ja: このモジュールは、全機能を L<Locale::Po4a::Xml> に依存しています。ここでは、翻訳できるタグと属性を定義しているだけです。

note: type: textblock
en: The only known issue is that it doesn't handle entities yet, and this includes the file inclusion entities, but you can translate most of those files alone (except the typical entities files), and it's usually better to maintain them separated.
ja: 確認されている課題は、エンティティをまだ扱えないということだけです。これにはファイルをインクルードするエンティティが含まれますが、ファイル単体での翻訳は行えます (典型的なエンティティファイルは除く)。通常は分割されている方がメンテナンスしやすいです。

note: type: =head2
en: OVERRIDE THE DEFAULT BEHAVIOR WITH COMMAND LINE OPTIONS
ja: コマンドラインオプションで既定の挙動を上書きする

note: type: textblock
en: The default behavior of system provided modules is set to be on the safe side.
ja: モジュールが提供するシステムの既定の挙動は安全なものになるように設定されています。

note: type: textblock
en: For example, the default of B<< <author> >> tag is aiming it to appear under B<< <para> >>.  But you may be using it only under B<< <bookinfo> >>.  For this case, you may want to translate it independently for each author.
ja: 例えば既定のB<< <author> >>タグはB<< <para> >>の下に現れるようになっています。しかしB<< <bookinfo> >>の下でのみ使いたいことがあるかもしれません。この場合、それぞれの著者について独立に翻訳したいかもしれません。

note: type: textblock
en: If you don't like the default behavior of the xml module and its derivative modules, you can provide command line options to change their behavior.  For example, you can add the following to the po4a configuration file:
ja: もしxmlモジュールやその派生のモジュールの既定の挙動が気にいらなければ、コマンドラインオプションを与えてそうした挙動を変えられます。例えば以下をpo4aの設定ファイルに加えることができます。

note: type: textblock
en: This overrides the default behavior for B<< <bookinfo> >> and B<< <author> >>, set B<< <bookinfo> >> and B<< <author> >> to break input data stream on these tags, set B<< <bookinfo> >> not to translate its tagged content, and set B<< <author> >> to translate its tagged content.
ja: これはB<< <bookinfo> >>とB<< <author> >>の既定の挙動を上書きし、タグ B<< <bookinfo> >>とタグ B<< <author> >>のところで入力データストリームを中断するように、B<< <bookinfo> >>ではタグ付けされた内容を翻訳しないように、B<< <author> >>ではタグ付けされた内容を翻訳するように、それぞれ設定しています。

note: type: textblock
en: Locale::Po4a::Guide - convert Guide XML documents from/to PO files
ja: Locale::Po4a::Guide - PO ファイルと Guide XML ドキュメントの変換

note: type: textblock
en: Locale::Po4a::Guide is a module to help in the translation of the Gentoo Linux documentation in the Guide XML format into other [human] languages.
ja: Locale::Po4a::Guide は、Guide XML フォーマットの Gentoo Linux ドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: This format is documented here: http://www.gentoo.org/doc/en/xml-guide.xml
ja: このフォーマットは以下で説明しています: http://www.gentoo.org/doc/en/xml-guide.xml

note: type: textblock
en: The only known issue is that it doesn't include files with the <include href="..."> tag, but you can translate all those files alone, and it's usually better to have them separated.
ja: 確認されている課題は、<include href="..."> タグでインクルードできないことです。ファイル単体での翻訳は行えます。通常は分割されている方がやりやすいです。

note: type: textblock
en: Locale::Po4a::Halibut - convert Halibut documents and derivates from/to PO files
ja: Locale::Po4a::Halibut - PO ファイルと Halibut ドキュメントや派生物の変換

note: type: textblock
en: Locale::Po4a::Halibut is a module to help the translation of Halibut documents into other [human] languages.
ja: Locale::Po4a::Halibut は、Halibut ドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: This module contains the definitions of common Halibut commands and environments.
ja: このモジュールには、共通した Halibut コマンドや環境の定義が含まれています。

note: type: textblock
en: This module is still beta.  Please send feedback and feature requests.
ja: このモジュールはベータ版です。フィードバックや機能要望をお送りください。

note: type: =head1
en: CAVEAT
ja: 警告

note: type: textblock
en: Some constructs are badly supported. The known ones are documented below.
ja: いくつかの構造をうまくサポートできていません。既知のものを以下に述べます。

note: type: =head2
en: Verbatim blocks
ja: Verbatim ブロック

note: type: textblock
en: The verbatim block is not considered as a whole. Each line will be translated separately.
ja: verbatim ブロックは全体をまとめて認識できません。行ごとに分割して翻訳することになります。

note: type: textblock
en: This program is free software; you may redistribute it and/or modify it under the terms of GPL (see COPYING file).
ja: 本プログラムはフリーソフトウェアです。GPL の条項に基づき再頒布と変更を行うことができます (COPYING ファイルを参照してください)。

note: type: textblock
en: Locale::Po4a::Ini - convert INI files from/to PO files
ja: Locale::Po4a::Ini - PO ファイルと INI ファイルの変換

note: type: textblock
en: Locale::Po4a::Ini is a module to help the translation of INI files into other [human] languages.
ja: Locale::Po4a::Ini は、INI ファイルをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: The module searches for lines of the following format and extracts the quoted text:
ja: このモジュールは、以下のフォーマットの行を探し、クォートされたテキストを抽出します:

note: type: textblock
en: identificator="text than can be translated"
ja: 識別子="翻訳可能テキスト"

note: type: textblock
en: NOTE: If the text is not quoted, it will be ignored.
ja: 注意: テキストをクォートしていないと、無視されます。

note: type: textblock
en: Locale::Po4a::KernelHelp - convert kernel configuration help from/to PO files
ja: Locale::Po4a::KernelHelp - PO ファイルとカーネル設定ヘルプの変換

note: type: textblock
en: Locale::Po4a::KernelHelp is a module to help the translation of documentation for the Linux kernel configuration options into other [human] languages.
ja: Locale::Po4a::KernelHelp は、Linux カーネル設定オプションのドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: This module is just written, and needs more tests. Most of the needed work will concern the tools used to parse this file (and configure the kernel), so that they accept to read the documentation from another (translated)  file.
ja: このモジュールはただ書いただけで、より多くのテストが必要です。ドキュメントを別の (翻訳した) ファイルから読むのに必要な作業は、ほとんどこのファイルをパース (してカーネルを設定) するのに使用するツールに関係があります。

note: type: textblock
en: Locale::Po4a::LaTeX - convert LaTeX documents and derivates from/to PO files
ja: Locale::Po4a::LaTeX - PO ファイルと LaTeX ドキュメントや派生物の変換

note: type: textblock
en: Locale::Po4a::LaTeX is a module to help the translation of LaTeX documents into other [human] languages. It can also be used as a base to build modules for LaTeX-based documents.
ja: Locale::Po4a::LaTeX は、LaTeX ドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。LaTeX を元にしたドキュメント用モジュールを作成するベースにもなります。

note: type: textblock
en: This module contains the definitions of common LaTeX commands and environments.
ja: このモジュールには、共通した LaTeX コマンドや環境の定義が含まれています。

note: type: textblock
en: See the L<Locale::Po4a::TeX(3pm)|Locale::Po4a::TeX> manpage for the list of recognized options.
ja: 認識するオプションの一覧は L<Locale::Po4a::TeX(3pm)|Locale::Po4a::TeX> man ページを参照してください。

note: type: textblock
en: Locale::Po4a::Man - convert manual pages from/to PO files
ja: Locale::Po4a::Man - PO ファイルと man ページの変換

note: type: textblock
en: Locale::Po4a::Man is a module to help the translation of documentation in the nroff format (the language of manual pages) into other [human] languages.
ja: Locale::Po4a::Man は、nroff フォーマット (man ページの言語) のドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: =head1
en: TRANSLATING WITH PO4A::MAN
ja: PO4A::MAN での翻訳

note: type: textblock
en: This module tries pretty hard to make translator's life easier. For that, the text presented to translators isn't a verbatim copy of the text found in the man page. Indeed, the cruder parts of the nroff format are hidden, so that translators can't mess up with them.
ja: このモジュールは、翻訳者を楽にするためにちょっと面倒な動作をします。 というのは、翻訳者に提供されたテキストは、man ページに現れるテキストの逐語コピーではないということです。実際に、nroff フォーマットの生の部分は隠され、翻訳者がそれにより混乱しなくてすみます。

note: type: =head2
en: Text wrapping
ja: テキストの折り返し

note: type: textblock
en: Unindented paragraphs are automatically rewrapped for the translator.  This can lead to some minor difference in the generated output, since the rewrapping rules used by groff aren't very clear. For example, two spaces after a parenthesis are sometimes preserved.
ja: インデントされていない段落は、翻訳者向けに自動的に折り返し直します。groff で使用される折り返し直すルールはあまり明確ではないため、これで生成した出力は多少差異が発生します。例えば、丸括弧の後の二つの空白が、しばしば保持されます。

note: type: textblock
en: Anyway, the difference will only be about the position of the extra spaces in wrapped paragraph, and I think it's worth.
ja: いずれにしろ、違いは折り返した段落にある余分な空白の位置についてのみとなるでしょう。そしてそこに価値があると思います。

note: type: =head2
en: Font specification
ja: フォント指定

note: type: textblock
en: The first change is about font change specifications.  In nroff, there are several ways to specify if a given word should be written in small, bold or italics. In the text to translate, there is only one way, borrowed from the POD (Perl online documentation) format:
ja: 最初の変更は、フォントの変更仕様についてです。nroff には、与えられた単語を縮小、太字、斜体で書くべきかどうかを指定する方法が複数あります。翻訳するテキストには、POD (Perl online documentation) フォーマットから借りてきた、以下の一つの方法しかありません:

note: type: =item
en: IE<lt>textE<gt> -- italic text
ja: IE<lt>textE<gt> -- イタリックテキスト

note: type: textblock
en: equivalent to \fItext\fP or ".I text"
ja: \fItext\fP や ".I text" と等価

note: type: =item
en: BE<lt>textE<gt> -- bold text
ja: BE<lt>textE<gt> -- 太字テキスト

note: type: textblock
en: equivalent to \fBtext\fP or ".B text"
ja: \fBtext\fP や ".B text" と等価

note: type: =item
en: RE<lt>textE<gt> -- roman text
ja: RE<lt>textE<gt> -- 通常テキスト

note: type: textblock
en: equivalent to \fRtext\fP
ja: \fRtext\fP と等価

note: type: =item
en: CWE<lt>textE<gt> -- constant width text
ja: CWE<lt>textE<gt> -- 等幅テキスト

note: type: textblock
en: equivalent to \f(CWtext\fP or ".CW text"
ja: \f(CWtext\fP や ".CW text" と等価

note: type: textblock
en: Remark: The CW face is not available for all groff devices. It is not recommended to use it. It is provided for your convenience.
ja: 所見: CW フェイスはどの groff デバイスでも有効というわけではありません。使用はお奨めしません。利便性のために提供しています。

note: type: =head2
en: Automatic characters transliteration
ja: 自動文字列変換

note: type: textblock
en: Po4a automatically transliterate some characters to ease the translation or the review of the translation.  Here is the list of the transliterations:
ja: po4a  は、翻訳や翻訳のレビューが簡単になるように、特定の文字を自動的に変換します。以下に変換する文字を列挙します:

note: type: =item
en: hyphens
ja: ハイフン

note: type: textblock
en: Hyphens (-) and minus signs (\-) in man pages are all transliterated as simple dashes (-) in the PO file.  Then all dash are transliterated into roff minus signs (\-) when the translation is inserted into the output document.
ja: man ページ中のハイフン (-) とマイナス記号 (\-) を、PO ファイル内ではシンプルなダッシュ(-) に変換します。さらに出力ドキュメントに訳を挿入する際に、すべてのダッシュを roff のマイナス記号 (\-) に変換します。

note: type: textblock
en: Translators can force an hyphen by using the roff glyph '\[hy]' in their translations.
ja: 翻訳者は、自分の翻訳内では roff グリフ '\[hy]' の使用を押し通せます。

note: type: =item
en: non-breaking spaces
ja: 非改行スペース

note: type: textblock
en: Translators can use non-breaking spaces in their translations.  These non-breaking spaces (0xA0 in latin1) will be transliterated into a roff non-breaking space ('\ ').
ja: 翻訳者は、非改行スペースを翻訳内で使用できます。非改行スペース (latin1 では 0xA0) を roff 非改行スペース ('\ ') に変換します。

note: type: =item
en: quotes transliterations
ja: 引用符の変換

note: type: textblock
en: `` and '' are respectively tranliterated into \*(lq and \*(rq.
ja: `` と '' を、それぞれ\*(lq と \*(rq に字訳します。

note: type: textblock
en: To avoid these transliterations, translators can insert a zero width roff character (i.e., using `\&` or '\&' respectively).
ja: 変換しないようにするには、翻訳者は幅なし roff 文字を挿入してください (例: それぞれ `\&` や '\&' とします)。

note: type: =head2
en: Putting 'E<lt>' and 'E<gt>' in translations
ja: 翻訳内に 'E<lt>' や 'E<gt>' を書く方法

note: type: textblock
en: Since these chars are used to delimit parts under font modification, you can't use them verbatim. Use EE<lt>ltE<gt> and EE<lt>gtE<gt> instead (as in POD, one more time).
ja: こういった文字はフォント変更の区切り文字として使われるので、そのままでは使用できません。(POD のようにもう一度) 代わりに EE<lt>ltE<gt> や EE<lt>gtE<gt> を使用してください。

note: type: textblock
en: Activate debugging for some internal mechanisms of this module.  Use the source to see which parts can be debugged.
ja: このモジュールの内部メカニズムのデバッグ機能を有効にします。どの部分でデバッグできるか確認するには、ソースを利用してください。

note: type: textblock
en: Increase verbosity.
ja: プログラムの冗長度を上げます。

note: type: textblock
en: This option controls the behavior of the module when it encounter a .de, .ie or .if section. It can take the following values:
ja: このオプションは、.de、.ie または .if 節があった場合のモジュールの振る舞いを制御します。以下の値を取ることができます:

note: type: textblock
en: This is the default value.  The module will fail when a .de, .ie or .if section is encountered.
ja: これはデフォルト値です。.de、.ie または .if 節がある場合、モジュールは失敗します。

note: type: textblock
en: Indicates that the .de, .ie or .if sections must be copied as is from the original to the translated document.
ja: .de、.ie または .if 節は、オリジナルから翻訳済みドキュメントへそのままコピーする必要があることを示します。

note: type: textblock
en: Indicates that the .de, .ie or .if sections will be proposed for the translation.  You should only use this option if a translatable string is contained in one of these section. Otherwise, I<verbatim> should be preferred.
ja: .de、.ie または .if 節は翻訳するように提案されることを表します。それらの節に、翻訳可能な文字列が含まれている場合にのみ、このオプションを指定するべきです。そうでなければ、I<verbatim> を選択するべきです。

note: type: textblock
en: This option specifies that the file was generated, and that po4a should not try to detect if the man pages was generated from another format.  This option is mandatory to use po4a on generated man pages.  Note that translating generated pages instead of sources ones is often more fragile, and thus a bad idea.
ja: このオプションは、ファイルが生成されたこと、そして、po4a が man ページが別の形式から生成されたかどうかを検出しようとしないことを指定します。このオプションは生成されたman ページに対してpo4aを使う上で不可欠です。ただし大元のページの代わりに生成された方を翻訳することはしばしばより脆いものであり関心しません。

note: type: textblock
en: This option is only useful for mdoc pages.
ja: このオプションは mdoc ページでのみ有用です。

note: type: textblock
en: It selects a stricter support of the mdoc format by telling po4a not to translate the 'NAME' section.  mdoc pages whose 'NAME' section is translated won't generate any header or footer.
ja: 'NAME' 節の翻訳を行わないように po4a に伝えることで mdoc 形式の厳密なサポートを選択します。'NAME' 節が翻訳された mdoc ページは、任意のヘッダやフッタを生成しません。

note: type: verbatim
en: According to the groff_mdoc page, the NAME, SYNOPSIS and DESCRIPTION
    sections are mandatory.
    There are no known issues with translated SYNOPSIS or DESCRIPTION section,
    but you can also specify these sections this way:
     -o mdoc=NAME,SYNOPSIS,DESCRIPTION
ja: groff_mdoc ページによると、NAME, SYNOPSIS, DESCRIPTION 節は
    必須です。
    SYNOPSIS, DESCRIPTION 節を翻訳することによる問題は知られていませんが、
    以下のようにも指定できます:
     -o mdoc=NAME,SYNOPSIS,DESCRIPTION

note: type: verbatim
en: This mdoc issue can also be solved with an addendum like this one:
     PO4A-HEADER:mode=before;position=^.Dd
     .TH DOCUMENT_TITLE 1 "Month day, year" OS "Section Name"
ja: この mdoc の問題は、以下のように追加内容を使用して解決することもできます:
     PO4A-HEADER:mode=before;position=^.Dd
     .TH DOCUMENT_TITLE 1 "Month day, year" OS "Section Name"

note: type: textblock
en: Note: if a macro is not supported by po4a and if you consider that it is a standard roff macro, you should submit it to the po4a development team.
ja: 注: po4a にサポートされていないマクロがあって、それが標準 roff マクロと考えられる場合は、それを po4a 開発チームに提出してください。

note: type: textblock
en: B<untranslated> indicates that this macro (at its arguments) don't have to be translated.
ja: B<untranslated> は、この (引数に指定された) マクロを翻訳する必要はないと指定します。

note: type: textblock
en: B<noarg> is like B<untranslated>, except that po4a will verify that no argument is added to this macro.
ja: B<noarg> は、B<untranslated> と同様ですが、このマクロに引数が追加されていないことを、po4a が確認するところが異なります。

note: type: textblock
en: B<translate_joined> indicates that po4a must propose to translate the arguments of the macro.
ja: B<translate_joined> は、po4a がそのマクロの引数を翻訳しなければならないと指定します。

note: type: textblock
en: With B<translate_each>, the arguments will also be proposed for the translation, except that each one will be translated separately.
ja: B<translate_each> を使っても、引数を翻訳するよう指定しますが、それぞれ別々に翻訳するようになるところが異なります。

note: type: textblock
en: This option takes as argument a list of comma-separated couples I<begin>:I<end>, where I<begin> and I<end> are commands that delimit the begin and end of a section that should not be rewrapped.
ja: このオプションは、コンマで区切った I<begin>:I<end> のリストを引数に取ります。ここで、I<begin> と I<end> は、折り返し直すべきでない節の始めと終わりを区切るコマンドです。

note: type: textblock
en: Note: no test is done to ensure that an I<end> command matches its I<begin> command; any ending command stop the no_wrap mode.  If you have a I<begin> (respectively I<end>) macro that has no I<end> (respectively I<begin>), you can specify an existing I<end> (like fi) or I<begin> (like nf) as a counterpart.  These macros (and their arguments) won't be translated.
ja: 注意: I<end> コマンドが I<begin> コマンドと一致するかどうかのテストはしません。終了コマンドがあればそこで no_wrap モードは終了します。対応する I<end> がない I<begin> マクロや対応する I<begin> がない I<end> マクロがある場合、既存の I<end> (fi など) や I<begin> (nf など) を対応するものとして指定できます。これらのマクロ (とその引数) は翻訳されません。

note: type: textblock
en: This option specifies a list of comma-separated macros that must not split the current paragraph. The string to translate will then contain I<foo E<lt>.bar baz quxE<gt> quux>, where I<bar> is the command that should be inlined, and I<baz qux> its arguments.
ja: このオプションは、段落を分けるべきでないコンマ区切りマクロのリストを指定します。翻訳する文字列に I<foo E<lt>.bar baz quxE<gt> quux> が含まれるとき、I<bar> がインラインにすべきコマンドで、I<baz qux> がその引数です。

note: type: textblock
en: This option indicates how po4a should behave when an unknown macro is found.  By default, po4a fails with a warning.  It can take the following values: B<failed> (the default value), B<untranslated>, B<noarg>, B<translate_joined>, or B<translate_each> (see above for an explanation of these values).
ja: このオプションは、不明なマクロを検出した場合の po4a の挙動を指定します。デフォルトでは、po4a は警告を表示して失敗します。以下の値を取ることができます: B<failed> (デフォルト値), B<untranslated>, B<noarg>, B<translate_joined>, B<translate_each> (値の説明は上記参照)。

note: type: =head1
en: AUTHORING MAN PAGES COMPLIANT WITH PO4A::MAN
ja: PO4A::MAN 準拠の man ページの作成

note: type: textblock
en: This module is still very limited, and will always be, because it's not a real nroff interpreter. It would be possible to do a real nroff interpreter, to allow authors to use all the existing macros, or even to define new ones in their pages, but we didn't want to. It would be too difficult, and we thought it wasn't necessary. We do think that if manpages' authors want to see their productions translated, they may have to adapt to ease the work of translators.
ja: このモジュールは、真の nroff インタプリタでないので、まだ非常に制限があり解消のめどは立ちません。既存のマクロがすべて使え、さらに新しいマクロを定義できるような真の nroff インタプリタであれば、制限を解消できたでしょうが、私たちはそうしませんでした。それは難しすぎましたし、必要でないと考えたのです。man ページの作者が、自身の創作物を翻訳したものを目にしたいのであれば、翻訳者にとって作業しやすいように適合した方がいいと思います。

note: type: textblock
en: So, the man parser implemented in po4a have some known limitations we are not really inclined to correct, and which will constitute some pitfalls you'll have to avoid if you want to see translators taking care of your documentation.
ja: ですから、po4a で実装した man のパーサは、修正したいと思っていない既知の制限があります。そして、これはいくつかの落とし穴を構成します。翻訳者にドキュメントの翻訳を維持して欲しかったら、回避する必要があります。

note: type: =head2
en: Don't program in nroff
ja: nroff 内にプログラムを書かないでください

note: type: textblock
en: nroff is a complete programming language, with macro definition, conditionals and so on. Since this parser isn't a fully featured nroff interpreter, it will fail on pages using these facilities (There are about 200 such pages on my box).
ja: nroff は、一つの完成したプログラミング言語です。マクロ定義や条件分岐等を備えています。このパーサはフル機能の nroff インタープリタではないので、これらの機能を使ったページは失敗します (私の元に 200 ほどそのようなページがあります)。

note: type: =head2
en: Use the plain macro set
ja: プレーンマクロセットを使用してください

note: type: textblock
en: There are still some macros which are not supported by po4a::man. This is only because I failed to find any documentation about them. Here is the list of unsupported macros used on my box. Note that this list isn't exhaustive since the program fails on the first encountered unsupported macro. If you have any information about some of these macros, I'll happily add support for them. Because of these macros, about 250 pages on my box are inaccessible to po4a::man.
ja: po4a::man がサポートしていないマクロはまだあります。これは単に、それについてのドキュメントが見つからなかったからです。以下にサポートしていないマクロのリストを掲げます。サポートされていないマクロが最初に出てきた時点で、プログラムが失敗してしまいますので、このリストは完全ではないことに注意してください。このマクロに関して何か情報がありましたら、ありがたくサポートに追加します。これらのマクロのために、私の機械にある 250 ページは po4a::man でアクセスできないのです。

note: type: =head2
en: Hiding text from po4a
ja: po4a から隠したいテキスト

note: type: textblock
en: Sometimes, the author knows that some parts are not translatable, and should not be extracted by po4a. For example, an option may accept an I<other> argument, and I<other> may also appear as the last item of a list. In the first case, I<other> should be not be translatable. And in the second case, I<other> should be translated.
ja: ときどき、筆者は、翻訳できず po4a により抽出すべきでない部分があることを認識しています。例えば、あるオプションが引数として I<other> を受け入れてもよく、さらに、リストの最後の項目としても I<other> が現れてよいとします。前者は、I<other> を翻訳するべきではありません。そして、後者は I<other> を翻訳すべきです。

note: type: textblock
en: In such case, the author can avoid po4a to extract some strings, using some special groff constructs:
ja: この場合、作者は、以下のような特殊な groff 構造を利用して、po4a がテキストを抽出しないようにできます:

note: type: textblock
en: (this will require the B<-o groff_code=verbatim> option)
ja: (これには B<-o groff_code=verbatim> オプションが必要になります)

note: type: verbatim
en: A new macro can also be defined to automate this:
     .de IR_untranslated
     .    IR \\$@
     ..
ja: これを自動化するのに、以下のような新しいマクロを定義することもできます:
     .de IR_untranslated
     .    IR \\$@
     ..

note: type: textblock
en: (this will require the options B<-o groff_code=verbatim> and B<-o untranslated=IR_untranslated>; with this construct, the B<.if !'po4a'hide'> conditional is not strictly needed since po4a will not parse the internal of the macro definition)
ja: (この構造には、B<-o groff_code=verbatim> オプションと B<-o untranslated=IR_untranslated> オプションが必要です。po4a はマクロ定義の内部をパースする必要はないため、B<.if !'po4a'hide'> 条件文は、厳密には必要ありません)

note: type: verbatim
en: or using an alias:
     .als IR_untranslated IR
ja: または、以下のようにエイリアスを使用します:
     .als IR_untranslated IR

note: type: textblock
en: This will require the B<-o untranslated=als,IR_untranslated> option.
ja: これには B<-o untranslated=als,IR_untranslated> オプションが必要になります.

note: type: =head2
en: Conclusion
ja: 結論

note: type: textblock
en: To summarise this section, keep simple, and don't try to be clever while authoring your man pages. A lot of things are possible in nroff, and not supported by this parser. For example, don't try to mess with \c to interrupt the text processing (like 40 pages on my box do). Or, be sure to put the macro arguments on the same line that the macro itself. I know that it's valid in nroff, but would complicate too much the parser to be handled.
ja: この節をまとめると、シンプルさを維持してください。そして、man ページを書く際に巧妙なことをしようとしないでください。nroff では多くのことが可能ですが、このパーサによってサポートされていません。例えば、テキスト処理を中断する \c を下手にいじろうとしないでください (私の元にある 40 ページのように)。また、マクロの引数はそのマクロと必ず同じ行に配置してください。それが nroff で有効だということは知っています。でも、パーサが扱うにはあまりに複雑すぎるのです。

note: type: textblock
en: Of course, another possibility is to use another format, more translator friendly (like POD using po4a::pod, or one of the XML family like SGML), but thanks to po4a::man it isn't needed anymore. That being said, if the source format of your documentation is POD, or XML, it may be clever to translate the source format and not this generated one. In most cases, po4a::man will detect generated pages and issue a warning. It will even refuse to process POD generated pages, because those pages are perfectly handled by po4a::pod, and because their nroff counterpart defines a lot of new macros I didn't want to write support for. On my box, 1432 of the 4323 pages are generated from POD and will be ignored by po4a::man.
ja: もちろん別の可能性として、もっと翻訳者に優しい (po4a::pod で使用する POD や、SGML のような XML ファミリーなど) 別のフォーマットを使用することが挙げられます。しかし po4a::man のおかげで、もう必要ありません。そうはいっても、あなたのドキュメントのソースフォーマットが POD や XML の場合、生成物ではなくソースフォーマットを翻訳する方が賢いでしょう。多くの場合、po4a::man は生成されたページを検出し、警告を出します。po4a::pod がそのページを完璧に扱え、その対応する nroff では、サポートするように書きたくない新しいマクロが多く定義されているため、POD が生成したページを処理するのを、拒否することさえあります。私の機械では、1432/4323 ページが POD から生成され、po4a::man に無視されます。

note: type: textblock
en: In most cases, po4a::man will detect the problem and refuse to process the page, issuing an adapted message. In some rare cases, the program will complete without warning, but the output will be wrong. Such cases are called "bugs" ;) If you encounter such case, be sure to report this, along with a fix when possible…
ja: 多くの場合、po4a::man は問題を検出し、適合するメッセージを出力して、ページの処理を拒否します。まれなケースでは、プログラムが警告なく完了したのに、出力が誤っている場合があります。そのような場合は、"バグ"と呼びます ;) そのような場合は、可能であれば直し方とともに、ぜひ報告してください……

note: type: textblock
en: This module can be used for most of the existing man pages.
ja: 既存の man ページの大半に、このモジュールを使用できます。

note: type: textblock
en: Some tests are regularly run on Linux boxes:
ja: 以下の複数のテストを Linux 機で定期的に実行しています:

note: type: textblock
en: one third of the pages are refused because they were generated from another format supported by po4a (e.g. POD or SGML).
ja: 全 man ページの 1/3 は、po4a でサポートされている別のフォーマット (例: POD や SGML) から生成されたため拒否されます。

note: type: textblock
en: 10% of the remaining pages are rejected with an error (e.g. a groff macro is not supported).
ja: 残りのページの 10% はエラーで通りません (例: groff マクロがサポートされていないなど)。

note: type: textblock
en: Then, less than 1% of the pages are accepted silently by po4a, but with significant issues (i.e. missing words, or new words inserted)
ja: そして、1% に満たないページについて po4a は何も言いませんが、重要な問題があります（つまり単語が消えていたり、新しい単語が挿入されてしまっていたりします）

note: type: textblock
en: The other pages are usually handled without differences more important than spacing differences or line rewrapped (font issues in less than 10% of the processed pages).
ja: その他のページは、通常、空白のみの差異や行の折り返しなどよりも、もっと重要な差異がないとして扱われます (フォントの問題は処理したページの 10% 以下です)。

note: type: textblock
en: Locale::Po4a::Po - PO file manipulation module
ja: Locale::Po4a::Po - PO file 操作モジュール

note: type: textblock
en: Locale::Po4a::Po is a module that allows you to manipulate message catalogs. You can load and write from/to a file (which extension is often I<po>), you can build new entries on the fly or request for the translation of a string.
ja: Locale::Po4a::Po はメッセージカタログを操作できるようにするモジュールです。ファイル (通常 I<po> という拡張子) を読み書きし、新しいエントリをその場で作成したり、文字列の翻訳要求があったときに作成できます。

note: type: textblock
en: For a more complete description of message catalogs in the PO format and their use, please refer to the info documentation of the gettext program (node "`PO Files"').
ja: PO フォーマットのメッセージカタログやその使い方に関する完全な説明は、gettext プログラム ("`PO ファイル"' ノード) のドキュメントを参照してください。

note: type: textblock
en: This module is part of the po4a project, which objective is to use PO files (designed at origin to ease the translation of program messages) to translate everything, including documentation (man page, info manual), package description, debconf templates, and everything which may benefit from this.
ja: このモジュールは po4a プロジェクトの一部です。このプロジェクトは (元々プログラムのメッセージを簡単に訳せるように設計された) PO ファイルを用い、すべてを翻訳するのを目標にしています。すべてというのは、(man ページ、info マニュアルといった) ドキュメント、パッケージの説明、debconf テンプレート、そしてこの恩恵を受けられるだろうすべてものです。

note: type: =head1
en: Functions concerning entire message catalogs
ja: メッセージカタログ全体に関わる関数

note: type: textblock
en: Creates a new message catalog. If an argument is provided, it's the name of a PO file we should load.
ja: 新規メッセージカタログを作成します。引数を指定した場合、読み込む PO ファイルの名前として扱います。

note: type: textblock
en: Reads a PO file (which name is given as argument).  Previously existing entries in self are not removed, the new ones are added to the end of the catalog.
ja: (引数で与えた) PO ファイルを読み込みます。すでに読み込んだ既存エントリは削除しません。新しいものはカタログの最後に追加します。

note: type: textblock
en: Writes the current catalog to the given file.
ja: 与えられたファイルに現在のカタログを書き込みます。

note: type: textblock
en: Like write, but if the PO or POT file already exists, the object will be written in a temporary file which will be compared with the existing file to check if the update is needed (this avoids to change a POT just to update a line reference or the POT-Creation-Date field).
ja: write と同様ですが、PO ファイルや POT ファイルがすでに存在している場合、オブジェクトを一時ファイルに書き出し、既存のファイルを比較して更新が必要かどうかチェックします (これにより、行参照や POT-Creation-Date フィールドの更新しかない更新を防ぎます)。

note: type: textblock
en: This function extracts a catalog from an existing one. Only the entries having a reference in the given file will be placed in the resulting catalog.
ja: この関数は、既存のものからカタログを抽出します。与えたファイルへの参照があるエントリのみが、結果のカタログに抽出されます。

note: type: textblock
en: This function parses its argument, converts it to a Perl function definition, evals this definition and filters the fields for which this function returns true.
ja: この関数は、引数をパースし、Perl の関数定義に変換し、この定義を評価し、この関数が true を返すフィールドのみをフィルタします。

note: type: textblock
en: I love Perl sometimes ;)
ja: 私はときどき Perl が好きです ;)

note: type: textblock
en: Recodes to UTF-8 the PO's msgstrs. Does nothing if the charset is not specified in the PO file ("CHARSET" value), or if it's already UTF-8 or ASCII.
ja: PO の msgstr を UTF-8 に再コード化します。PO ファイルで文字セット ("CHARSET" の値) が指定されていない場合、すでに UTF-8 の場合、あるいは ASCII の場合には何もしません。

note: type: =head1
en: Functions to use a message catalog for translations
ja: 翻訳にメッセージカタログを使用する関数

note: type: textblock
en: Request the translation of the string given as argument in the current catalog.  The function returns the original (untranslated) string if the string was not found.
ja: 現在のカタログから、引数で与えた文字列の翻訳を取得します。文字列が見つからなかった場合、この関数はオリジナル (未翻訳) の文字列を返します。

note: type: textblock
en: After the string to translate, you can pass a hash of extra arguments. Here are the valid entries:
ja: 翻訳する文字列の後に、追加引数のハッシュを渡せます。以下のエントリが有効です:

note: type: textblock
en: boolean indicating whether we can consider that whitespaces in string are not important. If yes, the function canonizes the string before looking for a translation, and wraps the result.
ja: 文字列中の空白は重要でないとして扱うかどうかを示す真偽値です。yes ならば、この関数は、翻訳を探す前の文字列を納め、結果を折り返します。

note: type: textblock
en: the column at which we should wrap (default: 76).
ja: 改行を行う幅です (デフォルト: 76)。

note: type: textblock
en: Returns statistics about the hit ratio of gettext since the last time that stats_clear() was called. Please note that it's not the same statistics than the one printed by msgfmt --statistic. Here, it's statistics about recent usage of the PO file, while msgfmt reports the status of the file.  Example of use:
ja: 前回 stats_clear() が呼ばれたときからの gettext のヒット率統計を返します。msgfmt --statistic が表示する統計とは、異なることにご注意ください。msgfmt はファイルの状態をレポートしますが、ここでは PO ファイルの最近の利用についての統計です。以下に使い方の例を示します:

note: type: verbatim
en:     [some use of the PO file to translate stuff]
ja:     [翻訳する際の PO ファイルの使用例]

note: type: textblock
en: Clears the statistics about gettext hits.
ja: gettext のヒットに関する統計をクリアします。

note: type: =head1
en: Functions to build a message catalog
ja: メッセージカタログを生成する関数

note: type: textblock
en: Push a new entry at the end of the current catalog. The arguments should form a hash table. The valid keys are:
ja: 現在のカタログの最後に新しいエントリを追加します。引数は、ハッシュテーブルの形である必要があります。有効なキーは以下の通りです:

note: type: textblock
en: the string in original language.
ja: オリジナル言語の文字列。

note: type: textblock
en: the translation.
ja: 翻訳。

note: type: textblock
en: an indication of where this string was found. Example: file.c:46 (meaning in 'file.c' at line 46). It can be a space-separated list in case of multiple occurrences.
ja: この文字列がどこにあったかを示します。例えば、file.c:46 ('file.c' の 46 行目) といった具合です。複数ある場合は、空白区切りのリストとなります。

note: type: textblock
en: a comment added here manually (by the translators). The format here is free.
ja: 手で (翻訳者が) 追加したコメントです。フォーマットは自由です。

note: type: textblock
en: a comment which was automatically added by the string extraction program. See the B<--add-comments> option of the B<xgettext> program for more information.
ja: 文字列抽出プログラムが自動的に追加したコメントです。詳細は、B<xgettext> プログラムの B<--add-comments> オプションを参照してください。

note: type: textblock
en: space-separated list of all defined flags for this entry.
ja: このエントリで定義するフラグのスペース区切りリストです。

note: type: textblock
en: Valid flags are: B<c-text>, B<python-text>, B<lisp-text>, B<elisp-text>, B<librep-text>, B<smalltalk-text>, B<java-text>, B<awk-text>, B<object-pascal-text>, B<ycp-text>, B<tcl-text>, B<wrap>, B<no-wrap> and B<fuzzy>.
ja: 有効なフラグは、B<c-text>, B<python-text>, B<lisp-text>, B<elisp-text>, B<librep-text>, B<smalltalk-text>, B<java-text>, B<awk-text>, B<object-pascal-text>, B<ycp-text>, B<tcl-text>, B<wrap>, B<no-wrap>, B<fuzzy> です。

note: type: textblock
en: See the gettext documentation for their meaning.
ja: それぞれの意味については gettext のドキュメントを参照してください。

note: type: textblock
en: this is mostly an internal argument: it is used while gettextizing documents. The idea here is to parse both the original and the translation into a PO object, and merge them, using one's msgid as msgid and the other's msgid as msgstr. To make sure that things get ok, each msgid in PO objects are given a type, based on their structure (like "chapt", "sect1", "p" and so on in DocBook). If the types of strings are not the same, that means that both files do not share the same structure, and the process reports an error.
ja: これはほとんど内部引数で、ドキュメントを gettext 化する際に使用します。ここでの考え方は、オリジナルと翻訳の両方を PO オブジェクトに入れるためパースし、片方の msgid を msgid に、もう一方の msgid を msgstr としてマージする、というものです。確実にうまく処理するように、PO オブジェクトの各 msgid は、その構造 (DocBook では "chapt", "sect1", "p" など) から type を与えられます。文字列の type が一致しない場合、双方のファイルが同じ構造を共有していないことになり、プロセスはエラーを通知します。

note: type: textblock
en: This information is written as automatic comment in the PO file since this gives to translators some context about the strings to translate.
ja: この情報は、文字列を翻訳する際に文脈情報を翻訳者に与えるため、PO ファイルの自動コメントに書き込まれます。

note: type: textblock
en: boolean indicating whether whitespaces can be mangled in cosmetic reformattings. If true, the string is canonized before use.
ja: 化粧をする再フォーマットによってホワイトスペースをめちゃめちゃにするかどうかを示す真偽値です。true ならば、文字列は使用前に正規化されます。

note: type: textblock
en: This information is written to the PO file using the B<wrap> or B<no-wrap> flag.
ja: この情報は、PO ファイルに B<wrap> フラグや B<no-wrap> フラグを用いて書き込まれます。

note: type: textblock
en: This information is not written to the PO file.
ja: この情報は PO ファイルに書き込まれません。

note: type: =head1
en: Miscellaneous functions
ja: その他の関数

note: type: textblock
en: Returns the number of entries in the catalog (without the header).
ja: カタログ内のエントリ数 (ヘッダ含まず) を返します。

note: type: textblock
en: Returns the number of entries in document. If a string appears multiple times in the document, it will be counted multiple times.
ja: ドキュメント内のエントリ数を返します。ある文字列がドキュメント内に複数回現れる場合、複数回カウントします.

note: type: textblock
en: Returns the msgid of the given number.
ja: 与えた数の msgid が返ります。

note: type: textblock
en: Returns the msgid with the given position in the document.
ja: ドキュメント内の、与えられた位置の msgid を返します。

note: type: textblock
en: Returns the type of the msgid with the given position in the document. This is probably only useful to gettextization, and it's stored separately from {$msgid}{'type'} because the later location may be overwritten by another type when the $msgid is duplicated in the master document.
ja: 文書中の与えられた位置にあるmsgidの型を返します。これは恐らくgettextizationで唯一役に立つものでしょう。またその型は{$msgid}{'type'}から別れて保管されます。なぜなら後者の場所はマスター文書で$msgidが重複したときに別の型によって上書きされかねないからです。

note: type: textblock
en: Returns the character set specified in the PO header. If it hasn't been set, it will return "UTF-8".
ja: PO ヘッダで指定した 文字セットを返します。設定されていない場合、 "UTF-8" を返します。

note: type: textblock
en: This sets the character set of the PO header to the value specified in its first argument. If you never call this function (and no file with a specified character set is read), the default value is left to "UTF-8". This value doesn't change the behavior of this module, it's just used to fill that field in the header, and to return it in get_charset().
ja: PO ヘッダの文字セットに、第一引数に指定した値を設定します。この関数が呼ばれない場合 (かつ文字セットを指定したファイルが読み込まれない場合)、デフォルト値は "UTF-8" のままになります。この値は、このモジュールの振る舞いを変更せず、ヘッダのそのフィールドに設定するためだけに使用し、get_charset() にその値を返します。

note: type: textblock
en: Locale::Po4a::Pod - convert POD data from/to PO files
ja: Locale::Po4a::Pod - PO ファイルと POD データの変換

note: type: textblock
en: Locale::Po4a::Pod is a module to help the translation of documentation in the POD format (the preferred language for documenting Perl) into other [human] languages.
ja: Locale::Po4a::Pod は、POD フォーマット (Perl のドキュメント用に用意された言語) のドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: I think that this module is rock stable, and there is only one known bug with F</usr/lib/perl5/Tk/MainWindow.pod> (and some other pages, see below) which contains:
ja: このモジュールは岩のように安定していると思いますが、F</usr/lib/perl5/Tk/MainWindow.pod> (とその他のページ。以下参照) には、たった一つ以下のような既知のバグがあります:

note: type: textblock
en: Lack of luck, in the po4a version, this was split on the space by the wrapping. As result, in the original version, the man page contains
ja: 残念ながら、po4a のバージョンでは、折り返しにより空白で分割されてしまいました。その結果、オリジナルバージョンでは、man に以下を含みます

note: type: textblock
en: and mine contains
ja: 私のところでは以下を含みます

note: type: textblock
en: which is logic since CE<lt>foobarE<gt> is rewritten "foobar".
ja: このロジックにより CE<lt>foobarE<gt> が "foobar" に書き換えられてしまいます。

note: type: textblock
en: Complete list of pages having this problem on my box (from 564 pages; note that it depends on the chosen wrapping column): /usr/lib/perl5/Tk/MainWindow.pod /usr/share/perl/5.8.0/overload.pod /usr/share/perl/5.8.0/pod/perlapi.pod /usr/share/perl/5.8.0/pod/perldelta.pod /usr/share/perl/5.8.0/pod/perlfaq5.pod /usr/share/perl/5.8.0/pod/perlpod.pod /usr/share/perl/5.8.0/pod/perlre.pod /usr/share/perl/5.8.0/pod/perlretut.pod
ja: 私のところで問題のあるページの完全なリストです (564 ページから。折り返す桁の選択に依存することに注してください)。 /usr/lib/perl5/Tk/MainWindow.pod /usr/share/perl/5.8.0/overload.pod /usr/share/perl/5.8.0/pod/perlapi.pod /usr/share/perl/5.8.0/pod/perldelta.pod /usr/share/perl/5.8.0/pod/perlfaq5.pod /usr/share/perl/5.8.0/pod/perlpod.pod /usr/share/perl/5.8.0/pod/perlre.pod /usr/share/perl/5.8.0/pod/perlretut.pod

note: type: =head1
en: INTERNALS
ja: 内部構造

note: type: textblock
en: As a derived class from Pod::Parser, Locale::Po4a::Pod supports the same methods and interfaces.  See L<Pod::Parser> for all the details; briefly, one creates a new parser with C<< Locale::Po4a::Pod->new() >> and then calls either parse_from_filehandle() or parse_from_file().
ja: Pod::Parser の派生クラスと同様に、Locale::Po4a::Pod は同じメソッドとインターフェースをサポートしています。すべての詳細は L<Pod::Parser> を参照してください。簡単に言うと、C<< Locale::Po4a::Pod->new() >> で新しいパーサを作成し、parse_from_filehandle() と parse_from_file() のどちらかを呼び出します。

note: type: textblock
en: new() can take options, in the form of key/value pairs, that control the behavior of the parser.  The recognized options common to all Pod::Parser children are:
ja: new() はキーと値の組の形のオプションを取り、パーサの振る舞いを制御できます。認識する以下のオプションは、Pod::Parser のすべての派生クラスで共通です:

note: type: textblock
en: If set to a true value, selects an alternate output format that, among other things, uses a different heading style and marks B<=item> entries with a colon in the left margin.  Defaults to false.
ja: 真の値に設定した場合、代替出力フォーマットを選択します。とりわけ、見出しに異なるスタイルを使い、左マージンとコロンで B<=item> エントリをマークします。デフォルトは false です。

note: type: textblock
en: If set to a true value, the non-POD parts of the input file will be included in the output.  Useful for viewing code documented with POD blocks with the POD rendered and the code left intact.
ja: 真の値に設定した場合、入力ファイルの非 POD 部を出力に含めます。POD ブロックで説明されているコードを、コードが損なわれないままに POD をレンダリングして表示するのに便利です。

note: type: textblock
en: The number of spaces to indent regular text, and the default indentation for B<=over> blocks.  Defaults to 4.
ja: 通常のテキストをインデントする空白の数で、B<=over> ブロックに対するデフォルトのインデントです。デフォルトは 4 です。

note: type: textblock
en: If set to a true value, a blank line is printed after a B<=head1> heading.  If set to false (the default), no blank line is printed after B<=head1>, although one is still printed after B<=head2>.  This is the default because it's the expected formatting for manual pages; if you're formatting arbitrary text documents, setting this to true may result in more pleasing output.
ja: 真の値に設定した場合、空行を B<=head1> 見出しの後に出力します。偽の値に設定した場合 (デフォルト)、B<=head2> の後には空行を出力しますが、B<=head1> の後に空行を出力しません。マニュアルページが期待している形式であるため、これをデフォルトとしています。テキストドキュメントを任意に整形する場合、真に設定すると、より満足する出力結果になるでしょう。

note: type: textblock
en: Sets the quote marks used to surround CE<lt>> text.  If the value is a single character, it is used as both the left and right quote; if it is two characters, the first character is used as the left quote and the second as the right quote; and if it is four characters, the first two are used as the left quote and the second two as the right quote.
ja: CE<lt>> テキストを囲むために使用される引用符を設定します。値が 1 文字の場合、左右の引用符の両方として使用されます。2 文字の場合、最初の文字を左引用符とし、次の文字を右引用符として使用されます。4 文字の場合、最初の 2 文字を左引用符とし、次の 2 文字を右引用符として使用されます。

note: type: textblock
en: This may also be set to the special value B<none>, in which case no quote marks are added around CE<lt>> text.
ja: ここには特殊な値 B<none> も設定できます。この場合、CE<lt>> テキストのまわりに引用符を追加しません。

note: type: textblock
en: If set to a true value, Locale::Po4a::Pod will assume that each sentence ends in two spaces, and will try to preserve that spacing.  If set to false, all consecutive whitespace in non-verbatim paragraphs is compressed into a single space.  Defaults to true.
ja: 値を true とすると、Locale::Po4a::Pod は各文が二つの空白で終わると仮定し、その空白を保持しようとします。値を false とすると、非逐語段落にある連続した空白すべてを一つの空白に圧縮します。デフォルトは true です。

note: type: textblock
en: The column at which to wrap text on the right-hand side.  Defaults to 76.
ja: テキストを折り返す右端の文字数です。デフォルトは 76 です。

note: type: textblock
en: Locale::Po4a::RubyDoc -- Convert Ruby Document data from/to PO files
ja: Locale::Po4a::RubyDoc - Ruby DocumentデータとPO ファイルとを相互変換する

note: type: textblock
en: Locale::Po4a::RubyDoc is a module to help the translation of documentation in the Ruby Document (RD) format (a language used to document Ruby) into other [human] languages.
ja: Locale::Po4a::RubyDoc は、Ruby Document (RD) 形式（Rubyのドキュメントを書くのに使われる言語）のドキュメントを他の [自然] 言語に翻訳するのを助けるモジュールです。

note: type: textblock
en: This module has been successfully tested on simple Ruby Document files covering a good part of the format syntax.
ja: このモジュールはこの形式の構文の良い部分については押さえており、単純なRubyドキュメントファイルで試したところうまくいっています。

note: type: textblock
en: A known limitation is that it fails to properly recognize the stacked structure of input Ruby Document: this implies that when, for instance, an EnumListItem consists of more than one Block, only the first Block is actually recognized as EnumListItem, while the subsequent ones are considered just as TextBlocks...
ja: 既知の制約としては、入力のRuby Documentの積み重なった構造を適切に認識するのに失敗するものがあります。これが暗示しているのは、例えばEnumListItemが1つ以上のBlockから構成されているとき、最初のBlockのみが実際にEnumListItemとして認識される一方で、残りのものは単なるTextBlockとして見做されてしまうということです……

note: type: textblock
en: This module supports the following option:
ja: このモジュールは以下のオプションに対応しています：

note: type: textblock
en: Handle files entirely made of Ruby Document formatted text (without any "=begin" line).
ja: 全体的に（"=begin"行が1つもない）Ruby Document形式のテキストからなるファイルを扱います。

note: type: textblock
en: By default, this module only handles Ruby Document formatted text between "=begin" and "=end" lines (hence ignoring, among other things, everything that precedes the first "=begin" line).
ja: 既定ではこのモジュールは "=begin" と "=end" の行の間にあるRuby Document形式テキストのみを扱います（したがってその他のものは無視します。最初の "=begin" 行が全てに先立ちます）。

note: type: textblock
en: This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
ja: 本作はフリーソフトウェアです。フリーソフトウェア財団によって発表されているようにGNU一般公衆利用許諾書の条項のもとに再配布及び変更を行うことができます。利用許諾書のバージョンは2ないし（選択として）それ以降のバージョンのいずれかです。

note: type: textblock
en: This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
ja: この作品は有用であることを願って配布されますが、何らの保証もされません。市場性または特定目的への適合性の暗黙の保証さえもありません。詳しくはGNU一般公衆利用許諾書をご覧ください。

note: type: textblock
en: You should have received a copy of the GNU General Public License along with this work; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
ja: この作品とともにGNU一般公衆利用許諾書の複製物を受け取ったはずです。もし受け取っていなければ、Free Software Foundation, Inc, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USAに手紙を出してください。

note: type: textblock
en: Parts of the code (such as many regular expressions) were adapted from the source of rdtool, under the terms of the GNU General Public License, version 2 or later.  These parts are originally:
ja: コードの一部（多くの正規表現など）は、GNU一般公衆利用許諾書バージョン2以降の条件の下で、rdtoolのソースから転用されたものです。これらの部分は元々以下のクレジットです。

note: type: textblock
en: The initialize code was adapted from the source of Locale::Po4a::Text, under the terms of the GNU General Public License, version 2 or later.  This code was originally:
ja: 初期のコードはLocale::Po4a::Textのソースから、GNU一般公衆利用許諾書のバージョン2以降の条項に従って組み入れられました。このコードは元々以下のクレジットでした。

note: type: textblock
en: Locale::Po4a::Sgml - convert SGML documents from/to PO files
ja: Locale::Po4a::Sgml - PO ファイルと SGML ドキュメントの変換

note: type: textblock
en: Locale::Po4a::Sgml is a module to help the translation of documentation in the SGML format into other [human] languages.
ja: Locale::Po4a::Sgml は、SGML フォーマットのドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: This module uses B<onsgmls>(1) to parse the SGML files. Make sure it is installed.  Also make sure that the DTD of the SGML files are installed in the system.
ja: このモジュールは SGML ファイルのパースに B<onsgmls>(1) を利用します。必ずインストールしてください。また、SGML ファイルの DTD を、システムに必ずインストールしてください。

note: type: textblock
en: Space separated list of keywords indicating which part you want to debug. Possible values are: tag, generic, entities and refs.
ja: デバッグしたい場所を示す空白区切りのキーワードリストを表示します。取り得る値は、tag, generic, entities, refs です。

note: type: textblock
en: Give more information about what's going on.
ja: どのように実行しているかのより詳細な情報を出力します。

note: type: textblock
en: Space separated list of extra tags (beside the DTD provided ones) whose content should form an extra msgid.
ja: 内容が追加 msgid の形になる追加タグ (DTD で規定されているもの以外) の空白区切りリストです。

note: type: textblock
en: Space separated list of extra tags (beside the DTD provided ones)  containing other tags, some of them being of category B<translate>.
ja: B<translate> カテゴリ内のほかのタグを中に含む追加タグ (DTD の範囲外) の空白区切りリストです。

note: type: textblock
en: Space separated list of tags which increase the indentation level.
ja: インデントレベルを増やすタグの空白区切りリストです。

note: type: textblock
en: The layout within those tags should not be changed. The paragraph won't get wrapped, and no extra indentation space or new line will be added for cosmetic purpose.
ja: そのタグのレイアウトは変更されません。段落は折り返されず、インデントのための空白は追加されず、見栄えのための空行追加もされません。

note: type: textblock
en: Tags not needing to be closed.
ja: 閉じる必要のないタグです。

note: type: textblock
en: Tags ignored and considered as plain char data by po4a. That is to say that they can be part of an msgid. For example, E<lt>bE<gt> is a good candidate for this category since putting it in the translate section would create msgids not being whole sentences, which is bad.
ja: 無視され、po4a がただの文字列として扱うタグです。つまり、msgid の一部として扱えます。例えば、E<lt>bE<gt> はこのカテゴリの良い例です。E<lt>bE<gt> が翻訳セクションに入ってしまうと、文全体が入った msgid が作られなくなってしまいます。これはまずいです。

note: type: textblock
en: A space separated list of attributes that need to be translated. You can specify the attributes by their name (for example, "lang"), but you can also prefix it with a tag hierarchy, to specify that this attribute will only be translated when it is into the specified tag. For example: E<lt>bbbE<gt>E<lt>aaaE<gt>lang specifies that the lang attribute will only be translated if it is in an E<lt>aaaE<gt> tag, which is in a E<lt>bbbE<gt> tag.  The tag names are actually regular expressions so you can also write things like E<lt>aaa|bbbbE<gt>lang to only translate lang attributes that are in an E<lt>aaaE<gt> or a E<lt>bbbE<gt> tag.
ja: 翻訳する必要のある属性の空白区切りリストです。属性を名前 (例: "lang") で指定できますが、特定のタグの中にあるときだけこの属性を翻訳するように、タグ階層を前につけることもできます。例えば、E<lt>bbbE<gt>E<lt>aaaE<gt>lang は、E<lt>bbbE<gt> タグの中にある E<lt>aaaE<gt> タグの中にある場合に、lang 属性を翻訳するということを示しています。タグ名は、実際には正規表現ですから、E<lt>aaa|bbbbE<gt>lang のように書いた場合は、E<lt>aaaE<gt> タグか E<lt>bbbE<gt> タグの中にある lang 属性のみを翻訳できます。

note: type: textblock
en: A space separated list of attributes for which the translation must be qualified by the attribute name. Note that this setting automatically adds the given attribute into the 'attributes' list too.
ja: 翻訳が属性名で修飾しなければならない属性の空白区切りのリストです。この設定に与えた属性は、自動的に 'attributes' リストにも追加されることに注意してください。

note: type: textblock
en: Proceed even if the DTD is unknown or if onsgmls finds errors in the input file.
ja: DTD が分からない場合や onsgmls が入力ファイルでエラーを検出する場合のいずれでも処理します。

note: type: textblock
en: By default, msgids containing only one entity (like '&version;') are skipped for the translator comfort. Activating this option prevents this optimisation. It can be useful if the document contains a construction like "<title>&Aacute;</title>", even if I doubt such things to ever happen...
ja: デフォルトでは、('&version;' のような) エンティティを一つだけ含む msgid は、翻訳者の便宜のためスキップします。このオプションを有効にすると、この最適化を行わなくなります。これは、"<title>&Aacute;</title>" のような構造を含むドキュメントには便利です。とはいえ、そのようなことがそんなにあるかは疑わしいです……

note: type: textblock
en: Space separated list of entities that won't be inlined.  Use this option with caution: it may cause onsgmls (used internally) to add tags and render the output document invalid.
ja: インラインにしたくないエンティティの空白区切りリストです。このオプションは注意して使用してください。onsgmls (内部で使用) がタグを追加し、無効な出力ドキュメントを表示する原因になる可能性があります。

note: type: textblock
en: The result is perfect. I.e., the generated documents are exactly the same. But there are still some problems:
ja: 結果は完璧です。言い換えると生成したドキュメントは完全に一致しています。しかし、まだ以下のような問題があります:

note: type: textblock
en: The error output of onsgmls is redirected to /dev/null by default, which is clearly bad. I don't know how to avoid that.
ja: 既定ではonsgmls のエラー出力を /dev/null にリダイレクトしています。明らかにまずいのですが、どのように回避したらよいのかがわかりません。

note: type: textblock
en: The problem is that I have to "protect" the conditional inclusions (i.e. the C<E<lt>! [ %foo [> and C<]]E<gt>> stuff) from onsgmls. Otherwise onsgmls eats them, and I don't know how to restore them in the final document. To prevent that, I rewrite them to C<{PO4A-beg-foo}> and C<{PO4A-end}>.
ja: 問題は、onsgmls から条件付き取り込み (つまり C<E<lt>! [ %foo [> and C<]]E<gt>> のようなもの) を "保護" しなければならないということです。そうしないと、onsgmls が展開してしまい、最終ドキュメントで復元する方法がわかりません。これを防ぐために、私は C<{PO4A-beg-foo}> と C<{PO4A-end}> に書き直しました。

note: type: textblock
en: The problem with this is that the C<{PO4A-end}> and such I add are invalid in the document (not in a E<lt>pE<gt> tag or so).
ja: これの問題は、C<{PO4A-end}> などと私が追加するものが、(E<lt>pE<gt> タグ内などと違って) ドキュメント内で無効であることです。

note: type: textblock
en: If you want to view the onsgmls output, just add the following to your command line (or po4a configuration line):
ja: もしonsgmlsの出力を見たかったら、以下をコマンドライン（ないしpo4aの設定行）に加えるだけです。

note: type: textblock
en: It does work only with the DebianDoc and DocBook DTD. Adding support for a new DTD should be very easy. The mechanism is the same for every DTD, you just have to give a list of the existing tags and some of their characteristics.
ja: DebianDoc DTD と DocBook DTD でのみ動作します。新しい DTD のサポートを追加するのは非常に簡単でしょう。仕組みはすべての DTD で同じで、既存のタグのリストとその特徴を与えるだけです。

note: type: textblock
en: I agree, this needs some more documentation, but it is still considered as beta, and I hate to document stuff which may/will change.
ja: 確かに、もっとドキュメントの記述が必要です。しかし、これはまだベータ版ですし、変わることが予想されるものの記述を行うのがイヤなのです。

note: type: textblock
en: Warning, support for DTDs is quite experimental. I did not read any reference manual to find the definition of every tag. I did add tag definition to the module 'till it works for some documents I found on the net. If your document use more tags than mine, it won't work. But as I said above, fixing that should be quite easy.
ja: 警告: DTD のサポートは非常に実験的です。すべてのタグの定義を見つけるのに、リファレンスマニュアルを読んだわけではありません。ネットで見つかるドキュメントで動作するように、このモジュールにタグの定義を追加しました。あなたのドキュメントが私のよりも多くの種類のタグを使用している場合、動作しないでしょう。しかし前述の通り、修正は非常に簡単です。

note: type: textblock
en: I did test DocBook against the SAG (System Administrator Guide) only, but this document is quite big, and should use most of the DocBook specificities.
ja: DocBook のテストは SAG (System Administrator Guide) でのみ行いましたが、このドキュメントは非常に大きく、DocBook の仕様のほとんどを使用していると考えています。

note: type: textblock
en: For DebianDoc, I tested some of the manuals from the DDP, but not all yet.
ja: DebianDoc に対しては、DDP にあるマニュアルでテストをしています。しかしまだ、すべてではありません。

note: type: textblock
en: In case of file inclusion, string reference of messages in PO files (i.e. lines like C<#: en/titletoc.sgml:9460>) will be wrong.
ja: ファイルの取り込みを行う場合、PO ファイルにあるメッセージの参照文字列 (例: C<#: en/titletoc.sgml:9460> のような行) は誤りが発生するでしょう。

note: type: textblock
en: This is because I preprocess the file to protect the conditional inclusion (i.e. the C<E<lt>! [ %foo [> and C<]]E<gt>> stuff) and some entities (like &version;) from onsgmls because I want them verbatim to the generated document. For that, I make a temp copy of the input file and do all the changes I want to this before passing it to onsgmls for parsing.
ja: これにより、生成したドキュメントでは、条件付き取り込み (例; the C<E<lt>! [ %foo [> and C<]]E<gt>> など) やいくつかのエンティティ (&version; のような) がそのまま扱われてほしいので、onsgmls から保護するため前処理を行うことになります。そこで、入力ファイルの一時コピーを作成し、onsgmls に渡してパースする前に、それらすべてを変更します。

note: type: textblock
en: So that it works, I replace the entities asking for a file inclusion by the content of the given file (so that I can protect what needs to be in a subfile also). But nothing is done so far to correct the references (i.e., filename and line number) afterward. I'm not sure what the best thing to do is.
ja: こうするためには、与えられたファイルの内容により、ファイルの取り込みを確認しながらエンティティを置換します (サブファイルでも必要とあらば保護できるように)。ですが今のところ、後で参照 (例えばファイル名や行番号) を修正するということは行いません。どのようにするのが正しいのか、私にはよくわかりません。

note: type: textblock
en: This module is an adapted version of sgmlspl (SGML postprocessor for the ONSGMLS parser) which was:
ja: このモジュールは、以下の方による sgmlspl (SGMLS パーサや ONSGMLS パーサの SGML ポストプロセッサ) の適合版です:

note: type: textblock
en: The adaptation for po4a was done by:
ja: po4a への適合は以下のメンバーが行いました:

note: type: textblock
en: Locale::Po4a::TeX - convert TeX documents and derivatives from/to PO files
ja: Locale::Po4a::TeX - PO ファイルと TeX 文書やその派生物の変換

note: type: textblock
en: Locale::Po4a::TeX is a module to help the translation of TeX documents into other [human] languages. It can also be used as a base to build modules for TeX-based documents.
ja: Locale::Po4a::TeX は、TeX ドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。TeX を元にしたドキュメント用モジュールを作成するベースにもなります。

note: type: textblock
en: Users should probably use the LaTeX module, which inherits from the TeX module and contains the definitions of common LaTeX commands.
ja: 利用者は恐らくLaTeX モジュールを使用するべきです。これはTeX モジュールから継承しており一般的な LaTeX コマンドを定義してあります。

note: type: =head1
en: TRANSLATING WITH PO4A::TEX
ja: PO4A::TEX での翻訳

note: type: textblock
en: This module can be used directly to handle generic TeX documents.  This will split your document in smaller blocks (paragraphs, verbatim blocks, or even smaller like titles or indexes).
ja: このモジュールは、一般的な TeX ドキュメントを直接扱えます。ドキュメントを小さなブロック (段落、verbatim ブロック、タイトルやインデックスのような同等の小さな部位) に分割します。

note: type: textblock
en: There are some options (described in the next section) that can customize this behavior.  If this doesn't fit to your document format you're encouraged to write your own derivative module from this, to describe your format's details.  See the section B<WRITING DERIVATIVE MODULES> below, for the process description.
ja: 振る舞いをカスタマイズできるような、（次節で説明する）オプションがあります。あなたのドキュメントフォーマットに合わない場合は、フォーマットの詳細に合わせて、迷わずここから派生したモジュールを書いてください。その方法の説明については、以下にある「派生モジュールの作成」節を参照してください。

note: type: textblock
en: This module can also be customized by lines starting with "% po4a:" in the TeX file. This process is described in the B<INLINE CUSTOMIZATION> section.
ja: このモジュールは、TeX ファイル中の "% po4a:" で始まる行でもカスタマイズできます。この工程については、B<インラインカスタマイズ> 節で説明します。

note: type: textblock
en: Comma-separated list of environments which should not be re-wrapped.
ja: 改行を行うべきでない環境のコンマ区切りリストです。

note: type: textblock
en: Note that there is a difference between verbatim and no_wrap environments.  There is no command and comments analysis in verbatim blocks.
ja: verbatim 環境と no_wrap 環境には違いがあることに注意してください。verbatim ブロックを解析する、コマンドやコメントはありません。

note: type: textblock
en: If this environment was not already registered, po4a will consider that this environment does not take any parameters.
ja: この環境がすでに登録されていない場合、po4a は、この環境がパラメータを何も取らないとみなすでしょう。

note: type: textblock
en: Colon-separated list of files that should not be included by \input and \include.
ja: \input や \include で取り込むべきでないファイルのコロン区切りリストです。

note: type: textblock
en: Comma-separated list of environments which should be taken as verbatim.
ja: verbatim として扱うべき環境のコンマ区切りリストです。

note: type: textblock
en: Use these options to override the default behavior of the defined commands.
ja: これらのオプションを使うと定義されたコマンドの既定の振舞いが上書きされます。

note: type: textblock
en: The TeX module can be customized with lines starting by B<% po4a:>.  These lines are interpreted as commands to the parser.  The following commands are recognized:
ja: TeX モジュールは、B<% po4a:> で始まる行によりカスタマイズできます。この行はパーサにコマンドとして解釈されます。以下のコマンドを認識します:

note: type: =item
en: B<% po4a: command> I<command1> B<alias> I<command2>
ja: B<% po4a: command> I<コマンド1> B<alias> I<コマンド2>

note: type: textblock
en: Indicates that the arguments of the I<command1> command should be treated as the arguments of the I<command2> command.
ja: I<コマンド1> コマンドの引数が、I<コマンド2> コマンドの引数であるかのように扱うことを示します。

note: type: =item
en: B<% po4a: command> I<command1> I<parameters>
ja: B<% po4a: command> I<コマンド1> I<パラメータ>

note: type: textblock
en: This describes in detail the parameters of the I<command1> command.  This information will be used to check the number of arguments and their types.
ja: I<コマンド1> コマンドのパラメータの詳細が記述されます。この情報を、引数の数と型を検査するのに使用します。

note: type: textblock
en: You can precede the I<command1> command by
ja: I<command1> コマンドの前に置けます

note: type: =item
en: an asterisk (B<*>)
ja: アスタリスク (B<*>)

note: type: textblock
en: po4a will extract this command from paragraphs (if it is located at the beginning or the end of a paragraph).  The translators will then have to translate the parameters that are marked as translatable.
ja: po4a は (段落の先頭や末尾にある場合) 段落からこのコマンドを抽出します。ですから、翻訳者は、翻訳可能であるとマークされたパラメータを翻訳するべきです。

note: type: =item
en: a plus (B<+>)
ja: プラス (B<+>)

note: type: textblock
en: As for an asterisk, the command will be extracted if it appear at an extremity of a block, but the parameters won't be translated separately.  The translator will have to translate the command concatenated to all its parameters.  This keeps more context, and is useful for commands with small words in parameter, which can have multiple meanings (and translations).
ja: アスタリスクのように、コマンドは、ブロックの端に現れる場合に抽出しますが、パラメータを分割して翻訳することはしません。翻訳者はこのパラメータすべてを結合したコマンドを翻訳しなければなりません。このため、文脈を保持し、複数の意味 (と翻訳) を持つ、短い単語のパラメータを持つコマンドに対して便利です。

note: type: textblock
en: Note: In this case you don't have to specify which parameters are translatable, but po4a must know the type and number of parameters.
ja: 注意: この場合、翻訳可能なパラメータを指定する必要はありませんが、po4a がパラメータの型と数を知らねばなりません。

note: type: =item
en: a minus (B<->)
ja: マイナス (B<->)

note: type: textblock
en: In this case, the command won't be extracted from any block.  But if it appears alone on a block, then only the parameters marked as translatable will be presented to the translator.  This is useful for font commands.  These commands should generally not be separated from their paragraph (to keep the context), but there is no reason to annoy the translator with them if a whole string is enclosed in such a command.
ja: この場合、コマンドは、いずれのブロックからも抽出しません。しかし、ブロック内に一つしかないときだけ、翻訳可能とマークしたパラメータを翻訳者に提示します。これは font コマンドに対して便利です。こういったコマンドは、(文脈を保持するため) 一般的に段落から切り離すべきではありませんが、文字列全体がそういったコマンドになっている場合は、切り離さずにいて、翻訳者をいらつかせる理由はありません。

note: type: verbatim
en: The I<parameters> argument is a set of [] (to indicate an optional
    argument) or {} (to indicate a mandatory argument).
    You can place an underscore (_) between these brackets to indicate that
    the parameter must be translated. For example:
     % po4a: command *chapter [_]{_}
ja: I<parameters> 引数は、[] (任意オプション) のセットか、
    {} (必須オプション) のセットです。
    括弧の間にアンダースコア (_) を配置し、パラメータを訳さなければならない
    ことを指定できます。以下のようになります:
     % po4a: command *chapter [_]{_}

note: type: verbatim
en: This indicates that the chapter command has two parameters: an optional
    (short title) and a mandatory one, which must both be translated.
    If you want to specify that the href command has two mandatory parameters,
    that you don't want to translate the URL (first parameter), and that you
    don't want this command to be separated from its paragraph (which allow
    the translator to move the link in the sentence), you can use:
     % po4a: command -href {}{_}
ja: これは、chapter コマンドには二つのパラメータがあり、両方とも翻訳の必要が
    あることを示します: オプション (短いタイトル) と必須のもの。
    href コマンドには二つの必須パラメータがあり、URL (第 1 パラメータ) を
    訳したくなく、さらに、(文の中で翻訳者がリンクを移動できるように)
    このコマンドを段落から分離したくない場合、以下のようになります:
     % po4a: command -href {}{_}

note: type: textblock
en: In this case, the information indicating which arguments must be translated is only used if a paragraph is only composed of this href command.
ja: この場合、翻訳するべき引数を示す情報は、この href コマンドだけからなる段落の場合にのみ使用されます。

note: type: verbatim
en: This defines the parameters accepted by the I<env> environment and specifies the ones to be translated.
    This information is later used to check the number of arguments of the
    \begin command.
    The syntax of the I<parameters> argument is the same as described for the
    others commands.
    The first parameter of the \begin command is the name of the environment.
    This parameter must not be specified in the list of parameters. Here are
    some examples:
     % po4a: environment multicols {}
     % po4a: environment equation
ja: これは I<env> 環境が受け取るパラメータを定義し、翻訳すべきものを指定します。
    この情報は後で \begin コマンドの引数の個数を検査するのに使われます。
    I<parameters> 引数の構文は他のコマンドで説明したものと同じです。
    \begin コマンドの第 1 引数は環境の名前です。このパラメータは、パラメータ
    のリストに指定してはいけません。以下にいくつか例を示します:
     % po4a: environment multicols {}
     % po4a: environment equation

note: type: textblock
en: As for the commands, I<env> can be preceded by a plus (+) to indicate that the \begin command must be translated with all its arguments.
ja: command と同様に、I<env> の前にプラス (+) を付けると、その \begin コマンドはすべての引数と一緒に翻訳されることを表します。

note: type: textblock
en: Indicates that an environment should be split according to the given regular expression.
ja: 与えた正規表現により環境が分割されることを示します。

note: type: textblock
en: The regular expression is delimited by quotes.  It should not create any back-reference.  You should use (?:) if you need a group.  It may also need some escapes.
ja: 正規表現は、引用符で区切られます。後方参照は作られません。グループが必要な場合は (?:) を使用してください。また、エスケープする必要があるでしょう。

note: type: textblock
en: For example, the LaTeX module uses the "(?:&|\\\\)" regular expression to translate separately each cell of a table (lines are separated by '\\' and cells by '&').
ja: 例えば、LaTeX モジュールは "(?:&|\\\\)" という正規表現を、表の各セル (行を '\\' で区切り、セルを '&' で区切る) を別個に翻訳するために使用します。

note: type: textblock
en: The notion of environment is expanded to the type displayed in the PO file.  This can be used to split on "\\\\" in the first mandatory argument of the title command.  In this case, the environment is title{#1}.
ja: 環境の概念は PO ファイルに表示される型に使われます。これは title コマンドの先頭の必須引数を "\\\\" で分割するのに使用できます。この場合、環境は title{#1} になります。

note: type: textblock
en: Indicate that I<env> is a verbatim environment.  Comments and commands will be ignored in this environment.
ja: I<env> が verbatim 環境であることを示します。この環境では、コメントとコマンドは無視されます。

note: type: =head1
en: WRITING DERIVATE MODULES
ja: 派生モジュールの作成

note: type: textblock
en: Add a string as a comment to be added around the next translated element.  This is mostly useful to the texinfo module, as comments are automatically handled in TeX.
ja: 次に翻訳される要素の周りに追加されるコメントとして文字列を追加します。TeXではコメントは自動的に処理されるため、これは主にtexinfoモジュールに有用です。

note: type: textblock
en: Wrapper around Transtractor's translate, with pre- and post-processing filters.
ja: Transtractor の translate 関数のラッパーで、前処理や後処理のフィルタになります。

note: type: textblock
en: Comments of a paragraph are inserted as a PO comment for the first translated string of this paragraph.
ja: 段落のコメントを、その段落の最初の翻訳文字列の PO コメントに挿入します。

note: type: textblock
en: This function returns:
ja: この関数は以下のものを返します:

note: type: =item
en: A command name
ja: コマンド名

note: type: textblock
en: If no command is found at the beginning of the given buffer, this string will be empty.  Only commands that can be separated are considered.  The %separated_command hash contains the list of these commands.
ja: 与えられたバッファの先頭にコマンドが見つからない場合、この文字列は空になります。分割できるコマンドのみであることが考えられます。%separated_command ハッシュには、これらのコマンドのリストが含まれています。

note: type: =item
en: A variant
ja: 派生

note: type: textblock
en: This indicates if a variant is used.  For example, an asterisk (*) can be added at the end of sections command to specify that they should not be numbered.  In this case, this field will contain "*".  If there is no variant, the field is an empty string.
ja: 派生が使われるかを示します。例えば、番号付けされるべきではないことを指定するのに、アスタリスク (*) を section コマンドの最後に追加できます。この場合、フィールドは "*" を含むでしょう。派生がなければ、このフィールドは空文字列となります。

note: type: =item
en: An array of tuples (type of argument, argument)
ja: タプル (引数の型と引数) の配列

note: type: textblock
en: The type of argument can be either '{' (for mandatory arguments) or '[' (for optional arguments).
ja: 引数の型は '{' (必須引数) や '[' (オプション引数) のどちらでも可能です。

note: type: =item
en: The remaining buffer
ja: 残りのバッファ

note: type: textblock
en: The rest of the buffer after the removal of this leading command and its arguments.  If no command is found, the original buffer is not touched and returned in this field.
ja: 先頭からコマンドやその引数を取り去った後の、バッファの残りです。コマンドがなければ、元のバッファに手をつけず、このフィールドに返ります。

note: type: textblock
en: The same as B<get_leading_command>, but for commands at the end of a buffer.
ja: B<get_leading_command> と同じですが、バッファの後ろからコマンドを取ります。

note: type: textblock
en: Recursively translate a buffer by separating leading and trailing commands (those which should be translated separately) from the buffer.
ja: 前後に付けられた (分割して翻訳すべき) コマンドで区切られたバッファを、再帰的に翻訳します。

note: type: textblock
en: If a function is defined in %translate_buffer_env for the current environment, this function will be used to translate the buffer instead of translate_buffer().
ja: 現在の環境の %translate_buffer_env で関数が定義されると、translate_buffer() に代えてこの関数がバッファの翻訳に使用されます。

note: type: textblock
en: Overloads Transtractor's read().
ja: Transtractor の read() で上書きします。

note: type: textblock
en: Recursively read a file, appending included files which are not listed in the @exclude_include array.  Included files are searched using the B<kpsewhich> command from the Kpathsea library.
ja: 再帰的にファイルを読み込み、@exclude_include 配列にリストされていない取り込みファイルを追加します。取り込みファイルを、B<kpsewhich> コマンドを使用して、Kpathsea ライブラリから探します。

note: type: textblock
en: Except from the file inclusion part, it is a cut and paste from Transtractor's read.
ja: ファイル取り込み部を除いて、Transtractor の read からカット & ペーストしたものです。

note: type: textblock
en: Subroutine for parsing a file with po4a directives (definitions for new commands).
ja: po4a ディレクティブがあるファイルのパース用サブルーチンです (新しいコマンドを定義します)。

note: type: textblock
en: Parse a definition line of the form "% po4a: ".
ja: "% po4a: " の形の定義行をパースします。

note: type: textblock
en: See the B<INLINE CUSTOMIZATION> section for more details.
ja: 詳細は、B<インラインカスタマイズ> 節を参照してください。

note: type: =head1
en: INTERNAL FUNCTIONS used to write derivative parsers
ja: 派生パーサ作成時に使用する内部関数

note: type: textblock
en: Command and environment functions take the following arguments (in addition to the $self object):
ja: コマンド関数と環境関数は、($self オブジェクトに加えて) 以下の引数を取ります:

note: type: =item
en: An array of (type, argument) tuples
ja: (型、引数の) タプルの配列

note: type: =item
en: The current environment
ja: 現在の環境

note: type: textblock
en: The first 3 arguments are extracted by get_leading_command or get_trailing_command.
ja: 先頭の 3 つの引数は get_leading_command や get_trailing_command で抽出されます。

note: type: textblock
en: Command and environment functions return the translation of the command with its arguments and a new environment.
ja: コマンド関数や環境関数は、引数や新しい環境でのコマンドの翻訳を返します。

note: type: textblock
en: Environment functions are called when a \begin command is found. They are called with the \begin command and its arguments.
ja: 環境関数は \begin コマンドが見つかると呼ばれます。これらは \begin コマンドとその引数により呼ばれます。

note: type: textblock
en: The TeX module only proposes one command function and one environment function: generic_command and generic_environment.
ja: TeX モジュールは一つのコマンド関数と一つの環境関数しか提案しません。generic_command と generic_environment です。

note: type: verbatim
en: generic_command uses the information specified by
    register_generic_command or by adding definition to the TeX file:
     % po4a: command I<command1> I<parameters>
ja: generic_command は、register_generic_command や
    TeX ファイルへの追加定義で指定した情報を使用します:
     % po4a: command I<command1> I<parameters>

note: type: verbatim
en: generic_environment uses the information specified by
    register_generic_environment or by adding definition to the TeX file:
     % po4a: environment I<env> I<parameters>
ja: generic_environment は、register_generic_environment や
    TeX ファイルへの追加定義で指定した情報を使用します:
     % po4a: environment I<env> I<parameters>

note: type: textblock
en: Both functions will only translate the parameters that were specified as translatable (with a '_').  generic_environment will append the name of the environment to the environment stack and generic_command will append the name of the command followed by an identifier of the parameter (like {#7} or [#2]).
ja: どちらの関数も、翻訳可能であると ('_' で) 指定したパラメータのみを翻訳します。generic_environment は環境スタックに環境名を追加し、generic_command は、({#7} や [#2] のような) パラメータの識別子が続くコマンド名を追加します。

note: type: textblock
en: This module needs more tests.
ja: このモジュールはもっとテストが必要です。

note: type: textblock
en: It was tested on a book and with the Python documentation.
ja: 本と Python ドキュメントでテストされました。

note: type: =head1
en: TODO LIST
ja: TODO リスト

note: type: =item
en: Automatic detection of new commands
ja: 新しいコマンドの自動検出

note: type: textblock
en: The TeX module could parse the newcommand arguments and try to guess the number of arguments, their type and whether or not they should be translated.
ja: TeX モジュールは、newcommand の引数をパースし、引数の数や型、翻訳するべきか否かを推測できるはずです。

note: type: =item
en: Translation of the environment separator
ja: 環境セパレータの翻訳

note: type: textblock
en: When \item is used as an environment separator, the item argument is attached to the following string.
ja: \item が環境セパレータとして使われている場合、item の引数は続く文字列にアタッチされます。

note: type: =item
en: Some commands should be added to the environment stack
ja: いくつかのコマンドを環境スタックに追加するべき

note: type: =item
en: Others
ja: その他

note: type: textblock
en: Various other points are tagged TODO in the source.
ja: ソースの様々なほかの場所に TODO タグが付いています。

note: type: =head1
en: KNOWN BUGS
ja: 既知のバグ

note: type: textblock
en: Various points are tagged FIXME in the source.
ja: ソースの様々な場所に FIXME タグが付いています。

note: type: textblock
en: Locale::Po4a::Texinfo - convert Texinfo documents and derivates from/to PO files
ja: Locale::Po4a::Texinfo - PO ファイルと Texinfo ドキュメントや派生物の変換

note: type: textblock
en: Locale::Po4a::Texinfo is a module to help the translation of Texinfo documents into other [human] languages.
ja: Locale::Po4a::Texinfo は、Texinfo ドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: This module contains the definitions of common Texinfo commands and environments.
ja: このモジュールには、一般的な Texinfo コマンドや環境の定義が含まれています。

note: type: textblock
en: Only the comments starting with 'TRANSLATORS' are added to the PO files to guide the translators.
ja: POファイルには「TRANSLATORS」で始まるコメントのみが追加され、翻訳者の手引きとなります。

note: type: textblock
en: Locale::Po4a::Text - convert text documents from/to PO files
ja: Locale::Po4a::Text - PO ファイルとテキストドキュメントの変換

note: type: textblock
en: Locale::Po4a::Text is a module to help the translation of text documents into other [human] languages.
ja: Locale::Po4a::Text は、テキストドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: Paragraphs are split on empty lines (or lines containing only spaces or tabulations).
ja: 段落は空行 (またはスペースやタブ文字しかない行) で区切られます。

note: type: textblock
en: If a paragraph contains a line starting by a space (or tabulation), this paragraph won't be rewrapped.
ja: 段落がスペース (やタブ文字) で始まる行を含む場合は、この段落は再度行の折り返しをしません。

note: type: textblock
en: Treat paragraphs that look like a key value pair as verbatim (with the no-wrap flag in the PO file).  Key value pairs are defined as a line containing one or more non-colon and non-space characters followed by a colon followed by at least one non-space character before the end of the line.
ja: キーバリュー対のように見える段落をそのまま扱います（POファイルでno-wrapフラグを指定します）。キーバリュー対は、コロンでも空白でもない文字を1つ以上含み、その後にコロン1つ、そして次に行末の前に空白以外の文字を1つ以上含む行と定義されます。

note: type: textblock
en: Deactivate the detection of bullets.
ja: 箇条書きの検出を無効にします。

note: type: textblock
en: By default, when a bullet is detected, the bullet paragraph is not considered as a verbatim paragraph (with the no-wrap flag in the PO file). Instead, the corresponding paragraph is rewrapped in the translation.
ja: 箇条書きの点を検出すると、その段落は逐語的な段落として見なされません（PO ファイルの中で no-wrap フラグが立ちます）。その代わり、翻訳では対応する段落が再度折り返されます。

note: type: textblock
en: Specify how tabulations shall be handled. The I<mode> can be any of:
ja: タブ文字をどのように扱うのかを指定します。I<mode> には以下を指定できます:

note: type: textblock
en: Lines with tabulations introduce breaks in the current paragraph.
ja: 現在の段落内でタブ文字のある行は、改行されます。

note: type: textblock
en: Paragraph containing tabulations will not be re-wrapped.
ja: タブ文字を含む段落は、改行しません。

note: type: textblock
en: By default, tabulations are considered as spaces.
ja: デフォルトではタブ文字を空白として認識します。

note: type: textblock
en: A regular expression matching lines which introduce breaks.  The regular expression will be anchored so that the whole line must match.
ja: 改行を表す行にマッチする正規表現です。行全体にマッチするように、正規表現は固定されます。

note: type: textblock
en: Handle the header and footer of released versions, which only contain non translatable information.
ja: 翻訳しない情報しか含まない、リリースバージョンのヘッダやフッタを扱います。

note: type: textblock
en: Handle the fortunes format, which separate fortunes with a line which consists in '%' or '%%', and use '%%' as the beginning of a comment.
ja: fortunes のフォーマットを扱います。これは、'%' や '%%' からなる行で fortunes を区切り、コメントの開始として '%%' を使用します。

note: type: textblock
en: Handle some special markup in Markdown-formatted texts.
ja: Markdown フォーマットテキストの特殊なマークアップを扱います。

note: type: =item
en: B<yfm_keys> (markdown-only)
ja: B<yfm_keys>（markdownのみ）

note: type: =item
en: B<yfm_lenient> (markdown only)
ja: B<yfm_lenient>（markdownのみ）

note: type: textblock
en: Allow the YAML Front Matter parser to fail on malformated headers. This is particularly helpful when your file starts with a horizontal ruler instead of a YAML Front Matter, but you insist on using three dashes only for your ruler.
ja: YAMLフロントマター解析器が不正なヘッダで失敗することを許します。これは、ファイルが YAMLフロントマターではなく水平線で始まっていて、線に 3 つのダッシュのみを使うことにこだわっている場合に特に役に立ちます。

note: type: textblock
en: Handle control files.  A comma-separated list of tags to be translated can be provided.
ja: control ファイルを扱います。翻訳するタグのリストをコンマ区切りで指定できます。

note: type: textblock
en: Tested successfully on simple text files and NEWS.Debian files.
ja: シンプルなテキストファイルと NEWS.Debian ファイルでのテストが成功しています。

note: type: textblock
en: Locale::Po4a::TransTractor - generic trans(lator ex)tractor.
ja: Locale::Po4a::TransTractor - 汎用翻訳抽出機構。

note: type: textblock
en: This class is the ancestor of every po4a parser used to parse a document, to search translatable strings, to extract them to a PO file and to replace them by their translation in the output document.
ja: このクラスは、翻訳可能な文字列を検索するためのドキュメントのパース、PO ファイルへの抽出、出力したドキュメントへの翻訳した文字列の置換に使用する、すべての po4a パーサの祖先になります。

note: type: textblock
en: More formally, it takes the following arguments as input:
ja: もっと形式張って言うと、入力として以下の引数を取ります:

note: type: textblock
en: a document to translate;
ja: 翻訳する文書；

note: type: textblock
en: a PO file containing the translations to use.
ja: 使用する翻訳を含むPO ファイル。

note: type: textblock
en: As output, it produces:
ja: 以下を出力します:

note: type: textblock
en: another PO file, resulting of the extraction of translatable strings from the input document;
ja: 入力ドキュメントから翻訳可能な文字列を抽出した、別の PO ファイル。

note: type: textblock
en: a translated document, with the same structure than the one in input, but with all translatable strings replaced with the translations found in the PO file provided in input.
ja: 入力したものと同じ構造で、入力した PO ファイルにある翻訳で翻訳可能な文字列を置換した、翻訳済みドキュメント。

note: type: textblock
en: Here is a graphical representation of this:
ja: これを視覚的に表すと次のようになります:

note: type: verbatim
en:    Input document --\                             /---> Output document
                         \                           /       (translated)
                          +-> parse() function -----+
                         /                           \
       Input PO --------/                             \---> Output PO
                                                             (extracted)
ja:    入力ドキュメント-\                             /---> 出力ドキュメント
                         \                           /          (翻訳済)
                          +-> parse() 関数 ---------+
                         /                           \
       入力 PO  --------/                             \---> 出力 PO
                                                             (抽出済)

note: type: =head1
en: FUNCTIONS YOUR PARSER SHOULD OVERRIDE
ja: 個別のパーサでオーバーライドするべき関数

note: type: textblock
en: This is where all the work takes place: the parsing of input documents, the generation of output, and the extraction of the translatable strings. This is pretty simple using the provided functions presented in the section B<INTERNAL FUNCTIONS> below. See also the B<SYNOPSIS>, which presents an example.
ja: ここに、入力ドキュメントのパース、出力の生成、翻訳可能文字列の抽出といった、すべての動作を定義しています。後述する B<内部関数> 節で説明する提供された関数を使用するのはかなり簡単です。サンプル付きの B<書式> も参照してください。

note: type: textblock
en: This function is called by the process() function below, but if you choose to use the new() function, and to add content manually to your document, you will have to call this function yourself.
ja: この関数は後述の process() 関数から呼ばれますが、new() 関数を使用してドキュメントに内容を手で追加するのを選んだ場合、この関数自体を呼ばねばなりません。

note: type: textblock
en: This function returns the header we should add to the produced document, quoted properly to be a comment in the target language.  See the section B<Educating developers about translations>, from L<po4a(7)|po4a.7>, for what it is good for.
ja: この関数は、ターゲットの言語でコメントにするために適切にクォートした、生成したドキュメントに追加するべきヘッダを返します。この何がよいのかは、L<po4a(7)|po4a.7> の B<翻訳についての開発者教育> 節を参照してください。

note: type: textblock
en: The following example parses a list of paragraphs beginning with "<p>". For the sake of simplicity, we assume that the document is well formatted, i.e. that '<p>' tags are the only tags present, and that this tag is at the very beginning of each paragraph.
ja: 以下の例は、"<p>" で始まる段落のリストをパースします。簡単にするために、ドキュメントは整形されている、すなわち、現れるタグは '<p>' のみで、各段落はこのタグで必ず始まると仮定します。

note: type: textblock
en: Once you've implemented the parse function, you can use your document class, using the public interface presented in the next section.
ja: parse 関数を実装したら、次節で説明するパブリックインターフェースを用いて document クラスを使用できます。

note: type: =head1
en: PUBLIC INTERFACE for scripts using your parser
ja: パーサで使用するスクリプトのパブリックインターフェース

note: type: =head2
en: Constructor
ja: コンストラクタ

note: type: textblock
en: This function can do all you need to do with a po4a document in one invocation. Its arguments must be packed as a hash. ACTIONS:
ja: この関数は、po4a ドキュメントで行うのに必要なすべてを、一度の実行で行います。引数はハッシュとしてパックしなくてはなりません。動作は以下のようになります:

note: type: textblock
en: Reads all the PO files specified in po_in_name
ja: po_in_name で指定したすべての PO ファイルの読み込み

note: type: textblock
en: Reads all original documents specified in file_in_name
ja: file_in_name で指定したすべてのオリジナルドキュメントの読み込み

note: type: textblock
en: Parses the document
ja: ドキュメントのパース

note: type: textblock
en: Reads and applies all the addenda specified
ja: 指定したすべての追加内容の読み込みと適用

note: type: textblock
en: Writes the translated document to file_out_name (if given)
ja: 翻訳したドキュメントの file_out_name への書き出し (与えられた場合)

note: type: textblock
en: Writes the extracted PO file to po_out_name (if given)
ja: 抽出した PO ファイルの po_out_name への書き出し (与えられた場合)

note: type: textblock
en: ARGUMENTS, beside the ones accepted by new() (with expected type):
ja: new() で受け付けるもの以外の引数 (と想定する型):

note: type: textblock
en: List of filenames where we should read the input document.
ja: 読み込むべき入力ドキュメントのファイル名のリストです。

note: type: textblock
en: Charset used in the input document (if it isn't specified, it will try to detect it from the input document).
ja: 入力ドキュメントで使用している文字セットです (指定しない場合、入力ドキュメントから検出しようとします)。

note: type: textblock
en: Filename where we should write the output document.
ja: 書き出すべき出力ドキュメントのファイル名です。

note: type: textblock
en: Charset used in the output document (if it isn't specified, it will use the PO file charset).
ja: 出力ドキュメントで使用する文字セットです (指定しない場合、PO ファイルの文字セットを使用します)。

note: type: textblock
en: List of filenames where we should read the input PO files from, containing the translation which will be used to translate the document.
ja: 読み込むべき入力 PO ファイル (ドキュメントの翻訳に使用する翻訳) のファイル名のリストです。

note: type: textblock
en: Filename where we should write the output PO file, containing the strings extracted from the input document.
ja: 入力ドキュメントから抽出した文字列を含む、書き出すべき出力 PO ファイルのファイル名です。

note: type: textblock
en: List of filenames where we should read the addenda from.
ja: 読み込むべき追加内容のファイル名のリストです。

note: type: textblock
en: Charset for the addenda.
ja: 追加内容の文字セット

note: type: textblock
en: Sets the verbosity.
ja: 冗長表示を有効にします。

note: type: textblock
en: Sets the debugging.
ja: デバッグを有効にします。

note: type: =head2
en: Manipulating document files
ja: ドキュメントファイルの操作

note: type: textblock
en: Please note that it does not parse anything. You should use the parse()  function when you're done with packing input files into the document.
ja: パースは一切行わないことに注意してください。入力ファイルがドキュメントに格納した時点で parse() 関数を使用するべきです。

note: type: textblock
en: Write the translated document to the given filename.
ja: 与えたファイル名で翻訳済みドキュメントを書き出します。

note: type: =head2
en: Manipulating PO files
ja: PO ファイルの操作

note: type: textblock
en: Add the content of a file (which name is passed as argument) to the existing input PO. The old content is not discarded.
ja: 既存の入力 PO に、(引数で渡した名前の) ファイルの内容を追加します。古い内容は破棄されません。

note: type: textblock
en: Write the extracted PO file to the given filename.
ja: 抽出した PO ファイルを与えたファイル名で書き出します。

note: type: textblock
en: Returns some statistics about the translation done so far. Please note that it's not the same statistics than the one printed by msgfmt --statistic. Here, it's stats about recent usage of the PO file, while msgfmt reports the status of the file. It is a wrapper to the Locale::Po4a::Po::stats_get function applied to the input PO file. Example of use:
ja: 現在までに翻訳した内容に関する統計を返します。msgfmt --statistic が出力する統計とは同じとは限らないことに注意してください。ここでは、PO ファイルの最新の使用法についての統計ですが、msgfmt が報告するのは、ファイルの状態についてです。これは、Locale::Po4a::Po::stats_get 関数を入力した PO ファイルに適用するラッパーです。サンプルは以下のようになります:

note: type: verbatim
en:     [normal use of the po4a document...]
ja:     [po4a ドキュメントの通常の使用...]

note: type: =head2
en: Manipulating addenda
ja: 追加内容の操作

note: type: textblock
en: Please refer to L<po4a(7)|po4a.7> for more information on what addenda are, and how translators should write them. To apply an addendum to the translated document, simply pass its filename to this function and you are done ;)
ja: 追加内容とは何か、や、翻訳者はどのように書いたらよいのかといった情報は、L<po4a(7)|po4a.7> を参照してください。翻訳したドキュメントに追加内容を適用するには、この関数に単純にファイル名を渡し、実行するだけです ;)

note: type: textblock
en: This function returns a non-null integer on error.
ja: この関数は、エラー時に null 以外の数値を返します。

note: type: =head2
en: Getting input, providing output
ja: 入力と出力

note: type: =head2
en: Marking strings as translatable
ja: 文字列を翻訳可能としてマーク

note: type: textblock
en: One function is provided to handle the text which should be translated.
ja: 翻訳するべきテキストを扱う関数を一つ用意しています。

note: type: textblock
en: Mandatory arguments:
ja: 必須の引数:

note: type: textblock
en: A string to translate
ja: 翻訳する文字列

note: type: textblock
en: The reference of this string (i.e. position in inputfile)
ja: この文字列の参照 (言い換えると、入力ファイルの場所)

note: type: textblock
en: The type of this string (i.e. the textual description of its structural role; used in Locale::Po4a::Po::gettextization(); see also L<po4a(7)|po4a.7>, section B<Gettextization: how does it work?>)
ja: 文字列の型 (つまり構造上の役割をテキストで説明したもの。Locale::Po4a::Po::gettextization() で使用します。 L<po4a(7)|po4a.7> の B<gettext 化: どのように動作しますか?> 節も参照してください)

note: type: textblock
en: This function can also take some extra arguments. They must be organized as a hash. For example:
ja: この関数は、いくつか追加引数を取れます。ハッシュとしてまとめなければなりません。例えば:

note: type: textblock
en: boolean indicating whether we can consider that whitespaces in string are not important. If yes, the function canonizes the string before looking for a translation or extracting it, and wraps the translation.
ja: 文字列中の空白が重要でないとして扱うかどうかを示す真偽値です。重要でない場合、この関数は、翻訳を探したり抽出したりする前の文字列を納め、翻訳を折り返します。

note: type: textblock
en: an extra comment to add to the entry.
ja: エントリに追加する更なるコメント。

note: type: textblock
en: Actions:
ja: 動作:

note: type: textblock
en: Pushes the string, reference and type to po_out.
ja: 文字列、参照、型を po_out に push します。

note: type: textblock
en: Returns the translation of the string (as found in po_in) so that the parser can build the doc_out.
ja: パーサが doc_out をビルドできるように、文字列の翻訳 (po_in に見つかったもの) を返します。

note: type: textblock
en: Handles the charsets to recode the strings before sending them to po_out and before returning the translations.
ja: 文字列を po_out に送る前や翻訳を返す前に、文字列を再コード化する文字セットを扱います。

note: type: =head2
en: Misc functions
ja: その他の関数

note: type: textblock
en: Returns if the verbose option was passed during the creation of the TransTractor.
ja: TransTractor の生成時に verbose オプションが渡された場合、返します。

note: type: textblock
en: Returns if the debug option was passed during the creation of the TransTractor.
ja: TransTractor の生成時に debug オプションが渡された場合、返します。

note: type: textblock
en: This tells TransTractor that a new charset (the first argument) has been detected from the input document. It can usually be read from the document header. Only the first charset will remain, coming either from the process() arguments or detected from the document.
ja: これは、入力ドキュメントから新しい文字セット (第一引数) を検出したと、TransTractor に伝えます。通常、ドキュメントのヘッダから読むことができます。process() の引数から来たものとドキュメントから検出したもののうち、最初の文字セットのみが対象となります。

note: type: textblock
en: This function will return the charset that should be used in the output document (usually useful to substitute the input document's detected charset where it has been found).
ja: この関数は、出力文書で使用する文字セットを返します（この関数により見付かった入力文書で検出された文字セットを置き換えるのに、大抵の場合で便利です）。

note: type: textblock
en: It will use the output charset specified in the command line. If it wasn't specified, it will use the input PO's charset, and if the input PO has the default "CHARSET", it will return the input document's charset, so that no encoding is performed.
ja: コマンドラインで指定した出力文字セットが使われます。指定しない場合は、入力 PO ファイルの文字セットを使用します。入力 PO ファイルにデフォルトの "CHARSET" がある場合は、入力ドキュメントの文字セットを返します。そして、エンコーディングの変換は行われません。

note: type: textblock
en: This function returns the recoded text passed as argument, from the input document's charset to the output document's one. This isn't needed when translating a string (translate() recodes everything itself), but it is when you skip a string from the input document and you want the output document to be consistent with the global encoding.
ja: この関数は、引数で渡したテキストを、入力ドキュメントの文字セットから、出力ドキュメントの文字セットへ、再コード化して返します。これは、文字列を翻訳する際には必要ありませんが (translate() は、自分ですべて再コード化します)、入力ドキュメントからの文字列をスキップし、出力ドキュメントを共通のエンコードで一致させたい場合に必要です。

note: type: =head1
en: FUTURE DIRECTIONS
ja: 将来の方向性

note: type: textblock
en: One shortcoming of the current TransTractor is that it can't handle translated document containing all languages, like debconf templates, or .desktop files.
ja: 現在の TransTractor の欠点の一つに、(debconf テンプレートや、.desktop ファイルのような) すべての言語を含む翻訳済みドキュメントを扱えないというものがあります。

note: type: textblock
en: To address this problem, the only interface changes needed are:
ja: この問題に対処するには、以下のようにインターフェースのみを変更することが必要です:

note: type: textblock
en: take a hash as po_in_name (a list per language)
ja: po_in_name (言語ごとのリスト) としてハッシュを取ります

note: type: textblock
en: add an argument to translate to indicate the target language
ja: 対象言語を示すための翻訳する引数を追加します

note: type: textblock
en: Will see if it's enough ;)
ja: これで十分だといいのですが ;)

note: type: textblock
en: Locale::Po4a::Wml - convert WML (web markup language) documents from/to PO files
ja: Locale::Po4a::Wml - PO ファイルと WML (web markup language) ドキュメントの変換

note: type: textblock
en: Locale::Po4a::Wml is a module to help the translation of WML documents into other [human] languages. Do not mixup the WML we are speaking about here (web markup language) and the WAP crap used on cell phones.
ja: Locale::Po4a::Wml は、wml ドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。ここでいう WML (web markup language) と携帯電話で使用する WAP のアレとを混同しないでください。

note: type: textblock
en: Please note that this module relies upon the Locale::Po4a::Xhtml module, which also relies upon the Locale::Po4a::Xml module.  This means that all tags for web page expressions are assumed to be written in the XHTML syntax.
ja: このモジュールは、Locale::Po4a::Xml モジュールに依存している Locale::Po4a::Xhtml モジュールに依存していることに注意してください。これは、ウェブページを表現するすべてのタグは、XHTML 構文で書かれることを仮定するということです。

note: type: textblock
en: This module works for some simple documents, but is still young.  Currently, the biggest issue of the module is probably that it cannot handle documents that contain non-XML inline tags such as <email "foo@example.org">, which are often defined in the WML.  Improvements will be added in the future releases.
ja: このモジュールは、シンプルなドキュメントで動作していますが、まだ若いです。現在のところ、モジュールのもっとも大きな問題は、<email "foo@example.org"> のような WML で定義してある、非 XML のインラインタグを含むドキュメントを扱えないということだと思われます。今後のリリースで改良が加えられるでしょう。

note: type: verbatim
en:  Martin Quinson (mquinson#debian.org)
     Noriada Kobayashi <nori1@dolphin.c.u-tokyo.ac.jp>
ja:  Martin Quinson (mquinson#debian.org)
     小林 儀匡 <nori1@dolphin.c.u-tokyo.ac.jp>

note: type: textblock
en: Locale::Po4a::Xhtml - convert XHTML documents from/to PO files
ja: Locale::Po4a::Xhtml - PO ファイルと XHTML ドキュメントの変換

note: type: textblock
en: Locale::Po4a::Xhtml is a module to help the translation of XHTML documents into other [human] languages.
ja: Locale::Po4a::Xhtml は、XHTML ドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: Include files specified by an include SSI (Server Side Includes) element (e.g. <!--#include virtual="/foo/bar.html" -->).
ja: インクルード SSI (サーバサイドインクルード) 要素で指定されるインクルードファイル (例: <!--#include virtual="/foo/bar.html" -->)。

note: type: textblock
en: B<Note:> You should use it only for static files.
ja: B<注意:> 静的ファイルに対してのみ使用するべきです。

note: type: textblock
en: An additional I<rootpath> parameter can be specified. It specifies the root path to find files included by a B<virtual> attribute.
ja: さらに I<rootpath> パラメータを指定できます。これは、B<virtual> 属性でインクルードされるファイルを探すルートパスを指定します。

note: type: textblock
en: Locale::Po4a::Xml - convert XML documents and derivates from/to PO files
ja: Locale::Po4a::Xml - XML文書及びその派生をPOファイルと相互変換する

note: type: textblock
en: Locale::Po4a::Xml is a module to help the translation of XML documents into other [human] languages. It can also be used as a base to build modules for XML-based documents.
ja: Locale::Po4a::Xml は、XML 文書をほかの [自然] 言語へ翻訳するのを助けるモジュールです。XML を元にした文書用モジュールを作成する土台としても使うことができます。

note: type: =head1
en: TRANSLATING WITH PO4A::XML
ja: PO4A::XML を使った翻訳

note: type: textblock
en: This module can be used directly to handle generic XML documents.  This will extract all tag's content, and no attributes, since it's where the text is written in most XML based documents.
ja: このモジュールは、一般的な XML 文書を直接扱うのに使用できます。ほとんどの XML を元にした文書では、タグの内容にテキストが書かれているため、タグの内容を抽出し属性は抽出しません。

note: type: textblock
en: There are some options (described in the next section) that can customize this behavior.  If this doesn't fit to your document format you're encouraged to write your own module derived from this, to describe your format's details.  See the section B<WRITING DERIVATE MODULES> below, for the process description.
ja: 振る舞いをカスタマイズできるような、（次節で説明する）オプションがあります。手元の文書形式と合わない場合は、形式を詳細に記述できるよう、迷わずこれから派生した独自のモジュールを書いてください。その方法は以下にある「派生モジュールの書き方」節を参照してください。

note: type: textblock
en: The global debug option causes this module to show the excluded strings, in order to see if it skips something important.
ja: グローバルデバッグオプションにより、このモジュールが何か重要なものを読み飛ばしていないか確認するように、除外した文字列を表示するようになります。

note: type: textblock
en: Prevents it to strip the spaces around the extracted strings.
ja: 抽出した文字列の前後にある空白の除去を防ぎます。

note: type: textblock
en: Canonicalizes the string to translate, considering that whitespaces are not important, and wraps the translated document. This option can be overridden by custom tag options. See the B<translated> option below.
ja: 翻訳する文字列を正規化し、空白は重要ではないとみなして、翻訳された文書を折り返します。このオプションは、カスタムタグオプションで上書きされます。以下の B<translated> オプションを参照してください。

note: type: textblock
en: Attributes are wrapped by default. This option disables wrapping.
ja: 属性は既定で折り返されます。このオプションは折り返しを無効にします。

note: type: textblock
en: It makes the tags and attributes searching to work in a case insensitive way.  If it's defined, it will treat E<lt>BooKE<gt>laNG and E<lt>BOOKE<gt>Lang as E<lt>bookE<gt>lang.
ja: タグや属性の検索を、大文字小文字を意識せずに行います。これを定義すると、E<lt>BooKE<gt>laNG や E<lt>BOOKE<gt>Lang は E<lt>bookE<gt>lang として扱います。

note: type: textblock
en: Escape quotes in output strings.  Necessary, for example, for creating string resources for use by Android build tools.
ja: 出力文字列で引用符をエスケープします。例えばAndroidのビルドツールで使用する文字列リソースを作成する場合などに必要です。

note: type: textblock
en: See also: https://developer.android.com/guide/topics/resources/string-resource.html
ja: https://developer.android.com/guide/topics/resources/string-resource.html も参照してください

note: type: textblock
en: When defined, external entities are included in the generated (translated)  document, and for the extraction of strings.  If it's not defined, you will have to translate external entities separately as independent documents.
ja: 定義されている場合、外部実体が生成した（翻訳済み）文書に含まれ、文字列の抽出のために使用されます。定義されていなければ、外部実体を独立した文書として、個別に翻訳する必要があります。

note: type: textblock
en: This option defines the behavior of the module when it encounters invalid XML syntax (a closing tag which does not match the last opening tag).  It can take the following values:
ja: このオプションは、（開始タグと一致しない終了タグといった）不正な XML 文法があった場合のこのモジュールの振る舞いを定義します。以下の値を取り得ます。

note: type: textblock
en: This is the default value.  The module will exit with an error.
ja: 既定値です。エラーを表示して終了します。

note: type: textblock
en: The module will continue, and will issue a warning.
ja: 処理を継続し警告を表示します。

note: type: textblock
en: The module will continue without any warnings.
ja: 何も警告を表示せずに処理を継続します。

note: type: textblock
en: Be careful when using this option.  It is generally recommended to fix the input file.
ja: このオプションを使用する場合は注意してください。通常、入力ファイルを修正するのをお勧めします。

note: type: textblock
en: Note: This option is deprecated.
ja: 注：このオプションは非推奨です。

note: type: textblock
en: Extracts only the specified tags in the B<tags> option.  Otherwise, it will extract all the tags except the ones specified.
ja: B<tags> オプションで指定したタグしか抽出しません。もしくは、指定したタグを除くすべてのタグを抽出します。

note: type: textblock
en: String that will try to match with the first line of the document's doctype (if defined). If it doesn't, a warning will indicate that the document might be of a bad type.
ja: 文書の最初の行の doctype （が定義されていればそれ）と照合させようとする文字列。照合しなければ、文書は不正な型と見なし警告します。

note: type: textblock
en: String indicating the path (e.g. E<lt>bbbE<gt>E<lt>aaaE<gt>) of a tag where a lang="..." attribute shall be added. The language will be defined as the basename of the PO file without any .po extension.
ja: lang="..." 属性を追加するタグへのパス（例： E<lt>bbbE<gt>E<lt>aaaE<gt>）を示す文字列です。言語は、PO ファイルの .po 拡張子を除いた basename で定義されます。

note: type: textblock
en: Boolean indicating whether closing tags are optional (as in HTML). By default, missing closing tags raise an error handled according to B<ontagerror>.
ja: （HTMLのように）終了タグを省略可能かどうかを示す真偽値。既定では、閉じタグがない場合は B<ontagerror> に従って制御されるエラーが発生します。

note: type: textblock
en: Note: This option is deprecated.  You should use the B<translated> and B<untranslated> options instead.
ja: 注意：このオプションは非推奨です。代わりに B<translated> オプションや B<untranslated> オプションを使用してください。

note: type: textblock
en: Space-separated list of tags you want to translate or skip.  By default, the specified tags will be excluded, but if you use the "tagsonly" option, the specified tags will be the only ones included.  The tags must be in the form E<lt>aaaE<gt>, but you can join some (E<lt>bbbE<gt>E<lt>aaaE<gt>) to say that the content of the tag E<lt>aaaE<gt> will only be translated when it's into a E<lt>bbbE<gt> tag.
ja: 翻訳したり読み飛ばしたりするタグの空白区切りリストです。既定では、指定したタグは除外されますが、"tagsonly" オプションを使用すると、指定したタグのみを含めるようになります。タグは E<lt>aaaE<gt> の形でなければなりませんが、E<lt>bbbE<gt> タグの中に入っているときのみ E<lt>aaaE<gt> タグの内容を翻訳したい場合、つなげて書く (E<lt>bbbE<gt>E<lt>aaaE<gt>) ことができます。

note: type: textblock
en: You can also specify some tag options by putting some characters in front of the tag hierarchy. For example, you can put I<w> (wrap) or I<W> (don't wrap)  to override the default behavior specified by the global B<wrap> option.
ja: タグ階層の前に文字を付けてタグのオプションを指定できます。例えば、l<w>（改行）や l<W> （改行なし）を付けて、グローバル B<wrap> オプションで指定した既定の振る舞いを上書きできます。

note: type: textblock
en: Example: WE<lt>chapterE<gt>E<lt>titleE<gt>
ja: 例：WE<lt>chapterE<gt>E<lt>titleE<gt>

note: type: textblock
en: Space-separated list of tag's attributes you want to translate.  You can specify the attributes by their name (for example, "lang"), but you can prefix it with a tag hierarchy, to specify that this attribute will only be translated when it's in the specified tag. For example: E<lt>bbbE<gt>E<lt>aaaE<gt>lang specifies that the lang attribute will only be translated if it's in an E<lt>aaaE<gt> tag, and it's in a E<lt>bbbE<gt> tag.
ja: 翻訳したいタグの属性の空白区切りリスト。属性の名前（例えば "lang"）で指定することもできますが、タグの階層を前につけて、この属性が指定されたタグの中にあるときだけ翻訳されるように指定することができます。例えばE<lt>bbbE<gt>E<lt>aaaE<gt>lang は、lang属性がE<lt>aaaE<gt>タグの中にあり、さらにそれがE<lt>bbbE<gt>の中にある場合のみ翻訳されるように指定します。

note: type: textblock
en: Do not translate attributes in inline tags.  Instead, replace all attributes of a tag by po4a-id=<id>.
ja: インラインタグの中で翻訳しない属性です。そうでなければ、タグのすべての属性を po4a-id=<id> によって置換します。

note: type: textblock
en: This is useful when attributes shall not be translated, as this simplifies the strings for translators, and avoids typos.
ja: これは、属性を翻訳してはならない場合に有効で、翻訳者のために文字列を単純化し、誤植を避けることができます。

note: type: textblock
en: Space-separated list of tags which should not be treated as tags.  These tags are treated as inline, and do not need to be closed.
ja: タグとして扱いたくないタグの空白区切りリストです。このタグはインラインとして扱われ、閉じる必要はありません。

note: type: textblock
en: Space-separated list of tags which should break the sequence.  By default, all tags break the sequence.
ja: 改行するとして扱いたいタグの空白区切りリストです。既定では、すべてのタグに対して改行を行います。

note: type: textblock
en: The tags must be in the form <aaa>, but you can join some (<bbb><aaa>), if a tag (<aaa>) should only be considered when it's within another tag (<bbb>).
ja: タグは <aaa> の形でなければなりませんが、別のタグ (<bbb>) の中に入っているときにのみタグ (<aaa>) の内容を翻訳したい場合、つなげて書く (<bbb><aaa>) ことができます。

note: type: textblock
en: Please note a tag should be listed in only one of the B<break>, B<inline> B<placeholder>, or B<customtag> setting string.
ja: タグは、B<break>、B<inline>、B<placeholder>、 B<customtag> 設定文字列のうち1つだけのリスト中に含まれている必要があります。

note: type: textblock
en: Space-separated list of tags which should be treated as inline.  By default, all tags break the sequence.
ja: インラインとして扱いたいタグの空白区切りリストです。既定では、すべてのタグのところで文字の並びが改行されます。

note: type: textblock
en: Space-separated list of tags which should be treated as placeholders.  Placeholders do not break the sequence, but the content of placeholders is translated separately.
ja: プレースホルダとして扱われるべきタグの空白区切りリストです。プレースホルダは文字の並びを改行しませんが、プレースホルダの内容は別々に翻訳されます。

note: type: textblock
en: The location of the placeholder in its block will be marked with a string similar to:
ja: そのブロック内のプレースホルダの場所は、以下のような文字列の印が付きます：

note: type: textblock
en: By default, Processing Instructions (i.e., C<E<lt>? ... ?E<gt>> tags) are handled as inline tags.  Pass this option if you want the PI to be handled as breaking tag.  Note that unprocessed PHP tags are handled as Processing Instructions by the parser.
ja: 既定では、処理命令（すなわち、C<E<lt>? ... ?E<gt>>タグ）はインラインタグとして扱われます。 PIを改行タグとして処理したい場合は、このオプションを渡します。 未処理のPHPタグは、構文解析器によって処理命令として扱われることに注意してください。

note: type: textblock
en: Space separated list of tags that the module should not try to set by default in any category.
ja: モジュールが既定でいずれの分類にも設定するべきではないタグの空白区切りリストです。

note: type: textblock
en: Support C preprocessor directives.  When this option is set, po4a will consider preprocessor directives as paragraph separators.  This is important if the XML file must be preprocessed because otherwise the directives may be inserted in the middle of lines if po4a consider it belong to the current paragraph, and they won't be recognized by the preprocessor.  Note: the preprocessor directives must only appear between tags (they must not break a tag).
ja: C プリプロセッサディレクティブをサポートします。このオプションをセットすると、po4a はプリプロセッサディレクティブを段落区切りとして扱います。XML ファイルが前処理 (preprocess) されなければならない場合に重要です。そうでなければ、po4a が現在の段落に属すと見なせなければ、行の中にディレクティブを挿入する可能性があり、これをプリプロセッサが認識できないからです。注意: プリプロセッサディレクティブは、タグとタグの間にのみ現れなければなりません (タグを分断してはなりません)。

note: type: textblock
en: Space-separated list of tags you want to translate.
ja: 翻訳するタグの空白区切りリストです。

note: type: textblock
en: Tags should be translated and content can be re-wrapped.
ja: 翻訳し、内容を再改行するタグです。

note: type: textblock
en: Tags should be translated and content should not be re-wrapped.
ja: 翻訳を行うが改行を行うべきでない内容のコンマ区切りリストです。

note: type: textblock
en: Tags should be translated inline.
ja: インラインで訳されるべきタグです。

note: type: textblock
en: Tags should be translated as placeholders.
ja: プレースホルダとして翻訳されるべきタグです。

note: type: textblock
en: Space-separated list of tags you do not want to translate.
ja: 翻訳しないタグの空白区切りリストです。

note: type: textblock
en: The default categories for tags that are not in any of the translated, untranslated, break, inline, or placeholder.
ja: translated、untranslated、break、inline、または placeholder のいずれでもないタグのデフォルトカテゴリ。

note: type: =head2
en: DEFINE WHAT TAGS AND ATTRIBUTES TO TRANSLATE
ja: 翻訳するタグや属性の定義

note: type: textblock
en: The simplest customization is to define which tags and attributes you want the parser to translate.  This should be done in the initialize function.  First you should call the main initialize, to get the command-line options, and then, append your custom definitions to the options hash.  If you want to treat some new options from command line, you should define them before calling the main initialize:
ja: 最も簡単なカスタマイズとして、パーサに変換させたいタグや属性を定義できます。これを初期化関数で行うべきです。まず、main 関数を呼び出し、コマンドラインオプションを取得し、カスタム定義をオプションハッシュに追加します。コマンドラインから新しいオプションを扱いたい場合は、main の初期化を呼び出す前に、以下のように定義してください:

note: type: =head2
en: OVERRIDING THE found_string FUNCTION
ja: found_string 関数の上書き

note: type: textblock
en: Another simple step is to override the function "found_string", which receives the extracted strings from the parser, in order to translate them.  There you can control which strings you want to translate, and perform transformations to them before or after the translation itself.
ja: その他の簡単なステップとしては、パーサから抽出した文字列を翻訳するために受け取る "found_string" 関数の上書きがあります。そこでは、翻訳する文字列を制御し、翻訳自体の前後での変換を行えます。

note: type: textblock
en: It receives the extracted text, the reference on where it was, and a hash that contains extra information to control what strings to translate, how to translate them and to generate the comment.
ja: 抽出したテキスト、それがどこにあったかの参照位置、そして、どの文字列を翻訳するか、どのように翻訳するか、どのようにコメントを生成するか、といったことを制御する追加情報を含むハッシュを受け取ります。

note: type: textblock
en: The content of these options depends on the kind of string it is (specified in an entry of this hash):
ja: このオプションの内容は、(このハッシュのエントリで指定する) 文字列の種類に依存します:

note: type: textblock
en: The found string is the content of a translatable tag. The entry "tag_options" contains the option characters in front of the tag hierarchy in the module "tags" option.
ja: 見つかった文字列は翻訳するタグの内容です。"tag_options" エントリにはモジュールの "tags" オプションにあるタグ階層の直前のオプション文字を含みます。

note: type: textblock
en: Means that the found string is the value of a translatable attribute. The entry "attribute" has the name of the attribute.
ja: 検出した文字列が、翻訳可能な属性値であることを意味します。"attribute" エントリは、属性名を持っています。

note: type: textblock
en: It must return the text that will replace the original in the translated document. Here's a basic example of this function:
ja: これは、翻訳済みドキュメントでオリジナルを置き換えるテキストを、返さなければなりません。以下に、この関数の基本的な例を示します:

note: type: textblock
en: There's another simple example in the new Dia module, which only filters some strings.
ja: 別のシンプルな例は、(いくつかの文字列のフィルタでしかない) 新しい Dia モジュールにあります。

note: type: =head2
en: MODIFYING TAG TYPES (TODO)
ja: タグタイプの変更 (TODO)

note: type: textblock
en: This is a more complex one, but it enables a (almost) total customization.  It's based on a list of hashes, each one defining a tag type's behavior. The list should be sorted so that the most general tags are after the most concrete ones (sorted first by the beginning and then by the end keys). To define a tag type you'll have to make a hash with the following keys:
ja: これはかなり複雑な部分ですが、全体のカスタマイズを行うことができます。それぞれタグタイプの振る舞いを定義したハッシュのリストを基にしています。このリストはソートされるべきであり、もっとも具体的なもの (beginning キーで始まり end キーの順) の後に一般的なタグが来るようにします。タグタイプを定義するには、以下のキーを持つハッシュを作成する必要があります:

note: type: textblock
en: Specifies the beginning of the tag, after the "E<lt>".
ja: "E<lt>" の後に、タグの始まりを指定します。

note: type: textblock
en: Specifies the end of the tag, before the "E<gt>".
ja: "E<gt>" の前に、タグの終わりを指定します。

note: type: textblock
en: It says if this is a breaking tag class.  A non-breaking (inline) tag is one that can be taken as part of the content of another tag.  It can take the values false (0), true (1) or undefined.  If you leave this undefined, you'll have to define the f_breaking function that will say whether a concrete tag of this class is a breaking tag or not.
ja: 改行タグクラスかどうかを示します。非改行 (インライン) タグは、別のタグの内容の一部とすることができるものです。これは、偽 (0) または真 (1) の値、または未定義を取ることができます。これを未定義のままにしておくと、このクラスの具体的なタグが改行タグかどうかを返す f_breaking 関数を定義しなければなりません。

note: type: textblock
en: It's a function that will tell if the next tag is a breaking one or not.  It should be defined if the B<breaking> option is not.
ja: 次のタグが改行されているかどうかを調べる関数です。B<breaking> オプションが定義されていなければ、定義する必要があります。

note: type: textblock
en: If you leave this key undefined, the generic extraction function will have to extract the tag itself.  It's useful for tags that can have other tags or special structures in them, so that the main parser doesn't get mad.  This function receives a boolean that says if the tag should be removed from the input stream or not.
ja: このキーを未定義にしておくと、汎用抽出関数はタグ自体を抽出しなければなりません。これは、内部に別のタグがある、または特殊な構造を持つタグにとって、メインのパーサがおかしくならないですみ、役に立ちます。この関数は、入力ストリームからタグを削除するかどうかを決める、真偽値を受け付けます。

note: type: textblock
en: This function receives the tag (in the get_string_until() format) and returns the translated tag (translated attributes or all needed transformations) as a single string.
ja: この関数は、タグを (get_string_until() のフォーマットで) 受け取り、変換タグ (翻訳属性や変換が必要なすべて) を単一の文字列で返します。

note: type: =head2
en: WORKING WITH TAGS
ja: タグに対する動作

note: type: textblock
en: This function returns the path to the current tag from the document's root, in the form E<lt>htmlE<gt>E<lt>bodyE<gt>E<lt>pE<gt>.
ja: この関数は、ドキュメントのルートからの現在のタグのパスを、E<lt>htmlE<gt>E<lt>bodyE<gt>E<lt>pE<gt> の形態で返します。

note: type: textblock
en: An additional array of tags (without brackets) can be passed as argument.  These path elements are added to the end of the current path.
ja: タグ (括弧なし) の追加配列を引数に渡せます。要素パスは現在のパスの最後に追加されます。

note: type: textblock
en: This function returns the index from the tag_types list that fits to the next tag in the input stream, or -1 if it's at the end of the input file.
ja: この関数は、tag_types リストから、入力ストリームの次のタグに一致するもののインデックスを返します。入力ファイルの最後の場合は、-1 を返します。

note: type: textblock
en: This function returns the next tag from the input stream without the beginning and end, in an array form, to maintain the references from the input file.  It has two parameters: the type of the tag (as returned by tag_type) and a boolean, that indicates if it should be removed from the input stream.
ja: この関数は、入力ストリームから、開始部と終了部を除いた次のタグを、入力ファイルからの参照を管理するため配列の形で返します。パラメータは以下の二つがあります。タグのタイプ (tag_type が返す形) と入力ストリームから削除するかどうかを指定する真偽値です。

note: type: textblock
en: This function returns the name of the tag passed as an argument, in the array form returned by extract_tag.
ja: この関数は、extract_tag が返した配列を引数で受け取り、受け取ったタグの名前を返します。

note: type: textblock
en: This function returns a boolean that says if the next tag in the input stream is a breaking tag or not (inline tag).  It leaves the input stream intact.
ja: この関数は、入力ストリームの次のタグが、改行タグかそうでない (インラインタグ) かを真偽値で返します。入力ストリームは変化しません。

note: type: textblock
en: This function translates the next tag from the input stream.  Using each tag type's custom translation functions.
ja: この関数は入力ストリームから次のタグを翻訳します。タグタイプのカスタム翻訳関数ごとに使用します。

note: type: textblock
en: This function returns a string value that says if the first argument (a tag hierarchy) matches any of the tags from the second argument (a list of tags or tag hierarchies). If it doesn't match, it returns 0. Else, it returns the matched tag's options (the characters in front of the tag) or 1 (if that tag doesn't have options).
ja: この関数は、第一引数 (タグ階層) が第二引数 (タグのリストやタグ階層) にあるタグと一致するかどうかの文字列の値を返します。一致しない場合、0 を返します。そうでない場合、一致したタグのオプション (タグの前の文字列) か 1 (オプションがない場合) を返します。

note: type: =head2
en: WORKING WITH ATTRIBUTES
ja: 属性に対する動作

note: type: =head2
en: WORKING WITH THE MODULE OPTIONS
ja: モジュールオプションに対する動作

note: type: textblock
en: This function fills the internal structures that contain the tags, attributes and inline data with the options of the module (specified in the command-line or in the initialize function).
ja: この関数は、内部構造をモジュールのオプションの (コマンドラインや initialize 関数で指定した) タグ、属性、インラインデータで満たします。

note: type: =head2
en: GETTING TEXT FROM THE INPUT DOCUMENT
ja: 入力ドキュメントからのテキスト取得

note: type: textblock
en: This function returns an array with the lines (and references) from the input document until it finds the first argument.  The second argument is an options hash. Value 0 means disabled (the default) and 1, enabled.
ja: この関数は入力ドキュメントから、第一引数に指定した文字列が見つかるまで、行 (とその参照) を配列で返します。第二引数は、オプションのハッシュです。値が 0 は無効を表し、1 は有効を表します。

note: type: textblock
en: The valid options are:
ja: 以下のオプションが有効です:

note: type: textblock
en: This makes the returned array to contain the searched text
ja: 検索したテキストを含む配列を返すようになります

note: type: textblock
en: This removes the returned stream from the input
ja: 入力から返ったストリームを削除します

note: type: textblock
en: This ensures that the searched text is outside any quotes
ja: 検索テキストが、クォート外にあることを保証します

note: type: textblock
en: This function receives as argument the reference to a paragraph (in the format returned by get_string_until), skips his heading spaces and returns them as a simple string.
ja: この関数は引数として段落の参照 (get_string_until が返すフォーマット) を受け取り、先頭の空白をスキップし、単純な文字列として返します。

note: type: textblock
en: This function returns a simple string with the text from the argument array (discarding the references).
ja: この関数は、属性の配列から、テキストのシンプルな文字列を返します (参照を廃棄)。

note: type: textblock
en: This module can translate tags and attributes.
ja: このモジュールはタグや属性を翻訳できます。

note: type: textblock
en: DOCTYPE (ENTITIES)
ja: DOCTYPE (エンティティ)

note: type: textblock
en: There is a minimal support for the translation of entities. They are translated as a whole, and tags are not taken into account. Multilines entities are not supported and entities are always rewrapped during the translation.
ja: エンティティの翻訳は最小限しかサポートしていません。翻訳は全体が対象となり、タグは考慮しません。複数行のエンティティはサポートしておらず、翻訳中ではエンティティは常に再度折り返されます。

note: type: textblock
en: MODIFY TAG TYPES FROM INHERITED MODULES (move the tag_types structure inside the $self hash?)
ja: 継承モジュールでのタグタイプ変更 (tag_types 構造体を $self ハッシュ内に移動?)

note: type: textblock
en: Locale::Po4a::Yaml - convert YAML files from/to PO files
ja: Locale::Po4a::Yaml - YAMLファイルとPOファイルの相互変換

note: type: textblock
en: Locale::Po4a::Yaml is a module to help the translation of Yaml files into other [human] languages.
ja: Locale::Po4a::Yaml は、YAMLファイルを他の [自然] 言語へ翻訳するのを助けるモジュールです。

note: type: textblock
en: The module extracts the value of YAML hashes and arrays. Hash keys are not extracted.
ja: このモジュールはYAMLのハッシュと配列の値を抽出します。ハッシュのキーは抽出されません。

note: type: textblock
en: NOTE: This module parses the YAML file with YAML::Tiny.
ja: 補足：このモジュールはYAMLファイルをYAML::Tinyを使って解析します。

note: type: textblock
en: Do not translate array values.
ja: 配列の値を変換しません。
