分为models、views和模版(templates)三处转换
修改settings
1.增加中间件,顺序靠前
1
2
3
4
5MIDDLEWARE = [
...
'django.middleware.locale.LocaleMiddleware',
...
]2.增加LANGUAGES和LOCALE_PATHS,并且手动在项目根目录创建locale文件夹
1
2
3
4
5
6
7
8
9
10# I18N translation
LANGUAGE_CODE = 'zh-Hans'
LANGUAGES = (
('zh-hans', ugettext_lazy('Simplified Chinese')),
('en',('English'))
)
LOCALE_PATHS = [
os.path.join(BASE_DIR, 'locale'),
]
生成翻译文件
1 | 1.执行命令生成翻译文件,请先安装gettext |
修改templates目录下的html文件
1 | # 在base.html页面中加载i18n,其他页面extand base.html |
修改url,添加切换语言功能
1 | from django.conf.urls.i18n import i18n_patterns |
1 | urlpatterns = [ |