YardalGedal
@YardalGedal
yeah boy

Как правильно выносить строки в шаблоны?

Как правильно реализовывать вынос строк в шаблоны? Допустим, для мультиязычности. У меня есть модуль tools с плюшками, юзаемыми в проекте. Рядом лежат файлы для языков с константами, типа
HELLO = "Привет". В tools есть функция get_message, принимающая условное название-константу строки, область видимости и язык.

Пока я вижу следующий вариант -- методы классов возвращают, например tools.get_message("HELLO", {}, "ru"). Далее функция get_message через getattr пытается получить эту константу из файла и через format_map() форматирует ее с областью видимости, переданной функции.

Но это похоже на изврат, есть какие-то ещё альтернативные и логичные варианты? А если мне в этой строке нужно выполнить функцию?

Желательно, чтобы это работало быстро, а не как Template.

При этом меня интересует не сам перевод, коим занимается gettext, а именно подход к хранению и обработке таких строковых данных.
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ответы на вопрос 1
FeNUMe
@FeNUMe
Чем именно вам не угодил gettext? Это де факто стандарт для переводов, строки хранятся в человекочитаемых .po файлах.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы