# gt-node: General Translation Node.js SDK: getRequestLocale
URL: https://generaltranslation.com/it/docs/node/reference/functions/get-request-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Rileva la migliore impostazione regionale supportata dall'header Accept-Language di una richiesta con General Translation. Riferimento API per getRequestLocale.

Estrae l&#39;impostazione regionale preferita dall&#39;header `Accept-Language` di una richiesta e la confronta con le `locales` configurate. Usalo per scegliere l&#39;impostazione regionale da usare con [`withGT`](/docs/node/reference/functions/with-gt).

## Panoramica [#overview]

Chiama `getRequestLocale` con un oggetto request. Restituisce l&#39;impostazione regionale supportata più adatta oppure `defaultLocale` se non trova alcuna corrispondenza.

```ts
import { getRequestLocale } from 'gt-node';

const locale = getRequestLocale(req); // 'fr'
```

Firma:

```ts
getRequestLocale(request: { headers: Record<string, string | string[] | undefined> }): string
```

*Nota: chiama [`initializeGT`](/docs/node/reference/functions/initialize-gt) prima di usare `getRequestLocale`, in modo che sappia quali impostazioni regionali sono supportate.*

## Come funziona [#how-it-works]

* **Analisi dell&#39;header.** Analizza l&#39;header `Accept-Language` della richiesta e determina la migliore corrispondenza tra le `locales` configurate.
* **Fallback.** Quando nessuna impostazione regionale supportata corrisponde, restituisce il `defaultLocale` configurato.
* **Indipendente dal framework.** Funziona con qualsiasi framework che espone gli header come `Record<string, string | string[] | undefined>`, inclusi Express e Fastify.

## Parametri [#parameters]

| Parametro             | Descrizione                                                                   | Tipo                                                           | Facoltativo | Predefinito |
| --------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------- | ----------- | ----------- |
| [`request`](#request) | Un oggetto con una proprietà `headers` contenente gli header della richiesta. | `{ headers: Record<string, string \| string[] \| undefined> }` | No          | —           |

### `request` [#request]

**Tipo** `{ headers: Record<string, string | string[] | undefined> }` · **Obbligatorio**

Un oggetto con una proprietà `headers` che contiene gli header della richiesta. Funziona con Express, Fastify e qualsiasi framework che espone gli header come `Record<string, string | string[] | undefined>`.

## Restituisce [#returns]

**Tipo** `stringa`

Il codice locale BCP 47 che corrisponde meglio tra quelli configurati, oppure `defaultLocale` se non viene trovata alcuna corrispondenza.

## Esempi [#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"
// Combinazione con altre strategie — usa getRequestLocale come fallback
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.
