# General Translation Platform: requiresTranslation
URL: https://generaltranslation.com/es/docs/platform/core/reference/utility-functions/locales/requires-translation.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Comprueba si se necesita traducción entre dos configuraciones regionales sin una instancia de GT. Referencia de la API de requiresTranslation.

[`requiresTranslation`](/docs/platform/core/reference/gt-class-methods/locales/requires-translation) es una función utilitaria independiente de la biblioteca Core de General Translation que determina si hace falta traducción entre una configuración regional de origen y otra de destino.

## Descripción general [#overview]

Importa `requiresTranslation` directamente desde `generaltranslation` y llámalo con la configuración regional de origen y la de destino. No requiere una API key ni una instancia de [GT](/docs/platform/core/reference/gt-class/constructor). Para el equivalente basado en instancias, usa en su lugar el método [`requiresTranslation`](/docs/platform/core/reference/gt-class-methods/locales/requires-translation) de una instancia de [`GT`](/docs/platform/core/reference/gt-class/constructor).

```typescript
import { requiresTranslation } from 'generaltranslation';

console.log(requiresTranslation('en-US', 'es-ES')); // true
console.log(requiresTranslation('en-US', 'en')); // false (mismo dialecto)
```

Firma:

```typescript
requiresTranslation(
  sourceLocale: string,
  targetLocale: string,
  approvedLocales?: string[],
  customMapping?: CustomMapping
): boolean
```

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

La resolución de traducciones sigue estas reglas:

* Si la configuración regional de origen, la de destino o cualquiera de las aprobadas no es válida, devuelve `false`.
* Si la configuración regional de origen y la de destino son la misma, devuelve `false`.
* Si se proporciona `approvedLocales` y no contiene el idioma de destino, devuelve `false`.
* En caso contrario, devuelve `true`.

Las configuraciones regionales se comparan teniendo en cuenta los dialectos: solo las configuraciones regionales que corresponden al mismo dialecto omiten la traducción. `en-US` → `en` (mismo dialecto) no requiere traducción, pero `en-US` → `en-GB` sí, porque sus regiones son distintas. Cualquier [`customMapping`](/docs/platform/core/reference/types/custom-mapping) se aplica durante la comparación.

## Parámetros [#parameters]

| Parámetro                              | Descripción                                                        | Tipo                                                                  | Opcional | Predeterminado |
| -------------------------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------- | -------- | -------------- |
| [`sourceLocale`](#source-locale)       | La configuración regional del contenido original.                  | `string`                                                              | No       | —              |
| [`targetLocale`](#target-locale)       | La configuración regional a la que se traducirá el contenido.      | `string`                                                              | No       | —              |
| [`approvedLocales`](#approved-locales) | Lista opcional de configuraciones regionales de destino aprobadas. | `string[]`                                                            | Sí       | —              |
| [`customMapping`](#custom-mapping)     | Mapeo personalizado que se aplica durante la comparación.          | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Sí       | —              |

### `sourceLocale` [#source-locale]

**Tipo** `string` · **Obligatorio**

El código BCP-47 de configuración regional del contenido original.

### `targetLocale` [#target-locale]

**Tipo** `string` · **Obligatorio**

El código de configuración regional BCP-47 al que se traducirá el contenido.

### `approvedLocales` [#approved-locales]

**Tipo** `string[]` · **Opcional**

Una lista opcional de configuraciones regionales de destino aprobadas. La coincidencia se basa en el idioma, no en el dialecto exacto. Si se proporciona, cualquier configuración regional de destino cuyo idioma no esté representado en la lista devuelve `false`.

### `customMapping` [#custom-mapping]

**Tipo** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Opcional**

Un mapeo personalizado que se aplica durante la comparación de configuraciones regionales.

## Devuelve [#returns]

**Tipo** `boolean`

`true` si se requiere traducción; `false`, en caso contrario.

## Ejemplos [#examples]

```typescript
import { requiresTranslation } from 'generaltranslation';

// Los distintos idiomas requieren traducción
console.log(requiresTranslation('en-US', 'es-ES')); // true
console.log(requiresTranslation('en-US', 'fr-FR')); // true

// El mismo dialecto no requiere traducción
console.log(requiresTranslation('en-US', 'en-US')); // false
console.log(requiresTranslation('en-US', 'en')); // false (mismo dialecto)

// Los distintos dialectos del mismo idioma sí requieren traducción
console.log(requiresTranslation('en-US', 'en-GB')); // true (las regiones difieren)

// Con un filtro de configuraciones regionales aprobadas
const approved = ['en-US', 'es-ES', 'fr-FR'];
console.log(requiresTranslation('en-US', 'it-IT', approved)); // false (no aprobado)
console.log(requiresTranslation('en-US', 'es-ES', approved)); // true (aprobado y diferente)
console.log(requiresTranslation('en-US', 'es-MX', approved)); // true (el español está aprobado)
```

## Notas [#notes]

* Respeta las restricciones de configuración regional aprobadas.
* Compara las configuraciones regionales aprobadas por idioma, no por dialecto exacto.
* Devuelve `false` cuando el idioma de destino no está representado en la lista de aprobados.
* Tiene en cuenta los mapeos personalizados de configuración regional.

## Sitemap

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