django_多语言支持
1 安装底层库
1 | apt-get install gettext -y |
2 修改设置
在 settings.py 中加
1 | USE_I18N = True |
3 修改代码
代码中加入要翻译的字符串,形如:
1 | from django.utils.translation import gettext as _ |
4 生成目录和翻译文件
1 | python manage.py makemessages -l zh |
此时生成 locale/zh/LC_MESSAGES/django.po,内容如下:
1 | #: app_diet/diet.py:20 |
修改上述文件,在 msgstr 中加入多语音翻译
5 编译翻译文件
1 | python manage.py compilemessages |
此时生成 django.mo 文件
6 切换语言
正常情况下在 settings.py 中设置。
也在程序中设置:
1 | from django.utils import translation |
Django 会根据用户的浏览器设置自动选择语言
1 | from django.conf.urls.i18n |
同时 settings.py 中加入中间件支持
1 | MIDDLEWARE = [ 'django.middleware.locale.LocaleMiddleware', … ] |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.