我跟着姜戈doc https://docs.djangoproject.com/pt-br/2.1/topics/i18n/translation/#using-the-javascript-translation-catalog内部化js文件,但它不起作用。这是我的设置:
设置.py:
LOCALE_PATHS = (os.path.join(BASE_DIR, 'locale'),)
根项目中的 urls.py:
from django.views.i18n import JavaScriptCatalog
from django.conf.urls.i18n import i18n_patterns
urlpatterns += i18n_patterns(
path('jsi18n/', JavaScriptCatalog.as_view(), name='javascript-catalog'),
)
在文件夹内运行以下命令,生成 .po 和 .mo 文件:
django-admin makemessages -l pt_BR
django-admin makemessages -d djangojs -l pt_BR
django-admin makemessages -a
django-admin compilemessages
django.po 文件:
msgid "Customer"
msgstr "Cliente"
在html模板中使用如下:
<script type="text/javascript" src="{% url 'javascript-catalog' %}"></script>
console.log( gettext('Customer') );
什么也没发生,文本继续以英文显示。有谁知道它会是什么?