Переводы Django в файлах Javascript

Я следовал документации Django, чтобы усвоить js-файлы, но она не работает. Вот мои настройки:

settings.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') );

Ничего не происходит, текст продолжается на английском языке. Кто-нибудь знает, что это может быть?

1 ответ

Хорошо, я думаю, что решил эту проблему. По какой-то причине (особенность?) Django компилирует переводы JS в[project-folder]/localeи не . Итак, чтобы заставить его работать, скопируйтеdjangojs.moфайл на[your-app]/localeи посмотрите, работает ли это для вас. Сделал работу за меня.

Я пробовал различные параметры вurls.pyи в другом месте, но я не могу заставить Django скомпилировать транс-файл именно там, где он должен быть.

Другие вопросы по тегам