Django国际化i18n的JavaScript目录视图
我正在尝试让javascript_catalog在国际化(i18n)中正常工作,但一直没有成功。
我按照官方指南这里的步骤操作。
在运行时,我遇到了以下问题:
./manage.py makemessages -d djangojs -l fr_CA --settings=settings.local
"CommandError: errors happened while running msguniq".
msguniq: error while opening "/webapps/.../djangojs.pot" for reading: No such file or directory
在我的项目的urls.py文件中有这个内容。
js_info_dict = {
'packages': ('project_name',),
}
urlpatterns += patterns('',
(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
)
我在我的基础模板中添加了这个。
<script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
我的INSTALLED_APPS里也有project_name。
我尝试过从包的层级和单独应用的层级来操作,创建locale目录并把应用放在'packages'里等等。但普通的makemessages可以正常工作,只有djangojs域的js目录不行。
请帮帮我。
1 个回答
5
好的,我原以为包含'script'标签的html文件也会被JavaScript目录处理。其实,从我观察到的情况来看,只有.js文件会被扫描。当我把
gettext('Text to translate');
放在一个.js文件里时,它就能正常工作了。上面的错误信息说明没有内容可以翻译。