# gt-node: General Translation Node.js SDK: tx URL: https://generaltranslation.com/ru/docs/node/reference/functions/tx.mdx --- title: tx description: Перевод строки по запросу во время выполнения с помощью General Translation. Справочник API для tx. --- Переводит строки во время выполнения. В отличие от [`getGT`](/docs/node/reference/functions/get-gt), который возвращает переводы, подготовленные на этапе сборки, `tx` отправляет содержимое на перевод по запросу — поэтому он может переводить строки, которые становятся известны только во время выполнения. ## Обзор [#overview] В области [`withGT`](/docs/node/reference/functions/with-gt) дождитесь результата `tx`, передав строку для перевода. В результате вы получите переведённую строку. ```ts import { tx } from 'gt-node'; const translated = await tx('Hello, world!'); ``` Сигнатура: ```ts tx(content: string, options?: RuntimeTranslationOptions): Promise ``` *Примечание: `tx` выполняет перевод по запросу, то есть требует сетевого запроса и работает с задержкой по сравнению с переводом во время сборки. Используйте [`getGT`](/docs/node/reference/functions/get-gt) для строк, известных при сборке, а `tx` — только если контент динамический или заранее неизвестен.* ## Как это работает [#how-it-works] * **Перевод во время выполнения.** Перевод выполняется во время выполнения через сетевой запрос при промахе кэша, поэтому по сравнению с переводом при сборке возникает задержка. Оставляйте `tx` для динамического контента. * **Без ICU-интерполяции.** В отличие от [`getGT`](/docs/node/reference/functions/get-gt), `tx` не подставляет значения в заполнители `{variable}` — он воспринимает строку как обычный текст. Встраивайте переменные с помощью шаблонных литералов JavaScript, чтобы их значения включались в контент, отправляемый на перевод. * **Резервный вариант.** Возвращает исходную строку, если перевод не требуется. ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательный | По умолчанию | | --------------------- | ------------------------------------------- | --------------------------- | -------------- | ------------ | | [`content`](#content) | Строка для перевода. | `string` | Нет | — | | [`options`](#options) | Параметры для настройки поведения перевода. | `RuntimeTranslationOptions` | Да | — | ### `content` [#content] **Тип** `string` · **Обязательно** Строка для перевода. Подставляйте динамические значения с помощью шаблонных литералов, а не через заполнители `{variable}`. ### `options` [#options] **Тип** `RuntimeTranslationOptions` · **Необязательно** Параметры для настройки перевода во время выполнения: * `$context?: string` — дополнительный контекст, помогающий устранить неоднозначность перевода. * `$locale?: string` — переопределяет локаль, заданную через [`withGT`](/docs/node/reference/functions/with-gt). * `$maxChars?: number` — максимальное количество символов в переводе. * `$requiresReview?: boolean` — требуется ли утверждение перевода перед использованием. *Примечание: `RuntimeTranslationOptions` аналогичен inline-параметрам для [`getGT`](/docs/node/reference/functions/get-gt), но без `$id`, а `$format` по умолчанию использует plain-string (не ICU), а не ICU.* ## Возвращает [#returns] **Тип** `Promise` Результатом будет переведённая строка или, если перевод не требуется, исходная строка. ## Примеры [#examples] ```ts title="handler.js" // Базовое использование import { withGT, tx } from 'gt-node'; function handleRequest(locale) { return withGT(locale, async () => { return await tx('Processing complete'); }); } ``` ```ts title="handler.js" // С переменными — встраивайте значения через шаблонные литералы, а не через {placeholders} import { withGT, tx } from 'gt-node'; function handleStatus(locale, status) { return withGT(locale, async () => { return await tx(`Current status: ${status}`); }); } ``` ```ts title="handler.js" // С контекстом для устранения неоднозначности перевода const translated = await tx('Spring', { $context: 'the season, not a coil', }); ``` ```ts title="handler.js" // Указание локали — переопределяет локаль withGT const translated = await tx('Hello, world!', { $locale: 'fr' }); ``` ## Заметки [#notes] * `tx` — асинхронная функция, которая возвращает промис. Всегда используйте `await` для результата. * Перевод выполняется во время выполнения через сетевой запрос, поэтому по сравнению с переводами при сборке есть задержка. * `tx` не поддерживает интерполяцию ICU `{variable}`. Для подстановки переменных используйте шаблонные литералы. * Для статических строк с интерполяцией переменных ICU используйте [`getGT`](/docs/node/reference/functions/get-gt) или [`msg`](/docs/node/reference/functions/msg) вместе с [`getMessages`](/docs/node/reference/functions/get-messages).