Locale Categoriesで詳しく説明する LC_CTYPE や LC_MESSAGES などの LC* 変数を、LANG 変数とともに端末で設定することもできます。設定すると、それらは特定のカテゴリの LANG 設定をオーバーライドします。このタイプのロケール設定は複合ロケールと呼ばれます。
$ export LANG=de_DE.UTF-8 $ export LC_MESSAGES=en_US.UTF-8
この例では、ロケール設定を正しく処理するアプリケーションはドイツ語ロケールで動作しますが、そのローカライズされた出力を英語で表示します。この場合、locale(1) の出力は次のようになります。
$ locale LANG=de_DE.UTF-8 LC_CTYPE="de_DE.UTF-8" LC_NUMERIC="de_DE.UTF-8" LC_TIME="de_DE.UTF-8" LC_COLLATE="de_DE.UTF-8" LC_MONETARY="de_DE.UTF-8" LC_MESSAGES=en_US.UTF-8 LC_ALL=
LC_MESSAGES 変数はこの場合、アポストロフィなしで表示され、値が明示的に設定されることを示します。その他の LC* 変数の値は LANG 変数から継承されます。LC_ALL 変数を使用すると、すべての LANG および LC* 設定をオーバーライドできます。詳細は、locale(1) および setlocale(3C) のマニュアルページを参照してください。