# gt-node: General Translation Node.js SDK: Настройка gt-node
URL: https://generaltranslation.com/ru/docs/node/guides/configuring.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Как инициализировать General Translation gt-node с локалями, учетными данными и доставкой переводов.

`gt-node` полностью настраивается через вызов [`initializeGT`](/docs/node/reference/functions/initialize-gt), который выполняется один раз при запуске. В этом руководстве объясняется, какие значения нужно передать и как доставляются переводы.

*Примечание: в отличие от `gt-next`, `gt-node` не считывает `gt.config.json` автоматически — явно импортируйте этот файл, чтобы использовать его настройки локалей во время выполнения. Он использует `GT_PROJECT_ID`, `GT_API_KEY` и `GT_DEV_API_KEY` как резервные учетные данные.*

## Инициализация при запуске [#initialize]

Вызовите [`initializeGT`](/docs/node/reference/functions/initialize-gt) один раз — до обработки любых запросов, передав локали и учетные данные.

```ts title="server.js"
import { initializeGT } from 'gt-node';

initializeGT({
  defaultLocale: 'en',
  locales: ['en', 'es', 'fr'],
});
```

Чтобы значения оставались синхронизированы с CLI, импортируйте `gt.config.json` и передайте его поля в вызов с помощью spread-оператора.

## Добавьте учетные данные [#credentials]

Задайте project ID и API-ключи в окружении, где работает сервис. [`initializeGT`](/docs/node/reference/functions/initialize-gt) использует их, если вы не указываете соответствующие поля:

```bash
export GT_PROJECT_ID="your-project-id"
export GT_DEV_API_KEY="gtx-api-your-runtime-key"
export GT_API_KEY="gtx-api-..."
```

Используйте [проектный API-ключ](/docs/platform/dashboard/reference/api-keys#create-project-keys) с включённым разрешением **runtime-перевод**. `GT_DEV_API_KEY` включает горячую перезагрузку в режиме разработки; `GT_API_KEY` предоставляет учётные данные для остальных runtime-запросов. Оба принимают проектные ключи вида `gtx-api-`.

Значения, переданные напрямую в [`initializeGT`](/docs/node/reference/functions/initialize-gt), имеют приоритет над переменными окружения. Если явно указано пустое значение, будет использовано значение из переменной окружения.

В режиме разработки project ID и проектный API-ключ с разрешением на runtime-перевод обеспечивают перевод по запросу и горячую перезагрузку, поэтому новые строки переводятся прямо по мере работы. В production переводы берутся из заранее сгенерированных файлов или CDN. Все параметры см. в [справочнике по конфигурации](/docs/node/reference/config).

## Выберите способ получения переводов [#delivery]

`gt-node` получает переводы в одном из следующих режимов:

* **CDN General Translation:** укажите `projectId` (без пользовательского загрузчика), чтобы получать переводы из CDN GT.
* **Локальные файлы:** передайте колбэк [`loadTranslations`](/docs/react/reference/functions/load-translations), который возвращает переводы для локали. См. [Локальное хранение переводов](/docs/node/guides/storing-translations).
* **Пользовательский эндпоинт:** задайте свой `cacheUrl`, чтобы загружать переводы с собственного хоста, или `null`, чтобы отключить удалённую загрузку.

## Обработка отсутствующих переводов [#missing]

Если перевод отсутствует, `gt-node` возвращает исходную строку с подставленными переменными вместо того, чтобы выбрасывать исключение, поэтому запрос всегда будет отрисован. Исключение — обращения к словарю через [`getTranslations`](/docs/node/reference/functions/get-translations): неизвестный id словаря вызывает исключение. Убедитесь, что значения [`initializeGT`](/docs/node/reference/functions/initialize-gt) соответствуют тому, что генерирует CLI, чтобы в Production переводы были готовы.

## Next steps

- /docs/node/guides/translating-strings
- /docs/node/guides/detecting-locale
- /docs/node/guides/storing-translations

## Sitemap

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