111 lines
2.6 KiB
Markdown
111 lines
2.6 KiB
Markdown
# 🚀 Quick Start - Internationalisation Personotes
|
|
|
|
## ⚡ Mise en route rapide
|
|
|
|
### 1. Build du frontend
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
### 2. Démarrer le serveur
|
|
```bash
|
|
go run ./cmd/server
|
|
```
|
|
|
|
### 3. Tester dans le navigateur
|
|
1. Ouvrir http://localhost:8080
|
|
2. Cliquer sur l'icône ⚙️ (Settings)
|
|
3. Aller dans l'onglet "Autre"
|
|
4. Sélectionner 🇬🇧 English ou 🇫🇷 Français
|
|
5. 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/en` et `/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)
|
|
```javascript
|
|
import { t } from './i18n.js';
|
|
|
|
// Simple
|
|
alert(t('fileTree.enterNoteName'));
|
|
|
|
// Avec variables
|
|
alert(t('editor.confirmDelete', { filename: 'test.md' }));
|
|
```
|
|
|
|
### Go (Backend)
|
|
```go
|
|
// Dans un handler
|
|
h.t(r, "errors.methodNotAllowed")
|
|
|
|
// Avec variables
|
|
h.t(r, "editor.confirmDelete", map[string]string{
|
|
"filename": "test.md",
|
|
})
|
|
```
|
|
|
|
### HTML (Templates - optionnel)
|
|
```html
|
|
<!-- Attribut data-i18n pour traduction automatique -->
|
|
<button data-i18n="editor.save">Sauvegarder</button>
|
|
```
|
|
|
|
## 🌍 Ajouter une langue
|
|
|
|
1. Créer `locales/de.json` (exemple)
|
|
2. Copier la structure de `en.json`
|
|
3. Traduire les valeurs
|
|
4. Ajouter dans Settings (templates/index.html)
|
|
5. 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)
|
|
|
|
1. Migrer les templates HTML vers i18n
|
|
2. Migrer les alert() JavaScript
|
|
3. Migrer les messages d'erreur backend
|
|
4. 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`
|