24
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Organization

ubuntuで(できるだけ)全部のlocaleを追加する

ubuntuでlocaleを追加する

普通にinstallして使う分には問題ないのですが、vagrantやdockerのofficial imageを使うとC localeしかない場合があります。(C localeしかないと言ってもC/C.utf8/POSIXが見えますが。C localeじゃなくてPOSIX localeって言う方がいいのかな……?)

これで問題ない時もありますが、変なところで引っかかることもあります。私はmultibyte characterが含まれたgemspecファイルで引っかかりました。

なので、utf-8のlocaleを追加してみます。

日本語のlocaleを追加する

aptでlanguage-packを追加する

language-pack-jaをインストールしてもいいです。

root@localhost # apt-get install language-pack-ja

ちなみにインストール可能なlanugage-packはapt-cacheで見れます。

root@localhost # apt-cache search language-pack

locale-genする

でもlocaleだけ追加したいことってありますよね。表示しなくていい、みたいな。そういう時はlocale-genとupdate-localeを使います。

root@localhost # locale-gen ja_JP.UTF-8
root@localhost # update-locale LANG=ja_JP.UTF-8

サポートしているlocaleを全部入れる

さて、ここまではなんてことないことで、検索するとすぐ出てきます。でも、Ubuntuがサポートしているlocaleを全部入れたいことってありますよね?(あるのか?)

まず、サポートしているlocaleのリストが /usr/share/i18n/SUPPORTED にあります。

root@localhost # head /usr/share/i18n/SUPPORTED
# This file names the currently supported and somewhat tested locales.
# If you have any additions please file a glibc bug report.
aa_DJ.UTF-8 UTF-8
aa_DJ ISO-8859-1
aa_ER UTF-8
aa_ER@saaho UTF-8
aa_ET UTF-8
af_ZA.UTF-8 UTF-8
af_ZA ISO-8859-1
am_ET UTF-8

念のためtailもしてみます。

root@localhost $ tail /usr/share/i18n/SUPPORTED 
zh_HK.UTF-8 UTF-8
zh_HK BIG5-HKSCS
zh_SG.UTF-8 UTF-8
zh_SG.GBK GBK
zh_SG GB2312
zh_TW.EUC-TW EUC-TW
zh_TW.UTF-8 UTF-8
zh_TW BIG5
zu_ZA.UTF-8 UTF-8
zu_ZA ISO-8859-1

ふうむ…今回は.UTF-8が付いているやつだけ入れましょう。

root@localhost $ grep '\.UTF-8' /usr/share/i18n/SUPPORTED | awk '{ print $1 }'

とかで一覧が出ますので、

root@localhsot $ locale-gen $(grep '\.UTF-8' /usr/share/i18n/SUPPORTED | awk '{ print $1 }')

します。

(ここでたまにエラー出たりしますが、要望があれば調査してみるので、コメントを下さい。とりあえず私はいらないのでやっていません。)

この後にC以外でupdate-localeするのを忘れないようにしましょう。

終わりに

ものすごい手抜きですが、こんな手順で簡単にlocaleがだいたい全部入ります。もしドキュメントやフォント等が入れたかったら、apt-get install 'language-pack-*'すればいいです。手元では782MB、1184のnew packageで済みました。

まあ、勝負はここからなわけですので、がんばりましょう!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
24
Help us understand the problem. What are the problem?