# 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), чтобы сравнить все подходы к переводу.