次のように LANG 変数を設定することにより、端末セッションでロケールを変更できます。
$ export LANG=locale
たとえば、de_DE.UTF-8 ロケールに変更するには、次のコマンドを使用します。
$ export LANG=de_DE.UTF-8
ロケールが正常に変更されたことを確認するには、locale コマンドを実行します。
$ 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="de_DE.UTF-8" LC_ALL=
詳細は、locale(1) のマニュアルページを参照してください。
システムで使用可能なロケールの一覧を取得するには、次のコマンドを使用します。
$ locale -a
さらに多くのロケールをインストールする方法の詳細は、使用可能なロケールの管理を参照してください。
ロケールカテゴリで説明されている、LC_CTYPE や LC_MESSAGES などの LC* 変数は、LANG 変数とともに端末でも設定できます。LC* 変数が設定されると、特定のカテゴリの LANG 設定がオーバーライドされます。このタイプのロケール設定は複合ロケールと呼ばれます。
$ export LANG=de_DE.UTF-8 $ export LC_MESSAGES=en_US.UTF-8
この例では、ロケール設定を正しく処理するアプリケーションはドイツ語ロケールで動作しますが、そのローカライズされた出力を英語で表示します。この場合、locale コマンドの出力は次のようになります。
$ 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) のマニュアルページを参照してください。
![]() | 注意 - 複合ロケールでは複数の文字セットを使用しないでください。たとえば、LANG=en_US.UTF-8 と LC_MESSAGES=ja_JP.eucJP を設定すると、予期しない結果が発生します。 |