# gt-node: General Translation Node.js SDK: Определение локали запроса URL: https://generaltranslation.com/ru/docs/node/guides/detecting-locale.mdx --- title: Определение локали запроса description: Как определить и привязать локаль для каждого запроса с помощью General Translation в gt-node. related: links: - /docs/node/guides/translating-strings - /docs/node/guides/configuring - /docs/node/guides/storing-translations --- Каждый вызов перевода в `gt-node` выполняется для локали текущего запроса. Вы определяете эту локаль по запросу и привязываете её с помощью [`withGT`](/docs/node/reference/functions/with-gt), чтобы все последующие функции перевода использовали именно её. ## Привяжите локаль к `withGT` [#with-gt] Оберните обработку запроса в `withGT(locale, fn)`. Эта функция сохраняет локаль на время выполнения запроса, чтобы [`getGT`](/docs/node/reference/functions/get-gt), [`getMessages`](/docs/node/reference/functions/get-messages), [`tx`](/docs/node/reference/functions/tx) и [`getLocale`](/docs/node/reference/functions/get-locale) использовали её при обращении. ```ts import { withGT } from 'gt-node'; app.use((req, res, next) => withGT(resolveLocale(req), () => next())); ``` *Примечание: вызов функции перевода или функции работы с локалью вне области `withGT` в режиме разработки вызывает ошибку; в Production используется локаль по умолчанию.* ## Определение по `Accept-Language` [#accept-language] Используйте [`getRequestLocale`](/docs/node/reference/functions/get-request-locale), чтобы выбрать наиболее подходящую поддерживаемую локаль на основе заголовка `Accept-Language` в запросе, а если это не удастся — использовать локаль по умолчанию. ```ts import { withGT, getRequestLocale } from 'gt-node'; app.use((req, res, next) => withGT(getRequestLocale(req), () => next())); ``` ## Определяйте по собственным сигналам [#custom] Чтобы учесть явный выбор пользователя, определите локаль самостоятельно — например, по cookie-файлу или сегменту пути — а в качестве запасного варианта используйте `getRequestLocale`. Передайте результат в `withGT`. ```ts function resolveLocale(req) { return req.cookies?.locale || getRequestLocale(req); } app.use((req, res, next) => withGT(resolveLocale(req), () => next())); ``` `withGT` сопоставляет переданное значение с настроенными `locales`, поэтому неподдерживаемая локаль заменяется локалью по умолчанию. Активную локаль можно получить в любом месте запроса с помощью [`getLocale`](/docs/node/reference/functions/get-locale). ## Next steps - /docs/node/guides/translating-strings - /docs/node/guides/configuring - /docs/node/guides/storing-translations