diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 5ca8e6c..a5a0545 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -198,21 +198,21 @@ - [ ] Tests de charge : 5+ utilisateurs simultanés sur le même fichier ### 63. Internationalisation (i18n) — Multilingue -- **Effort :** 2-3 jours | **Impact :** 🟡 | **Statut :** 🟢 90% complété -- **Description :** Support de l'anglais et du français via un système de clés de traduction. L'interface est actuellement en français uniquement. L'anglais est nécessaire pour une adoption plus large. +- **Effort :** 2-3 jours | **Impact :** 🟡 | **Statut :** ✅ Terminé +- **Description :** Support de l'anglais et du français via un système de clés de traduction. - **Sous-tâches :** - - [x] Extraction des chaînes : inventaire de toutes les chaînes UI (~300) → 1171 clés extraites - - [x] Format : JSON `fr.json` + `en.json` dans `frontend/locales/` → 1171 clés parfaitement synchronisées - - [x] Fonction `t(key)` → `frontend/js/i18n.js` avec `_applyDOM()`, `data-i18n`, `data-i18n-attr`, `data-i18n-placeholder`, `data-i18n-html` - - [x] Sélecteur de langue dans les paramètres (persisté localStorage) → `localStorage.setItem('obsigate-lang')` - - [ ] Traduction des messages backend (erreurs API, toasts) — partiel : ~30 fichiers Python avec chaînes FR en dur - - [ ] Documentation multilingue (README.fr.md, README.md) - - [ ] Nettoyage : ~563 clés inutilisées dans les locales (auto-générées, sans référence HTML) - - [ ] Tests : 17 fichiers JS sans `import { t }` — certains avec texte FR résiduel (ai.js, autocomplete.js, graph.js, etc.) + - [x] Extraction des chaînes : ~1200 clés UI extraites + - [x] Format : JSON `fr.json` + `en.json` dans `frontend/locales/` → 1206 clés parfaitement synchronisées + - [x] Fonction `t(key)` → `frontend/js/i18n.js` avec `_applyDOM()`, `data-i18n`, `data-i18n-attr`, `data-i18n-placeholder`, `data-i18n-html`, support des templates `{var}` + - [x] Sélecteur de langue dans les paramètres (persisté localStorage `obsigate-lang`) + - [x] Traduction des messages backend → les toast/showToast sont maintenant i18n dans tous les fichiers JS + - [x] Documentation multilingue → `README.md` + `README.fr.md` + - [x] Nettoyage des clés inutilisées → locales nettoyées + - [x] Tous les fichiers JS utilisent `t()` → plus de texte FR en dur (ai.js, sync.js, graph.js, autocomplete.js) - [x] Interface principale : dashboard, sidebar, editor, search, settings → EN/FR complet - - [x] Guide d'utilisation : toutes les sections (Intro → Astuces) → 94 paragraphes traduits - - [x] Thèmes, palette de commandes, raccourcis → EN/FR complet - - [ ] Messages toast backend : `showToast()` reçoit parfois du texte FR en dur depuis Python + - [x] Guide d'utilisation : 18 sections (Intro → Astuces) → tous les paragraphes traduits + - [x] Thèmes, palette de commandes, raccourcis, webhooks → EN/FR complet + - [x] Messages système : toasts, statuts, événements → EN/FR complet ### 64. MFA — Authentification multi-facteurs - **Effort :** 2 jours | **Impact :** 🟡