我按照 Django doc来内部化 js 文件,但它不起作用。这是我的设置:
设置.py:
LOCALE_PATHS = (os.path.join(BASE_DIR, 'locale'),)
Run Code Online (Sandbox Code Playgroud)
根项目中的 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'),
)
Run Code Online (Sandbox Code Playgroud)
在文件夹中运行以下命令并生成 .po 和 .mo 文件:
django-admin makemessages -l pt_BR
django-admin makemessages -d djangojs -l pt_BR
django-admin makemessages -a
django-admin compilemessages
Run Code Online (Sandbox Code Playgroud)
django.po 文件:
msgid "Customer"
msgstr "Cliente"
Run Code Online (Sandbox Code Playgroud)
在html模板中使用如下:
<script type="text/javascript" src="{% url 'javascript-catalog' %}"></script>
console.log( gettext('Customer') );
Run Code Online (Sandbox Code Playgroud)
什么也没发生,文本继续用英语。有谁知道它可以是什么?