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ètre | Description |
|---|---|
...locales | Nombre 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 :
- Normaliser les locales - Standardiser tous les codes de locale en entrée
- Comparer les codes de langue - Toutes les locales doivent avoir la même langue de base
- Gérer la hiérarchie des régions - Une langue de base correspond à ses variantes régionales
- 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 toujourstrue)
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')); // falseNotes
- 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
- Comparez les langues avec
isSameLanguage - Vérifiez la hiérarchie des locales avec
isSupersetLocale - Validez les locales avec
isValidLocale
Comment trouvez-vous ce guide ?