一部のプログラムでは、LANGとLANGUAGEの両方の環境変数を使用して、ユーザーインターフェイス言語を決定しているようです。
これらの変数の正確なセマンティクスは何ですか?それらの正しい使用法についてどこで読むことができますか? locale(1)のマンページでは、環境変数のLC_ *ファミリについてのみ言及しています。さらに、そこには説明されていないLC_ALL変数も一般的に使用されています。
LANG
LC_*
変数によって直接設定されないすべてのカテゴリの設定が含まれます。
LC_ALL
は、すべてのLC_*
およびLANG
およびLANGUAGE
をオーバーライドするために使用されます。通常のユーザー環境では設定しないでください。ただし、国際化されたコマンドの正確な出力に依存するスクリプトを記述している場合に役立ちます。
LANGUAGE
は、メッセージ言語を(LC_MESSAGES
として)複数の値に設定するために使用されます。たとえば、fr:de:en
に設定すると、フランス語のメッセージが使用されます。存在する;そうでない場合はドイツ語のメッセージを使用し、ドイツ語もフランス語のメッセージも利用できない場合は英語にフォールバックします。
マンページlocale(7)
をご覧ください。LANG
はフォールバック設定であり、LC_ALL
はすべての個別のLC_*
設定を上書きすることを説明しています。
参考までに、ロケールシステムはGNU GetTextです。これには、gettext-docパッケージ(Debian/Ubuntu)に完全なドキュメントがあります。
または、 [〜#〜] lang [〜#〜] と [〜#〜] language [〜#〜] の信頼できる精巧なドキュメントが記載されたオンラインマニュアルがあります。 =環境変数。