web-dev-qa-db-ja.com

DebianベースのシステムのLANGおよびLANGUAGE環境変数

一部のプログラムでは、LANGとLANGUAGEの両方の環境変数を使用して、ユーザーインターフェイス言語を決定しているようです。

これらの変数の正確なセマンティクスは何ですか?それらの正しい使用法についてどこで読むことができますか? locale(1)のマンページでは、環境変数のLC_ *ファミリについてのみ言及しています。さらに、そこには説明されていないLC_ALL変数も一般的に使用されています。

23
aef

LANGLC_*変数によって直接設定されないすべてのカテゴリの設定が含まれます。

LC_ALLは、すべてのLC_*およびLANGおよびLANGUAGEをオーバーライドするために使用されます。通常のユーザー環境では設定しないでください。ただし、国際化されたコマンドの正確な出力に依存するスクリプトを記述している場合に役立ちます。

LANGUAGEは、メッセージ言語を(LC_MESSAGESとして)複数の値に設定するために使用されます。たとえば、fr:de:enに設定すると、フランス語のメッセージが使用されます。存在する;そうでない場合はドイツ語のメッセージを使用し、ドイツ語もフランス語のメッセージも利用できない場合は英語にフォールバックします。

25
Rémi

マンページlocale(7)をご覧ください。LANGはフォールバック設定であり、LC_ALLはすべての個別のLC_*設定を上書きすることを説明しています。

10
Jaap Eldering

参考までに、ロケールシステムはGNU GetTextです。これには、gettext-docパッケージ(Debian/Ubuntu)に完全なドキュメントがあります。

または、 [〜#〜] lang [〜#〜][〜#〜] language [〜#〜] の信頼できる精巧なドキュメントが記載されたオンラインマニュアルがあります。 =環境変数。

2
mikini