# General Translation Changelog: gt-node 0.2.0: Серверный перевод для Node.js
URL: https://generaltranslation.com/ru/blog/gt-node_v0_2_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2026-02-17

## Обзор

**ВАЖНО** Эта библиотека всё ещё остаётся экспериментальной, и в неё могут вноситься несовместимые изменения.

`gt-node` добавляет поддержку General Translation в серверный JavaScript. Она работает в **Node.js**, **Bun** и **Deno**.

Создавая контекст для каждого запроса через `AsyncLocalStorage`, `gt-node` позволяет импортировать функции перевода напрямую из библиотеки:

```js
const gt = await getGT();
```

Это повторяет API в других наших библиотеках, таких как `gt-next`, при работе с асинхронными функциями.

***


## Что входит

* **[`initializeGT()`](/docs/node/reference/functions/initialize-gt)** — Настраивает синглтон i18n. Вызовите один раз при запуске сервера.
* **`withGT(locale, fn)`** — Оборачивает обработчик запроса, чтобы задать локаль. Все вызовы перевода внутри колбэка используют указанную локаль. Все маршруты должны быть обёрнуты в [`withGT`](/docs/node/reference/functions/with-gt).
* **[`getGT()`](/docs/node/reference/functions/get-gt)** — Возвращает функцию перевода для встроенных строк. Поддерживает интерполяцию переменных и формат сообщений ICU.

***

## Быстрый старт (Express)

### Установка

```bash
npm install gt-node
```


### Инициализируйте

```js title="server.js"
import express from 'express';
import { initializeGT, withGT, getGT } from 'gt-node';

initializeGT({
  defaultLocale: 'en-US',
  locales: ['en-US', 'es', 'fr'],
  projectId: process.env.GT_PROJECT_ID,
});

const app = express();
```


### Добавьте middleware для локали

Извлеките локаль из заголовков запроса (или из cookie, параметров запроса — в зависимости от того, как ваше приложение определяет локаль) и оберните каждый запрос в [`withGT`](/docs/node/reference/functions/with-gt):

```js title="server.js"
app.use((req, res, next) => {
  const locale = req.headers['accept-language']?.split(',')[0] || 'en-US';
  withGT(locale, () => next());
});
```

### Переведите

```js title="server.js"
app.get('/api/greeting', async (req, res) => {
  const gt = await getGT();
  res.json({ message: gt('Hello, world!') });
});

app.listen(3000);
```


### Перевести и развернуть

```bash
npx gt translate --publish
```

Вот и всё. На этапе сборки строки подхватывает компилятор GT, во время CD они переводятся, а во время выполнения разрешаются для каждого запроса.

***

## Что дальше

`gt-node` и `gt-tanstack-start` — первые две библиотеки, построенные на синглтон-архитектуре `gt-i18n`. В дальнейшем по тому же принципу появятся и другие адаптеры для фреймворков.

Будем рады вашим отзывам в [Discord](https://discord.gg/SjQwPjZaGa) или на [GitHub](https://github.com/generaltranslation/gt/issues).

## Sitemap

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