# gt-node: General Translation Node.js SDK: getRequestLocale URL: https://generaltranslation.com/fr/docs/node/reference/functions/get-request-locale.mdx --- title: getRequestLocale description: Détecte le meilleur paramètre régional pris en charge à partir de l’en-tête Accept-Language d’une requête avec General Translation. Référence de l’API pour getRequestLocale. --- Extrait le paramètre régional préféré de l’en-tête `Accept-Language` d’une requête et le compare aux paramètres régionaux que vous avez configurés. Utilisez-le pour choisir le paramètre régional à associer à [`withGT`](/docs/node/reference/functions/with-gt). ## Aperçu [#overview] Appelez `getRequestLocale` en lui passant un objet de requête. Elle renvoie le paramètre régional pris en charge qui correspond le mieux, ou `defaultLocale` si aucune correspondance n’est trouvée. ```ts import { getRequestLocale } from 'gt-node'; const locale = getRequestLocale(req); // 'fr' ``` Signature : ```ts getRequestLocale(request: { headers: Record }): string ``` *Remarque : appelez [`initializeGT`](/docs/node/reference/functions/initialize-gt) avant d’utiliser `getRequestLocale` afin que la fonction sache quels paramètres régionaux sont pris en charge.* ## Comment ça marche [#how-it-works] * **Analyse de l’en-tête.** Il analyse l’en-tête `Accept-Language` de la requête et détermine la meilleure correspondance parmi les `locales` configurées. * **Contenu de secours.** Lorsqu’aucun paramètre régional pris en charge ne correspond, il renvoie le `defaultLocale` configuré. * **Indépendant du framework.** Il fonctionne avec n’importe quel framework qui expose les en-têtes sous la forme de `Record`, y compris Express et Fastify. ## Paramètres [#parameters] | Paramètre | Description | Type | Facultatif | Par défaut | | --------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------- | ---------- | ---------- | | [`request`](#request) | Un objet doté d’une propriété `headers` contenant les en-têtes de la requête. | `{ headers: Record }` | Non | — | ### `request` [#request] **Type** `{ headers: Record }` · **Obligatoire** Objet doté d’une propriété `headers` contenant les en-têtes de la requête. Compatible avec Express, Fastify et tout framework qui expose les en-têtes sous la forme `Record`. ## Returns [#returns] **Type** `string` Le code de langue BCP 47 le plus proche parmi vos `locales` configurés, ou `defaultLocale` si aucune correspondance n’est trouvée. ## Exemples [#examples] ```ts title="middleware/locale.js" // Middleware Express import { withGT, getRequestLocale } from 'gt-node'; export function localeMiddleware(req, res, next) { const locale = getRequestLocale(req); withGT(locale, () => next()); } ``` ```ts title="middleware/locale.js" // Combinaison avec d'autres stratégies — utiliser getRequestLocale comme contenu de secours 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()); } ```