Updated apps

This commit is contained in:
2026-07-20 22:52:35 -04:00
parent 28a8cb98f6
commit a0c3271743
1164 changed files with 94781 additions and 6892 deletions
@@ -87,7 +87,7 @@
"on_cycle_finished": "Le cycle terminé",
"on_cycle_started": "Le cycle a démarré",
"pause_cycle": "Pause",
"pause_cycle_tip": "Mettre en pause le cycle en cours l'appareil reprendra là où il s'est arrêté",
"pause_cycle_tip": "Mettre en pause le cycle en cours l'appareil reprendra là où il s'est arrêté",
"pg_apply_device": "Appliquer à l'appareil",
"pg_autofill": "Remplissage automatique",
"play": "Lire",
@@ -97,8 +97,8 @@
"process_tip": "Enregistrer la trace capturée en tant que profil nouveau ou existant",
"rebuild": "Reconstruire les enveloppes",
"rebuild_envelope": "Reconstruire l'enveloppe",
"rebuild_tip": "Recalculer l'enveloppe de puissance attendue (bande min/max) pour tous les profils à partir de leurs cycles étiquetés à exécuter après l'étiquetage de nouveaux cycles ou la correction d'anciens",
"rec_start_tip": "Commencer l'enregistrement de la trace de puissance de l'appareil démarrer juste avant de lancer un cycle",
"rebuild_tip": "Recalculer l'enveloppe de puissance attendue (bande min/max) pour tous les profils à partir de leurs cycles étiquetés à exécuter après l'étiquetage de nouveaux cycles ou la correction d'anciens",
"rec_start_tip": "Commencer l'enregistrement de la trace de puissance de l'appareil démarrer juste avant de lancer un cycle",
"rec_stop": "Arrêt",
"rec_stop_tip": "Arrêter l'enregistrement et conserver la trace capturée pour révision",
"record": "Commencer l'enregistrement",
@@ -182,7 +182,7 @@
},
"attn_sub": "Corriger les conflits avant d'enregistrer",
"attn_title": "{n} conflit{s} de paramètres",
"settings_banner": "{n} conflit{s} de paramètres vérifiez les sections surlignées et corrigez avant d'enregistrer.",
"settings_banner": "{n} conflit{s} de paramètres vérifiez les sections surlignées et corrigez avant d'enregistrer.",
"settings_banner_btn": "Aller au premier",
"confidence": {
"auto": "Doit être supérieur ou égal au Seuil de correspondance ({match})",
@@ -451,9 +451,9 @@
"show_expected": "Afficher la superposition de courbe attendue (profil correspondant, orange)",
"show_raw": "Afficher le commutateur de signal brut de la prise dans le graphique de puissance en direct",
"sparkline": "Tendance récente de la durée des cycles",
"stage2": "Étape 2 similarité principale",
"stage3": "Étape 3 DTW",
"stage4": "Étape 4 concordance",
"stage2": "Étape 2 similarité principale",
"stage3": "Étape 3 DTW",
"stage4": "Étape 4 concordance",
"status": "Statut",
"tail_trim": "Rognage de fin (s)",
"timer_auto_pause": "Pause automatique",
@@ -561,7 +561,12 @@
"flags": "Indicateurs",
"include_phase_map": "Inclure la carte des phases",
"include_settings": "Inclure les paramètres de détection et de reconnaissance",
"show_contributor": "Afficher les noms des contributeurs"
"show_contributor": "Afficher les noms des contributeurs",
"task_pg_detail": "Simuler le cycle",
"task_split": "Division du cycle",
"task_trim": "Rognage du cycle",
"task_merge": "Fusion des cycles",
"task_rebuild": "Reconstruction des enveloppes"
},
"log": {
"all_levels": "Tous niveaux",
@@ -645,7 +650,7 @@
"artifact_dip_detail": "Est tombé en dessous de la bande de puissance habituelle pendant environ {n} s.",
"artifact_footer": "Mis en évidence sur le graphique ci-dessus. Il sagit dartefacts transitoires (par exemple la porte ouverte en cours de cycle), pas nécessairement de problèmes.",
"artifact_header": "{n} anomalies détectées au cours de ce cycle",
"artifact_pause_detail": "La puissance a chuté près de zéro pendant environ {n} s puis a repris la porte a probablement été ouverte en cours de cycle ou le cycle a été mis en pause.",
"artifact_pause_detail": "La puissance a chuté près de zéro pendant environ {n} s puis a repris la porte a probablement été ouverte en cours de cycle ou le cycle a été mis en pause.",
"artifact_spike_detail": "A dépassé la bande de puissance habituelle pendant environ {n} s.",
"auto_label_intro": "Attribuez des profils à des cycles non étiquetés dont la confiance de correspondance efface le seuil.",
"automations_intro": "WashData déclenche les événements {start} / {end} et expose des entités, les notifications et actions sont donc mieux construites comme des automatisations Home Assistant normales. Les automatisations utilisant cet appareil apparaissent ci-dessous.",
@@ -654,10 +659,10 @@
"collecting_data": "Collecte de données - encore {need} cycle{plural} avant que l'affinage puisse commencer ({current}/{min}).",
"compare_overlay_profiles": "Profils de superposition (faible)",
"compare_profiles_tip": "Superposez d'autres enveloppes de profil sur le graphique ci-dessus pour voir laquelle correspond le mieux à ce cycle.",
"compare_selected_cycles": "Cycles sélectionnés (solides) afficher/masquer",
"compare_selected_cycles": "Cycles sélectionnés (solides) afficher/masquer",
"consider_new_profile": "Pensez à créer un nouveau profil.",
"coverage_gap": "les cycles récents n'ont pas de profil correspondant ({pct} % des 30 derniers).",
"coverage_gap_similar_cycles": "{count} cycles similaires non étiquetés trouvés créez un profil pour commencer à les identifier.",
"coverage_gap_similar_cycles": "{count} cycles similaires non étiquetés trouvés créez un profil pour commencer à les identifier.",
"cycles_deleted": "{count} cycle(s) supprimé(s)",
"enough_data": "Suffisamment de données pour apprendre ({current}/{min} cycles).",
"export_description": "Exportez tous les profils et cycles vers JSON, ou restaurez à partir d'une exportation précédente.",
@@ -686,7 +691,7 @@
"ml_learned_intro": "Modèles adaptés à cette machine.",
"ml_loading": "chargement de ML…",
"ml_settings_intro": "Deux commutateurs indépendants : l'un applique les modèles pendant l'exécution d'un cycle, l'autre permet à WashData de les ajuster avec précision à votre machine au fil du temps.",
"name_first_program": "Vous avez assez de cycles nommez votre premier programme pour lancer la correspondance.",
"name_first_program": "Vous avez assez de cycles nommez votre premier programme pour lancer la correspondance.",
"near_duplicate_cluster": "Cluster de profils quasi-dupliqué détecté. Le regroupement permet de choisir de manière fiable entre des sosies (par exemple, le même programme à différentes températures/essorages).",
"no_cycles_match": "Aucun cycle ne correspond au filtre actuel.",
"no_cycles_profile": "Aucun cycle pour ce profil.",
@@ -713,7 +718,7 @@
"notify_services_hint": "Utilisez les IDs de service {entity} (séparés par des virgules pour plusieurs). Variables de gabarit : {vars}.",
"old_actions_warning": "Configuré avec l'ancien éditeur d'actions (maintenant supprimé). Ils se déclenchent toujours sur les événements du cycle mais ne peuvent plus être modifiés ici. Convertissez-les en une automatisation normale ou supprimez-les.",
"onboarding_progress": "{n} / 3 cycles observés",
"onboarding_watching": "Utilisez votre appareil normalement WashData observe. Après 3 cycles, la correspondance des programmes commencera.",
"onboarding_watching": "Utilisez votre appareil normalement WashData observe. Après 3 cycles, la correspondance des programmes commencera.",
"pending_feedback": "En attente de retour de détection",
"performance_trend": "Tendance des performances ({n} cycles)",
"pg_analysis_empty": "Chargez un cycle pour voir l'analyse de correspondance.",
@@ -763,7 +768,7 @@
"setting_changed": "Modifié de {old} à {new} le {date}",
"settings_basic_note": "Affichage des paramètres essentiels. Passez à Avancé pour la liste complète.",
"shape_drift_advisory": "⚠ Dérive de forme",
"shape_drift_detail": "Le profil de puissance a évolué au fil du temps usure possible de l'appareil ou entretien nécessaire (p. ex. détartrage, nettoyage du filtre).",
"shape_drift_detail": "Le profil de puissance a évolué au fil du temps usure possible de l'appareil ou entretien nécessaire (p. ex. détartrage, nettoyage du filtre).",
"show_all_settings": "Afficher tous les paramètres",
"showing_suggestions": "Affichage du paramètre {count} avec des suggestions.",
"split_intro": "Cliquez sur le graphique pour ajouter ou supprimer un point de partage, ou détecter automatiquement les espaces inactifs. Chaque segment résultant peut avoir son propre profil.",
@@ -857,7 +862,9 @@
"share_guidelines_title": "Avant de partager",
"store_download_device_intro": "Adoptez chaque programme partagé et ses cycles de référence sur votre appareil. Vos propres cycles enregistrés et statistiques ne sont pas affectés.",
"store_share_device_intro": "Envoyez {brand} {model} avec les cycles de référence que vous sélectionnez. D'autres utilisateurs du même appareil peuvent adopter vos programmes. Les entrées sont examinées avant d'apparaître publiquement.",
"share_profile_no_cycles": "Aucun cycle de référence -- marquez un cycle comme ⭐ dans l'onglet Cycles pour inclure ce profil"
"share_profile_no_cycles": "Aucun cycle de référence -- marquez un cycle comme ⭐ dans l'onglet Cycles pour inclure ce profil",
"advisory_phase_inconsistent": "'{name}' semble mélanger différents programmes ou températures - ses cycles chauffent pendant des durées très variables. Le diviser en profils distincts (p. ex. par température) améliorera la reconnaissance et les estimations de temps.",
"advisory_phase_inconsistent_title": "⚠ Programmes peut-être mélangés"
},
"pg_desc": {
"abrupt_drop_watts": "Chute soudaine traitée comme une fin immédiate",
@@ -869,12 +876,19 @@
"start_duration_threshold": "Secondes au-dessus du seuil pour confirmer le démarrage",
"start_threshold_w": "Watts minimum pour être compté comme démarré",
"stop_threshold_w": "En dessous, la machine est comptée comme éteinte",
"dtw_bandwidth": "Quantité de déformation temporelle autorisée par la correspondance de forme",
"corr_weight": "Poids de la forme de la courbe par rapport au niveau de puissance dans la correspondance",
"duration_weight": "Influence de la concordance de durée sur la correspondance",
"energy_weight": "Influence de la concordance d'énergie sur la correspondance",
"profile_match_min_duration_ratio": "Cycle le plus court (par rapport au profil) encore autorisé à correspondre",
"profile_match_max_duration_ratio": "Cycle le plus long (par rapport au profil) encore autorisé à correspondre"
"dtw_bandwidth": "Étape 3 : bande de déformation Sakoe-Chiba (0 = DTW désactivé ; défaut 0,2 = 20 % de la longueur du cycle)",
"corr_weight": "Étape 2 : équilibre entre la forme de la courbe (corrélation) et le niveau de puissance (MAE) ; défaut 0,45",
"duration_weight": "Étape 4 : force avec laquelle la concordance de durée affecte le score final (défaut 0,22)",
"energy_weight": "Étape 4 : force avec laquelle la concordance d'énergie affecte le score final (défaut 0,22)",
"profile_match_min_duration_ratio": "Étape 1 : durée de cycle minimale en fraction de la durée du profil ; défaut 0,1 (10 %)",
"profile_match_max_duration_ratio": "Étape 1 : durée de cycle maximale en fraction de la durée du profil ; défaut 1,5 (150 %)",
"keep_min_score": "Étape 2 : score plancher pour rester en lice ; le défaut 0,1 admet les candidats faibles, les étapes suivantes sélectionnent le meilleur",
"dtw_blend": "Étape 3 : 0 = score central uniquement, 1 = score DTW uniquement, 0,5 = mélange égal (défaut)",
"dtw_ensemble_w": "Étape 3 (mode ensemble) : poids sur L1 normalisé vs DTW dérivé ; le défaut 0,7 favorise la sensibilité au niveau",
"dtw_ddtw_scale": "Étape 3 : distance de demi-saturation DDTW ; plus petit = plus sensible à la forme (défaut 30)",
"dtw_refine_top_n": "Étape 3 : candidats réévalués par DTW ; augmentez à 7-9 si le profil correct se classe 4e ou 5e (défaut 5)",
"duration_scale": "Étape 4 : log-ratio où la concordance de durée est divisée par deux ; plus petit = pénalité plus stricte (défaut 0,175)",
"energy_scale": "Étape 4 : log-ratio où la concordance d'énergie est divisée par deux ; plus petit = pénalité plus stricte (défaut 0,25)"
},
"phase_desc": {
"anti_crease": "Courts culbutages occasionnels après completion pour réduire le froissement du linge.",
@@ -957,6 +971,10 @@
"triggers": {
"intro": "Signaux externes optionnels : déclencheur de fin, capteur de porte, interrupteur de pause et rappel de déchargement.",
"label": "Déclencheurs et portes"
},
"phase_eta": {
"label": "Temps restant",
"intro": "Temps restant tenant compte des phases, pour les machines dont la durée de cycle dépend de la température ou de l'essorage."
}
},
"setting": {
@@ -1040,6 +1058,10 @@
"doc": "Prix fixe par kWh utilisé pour les chiffres de coût lorsqu'aucune entité de prix en direct n'est définie ci-dessus.",
"label": "Prix de l'énergie statique (par kWh)"
},
"energy_sensor": {
"doc": "Compteur d'énergie cumulé facultatif (total_increasing en kWh/Wh, par ex. le compteur de consommation totale de la prise elle-même). Lorsqu'il est défini, l'énergie indiquée pour chaque cycle provient de la différence de ce compteur entre le début et la fin, ce qui évite le sous-comptage provoqué par l'intégration d'un capteur de puissance qui se met à jour lentement. Revient à la valeur intégrée si la lecture est absente, si son unité est inconnue ou si le delta n'est pas positif. Laissez vide pour continuer à intégrer le capteur de puissance.",
"label": "Entité du compteur d'énergie"
},
"expose_debug_entities": {
"doc": "Publiez des entités HA de diagnostic supplémentaires (correspondance à la confiance, à l'ambiguïté, aux éléments internes de l'état). Désactivé maintient la liste des entités propre pour une utilisation normale.",
"label": "Exposer les entités de débogage"
@@ -1323,6 +1345,38 @@
"show_contributor": {
"label": "Afficher les noms des contributeurs",
"doc": "Afficher l'attribution « par <contributeur> » sur les appareils de la communauté et les cycles de référence."
},
"enable_phase_matching": {
"label": "Temps restant tenant compte des phases",
"doc": "Découpe chaque cycle en cours en phases (chauffage, lavage, essorage) et répartit le temps restant par phase, mélangé à l'estimation classique - en s'appuyant sur la répartition par phases en début de cycle et sur l'estimation classique vers la fin. Cela personnalise le compte à rebours en fonction de la durée réelle de chauffage et de fonctionnement de votre machine, ce qui est le plus perceptible dans la première moitié du cycle. Désactivé = uniquement l'estimation classique. Seul l'affichage du temps restant est concerné ; la reconnaissance des programmes et la détection des cycles restent inchangées."
},
"keep_min_score": {
"label": "Score min de correspondance",
"doc": "Score de similarité minimum qu'un candidat doit atteindre pour rester dans la course. Le défaut 0,1 est délibérément permissif - il admet même les candidats faibles et s'appuie sur les étapes suivantes pour trouver la meilleure correspondance. Augmentez-le pour éliminer les profils improbables plus tôt ; réduisez-le pour élargir le pool de candidats initial."
},
"dtw_blend": {
"label": "Fusion Warp",
"doc": "Dans quelle mesure le score d'alignement par déformation temporelle (DTW) remplace le score central de l'étape 2. 0 = utiliser uniquement le score de l'étape 2, 1 = utiliser uniquement le score DTW, 0,5 (défaut) = mélange égal. Augmentez-le pour vous fier davantage à l'alignement Warp lorsque les programmes ont des niveaux de puissance similaires mais des schémas temporels différents."
},
"dtw_ensemble_w": {
"label": "Mix Warp ensemble",
"doc": "En mode DTW ensemble (le défaut), le poids sur L1 normalisé par rapport au DTW dérivé (DDTW). 1,0 = tout L1 normalisé, 0 = tout DDTW, 0,7 = défaut. La variante L1 normalisée compare les niveaux de puissance ; la variante dérivée réagit à la façon dont la puissance évolue dans le temps. Ensemble mélange les deux."
},
"dtw_ddtw_scale": {
"label": "Échelle Warp dérivé",
"doc": "Distance de demi-saturation pour la notation DTW dérivé. Le score est divisé par deux quand la distance DDTW atteint cette valeur. Plus petit = plus sensible aux différences de forme. Le défaut 30 est calibré sur les traces de puissance typiques des appareils. N'affecte que les modes DTW ensemble et ddtw."
},
"dtw_refine_top_n": {
"label": "Nb candidats affinés Warp",
"doc": "Nombre de candidats de l'étape 2 réévalués par DTW. DTW est plus coûteux, il n'est donc appliqué qu'aux N meilleurs candidats. Défaut 5. Augmentez-le (à 7-9) si le profil correct n'atteint parfois que la 4e ou 5e place après l'étape 2 - DTW peut le sauver. Baisser accélère légèrement la mise en correspondance."
},
"duration_scale": {
"label": "Précision durée",
"doc": "Précision de la pénalité de concordance de durée à l'étape 4. C'est le log-ratio auquel le score de concordance est divisé par deux. Plus petit = plus strict : un écart de durée pénalise davantage. Le défaut 0,175 correspond à environ 18 % de tolérance de durée à mi-poids. À combiner avec la Pondération de durée."
},
"energy_scale": {
"label": "Précision énergie",
"doc": "Précision de la pénalité de concordance d'énergie. Plus petit = plus strict : un écart d'énergie pénalise davantage. Le défaut 0,25 est intentionnellement plus indulgent que la Précision de durée, car l'énergie varie avec la charge. À combiner avec la Pondération d'énergie."
}
},
"setting_group": {
@@ -1571,24 +1625,24 @@
"lower": "Étiquette plus de cycles automatiquement ; certains peuvent être mal identifiés"
},
"duration_tolerance": {
"higher": "Accepte une plage de durée plus large correspondance plus flexible",
"lower": "Exige une durée plus proche plus strict, peut rejeter des cycles inhabituels"
"higher": "Accepte une plage de durée plus large correspondance plus flexible",
"lower": "Exige une durée plus proche plus strict, peut rejeter des cycles inhabituels"
},
"end_energy_threshold": {
"higher": "Clôture uniquement les cycles ayant consommé une énergie significative",
"lower": "Clôture aussi les cycles courts ou à faible consommation"
},
"end_repeat_count": {
"higher": "Exige que le signal de fin se répète davantage plus robuste, légèrement plus lent",
"lower": "Termine après moins de répétitions détection plus rapide, risque de fausse fin accru"
"higher": "Exige que le signal de fin se répète davantage plus robuste, légèrement plus lent",
"lower": "Termine après moins de répétitions détection plus rapide, risque de fausse fin accru"
},
"learning_confidence": {
"higher": "N'apprend que des correspondances très confiantes plus lent mais plus fiable",
"higher": "N'apprend que des correspondances très confiantes plus lent mais plus fiable",
"lower": "Apprend à partir de plus de cycles ; le modèle peut être moins précis"
},
"min_off_gap": {
"higher": "Repos plus long requis avant le démarrage d'un nouveau cycle",
"lower": "Un bref repos déclenche un nouveau cycle des cycles successifs peuvent être scindés"
"lower": "Un bref repos déclenche un nouveau cycle des cycles successifs peuvent être scindés"
},
"min_power": {
"higher": "Moins sensible à la consommation au repos ; peut manquer des programmes très silencieux",
@@ -1599,24 +1653,24 @@
"lower": "Arrête un cycle bloqué plus tôt"
},
"off_delay": {
"higher": "Plus de temps pour les pauses de l'appareil gère les longues phases de trempage ou de séchage",
"lower": "Détection de fin plus rapide adapté aux appareils marche/arrêt nets"
"higher": "Plus de temps pour les pauses de l'appareil gère les longues phases de trempage ou de séchage",
"lower": "Détection de fin plus rapide adapté aux appareils marche/arrêt nets"
},
"profile_match_threshold": {
"higher": "Ne valide que les correspondances très confiantes ; plus de cycles restent non étiquetés",
"lower": "Fait correspondre plus de cycles ; certains peuvent être légèrement erronés"
},
"running_dead_zone": {
"higher": "Ignore les brèves pointes de puissance au repos moins sensible au bruit",
"lower": "Réagit à des impulsions plus courtes capte les activités transitoires rapides"
"higher": "Ignore les brèves pointes de puissance au repos moins sensible au bruit",
"lower": "Réagit à des impulsions plus courtes capte les activités transitoires rapides"
},
"start_threshold_w": {
"higher": "Évite les faux démarrages dus à de brèves pointes de puissance",
"lower": "Capte les programmes à faible puissance ; peut se déclencher sur du bruit"
},
"stop_threshold_w": {
"higher": "Termine le cycle plus vite peut se clôturer lors d'une pause",
"lower": "Attend plus longtemps pour terminer moins de fins prématurées"
"higher": "Termine le cycle plus vite peut se clôturer lors d'une pause",
"lower": "Attend plus longtemps pour terminer moins de fins prématurées"
},
"watchdog_interval": {
"higher": "Phases silencieuses plus longues autorisées ; moins de faux arrêts forcés",
@@ -1767,6 +1821,69 @@
},
"pg_sweep": {
"optimize": "Optimiser : {param}"
},
"pg_detail": {
"simulate": "Simuler le cycle"
},
"split": {
"apply": "Division du cycle"
},
"trim": {
"apply": "Rognage du cycle"
},
"merge": {
"apply": "Fusion des cycles"
},
"rebuild": {
"envelopes": "Reconstruction des enveloppes"
},
"cancelling": "Annulation..."
},
"setup": {
"hdr": {
"card": "Configuration de l'appareil",
"healthy_chip": "Configuration terminée"
},
"phase0": {
"washer": "WashData détecte déjà vos cycles. Enregistrez votre premier cycle pour activer les noms de programmes et les estimations de durée.",
"dishwasher": "WashData surveille. Les lave-vaisselle ont des cycles complexes l'enregistrement du premier cycle est fortement recommandé. Si un cycle détecté dure trop longtemps, utilisez l'éditeur de cycles pour le rogner avant de l'enregistrer comme profil.",
"generic": "WashData surveille. Enregistrez ou étiquetez un cycle détecté pour commencer à créer des profils."
},
"phase1a": {
"labelled": "Bon début votre premier programme est enregistré. Pour des données optimales, envisagez d'enregistrer votre prochain cycle avec le widget d'enregistrement."
},
"phase1b": {
"recorded": "Votre enregistrement a été sauvegardé sous {profile_name}. Enregistrez ou étiquetez maintenant vos autres programmes courants pour améliorer la couverture."
},
"phase1c": {
"verify": "Vous avez {count} programmes de la communauté. Lancez un cycle pour vérifier que WashData le reconnaît correctement la correspondance s'améliorera au fil de l'historique de votre appareil."
},
"phase2": {
"cluster": "WashData a observé {count} cycles qui ne correspondent à aucun programme enregistré ils se ressemblent entre eux. Voulez-vous créer un nouveau profil pour eux ?",
"unmatched": "Votre dernier cycle ne correspond à aucun programme enregistré. S'agit-il d'un nouveau programme ?"
},
"phase3": {
"suggestions": "WashData a des recommandations de paramètres basées sur votre historique de cycles examinez-les pour améliorer la précision de détection.",
"groups": "Certains de vos profils ressemblent au même programme à différentes températures. Organisez-les en groupe pour une meilleure correspondance.",
"phases": "Ajoutez des phases de programme à {profile_name} pour des estimations de temps restant plus précises."
},
"phase4": {
"healthy": "Cet appareil est entièrement configuré ({profile_count} profils)."
},
"cta": {
"start_recording": "Démarrer l'enregistrement",
"label_detected_cycle": "J'ai déjà un cycle détecté l'étiqueter à la place",
"browse_cycles": "Parcourir les cycles pour en étiqueter un autre",
"view_profiles": "Voir vos profils",
"create_from_cluster": "Créer un profil à partir de ces cycles",
"create_profile": "Créer un profil pour ce programme",
"review_suggestions": "Examiner les suggestions",
"organise_profiles": "Organiser les profils",
"configure_phases": "Configurer les phases",
"skip_step": "Ignorer cette étape",
"skip_forever": "Ne plus afficher",
"hide_guidance": "Masquer le guide",
"show_guidance": "Afficher le guide"
}
}
}