Skip to content

🌍 Système de Multilinguisme

L'application est conçue pour être entièrement multilingue, permettant à l'utilisateur de choisir sa langue préférée depuis l'interface. Le système gère à la fois les contenus dynamiques provenant du CMS et les textes statiques intégrés à l'application.


📖 Concept Global

Le multilinguisme repose sur trois piliers :

  1. Langue Active (activeLocale) : La langue choisie par l'utilisateur (ou détectée automatiquement), stockée dans les préférences.
  2. Traductions CMS : Données récupérées depuis Directus via des champs translations.
  3. Traductions Statiques : Libellés de l'interface (boutons, titres système) définis directement dans le code source.

Cascade de Fallback

Pour garantir qu'un texte est toujours affiché, le système applique une cascade de repli (fallback) :

  1. Langue demandée (ex: fr-FR).
  2. Langue de secours (fallbackLocale, généralement en-US).
  3. Première traduction disponible (pour le CMS).
  4. Clé technique ou champ vide (en dernier recours).

🛠️ Architecture Technique

Détection et Stockage

La langue est gérée par le store activeLocale (src/lib/stores/preferences.ts).

  • Priorité 1 : Paramètre URL ?lang=.
  • Priorité 2 : Langue stockée localement (si déjà choisie).
  • Priorité 3 : Langue du navigateur (navigator.language).
  • Défaut : fr-FR.

Direction de Lecture (RTL/LTR)

Le système supporte les langues s'écrivant de droite à gauche (ex: Arabe). La direction est automatiquement mise à jour sur l'élément racine du DOM en fonction de la locale active.


🧭 Sommaire de la section

GuideDescription
Traductions CMSComment les contenus Directus sont localisés et résolus.
Traductions StatiquesGestion des libellés intégrés au code source (STATIC_LABELS).
Détails d'ImplémentationHelpers techniques, stores et cascades de fallback.
DépannageProblèmes courants de détection ou d'affichage.

Retour à l'accueil