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

Функция pgettext

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

Синтаксис

from django.utils.translation import pgettext translated = pgettext(context, message)

Пример

Рассмотрим базовый пример использования функции pgettext:

from django.utils.translation import pgettext # Контекст "button" помогает отличить кнопку "Почта" # от почты как службы доставки mail_button = pgettext("button", "Mail") print(mail_button)

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

"Почта"

Пример

Использование функции pgettext для различения одинаковых слов в разных контекстах:

from django.utils.translation import pgettext # Контекст "month" и "season" для слова "Spring" month_name = pgettext("month", "Spring") season_name = pgettext("season", "Spring") print(month_name) print(season_name)

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

"Весна" "Весна"

Пример

Использование функции pgettext в шаблонах через тег translate:

{% load i18n %} <p>{% translate "Mail" context "button" %}</p> <p>{% translate "Spring" context "month" %}</p>

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

"Почта" "Весна"

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

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