# General Translation Platform: requiresTranslation URL: https://generaltranslation.com/es/docs/platform/core/reference/utility-functions/locales/requires-translation.mdx --- title: requiresTranslation 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 no se especifica ninguna configuración regional de destino, devuelve `false` (no se necesita traducción). * Si la configuración regional de origen y la de destino son la misma, devuelve `false`. * Si se proporciona `approvedLocales` y la configuración regional de destino no está en esa lista, 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. Si se proporciona, cualquier configuración regional de destino que no esté 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 locales aprobados 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) ``` ## Notas [#notes] * Respeta las restricciones de configuración regional aprobadas. * Devuelve `false` cuando el destino no figura en la lista de aprobados. * Tiene en cuenta los mapeos personalizados de configuración regional.