Django国际化与本地化实现网站的中文显示
环境要求:除开基本的开发环境,你还需要一个多语言工具包:GNU的gettext tools
windows下的链接:https://mlocati.github.io/articles/gettext-iconv-windows.html
(解压后直接将bin路径添加到环境变量中去即可!!!!)一、Django的国际化
1、创建翻译文件所在的文件夹: 进入项目所在目录,新建名称为 locale 的文件夹,如下图所示:LOCALE_PATHS = ('/djangosite/locale',
)
3、在setting.py文件夹中开启国际化支持:
添加阴影部分所在的那一行代码:
from django.utils.translation import ugettext as _
(2)用短别名标识需要翻译的字符串:
def Base_register(request):output = _("Information entry ok!")return HttpResponse(output)
5、在templates code中嵌入待翻译的字符串:
Django模板使用两种模板标签,为了使得模板访问到标签,需要将 {% load i18n %} 放在模板最前面。 这个 {% trans %}模板标记翻译一个常量字符串 或 可变内容:
{%load i18n%}{%trans 'Base Management' %}
{%trans strvar %}
6、创建翻译语言文件:
cmd进入项目目录,输入以下命令为一种语言创建消息文件.po:django-admin makemessages -l zh_CN
(消息文件是包含了某一语言翻译字符串和对这些字符串的翻译的一个文本文件。)
二、Django的本地化
1、根据你的需要设置语言项:Django提供了LocaleMiddleware以满足用户基于请求的数据进行语言选择 。
(1)在MIDDLEWARE中添加下图中阴影部分代码,由于存在调用的关系,所以需要放在 SessionMiddleware 之后:(2)在setting.py文件中,添加下列代码,笔者以中文简体和英文为例:
LANGUAGE = (('en',('English')),('zh_CN',('中文简体')),
)
2、cmd窗口执行命令:python manage.py runserver
在浏览器打开后台管理的页面即显示为中文!!!!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
