Django i18n Javascript问题

时间:2011-04-21 23:32:18

标签: javascript django internationalization

我有这个问题:当我在我的django应用程序with this form中设置语言(it或en)时, javascript字符串总是以英文转换。 我的基础语言是意大利语。

这是我的配置: urls.py:

  

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

     

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

我已经运行了这个命令:

  

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

生成djangojs.mo/po文件。 我已将其中的字符串翻译为该文件中的en。 我跑了:

  

django-admin.py compilemessages

现在,当我进入包含此JS的页面时:

  

document.write(gettext('Questastringaèdatradurre'));

字符串总是返回'此字符串将被翻译', (这是'Questastringaèdatradurre'的翻译)

我已将此js包含在我的html文件中:

  

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

我哪里错了?有任何想法吗?提前谢谢。

2 个答案:

答案 0 :(得分:9)

你应该跑

django-admin.py makemessages -d djangojs -l en
django-admin.py compilemessages

对于您拥有的每种语言:)

答案 1 :(得分:0)

在您的文件base.html中,将以下行添加到开头

{% load static from staticfiles %}
{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}