fugafuga.write

日々のログ

Vagrant + CentOS6.5 ロケールを日本に合わせる

ロケールも合わせる

ロケールとは

ソフトウェアに内蔵される、言語や国・地域ごとに異なる単位、記号、日付、通貨などの表記規則の集合。または単に、利用する言語や国・地域の指定。多くのソフトウェアやプログラミング言語は、使用する言語とともにロケールを設定し、ロケールで定められた方式に基づいてデータの表記や処理を行う。

ロケールを確認する

$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

USになっています。

ロケールを変更する

localeの設定ファイルは/etc/sysconfig/i18n なので、これを変更する。

# vi /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

LANG="ja_JP.utf8"
SYSFONT="latarcyrheb-sun16"

設定したらログインし直す。

# . /etc/sysconfig/i18n

ロケール確認

# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
…

ファイルが無いよう。

現在定義されているロケール一覧を確認する

# locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
LANG="ja_JP.utf8"
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8

ロケールの追加

ja_JP.utf8 が無いので追加する。

# localedef -f UTF-8 -i ja_JP ja_JP.utf8

確認する

# locale
LANG=ja_JP.utf8
LC_CTYPE="ja_JP.utf8"
LC_NUMERIC="ja_JP.utf8"
LC_TIME="ja_JP.utf8"
LC_COLLATE="ja_JP.utf8"
LC_MONETARY="ja_JP.utf8"
LC_MESSAGES="ja_JP.utf8"
LC_PAPER="ja_JP.utf8"
LC_NAME="ja_JP.utf8"
LC_ADDRESS="ja_JP.utf8"
LC_TELEPHONE="ja_JP.utf8"
LC_MEASUREMENT="ja_JP.utf8"
LC_IDENTIFICATION="ja_JP.utf8"
LC_ALL=

date コマンドで確認

# date
2015年  5月 12日 火曜日 23:31:54 JST

日本語になっている。

(関連)
blog.tokoyax.com

(参考)
VagrantのCentOSを日本語化してみる - yk5656 diary
Vagrant の CentOS 6 の時計時刻や表記を日本対応させる手順 | WEB ARCH LABO
逆引きUNIXコマンド/現在のロケールを確認する・localeコマンド - Linuxと過ごす