# node: tx URL: https://generaltranslation.com/ru/docs/node/api/strings/tx.mdx --- title: tx description: Справка по API для функции `tx` для перевода строк во время выполнения --- ## Обзор Функция `tx` переводит строки во время выполнения. В отличие от [`getGT`](/docs/node/api/get-gt), который обрабатывает переводы на этапе сборки, `tx` отправляет контент на перевод по запросу — поэтому она может переводить строки, которые становятся известны только во время выполнения. ```js import { tx } from 'gt-node'; const translated = await tx('Hello, world!'); ``` **Перевод во время выполнения:** `tx` выполняет перевод по требованию, поэтому по сравнению с переводом на этапе сборки требуется сетевой запрос и возникает задержка. Используйте [`getGT`](/docs/node/api/get-gt) для строк, известных на этапе сборки, а `tx` — только если содержимое динамическое или заранее неизвестно. ## Справка ### Параметры | Имя | Тип | Описание | | ---------- | ------------------------------------------------------------------------------- | ----------------------------------------------- | | `content` | `string` | Строка, которую нужно перевести. | | `options?` | [`RuntimeTranslationOptions`](/docs/next/api/types/runtime-translation-options) | Параметры для настройки поведения при переводе. | ### Возвращает `Promise` — переведённая строка или исходная строка, если перевод не требуется. *** ## Примеры ### Основы использования ```js title="handler.js" import { withGT, tx } from 'gt-node'; function handleRequest(locale) { return withGT(locale, async () => { return await tx('Processing complete'); }); } ``` ### С переменными Поскольку `tx` переводит строки во время выполнения, встраивайте переменные прямо в строку с помощью шаблонных литералов. Это гарантирует, что значения переменных будут включены в содержимое, отправляемое для перевода: ```js title="handler.js" import { withGT, tx } from 'gt-node'; function handleStatus(locale, status) { return withGT(locale, async () => { return await tx(`Current status: ${status}`); }); } ``` **`tx` не интерполирует заполнители `{variable}`.** В отличие от [`getGT`](/docs/node/api/get-gt), который использует формат сообщений ICU (синтаксис `{name}`), `tx` обрабатывает строку как обычную строку. Используйте шаблонные литералы JavaScript (`` `Hello, ${name}` ``), чтобы подставлять переменные. ### С контекстом Добавьте `$context`, чтобы снять неоднозначность перевода: ```js title="handler.js" const translated = await tx('Spring', { $context: 'the season, not a coil', }); ``` ### Указание локали Переопределите локаль, установленную в [`withGT`](/docs/node/api/with-gt): ```js title="handler.js" const translated = await tx('Hello, world!', { $locale: 'fr' }); ``` *** ## Примечания * `tx` — асинхронный и возвращает Promise. Всегда ожидайте результат через `await`. * Перевод выполняется во время выполнения через сетевой запрос, поэтому по сравнению с переводом на этапе сборки возникает задержка. * `tx` **не** поддерживает интерполяцию ICU `{variable}`. Для подстановки переменных используйте шаблонные литералы. * Для статических строк с интерполяцией переменных ICU используйте [`getGT`](/docs/node/api/get-gt) или [`msg`](/docs/node/api/strings/msg) / [`getMessages`](/docs/node/api/get-messages). ## Следующие шаги * См. [`getGT`](/docs/node/api/get-gt) для перевода строк на этапе сборки. * См. [`RuntimeTranslationOptions`](/docs/next/api/types/runtime-translation-options) для настройки поведения перевода. * См. [Подходы к переводу строк](/docs/node/guides/strings), чтобы сравнить все подходы к переводу.