現在、これらのロケールがあります。
locale -a
C
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX
ru_RU
ロケールをサーバーにインストールするにはどうすればよいですか?
サポートされているロケールを確認します。
locale -a
必要なロケールを追加します(たとえば、ru
):
Sudo locale-gen ru_RU
Sudo locale-gen ru_RU.UTF-8
この更新コマンドを実行します
Sudo update-locale
Ubuntuスタイルに適したIMOである別のルートに移動します。 提供されているパッケージを使用。各ロケール用のパッケージがあり、それらはすべての作業を行います.../varファイルを編集する必要はありません。
Sudo apt-get install language-pack-XX
ここで、XXは言語コードを表します。言語をインストールすると、国固有のバリアントもすべてインストールされます(たとえば、language-pack-itをインストールするとit_CH.utf8とit_IT.utf8がインストールされ、NLをインストールするとnl_AW、nl_AW.utf8、nl_BE.utf8およびnl_NL.utf8がインストールされます)。
サポートされているロケールを確認します。
less /usr/share/i18n/SUPPORTED
生成されたリストにロケールを追加
echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
リストを再生成します(locale-genを呼び出します...)
Sudo dpkg-reconfigure locales
Locale-genがあなたの友達であることがわかりました。 (ヘブライ語utf8を追加するなど):
root@world:~# locale-gen he_IL.UTF-8
次のように再ハッシュすることもできます:
root@world:~# dpkg-reconfigure locales
そして、あなたが良いことをしたことを確認してください:
root@world:~# locale -a
テキストファイルにデータを追加するよりも、このソリューションの方が簡単であることがわかりました。
echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
ポイント3で次のメッセージが表示されます:「エラー:不正なエントリ 'ru_RU.UTF8'」
私のこの仕事:
echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local
Ubuntu言語パックを使用します。サポートされているすべての言語は、デフォルトのリポジトリで利用できます。
apt-cache search language-pack
Ubuntu(サーバー)バージョンでのロケール切り替えの完全な例:
jani@example:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
使用可能なすべての(つまり、既にインストールされている)ロケールは次のようにリストできます
locale -a
私の現在のロケールはen_IE
:
jani@example:~$ locale
LANG=en_IE.UTF-8
LANGUAGE=
LC_CTYPE="en_IE.UTF-8"
LC_NUMERIC="en_IE.UTF-8"
LC_TIME="en_IE.UTF-8"
LC_COLLATE="en_IE.UTF-8"
LC_MONETARY="en_IE.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="en_IE.UTF-8"
LC_NAME="en_IE.UTF-8"
LC_ADDRESS="en_IE.UTF-8"
LC_TELEPHONE="en_IE.UTF-8"
LC_MEASUREMENT="en_IE.UTF-8"
LC_IDENTIFICATION="en_IE.UTF-8"
LC_ALL=
jani@example:~$ date
Sat Nov 1 15:36:51 UTC 2014
jani@example:~$
Ruロケールがなかったため、ru言語パックをインストールする必要があります。
jani@example:~$ Sudo apt-get -y install language-pack-ru
[..]
Generating locales...
ru_RU.UTF-8... done
ru_UA.UTF-8... done
Generation complete.
jani@example:~$
これでruロケールが使用可能になりました。システムのデフォルトのロケールは、/etc/default/locale
を編集することにより設定されます。
jani@example:~$ Sudo vi /etc/default/locale
# Created by cloud-init v. 0.7.5 on Mon, 27 Oct 2014 18:46:13 +0000
LANG="ru_RU.UTF-8"
LC_MESSAGES=POSIX
jani@example:~$
再ログインして、新しいロケールを確認します。
jani@example:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
jani@example:~$ date
Сб. нояб. 1 15:43:45 UTC 2014
jani@example:~$
/etc/locale.gen
を変更して、生成したいロケールのコメントを外すか追加します。次にSudo locale-gen
を実行します。
すべてのロケールを表示するlocale -a
を使用して、ロケールが追加されていることを確認できます。
cat
ファイル/usr/share/i18n/SUPPORTED
し、追加する目的のロケールをコピーします。端末でSudo locale-gen locale_name
と入力します。
たとえば、Sudo locale-gen de_DE.iso885915@euro
Sudo update-locale
と入力します
ロケールがlocale -a
でインストールされているかどうかを確認します
コメントできなかったので、これを回答として追加する必要があります。
Ubuntuに「特別な」タイプのロケールsr_RS.utf8@latinを追加する必要がありました。
コマンド:
Sudo locale-gen sr_RS.utf8@latin
@latinを利用可能なロケールに追加しません。成功するためには、コマンドは次のようになります。
Sudo locale-gen [email protected]
コマンド:
Sudo locale -a
現在表示されます:
sr_RS
sr_RS@latin
sr_RS.utf8
sr_RS.utf8@latin
locale -a
の結果とlocale-gen
コマンドによる追加方法の構文の違いに注意してください。