Validé sur PC Windows (DESKTOP-58D5CAC, 2560x1600) : - 8 clics résolus visuellement (1 anchor_template, 1 som_text_match, 6 som_vlm) - Score moyen 0.75, temps moyen 1.6s - Texte tapé correctement (bonjour, test word, date, email) - 0 retries, 2 actions non vérifiées (OK) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
7.6 KiB
Spécification : Localisation du Composant RealDemo
Vue d'ensemble
Cette spécification définit l'implémentation de la localisation complète pour le composant RealDemo du Visual Workflow Builder, en s'appuyant sur le système de localisation existant.
Contexte
Le système de localisation RPA Vision V3 est déjà implémenté avec 4 langues (français, anglais, espagnol, allemand) et 127 clés de traduction. Cependant, le composant RealDemo contient encore du texte codé en dur en français qui doit être localisé.
Objectifs
Objectif Principal
Intégrer complètement le composant RealDemo avec le système de localisation existant pour assurer une expérience utilisateur multilingue cohérente.
Objectifs Secondaires
- Maintenir la cohérence avec les traductions existantes
- Assurer la qualité des traductions dans toutes les langues supportées
- Valider l'intégration avec les outils de validation existants
- Documenter les nouvelles clés de traduction
User Stories
US1 : Utilisateur Français
En tant qu' utilisateur français
Je veux voir l'interface RealDemo en français
Afin de comprendre facilement les fonctionnalités disponibles
Critères d'acceptation :
- Le titre "Démonstration Réelle - RPA Vision V3" est affiché en français
- La description est en français et claire
- Le bouton "Démarrer la Démonstration" est en français
- Tous les messages d'état sont en français
US2 : Utilisateur Anglais
En tant qu' utilisateur anglais
Je veux voir l'interface RealDemo en anglais
Afin de utiliser l'application dans ma langue native
Critères d'acceptation :
- Le titre devient "Real Demonstration - RPA Vision V3"
- La description est traduite en anglais naturel
- Le bouton devient "Start Demonstration"
- Tous les messages respectent les conventions anglaises
US3 : Utilisateur Espagnol
En tant qu' utilisateur espagnol
Je veux voir l'interface RealDemo en espagnol
Afin d' avoir une expérience utilisateur dans ma langue
Critères d'acceptation :
- Le titre devient "Demostración Real - RPA Vision V3"
- La description respecte les conventions espagnoles
- Le bouton devient "Iniciar Demostración"
- Les messages suivent la grammaire espagnole
US4 : Utilisateur Allemand
En tant qu' utilisateur allemand
Je veux voir l'interface RealDemo en allemand
Afin de naviguer confortablement dans l'application
Critères d'acceptation :
- Le titre devient "Echte Demonstration - RPA Vision V3"
- La description utilise un allemand correct
- Le bouton devient "Demonstration Starten"
- Les messages respectent la grammaire allemande
US5 : Développeur
En tant que développeur
Je veux que les nouvelles traductions soient validées automatiquement
Afin de maintenir la qualité du système de localisation
Critères d'acceptation :
- Le script de validation détecte les nouvelles clés
- Toutes les langues ont les mêmes clés
- Les placeholders sont cohérents
- La documentation est mise à jour
Exigences Fonctionnelles
RF1 : Intégration du Service de Localisation
- Le composant RealDemo doit utiliser le hook
useLocalization - Toutes les chaînes de caractères doivent être externalisées
- Les traductions doivent être chargées dynamiquement
RF2 : Nouvelles Clés de Traduction
Les nouvelles clés suivantes doivent être ajoutées :
realDemo.component.title: "Démonstration Réelle - RPA Vision V3"realDemo.component.description: "Ce composant permettra de tester le système RPA en temps réel."realDemo.component.startButton: "Démarrer la Démonstration"
RF3 : Cohérence avec l'Existant
- Utiliser la même structure que les clés
realDemoexistantes - Respecter les conventions de nommage établies
- Maintenir la hiérarchie JSON existante
RF4 : Validation Automatique
- Les nouvelles traductions doivent passer la validation Python
- Aucune clé manquante dans aucune langue
- Structure JSON cohérente
Exigences Non-Fonctionnelles
RNF1 : Performance
- Le chargement des traductions ne doit pas impacter les performances
- Utilisation du cache existant du service de localisation
RNF2 : Maintenabilité
- Code TypeScript avec types stricts
- Documentation inline des nouvelles clés
- Respect des conventions de code existantes
RNF3 : Qualité des Traductions
- Traductions naturelles et idiomatiques
- Respect des conventions culturelles
- Longueur appropriée pour l'interface
RNF4 : Accessibilité
- Maintien des attributs ARIA existants
- Support de la navigation clavier
- Contraste suffisant pour tous les textes
Contraintes Techniques
CT1 : Compatibilité
- Utilisation du système de localisation existant
- Pas de modification de l'architecture
- Compatibilité avec Material-UI
CT2 : Structure des Fichiers
- Ajout dans les fichiers JSON existants uniquement
- Respect de la structure hiérarchique
- Pas de nouveaux fichiers de configuration
CT3 : Validation
- Utilisation du script
validate_translations.pyexistant - Pas de modification des outils de validation
- Intégration avec le processus de build
Critères d'Acceptation Globaux
Technique
- Le composant RealDemo utilise
useLocalization - Toutes les chaînes sont externalisées
- Les 4 langues sont supportées
- La validation automatique passe
- Aucune régression sur les fonctionnalités existantes
Fonctionnel
- L'interface s'affiche correctement dans les 4 langues
- Le changement de langue fonctionne en temps réel
- Les traductions sont naturelles et appropriées
- La mise en page reste cohérente
Qualité
- Code TypeScript sans erreurs
- Tests de validation passent
- Documentation mise à jour
- Respect du design system
Risques et Mitigation
Risque 1 : Incohérence des Traductions
Impact : Moyen
Probabilité : Faible
Mitigation : Utilisation du script de validation automatique
Risque 2 : Régression sur l'Existant
Impact : Élevé
Probabilité : Faible
Mitigation : Tests de non-régression sur les composants existants
Risque 3 : Problème de Performance
Impact : Faible
Probabilité : Très faible
Mitigation : Utilisation du cache existant, pas de nouveau chargement
Définition de "Terminé"
Une tâche est considérée comme terminée quand :
- Le code est implémenté et testé
- Les traductions sont ajoutées dans les 4 langues
- La validation automatique passe
- La documentation est mise à jour
- Les tests de non-régression passent
- Le code est intégré dans la branche principale
Métriques de Succès
- Couverture de localisation : 100% des chaînes externalisées
- Validation : 0 erreur dans le script de validation
- Performance : Pas d'impact mesurable sur le temps de chargement
- Qualité : Traductions approuvées par des locuteurs natifs (si possible)
Dépendances
- Système de localisation existant (déjà implémenté)
- Service
LocalizationService.ts(déjà disponible) - Fichiers de traduction JSON (déjà créés)
- Script de validation Python (déjà fonctionnel)
Livrables
- Code modifié : Composant RealDemo localisé
- Traductions : Nouvelles clés dans les 4 fichiers JSON
- Validation : Rapport de validation sans erreur
- Documentation : Mise à jour des guides existants
- Tests : Validation de l'intégration
Cette spécification assure une intégration cohérente et de qualité du composant RealDemo avec le système de localisation existant, en maintenant les standards établis et en préparant l'extensibilité future.