docs: update roadmap point #63 i18n with current status
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s

- Marked completed: locale files, t() function, language selector, UI, help guide
- Marked remaining: backend messages, docs i18n, unused keys cleanup, JS files audit
- Estimated completion: 90%
This commit is contained in:
2026-06-19 10:18:37 -04:00
parent 72f55fe6ce
commit 0bd2c12c13
+12 -6
View File
@@ -198,15 +198,21 @@
- [ ] Tests de charge : 5+ utilisateurs simultanés sur le même fichier
### 63. Internationalisation (i18n) — Multilingue
- **Effort :** 2-3 jours | **Impact :** 🟡
- **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.
- **Sous-tâches :**
- [ ] Extraction des chaînes : inventaire de toutes les chaînes UI (~300)
- [ ] Format : JSON `fr.json` + `en.json` dans `frontend/locales/`
- [ ] Fonction `t(key, fallback)` → détection `navigator.language`
- [ ] Sélecteur de langue dans les paramètres (persisté localStorage)
- [ ] Traduction des messages backend (erreurs API, toasts)
- [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] 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
### 64. MFA — Authentification multi-facteurs
- **Effort :** 2 jours | **Impact :** 🟡