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ámetro | Descripción |
|---|---|
...locales | Nú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:
- Normalizar locales - Estandariza todos los códigos de configuración regional de entrada
- Comparar códigos de idioma - Todos los locales deben compartir el mismo idioma base
- Gestionar la jerarquía de regiones - Un idioma base coincide con sus variantes regionales
- 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 devuelvetrue)
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')); // falseNotas
- Usa códigos de configuración regional estandarizados para comparaciones precisas
- Acepta formatos de entrada flexibles (strings, arrays, mixtos)
Próximos pasos
- Compara idiomas con
isSameLanguage - Revisa la jerarquía de locales con
isSupersetLocale - Valida locales con
isValidLocale
¿Qué te parece esta guía?