Locale::Po4a::TeX(3pm) | Po4a Tools | Locale::Po4a::TeX(3pm) |
Locale::Po4a::TeX - PO ファイルと TeX 文書やその派生物の変換
po4a (PO for anything) プロジェクトは、gettext ツールが想定していないドキュメントのような領域で翻訳をしやすくすること (またより興味深いのは、翻訳文の保守がしやすくなること) を目標にしています。
Locale::Po4a::TeX は、TeX ドキュメントをほかの [自然] 言語へ翻訳するのを助けるモジュールです。TeX を元にしたドキュメント用モジュールを作成するベースにもなります。
利用者は恐らくLaTeX モジュールを使用するべきです。これはTeX モジュールから継承しており一般的な LaTeX コマンドを定義してあります。
このモジュールは、一般的な TeX ドキュメントを直接扱えます。ドキュメントを小さなブロック (段落、verbatim ブロック、タイトルやインデックスのような同等の小さな部位) に分割します。
振る舞いをカスタマイズできるような、(次節で説明する)オプションがあります。あなたのドキュメントフォーマットに合わない場合は、フォーマットの詳細に合わせて、迷わずここから派生したモジュールを書いてください。その方法の説明については、以下にある「派生モジュールの作成」節を参照してください。
このモジュールは、TeX ファイル中の "% po4a:" で始まる行でもカスタマイズできます。この工程については、インラインカスタマイズ 節で説明します。
以下は、このモジュール固有のオプションです:
verbatim 環境と no_wrap 環境には違いがあることに注意してください。verbatim ブロックを解析する、コマンドやコメントはありません。
この環境がすでに登録されていない場合、po4a は、この環境がパラメータを何も取らないとみなすでしょう。
この環境がすでに登録されていない場合、po4a は、この環境がパラメータを何も取らないとみなすでしょう。
これらのオプションを使うと定義されたコマンドの既定の振舞いが上書きされます。
TeX モジュールは、% po4a: で始まる行によりカスタマイズできます。この行はパーサにコマンドとして解釈されます。以下のコマンドを認識します:
command1 コマンドの前に置けます
注意: この場合、翻訳可能なパラメータを指定する必要はありませんが、po4a がパラメータの型と数を知らねばなりません。
parameters 引数は、[]
(任意オプション)
のセットか、 {}
(必須オプション)
のセットです。
括弧の間にアンダースコア
(_)
を配置し、パラメータを訳さなければならない
ことを指定できます。以下のようになります:
% po4a: command *chapter [_]{_}
これは、chapter
コマンドには二つのパラメータがあり、両方とも翻訳の必要が
あることを示します:
オプション
(短いタイトル)
と必須のもの。 href
コマンドには二つの必須パラメータがあり、URL
(第 1 パラメータ) を
訳したくなく、さらに、(文の中で翻訳者がリンクを移動できるように)
このコマンドを段落から分離したくない場合、以下のようになります:
% po4a: command -href {}{_}
この場合、翻訳するべき引数を示す情報は、この href コマンドだけからなる段落の場合にのみ使用されます。
command と同様に、env の前にプラス (+) を付けると、その \begin コマンドはすべての引数と一緒に翻訳されることを表します。
正規表現は、引用符で区切られます。後方参照は作られません。グループが必要な場合は (?:) を使用してください。また、エスケープする必要があるでしょう。
例えば、LaTeX モジュールは "(?:&|\\\\)" という正規表現を、表の各セル (行を '\\' で区切り、セルを '&' で区切る) を別個に翻訳するために使用します。
環境の概念は PO ファイルに表示される型に使われます。これは title コマンドの先頭の必須引数を "\\\\" で分割するのに使用できます。この場合、環境は title{#1} になります。
この環境がすでに登録されていない場合、po4a は、この環境がパラメータを何も取らないとみなすでしょう。
段落のコメントを、その段落の最初の翻訳文字列の PO コメントに挿入します。
現在の環境の %translate_buffer_env で関数が定義されると、translate_buffer() に代えてこの関数がバッファの翻訳に使用されます。
ファイル取り込み部を除いて、Transtractor の read からカット & ペーストしたものです。
詳細は、インラインカスタマイズ 節を参照してください。
コマンド関数と環境関数は、($self オブジェクトに加えて) 以下の引数を取ります:
先頭の 3 つの引数は get_leading_command や get_trailing_command で抽出されます。
コマンド関数や環境関数は、引数や新しい環境でのコマンドの翻訳を返します。
環境関数は \begin コマンドが見つかると呼ばれます。これらは \begin コマンドとその引数により呼ばれます。
TeX モジュールは一つのコマンド関数と一つの環境関数しか提案しません。generic_command と generic_environment です。
generic_command は、register_generic_command や
TeX
ファイルへの追加定義で指定した情報を使用します:
% po4a: command command1 parameters
generic_environment は、register_generic_environment
や TeX
ファイルへの追加定義で指定した情報を使用します:
% po4a: environment env parameters
どちらの関数も、翻訳可能であると ('_' で) 指定したパラメータのみを翻訳します。generic_environment は環境スタックに環境名を追加し、generic_command は、({#7} や [#2] のような) パラメータの識別子が続くコマンド名を追加します。
このモジュールはもっとテストが必要です。
本と Python ドキュメントでテストされました。
ソースの様々な場所に FIXME タグが付いています。
Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)
Nicolas François <nicolas.francois@centraliens.net>
倉澤 望 <nabetaro@debian.or.jp> Debian JP Documentation ML <debian-doc@debian.or.jp>
Copyright © 2004, 2005 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.
本プログラムはフリーソフトウェアです。GPL の条項に基づき再頒布と変更を行うことができます (COPYING ファイルを参照してください)。
2023-01-03 | Po4a Tools |