我試圖follow the guide但它不夠清楚。Django JavaScript翻譯不起作用
我將此添加到我的urls.py
urlpatterns = patterns('', (r'^jsi18n/(?P<packages>\S+?)/$', 'django.views.i18n.javascript_catalog'), )
生成使用此命令朗文件:
django-admin.py makemessages -d djangojs -l fr
root_folder/locale/fr/LC_MESSAGES
現在包含在django.po
& djangojs.po
和alert(gettext('this is to be translated'));
我的一個js文件wa在djangojs.po
中找到了。
我跑了
django-admin.py compilemessages
並重新啓動服務器。將此添加到我的base.html文件:
<script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' 'locale' %}" ></script>
請注意,我說「區域」,以避免未通過包名時動態加載的翻譯除外。
從我的瀏覽器訪問
/jsi18n/locale/
和我得到的是Django的翻譯功能:/* gettext library */ var catalog = new Array(); function pluralidx(count) { return (count == 1) ? 0 : 1; } function gettext(msgid) { ....
爲什麼「這是要翻譯成」沒有顯示並在此基礎上,它會顯示一個不通過URL傳遞特定語言?
謝謝事實上,我花了很多時間在這。我打開了一個相關的[ticket](https://code.djangoproject.com/ticket/25751)來糾正在我眼中不起作用的文檔。 – raratiru
對於任何人在這方面磕磕絆絆:從我理解的閱讀上述票https://code.djangoproject.com/ticket/25751中的評論,這似乎只發生在你的_root_ url正在使用'i18n_patterns'時(有人可以確認 - 或體弱 - 這?) –