Utility FunctionsLocales

getLocaleDirection

Référence de l’API pour la fonction getLocaleDirection

Aperçu

La fonction getLocaleDirection détermine le sens d’écriture (de gauche à droite ou de droite à gauche) pour un locale, sans nécessiter d’instance de la GT class. Elle utilise l’API Intl.Locale pour fournir une détection précise du sens pour tout code de locale BCP‑47 valide.

Cette fonction sert le plus souvent à définir l’attribut dir d’un élément HTML en fonction du locale.

import { getLocaleDirection } from 'generaltranslation';

const direction = getLocaleDirection('ar-SA');
console.log(direction); // « rtl »

const englishDirection = getLocaleDirection('en-US');
console.log(englishDirection); // « ltr »

Références

Paramètres

Prop

Type

Description des paramètres

ParamètreDescription
localecode de locale BCP‑47 permettant de déterminer le sens d’écriture

Renvoie

'ltr' | 'rtl' - Sens d’écriture pour la locale :

  • 'ltr' : de gauche à droite (la plupart des langues, dont l’anglais, l’espagnol, le français, l’allemand, le chinois, le japonais, etc.)
  • 'rtl' : de droite à gauche (arabe, hébreu, persan, ourdou et autres langues sémitiques / du Moyen-Orient)

Comportement

Algorithme de détection de la direction

La fonction utilise la propriété textInfo.direction de l’API Intl.Locale :

  1. Crée un objet Intl.Locale pour la locale fournie
  2. Accède à la propriété textInfo.direction pour déterminer la direction propre à la langue
  3. Retourne 'rtl' pour les langues s’écrivant de droite à gauche, 'ltr' pour toutes les autres
  4. Utilise 'ltr' par défaut si la locale est invalide ou provoque une Error

Détection des langues RTL

Détecte automatiquement les langues RTL, notamment :

  • Arabe (ar, ar-SA, ar-EG, ar-AE, etc.)
  • Hébreu (he, he-IL)
  • Persan/Farsi (fa, fa-IR)
  • Ourdou (ur, ur-PK, ur-IN)
  • Pachto (ps)
  • Sindhi (sd)
  • Kurde sorani (ckb)
  • Et d’autres systèmes d’écriture RTL

Gestion des erreurs

  • Les codes de locale invalides ou mal formés basculent par défaut sur 'ltr'
  • Aucune exception n’est levée en cas d’entrée invalide
  • Comportement de secours robuste pour les cas limites

Exemples

Détection de base de la direction

import { getLocaleDirection } from 'generaltranslation';

// Langues écrites de gauche à droite
console.log(getLocaleDirection('en-US')); // "ltr"
console.log(getLocaleDirection('es-ES')); // "ltr"
console.log(getLocaleDirection('fr-FR')); // "ltr"
console.log(getLocaleDirection('ja-JP')); // "ltr"
console.log(getLocaleDirection('zh-CN')); // "ltr"

// Langues écrites de droite à gauche
console.log(getLocaleDirection('ar-SA')); // "rtl"
console.log(getLocaleDirection('he-IL')); // "rtl"
console.log(getLocaleDirection('fa-IR')); // "rtl"
console.log(getLocaleDirection('ur-PK')); // "rtl"

Notes

  • Renvoie 'ltr' pour toutes les langues écrites de gauche à droite (la plupart des langues dans le monde)
  • Renvoie 'rtl' pour les langues écrites de droite à gauche (arabe, hébreu, persan, etc.)
  • Utilise l’API moderne Intl.Locale pour une détection précise
  • Fonctionne avec tous les codes de locale BCP-47

Prochaines étapes

Que pensez-vous de ce guide ?

getLocaleDirection