要实现Django的国际化和本地化,需要做以下步骤:
LANGUAGE_CODE = 'zh-hans' # 设置默认语言为简体中文
USE_I18N = True # 启用国际化
USE_L10N = True # 启用本地化
{% trans %}
标签来标记需要翻译的文本,例如:{% trans "Hello World" %}
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的国际化和本地化功能。