# gt-node: General Translation Node.js SDK: getRequestLocale
URL: https://generaltranslation.com/fr/docs/node/reference/functions/get-request-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
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, string | string[] | undefined> }): 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<string, string | string[] | undefined>`, 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<string, string \| string[] \| undefined> }` | Non        | —          |

### `request` [#request]

**Type** `{ headers: Record<string, string | string[] | undefined> }` · **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<string, string | string[] | undefined>`.

## 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());
}
```

## Sitemap

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