Проект на Python Django 3.0.
Хочу сделать перевод текста как в коде, так и в шаблоне.
Есть все необходимые предустановки:
1.
USE_I18N = True
2.
LANGUAGES = [('uk', 'Ukrainian'), ('en', 'English')]
3.
LANGUAGE_CODE = 'uk'
4.
'OPTIONS': {'context_processors': ['django.core.context_processors.i18n', ...]
5.
MIDDLEWARE = ['django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware', ...]
6.
INSTALLED_APPS = [..., 'master', 'administrator']
7.
LOCALE_PATHS = [
os.path.join(PROJECT_ROOT, 'apps', 'master', 'locale'),
os.path.join(PROJECT_ROOT, 'apps', 'administrator', 'locale'),
]
8. В шаблонах первым стоит тег `{% load i18n %}`
9. Во всех шаблонах есть тег перевода (`{% translate "some text" %}`)
10.
path('i18n/', include('django.conf.urls.i18n')),
После этого всего ввожу команду
django-admin makemessages --locale=uk --extension=html,txt,py
В файле
django.po
нет никаких строк из шаблонов, а при запуске сервера и входе на страницу с переводом выбивает ошибку:
Invalid block tag on line 32: 'translate', expected 'endblock'. Did you forget to register or load this tag?
При чём перевод из кода есть и успешно переводится.