Locale::Po4a::Pod(3pm)

名前
Locale::Po4a::Pod - PO ファイルと POD データの変換

書式
    use Locale::Po4a::Pod;
    my $parser = Locale::Po4a::Pod->new (sentence => 0, width => 78);

    # 標準入力からPODを読み、STDOUTに書き出します。
    $parser->parse_from_filehandle;

    # file.podからPODを読み、file.txtに書き出します。
    $parser->parse_from_file ('file.pod', 'file.txt');

説明
Locale::Po4a::Pod は、POD フォーマット (Perl のドキュメント用に用意された言語) のドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。

このモジュールの状態
このモジュールは岩のように安定していると思いますが、/usr/lib/perl5/Tk/MainWindow.pod (とその他のページ。以下参照) には、たった一つ以下のような既知のバグがあります:

  C<" #n">

残念ながら、po4a のバージョンでは、折り返しにより空白で分割されてしまいました。その結果、オリジナルバージョンでは、man に以下を含みます。

 " #n"

私のところでは以下を含みます。

 "" #n""

このロジックにより C<foobar> が "foobar" に書き換えられてしまいます。

（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

内部構造
Pod::Parser の派生クラスと同様に、Locale::Po4a::Pod は同じメソッドとインターフェースをサポートしています。すべての詳細は Pod::Parser を参照してください。簡単に言うと、"Locale::Po4a::Pod->new()" で新しいパーサを作成し、parse_from_filehandle() と parse_from_file() のどちらかを呼び出します。

new() はキーと値の組の形のオプションを取り、パーサの振る舞いを制御できます。認識する以下のオプションは、Pod::Parser のすべての派生クラスで共通です:

alt 真の値に設定した場合、代替出力フォーマットを選択します。とりわけ、見出しに異なるスタイルを使い、左マージンとコロンで =item エントリをマークします。デフォルトは false です。

code
    真の値に設定した場合、入力ファイルの非 POD 部を出力に含めます。POD ブロックで説明されているコードを、コードが損なわれないままに POD をレンダリングして表示するのに便利です。

indent
    通常のテキストをインデントする空白の数で、=over ブロックに対するデフォルトのインデントです。デフォルトは 4 です。

loose
    真の値に設定した場合、空行を =head1 見出しの後に出力します。偽の値に設定した場合 (デフォルト)、=head2 の後には空行を出力しますが、=head1 の後に空行を出力しません。マニュアルページが期待している形式であるため、これをデフォルトとしています。テキストドキュメントを任意に整形する場合、真に設定すると、より満足する出力結果になるでしょう。

quotes
    C<> テキストを囲むために使用される引用符を設定します。値が 1 文字の場合、左右の引用符の両方として使用されます。2 文字の場合、最初の文字を左引用符とし、次の文字を右引用符として使用されます。4 文字の場合、最初の 2 文字を左引用符とし、次の 2 文字を右引用符として使用されます。

    ここには特殊な値 none も設定できます。この場合、C<> テキストのまわりに引用符を追加しません。

sentence
    値を true とすると、Locale::Po4a::Pod は各文が二つの空白で終わると仮定し、その空白を保持しようとします。値を false とすると、非逐語段落にある連続した空白すべてを一つの空白に圧縮します。デフォルトは true です。

width
    テキストを折り返す右端の文字数です。デフォルトは 76 です。

関連項目
Pod::Parser, Locale::Po4a::Man(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)

著者
 Denis Barbier <barbier@linuxfr.org>
 Martin Quinson (mquinson#debian.org)

訳者
 倉澤 望 <nabetaro@debian.or.jp>
 Debian JP Documentation ML <debian-doc@debian.or.jp>

著作権とライセンス
Copyright © 2002 SPI, Inc.

本プログラムは自由ソフトウェアです。GPL v2.0以降の条項に基づき再頒布と変更を行えます（COPYINGファイルを参照）。