# General Translation Platform: determineLocale URL: https://generaltranslation.com/es/docs/platform/core/reference/utility-functions/locales/determine-locale.mdx --- title: determineLocale description: Encuentra la configuración regional con la mejor coincidencia sin una instancia de GT. Referencia de la API de determineLocale. --- [`determineLocale`](/docs/platform/core/reference/gt-class-methods/locales/determine-locale) es una función utilitaria independiente de la biblioteca Core de General Translation que encuentra la configuración regional con la mejor coincidencia dentro de una lista de configuraciones regionales aprobadas, según las preferencias del usuario. Hace posible la negociación de contenido sin necesidad de una instancia de GT. ## Descripción general [#overview] Importa `determineLocale` directamente desde `generaltranslation` y llámalo con la configuración regional preferida del usuario (o sus configuraciones regionales preferidas) y la lista de configuraciones regionales aprobadas. No requiere una clave API ni una instancia de [GT](/docs/platform/core/reference/gt-class/constructor). Para el equivalente basado en instancia, que usa de forma predeterminada las configuraciones regionales configuradas en la instancia para `approvedLocales`, utiliza en su lugar el método [`determineLocale`](/docs/platform/core/reference/gt-class-methods/locales/determine-locale) de una instancia de [`GT`](/docs/platform/core/reference/gt-class/constructor). ```typescript import { determineLocale } from 'generaltranslation'; const approvedLocales = ['en-US', 'es-ES', 'fr-FR', 'de-DE']; const best = determineLocale(['fr-CA', 'es-MX'], approvedLocales); // Devuelve: "fr-FR" ``` Firma: ```typescript determineLocale( locales: string | string[], approvedLocales?: string[], customMapping?: CustomMapping ): string | undefined ``` ## Cómo funciona [#how-it-works] * **Orden de preferencia.** `locales` puede ser una sola configuración regional o una lista ordenada por preferencia. Cada opción se compara, por turnos, con la lista de configuraciones regionales aprobadas. * **Coincidencia.** Prioriza las coincidencias exactas y, si no encuentra ninguna, recurre a otro dialecto del mismo idioma base. Por ejemplo, una preferencia de `fr-CA` coincide con la configuración regional aprobada `fr-FR` antes de pasar a la siguiente opción. * **Sin coincidencia.** Devuelve `undefined` cuando ninguna preferencia coincide con las configuraciones regionales aprobadas. * **Mapeo personalizado.** Cualquier [`customMapping`](/docs/platform/core/reference/types/custom-mapping) se aplica al validar y estandarizar las configuraciones regionales. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | -------------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------- | -------- | -------------- | | [`locales`](#locales) | Una sola configuración regional o una lista de configuraciones regionales ordenada por preferencia. | `string \| string[]` | No | — | | [`approvedLocales`](#approved-locales) | Configuraciones regionales aprobadas, también ordenadas por preferencia. | `string[]` | Sí | `[]` | | [`customMapping`](#custom-mapping) | Mapeo personalizado de configuraciones regionales que se aplicará durante la coincidencia. | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Sí | — | ### `locales` [#locales] **Tipo** `string | string[]` · **Obligatorio** Una sola configuración regional o una lista de configuraciones regionales, ordenadas por preferencia (la preferida primero). ### `approvedLocales` [#approved-locales] **Tipo** `string[]` · **Opcional** · **Predeterminado** `[]` La lista de configuraciones regionales aprobadas con las que se comparará, también ordenada por preferencia. ### `customMapping` [#custom-mapping] **Tipo** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Opcional** Un mapeo personalizado aplicado al validar y estandarizar las configuraciones regionales antes de realizar la coincidencia. ## Devuelve [#returns] **Tipo** `string | undefined` La configuración regional que mejor coincide con `approvedLocales`, o `undefined` si no se encuentra ninguna coincidencia. ## Ejemplos [#examples] ```typescript import { determineLocale } from 'generaltranslation'; const approvedLocales = ['en-US', 'es-ES', 'fr-FR', 'de-DE']; // Coincidencia exacta console.log(determineLocale('en-US', approvedLocales)); // 'en-US' // Idioma de respaldo (en-GB → en-US) console.log(determineLocale('en-GB', approvedLocales)); // 'en-US' // Múltiples preferencias (fr-CA coincide con fr-FR antes de considerar es-MX) console.log(determineLocale(['fr-CA', 'es-MX'], approvedLocales)); // 'fr-FR' // Sin coincidencia console.log(determineLocale('it-IT', approvedLocales)); // undefined ``` ## Notas [#notes] * Implementa una negociación inteligente de la configuración regional: primero busca coincidencias exactas y luego dialectos del mismo idioma. * Respeta el orden de preferencia de la lista de entrada. * Devuelve `undefined` cuando no encuentra ninguna coincidencia. * Esencial para la negociación de la configuración regional en aplicaciones web.