2.6 KiB
2.6 KiB
🚀 Quick Start - Internationalisation Personotes
⚡ Mise en route rapide
1. Build du frontend
cd frontend
npm install
npm run build
2. Démarrer le serveur
go run ./cmd/server
3. Tester dans le navigateur
- Ouvrir http://localhost:8080
- Cliquer sur l'icône ⚙️ (Settings)
- Aller dans l'onglet "Autre"
- Sélectionner 🇬🇧 English ou 🇫🇷 Français
- L'interface se recharge automatiquement
✅ Système d'i18n installé
- 200+ traductions : EN ✅ | FR ✅
- Détection automatique de la langue du navigateur
- Persistance du choix utilisateur
- API :
/api/i18n/enet/api/i18n/fr - UI : Sélecteur dans Settings > Autre
📁 Fichiers ajoutés
locales/
├── en.json ← Traductions anglaises
├── fr.json ← Traductions françaises
└── README.md ← Guide contributeurs
internal/i18n/
├── i18n.go ← Package i18n
└── i18n_test.go ← Tests
frontend/src/
├── i18n.js ← Module i18n client
└── language-manager.js ← Gestionnaire UI
📝 Utilisation
JavaScript (Frontend)
import { t } from './i18n.js';
// Simple
alert(t('fileTree.enterNoteName'));
// Avec variables
alert(t('editor.confirmDelete', { filename: 'test.md' }));
Go (Backend)
// Dans un handler
h.t(r, "errors.methodNotAllowed")
// Avec variables
h.t(r, "editor.confirmDelete", map[string]string{
"filename": "test.md",
})
HTML (Templates - optionnel)
<!-- Attribut data-i18n pour traduction automatique -->
<button data-i18n="editor.save">Sauvegarder</button>
🌍 Ajouter une langue
- Créer
locales/de.json(exemple) - Copier la structure de
en.json - Traduire les valeurs
- Ajouter dans Settings (templates/index.html)
- Redémarrer le serveur
📚 Documentation complète
Voir I18N_IMPLEMENTATION.md pour les détails complets.
⚠️ Notes importantes
- ✅ Le code existant n'est pas cassé
- ✅ Les notes utilisateur ne sont pas affectées
- ✅ Le système est rétro-compatible
- ⏳ Les templates HTML gardent leur texte français pour l'instant
- ⏳ Les messages d'erreur backend restent en français (logs uniquement)
🎯 Prochaines étapes (optionnel)
- Migrer les templates HTML vers i18n
- Migrer les alert() JavaScript
- Migrer les messages d'erreur backend
- Ajouter d'autres langues (ES, DE, IT, etc.)
Status actuel : ✅ Infrastructure complète et fonctionnelle
Impact : ✅ Zéro breaking change
Prêt à utiliser : ✅ Oui, après npm run build