Django支持多语言开发—i18n_django i18n
Django支持国际化开发,这通过一个称为“i18n”的过程实现。“i18n”代表“internationalization”,是设置Django以便它可以适应不同语言和地区的一种方式。
在Django中启用多语言支持,你需要遵循以下步骤:
- 在Django项目的settings.py文件中,设置
LANGUAGE_CODE
为默认语言(例如:'en-us'
表示英语)。 - 设置
TIME_ZONE
为默认时区。 - 设置
INSTALLED_APPS
,确保'django.contrib.localflavor'
和'django.contrib.redirects'
已经安装。 - 设置
MIDDLEWARE_CLASSES
,确保'django.middleware.locale.LocaleMiddleware'
已经启用。 - 创建语言文件translations,存放在你的项目目录中的
locale
文件夹内。 - 使用
django-admin.py makemessages -l de
命令创建德语翻译文件(假设你想要德语支持)。 - 编辑生成的德语语言文件,添加必要的翻译。
- 使用
django.utils.translation
模块的trans
标签或者ugettext
函数来标记需要翻译的文本。
示例代码:
# views.py
from django.utils.translation import ugettext as _
def my_view(request):
output = _("Welcome to my site.")
return render(request, 'my_template.html', {'output': output})
<!-- my_template.html -->
<p>{{ output }}</p>
启用多语言支持后,Django会自动根据用户请求的语言首选项进行翻译。你可以通过在浏览器中设置语言首选项来测试不同的语言版本。
评论已关闭