Django 内置了多语言支持,只要在 settings.py 引入 'django.middleware.locale.LocaleMiddleware' 中间件即可开启翻译功能。

1、引入中间件

MIDDLEWARE = [
    ...
    'django.middleware.locale.LocaleMiddleware',
]

2、其他配置项

LOCALE_PATHS = ['locale']

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = True

3、生成翻译文件

$ ./manage.py makemessages -l zh

4、编译翻译文件

翻译完成,执行命令生成 .mo 文件。

$ ./manage.py compilemessages

Reference