Previous: C Sources Context, Up: PO Mode [Contents][Index]
POモードには、複数の言語に通じている翻訳者が、彼女の知っている言語への既存の翻訳を利用するための機能があります。この機能は、他の言語への翻訳を追加のコンテキストとして、彼女の作業に提供することができます。また一度に複数の言語への翻訳を作成したいような場合にも、翻訳者にたいして作業を容易にするための機能をもっています。
追加(auxiliary)のPOファイルとは、翻訳者が作業するパッケージの、他の言語用の既存のPOファイルのことです。追加のPOファイルを定義・処理したり、作業中のエントリーのコンテキストを表示するためのコマンドが存在します。
以下は、POモードで利用可能な、追加のPOファイルのコマンドです。
追加のPOファイルから、同じエントリーにたいする他の翻訳を探します(po-cycle-auxiliary
)。
追加のPOファイルを指定して、それに切り替えます(po-select-auxiliary
)。
表示しているPOファイルを、追加のPOファイルとして定義します(po-consider-as-auxiliary
)。
表示しているPOファイルを、追加のPOファイルのリストから削除します(po-ignore-as-auxiliary
)。
Aコマンド(po-consider-as-auxiliary
)は、現在のPOファイルを、追加のPO
ファイルのリストに追加し、M-Aコマンド(po-ignore-as-auxiliary
は、リストから削除します。
aコマンド(po-cycle-auxiliary
)は、すべての追加POファイルを一つずつ走査して、カレントエントリーと同じmsgid
にたいする、他の言語に翻訳されたエントリーを検索するコマンドです。POファイルが見つかったら、そのPOファイルが現在のウィンドウに表示されます(そのウィンドウがもっとも前面に表示されます)。追加のPOファイルに作業中のPOファイルが含まれていない場合は、これらの処理を行う前に追加しておくとよいでしょう。このようにしておけば、aコマンドで検索された他言語のPOファイルがウィンドウに表示されても、aコマンドを繰り返し入力して、元のPOファイルに戻ることができるからです。
C-c
C-aコマンド(po-select-auxiliary
)は、翻訳者にたいして追加のPOファイルを補完付き入力で選択させて、そのPOファイルに切り替えるコマンドです。選択したPOファイルにカレントエントリーと同じmsgid
があった場合は、そのエントリーをカレントエントリーとします。同じエントリー存在しない場合には、カーソルは元の位置から変更されません。
この機能が完全に動作するためには、msgid
が、同じ方法で正確に、正規化されて記述されている必要があります。たとえ文字列を記述する方法は異なっていてもmsgid
に同じ文字列が設定されていれば問題はありませんが、違う文字列が記述されていると、POモードの追加POファイル関連のコマンドの動作が損なわれてしまいます。しかしほとんどのPOファイルのmsgid
は、同じGNU
gettext
ツールで書き込まれたものなので、実際には問題になることはないでしょう。
しかしソースファイルの文字列をマークしながら、POモードで一から作成したPOファイルは、異なる形式で正規化されています。そのために‘M-x
normalize’コマンドをPOファイルに適用するのです。POモードと他のGNU
gettext
ツール間の矛盾を解決するまでは、翻訳者は正規化の問題に留意してください。