2011-09-04 121 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中描述。也許你錯過了它。我建議再看一下: