GT ClassMethodsLocales

isSameDialect

Referencia de API del método isSameDialect de GT

Descripción general

El método isSameDialect comprueba si varios códigos de configuración regional BCP-47 representan el mismo dialecto. Compara los componentes de idioma y región de los códigos de configuración regional para determinar si corresponden a la misma variedad lingüística.


Referencias

Parámetros

Prop

Type

Descripción de parámetros

ParámetroDescripción
...localesNúmero variable de códigos de configuración regional (cadenas) o matrices de códigos de configuración regional para comparar. Todas las locales proporcionadas deben representar el mismo dialecto

Devuelve

boolean - true si todos los códigos de configuración regional proporcionados representan el mismo dialecto; false en caso contrario

Excepciones

No se lanzan excepciones. Los códigos de configuración regional no válidos se gestionan correctamente y devuelven false.


Comportamiento

Lógica de comparación de dialectos

El método utiliza la siguiente lógica para determinar la equivalencia de dialectos:

  1. Normalizar locales - Estandariza todos los códigos de configuración regional de entrada
  2. Comparar códigos de idioma - Todos los locales deben compartir el mismo idioma base
  3. Gestionar la jerarquía regional - Un idioma base coincide con sus variantes regionales
  4. Coincidencia exacta de dialecto - Las variantes regionales deben coincidir exactamente

Reglas de jerarquía

  • El idioma base ('en') coincide con cualquier variante regional ('en-US', 'en-GB')
  • Las variantes regionales solo coinciden de forma exacta ('en-US''en-GB')
  • Las variantes de escritura se tienen en cuenta en la comparación cuando están presentes
  • Idiomas diferentes nunca coinciden ('en''es')

Flexibilidad de entrada

El método admite:

  • Varios parámetros de tipo string: isSameDialect('en-US', 'en-GB')
  • Arreglos de strings: isSameDialect(['en-US', 'en-GB'])
  • Formato mixto: isSameDialect('en-US', ['en-GB', 'en-CA'])
  • Un solo locale: isSameDialect('en-US') (siempre devuelve true)

Ejemplos

Comparación básica de dialectos

const gt = new GT({
  sourceLocale: 'en-US',
  targetLocale: 'es-ES'
});

// Mismos dialectos exactos
console.log(gt.isSameDialect('en-US', 'en-US')); // true
console.log(gt.isSameDialect('zh-CN', 'zh-CN')); // true

// Dialectos diferentes del mismo idioma
console.log(gt.isSameDialect('en-US', 'en-GB')); // false
console.log(gt.isSameDialect('es-ES', 'es-MX')); // false
console.log(gt.isSameDialect('pt-PT', 'pt-BR')); // false

// Idioma base con variantes regionales
console.log(gt.isSameDialect('en', 'en-US')); // true
console.log(gt.isSameDialect('es', 'es-ES')); // true
console.log(gt.isSameDialect('zh', 'zh-CN')); // true

// Idiomas diferentes
console.log(gt.isSameDialect('en-US', 'es-ES')); // false
console.log(gt.isSameDialect('fr-FR', 'de-DE')); // false

Notas

  • Utiliza códigos de configuración regional estandarizados para una comparación precisa
  • Admite formatos de entrada flexibles (cadenas, matrices, mixtos)

Próximos pasos

¿Qué te ha parecido esta guía?

isSameDialect