GT ClassMethodsLocales

isSameDialect

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

Vue d’ensemble

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


Référence

Paramètres

Prop

Type

Description des paramètres

ParamètreDescription
...localesNombre variable de codes de locales (chaînes de caractères) ou de tableaux de codes de locales à 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 proprement 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 avoir 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 des dialectes - 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é exacte ('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')

Souplesse des entrées

La méthode accepte :

  • Plusieurs chaînes : 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 locale unique : isSameDialect('en-US') (renvoie toujours true)

Exemples

Comparaison des dialectes de base

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

// Dialectes strictement 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 des comparaisons précises
  • Accepte des formats d’entrée flexibles (chaînes, tableaux, mixtes)

Prochaines étapes

Comment trouvez-vous ce guide ?