我有这个问题:当我在我的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>
我哪里错了?有任何想法吗?提前谢谢。
答案 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 %}