Files
personotes/I18N_QUICKSTART.md

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

  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)

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

  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