# General Translation Platform: determineLocale URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class-methods/locales/determine-locale.mdx --- title: determineLocale description: Encuentra la configuración regional que mejor se ajusta de una lista de configuraciones regionales aprobadas. Referencia de la API de determineLocale. --- Determina la configuración regional que mejor se ajusta de una lista de configuraciones regionales aprobadas según las preferencias del usuario, en una instancia de [GT](/docs/platform/core/reference/gt-class/constructor). General Translation implementa la negociación de configuración regional para encontrar la configuración regional más adecuada cuando no hay una coincidencia exacta. ## Resumen [#overview] Llama a `determineLocale` en una instancia de [`GT`](/docs/platform/core/reference/gt-class/constructor) con una o más configuraciones regionales preferidas, en orden de preferencia. Devuelve la configuración regional aprobada que mejor coincida, o `undefined` si no hay ninguna coincidencia. ```typescript const gt = new GT({ sourceLocale: 'en-US', locales: ['en-US', 'es-ES', 'fr-FR', 'de-DE'], }); // Coincidencia exacta console.log(gt.determineLocale('en-US')); // 'en-US' // Alternativa por idioma console.log(gt.determineLocale('en-GB')); // 'en-US' (variante de inglés más cercana) // Múltiples preferencias (gana el orden de preferencia) console.log(gt.determineLocale(['fr-CA', 'es-MX', 'en-US'])); // 'fr-FR' (más cercana a la primera preferencia) // Sin coincidencia console.log(gt.determineLocale('it-IT')); // undefined ``` Firma: ```typescript determineLocale( locales: string | string[], approvedLocales?: string[], customMapping?: CustomMapping ): string | undefined ``` *Nota: `determineLocale` se ejecuta localmente y no requiere una clave de API. Cuando se omiten `approvedLocales` y `customMapping`, usa `locales` y `customMapping` de la instancia. Para realizar la coincidencia sin una instancia de `GT`, consulta la versión independiente de [`determineLocale`](/docs/platform/core/reference/utility-functions/locales/determine-locale).* ## Cómo funciona [#how-it-works] * **Primero, coincidencia exacta.** Devuelve la primera coincidencia exacta entre las configuraciones regionales aprobadas. * **Alternativa por idioma.** Cuando no hay una región exacta disponible, recurre a coincidencias por idioma. * **Orden de preferencia.** Respeta el orden de la lista de entrada, por lo que se elige una coincidencia por idioma con mayor preferencia antes que una coincidencia exacta con menor preferencia. * **Sin coincidencia.** Devuelve `undefined` cuando no se encuentra ninguna coincidencia adecuada. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | -------------------------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -------- | -------------------- | | [`locales`](#locales) | Una sola configuración regional o una lista de configuraciones regionales en orden de preferencia. | `string \| string[]` | No | — | | [`approvedLocales`](#approved-locales) | Lista de configuraciones regionales aprobadas en orden de preferencia. | `string[]` | Sí | `this.locales` | | [`customMapping`](#custom-mapping) | Mapeo personalizado de configuraciones regionales para la resolución. | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Sí | `this.customMapping` | ### `locales` [#locales] **Tipo** `string | string[]` · **Obligatorio** Una configuración regional o una lista de configuraciones regionales por orden de preferencia (por ejemplo, una lista `Accept-Language` del navegador). ### `approvedLocales` [#approved-locales] **Tipo** `string[]` · **Opcional** · **Predeterminado** `this.locales` Lista de configuraciones regionales aprobadas en orden de preferencia. Si se omite, se usan las `locales` de la instancia. ### `customMapping` [#custom-mapping] **Tipo** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Opcional** · **Predeterminado** `this.customMapping` Mapeo personalizado de configuración regional que se utiliza durante la resolución. Si se omite, se usa el `customMapping` de la instancia. ## Devuelve [#returns] **Tipo** `string | undefined` La configuración regional que mejor coincide, o `undefined` si no se encuentra ninguna. ## Ejemplos [#examples] ```typescript // Negociación de configuración regional del usuario const gt = new GT({ sourceLocale: 'en-US', locales: ['en-US', 'en-GB', 'es-ES', 'fr-FR'], }); // Simular una cabecera Accept-Language del navegador const userPreferences = ['fr-CA', 'en-GB', 'en']; const bestMatch = gt.determineLocale(userPreferences); console.log(bestMatch); // 'fr-FR' según el orden de preferencia ``` ## Notas [#notes] * Devuelve la primera coincidencia exacta entre las configuraciones regionales aprobadas. * Si la región exacta no está disponible, recurre a coincidencias por idioma. * Respeta el orden de preferencia de la lista de entrada. * Devuelve `undefined` si no se encuentra ninguna coincidencia adecuada. * Es esencial para implementar la negociación de configuración regional en aplicaciones web.