Django国际化与本地化实现网站的中文显示

环境要求:除开基本的开发环境,你还需要一个多语言工具包:GNU的gettext tools

windows下的链接:https://mlocati.github.io/articles/gettext-iconv-windows.html

(解压后直接将bin路径添加到环境变量中去即可!!!!)

一、Django的国际化

1、创建翻译文件所在的文件夹:       进入项目所在目录,新建名称为 locale 的文件夹,如下图所示: 2、在setting.py文件中添加locale文件夹的路径:
LOCALE_PATHS = ('/djangosite/locale',
)
3、在setting.py文件夹中开启国际化支持: 添加阴影部分所在的那一行代码: 4、在目标文件的python代码中嵌入待翻译的字符串: (1)导入Django翻译模块中的指定翻译字符串函数ugettext(),使用短别名 _ 来引入这个函数以节省键入时间
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 %}

{{UIf2.as_p}}
6、创建翻译语言文件: cmd进入项目目录,输入以下命令为一种语言创建消息文件.po:django-admin makemessages -l zh_CN (消息文件是包含了某一语言翻译字符串和对这些字符串的翻译的一个文本文件。) 注意:zh_CN是中文简体的代号,可根据需要进行调换,如德文的标记符号为de。这段脚本遍历你的项目源树或你的应用程序源树并且提取出所有为翻译而被标记的字符串。它在locale/LANG/LC_MESSAGES 目录下创建(或更新)了一个消息文件。针对上面的zh_CN,应该是locale/zh_CN/LC_MESSAGES/django.po,如下图所示: 7、编译信息文件.mo 接上步,继续在cmd命令框中输入以下命令:python django-admin.py compilemessages

二、Django的本地化

1、根据你的需要设置语言项:Django提供了LocaleMiddleware以满足用户基于请求的数据进行语言选择 。

(1)在MIDDLEWARE中添加下图中阴影部分代码,由于存在调用的关系,所以需要放在 SessionMiddleware 之后:

(2)在setting.py文件中,添加下列代码,笔者以中文简体和英文为例:

LANGUAGE = (('en',('English')),('zh_CN',('中文简体')),
)

2、cmd窗口执行命令:python manage.py runserver

     在浏览器打开后台管理的页面即显示为中文!!!!
















本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部