Я делаю первые шаги в Django и пытаюсь заставить работать текстовые переводы, которые я передаю в приложение через файл .ini.
Скажи, что мой init.ini
это:
[test]
GREETING = Hello World
а по моему settings.py
я делаю:
from six.moves import configparser
from django.utils.translation import ugettext_lazy as _
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Retrieve initialization configuration
init_parser = configparser.ConfigParser()
init_parser.read(os.path.join(BASE_DIR, 'init.ini'))
...
HELLO = init_parser.get('test', 'GREETING')
HELLO = _(init_parser.get('test', 'GREETING'))
переводы моих тегов не отображаются при вызове makemessage
.
Документация говорит
(Предостережение с использованием переменных или вычисленных значений, как в
предыдущие два примера, это то, что Django обнаруживает перевод строки
Утилита django-admin makemessages не сможет найти эти
строки. Больше о makemessages позже.)
но они хотя и охватывают makemessage
на странице документации, но не дают решения о том, как переводить переменные / вычисленные значения, как это. Таким образом, мой вопрос:
Есть ли какой-нибудь рекомендуемый практический способ передачи строк в качестве переменных в модуль python и makemessage
перехватывает их?
EDIT
добавление расширения, как в django-admin makemessages -l de --e=html,py,txt,ini
, также не работает, но теперь мне любопытно, как я могу сделать файл txt
, который будет покрыт. Может быть, это идея.