# gt-node: General Translation Node.js SDK: getRequestLocale
URL: https://generaltranslation.com/es/docs/node/reference/functions/get-request-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Detecta la mejor configuración regional compatible a partir de la cabecera `Accept-Language` de una solicitud con General Translation. Referencia de API para getRequestLocale.

Extrae la configuración regional preferida de la cabecera `Accept-Language` de una solicitud y la coteja con los locales que tienes configurados. Úsalo para elegir la configuración regional que se asociará con [`withGT`](/docs/node/reference/functions/with-gt).

## Descripción general [#overview]

Llama a `getRequestLocale` con un objeto de petición. Devuelve la configuración regional admitida que mejor coincida, o `defaultLocale` si no se encuentra ninguna coincidencia.

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

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

Firma:

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

*Nota: Llama a [`initializeGT`](/docs/node/reference/functions/initialize-gt) antes de usar `getRequestLocale` para que sepa qué locales son compatibles.*

## Cómo funciona [#how-it-works]

* **Análisis de la cabecera.** Analiza la cabecera `Accept-Language` de la solicitud y determina la mejor coincidencia entre tus `locales` configurados.
* **Contenido alternativo.** Cuando ninguna configuración regional compatible coincide, devuelve la `defaultLocale` configurada.
* **Independiente del framework.** Funciona con cualquier framework que exponga las cabeceras como `Record<string, string | string[] | undefined>`, incluidos Express y Fastify.

## Parámetros [#parameters]

| Parámetro             | Descripción                                                                       | Tipo                                                           | Opcional | Predeterminado |
| --------------------- | --------------------------------------------------------------------------------- | -------------------------------------------------------------- | -------- | -------------- |
| [`request`](#request) | Un objeto con una propiedad `headers` que contiene las cabeceras de la solicitud. | `{ headers: Record<string, string \| string[] \| undefined> }` | No       | —              |

### `request` [#request]

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

Un objeto con una propiedad `headers` que contiene las cabeceras de la petición. Funciona con Express, Fastify y cualquier framework que exponga las cabeceras como `Record<string, string | string[] | undefined>`.

## Returns [#returns]

**Type** `string`

El código de configuración regional BCP 47 que mejor coincida con los locales que tienes configurados, o `defaultLocale` si no se encuentra ninguna coincidencia.

## Ejemplos [#examples]

```ts title="middleware/locale.js"
// Middleware de 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"
// Combinación con otras estrategias — usar getRequestLocale como contenido alternativo
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.
