Django 的 国际化

因为我只记录期间碰到的问题,所以具体实现细节就简单描写了,想要具体实现的同窗能够去网上搜下,一大堆html

1,在py文件中使用from django.utils.translation import gettext_lazy as _ 将须要翻译的文字包装起来django

2,在模板文件中使用 blocktrans包装所须要的文字,记得load i18napp

3,建立好locale文件spa

4,使用django-admin.py makemessages -l en_US (-e html,py :只针对html文件和py文件)生成 po 文件翻译

5,django-admin compilemessages生成mo文件debug

6,从新启动项目jiu ok了htm

问题:get

django 默认的查找locale文件的顺序为local_path指定的目录,项目目录,app下的locale文件夹,所以,我将locale文件放在了项目目录下,结果死活翻译结果不出来,最后使用 print _("你好") debug 进入源代码,才发现根本就没有加载locale文件,为撒咧??????????io

当我把locale移动到conf目录下时,debug进入居然找到了locale,怎么回事,完全晕了,看来django的默认机制也不灵啊,最后没办法,设置了locale的加载路径,终于加载到了,可是仍是不显示文字,又debug进入源代码,才发现,django是以字典存放多语言包的,可是键值是u"",是u"",以哭晕在厕所,好吧,只能改成_(u"你好")了,哎~~~~~~~~~~~~~~~模板

相关文章
相关标签/搜索