FEAT: Localisation de l'application (i18n/l10n) — Français & Anglais #142

Open
opened 2026-08-18 12:28:21 +02:00 by nonobis · 0 comments
Owner

Contexte

Heimdall doit être accessible en français et en anglais. La localisation concerne les textes de l'UI, les messages d'erreur, les notifications et les métadonnées visibles par l'utilisateur.

État actuel

Tous les textes sont en dur (hardcoded) dans les composants et services. Pas de mécanisme i18n en place.

À faire

  1. Choisir et intégrer une bibliothèque i18n adaptée à la stack (ex. .NET : Microsoft.Extensions.Localization / IStringLocalizer)
  2. Extraire tous les textes affichés dans l'UI vers des fichiers de ressources (.resx ou JSON) organisés par langue (fr, en)
  3. Configurer le sélecteur de langue : option dans les paramètres utilisateur (par défaut : français)
  4. Gérer les textes dynamiques : messages d'erreur, notifications, états vides, placeholders
  5. S'assurer que les emails/notifications utilisent la langue de l'utilisateur
  6. Documentation : guide du contributeur pour ajouter de nouvelles traductions

Critères d'acceptation

  • Tous les textes de l'UI sont externalisés (aucun texte hardcoded dans les composants)
  • Le switch FR ↔ EN fonctionne sans rechargement de page
  • La langue choisie persiste entre les sessions
  • Les textes par défaut sont en français
  • Les messages d'erreur sont traduits
  • Le sélecteur de langue est accessible depuis les paramètres
  • Les tests vérifient que les clés i18n existent pour les deux langues

Langues cibles

  • 🇫🇷 Français (par défaut)
  • 🇬🇧 Anglais

Pas d'ajout d'autres langues pour le moment — le système doit être extensible mais on ne cible que FR et EN.

Fichiers concernés

  • Tous les composants Razor / vues
  • Services retournant du texte à l'utilisateur
  • Configuration de l'application (DI, middleware)

Référence spec

Nouvelle feature — pas de référence spec existante. À ajouter à la MASTER_SPECIFICATION.md après implémentation.

## Contexte Heimdall doit être accessible en français et en anglais. La localisation concerne les textes de l'UI, les messages d'erreur, les notifications et les métadonnées visibles par l'utilisateur. ## État actuel Tous les textes sont en dur (hardcoded) dans les composants et services. Pas de mécanisme i18n en place. ## À faire 1. **Choisir et intégrer une bibliothèque i18n** adaptée à la stack (ex. .NET : `Microsoft.Extensions.Localization` / `IStringLocalizer`) 2. **Extraire tous les textes** affichés dans l'UI vers des fichiers de ressources (.resx ou JSON) organisés par langue (`fr`, `en`) 3. **Configurer le sélecteur de langue** : option dans les paramètres utilisateur (par défaut : français) 4. **Gérer les textes dynamiques** : messages d'erreur, notifications, états vides, placeholders 5. **S'assurer que les emails/notifications** utilisent la langue de l'utilisateur 6. **Documentation** : guide du contributeur pour ajouter de nouvelles traductions ## Critères d'acceptation - [ ] Tous les textes de l'UI sont externalisés (aucun texte hardcoded dans les composants) - [ ] Le switch FR ↔ EN fonctionne sans rechargement de page - [ ] La langue choisie persiste entre les sessions - [ ] Les textes par défaut sont en français - [ ] Les messages d'erreur sont traduits - [ ] Le sélecteur de langue est accessible depuis les paramètres - [ ] Les tests vérifient que les clés i18n existent pour les deux langues ## Langues cibles - 🇫🇷 Français (par défaut) - 🇬🇧 Anglais > Pas d'ajout d'autres langues pour le moment — le système doit être extensible mais on ne cible que FR et EN. ## Fichiers concernés - Tous les composants Razor / vues - Services retournant du texte à l'utilisateur - Configuration de l'application (DI, middleware) ## Référence spec Nouvelle feature — pas de référence spec existante. À ajouter à la MASTER_SPECIFICATION.md après implémentation.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nonobis/Heimdall#142
No description provided.