441 lines
15 KiB
JSON
441 lines
15 KiB
JSON
{
|
||
"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."
|
||
}
|
||
},
|
||
"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}"
|
||
}
|
||
}
|
||
}
|