書式
use Locale::Po4a::Pod;
my $parser = Locale::Po4a::Pod->new (sentence => 0, width => 78);
# Read POD from STDIN and write to STDOUT.
$parser->parse_from_filehandle;
# Read POD from file.pod and write to 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
- 値を true とすると、代替出力フォーマットを選択します。他にもありますが、異なる見出しのスタイルを用い、左マージンとコロンで =item エントリをマークします。デフォルトは false です。
- code
- 値を true とすると、入力ファイルの非 POD 部分を出力に含めます。POD ブロックで説明されているコードを、コードが損なわれないままに POD をレンダリングして表示するのに便利です。
- indent
- 通常のテキストをインデントする空白の数で、=over ブロックに対するデフォルトのインデントです。デフォルトは 4 です。
- loose
- 値を true とすると、空行を =head1 見出しの後に出力します。値を false (デフォルト) とすると、=head2 の後には空行を出力しますが、=head1 の後に空行を出力しません。マニュアルページが期待している形式であるため、これをデフォルトとしています。任意のテキストドキュメントを整形する場合、true と設定すると、より満足する出力結果となるでしょう。
- quotes
-
C<> で囲んだテキストに使用する、引用符を設定します。値が 1 文字の場合、左右の引用符にその文字を使用します。2 文字の場合、1
文字目が左引用符とし、2 文字目を右引用符とします。4 文字の場合、最初の 2 文字を左引用符とし、続く 2 文字を右引用符とします。
ここには特殊な値 none も設定できます。この場合、C<> テキストのまわりに引用符を追加しません。
- sentence
- 値を true とすると、Locale::Po4a::Pod は各文が 2 つの空白で終わると仮定し、その空白を保持しようとします。値を false とすると、非逐語段落にある連続した空白すべてを、ひとつの空白に圧縮します。デフォルトは true です。
- width
- 右端でテキストを折り返す文字数です。デフォルトは 76 です。
著者
Denis Barbier <[email protected]> Martin Quinson (mquinson#debian.org)
著作権・ライセンス
Copyright 2002 by SPI, inc.本プログラムはフリーソフトウェアです。GPL の条項に基づき再頒布と変更を行うことができます (COPYING ファイルをご覧ください)。