Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

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で済みました。

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

inayuta
supership-inc
「すべてが相互につながる『よりよい世界』を実現する」という理念のもと、新たな価値の提供を目指すデータテクノロジーカンパニーです
https://supership.jp
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした