2011-09-04 136 views
2

您好,我在Django的JS翻译有问题。 我做了一切就像在文档中说的,所以: 我做了.po然后.mo文件(django.mo,djangojs.mo)。 翻译文件位于路径:* myapp/locale/pl/LC_MESSAGES/*和* myapp/locale/en/LC_MESSAGES/* 翻译.html和.py文件可以正常工作。唯一的问题是,JS翻译总是显示原始短语,而不是翻译。 主urls.py:在头Django - JavaScript的翻译问题

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

模板文件(如第一部分JS):

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

我所有的JS文件路径/ MyApp的/ site_media/JS /和唯一的.mo文件在我之前写的路径中。 我在JS字符串中使用gettext()。

我做错了什么?

+0

当你在http://your.site/jsi18n/上直接浏览浏览器时,你会看到什么? – seriyPS

+0

有同样的问题,我的jsi18n是http://dpaste.com/755946/ - 正如你所看到的,只有django字符串被翻译 – alekwisnia

+0

你能提供一个带有指示js翻译文件的例子吗? JS translatables必须在.js文件中,如果不是,你应该使用'{%trans%}'标签。 – guival

回答

2

要使用jsi18n视图,你有两个选择:

  1. 指定传递给视图的字典,这将合并所需的翻译包(您指定一个空的字典 - 因此没有包)
  2. 抓住url模式中的packages参数,并在URL中指定包名,并用+分隔。

这在javascript_catalog documentation中描述。也许你错过了它。我建议再看一下: