1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

読み物としてのロケールの設定

Last updated at Posted at 2021-09-08

ロケール関連のファイルは、/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。設定可能なとは、インストール済になっているロケール関連のパッケージ一覧のこと。一覧の中には、大きく、Cenjaの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コマンドは、システムロケールやキーボードのロケールを設定するためのコマンドになる。設定する箇所が別のようです。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?