# python: t URL: https://generaltranslation.com/ru/docs/python/api/t.mdx --- title: t description: Справочник по API функции перевода t --- ## Обзор Функция `t` переводит строку в формате ICU MessageFormat и выполняет интерполяцию значений переменных. Она определяет текущую локаль, находит кэшированный перевод по хэшу и подставляет переменные. Если перевод не найден, используется исходная строка. ```python from gt_flask import t # или from gt_fastapi import t message = t("Hello, {name}!", name="World") ``` ## Справочник ### Параметры ### Параметры GT (передаются через `**kwargs`) | Параметр | Тип | Описание | | ------------ | ----- | -------------------------------------------------------------------------------------------------------- | | `_context` | `str` | Дополнительный контекст, помогающий устранить неоднозначность при переводе одинакового исходного текста. | | `_id` | `str` | Пользовательский идентификатор записи перевода. | | `_max_chars` | `int` | Максимальное количество символов в выходном тексте. | ### Возвращает `str` — переведённая строка с интерполированными значениями. *** ## Примеры ### Простой перевод ```python t("Hello, world!") ``` ### С переменными ```python t("Hello, {name}!", name="Alice") ``` ### С указанием контекста ```python t("Bank", _context="financial institution") t("Bank", _context="river bank") ``` ### С f-строками и `declare_var` F-строки в Python естественно работают с `t` — просто оберните переменные в [`declare_var`](/docs/python/api/declare-var): ```python from gt_flask import t, declare_var # До i18n: message = f"{name} goes home" # После i18n — просто оберните в t() и declare_var(): message = t(f"{declare_var(name, name='name')} goes home") ``` ### С ограничением по символам ```python t("This is a very long message that might need truncation", _max_chars=20) ``` *** ## Примечания * Перед использованием `t` нужно сначала вызвать [`initialize_gt`](/docs/python/api/initialize-gt). * Если текущая локаль совпадает с локалью по умолчанию, поиск перевода не выполняется — выполняется только интерполяция. * Переменные интерполируются с использованием синтаксиса ICU MessageFormat (например, `{name}`, `{count, plural, one {# item} other {# items}}`).