django 多语言配置

python manage.py makemessages -l en_gb     (英国)

python manage.py compilemessages -l en_gb
报错, 
CommandError: Can’t find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.

解决方法: 
1、Install GNU gettext : brew install gettext 

2、echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile(根据提示是否需要)

3、brew link --force gettext

locale 下的语言翻译包(不区分大小写):如果语言包不正确,无法翻译

英语:en 或者 en_gb

美语:en 或者 en_us

判定办法:

>>> import gettext
>>> gettext._expand_lang('en')
['en_US.ISO8859-1', 'en_US', 'en.ISO8859-1', 'en']
>>> gettext._expand_lang('en-gb')
['en-gb']  ------> 属于失败的语言包
>>> gettext._expand_lang('en_GB')
['en_GB.ISO8859-1', 'en_GB', 'en.ISO8859-1', 'en'] -------> 属于成功
>>> gettext._expand_lang('en_gb')
['en_GB.ISO8859-1', 'en_GB', 'en.ISO8859-1', 'en'] -------> 属于成功
>>> exit()

posted on 2018-08-17 11:12  机器大浪猫  阅读(272)  评论(0编辑  收藏  举报