2018年8月18日TwitterFacebookGoogle+Linuxにおいて、アプリやコマンドが処理/出力する言語および時刻や日付、通貨などのフォーマットは、「ロケール」により決定されます。ロケールは「ロケール環境変数」によって設定されています。このページでは、ロケール環境変数の種類と、優先順位をまとめます。多くのLinuxシステムにおいて、システムロケールの設定は「localectl」コマンドで行われます。ロケールは、「言語の省略形_国や地域の省略形.コードページ」という形式になっています。日本語のLinuxシステムでは、一般的に「ja_JP.UTF-8」が用いられます。「ja_JP.utf8」や「ja_JP.utf-8」といった形式で設定される場合もあります。glibcの内部では、コードページ部分を「小文字化」「アルファベットと数字以外は除去」という形で「正規化(ノーマライズ)」して扱われるため、いずれも同じ意味になります。ロケールは、環境変数として設定されます。ロケールに関係する環境変数は、「ロケール環境変数」とも呼ばれます。各アプリやコマンドはロケール環境変数を参照し、表示する言語、時刻や日時、通貨などのフォーマットを切り替えます。現在のロケール設定は、「locale」コマンドで参照することができます。以下は、日本語環境における「locale」コマンドの出力例です。localeLANG=ja_JP.UTF-8LANGUAGE=LC_CTYPE="ja_JP.UTF-8"LC_NUMERIC="ja_JP.UTF-8"LC_TIME="ja_JP.UTF-8"LC_COLLATE="ja_JP.UTF-8"LC_MONETARY="ja_JP.UTF-8"LC_MESSAGES="ja_JP.UTF-8"LC_PAPER="ja_JP.UTF-8"LC_NAME="ja_JP.UTF-8"LC_ADDRESS="ja_JP.UTF-8"LC_TELEPHONE="ja_JP.UTF-8"LC_MEASUREMENT="ja_JP.UTF-8"LC_IDENTIFICATION="ja_JP.UTF-8"LC_ALL=この例の場合、ダブルクォートされていない「LANG=ja_JP.UTF-8」のみ、環境変数「LANG」で設定されています。「LC_」から始まる各項目は、ロケールのカテゴリーです(LC_ALL以外)。カテゴリーごとに、環境変数として別のロケールを設定することもできます。この例では個別のロケールは設定されておらず、環境変数「LANG」の値が適用されています。環境変数が設定されていない場合は、「"ja_JP.UTF-8"」のようにダブルクォートで囲って表示されます。ロケール設定の基本は環境変数「LANG」ロケール設定の基本は、環境変数「LANG」です。通常は「LANG」さえ設定しておけば、そのロケールに合った処理や表示が行われます。ユーザーが何も設定しなければ、システムに設定したロケールや、デスクトップ環境の言語設定に対応したロケールが設定されます。「~/.profile」などのシェルの初期化ファイルで、別のロケールに変更することもできます。カテゴリー別のロケール設定ロケールは、「カテゴリー」別に設定することもできます。主なカテゴリーには、以下のようなものがあります。「LANG」は「ja_JP.UTF-8」のまま、「~/.profile」などで環境変数「LC_TIME」に「en_US.UTF-8」を設定すれば、コマンドによる時刻と日付の出力のみ英語になります。LC_MESSAGESメッセージに表示する言語、および肯定と否定の応答表現に影響します。カウントなどに影響します。LC_MONETARY金額に関連する数値、通貨記号の表示に影響します。LC_NUMERIC金額に関係しない数値の表示(小数の区切り文字など)に影響します。LC_TIME日付と時刻の表示に影響します。LC_COLLATE並び換えや正規表現に用いる文字の照合順序に影響します。環境変数「LC_ALL」が設定されていれば最優先される環境変数「LC_ALL」が設定されていれば、その値が常に最優先でロケールとして用いられます。この場合、他の「LC_」で始まる環境変数や、環境変数「LANG」が設定されていても、参照されなくなってしまうので注意が必要です。一時的に英語ロケールでプログラムを実行したい場合に、コマンドの頭に「LC_ALL=C」をつけて実行するといった使い方ができます。環境変数「LANG」や「LC_」で始まる環境変数に何が設定されていても、「アメリカ英語」で処理/表示が行われます。ロケール環境変数の優先順位まとめここまで見てきた通り、ロケール環境変数の優先順位は以下の通りとなります。LC_ALL(最優先)LC_で始まるカテゴリーごとの環境変数LANG(上の2つが設定されていない場合に適用)環境変数「LANG」を設定しても有効にならない場合は、「LC_ALL」および他の「LC_」で始まるカテゴリーごとの環境変数が設定されていないか確認すると良いでしょう。翻訳の優先順位を設定する「LANGUAGE」ロケールに関係する環境変数として、他に「LANGUAGE」があります。gettext」を用いて翻訳を表示するプログラムに対し、「表示する翻訳の優先順位」を指定します。日本ではあまり用いられません。フランスで使われているLinux環境なら、通常は「LANG」に「fr_FR.UTF-8」と設定されているでしょう。この場合、フランス語の翻訳があればフランス語のメッセージが表示されますが、なければ英語が表示されます。英語よりドイツ語のほうが得意な人ならば、フランス語がなければドイツ語で、ドイツ語もなければ英語でメッセージが表示されたほうが便利でしょう。そのような場合、環境変数「LANGUAGE」に「fr_FR:de_DE」を設定しておけば、希望通りの動作となります。Linuxコ...https://linuxfan.info/localectl「Linuxコマンドまとめ」カテゴリでは、Linuxのコマンドについて、基本的な実行例とオプションを分かりやすくまとめます。「localectl」は、システムのロケールやキーボードレイアウトを管理するコマンドです。】https://linuxfan.info/locale「Linuxコマンドまとめ」カテゴリでは、Linuxのコマンドについて、基本的な実行例とオプションを分かりやすくまとめます。「locale」は、ロケールに関する情報を出力するコマンドです。localeコマンドの基本的な使い方localeコマンドの基本書式は、以下の通りです。FAQ】コマンドやアプリを「英語モード」で実行するにはどうしたらいいです...https://linuxfan.info/apps-in-englishLinuxアプリやコマンドを、一時的に「英語モード」で実行する方法を、初心者にも分かりやすく解説します。日本語のLinuxデスクトップを使っている場合、翻訳されているアプリならばメニューなどの文字は「日本語」で表示されます。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。