# gt-node: General Translation Node.js SDK: tx
URL: https://generaltranslation.com/ru/docs/node/reference/functions/tx.mdx
Docs index: https://generaltranslation.com/llms.txt
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<string>
```

*Примечание: `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<string>`

Результатом будет переведённая строка или, если перевод не требуется, исходная строка.

## Примеры [#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).

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
