Django怎么实现国际化和本地化
要实现Django的国际化和本地化,需要做以下步骤:
- 在settings.py中设置语言设置:
LANGUAGE_CODE = 'zh-hans' # 设置默认语言为简体中文
USE_I18N = True # 启用国际化
USE_L10N = True # 启用本地化
- 在每个需要翻译的模板中使用
{% trans %}
标签来标记需要翻译的文本,例如:
{% trans "Hello World" %}
- 在Django项目根目录下执行以下命令生成语言文件:
django-admin makemessages -l zh_Hans # 生成简体中文的语言文件
-
在生成的语言文件中进行翻译,将需要翻译的文本翻译成对应的语言。
-
编译翻译文件,执行以下命令:
django-admin compilemessages
-
在模板中使用
{% trans %}
标签来翻译文本。 -
如果需要根据用户的浏览器语言自动切换语言,可以在视图中添加以下代码:
from django.utils.translation import activate
from django.utils.translation import ugettext_lazy as _
def my_view(request):
language = request.META.get('HTTP_ACCEPT_LANGUAGE', '')
if language.startswith('zh'):
activate('zh_Hans') # 激活简体中文
else:
activate('en') # 激活英语
通过以上步骤,就可以实现Django的国际化和本地化功能。
相关问答