Next: Charset conversion, Previous: Ambiguities, Up: gettext [Contents][Index]
さまざまなパッケージごとに、多くの異なる言語を保存する必要があるという理由により、わたしたちにはこれらの情報をメッセージカタログファイルに記録するための、何らかの方法が必要です。Unix環境でよく使われるのは、ファイル名にエンコード名をもたせる方法で、ここでも同じ方法を用います。ディレクトリーは、bindtextdomainの2番目の引数に指定するディレクトリー(または既定のディレクトリー)の後ろに、locale名とlocale
category、それとdomain名を連結したものになります:
dir_name/locale/LC_category/domain_name.mo
dir_nameの既定値はシステムにより定義されます。この習慣を順守するGNUのライブラリーやパッケージのために、以下のように定義されています:
/usr/local/share/locale
localeは、LC_categoryで指定されたlocale
categoryの名前です。gettextとdgettextの場合、LC_categoryは常にLC_MESSAGESになります3。locale
category の名前は、setlocale (LC_category,
NULL)を通じて決定されます4。dcgettext関数では、3番目の引数にlocale
categoryを指定できます。