LoginSignup
3
7

More than 5 years have passed since last update.

ロケールについて

Posted at

ロケールとは

言語・地域が異なる国、地域単位で単位、記号、日付などの表記方法の集合。
ロケールの設定によってシステムは表記や処理を行う。

なお、ロケールの設定によっては、エラーが起こることもしばしば。
エラーの例として
yum(CentOSでのUbuntuのaptの代わりみたいなもの)実行時に、ロケールの設定によっては、警告文が出る。
emacsでのファイル編集時、文字化けが起こる。
ターミナルで日本語入力できない

(余談)
ターミナルとコンソールの区別について
ターミナル:GUI上でCUI操作を行うためのアプリケーション。Ubuntuでいうところの"端末"
コンソール:コンピュータの入出力装置。ディスプレイやキーボードのこと。
とはいえ、現在ではコンソールはターミナルの意味合いで用いられることも多い。
ちなみに、モニター、ディスプレイの違いなども...

localeコマンド

ロケール情報の表示はlocaleコマンドで行う。
オプション無しでは、現在のロケールの設定が表示される。
aオプションで利用可能なロケール一覧が表示される。
image.png
image.png

ロケールの設定

ロケールの設定では、LC_ALL>LC_で始まる環境変数>LANGの優先順位で適用される。
設定方法は、これらは環境変数なので、ターミナルで以下の作業のいずれかを行えば良い。

# 環境変数として、登録。
$ export LANG="ja_JP.UTF-8"
# シェル変数として登録。
$ set LANG="ja_JP.UTF-8"
# 環境変数削除
$ unset LANG 
# 永続的に設定するには、.bash_profileに設定。システム全体で利用する場合は/etc/profileに設定。
$ cd
$ echo 'export LANG="ja_JP.UTF-8"' >> .bash_profile

なお、
シェル変数:そのシェルのみで利用可能な変数。子プロセスには引き継がれない。
環境変数:そのシェルと起動したコマンド(プログラム)の中で利用可能な変数。子プロセスに引き継がれる。

localectlコマンド

CentOS7の場合localectlコマンドが使用できる。

  • localectl status:現在のロケールの設定を表示
  • localectl list-locales:利用可能なロケールを表示
  • localectl set:ロケールを変更する

なお、ロケールの設定ファイルは/etc/locale.confである。

3
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
7