我的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")];
这不会提示引用错误。月翻译工作但示例一不起作用。
答案 0 :(得分:1)
我不确定,但请尝试检查脚本的顺序。如果您在加载javascript-catalog的脚本标记之前使用上述示例的gettext()函数,请参阅。
答案 1 :(得分:0)
<script src="/jsi18n/"></script>
将此添加到jquery块之前。希望这会有所帮助