Хочу сделать сайт на Django доступным на втором языке.
Прописываю в settings.py
MIDDLEWARE = [
...
'django.middleware.locale.LocaleMiddleware',
]
LANGUAGE_CODE = 'en-us'
LANGUAGES = (
('en', 'English'),
('nl', 'Dutch'),
)
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
Далее во views.py
from django.utils.translation import ugettext as _
...
context = {
"variable": _("value")
...
}
И в таком случае при запуске команды django-admin makemessages -l nl в папке locale создается каталог с файлом django.po и в нем есть мой контекст для перевода. Все хорошо.
Но часть текста на сайте вылезает не из context, а физически забита в шаблон. Пытаюсь перевести эту часть, прописывая в шаблоне:
{% load i18n %}
....
{% trans "My text for translation" %}
И вот этот текст из шаблона, при выполнении django-admin makemessages -l nl уже в django.po не попадает. Его как будто и нет. Соответственно и перевод для него писать некуда.
Что делаю не так?