GT ClassMethodsLocales

isSameDialect

Referencia de API del método isSameDialect de GT

Descripción general

El método isSameDialect comprueba si varios códigos BCP-47 de configuración regional 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. Todos los locales proporcionados deben representar el mismo dialecto

Devuelve

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

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 igualdad 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 de regiones - 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 si son exactamente iguales ('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 argumentos de tipo cadena: isSameDialect('en-US', 'en-GB')
  • Arreglos de cadenas: 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

// Diferentes dialectos 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

  • Usa códigos de configuración regional estandarizados para comparaciones precisas
  • Acepta formatos de entrada flexibles (strings, arrays, mixtos)

Próximos pasos

¿Qué te parece esta guía?