Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
22
Help us understand the problem. What is going on with this article?
@inayuta

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

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

22
Help us understand the problem. What is going on with this article?
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
inayuta
supership-inc
Supership株式会社は、デジタル広告、データコンサルティング、VR事業など、データとテクノロジーを活用した事業を展開するデータテクノロジーカンパニーです。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
22
Help us understand the problem. What is going on with this article?