# gt-node: General Translation Node.js SDK: Быстрый старт URL: https://generaltranslation.com/ru/docs/node/quickstart.mdx --- title: Быстрый старт description: Установите библиотеку General Translation `gt-node` и переведите свой первый сервис на Node.js. related: links: - /docs/node/guides/translating-strings - /docs/node/guides/detecting-locale - /docs/node/guides/configuring - /docs/node/guides/storing-translations --- `gt-node` переводит строки в Node.js-серверах и сервисах. Вы один раз инициализируете библиотеку, привязываете локаль для каждого входящего запроса и переводите строки в обработчиках. Используйте `gt-node` для серверных сервисов, например API на Express или Fastify. Для приложений React используйте [`gt-react`](/docs/react/react-quickstart); для Next.js — [`gt-next`](/docs/react/nextjs-quickstart). *Примечание: `gt-node` требует Node.js 18 или выше. Привязка локали на уровне запроса использует `AsyncLocalStorage` из `node:async_hooks`.* ## Что делает gt-node [#what-it-does] `gt-node` предоставляет: * **Перевод строк** с [`getGT`](/docs/node/reference/functions/get-gt) — для строк в рамках обработчика. * **Зарегистрированные сообщения** с [`msg`](/docs/node/reference/functions/msg) и [`getMessages`](/docs/node/reference/functions/get-messages) — для общих констант и ошибок. * **Перевод во время выполнения** с [`tx`](/docs/node/reference/functions/tx) — для динамического контента. * **Привязку локали к запросу** с [`withGT`](/docs/node/reference/functions/with-gt), а также вспомогательные функции для определения локали запроса. ## Быстрый старт [#quickstart] Установите библиотеку, инициализируйте её, привяжите локаль для каждого запроса и переведите строку. ### 1. Установите `gt-node` Установите `gt-node` как зависимость, а [`gt` CLI](/docs/cli/quickstart) — как зависимость для разработки. ```bash npm install gt-node && npm install gt --save-dev ``` ```bash yarn add gt-node && yarn add --dev gt ``` ```bash bun add gt-node && bun add --dev gt ``` ```bash pnpm add gt-node && pnpm add --save-dev gt ``` ### 2. Инициализируйте библиотеку Вызовите [`initializeGT`](/docs/node/reference/functions/initialize-gt) один раз при запуске, до начала обработки запросов. Передайте локали и учетные данные — `gt-node` не считывает `gt.config.json` или переменные окружения автоматически. ```ts title="server.js" import { initializeGT } from 'gt-node'; initializeGT({ defaultLocale: 'en', locales: ['en', 'es', 'fr'], projectId: process.env.GT_PROJECT_ID, }); ``` ### 3. Привяжите локаль запроса Оберните каждый запрос в `withGT`, чтобы функции перевода знали, какую локаль использовать. Используйте [`getRequestLocale`](/docs/node/reference/functions/get-request-locale), чтобы определить её по заголовку `Accept-Language`. ```ts title="server.js" import express from 'express'; import { withGT, getRequestLocale } from 'gt-node'; const app = express(); app.use((req, res, next) => withGT(getRequestLocale(req), () => next())); ``` ### 4. Переведите строку Внутри обработчика дождитесь `getGT`, чтобы получить функцию перевода для локали запроса, а затем переводите строки. Интерполируйте значения с помощью ICU-плейсхолдеров. ```ts title="server.js" import { getGT } from 'gt-node'; app.get('/api/greeting', async (req, res) => { const gt = await getGT(); res.json({ message: gt('Hello, {name}!', { name: 'Alice' }) }); }); ``` ### 5. Сгенерируйте переводы Запустите CLI перед деплоем в production, чтобы переводы были доступны во время выполнения. ```bash npx gt translate ``` См. [Перевод строк](/docs/node/guides/translating-strings), чтобы понять, когда использовать `getGT`, `msg` и `tx`, а сведения об учетных данных и доставке — в [Настройка gt-node](/docs/node/guides/configuring). ## Next steps - /docs/node/guides/translating-strings - /docs/node/guides/detecting-locale - /docs/node/guides/configuring - /docs/node/guides/storing-translations