Linuxでシステムロケールを変更または設定する方法


ロケールは、アプリケーションおよびLinuxシステム上のシェルセッションの言語、国、および文字エンコード設定(またはその他の特別なバリアント設定)を定義する一連の環境変数です。これらの環境変数は、システムライブラリおよびシステム上のロケール対応アプリケーションによって使用されます。

ロケールは、Linuxシステムで設定した言語または地域/国に従ってフォーマットされた時刻/日付形式、曜日、数字、通貨、その他のさまざまな値などに影響します。

この記事では、現在インストールされているシステムロケールの表示方法とLinuxでのシステムロケールの設定方法について説明します。

Linuxでシステムロケールを表示する方法

現在インストールされているロケールに関する情報を表示するには、ロケールまたは localectl ユーティリティを使用します。

$ locale

LANG=en_US.UTF-8
LANGUAGE=en_US
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=

$ localectl status

System Locale: LANG=en_US.UTF-8
      LANGUAGE=en_US
      VC Keymap: n/a
      X11 Layout: us
      X11 Model: pc105

環境変数に関する詳細情報( LC_TIME など)を表示できます。これには時刻と日付の形式が格納されています。

$ locale -k LC_TIME

abday="Sun;Mon;Tue;Wed;Thu;Fri;Sat"
day="Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday"
abmon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
mon="January;February;March;April;May;June;July;August;September;October;November;December"
am_pm="AM;PM"
d_t_fmt="%a %d %b %Y %r %Z"
d_fmt="%m/%d/%Y"
t_fmt="%r"
t_fmt_ampm="%I:%M:%S %p"
era=
era_year=""
era_d_fmt=""
alt_digits=
era_d_t_fmt=""
era_t_fmt=""
time-era-num-entries=0
time-era-entries="S"
week-ndays=7
week-1stday=19971130
week-1stweek=1
first_weekday=1
first_workday=2
cal_direction=1
timezone=""
date_fmt="%a %b %e %H:%M:%S %Z %Y"
time-codeset="UTF-8"
alt_mon="January;February;March;April;May;June;July;August;September;October;November;December"
ab_alt_mon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"

利用可能なすべてのロケールのリストを表示するには、次のコマンドを使用します。

$ locale -a

C
C.UTF-8
en_US.utf8
POSIX

Linuxでシステムロケールを設定する方法

システムをローカルで変更または設定する場合は、ロケールの更新プログラムを使用してください。 LANG 変数を使用すると、システム全体のロケールを設定できます。

次のコマンドは、 LANG en_IN.UTF-8 に設定し、 LANGUAGE の定義を削除します。

$ sudo update-locale LANG=LANG=en_IN.UTF-8 LANGUAGE
OR
$ sudo localectl set-locale LANG=en_IN.UTF-8

特定のロケールパラメータを設定するには、適切な変数を編集します。例えば。

$ sudo update-locale LC_TIME=en_IN.UTF-8
OR
$ sudo localectl set-locale LC_TIME=en_IN.UTF-8

グローバルロケール設定は、次のファイルにあります。

  • /etc/default/locale – on Ubuntu/Debian
  • /etc/locale.conf – on CentOS/RHEL

これらのファイルは、VimやNanoなどのお気に入りのコマンドラインエディタを使って手動で編集し、システムのロケールを設定することもできます。

シングルユーザー用のグローバルロケールを設定するには、〜/ .bash_profile ファイルを開いて次の行を追加するだけです。

LANG="en_IN.utf8"
export LANG

詳細については、ロケールロケールの更新 localectl のマニュアルページを参照してください。

$ man locale
$ man update-locale
$ man localectl

それで全部です!この短い記事では、Linuxでシステムをローカルに表示および設定する方法を説明しました。質問がある場合は、下記のフィードバックフォームを使用してご連絡ください。