РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
517 of 643 menu

Функция ngettext

Функция ngettext применяется для перевода строк, зависящих от числа. Первым параметром передаётся строка в единственном числе, вторым - во множественном, третьим - само число n. Функция выбирает подходящую форму согласно правилам множественного числа текущей локали.

В отличие от gettext, которая всегда возвращает одну и ту же строку, ngettext умеет различать, например, «1 article» и «5 articles». В некоторых языках форм множественного числа больше двух, и функция автоматически подбирает правильную.

Синтаксис

ngettext(singular, plural, n)

Пример

Давайте настроим приложение Flask и переведём строку с учётом числа:

from flask import Flask from flask_babel import Babel, ngettext app = Flask(__name__) app.config['BABEL_DEFAULT_LOCALE'] = 'en' babel = Babel(app) @app.route('/') def index(): res = ngettext('%(num)d article', '%(num)d articles', 1) return res

Результат выполнения кода:

1 article

Пример

Давайте передадим во функцию число, большее единицы:

from flask import Flask from flask_babel import Babel, ngettext app = Flask(__name__) app.config['BABEL_DEFAULT_LOCALE'] = 'en' babel = Babel(app) @app.route('/') def index(): res = ngettext('%(num)d article', '%(num)d articles', 5) return res

Результат выполнения кода:

5 articles

Пример

Давайте используем переменную для подстановки числа в строку:

from flask import Flask from flask_babel import Babel, ngettext app = Flask(__name__) app.config['BABEL_DEFAULT_LOCALE'] = 'en' babel = Babel(app) @app.route('/') def index(): count = 3 res = ngettext('%(num)d article', '%(num)d articles', count) return res

Результат выполнения кода:

3 articles

Смотрите также

  • функцию gettext,
    которая переводит строку без учёта числа
  • функцию lazy_ngettext,
    которая откладывает перевод до момента использования
  • функцию npgettext,
    которая учитывает число и контекст перевода
  • функцию get_locale,
    которая возвращает текущую локаль
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить