我的 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")];
并且不会提示引用错误。月份翻译有效,但示例无效。