Функция gettext
Функция gettext применяется для перевода текста
на язык, выбранный в данный момент. Первым параметром
передаётся строка для перевода, а последующими -
именованные аргументы подстановки. Возвращается
переведённая строка.
Синтаксис
gettext(string, **variables)
Пример
Давайте переведём строку 'hello' в приложении
Flask с настроенной интернационализацией:
from flask import Flask
from flask_babel import Babel, gettext
app = Flask(__name__)
app.config['BABEL_DEFAULT_LOCALE'] = 'ru'
babel = Babel(app)
@app.route('/')
def index():
res = gettext('hello')
return res
Результат выполнения кода:
привет
Пример
Давайте передадим переменную в строку перевода через именованный аргумент:
from flask import Flask
from flask_babel import Babel, gettext
app = Flask(__name__)
app.config['BABEL_DEFAULT_LOCALE'] = 'ru'
babel = Babel(app)
@app.route('/')
def index():
res = gettext('hello %(name)s', name='user')
return res
Результат выполнения кода:
привет user
Пример
Давайте используем функцию gettext
внутри Jinja-шаблона:
from flask import Flask, render_template
from flask_babel import Babel
app = Flask(__name__)
app.config['BABEL_DEFAULT_LOCALE'] = 'ru'
babel = Babel(app)
@app.route('/')
def index():
return render_template('index.html')
<p>{{ gettext('hello') }}</p>
Результат выполнения кода:
<p>привет</p>
Смотрите также
-
функцию
ngettext,
которая переводит строку с учётом числа -
функцию
lazy_gettext,
которая откладывает перевод до момента вывода -
функцию
pgettext,
которая переводит строку с учётом контекста -
функцию
get_locale,
которая возвращает текущую локаль приложения