Переводы 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 скомпилировать транс-файл именно там, где он должен быть.