GT ClassMethodsLocales

isSameDialect

Référence de l’API de la méthode GT isSameDialect

Vue d’ensemble

La méthode isSameDialect vérifie si plusieurs codes de locale BCP-47 représentent le même dialecte. Elle compare les composantes langue et région des codes de locale pour déterminer s’ils désignent la même variété linguistique.


Références

Paramètres

Prop

Type

Description des paramètres

ParamètreDescription
...localesNombre variable de codes de locale (chaînes) ou de tableaux de codes de locale à comparer. Toutes les locales fournies doivent correspondre au même dialecte

Renvoie

boolean - true si tous les codes de locale fournis correspondent au même dialecte, false sinon

Exceptions

Aucune exception n’est levée. Les codes de locale invalides sont gérés correctement et renvoient false.


Comportement

Logique de comparaison des dialectes

La méthode suit la logique suivante pour déterminer l’égalité des dialectes :

  1. Normaliser les locales - Standardiser tous les codes de locale en entrée
  2. Comparer les codes de langue - Toutes les locales doivent partager la même langue de base
  3. Gérer la hiérarchie des régions - Une langue de base correspond à ses variantes régionales
  4. Correspondance exacte du dialecte - Les variantes régionales doivent correspondre exactement

Règles de hiérarchie

  • La langue de base ('en') correspond à toute variante régionale ('en-US', 'en-GB')
  • Les variantes régionales ne correspondent qu’en cas d’égalité stricte ('en-US''en-GB')
  • Les variantes d’écriture sont prises en compte dans la comparaison lorsqu’elles sont présentes
  • Des langues différentes ne correspondent jamais ('en''es')

Flexibilité des entrées

La méthode accepte :

  • Plusieurs paramètres de type chaîne : isSameDialect('en-US', 'en-GB')
  • Des tableaux de chaînes : isSameDialect(['en-US', 'en-GB'])
  • Un format mixte : isSameDialect('en-US', ['en-GB', 'en-CA'])
  • Une seule locale : isSameDialect('en-US') (retourne toujours true)

Exemples

Comparaison de base des dialectes

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

// Dialectes exactement identiques
console.log(gt.isSameDialect('en-US', 'en-US')); // true
console.log(gt.isSameDialect('zh-CN', 'zh-CN')); // true

// Dialectes différents de la même langue
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

// Langue de base avec variantes régionales
console.log(gt.isSameDialect('en', 'en-US')); // true
console.log(gt.isSameDialect('es', 'es-ES')); // true
console.log(gt.isSameDialect('zh', 'zh-CN')); // true

// Langues différentes
console.log(gt.isSameDialect('en-US', 'es-ES')); // false
console.log(gt.isSameDialect('fr-FR', 'de-DE')); // false

Notes

  • Utilise des codes de locale standardisés pour une comparaison précise
  • Accepte des formats d’entrée flexibles (chaînes, tableaux, ou mixtes)

Prochaines étapes

Que pensez-vous de ce guide ?

isSameDialect