Как указать язык перевода Babel перед рендерингом шаблона Jinja2? - PullRequest
0 голосов
/ 15 января 2019

Я использую Jinja2 и Babel вне рамок. Я генерирую файлы перевода (.po) с Babel для русского и английского языков. У меня есть этот код в main.py

if __name__ == '__main__':
    templateLoader = FileSystemLoader(searchpath="templates")

    env = Environment(
        loader=templateLoader,
        extensions=['jinja2.ext.i18n', 'jinja2.ext.autoescape'],
        autoescape=select_autoescape(['html', 'xml'])
    )

    translations = Translations.load('locale', ['ru', 'en'])
    env.install_gettext_translations(translations)

    template = env.get_template('start.html')

и это содержание start.html

{% trans %}Hey! Enter some text{% endtrans %}

Как указать язык перед отображением шаблона?

Например, передать параметр в template.render():

template.render(lang='ru')
>>> 'Привет! Введите какой-нибудь текст'

template.render(lang='en')
>>> 'Hey! Enter some text'
...