{
  "config": {
    "step": {
      "user": {
        "title": "Maintenance Supporter",
        "description": "Configurez votre système de gestion de maintenance.",
        "menu_options": {
          "create_object": "Créer un objet de maintenance",
          "create_from_template": "Créer à partir d'un modèle",
          "global_setup": "Paramètres globaux"
        }
      },
      "create_from_template": {
        "title": "Sélectionner la catégorie de modèle",
        "description": "Choisissez une catégorie pour parcourir les modèles de maintenance prédéfinis.",
        "data": {
          "template_category": "Catégorie",
          "go_back": "Retour"
        },
        "data_description": {
          "go_back": "Retourner au menu principal sans sauvegarder."
        }
      },
      "template_select": {
        "title": "Sélectionner un modèle",
        "description": "Choisissez un modèle de maintenance comme point de départ.",
        "data": {
          "template_id": "Modèle",
          "go_back": "Retour"
        },
        "data_description": {
          "go_back": "Retourner à la sélection de catégorie sans sauvegarder."
        }
      },
      "template_customize": {
        "title": "Personnaliser le modèle",
        "description": "Personnalisez le modèle {template_name}. Il comprend {task_count} tâches : {task_list}.",
        "data": {
          "name": "Nom de l'objet",
          "area_id": "Zone",
          "manufacturer": "Fabricant",
          "model": "Modèle",
          "serial_number": "Numéro de série",
          "documentation_url": "URL du manuel / documentation",
          "notes": "Notes",
          "go_back": "Retour"
        },
        "data_description": {
          "name": "Un nom pour cet objet de maintenance.",
          "area_id": "La zone où se trouve cet objet.",
          "manufacturer": "Le fabricant de l'objet.",
          "model": "Le nom ou numéro de modèle.",
          "serial_number": "Le numéro de série de l'objet.",
          "documentation_url": "Lien optionnel vers un manuel PDF, une page constructeur ou toute URL contenant des informations de référence pour cet objet.",
          "notes": "Notes libres sur l'objet — numéros de pièces, procédures, rappels de réglages, etc.",
          "go_back": "Retourner à la sélection de modèle sans sauvegarder."
        }
      },
      "global_setup": {
        "title": "Paramètres globaux",
        "description": "Configurez les paramètres globaux de maintenance.",
        "data": {
          "default_warning_days": "Jours d'avertissement par défaut",
          "notifications_enabled": "Activer les notifications",
          "notify_service": "Service de notification"
        },
        "data_description": {
          "default_warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "notifications_enabled": "Envoyer des notifications lorsque les tâches de maintenance arrivent à échéance.",
          "notify_service": "Le service de notification à utiliser (ex. : notify.mobile_app_phone)."
        }
      },
      "create_object": {
        "title": "Créer un objet de maintenance",
        "description": "Définissez un appareil ou un équipement pour gérer sa maintenance.",
        "data": {
          "name": "Nom de l'objet",
          "area_id": "Zone",
          "manufacturer": "Fabricant",
          "model": "Modèle",
          "serial_number": "Numéro de série",
          "documentation_url": "URL du manuel / documentation",
          "notes": "Notes",
          "installation_date": "Date d'installation",
          "warranty_expiry": "Fin de garantie",
          "go_back": "Retour"
        },
        "data_description": {
          "name": "Un nom unique pour cet objet de maintenance (ex. : 'Pompe piscine', 'Voiture').",
          "area_id": "La zone de votre domicile où se trouve cet objet.",
          "manufacturer": "Le fabricant de l'objet.",
          "model": "Le nom ou numéro de modèle.",
          "serial_number": "Le numéro de série de l'objet.",
          "documentation_url": "Lien optionnel vers un manuel PDF, une page constructeur ou toute URL contenant des informations de référence pour cet objet.",
          "notes": "Notes libres sur l'objet — numéros de pièces, procédures, rappels de réglages, etc.",
          "installation_date": "Date d'installation ou d'achat de cet objet.",
          "warranty_expiry": "Date d'expiration de la garantie du fabricant pour cet objet.",
          "go_back": "Retourner au menu principal sans sauvegarder."
        }
      },
      "task_menu": {
        "title": "Tâches de maintenance",
        "description": "Ajoutez des tâches de maintenance pour {object_name}. Actuellement {task_count} tâche(s) définie(s).",
        "menu_options": {
          "add_task": "Ajouter une tâche de maintenance",
          "finish": "Terminer la configuration"
        }
      },
      "add_task": {
        "title": "Ajouter une tâche de maintenance",
        "description": "Définissez une tâche de maintenance pour {object_name}.",
        "data": {
          "name": "Nom de la tâche",
          "type": "Type de maintenance",
          "schedule_type": "Type de planification",
          "custom_icon": "Icône de tâche",
          "go_back": "Retour"
        },
        "data_description": {
          "name": "Un nom descriptif pour cette tâche (ex. : 'Nettoyage filtre', 'Vidange').",
          "type": "La catégorie de travail de maintenance.",
          "schedule_type": "Comment cette tâche doit être planifiée.",
          "custom_icon": "Icône personnalisée optionnelle pour cette tâche (ex. mdi:oil, mdi:filter-variant).",
          "go_back": "Retourner au menu des tâches sans sauvegarder."
        }
      },
      "time_based": {
        "title": "Planification temporelle",
        "description": "Configurez l'intervalle de temps pour cette tâche de maintenance.",
        "data": {
          "interval_days": "Intervalle",
          "interval_unit": "Unité d'intervalle",
          "last_performed": "Dernière exécution",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour",
          "interval_anchor": "Ancrage d'intervalle"
        },
        "data_description": {
          "interval_days": "Fréquence de répétition de cette maintenance, combinée à l'unité d'intervalle.",
          "interval_unit": "Unité de l'intervalle : jours, semaines, mois ou années. Les mois et années suivent le calendrier.",
          "last_performed": "Date de la dernière maintenance effectuée. Laissez vide si jamais effectuée.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "go_back": "Retourner à la création de tâche sans sauvegarder.",
          "interval_anchor": "Comment la prochaine date d'échéance est calculée après l'achèvement. 'Planifié' empêche la dérive en s'ancrant à la date prévue."
        }
      },
      "one_time": {
        "title": "Tâche unique",
        "description": "Configurez une tâche de maintenance unique et non récurrente. Elle est archivée une fois terminée.",
        "data": {
          "due_date": "Date d'échéance",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour"
        },
        "data_description": {
          "due_date": "La date à laquelle cette tâche unique est due.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "go_back": "Retourner à la création de tâche sans sauvegarder."
        }
      },
      "calendar": {
        "title": "Planification par calendrier",
        "description": "Configurez une récurrence basée sur le calendrier (jours de la semaine, n-ième jour de la semaine du mois ou un jour du mois).",
        "data": {
          "weekdays": "Ces jours de la semaine",
          "nth": "Quelle occurrence",
          "weekday": "Jour de la semaine",
          "day": "Jour du mois",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour",
          "last_day": "Dernier jour du mois",
          "business": "Jours ouvrés uniquement",
          "offset": "Décalage (jours)"
        },
        "data_description": {
          "weekdays": "La tâche se répète chaque jour de la semaine sélectionné.",
          "nth": "Quelle occurrence dans le mois (par ex. 1er, ou Dernier).",
          "weekday": "Le jour de la semaine pour la règle du n-ième jour (par ex. samedi).",
          "day": "Jour du mois (1-31 ; limité à la durée du mois).",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "go_back": "Retourner à la création de tâche sans sauvegarder.",
          "last_day": "Remplace le numéro du jour : échéance le dernier jour du mois.",
          "business": "Ramène une date de week-end au vendredi précédent (ex. dernier jour ouvré).",
          "offset": "Décale la date calculée de ±N jours (ex. -2 = deux jours avant)."
        }
      },
      "sensor_select": {
        "title": "Sélectionner le capteur déclencheur",
        "description": "Choisissez une entité Home Assistant à surveiller pour cette tâche de maintenance.",
        "data": {
          "trigger_entity": "Entité à surveiller",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_entity": "Sélectionnez l'entité capteur qui doit déclencher cette tâche de maintenance.",
          "go_back": "Retourner à la création de tâche sans sauvegarder."
        }
      },
      "sensor_attribute": {
        "title": "Sélectionner l'attribut",
        "description": "Choisissez quelle valeur surveiller de {entity_id}. État actuel : {current_state} {unit}",
        "data": {
          "trigger_attribute": "Valeur à surveiller",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_attribute": "Sélectionnez l'état de l'entité ou un attribut spécifique à surveiller.",
          "go_back": "Retourner à la sélection d'entité sans sauvegarder."
        }
      },
      "trigger_type": {
        "title": "Type de déclencheur",
        "description": "Comment la valeur du capteur doit-elle déclencher la maintenance ?",
        "data": {
          "trigger_type": "Type de déclencheur",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_type": "Seuil : se déclenche quand la valeur dépasse les limites. Compteur : se déclenche après avoir accumulé une valeur cible. Changement d'état : se déclenche après un nombre de transitions d'état.",
          "go_back": "Retourner à la sélection d'attribut sans sauvegarder."
        }
      },
      "trigger_threshold": {
        "title": "Configuration du seuil",
        "description": "Définissez les seuils pour **{entity_id}** ({attribute}).\nActuel : **{current_value} {unit}** | Moy. : {average} | Plage : {minimum}–{maximum} ({data_period}j)\nSeuil haut suggéré : {suggested_above} | Seuil bas suggéré : {suggested_below}",
        "data": {
          "trigger_above": "Déclencher au-dessus de",
          "trigger_below": "Déclencher en-dessous de",
          "trigger_for_minutes": "Pendant au moins (minutes)",
          "interval_days": "Intervalle de sécurité",
          "interval_unit": "Unité d'intervalle",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_above": "Déclencher la maintenance lorsque la valeur dépasse ce seuil.",
          "trigger_below": "Déclencher la maintenance lorsque la valeur passe en-dessous de ce seuil.",
          "trigger_for_minutes": "La valeur doit dépasser le seuil pendant ce nombre de minutes avant le déclenchement.",
          "interval_days": "Intervalle de sécurité temporel optionnel en plus du déclencheur capteur.",
          "interval_unit": "Unité de l'intervalle : jours, semaines, mois ou années. Les mois et années suivent le calendrier.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "go_back": "Retourner à la sélection du type de déclencheur sans sauvegarder."
        }
      },
      "trigger_counter": {
        "title": "Configuration du compteur",
        "description": "Définissez la valeur cible du compteur pour {entity_id} ({attribute}). Actuel : {current_value} {unit}.",
        "data": {
          "trigger_target_value": "Valeur cible",
          "trigger_delta_mode": "Mode delta (compter les changements, pas la valeur absolue)",
          "interval_days": "Intervalle de sécurité",
          "interval_unit": "Unité d'intervalle",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_target_value": "Déclencher la maintenance lorsque cette valeur accumulée est atteinte.",
          "trigger_delta_mode": "Si activé, compte la différence par rapport à une base plutôt que la valeur absolue.",
          "interval_days": "Intervalle de sécurité temporel optionnel en plus du déclencheur compteur.",
          "interval_unit": "Unité de l'intervalle : jours, semaines, mois ou années. Les mois et années suivent le calendrier.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "go_back": "Retourner à la sélection du type de déclencheur sans sauvegarder."
        }
      },
      "trigger_state_change": {
        "title": "Configuration du changement d'état",
        "description": "Comptez les transitions d'état de {entity_id}.",
        "data": {
          "trigger_from_state": "Depuis l'état (optionnel)",
          "trigger_to_state": "Vers l'état (optionnel)",
          "trigger_target_changes": "Nombre de changements pour déclencher",
          "interval_days": "Intervalle de sécurité",
          "interval_unit": "Unité d'intervalle",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_from_state": "Compter uniquement les transitions depuis cet état. Laissez vide pour tous.",
          "trigger_to_state": "Compter uniquement les transitions vers cet état. Laissez vide pour tous.",
          "trigger_target_changes": "Nombre de changements d'état correspondants avant de déclencher la maintenance.",
          "interval_days": "Intervalle de sécurité temporel optionnel en plus du déclencheur de changement d'état.",
          "interval_unit": "Unité de l'intervalle : jours, semaines, mois ou années. Les mois et années suivent le calendrier.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "go_back": "Retourner à la sélection du type de déclencheur sans sauvegarder."
        }
      },
      "trigger_runtime": {
        "title": "Configuration du temps de fonctionnement",
        "description": "Suivez le temps de fonctionnement cumulé de {entity_id}. La maintenance se déclenche lorsque le temps total de fonctionnement atteint les heures cibles.",
        "data": {
          "trigger_runtime_hours": "Temps de fonctionnement cible (heures)",
          "trigger_on_states": "États actifs (séparés par des virgules)",
          "interval_days": "Intervalle de sécurité",
          "interval_unit": "Unité d'intervalle",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_runtime_hours": "Déclencher la maintenance après ce nombre d'heures de fonctionnement cumulé.",
          "trigger_on_states": "Quels états du capteur comptent comme 'actif'. Laisser vide pour défaut : on, 1, true. Exemple : in_use, running",
          "interval_days": "Intervalle de sécurité temporel optionnel en plus du déclencheur de temps de fonctionnement.",
          "interval_unit": "Unité de l'intervalle : jours, semaines, mois ou années. Les mois et années suivent le calendrier.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "go_back": "Retourner à la sélection du type de déclencheur sans sauvegarder."
        }
      },
      "compound_logic": {
        "title": "Déclencheur composé",
        "description": "Choisissez comment combiner les conditions multiples.",
        "data": {
          "compound_logic": "Logique",
          "go_back": "Retour"
        },
        "data_description": {
          "compound_logic": "ET = toutes les conditions doivent se déclencher. OU = n'importe quelle condition déclenche.",
          "go_back": "Retourner à la sélection du type de déclencheur sans sauvegarder."
        }
      },
      "compound_condition_entity": {
        "title": "Condition #{condition_num} — Entité",
        "description": "Sélectionnez l'entité pour cette condition.",
        "data": {
          "trigger_entity": "Entité",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_entity": "L'entité capteur à surveiller pour cette condition.",
          "go_back": "Retourner à l'étape précédente sans sauvegarder."
        }
      },
      "compound_condition_type": {
        "title": "Condition #{condition_num} — Type",
        "description": "Comment cette condition doit-elle évaluer le capteur ?",
        "data": {
          "trigger_type": "Type de déclencheur",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_type": "La méthode utilisée pour déterminer quand cette condition se déclenche.",
          "go_back": "Retourner à la sélection d'entité sans sauvegarder."
        }
      },
      "compound_condition_threshold": {
        "title": "Condition — Seuil",
        "data": {
          "trigger_above": "Déclencher au-dessus de",
          "trigger_below": "Déclencher en dessous de",
          "trigger_for_minutes": "Durée (minutes)",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_above": "Déclencher quand la valeur dépasse ce seuil.",
          "trigger_below": "Déclencher quand la valeur tombe en dessous de ce seuil.",
          "trigger_for_minutes": "La valeur doit rester au-delà du seuil pendant cette durée.",
          "go_back": "Retourner à la sélection du type de condition sans sauvegarder."
        }
      },
      "compound_condition_counter": {
        "title": "Condition — Compteur",
        "data": {
          "trigger_target_value": "Valeur cible",
          "trigger_delta_mode": "Mode delta",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_target_value": "Déclencher quand la valeur accumulée atteint cette cible.",
          "trigger_delta_mode": "Compter les changements depuis une ligne de base au lieu de la valeur absolue.",
          "go_back": "Retourner à la sélection du type de condition sans sauvegarder."
        }
      },
      "compound_condition_state_change": {
        "title": "Condition — Changement d'état",
        "data": {
          "trigger_from_state": "Depuis l'état",
          "trigger_to_state": "Vers l'état",
          "trigger_target_changes": "Nombre de changements",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_from_state": "Ne compter que les transitions depuis cet état. Laisser vide pour tous.",
          "trigger_to_state": "Ne compter que les transitions vers cet état. Laisser vide pour tous.",
          "trigger_target_changes": "Nombre de changements d'état correspondants avant le déclenchement.",
          "go_back": "Retourner à la sélection du type de condition sans sauvegarder."
        }
      },
      "compound_condition_runtime": {
        "title": "Condition — Durée de fonctionnement",
        "data": {
          "trigger_runtime_hours": "Durée cible (heures)",
          "trigger_on_states": "États actifs",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_runtime_hours": "Déclencher après ce nombre d'heures de fonctionnement accumulé.",
          "trigger_on_states": "États du capteur comptés comme 'actifs'. Laisser vide pour la valeur par défaut.",
          "go_back": "Retourner à la sélection du type de condition sans sauvegarder."
        }
      },
      "compound_review": {
        "title": "Révision du déclencheur composé",
        "description": "{condition_count} condition(s) configurée(s) avec la logique {compound_logic}.",
        "data": {
          "compound_action": "Action",
          "go_back": "Retour"
        },
        "data_description": {
          "go_back": "Retourner à la sélection de logique sans sauvegarder."
        }
      },
      "manual": {
        "title": "Planification manuelle",
        "description": "Cette tâche n'a pas de planification automatique. Vous pouvez la marquer comme due manuellement.",
        "data": {
          "warning_days": "Jours d'avertissement avant échéance",
          "notes": "Notes",
          "go_back": "Retour"
        },
        "data_description": {
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "notes": "Notes ou instructions supplémentaires pour cette tâche.",
          "go_back": "Retourner à la création de tâche sans sauvegarder."
        }
      },
      "reconfigure": {
        "title": "Reconfigurer {name}",
        "description": "Mettre à jour les paramètres de cet objet de maintenance.",
        "data": {
          "name": "Nom de l'objet",
          "area_id": "Zone",
          "manufacturer": "Fabricant",
          "model": "Modèle",
          "serial_number": "Numéro de série",
          "documentation_url": "URL du manuel / documentation",
          "notes": "Notes",
          "installation_date": "Date d'installation",
          "warranty_expiry": "Fin de garantie"
        },
        "data_description": {
          "name": "Le nom de cet objet de maintenance.",
          "area_id": "La zone où se trouve cet objet.",
          "manufacturer": "Le fabricant de cet objet.",
          "model": "Le modèle de cet objet.",
          "serial_number": "Le numéro de série de cet objet.",
          "documentation_url": "Lien optionnel vers un manuel PDF, une page constructeur ou toute URL contenant des informations de référence pour cet objet.",
          "notes": "Notes libres sur l'objet — numéros de pièces, procédures, rappels de réglages, etc.",
          "installation_date": "Quand cet objet a été installé.",
          "warranty_expiry": "Date d'expiration de la garantie du fabricant pour cet objet."
        }
      }
    },
    "error": {
      "name_exists": "Un objet de maintenance avec ce nom existe déjà.",
      "no_tasks": "Au moins une tâche de maintenance est requise.",
      "invalid_entity": "L'entité sélectionnée n'existe pas ou n'a pas de données numériques.",
      "invalid_attribute": "L'attribut sélectionné n'est pas disponible sur cette entité.",
      "invalid_threshold": "Au moins un seuil (haut ou bas) doit être défini.",
      "invalid_due_date": "Une date d'échéance est requise pour les tâches uniques.",
      "invalid_interval": "L'intervalle doit être un nombre positif.",
      "min_exceeds_max": "L'intervalle minimum ne doit pas dépasser l'intervalle maximum.",
      "invalid_notify_service": "Format du service de notification invalide. Utilisez 'notify.nom_du_service' (ex. : notify.mobile_app_phone).",
      "notify_service_not_found": "Ce service de notification n'a pas été trouvé dans Home Assistant. Veuillez vérifier le nom du service.",
      "nfc_tag_duplicate": "Ce tag NFC est déjà lié à une autre tâche."
    },
    "abort": {
      "already_configured": "Cet objet de maintenance est déjà configuré.",
      "global_already_exists": "Les paramètres globaux sont déjà configurés.",
      "template_not_found": "Le modèle sélectionné n'a pas été trouvé.",
      "missing_data": "Les données requises n'ont pas été fournies.",
      "reconfigure_successful": "Configuration mise à jour avec succès.",
      "reconfigure_cancelled": "Reconfiguration annulée."
    }
  },
  "options": {
    "step": {
      "init": {
        "title": "Options de maintenance",
        "description": "{object_info}",
        "menu_options": {
          "manage_tasks": "Gérer les tâches",
          "add_task": "Ajouter une nouvelle tâche",
          "object_settings": "Paramètres de l'objet",
          "done": "Terminé"
        }
      },
      "global_init": {
        "title": "Paramètres globaux",
        "description": "Configurez les paramètres globaux de maintenance.",
        "menu_options": {
          "general_settings": "Paramètres généraux",
          "advanced_features": "Fonctionnalités avancées",
          "panel_access": "Accès au panneau",
          "budget_settings": "Paramètres de budget",
          "manage_groups": "Gérer les groupes",
          "notification_settings": "Paramètres de notification",
          "notification_actions": "Actions interactives",
          "test_notification": "Envoyer une notification de test",
          "done": "Terminé"
        }
      },
      "advanced_features": {
        "title": "Fonctionnalités avancées",
        "description": "Choisissez les fonctionnalités avancées à afficher dans l'interface. Désactiver une fonctionnalité la masque de l'interface mais ne supprime aucune donnée.",
        "data": {
          "advanced_adaptive_visible": "Planification adaptative",
          "advanced_predictions_visible": "Prédictions capteur",
          "advanced_seasonal_visible": "Ajustements saisonniers",
          "advanced_environmental_visible": "Corrélation environnementale",
          "advanced_budget_visible": "Suivi du budget",
          "advanced_groups_visible": "Groupes",
          "advanced_checklists_visible": "Listes de contrôle",
          "advanced_schedule_time_visible": "Planification à l'heure"
        },
        "data_description": {
          "advanced_adaptive_visible": "Afficher l'analyse EWA, Weibull et les suggestions d'intervalle pour les tâches.",
          "advanced_predictions_visible": "Afficher l'analyse de dégradation capteur et les graphiques de prédiction de seuil.",
          "advanced_seasonal_visible": "Afficher les graphiques de facteurs saisonniers et les données d'ajustement mensuel.",
          "advanced_environmental_visible": "Afficher les ajustements de corrélation environnementale (température, humidité).",
          "advanced_budget_visible": "Afficher le suivi de budget mensuel/annuel et les alertes.",
          "advanced_groups_visible": "Afficher la gestion des groupes de maintenance.",
          "advanced_checklists_visible": "Afficher les listes de contrôle pour la réalisation étape par étape des tâches.",
          "advanced_schedule_time_visible": "Permettre aux tâches d'arriver à échéance à une heure précise plutôt qu'à minuit."
        }
      },
      "panel_access": {
        "title": "Accès au panneau",
        "description": "Les administrateurs ont toujours un accès complet. Pour déléguer la création, la modification et la suppression à des non-administrateurs spécifiques, activez l'option ci-dessous et sélectionnez-les — les autres ne voient que Terminer et Ignorer. {user_count} utilisateur(s) non administrateur(s) trouvé(s).",
        "data": {
          "operator_write_enabled": "Autoriser les utilisateurs sélectionnés à créer, modifier et supprimer",
          "admin_panel_user_ids": "Utilisateurs avec accès complet au panneau"
        },
        "data_description": {
          "operator_write_enabled": "Désactivé (par défaut) : seuls les administrateurs peuvent modifier le contenu. Activé : les utilisateurs sélectionnés ci-dessous ont aussi un accès complet.",
          "admin_panel_user_ids": "Les utilisateurs sélectionnés voient le panneau complet ; tous les autres ne voient que Terminer et Ignorer."
        }
      },
      "general_settings": {
        "title": "Paramètres généraux",
        "description": "Configurez les paramètres de base de Maintenance Supporter.",
        "data": {
          "default_warning_days": "Jours d'avertissement par défaut",
          "notifications_enabled": "Activer les notifications",
          "notify_service": "Service de notification",
          "panel_enabled": "Afficher le panneau dans la barre latérale",
          "panel_title": "Titre du panneau latéral"
        },
        "data_description": {
          "default_warning_days": "Nombre de jours avant l'échéance d'une tâche de maintenance pour afficher un avertissement.",
          "notifications_enabled": "Envoyer des notifications lorsque les tâches de maintenance arrivent à échéance ou sont en retard.",
          "notify_service": "Le service de notification à utiliser (ex. : notify.mobile_app_phone).",
          "panel_enabled": "Afficher un panneau Maintenance Supporter dans la barre latérale.",
          "panel_title": "Nom personnalisé pour l'entrée de la barre latérale. Laissez vide pour utiliser « Maintenance ». Utile pour éviter la confusion avec le tableau de bord Maintenance intégré de Home Assistant."
        }
      },
      "notification_settings": {
        "title": "Paramètres de notification",
        "description": "Configurez quand et à quelle fréquence les notifications sont envoyées pour chaque statut.",
        "data": {
          "notify_due_soon_enabled": "Notifier quand bientôt dû",
          "notify_due_soon_interval_hours": "Intervalle de rappel bientôt dû (heures)",
          "notify_overdue_enabled": "Notifier quand en retard",
          "notify_overdue_interval_hours": "Intervalle de rappel en retard (heures)",
          "notify_triggered_enabled": "Notifier quand déclenché",
          "notify_triggered_interval_hours": "Intervalle de rappel déclenché (heures)",
          "quiet_hours_enabled": "Activer les heures calmes",
          "quiet_hours_start": "Début des heures calmes",
          "quiet_hours_end": "Fin des heures calmes",
          "max_notifications_per_day": "Notifications max par jour",
          "notification_bundling_enabled": "Regrouper les notifications",
          "notification_bundle_threshold": "Seuil de regroupement",
          "notification_title_style": "Style du titre de notification"
        },
        "data_description": {
          "notify_due_soon_interval_hours": "Fréquence de répétition du rappel bientôt dû. Définir à 0 pour une seule notification.",
          "notify_overdue_interval_hours": "Fréquence de répétition du rappel en retard. Définir à 0 pour une seule notification.",
          "notify_triggered_interval_hours": "Fréquence de répétition de la notification déclenchée. Définir à 0 pour une seule notification.",
          "quiet_hours_enabled": "Supprimer les notifications pendant les heures calmes.",
          "max_notifications_per_day": "Nombre maximum de notifications par jour. Définir à 0 pour illimité.",
          "notification_bundling_enabled": "Envoyer une notification résumée lorsque plusieurs tâches nécessitent attention.",
          "notification_bundle_threshold": "Nombre minimum de tâches pour déclencher une notification groupée.",
          "notification_title_style": "Ce qui apparaît comme TITRE de la notification. Par défaut, le texte par statut est conservé (p. ex. « Maintenance en retard ! »). Nom de l'objet / tâche aide quand le téléphone empile les notifications."
        }
      },
      "notification_actions": {
        "title": "Actions interactives",
        "description": "Configurez les boutons d'action affichés sur les notifications mobiles (nécessite l'application Companion).",
        "data": {
          "action_complete_enabled": "Afficher le bouton 'Terminer'",
          "action_skip_enabled": "Afficher le bouton 'Passer'",
          "action_snooze_enabled": "Afficher le bouton 'Reporter'",
          "snooze_duration_hours": "Durée du report (heures)"
        },
        "data_description": {
          "action_complete_enabled": "Ajoute un bouton pour marquer la tâche comme terminée directement depuis la notification.",
          "action_skip_enabled": "Ajoute un bouton pour passer le cycle de maintenance actuel depuis la notification.",
          "action_snooze_enabled": "Ajoute un bouton pour reporter le rappel de notification.",
          "snooze_duration_hours": "Durée du report des notifications lorsque le bouton reporter est pressé."
        }
      },
      "budget_settings": {
        "title": "Paramètres de budget",
        "description": "Définissez des budgets de maintenance mensuels et annuels pour suivre les dépenses.",
        "data": {
          "budget_currency": "Devise",
          "budget_monthly": "Budget mensuel",
          "budget_yearly": "Budget annuel",
          "budget_alerts_enabled": "Activer les alertes de budget",
          "budget_alert_threshold": "Seuil d'alerte (%)"
        },
        "data_description": {
          "budget_currency": "Devise utilisée pour l'affichage du budget et les notifications.",
          "budget_monthly": "Dépenses de maintenance mensuelles maximales. Définir à 0 pour désactiver.",
          "budget_yearly": "Dépenses de maintenance annuelles maximales. Définir à 0 pour désactiver.",
          "budget_alerts_enabled": "Envoyer une notification lorsque les dépenses dépassent le seuil d'alerte.",
          "budget_alert_threshold": "Pourcentage du budget auquel envoyer une alerte."
        }
      },
      "test_notification": {
        "title": "Notification de test",
        "description": "{result}"
      },
      "manage_groups": {
        "title": "Gérer les groupes",
        "description": "Sélectionnez un groupe à gérer ou créez-en un nouveau.",
        "data": {
          "selected_group": "Sélectionner un groupe"
        }
      },
      "add_group": {
        "title": "Ajouter un groupe",
        "description": "Créez un nouveau groupe de maintenance pour organiser les tâches associées.",
        "data": {
          "group_name": "Nom du groupe",
          "group_description": "Description"
        },
        "data_description": {
          "group_name": "Un nom pour ce groupe (ex. : 'Maintenance de printemps').",
          "group_description": "Description optionnelle pour ce groupe."
        }
      },
      "manage_tasks": {
        "title": "Gérer les tâches",
        "description": "Sélectionnez une tâche à modifier ou supprimer.",
        "data": {
          "selected_task": "Sélectionner une tâche",
          "go_back": "Retour"
        }
      },
      "task_action": {
        "title": "Actions de tâche",
        "description": "Tâche : {task_name} — Choisissez une action.\n\nProchaines échéances : {next_dates}",
        "menu_options": {
          "edit_task": "Modifier la tâche",
          "edit_trigger": "Modifier le déclencheur",
          "remove_trigger": "Supprimer le déclencheur",
          "edit_checklist": "Modifier la liste de contrôle",
          "adaptive_scheduling": "Planification adaptative",
          "delete_task": "Supprimer la tâche",
          "manage_tasks": "Retour"
        }
      },
      "edit_task": {
        "title": "Modifier la tâche",
        "description": "Modifier les paramètres de **{task_name}**.",
        "data": {
          "name": "Nom de la tâche",
          "type": "Type de maintenance",
          "interval_days": "Intervalle",
          "interval_unit": "Unité d'intervalle",
          "warning_days": "Jours d'avertissement avant échéance",
          "due_date": "Date d'échéance",
          "enabled": "Activé",
          "notes": "Notes",
          "documentation_url": "URL de documentation",
          "last_performed": "Dernière exécution",
          "responsible_user_id": "Utilisateur responsable",
          "custom_icon": "Icône de tâche",
          "nfc_tag_id": "ID de tag NFC",
          "go_back": "Retour",
          "interval_anchor": "Ancrage d'intervalle",
          "reading_unit": "Unité de relevé (pour les tâches de relevé, p. ex. kWh)",
          "season_months": "Fenetre saisonniere (mois)",
          "ends_count": "Se termine apres (nombre de fois)",
          "ends_until": "Se termine a la date"
        },
        "data_description": {
          "name": "Un nom descriptif pour cette tâche (ex. 'Nettoyage du filtre', 'Vidange').",
          "type": "La catégorie du travail de maintenance.",
          "interval_days": "Fréquence de répétition de cette maintenance, combinée à l'unité d'intervalle.",
          "interval_unit": "Unité de l'intervalle : jours, semaines, mois ou années. Les mois et années suivent le calendrier.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "due_date": "La date à laquelle cette tâche unique est due.",
          "enabled": "Lorsque désactivé, la planification et les déclencheurs sont suspendus. La tâche n'est pas supprimée.",
          "notes": "Notes supplémentaires ou instructions pour cette tâche.",
          "documentation_url": "Lien vers la documentation externe ou le manuel pour cette tâche.",
          "last_performed": "Quand cette maintenance a été effectuée pour la dernière fois. Laisser vide si jamais effectuée.",
          "responsible_user_id": "L'utilisateur Home Assistant responsable de cette tâche.",
          "custom_icon": "Icône personnalisée optionnelle pour cette tâche (ex. mdi:oil, mdi:filter-variant).",
          "nfc_tag_id": "Associer un tag NFC à cette tâche. Scanner le tag marquera automatiquement la tâche comme terminée.",
          "go_back": "Retour aux actions de tâche sans enregistrer.",
          "interval_anchor": "Comment la prochaine date d'échéance est calculée après l'achèvement. 'Planifié' empêche la dérive en s'ancrant à la date prévue.",
          "season_months": "Du uniquement les mois selectionnes ; les dates hors saison passent au mois actif suivant. Vide = toute l'annee.",
          "ends_count": "Arreter de repeter apres ce nombre d'executions (serie finie). Vide = sans limite.",
          "ends_until": "Arreter de repeter des que la prochaine occurrence tomberait apres cette date. Ignore si 'Se termine apres' est defini."
        }
      },
      "edit_checklist": {
        "title": "Modifier la liste de contrôle",
        "description": "Définissez les étapes de la liste de contrôle pour {task_name}. Saisissez une étape par ligne.",
        "data": {
          "checklist_text": "Étapes de la liste de contrôle",
          "go_back": "Retour"
        },
        "data_description": {
          "checklist_text": "Saisissez chaque étape sur une ligne séparée. Ces étapes seront affichées lors de la réalisation de la tâche.",
          "go_back": "Retour aux actions de tâche sans enregistrer."
        }
      },
      "compound_logic": {
        "title": "Déclencheur composé",
        "description": "Choisissez comment combiner les conditions multiples.",
        "data": {
          "compound_logic": "Logique",
          "go_back": "Retour"
        },
        "data_description": {
          "compound_logic": "ET = toutes les conditions doivent se déclencher. OU = n'importe quelle condition déclenche."
        }
      },
      "compound_condition_entity": {
        "title": "Condition #{condition_num} — Entité",
        "description": "Sélectionnez l'entité pour cette condition.",
        "data": {
          "trigger_entity": "Entité",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_entity": "L'entité capteur à surveiller pour cette condition."
        }
      },
      "compound_condition_type": {
        "title": "Condition #{condition_num} — Type",
        "description": "Comment cette condition doit-elle évaluer le capteur ?",
        "data": {
          "trigger_type": "Type de déclencheur",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_type": "La méthode utilisée pour déterminer quand cette condition se déclenche."
        }
      },
      "compound_condition_threshold": {
        "title": "Condition — Seuil",
        "data": {
          "trigger_above": "Déclencher au-dessus de",
          "trigger_below": "Déclencher en dessous de",
          "trigger_for_minutes": "Durée (minutes)",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_above": "Déclencher quand la valeur dépasse ce seuil.",
          "trigger_below": "Déclencher quand la valeur tombe en dessous de ce seuil.",
          "trigger_for_minutes": "La valeur doit rester au-delà du seuil pendant cette durée."
        }
      },
      "compound_condition_counter": {
        "title": "Condition — Compteur",
        "data": {
          "trigger_target_value": "Valeur cible",
          "trigger_delta_mode": "Mode delta",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_target_value": "Déclencher quand la valeur accumulée atteint cette cible.",
          "trigger_delta_mode": "Compter les changements depuis une ligne de base au lieu de la valeur absolue."
        }
      },
      "compound_condition_state_change": {
        "title": "Condition — Changement d'état",
        "data": {
          "trigger_from_state": "Depuis l'état",
          "trigger_to_state": "Vers l'état",
          "trigger_target_changes": "Nombre de changements",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_from_state": "Ne compter que les transitions depuis cet état. Laisser vide pour tous.",
          "trigger_to_state": "Ne compter que les transitions vers cet état. Laisser vide pour tous.",
          "trigger_target_changes": "Nombre de changements d'état correspondants avant le déclenchement."
        }
      },
      "compound_condition_runtime": {
        "title": "Condition — Durée de fonctionnement",
        "data": {
          "trigger_runtime_hours": "Durée cible (heures)",
          "trigger_on_states": "États actifs",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_runtime_hours": "Déclencher après ce nombre d'heures de fonctionnement accumulé.",
          "trigger_on_states": "États du capteur comptés comme 'actifs'. Laisser vide pour la valeur par défaut."
        }
      },
      "compound_review": {
        "title": "Révision du déclencheur composé",
        "description": "{condition_count} condition(s) configurée(s) avec la logique {compound_logic}.",
        "data": {
          "compound_action": "Action",
          "go_back": "Retour"
        }
      },
      "adaptive_scheduling": {
        "title": "Planification adaptative",
        "description": "Configurez l'adaptation intelligente des intervalles pour {task_name}. Le système apprend de vos retours de réalisation pour suggérer de meilleurs intervalles.",
        "data": {
          "adaptive_enabled": "Activer la planification adaptative",
          "ewa_alpha": "Taux d'apprentissage (alpha)",
          "min_interval_days": "Intervalle minimum (jours)",
          "max_interval_days": "Intervalle maximum (jours)",
          "seasonal_enabled": "Activer la sensibilité saisonnière",
          "sensor_prediction_enabled": "Activer les prédictions capteur",
          "environmental_entity": "Capteur environnemental (optionnel)",
          "go_back": "Retour"
        },
        "data_description": {
          "adaptive_enabled": "Lorsqu'activé, le système apprend de vos retours et suggère des intervalles de maintenance optimaux.",
          "ewa_alpha": "Vitesse d'adaptation de l'algorithme aux nouvelles données. Plus élevé = plus réactif, plus bas = plus stable.",
          "min_interval_days": "L'intervalle le plus court que le système recommandera.",
          "max_interval_days": "L'intervalle le plus long que le système recommandera.",
          "seasonal_enabled": "Ajuster les recommandations selon les tendances saisonnières apprises de votre historique de maintenance.",
          "sensor_prediction_enabled": "Analyser les tendances capteur pour prédire quand les seuils seront atteints et suggérer une maintenance anticipée si nécessaire.",
          "environmental_entity": "Associez un capteur de température, d'humidité ou de pression pour corréler les conditions environnementales avec les intervalles de maintenance.",
          "go_back": "Retour aux actions de tâche sans enregistrer."
        }
      },
      "delete_task": {
        "title": "Supprimer la tâche",
        "description": "Êtes-vous sûr de vouloir supprimer la tâche {task_name} ? Cette action est irréversible.",
        "data": {
          "confirm": "Confirmer la suppression",
          "go_back": "Retour"
        }
      },
      "remove_trigger": {
        "title": "Supprimer le déclencheur",
        "description": "Supprimer le déclencheur de **{task_name}** ?\n\n**Entité :** {entity_ids}\n**Type :** {trigger_type}\n**Configuration :** {config_details}\n\nSi toutes les entités sont supprimées, la planification reviendra en mode temporel.",
        "data": {
          "entities_to_remove": "Entités à supprimer",
          "confirm": "Confirmer la suppression",
          "go_back": "Retour"
        },
        "data_description": {
          "entities_to_remove": "Sélectionnez les entités à supprimer de ce déclencheur. Si toutes sont supprimées, le déclencheur entier est supprimé.",
          "go_back": "Retour aux actions de tâche sans enregistrer."
        }
      },
      "trigger_summary": {
        "title": "Déclencheur actuel",
        "description": "Déclencheur pour **{task_name}** :\n\n**Entité :** {entity_ids}\n**État actuel :** {current_states}\n**Type :** {trigger_type} (attribut : {attribute})\n**Configuration :** {config_details}",
        "menu_options": {
          "edit_trigger_proceed": "Modifier le déclencheur",
          "task_action": "Retour"
        }
      },
      "add_task": {
        "title": "Ajouter une tâche de maintenance",
        "description": "Définir une nouvelle tâche de maintenance pour cet objet.",
        "data": {
          "name": "Nom de la tâche",
          "type": "Type de maintenance",
          "schedule_type": "Type de planification",
          "custom_icon": "Icône de tâche",
          "go_back": "Retour",
          "reading_unit": "Unité de relevé (pour les tâches de relevé, p. ex. kWh)"
        },
        "data_description": {
          "name": "Un nom descriptif pour cette tâche (ex. 'Nettoyage du filtre', 'Vidange').",
          "type": "La catégorie du travail de maintenance.",
          "schedule_type": "Comment cette tâche doit être planifiée.",
          "custom_icon": "Icône personnalisée optionnelle pour cette tâche (ex. : mdi:oil, mdi:filter-variant).",
          "go_back": "Retourner au menu principal sans sauvegarder."
        }
      },
      "opt_time_based": {
        "title": "Planification temporelle",
        "description": "Configurer l'intervalle de temps pour cette tâche.",
        "data": {
          "interval_days": "Intervalle",
          "interval_unit": "Unité d'intervalle",
          "last_performed": "Dernière exécution",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour",
          "interval_anchor": "Ancrage d'intervalle"
        },
        "data_description": {
          "interval_days": "Fréquence de répétition de cette maintenance, combinée à l'unité d'intervalle.",
          "interval_unit": "Unité de l'intervalle : jours, semaines, mois ou années. Les mois et années suivent le calendrier.",
          "last_performed": "Quand cette maintenance a été effectuée pour la dernière fois. Laisser vide si jamais effectuée.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "go_back": "Retourner au menu principal sans sauvegarder.",
          "interval_anchor": "Comment la prochaine date d'échéance est calculée après l'achèvement. 'Planifié' empêche la dérive en s'ancrant à la date prévue."
        }
      },
      "opt_one_time": {
        "title": "Tâche unique",
        "description": "Configurez une tâche de maintenance unique et non récurrente. Elle est archivée une fois terminée.",
        "data": {
          "due_date": "Date d'échéance",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour"
        },
        "data_description": {
          "due_date": "La date à laquelle cette tâche unique est due.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "go_back": "Retourner au menu principal sans sauvegarder."
        }
      },
      "opt_calendar": {
        "title": "Planification par calendrier",
        "description": "Configurez une récurrence basée sur le calendrier (jours de la semaine, n-ième jour de la semaine du mois ou un jour du mois).",
        "data": {
          "weekdays": "Ces jours de la semaine",
          "nth": "Quelle occurrence",
          "weekday": "Jour de la semaine",
          "day": "Jour du mois",
          "last_performed": "Dernière exécution",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour",
          "last_day": "Dernier jour du mois",
          "business": "Jours ouvrés uniquement",
          "offset": "Décalage (jours)"
        },
        "data_description": {
          "weekdays": "La tâche se répète chaque jour de la semaine sélectionné.",
          "nth": "Quelle occurrence dans le mois (par ex. 1er, ou Dernier).",
          "weekday": "Le jour de la semaine pour la règle du n-ième jour (par ex. samedi).",
          "day": "Jour du mois (1-31 ; limité à la durée du mois).",
          "last_performed": "Date de la dernière exécution de cette maintenance. Laissez vide si jamais effectuée.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "go_back": "Retourner au menu principal sans sauvegarder.",
          "last_day": "Remplace le numéro du jour : échéance le dernier jour du mois.",
          "business": "Ramène une date de week-end au vendredi précédent (ex. dernier jour ouvré).",
          "offset": "Décale la date calculée de ±N jours (ex. -2 = deux jours avant)."
        }
      },
      "opt_manual": {
        "title": "Planification manuelle",
        "description": "Cette tâche n'a pas de planification automatique. Vous pouvez la marquer comme à faire manuellement.",
        "data": {
          "warning_days": "Jours d'avertissement avant échéance",
          "notes": "Notes",
          "go_back": "Retour"
        },
        "data_description": {
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement.",
          "notes": "Notes supplémentaires ou instructions pour cette tâche.",
          "go_back": "Retourner au menu principal sans sauvegarder."
        }
      },
      "opt_sensor_select": {
        "title": "Sélectionner le capteur déclencheur",
        "description": "Choisir une entité Home Assistant à surveiller.",
        "data": {
          "trigger_entity": "Entité à surveiller",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_entity": "Sélectionnez l'entité capteur qui doit déclencher cette tâche de maintenance."
        }
      },
      "opt_sensor_attribute": {
        "title": "Sélectionner l'attribut",
        "description": "Choisissez quelle valeur surveiller de {entity_id}. État actuel : {current_state} {unit}",
        "data": {
          "trigger_attribute": "Valeur à surveiller",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_attribute": "Sélectionnez l'état de l'entité ou un attribut spécifique à surveiller."
        }
      },
      "opt_trigger_type": {
        "title": "Type de déclencheur",
        "description": "Comment la valeur du capteur doit-elle déclencher la maintenance ?",
        "data": {
          "trigger_type": "Type de déclencheur",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_type": "Seuil : se déclenche lorsque la valeur dépasse les limites. Compteur : se déclenche après avoir accumulé une valeur cible. Changement d'état : se déclenche après un nombre de transitions d'état."
        }
      },
      "opt_trigger_threshold": {
        "title": "Configuration du seuil",
        "description": "Définissez les seuils pour **{entity_id}** ({attribute}).\nActuel : **{current_value} {unit}** | Moy. : {average} | Plage : {minimum}–{maximum} ({data_period}j)\nSeuil haut suggéré : {suggested_above} | Seuil bas suggéré : {suggested_below}",
        "data": {
          "trigger_above": "Déclencher au-dessus de",
          "trigger_below": "Déclencher en-dessous de",
          "trigger_for_minutes": "Pendant au moins (minutes)",
          "interval_days": "Intervalle de sécurité",
          "interval_unit": "Unité d'intervalle",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_above": "Déclencher la maintenance lorsque la valeur dépasse ce seuil.",
          "trigger_below": "Déclencher la maintenance lorsque la valeur tombe en dessous de ce seuil.",
          "trigger_for_minutes": "La valeur doit dépasser le seuil pendant ce nombre de minutes avant le déclenchement.",
          "interval_days": "Intervalle de sécurité basé sur le temps en plus du déclencheur du capteur.",
          "interval_unit": "Unité de l'intervalle : jours, semaines, mois ou années. Les mois et années suivent le calendrier.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement."
        }
      },
      "opt_trigger_counter": {
        "title": "Configuration du compteur",
        "description": "Définissez la valeur cible du compteur pour {entity_id} ({attribute}). Actuel : {current_value} {unit}.",
        "data": {
          "trigger_target_value": "Valeur cible",
          "trigger_delta_mode": "Mode delta (compter les changements, pas la valeur absolue)",
          "interval_days": "Intervalle de sécurité",
          "interval_unit": "Unité d'intervalle",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_target_value": "Déclencher la maintenance lorsque cette valeur accumulée est atteinte.",
          "trigger_delta_mode": "Si activé, compte la différence par rapport à une valeur de référence au lieu de la valeur absolue.",
          "interval_days": "Intervalle de sécurité basé sur le temps en plus du déclencheur du compteur.",
          "interval_unit": "Unité de l'intervalle : jours, semaines, mois ou années. Les mois et années suivent le calendrier.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement."
        }
      },
      "opt_trigger_state_change": {
        "title": "Configuration du changement d'état",
        "description": "Comptez les transitions d'état de {entity_id}.",
        "data": {
          "trigger_from_state": "Depuis l'état (optionnel)",
          "trigger_to_state": "Vers l'état (optionnel)",
          "trigger_target_changes": "Nombre de changements pour déclencher",
          "interval_days": "Intervalle de sécurité",
          "interval_unit": "Unité d'intervalle",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_from_state": "Ne compter que les transitions depuis cet état. Laisser vide pour tous.",
          "trigger_to_state": "Ne compter que les transitions vers cet état. Laisser vide pour tous.",
          "trigger_target_changes": "Nombre de changements d'état correspondants avant de déclencher la maintenance.",
          "interval_days": "Intervalle de sécurité basé sur le temps en plus du déclencheur de changement d'état.",
          "interval_unit": "Unité de l'intervalle : jours, semaines, mois ou années. Les mois et années suivent le calendrier.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement."
        }
      },
      "opt_trigger_runtime": {
        "title": "Configuration du temps de fonctionnement",
        "description": "Suivez le temps de fonctionnement cumulé de {entity_id}.",
        "data": {
          "trigger_runtime_hours": "Temps de fonctionnement cible (heures)",
          "trigger_on_states": "États actifs (séparés par des virgules)",
          "interval_days": "Intervalle de sécurité",
          "interval_unit": "Unité d'intervalle",
          "warning_days": "Jours d'avertissement avant échéance",
          "go_back": "Retour"
        },
        "data_description": {
          "trigger_runtime_hours": "Déclencher la maintenance après ce nombre d'heures de temps de fonctionnement cumulé.",
          "trigger_on_states": "Quels états du capteur comptent comme 'actif'. Laisser vide pour la valeur par défaut : on, 1, true. Exemple : in_use, running",
          "interval_days": "Intervalle de sécurité basé sur le temps en plus du déclencheur de temps de fonctionnement.",
          "interval_unit": "Unité de l'intervalle : jours, semaines, mois ou années. Les mois et années suivent le calendrier.",
          "warning_days": "Nombre de jours avant l'échéance pour afficher un avertissement."
        }
      },
      "object_settings": {
        "title": "Paramètres de l'objet",
        "description": "Modifier les détails de l'objet.",
        "data": {
          "name": "Nom de l'objet",
          "manufacturer": "Fabricant",
          "model": "Modèle",
          "serial_number": "Numéro de série",
          "documentation_url": "URL du manuel / documentation",
          "notes": "Notes",
          "area_id": "Zone",
          "installation_date": "Date d'installation",
          "warranty_expiry": "Fin de garantie",
          "go_back": "Retour"
        },
        "data_description": {
          "name": "Un nom unique pour cet objet de maintenance (ex. 'Pompe de piscine', 'Voiture').",
          "manufacturer": "Le fabricant de l'objet.",
          "model": "Le nom ou numéro de modèle.",
          "serial_number": "Le numéro de série de l'objet.",
          "documentation_url": "Lien optionnel vers un manuel PDF, une page constructeur ou toute URL contenant des informations de référence pour cet objet.",
          "notes": "Notes libres sur l'objet — numéros de pièces, procédures, rappels de réglages, etc.",
          "area_id": "La zone de votre maison où se trouve cet objet.",
          "installation_date": "Quand cet objet a été installé ou acheté.",
          "warranty_expiry": "Date d'expiration de la garantie du fabricant pour cet objet.",
          "go_back": "Retour au menu principal sans enregistrer."
        }
      }
    }
  },
  "entity": {
    "button": {
      "button_complete": {
        "name": "{task_name} Terminer"
      },
      "button_skip": {
        "name": "{task_name} Ignorer"
      },
      "button_reset": {
        "name": "{task_name} Réinitialiser"
      }
    },
    "sensor": {
      "maintenance_task": {
        "name": "{task_name}",
        "state": {
          "ok": "OK",
          "due_soon": "Bientôt dû",
          "overdue": "En retard",
          "triggered": "Déclenché",
          "archived": "Archivé",
          "paused": "En pause"
        },
        "state_attributes": {
          "maintenance_type": {
            "name": "Type de maintenance",
            "state": {
              "cleaning": "Nettoyage",
              "inspection": "Inspection",
              "replacement": "Remplacement",
              "calibration": "Calibrage",
              "service": "Service",
              "reading": "Relevé",
              "custom": "Personnalisé"
            }
          },
          "schedule_type": {
            "name": "Type de planification",
            "state": {
              "time_based": "Temporel",
              "sensor_based": "Basé sur capteur",
              "one_time": "Unique",
              "manual": "Manuel"
            }
          },
          "interval_days": {
            "name": "Intervalle"
          },
          "interval_unit": {
            "name": "Unité d'intervalle"
          },
          "warning_days": {
            "name": "Jours d'avertissement"
          },
          "last_performed": {
            "name": "Dernière exécution"
          },
          "next_due": {
            "name": "Prochaine échéance"
          },
          "days_until_due": {
            "name": "Jours avant échéance"
          },
          "parent_object": {
            "name": "Objet parent"
          },
          "times_performed": {
            "name": "Nombre d'exécutions"
          },
          "total_cost": {
            "name": "Coût total"
          },
          "average_duration": {
            "name": "Durée moyenne (min)"
          },
          "notes": {
            "name": "Notes"
          },
          "documentation_url": {
            "name": "URL de documentation"
          },
          "trigger_entity": {
            "name": "Entité déclencheur"
          },
          "trigger_attribute": {
            "name": "Attribut déclencheur"
          },
          "trigger_type": {
            "name": "Type de déclencheur",
            "state": {
              "threshold": "Seuil",
              "counter": "Compteur",
              "state_change": "Changement d'état",
              "runtime": "Temps de fonctionnement",
              "compound": "Composé"
            }
          },
          "trigger_active": {
            "name": "Déclencheur actif"
          },
          "trigger_current_value": {
            "name": "Valeur actuelle du déclencheur"
          },
          "trigger_entity_state": {
            "name": "État de l'entité déclencheur",
            "state": {
              "available": "Disponible",
              "unavailable": "Indisponible",
              "missing": "Manquant",
              "startup": "Démarrage"
            }
          },
          "trigger_above": {
            "name": "Déclencheur au-dessus"
          },
          "trigger_below": {
            "name": "Déclencheur en-dessous"
          },
          "trigger_for_minutes": {
            "name": "Déclencheur pendant (minutes)"
          },
          "trigger_target_value": {
            "name": "Valeur cible du déclencheur"
          },
          "trigger_delta_mode": {
            "name": "Mode delta du déclencheur"
          },
          "trigger_baseline_value": {
            "name": "Valeur de référence du déclencheur"
          },
          "trigger_current_delta": {
            "name": "Delta actuel du déclencheur"
          },
          "trigger_from_state": {
            "name": "Déclencheur depuis état"
          },
          "trigger_to_state": {
            "name": "Déclencheur vers état"
          },
          "trigger_target_changes": {
            "name": "Changements cibles du déclencheur"
          },
          "trigger_change_count": {
            "name": "Compteur de changements du déclencheur"
          },
          "trigger_runtime_hours": {
            "name": "Temps de fonctionnement cible (heures)"
          },
          "trigger_accumulated_hours": {
            "name": "Temps de fonctionnement cumulé (heures)"
          },
          "trigger_remaining_hours": {
            "name": "Temps de fonctionnement restant (heures)"
          },
          "last_entry": {
            "name": "Dernière entrée"
          },
          "suggested_interval": {
            "name": "Intervalle suggéré"
          },
          "interval_confidence": {
            "name": "Confiance de l'intervalle",
            "state": {
              "low": "Faible",
              "medium": "Moyenne",
              "high": "Élevée"
            }
          },
          "adaptive_scheduling_enabled": {
            "name": "Planification adaptative activée"
          },
          "seasonal_factor": {
            "name": "Facteur saisonnier"
          },
          "seasonal_reason": {
            "name": "Raison saisonnière",
            "state": {
              "learned": "Appris",
              "manual": "Manuel"
            }
          },
          "degradation_rate": {
            "name": "Taux de dégradation"
          },
          "degradation_trend": {
            "name": "Tendance de dégradation",
            "state": {
              "rising": "En hausse",
              "falling": "En baisse",
              "stable": "Stable",
              "insufficient_data": "Données insuffisantes"
            }
          },
          "days_until_threshold": {
            "name": "Jours avant seuil"
          },
          "threshold_prediction_confidence": {
            "name": "Confiance de prédiction",
            "state": {
              "low": "Faible",
              "medium": "Moyenne",
              "high": "Élevée"
            }
          },
          "environmental_factor": {
            "name": "Facteur environnemental"
          },
          "environmental_entity": {
            "name": "Entité environnementale"
          },
          "weibull_beta": {
            "name": "Forme Weibull (β)"
          },
          "weibull_eta": {
            "name": "Échelle Weibull (η)"
          },
          "weibull_r_squared": {
            "name": "R² Weibull"
          },
          "weibull_beta_interpretation": {
            "name": "Type de défaillance",
            "state": {
              "early_failures": "Défaillances précoces",
              "random_failures": "Défaillances aléatoires",
              "wear_out": "Usure",
              "highly_predictable": "Très prévisible"
            }
          },
          "confidence_interval_low": {
            "name": "Intervalle de confiance (bas)"
          },
          "confidence_interval_high": {
            "name": "Intervalle de confiance (haut)"
          },
          "interval_anchor": {
            "name": "Ancrage d'intervalle",
            "state": {
              "completion": "À partir de l'achèvement",
              "planned": "À partir de la date prévue"
            }
          },
          "due_date": {
            "name": "Date d'échéance"
          }
        }
      },
      "summary_overdue": {
        "name": "En retard"
      },
      "summary_due_soon": {
        "name": "Bientôt dû"
      },
      "summary_triggered": {
        "name": "Déclenché"
      },
      "summary_needs_attention": {
        "name": "Attention requise"
      },
      "summary_ok": {
        "name": "OK"
      },
      "document_storage": {
        "name": "Stockage des documents"
      },
      "summary_total_tasks": {
        "name": "Total des tâches"
      },
      "next_due": {
        "name": "{task_name} Prochaine échéance"
      },
      "days_until_due": {
        "name": "{task_name} Jours avant échéance"
      },
      "parts_to_reorder": {
        "name": "Pièces à racheter"
      },
      "batteries_to_replace": {
        "name": "Piles à remplacer"
      }
    },
    "calendar": {
      "maintenance_schedule": {
        "name": "Calendrier de maintenance"
      }
    },
    "binary_sensor": {
      "maintenance_task_due": {
        "name": "{task_name} en retard",
        "state_attributes": {
          "maintenance_status": {
            "name": "Statut de maintenance",
            "state": {
              "ok": "OK",
              "due_soon": "Bientôt dû",
              "overdue": "En retard",
              "triggered": "Déclenché",
              "archived": "Archivé"
            }
          },
          "days_until_due": {
            "name": "Jours avant l'échéance"
          },
          "next_due": {
            "name": "Prochaine échéance"
          },
          "parent_object": {
            "name": "Objet parent"
          }
        }
      }
    },
    "todo": {
      "maintenance_todo": {
        "name": "Maintenance"
      }
    }
  },
  "selector": {
    "maintenance_type": {
      "options": {
        "cleaning": "Nettoyage",
        "inspection": "Inspection",
        "replacement": "Remplacement",
        "calibration": "Calibrage",
        "service": "Service",
        "reading": "Relevé",
        "custom": "Personnalisé"
      }
    },
    "schedule_type": {
      "options": {
        "time_based": "Temporel",
        "weekdays": "Jours de la semaine",
        "nth_weekday": "N-ième jour de la semaine du mois",
        "day_of_month": "Jour du mois",
        "sensor_based": "Basé sur capteur",
        "one_time": "Unique",
        "manual": "Manuel"
      }
    },
    "interval_unit": {
      "options": {
        "days": "Jours",
        "weeks": "Semaines",
        "months": "Mois",
        "years": "Années"
      }
    },
    "trigger_type": {
      "options": {
        "threshold": "Seuil",
        "counter": "Compteur",
        "state_change": "Changement d'état",
        "runtime": "Temps de fonctionnement",
        "compound": "Composé (Conditions Multiples)"
      }
    },
    "compound_logic": {
      "options": {
        "and": "ET (toutes les conditions doivent déclencher)",
        "or": "OU (n'importe quelle condition déclenche)"
      }
    },
    "entity_logic": {
      "options": {
        "any": "N'importe quelle entité déclenche",
        "all": "Toutes les entités doivent déclencher"
      }
    },
    "notification_title_style": {
      "options": {
        "default": "Par défaut (titre par statut)",
        "object_name": "Nom de l'objet comme titre",
        "task_name": "Nom de la tâche comme titre"
      }
    }
  },
  "services": {
    "complete": {
      "name": "Terminer la maintenance",
      "description": "Marquer une tâche de maintenance comme terminée.",
      "fields": {
        "entity_id": {
          "name": "Entité",
          "description": "L'entité capteur de maintenance à terminer."
        },
        "notes": {
          "name": "Notes",
          "description": "Notes optionnelles sur la maintenance effectuée."
        },
        "cost": {
          "name": "Coût",
          "description": "Coût de la maintenance effectuée."
        },
        "duration": {
          "name": "Durée",
          "description": "Durée de la maintenance en minutes."
        },
        "reading_value": {
          "name": "Valeur relevée",
          "description": "Valeur enregistrée pour les tâches de relevé (relevé de compteur, contrôle de niveau)."
        }
      }
    },
    "reset": {
      "name": "Réinitialiser la maintenance",
      "description": "Réinitialiser la date de dernière exécution d'une tâche de maintenance.",
      "fields": {
        "entity_id": {
          "name": "Entité",
          "description": "L'entité capteur de maintenance à réinitialiser."
        },
        "date": {
          "name": "Date",
          "description": "La date à définir comme dernière exécution. Par défaut aujourd'hui."
        }
      }
    },
    "skip": {
      "name": "Passer la maintenance",
      "description": "Passer le cycle de maintenance actuel.",
      "fields": {
        "entity_id": {
          "name": "Entité",
          "description": "L'entité capteur de maintenance à passer."
        },
        "reason": {
          "name": "Raison",
          "description": "Raison optionnelle pour passer la maintenance."
        }
      }
    },
    "export_data": {
      "name": "Exporter les données",
      "description": "Exporter toutes les données de maintenance en JSON ou YAML.",
      "fields": {
        "format": {
          "name": "Format",
          "description": "Format de sortie pour les données exportées (json ou yaml)."
        },
        "include_history": {
          "name": "Inclure l'historique",
          "description": "Inclure ou non les entrées d'historique des tâches dans l'exportation."
        }
      }
    },
    "add_object": {
      "name": "Ajouter un objet",
      "description": "Crée un nouvel objet de maintenance (appareil). Renvoie le nouvel entry_id.",
      "fields": {
        "name": {
          "name": "Nom",
          "description": "Nom de l'objet/appareil."
        },
        "area_id": {
          "name": "Zone",
          "description": "Zone à laquelle affecter l'appareil."
        },
        "manufacturer": {
          "name": "Fabricant"
        },
        "model": {
          "name": "Modèle"
        },
        "serial_number": {
          "name": "Numéro de série"
        },
        "installation_date": {
          "name": "Date d'installation"
        },
        "warranty_expiry": {
          "name": "Fin de garantie",
          "description": "Date de fin de garantie (pour le suivi des biens et les rappels)."
        },
        "documentation_url": {
          "name": "URL de documentation",
          "description": "Lien vers un manuel ou une page du fabricant (http/https uniquement)."
        },
        "notes": {
          "name": "Notes"
        }
      }
    },
    "add_task": {
      "name": "Ajouter une tâche",
      "description": "Ajoute une tâche de maintenance à un objet existant. Renvoie le nouveau task_id.",
      "fields": {
        "entry_id": {
          "name": "Objet",
          "description": "L'objet de maintenance auquel ajouter la tâche."
        },
        "name": {
          "name": "Nom",
          "description": "Nom de la tâche."
        },
        "task_type": {
          "name": "Type de tâche",
          "description": "Catégorie libre (p. ex. inspection, service, custom)."
        },
        "schedule_type": {
          "name": "Type de planification",
          "description": "time_based (intervalle) ou sensor_based. Par défaut : time_based."
        },
        "interval_days": {
          "name": "Intervalle",
          "description": "Longueur de l'intervalle entre les occurrences (pour les tâches temporelles), combinée avec interval_unit."
        },
        "interval_unit": {
          "name": "Unité d'intervalle",
          "description": "Unité de l'intervalle : days, weeks, months ou years. Par défaut : days."
        },
        "due_date": {
          "name": "Date d'échéance",
          "description": "Date d'échéance (YYYY-MM-DD) pour une tâche ponctuelle (schedule_type one_time)."
        },
        "schedule": {
          "name": "Planification calendaire",
          "description": "Récurrence imbriquée pour les types calendaires, p. ex. kind=nth_weekday, nth=1, weekday=5 pour le 1er samedi (weekday 0=lun ... 6=dim), kind=weekdays, weekdays=[0, 3] pour lun et jeu, ou kind=day_of_month, day=15. Prioritaire sur interval_days / schedule_type."
        },
        "warning_days": {
          "name": "Préavis (jours)",
          "description": "Jours avant l'échéance pour entrer dans la fenêtre « bientôt dû »."
        },
        "enabled": {
          "name": "Activé"
        },
        "notes": {
          "name": "Notes"
        }
      }
    },
    "update_task": {
      "name": "Mettre à jour la tâche",
      "description": "Met à jour les champs courants d'une tâche de maintenance existante. Seuls les champs fournis changent.",
      "fields": {
        "entry_id": {
          "name": "Objet",
          "description": "L'objet de maintenance auquel appartient la tâche."
        },
        "task_id": {
          "name": "ID de tâche",
          "description": "L'id de la tâche à mettre à jour (voir list_tasks)."
        },
        "name": {
          "name": "Nom",
          "description": "Nouveau nom de la tâche."
        },
        "task_type": {
          "name": "Type de tâche",
          "description": "Catégorie (cleaning, inspection, replacement, calibration, service, reading, custom)."
        },
        "schedule_type": {
          "name": "Type de planification",
          "description": "time_based (intervalle), sensor_based, one_time ou manual."
        },
        "interval_days": {
          "name": "Intervalle",
          "description": "Longueur de l'intervalle entre les occurrences, combinée avec interval_unit."
        },
        "interval_unit": {
          "name": "Unité d'intervalle",
          "description": "days, weeks, months ou years."
        },
        "due_date": {
          "name": "Date d'échéance",
          "description": "Date d'échéance pour les tâches ponctuelles (YYYY-MM-DD)."
        },
        "schedule": {
          "name": "Planification (récurrence calendaire)",
          "description": "Objet de récurrence imbriqué pour les types calendaires, p. ex. kind=day_of_month, day=-1, business=true. Prioritaire sur les champs plats."
        },
        "warning_days": {
          "name": "Jours d'avertissement",
          "description": "Jours avant l'échéance où la tâche devient « bientôt due »."
        },
        "enabled": {
          "name": "Activé",
          "description": "Si la tâche est active."
        },
        "notes": {
          "name": "Notes",
          "description": "Notes libres sur la tâche."
        },
        "priority": {
          "name": "Priorité",
          "description": "low, normal ou high."
        },
        "labels": {
          "name": "Étiquettes",
          "description": "Liste d'étiquettes pour le filtrage et les rapports."
        }
      }
    },
    "delete_task": {
      "name": "Supprimer la tâche",
      "description": "Supprime une tâche de maintenance ainsi que son historique. Irréversible - envisagez plutôt l'archivage via le panneau.",
      "fields": {
        "entry_id": {
          "name": "Objet",
          "description": "L'objet de maintenance auquel appartient la tâche."
        },
        "task_id": {
          "name": "ID de tâche",
          "description": "L'id de la tâche à supprimer (voir list_tasks)."
        }
      }
    },
    "list_tasks": {
      "name": "Lister les tâches",
      "description": "Renvoie un instantané des tâches de maintenance actives (id, nom, statut, prochaine échéance) pour les automatisations, scripts et la voix. Prend en charge le filtrage par objet et statut.",
      "fields": {
        "entry_id": {
          "name": "Objet",
          "description": "Ne renvoyer que les tâches de cet objet de maintenance."
        },
        "status": {
          "name": "Statut",
          "description": "Ne renvoyer que les tâches ayant ce statut."
        }
      }
    }
  },
  "issues": {
    "document_storage_issues": {
      "title": "Le stockage des documents doit être nettoyé",
      "fix_flow": {
        "step": {
          "init": {
            "title": "Récupérer de l'espace de stockage",
            "description": "Maintenance Supporter a trouvé des fichiers non référencés et/ou des enregistrements morts dans le stockage des documents — généralement à la suite d'un plantage, d'une suppression externe de fichier ou d'une restauration partielle.\n\nCliquez sur **Valider** pour récupérer l'espace : les fichiers non référencés et obsolètes sont supprimés et les enregistrements de documents morts sont retirés. Les fichiers encore référencés par un document ne sont jamais touchés.\n\n(Pour ignorer sans nettoyer, utilisez le bouton **Ignorer** de Home Assistant sur la page Réparations.)"
          }
        }
      }
    },
    "missing_trigger_entity": {
      "title": "Capteur déclencheur introuvable : {task_name}",
      "fix_flow": {
        "step": {
          "init": {
            "title": "Entité déclencheur manquante",
            "description": "L'entité capteur `{entity_id}` configurée comme déclencheur pour la tâche « {task_name} » sur l'objet « {object_name} » n'est plus disponible.\n\nChoisissez comment résoudre ce problème :",
            "menu_options": {
              "replace_entity": "Remplacer par une autre entité",
              "remove_trigger": "Supprimer le déclencheur capteur",
              "dismiss": "Ignorer (réapparaîtra)"
            }
          },
          "replace_entity": {
            "title": "Remplacer l'entité déclencheur",
            "description": "Sélectionnez une nouvelle entité pour remplacer `{entity_id}` comme déclencheur pour la tâche « {task_name} » sur « {object_name} ».",
            "data": {
              "new_entity_id": "Nouvelle entité déclencheur"
            },
            "data_description": {
              "new_entity_id": "Sélectionnez la nouvelle entité capteur à utiliser comme déclencheur."
            }
          },
          "remove_trigger": {
            "title": "Supprimer le déclencheur capteur",
            "description": "Cela supprimera le déclencheur capteur de la tâche « {task_name} » sur « {object_name} » et convertira la planification en temporelle ou manuelle. L'historique de maintenance sera conservé.\n\nEntité déclencheur précédente : `{entity_id}`"
          }
        }
      }
    },
    "orphan_admin_panel_user": {
      "title": "L'utilisateur de la liste d'accès au panneau n'existe plus",
      "fix_flow": {
        "step": {
          "init": {
            "title": "Utilisateur orphelin dans la liste d'accès",
            "description": "L'utilisateur `{user_id}…` est dans la liste d'accès au panneau Maintenance Supporter mais n'existe plus dans Home Assistant. L'utilisateur a probablement été supprimé.\n\nCliquez sur **Envoyer** pour retirer cet utilisateur de la liste. (Pour laisser le problème en place, utilisez plutôt le bouton **Ignorer** sur la page Réparations de Home Assistant.)"
          }
        }
      }
    },
    "stale_action_entity": {
      "title": "L'action de finalisation référence une entité supprimée",
      "fix_flow": {
        "step": {
          "init": {
            "title": "Action de finalisation : {stale_entity} n'existe plus",
            "description": "La tâche **{task_name}** a une `on_complete_action` configurée pour appeler un service sur `{stale_entity}`, mais cette entité n'est plus enregistrée dans Home Assistant.\n\nChoisissez comment réparer :",
            "menu_options": {
              "replace_entity": "Remplacer par une autre entité",
              "remove_action": "Supprimer l'action de finalisation"
            }
          },
          "replace_entity": {
            "title": "Remplacer l'entité cible",
            "description": "Choisissez l'entité à utiliser à la place de `{stale_entity}` pour la tâche **{task_name}**.",
            "data": {
              "new_entity": "Nouvelle entité cible"
            }
          },
          "remove_action": {
            "title": "Supprimer l'action de finalisation",
            "description": "Supprime entièrement la `on_complete_action` de la tâche **{task_name}**. La tâche elle-même n'est pas affectée — seul l'appel de service à la finalisation est supprimé."
          }
        }
      }
    },
    "notify_service_missing": {
      "title": "Service de notification `{service}` introuvable",
      "description": "Maintenance Supporter est configuré pour envoyer les notifications via `{service}`, mais ce service n'existe pas actuellement dans Home Assistant : les rappels échouent donc silencieusement.\n\nCela signifie généralement que le service a été renommé, ou que l'intégration associée (une application mobile, un groupe de notification, …) a été supprimée. Pour corriger : rétablissez ce service, ou ouvrez **Paramètres → Appareils et services → Maintenance Supporter → Configurer → Paramètres généraux** et choisissez un service `notify.*` valide.\n\nRemarque : seul le service configuré lui-même est vérifié. Si les notifications arrivent sur certains appareils mais pas d'autres, un membre *à l'intérieur* de votre groupe de notification est probablement mal configuré — ce n'est pas visible ici ; consultez le **journal système** de Home Assistant (Paramètres → Système → Journaux)."
    },
    "missing_global_entry": {
      "title": "La configuration globale de Maintenance Supporter est manquante",
      "fix_flow": {
        "step": {
          "init": {
            "title": "Restaurer la configuration globale",
            "description": "Vos objets de maintenance existent toujours, mais l'entrée globale \"Maintenance Supporter\" a été supprimée — les capteurs de synthèse, le panneau latéral et les compteurs du tableau de bord ont donc disparu, et les indicateurs affichent \"unknown\".\n\nCliquez sur **Envoyer** pour recréer la configuration globale avec les paramètres par défaut. Vos objets et tâches restent intacts. Vous pourrez ajuster les notifications et les valeurs par défaut ensuite dans Paramètres → Appareils et services.\n\n(Pour ne rien changer, utilisez le bouton **Ignorer** de Home Assistant.)"
          }
        }
      }
    }
  },
  "exceptions": {
    "no_coordinator_for_entity": {
      "message": "Aucun coordinateur de maintenance trouvé pour l'entité {entity_id}."
    },
    "no_task_for_entity": {
      "message": "Aucune tâche de maintenance trouvée pour l'entité {entity_id}."
    }
  },
  "triggers": {
    "task_became_overdue": {
      "name": "Une tâche de maintenance est devenue en retard",
      "description": "Se déclenche lorsque le statut d'une tâche de maintenance passe à en retard.",
      "fields": {
        "behavior": {
          "name": "Comportement"
        },
        "for": {
          "name": "Pendant"
        }
      }
    },
    "task_became_due_soon": {
      "name": "Une tâche de maintenance arrive à échéance",
      "description": "Se déclenche lorsqu'une tâche de maintenance entre dans sa fenêtre d'avertissement.",
      "fields": {
        "behavior": {
          "name": "Comportement"
        },
        "for": {
          "name": "Pendant"
        }
      }
    },
    "sensor_trigger_activated": {
      "name": "Un déclencheur de capteur s'est activé",
      "description": "Se déclenche lorsqu'une tâche de maintenance basée sur un capteur s'active.",
      "fields": {
        "behavior": {
          "name": "Comportement"
        },
        "for": {
          "name": "Pendant"
        }
      }
    },
    "task_became_ok": {
      "name": "Une tâche de maintenance est revenue à OK",
      "description": "Se déclenche lorsqu'une tâche de maintenance ne nécessite plus d'attention.",
      "fields": {
        "behavior": {
          "name": "Comportement"
        },
        "for": {
          "name": "Pendant"
        }
      }
    }
  },
  "conditions": {
    "task_is_overdue": {
      "name": "Une tâche de maintenance est en retard",
      "description": "Vérifie si une tâche de maintenance est en retard.",
      "fields": {
        "behavior": {
          "name": "Comportement"
        },
        "for": {
          "name": "Pendant"
        }
      }
    },
    "task_is_due_soon": {
      "name": "Une tâche de maintenance arrive à échéance",
      "description": "Vérifie si une tâche de maintenance est dans sa fenêtre d'avertissement.",
      "fields": {
        "behavior": {
          "name": "Comportement"
        },
        "for": {
          "name": "Pendant"
        }
      }
    },
    "task_is_triggered": {
      "name": "Un déclencheur de capteur est actif",
      "description": "Vérifie si une tâche de maintenance basée sur un capteur est déclenchée.",
      "fields": {
        "behavior": {
          "name": "Comportement"
        },
        "for": {
          "name": "Pendant"
        }
      }
    },
    "task_needs_attention": {
      "name": "Une tâche de maintenance nécessite une attention",
      "description": "Vérifie si une tâche de maintenance est en retard ou déclenchée.",
      "fields": {
        "behavior": {
          "name": "Comportement"
        },
        "for": {
          "name": "Pendant"
        }
      }
    }
  }
}
