Функция gettext
Функция gettext применяется для перевода строковых сообщений на текущий активный язык. Она принимает строку в качестве аргумента и возвращает ее перевод, если он доступен в файлах перевода, или исходную строку, если перевод отсутствует. Функция является основным инструментом интернационализации в Django и обычно импортируется как псевдоним _ для удобства использования.
Синтаксис
from django.utils.translation import gettext
translated = gettext(message)
Пример
Давайте переведем простое приветствие на текущий язык:
from django.utils.translation import gettext
greeting = gettext("Hello, World!")
print(greeting)
Результат выполнения кода при активном русском языке:
"Привет, Мир!"
Пример
Использование функции с псевдонимом _ для краткости:
from django.utils.translation import gettext as _
message = _("Welcome to our website")
print(message)
Результат выполнения кода при активном французском языке:
"Bienvenue sur notre site web"
Пример
Функция может использоваться в представлениях для перевода динамических сообщений:
from django.shortcuts import render
from django.utils.translation import gettext as _
def home(request):
context = {
'greeting': _("Good morning"),
'farewell': _("Goodbye"),
}
return render(request, 'home.html', context)
Смотрите также
-
функция
gettext_lazy,
которая откладывает перевод до момента использования строки -
функция
ngettext,
которая переводит строки с учетом множественного числа -
функция
pgettext,
которая переводит строки с учетом контекста -
тег
translate,
который выполняет перевод строк в шаблонах