# gt-node: General Translation Node.js SDK: getRequestLocale URL: https://generaltranslation.com/ru/docs/node/reference/functions/get-request-locale.mdx --- title: getRequestLocale description: Определяет наиболее подходящую поддерживаемую локаль из заголовка Accept-Language в запросе с помощью General Translation. Справочник API для getRequestLocale. --- Извлекает предпочтительную локаль из заголовка `Accept-Language` запроса и сопоставляет её с локалями, указанными в вашей конфигурации. Используйте эту функцию, чтобы выбрать локаль для привязки с [`withGT`](/docs/node/reference/functions/with-gt). ## Обзор [#overview] Передайте объект запроса в `getRequestLocale`. Функция вернёт наиболее подходящую поддерживаемую локаль или `defaultLocale`, если совпадение не найдено. ```ts import { getRequestLocale } from 'gt-node'; const locale = getRequestLocale(req); // 'fr' ``` Сигнатура: ```ts getRequestLocale(request: { headers: Record }): string ``` *Примечание: перед использованием `getRequestLocale` вызовите [`initializeGT`](/docs/node/reference/functions/initialize-gt), чтобы функция знала, какие локали поддерживаются.* ## Как это работает [#how-it-works] * **Разбор header.** Разбирает header `Accept-Language` запроса и определяет наиболее подходящее значение среди настроенных `locales`. * **Резервный вариант.** Если ни одна поддерживаемая локаль не подходит, возвращается настроенная `defaultLocale`. * **Независимость от фреймворка.** Работает с любым фреймворком, который предоставляет headers в виде `Record`, включая Express и Fastify. ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательный | По умолчанию | | --------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------- | -------------- | ------------ | | [`request`](#request) | Объект со свойством `headers`, в котором содержатся заголовки запроса. | `{ headers: Record }` | Нет | — | ### `request` [#request] **Тип** `{ headers: Record }` · **Обязательно** Объект со свойством `headers`, содержащим заголовки HTTP-запроса. Работает с Express, Fastify и любым фреймворком, в котором заголовки представлены как `Record`. ## Возвращает [#returns] **Тип** `string` Наиболее подходящий код локали BCP 47 из локалей, настроенных в `locales`, или `defaultLocale`, если совпадение не найдено. ## Примеры [#examples] ```ts title="middleware/locale.js" // Express middleware import { withGT, getRequestLocale } from 'gt-node'; export function localeMiddleware(req, res, next) { const locale = getRequestLocale(req); withGT(locale, () => next()); } ``` ```ts title="middleware/locale.js" // Комбинирование с другими стратегиями — использовать getRequestLocale как резервный вариант import { withGT, getRequestLocale } from 'gt-node'; export function localeMiddleware(req, res, next) { const locale = req.query.lang || req.cookies?.locale || getRequestLocale(req); withGT(locale, () => next()); } ```