tx
Справочник API по функции перевода строк tx
Обзор
tx — серверная функция для перевода строк.
await tx('Привет, мир!'); // возвращает «Hola, mundo!»Перевод в рантайме:
переводы tx выполняются в рантайме.
Это означает, что перевод происходит в реальном времени, поэтому вы можете переводить контент, доступный на этапе выполнения.
Справка
Параметры
Prop
Type
| Имя | Описание |
|---|---|
content | Строка, которую нужно перевести. |
options | Параметры перевода для настройки поведения tx. См. RuntimeTranslationOptions. |
Возвращает
Промис, который разрешается в строку с переведённым содержимым или исходным, если перевод не требуется.
Поведение
Функция tx переводит строки во время выполнения.
Это означает, что переводы выполняются «на лету», поэтому вы можете переводить контент, который становится известен только во время исполнения.
Обратная сторона в том, что при ожидании загрузки перевода по требованию возникает задержка — это заметно медленнее.
Мы рекомендуем переводить всё, что возможно, на этапе сборки с помощью getGT, useGT или <T>,
а переводы по требованию, такие как tx и <Tx>, использовать только при необходимости.
Обязательно следуйте руководству по развёртыванию.
Пример
Базовое использование
Вы можете использовать tx для перевода строк.
import { tx } from 'gt-next/server';
export default async function translateGreeting() {
return await tx("Здравствуй, мир!");
}Добавление контекста
Вы можете настраивать перевод, указывая контекст, который будет учитываться при переводе.
import { tx } from 'gt-next/server';
export default async function TranslateWithOptions() {
return await tx("Привет, мир!", {
$context: 'Переводи неформально'
});
}Использование переменных
Чтобы передать значения в строку, нужно (1) задать идентификатор и (2) сослаться на него в передаваемом объекте.
import { tx } from 'gt-next/server';
export default async function translateWithVariables() {
return await tx("Стоимость {price, number, ::currency/USD}", {
price: 29.99,
});
}Указание локали
Вы можете указать локаль, которая будет использоваться для перевода. По умолчанию локаль соответствует предпочтительному языку пользователя.
import { tx } from 'gt-next/server';
export default async function translateWithLocale() {
return await tx("Здравствуй, мир!", { $locale: 'fr' });
}Примечания
txпредназначен исключительно для серверной стороны и не может использоваться в клиентских компонентах.- Переводы с
txвыполняются во время исполнения, то есть в реальном времени. Это значительно медленнее, чем переводы на этапе сборки.
Дальнейшие шаги
- См.
useGTиgetGTдля перевода строк до развертывания. - Для перевода JSX см.
<T>и<Tx>. - См.
RuntimeTranslationOptionsдля получения подробной информации о настройке переводов.
Насколько полезно это руководство?