【Linux入門】ローカライゼーションのためのロケール情報設定方法

  • このエントリーをはてなブックマークに追加
  • Pocket
linux ロケール情報

少し前までバズワードでしかなかったグローバルという言葉も、ここ10年で定着し、ビジネスとして必ず考えなければいけない所まで来ている。

Linuxを使ってサービスを提供するときも、海外のLinuxサーバを借りたときも、気にしなければいけないのがロケール情報(地域情報)だ。

このページではLinuxのローカライゼーションと、そのためのロケール情報についてまとめている。参考にしていただければと思う。

ローカライゼーションとロケール

ローカライゼーションとは?

Linuxは商用OSに匹敵する「国際化」がほどこされている。国の環境に最適化することを「ローカライゼーション」という。Linuxではローカライゼーションの対象として日本語ももちろんサポートされている。

ローカライゼーションの対象は言語だけだと思われるかもしれないが、実は言語だけではない「通貨」「数値の書式」「日付」などもローカライゼーションにふくまれる。

「ローカライゼーション」という難しい言葉をつかったが、要は国ごとの「地域などにある書式ルールに準拠して使用しやすくする」ということだ。

ロケールとは?

各言語などの地域情報を「ロケール」と呼ぶ。ロケール情報を変えて、ローカライゼーションしていくイメージだ。

一例をあげると日本の場合現在では「ja_JP.UTF-8」という文字コードが主流だ。

また詳しく説明するが、これは「言語_国.文字コード」となっている。日本の場合小さな島国なので、言語と国がほぼ同じものをさしている。

しかし他国では英語を使用する場合でも、アメリカの場合「en_US.utf8」というように「英語圏 米国 文字コードutf8」となるが、カナダの場合「en_CA.utf8」となる。同じ英語圏でも地域や国が違う場合がある。

ロケール情報は文字コードを含めると、100を越える。全てのロケールを参照してみたいなら「/etc/locale.gen」を参照してみるとよい、見るとわかるがLinuxは多彩なロケールをもっている。

また余談ではあるが「Internationalization」(国際化)を「i18n」と略すことが多々ある。多言語対応のアプリケーションなどはパッケージ名に「i18n」とパッケージ名のなかにふくまれることが多いので覚えておこう。

主な項目と環境変数、日本における代表的なロケール

Linuxでは次の項目を設定することができるようになっている。一通り確認してみよう。

環境変数

  • LANG 言語設定
  • LC_CTYPE 文字の種類、その比較および分類の規定
  • LC_COLLATE 文字の照合や整列に関しての規定
  • LC_MESSAGES 表示メッセージに関しての規定
  • LC_NONETARY 通貨に関する規定
  • LC_NUMERIC 数値の書式などに関する規定
  • LC_TIME 日付、時刻に関する規定
  • LC_PAPER 紙の規格規定
  • LC_NAME 名前に関しての規定
  • LC_ADDRESS 住所に関しての規定
  • LC_TELEPHONE 電話サービスに関する規定
  • LC_MEASUREMENT 測定系などの単位の規定
  • LC_IDENTIFICATION メタデータに関する規定
  • LC_ALL ロケール情報を全項目に設定

日本で一般的なロケール

日本では次のロケールがよく使われる。

  • C,POSIX システム標準な英語
  • utf8(ja_JP.UTF-8) 日本語UTF-8
  • eucJP 日本語eucJP
  • utf8 英語米国UTF8

確認方法と一時的な変更方法

基本的に環境変数LANGにロケールを指定すると大概の項目はLANGと同じ値になる。現状を確認するためのコマンドとして「locale」コマンドがある。

$ locale

locale

これで各環境変数の値が参照できる

またロケールを変更したい時は環境変数「LANG」を書き換えると良い

$ LANG=C

とすればロケール「C(POSIX)」にロケールが変更できる。この場合の指定はその環境で一時的なものとなる。恒久的な指定は起動時のスクリプトやロケールを定義しているスクリプトに記述することになる。

CentOS7の場合「/etc/locale.conf」に記述する形だ。

指定できるロケールを確認するには

$ locale -a

locale -a

画像では「grep」コマンドで「JP」を指定して絞ってある。

とすると確認ができる。

CentOS7でのロケール管理

CentOS7では新しく「locelectl」コマンドが導入されているのでそちらでの管理が主流となる。

ロケールの確認

ロケールの確認には次のコマンドだ。

# localectl status

locale -status

利用可能なロケールの一覧

利用可能なロケールの一覧を表示するのは次のコマンドになる。

# localectl list-locales

locale -list

画像では「grep」コマンドで「JP」を指定して絞ってある。

ロケールの変更

ロケールの変更は次の通りだ。

# localectl set-locale LAN

まとめ

このページではLinuxのロケール設定方法についてまとめてきた。

特に海外のサーバーを借りた時など、思い通りの表示にならないことはよくある。そういうときはロケールの設定を確認して、必要であれば日本語の設定に変えていくといいだろう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*