Django JavaScript Translation gettext未定义

时间:2017-03-09 19:08:21

标签: javascript django

我的javascript函数包含以下内容:

document.getElementById("example").innerHTML = gettext("This is an example");

我的urls.py看起来像:

urlpatterns = [
    url(r'^jsi18n/$', JavaScriptCatalog.as_view(), name='javascript-catalog'),
    url(r'^admin/', admin.site.urls),
    url(r'^', include('project.urls')),
    url(r'^login/$', auth_views.login, {'template_name': 'login.html', 'authentication_form': LoginForm}, name = 'login'),
    url(r'^logout/$', auth_views.logout, {'next_page': '/login'}),
    url(r'^i18n/', include('django.conf.urls.i18n')),
]

在我的模板中,我有:

<script type="text/javascript" src="{% url 'javascript-catalog' %}"></script>

使用gettext()进行上述翻译不起作用。出现参考错误,表示未定义gettext()。但是,在同一个javascript文件中我有:

var monthNames =  [gettext("January"), gettext("February"), gettext("March"), gettext("April"), gettext("May"), gettext("June"), gettext("July"), gettext("August"), gettext("September"), gettext("October"), gettext("November"), gettext("December")];

这不会提示引用错误。月翻译工作但示例一不起作用。

2 个答案:

答案 0 :(得分:1)

我不确定,但请尝试检查脚本的顺序。如果您在加载javascript-catalog的脚本标记之前使用上述示例的gettext()函数,请参阅。

答案 1 :(得分:0)

<script src="/jsi18n/"></script> 

将此添加到jquery块之前。希望这会有所帮助