标题:django国际化与本地化 | 作者: catfish | 时间:2020年01月01日
暂无法显示图片

原文出处:https://blog.csdn.net/scissors0707/article/details/79042458

使用

1,在MIDDLEWATE中添加一行:'django.middleware.locale.LocaleMiddleware',

2,写入文本如下:

# 需要翻译的语言
LANGUAGES = (
    ('en', ('English')),
    ('zh-hans', ('中文简体')),
    ('zh-hant', ('中文繁體')),
)

# 翻译文件所在目录,需要手工创建
LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'),
)

3,接下来指定翻译的文本即可。这个有点多我把它放到后面新开一节。

4,本地化:(生成.po后缀文件,如果没有指定翻译文件就不会生成)

python manage.py makemessages -l zh_hans
python manage.py makemessages -l en
python manage.py makemessages -l zh_hant

5,对本地化的所有文件进行编译。(将所有po文件变成mo文件)

django-admin compilemessages

指定翻译的文本

在视图views.py中指定翻译的文本

举例如下:

from django.utils.translation import ugettext as _
from django.http import HttpResponse

def my_view(request):
    output = _("Welcome to my site.")
    return HttpResponse(output)

在模板中指定翻译的文本

有两种用法:

{% load i18n %}
<title>{% trans "This is the title." %}</title>

{% blocktrans %}This string will have {{ value }} inside.{% endblocktrans %}

 

我要评论

没有登录?请先登录后再评论

最新评论

暂无人评论,来抢个沙发吧!