{ "config": { "step": { "user": { "title": "Configuration des données de lavage", "description": "Configurez votre lave-linge ou autre appareil.\n\nUn capteur de puissance est requis.\n\n**Ensuite, il vous sera demandé si vous souhaitez créer votre premier profil.**", "data": { "name": "Nom de l'appareil", "device_type": "Type d'appareil", "power_sensor": "Capteur de puissance", "min_power": "Seuil de puissance minimum (W)" }, "data_description": { "name": "Un nom convivial pour cet appareil (par exemple, « Machine à laver », « Lave-vaisselle »).", "device_type": "De quel type d'appareil s'agit-il ? Aide à adapter la détection et l’étiquetage.", "power_sensor": "L'entité de capteur qui signale la consommation d'énergie en temps réel (en watts) de votre prise intelligente.", "min_power": "Les lectures de puissance supérieures à ce seuil (en watts) indiquent que l'appareil est en marche. Commencez avec 2 W pour la plupart des appareils." } }, "first_profile": { "title": "Créer un premier profil", "description": "Un **Cycle** est un fonctionnement complet de votre appareil (par exemple, une charge de linge). Un **Profil** regroupe ces cycles par type (par exemple, « Coton », « Lavage rapide »). La création d'un profil permet désormais d'estimer immédiatement la durée de l'intégration.\n\nVous pouvez sélectionner manuellement ce profil dans les contrôles de l'appareil s'il n'est pas détecté automatiquement.\n\n**Laissez « Nom du profil » vide pour ignorer cette étape.**", "data": { "profile_name": "Nom du profil (facultatif)", "manual_duration": "Durée estimée (minutes)" } }, "reconfigure": { "title": "Reconfigurer WashData", "description": "Mettez à jour le nom de l'appareil, le type d'appareil ou le capteur de puissance.", "data": { "name": "Nom de l'appareil", "device_type": "Type d'appareil", "power_sensor": "Capteur de puissance", "min_power": "Seuil de puissance minimum (W)" } } }, "error": { "cannot_connect": "Échec de la connexion", "invalid_auth": "Authentification invalide", "unknown": "Erreur inattendue", "invalid_power": "Le seuil de puissance doit être supérieur à 0" }, "abort": { "already_configured": "L'appareil est déjà configuré", "reconfigure_successful": "La reconfiguration a réussi" } }, "options": { "step": { "init": { "title": "Paramètres WashData", "description": "All settings -- detection, matching, timing, notifications, profiles, and cycles -- are available in the WashData panel. Use this form only to change the power sensor, device type, or standby threshold.", "data": { "name": "Nom du périphérique", "device_type": "Type d'appareil", "power_sensor": "Capteur de puissance", "min_power": "Seuil de puissance minimum (W)" } } }, "error": { "timer_default_message": "{device} : minuterie de {minutes} min", "timer_pause_action_title": "Reprendre le cycle", "timer_pause_body_suffix": "Le cycle est en pause. Ouvrez le panneau WashData pour reprendre.", "notify_live_waiting_message": "{device} : aucun profil reconnu pour le moment.", "vs_typical_longer": "{pct}% plus long que d'habitude", "vs_typical_shorter": "{pct}% plus court que d'habitude", "invalid_power": "Le seuil de puissance doit être supérieur à 0" } }, "selector": { "device_type": { "options": { "washing_machine": "Machine à laver", "dryer": "Séchoir", "washer_dryer": "Combo laveuse-sécheuse", "dishwasher": "Lave-vaisselle", "air_fryer": "Friteuse à air", "bread_maker": "Machine à pain", "pump": "Pompe / Pompe de puisard", "generic": "Autre (avancé)", "other": "Dispositif de seuil" } } }, "services": { "label_cycle": { "name": "Cycle d'étiquetage", "description": "Attribuez un profil existant à un cycle passé ou supprimez l'étiquette.", "fields": { "device_id": { "name": "Appareil", "description": "L'appareil de la machine à laver à étiqueter." }, "cycle_id": { "name": "Identifiant du cycle", "description": "L’ID du cycle à étiqueter." }, "profile_name": { "name": "Nom du profil", "description": "Le nom d'un profil existant (créer des profils dans le menu Gérer les profils). Laissez vide pour supprimer l’étiquette." } } }, "create_profile": { "name": "Créer un profil", "description": "Créez un nouveau profil (autonome ou basé sur un cycle de référence).", "fields": { "device_id": { "name": "Appareil", "description": "Le dispositif de la machine à laver." }, "profile_name": { "name": "Nom du profil", "description": "Nom du nouveau profil (par exemple « Heavy Duty », « Delicates »)." }, "reference_cycle_id": { "name": "ID du cycle de référence", "description": "ID de cycle facultatif sur lequel baser ce profil." } } }, "delete_profile": { "name": "Supprimer le profil", "description": "Supprimez un profil et éventuellement désétiquetez les cycles qui l'utilisent.", "fields": { "device_id": { "name": "Appareil", "description": "Le dispositif de la machine à laver." }, "profile_name": { "name": "Nom du profil", "description": "Le profil à supprimer." }, "unlabel_cycles": { "name": "Annuler l'étiquetage des cycles", "description": "Supprimez l’étiquette de profil des cycles utilisant ce profil." } } }, "auto_label_cycles": { "name": "Étiquetage automatique des anciens cycles", "description": "Étiquetez rétroactivement les cycles non étiquetés à l’aide de la correspondance de profil.", "fields": { "device_id": { "name": "Appareil", "description": "Le dispositif de la machine à laver." }, "confidence_threshold": { "name": "Seuil de confiance", "description": "Confiance de correspondance minimale (0,50-0,95) pour appliquer les étiquettes." } } }, "export_config": { "name": "Exporter la configuration", "description": "Exportez les profils, cycles et paramètres de cet appareil vers un fichier JSON (par appareil).", "fields": { "device_id": { "name": "Appareil", "description": "L'appareil de machine à laver à exporter." }, "path": { "name": "Chemin", "description": "Chemin de fichier absolu facultatif à écrire (par défaut /config/ha_washdata_export_{entry}.json)." } } }, "import_config": { "name": "Importer la configuration", "description": "Importez des profils, des cycles et des paramètres pour cet appareil à partir d'un fichier d'exportation JSON (les paramètres peuvent être écrasés).", "fields": { "device_id": { "name": "Appareil", "description": "Appareil de machine à laver dans lequel importer." }, "path": { "name": "Chemin", "description": "Chemin absolu vers le fichier JSON d’exportation à importer." } } }, "submit_cycle_feedback": { "name": "Soumettre des commentaires sur le cycle", "description": "Confirmez ou corrigez un programme détecté automatiquement après un cycle terminé. Fournissez soit `entry_id` (avancé) ou `device_id` (recommandé).", "fields": { "device_id": { "name": "Appareil", "description": "Le périphérique WashData (recommandé à la place de Entry_id)." }, "entry_id": { "name": "ID d'entrée", "description": "L’ID d’entrée de configuration du périphérique (alternative à device_id)." }, "cycle_id": { "name": "Identifiant du cycle", "description": "L'identifiant du cycle affiché dans la notification de retour/les journaux." }, "user_confirmed": { "name": "Confirmer le programme détecté", "description": "Définissez true si le programme détecté est correct." }, "corrected_profile": { "name": "Profil corrigé", "description": "S’il n’est pas confirmé, fournissez le nom de profil/programme correct." }, "corrected_duration": { "name": "Durée corrigée (secondes)", "description": "Durée corrigée facultative en secondes." }, "notes": { "name": "Remarques", "description": "Notes facultatives sur ce cycle." } } }, "record_start": { "name": "Début du cycle d’enregistrement", "description": "Commencez à enregistrer manuellement un cycle de nettoyage (contourne toute logique de correspondance).", "fields": { "device_id": { "name": "Appareil", "description": "L'appareil de la machine à laver à enregistrer." } } }, "record_stop": { "name": "Arrêt du cycle d'enregistrement", "description": "Arrêtez l'enregistrement manuel.", "fields": { "device_id": { "name": "Appareil", "description": "Le dispositif de la machine à laver pour arrêter l'enregistrement." } } }, "trim_cycle": { "name": "Cycle de coupe", "description": "Ajustez les données de puissance d'un cycle passé à une fenêtre de temps spécifique.", "fields": { "device_id": { "name": "Appareil", "description": "Le périphérique WashData." }, "cycle_id": { "name": "Identifiant du cycle", "description": "L’ID du cycle à découper." }, "trim_start_s": { "name": "Démarrage du trim (secondes)", "description": "Conservez les données de ce décalage en secondes. Par défaut 0." }, "trim_end_s": { "name": "Fin de coupe (secondes)", "description": "Conservez les données jusqu'à ce décalage en secondes. Par défaut = durée complète." } } }, "pause_cycle": { "name": "Cycle de pause", "description": "Suspendez le cycle actif d’un appareil WashData.", "fields": { "device_id": { "name": "Appareil", "description": "L'appareil WashData à mettre en pause." } } }, "resume_cycle": { "name": "Reprendre le cycle", "description": "Reprendre un cycle en pause pour un appareil WashData.", "fields": { "device_id": { "name": "Appareil", "description": "Le périphérique WashData à reprendre." } } }, "trigger_ml_training": { "name": "Déclencher la formation ML", "description": "Réentraîner manuellement les modèles ML sur l'appareil à partir des cycles étiquetés de cet appareil (expérimental).", "fields": { "device_id": { "name": "Appareil", "description": "L'appareil WashData pour lequel réentraîner les modèles." } } } }, "entity": { "binary_sensor": { "running": { "name": "En marche" }, "match_ambiguity": { "name": "Ambiguïté des correspondances" } }, "sensor": { "washer_state": { "name": "État", "state": { "off": "Désactivé", "idle": "Inactif", "starting": "Démarrage", "running": "En marche", "paused": "En pause", "user_paused": "En pause par l'utilisateur", "ending": "En cours d'arrêt", "finished": "Terminé", "anti_wrinkle": "Anti-faux plis", "interrupted": "Interrompu", "force_stopped": "Arrêt forcé", "rinse": "Rinçage", "unknown": "Inconnu", "clean": "Propre", "delay_wait": "En attendant de commencer" } }, "washer_program": { "name": "Programme" }, "time_remaining": { "name": "Temps restant" }, "total_duration": { "name": "Durée totale" }, "cycle_progress": { "name": "Progrès" }, "current_power": { "name": "Puissance actuelle" }, "elapsed_time": { "name": "Temps écoulé" }, "debug_info": { "name": "Informations de débogage" }, "match_confidence": { "name": "Niveau de confiance" }, "top_candidates": { "name": "Meilleurs candidats", "state": { "none": "Aucun" } }, "ambiguity": { "name": "Score d'ambiguïté" }, "current_phase": { "name": "Phase actuelle" }, "profile_cycle_count": { "name": "Nombre de cycles du profil {profile_name}", "unit_of_measurement": "cycles" }, "suggestions": { "name": "Paramètres suggérés" }, "pump_runs_today": { "name": "La pompe fonctionne (dernières 24 heures)" }, "cycle_count": { "name": "Nombre de cycles" }, "energy_total": { "name": "Énergie totale" } }, "select": { "program_select": { "name": "Programme des cycles", "state": { "auto_detect": "Détection automatique" } } }, "button": { "force_end_cycle": { "name": "Forcer la fin du cycle" }, "pause_cycle": { "name": "Cycle de pause" }, "resume_cycle": { "name": "Reprendre le cycle" }, "record_start": { "name": "Démarrer l'enregistrement du cycle" }, "record_stop": { "name": "Arrêter l'enregistrement du cycle" } } }, "exceptions": { "device_id_required": { "message": "Un device_id valide est requis." }, "cycle_id_required": { "message": "Un cycle_id valide est requis." }, "profile_name_required": { "message": "Un nom_profil valide est requis." }, "device_not_found": { "message": "Appareil introuvable." }, "no_config_entry": { "message": "Aucune entrée de configuration trouvée pour l'appareil." }, "integration_not_loaded": { "message": "Intégration non chargée pour cet appareil." }, "cycle_not_found_or_no_power": { "message": "Cycle introuvable ou ne comportant aucune donnée de puissance." }, "trim_failed_empty_window": { "message": "Échec du trim : cycle introuvable, aucune donnée d'alimentation ou la fenêtre résultante est vide." }, "trim_invalid_range": { "message": "trim_end_s doit être supérieur à trim_start_s." }, "no_active_cycle": { "message": "Aucun cycle actif à mettre en pause ou à reprendre." }, "path_not_allowed": { "message": "Le chemin n'est pas autorisé : {path}. Ajoutez son répertoire à 'allowlist_external_dirs' dans configuration.yaml." }, "create_profile_failed": { "message": "Impossible de créer le profil : {error}" }, "export_path_exists": { "message": "La cible d'exportation existe déjà : {path}. Choisissez un autre chemin ou supprimez d'abord le fichier existant." }, "export_write_failed": { "message": "Impossible d'écrire l'exportation dans {path} : {error}" }, "assign_profile_failed": { "message": "Impossible d'attribuer le profil : {error}" } } }