ロケール関連のファイルは、/var/lib/locales/supported.d
に保存されています。ls -l /var/lib/locales/supported.dコマンド
で、現在の状況を確認してみよう。
デフォルトでは、enファイル
が1個あるだけ。enはEnglishのこと。日本語のロケールファイルが存在していないため、ロケールの日本語パッケージを別途インストールする必要がある。
日本語パッケージはこのコマンドでインストールする。apt-get update && sudo apt install language-pack-ja-base language-pack-ja
。インストールした後、再度、/var/lib/locales/supported.d
の中身をみると、jaファイル
が作成されていることが確認できる。
catで/var/lib/locales/supported.d/jaファイル
の中身をみてみると、ja_JP.UTF-8 UTF-8
が記載されている。
設定可能なロケールの一覧を表示するコマンドがlocale -a
。設定可能なとは、インストール済になっているロケール関連のパッケージ一覧のこと。一覧の中には、大きく、C
、en
、ja
の3種類が表示される。enの中にはたくさんの種類がある。en_USがアメリカ英語で、en_INがイングランド英語で、en_CAがカナダ英語という具合なのだろう。日本語を話す国は日本1国しかないので、ja_JP1種類しか存在しないということになる。
lacale -a
でja_JPが表示されるのは、先ほど、日本語パッケージをインストールしたから表示されるようになったということだろう。
そして、現在有効になっているロケールを表示するコマンドがlocaleコマンド
。環境変数で設定されている内容がそのまま表示されるのだが、デフォルトでは殆どが、en_US.UTF-8になっている。これを日本語に設定し直す。
Ubuntuを管理しているカノニカル社はイギリスの会社なので、en_INがデフォルトとなっていても不思議ではないのだが、アメリカ英語が世界の標準ということなのだろう。
ロケートを変更するには、LANGの環境変数を日本語にすればいいだけ。export LANG=ja_JP.UTF-8コマンド
をうつ。その後、localeコマンド
をうつと、すべての変数が、ja_JP.UTF-8
に変換されている。LANGと似た環境変数に、LANGUAGE
というのがあるが、これだけはen_USのままになっている。日本語では利用されるケースはないらしく、無視しておいていいでしょう。
これで日本語表示ができるようになりました。試しに、dateコマンド
をうつと、日本語表示の確認ができます。localeコマンド
はロケートの変数一覧を表示するだけのコマンドのようです。ロケールの確認をするには、locateコマンド
を使わずに、echo $LANG
とやっても同じことではある。
そして最後に、export LANG=ja_JP.UTF-8
を~/.profile
に追加しておこう。
localeコマンド
とよく似たコマンドにlocalectlコマンド
がある。localeコマンド
が画面表示だけの設定なのに対し、localectlコマンド
は、システムロケールやキーボードのロケールを設定するためのコマンドになる。設定する箇所が別のようです。