いくつかのパッケージは適切にインストールすれば「ローカライズ可能」です。
それらを含むプログラムは、あなたのネイティブな言語を話せるようにすること
ができます。それらの多くのパッケージは GNU `gettext' を使っています。
他のパッケージは、GNU `gettext' より以前の国際化するための独自の方法を持
っています。
デフォルトでは、このパッケージはメッセージの翻訳をできるようにするために
インストールされます。システムが `catgets' (これを使用することをインスト
ーラが選択した場合)または `gettext'関数のいずれを利用可能かが、自動的に
検出されます。
いずれもだめなら、GNU `gettext' 自身のライブラリが使われます。このライブラ
リはこのパッケージ内に全て含まれ、通常 `intl/' サブディレクトリにあります
から、事前に GNU `gettext' パッケージをインストールする必要は *ありません*。
インストーラは、設定時に特別なオプションを使用して、デフォルトの動作を変更
することができます。
以下のコマンドは、
./configure --with-included-gettext
./configure --with-catgets
./configure --disable-nls
それぞれ
○ 既存の `catgets' または `gettext' をバイパスし、このパッケージの
国際化ルーチンを使用する
○ `catgets' 関数(ローカルシステムで見つかった場合)を使用する
○ *全く* メッセージを翻訳しない
です。
既にシステム上に GNU `gettext' がインストールされていて、且つ新しいパッケ
ージの設定をオプション無しで実行すると、`configure' はたぶんそれ以前にビル
ドしてインストールしてある `libintl.a' ファイルを検出し、これを使うことを
決めるでしょう。これは何が望ましいかということではありません。
GNU `gettext' ライブラリの、より新しいバージョンを使うべきです。つまり
このパッケージのライブラリの方が新しいことを `intl/VERSION' ファイルが
示しているなら、
./configure --with-included-gettext
を使って、自動検出をやめるべきです。
デフォルトでは、設定のプロセスで `catgets' 関数のテストはされず、従って
それらは使用されません。理由は既に述べました:`catgets' の上でのエミュレー
ションでは GNU `gettext' ライブラリによって提供される全ての拡張を提供する
ことはできないからです。それにもかかわらず `catgets' 関数を使いたい場合は、
./configure --with-catgets
を使って、`catgets' のテストを行うようにします(これはあなたのシステムで
`catgets' が利用できない場合でも危害はありません)。このオプションを本当に
選択するなら、私達はその理由を聞きたいと思います。というのは、私達自身が
それを良いとは思えないからです。
国際化パッケージには、通常多くの `po/LL.po' ファイルがあります。
LL は言語を識別する ISO 639 の 2 文字のコードです。
`configure' 時に `--disable-nls' スイッチを使って翻訳が禁止されていない
限り、全ての利用可能な翻訳がパッケージと共にインストールされます。
しかし、設定に先だって環境変数 `LINGUAS' をセットすることにより、インス
トールされるセットを制限できます。`LINGUAS' は空白で分離された 2 文字の
コードを含むリストで、どの言語を許可するかを表しています。
【訳注】言語名を表すコード(ISO 639)は、下記にあります。
http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
国または地域を表すコード(ISO 3166)は、下記にあります。
http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html
【訳注終り】