繁体   English   中英

Django JavaScript翻译不起作用

[英]Django JavaScript translation not working

我试图按照指南进行操作,但还不够清楚。

  1. 我把它添加到我的urls.py中

     urlpatterns = patterns('', (r'^jsi18n/(?P<packages>\\S+?)/$', 'django.views.i18n.javascript_catalog'), ) 
  2. 使用以下命令生成lang文件:

     django-admin.py makemessages -d djangojs -l fr 

root_folder/locale/fr/LC_MESSAGES现在包含django.podjangojs.poalert(gettext('this is to be translated')); 在我的一个js文件中,在djangojs.po被选中。

  1. 我运行了django-admin.py compilemessages并重新启动了服务器。

  2. 将此添加到我的base.html:

     <script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' 'locale' %}" >< /script > 

请注意,我添加了“locale”以避免在动态加载翻译时未传递包名称的例外。

  1. 访问/jsi18n/locale/从我的浏览器,我得到的是Django翻译功能:

     /* gettext library */ var catalog = new Array(); function pluralidx(count) { return (count == 1) ? 0 : 1; } function gettext(msgid) { .... 

为什么'这是要被翻译'没有显示,在哪个基础上它将显示一个特定的语言而不传递它的URL?

我不知道如何解决你的问题,但我可以告诉你,事情对我有用:

locale文件夹位于我的tickets应用程序中。

urls.py

js_info_dict = {
    'domain': 'djangojs',
    'packages': ('tickets',),
}

urlpatterns = patterns('',
    (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
    ...

base.html文件

<script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script>

并创建消息文件:

python -m django-admin makemessages -d djangojs -l fr
python -m django-admin compilemessages

希望你能从中汲取一些东西。

对于具有我特定情况的其他人,当您使用i18n语言网址时,js消息会生成并编译为OK,但不会在模板或页面中呈现。

这是因为javascript目录应该添加到i18n urls模式,而不是正常模式。

urlpatterns += patterns('', (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), )

=>

urlpatterns += i18n_patterns('', (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM