如文档中所述,我已按照以下步骤进行操作 -
在我的settings.py
中0
我的语言环境目录位于我的Django项目的根文件夹中
在urls.py中
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
LANGUAGE_CODE = 'en-us'
USE_I18N = True
USE_L10N = True
ugettext = lambda s: s
LANGUAGES = (
('en', ugettext('English')),
('mar', ugettext('Marathi')),
)
在base.html中
from django.views.i18n import javascript_catalog
js_info_dict = {
'packages': ('phone',),
}
urlpatterns = [
url(r'^phone/', include('phone.urls')),
url(r'^jsi18n/$', javascript_catalog, js_info_dict),
]
我能够通过trans标签看到翻译,但是当我尝试使用gettext方法在javascript中翻译变量时m得到这个特定的错误
ReferenceError:未定义gettext
仅供参考 - djangojs.po和djangojs.mo文件在我的语言环境目录中,并且我在翻译后编译了文件。
我在谷歌上努力但仍然出现同样的错误。
答案 0 :(得分:4)
经过一周的努力,我得到了解决问题的方法,这对我来说有点奇怪
我必须在urls.py中重新安排我的网址,如下所示
urlpatterns = [
url(r'^jsi18n/$', javascript_catalog, js_info_dict),
url(r'^phone/', include('phone.urls')),
]
我上面做了更改后,我的JS目录文件被加载,js文件中的翻译开始工作。
我完全不了解原因,但想分享..可能有用..