web-dev-qa-db-ja.com

ubuntuサーバーにロケールを追加するにはどうすればよいですか?

現在、これらのロケールがあります。

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ロケールをサーバーにインストールするにはどうすればよいですか?

178
Silver Light
  1. サポートされているロケールを確認します。

    locale -a
    
  2. 必要なロケールを追加します(たとえば、ru):

    Sudo locale-gen ru_RU
    Sudo locale-gen ru_RU.UTF-8
    
  3. この更新コマンドを実行します

    Sudo update-locale 
    
252
PocketSam

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がインストールされます)。

53
Palantir
  1. サポートされているロケールを確認します。

    less /usr/share/i18n/SUPPORTED
    
  2. 生成されたリストにロケールを追加

    echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
    
  3. リストを再生成します(locale-genを呼び出します...)

     Sudo dpkg-reconfigure locales
    
43
user123231

Locale-genがあなたの友達であることがわかりました。 (ヘブライ語utf8を追加するなど):

root@world:~# locale-gen he_IL.UTF-8

次のように再ハッシュすることもできます:

root@world:~# dpkg-reconfigure locales

そして、あなたが良いことをしたことを確認してください:

root@world:~# locale -a

テキストファイルにデータを追加するよりも、このソリューションの方が簡単であることがわかりました。

16
boazr
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
6
user123

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:~$ 
4
user272735

/etc/locale.genを変更して、生成したいロケールのコメントを外すか追加します。次にSudo locale-genを実行します。

すべてのロケールを表示するlocale -aを使用して、ロケールが追加されていることを確認できます。

2
hunse
  1. どのロケールが既にディストリビューションでサポートになっているか確認してください。ファイルを開くかcatファイル/usr/share/i18n/SUPPORTEDし、追加する目的のロケールをコピーします。
  2. 端末でSudo locale-gen locale_nameと入力します。

    たとえば、Sudo locale-gen de_DE.iso885915@euro

  3. Sudo update-localeと入力します

  4. ロケールがlocale -aでインストールされているかどうかを確認します

0
BugShotGG

コメントできなかったので、これを回答として追加する必要があります。

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コマンドによる追加方法の構文の違いに注意してください。

0
Milan Oparnica