Langue admin et mode sombre
L'interface admin est disponible en 7 langues (anglais, français, allemand, espagnol, néerlandais, portugais, coréen) et en mode sombre / clair. Les deux choix sont par utilisateur, persistés, et
L'interface admin est disponible en 7 langues (anglais, français, allemand, espagnol, néerlandais, portugais, coréen) et en mode sombre / clair. Les deux choix sont par utilisateur, persistés, et indépendants :
- De la langue de votre site public — c'est un réglage séparé (Réglages → Général → Langue du site). La langue du site public est unique par site. Pour publier en plusieurs langues, voir le plugin flexweg-multilang.
- Des choix des autres personnes — chaque éditeur choisit sa propre langue d'interface et son mode sombre.
Choisir votre langue
Le commutateur de langue 🌐 en haut à droite de l'admin affiche la langue actuelle. Cliquez dessus pour ouvrir un menu déroulant des 7 langues supportées, puis cliquez sur celle que vous voulez.
En coulisse :
- L'admin appelle
setActiveLocale(<code>)qui met à jour la langue active i18next → tous les appelst("…")se ré-résolvent → l'UI se re-rend dans la nouvelle langue - Le backend est mis à jour :
users/{uid}.preferences.adminLocale = "<code>"(Firestore ou SQLite) — ainsi le choix vous suit entre appareils - localStorage est mis à jour aussi — pour qu'au rechargement sur le même appareil, vous ne voyiez pas un flash de la mauvaise langue en attendant que la souscription backend délivre la valeur
Le changement est immédiat. Pas de rechargement nécessaire.
Défaut et fallback
À votre première connexion, l'admin choisit la langue dans cet ordre :
users/{uid}.preferences.adminLocaledepuis le backend (si vous avez déjà fait un choix)localStorage.adminLocale(choix local récent)- Préfixe deux lettres de
navigator.language(ex. navigateur enfr-CA→fr) "en"comme dernier fallback
Si une clé de traduction manque dans votre langue choisie, i18next retombe sur l'anglais pour cette clé. L'admin ne casse jamais si le bundle d'une langue est incomplet — vous voyez juste la chaîne anglaise pour la pièce manquante.
Couverture des langues
Les 7 langues couvrent l'admin SPA + les plugins intégrés. Les plugins externes (uploadés en ZIP) déclarent leur propre bundle i18n via PluginManifest.i18n — si un plugin externe ne fournit pas de traduction pour votre langue, ses chaînes apparaissent en anglais.
Mode sombre
Le toggle ☀️/🌙 en bas de la sidebar bascule entre clair et sombre. Persisté par utilisateur dans le backend + localStorage (même pattern que la langue, pour éviter le flash).
Anti-FOUC : index.html contient un petit script inline qui lit localStorage.theme AVANT que le bundle React ne se charge, et applique la classe dark au <html> immédiatement. Donc même un démarrage à froid s'affiche dans le mode sombre choisi sans flash.
Système
Le toggle propose trois états : light, dark, system. En mode system, l'admin écoute prefers-color-scheme du navigateur et bascule automatiquement quand l'OS change de thème (par exemple le matin).