Нужны советы по лучшей методике замены строк при использовании gettext (). Или все техники применяются одинаково?
Я могу придумать как минимум 3 строковых техники:
1) Классическое форматирование на основе "%":
"Меня зовут% (name) s"% localals ()
2) .format () форматирование:
"Меня зовут {имя}". Формат (местные ())
3) string.Template.safe_substitute ()
строка импорта
template = string.Template («Меня зовут $ {name}»)
template.safe_substitute (locals ())
Преимущество метода string.Template заключается в том, что переведенная строка с неверно записанной ссылкой на переменную может по-прежнему выдавать полезное строковое значение, в то время как другие методы безоговорочно вызывают исключение. Обратная сторона строки. Техника шаблонов заключается в невозможности настроить форматирование переменной (отступы, выравнивание, ширина и т. Д.).