Provided by: po4a_0.66-1_all bug

名前

       Locale::Po4a::Sgml - PO ファイルと SGML ドキュメントの変換

説明

       po4a (PO for anything) プロジェクトは、gettext ツールが想定していないドキュメントのような
       領域で翻訳をしやすくすること (またより興味深いのは、翻訳文の保守がしやすくなること) を目標
       にしています。

       Locale::Po4a::Sgml は、SGML フォーマットのドキュメントをほかの [自然] 言語へ翻訳するのを助
       けるモジュールです。

       このモジュールは SGML ファイルのパースに onsgmls(1) を利用します。必ずインストールしてくだ
       さい。また、SGML ファイルの DTD を、システムに必ずインストールしてください。

このモジュールで使用できるオプション

       debug
           デバッグしたい場所を示す空白区切りのキーワードリストを表示します。取り得る値は、tag,
           generic, entities, refs です。

       verbose
           どのように実行しているかのより詳細な情報を出力します。

       translate
           内容が追加 msgid の形になる追加タグ (DTD で規定されているもの以外) の空白区切りリスト
           です。

       section
           translate カテゴリ内のほかのタグを中に含む追加タグ (DTD の範囲外) の空白区切りリストで
           す。

       indent
           インデントレベルを増やすタグの空白区切りリストです。

       verbatim
           そのタグのレイアウトは変更されません。段落は折り返されず、インデントのための空白は追加
           されず、見栄えのための空行追加もされません。

       empty
           閉じる必要のないタグです。

       ignore
           無視され、po4a がただの文字列として扱うタグです。つまり、msgid の一部として扱えま
           す。例えば、<b> はこのカテゴリの良い例です。<b> が翻訳セクションに入ってしまうと、文全
           体が入った msgid が作られなくなってしまいます。これはまずいです。

       attributes
           翻訳する必要のある属性の空白区切りリストです。属性を名前 (例: "lang") で指定できます
           が、特定のタグの中にあるときだけこの属性を翻訳するように、タグ階層を前につけることもで
           きます。例えば、<bbb><aaa>lang は、<bbb> タグの中にある <aaa> タグの中にある場合
           に、lang 属性を翻訳するということを示しています。タグ名は、実際には正規表現ですか
           ら、<aaa|bbbb>lang のように書いた場合は、<aaa> タグか <bbb> タグの中にある lang 属性の
           みを翻訳できます。

       qualify
           翻訳が属性名で修飾しなければならない属性の空白区切りのリストです。この設定に与えた属性
           は、自動的に 'attributes' リストにも追加されることに注意してください。

       force
           DTD が分からない場合や onsgmls が入力ファイルでエラーを検出する場合のいずれでも処理し
           ます。

       include-all
           デフォルトでは、('&version;' のような) エンティティを一つだけ含む msgid は、翻訳者の便
           宜のためスキップします。このオプションを有効にすると、この最適化を行わなくなります。こ
           れは、"<title>&Aacute;</title>" のような構造を含むドキュメントには便利です。とはい
           え、そのようなことがそんなにあるかは疑わしいです……

       ignore-inclusion
           インラインにしたくないエンティティの空白区切りリストです。このオプションは注意して使用
           してください。onsgmls (内部で使用) がタグを追加し、無効な出力ドキュメントを表示する原
           因になる可能性があります。

このモジュールの状態

       結果は完璧です。言い換えると生成したドキュメントは完全に一致しています。しかし、まだ以下の
       ような問題があります:

       • The error output of onsgmls is redirected to /dev/null by default, which is clearly bad.
         I don't know how to avoid that.

         問題は、onsgmls から条件付き取り込み (つまり "<! [ %foo [" and "]]>" のようなもの) を
         "保護" しなければならないということです。そうしないと、onsgmls が展開してしまい、最終ド
         キュメントで復元する方法がわかりません。これを防ぐために、私は "{PO4A-beg-foo}" と
         "{PO4A-end}" に書き直しました。

         これの問題は、"{PO4A-end}" などと私が追加するものが、(<p> タグ内などと違って) ドキュメン
         ト内で無効であることです。

         If you want to view the onsgmls output, just add the following to your command line (or
         po4a configuration line):

           -o debug=onsgmls

       • DebianDoc DTD と DocBook DTD でのみ動作します。新しい DTD のサポートを追加するのは非常に
         簡単でしょう。仕組みはすべての DTD で同じで、既存のタグのリストとその特徴を与えるだけで
         す。

         確かに、もっとドキュメントの記述が必要です。しかし、これはまだベータ版ですし、変わること
         が予想されるものの記述を行うのがイヤなのです。

       • 警告: DTD のサポートは非常に実験的です。すべてのタグの定義を見つけるのに、リファレンスマ
         ニュアルを読んだわけではありません。ネットで見つかるドキュメントで動作するように、このモ
         ジュールにタグの定義を追加しました。あなたのドキュメントが私のよりも多くの種類のタグを使
         用している場合、動作しないでしょう。しかし前述の通り、修正は非常に簡単です。

         DocBook のテストは SAG (System Administrator Guide) でのみ行いましたが、このドキュメント
         は非常に大きく、DocBook の仕様のほとんどを使用していると考えています。

         DebianDoc に対しては、DDP にあるマニュアルでテストをしています。しかしまだ、すべてではあ
         りません。

       • ファイルの取り込みを行う場合、PO ファイルにあるメッセージの参照文字列 (例: "#:
         en/titletoc.sgml:9460" のような行) は誤りが発生するでしょう。

         これにより、生成したドキュメントでは、条件付き取り込み (例; the "<! [ %foo [" and "]]>"
         など) やいくつかのエンティティ (&version; のような) がそのまま扱われてほしいの
         で、onsgmls から保護するため前処理を行うことになります。そこで、入力ファイルの一時コピー
         を作成し、onsgmls に渡してパースする前に、それらすべてを変更します。

         こうするためには、与えられたファイルの内容により、ファイルの取り込みを確認しながらエン
         ティティを置換します (サブファイルでも必要とあらば保護できるように)。ですが今のとこ
         ろ、後で参照 (例えばファイル名や行番号) を修正するということは行いません。どのようにする
         のが正しいのか、私にはよくわかりません。

著者

       このモジュールは、以下の方による sgmlspl (SGMLS パーサや ONSGMLS パーサの SGML ポストプロ
       セッサ) の適合版です:

        Copyright © 1995 David Megginson <dmeggins@aix1.uottawa.ca>

       po4a への適合は以下のメンバーが行いました:

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

訳者

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

著作権とライセンス

        Copyright © 1995 David Megginson <dmeggins@aix1.uottawa.ca>.
        Copyright © 2002-2005 SPI, Inc.

       本プログラムはフリーソフトウェアです。GPL の条項に基づき再頒布と変更を行うことができます
       (COPYING ファイルを参照してください)。