万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

Djangoの中国語ローカライズのはまりどころ

簡体字Djangoに追加したいとき、

Wikiより・・・簡体字(かんたいじ、简体字、簡體字、拼音: jiǎntǐzì)は、1950年代に中華人民共和国で制定された、従来の漢字を簡略化した字体体系である。

settings.pyでは

from django.utils.translation import ugettext_lazy as _
¥
LANGUAGES = (
    ('en', _('English')),
    ('ja', _('Japanese')),
    ('ko', _('Korean')),
    ('fr', _('Franch')),
    ('vi', _('Vietnamese')),
    ('zh-cn', _('Simplified Chinese')),
)

のように ('zh-cn', _('Simplified Chinese')), を追加した。 ここでハマるのは zh-CNではなくzh-cnのように小文字だということ。 chではなくzhなのも注意。

トリビアだが、 中国語 = 中文 = Zhōngwén [ʈʂʊŋ.wən] だかららしい。

さらにlocaleの配下には、 zh-cnではなく、"zh_CN"のように大文字にして、更にハイフンではなくアンダースコアで名前を作る。

localization - Django: How to add Chinese support to the application - Stack Overflow ここにもあった。

台湾の漢字(繁体字)を使うときはも同様に、zh-twをsettings.pyで、localeは以下にはzh_TWのフォルダで作成。

繁体字(はんたいじ、繁體字、拼音: fántǐzì)または正体字(せいたいじ、正體字、拼音: zhèngtǐzì)は、中国語において、系統的な簡略化(簡化)を経ていない筆画が多い漢字の字体を指す。