feat: Add hardened error handling and retries (#2451)

- Closes #1830
 - Closes #2099
This commit is contained in:
Dermot Duffy
2026-06-30 17:45:12 -07:00
committed by dermotduffy
parent 4bc787e2b7
commit 47bcce93d3
182 changed files with 7877 additions and 4043 deletions
+11 -16
View File
@@ -1,5 +1,6 @@
{
"common": {
"in_progress": "En cours",
"no_media": "Aucun média à afficher"
},
"config": {
@@ -480,12 +481,7 @@
"editor_label": "Comportement de réinitialisation de la vue par défaut",
"entities": "Réinitialiser à la vue par défaut lors du changement d'état de l'entité",
"every_seconds": "Actualiser la vue par défaut toutes les X secondes (0=jamais)",
"interaction_mode": "Comment la réinitialisation par défaut se comporte lorsque la carte a une interaction humaine",
"interaction_modes": {
"active": "Autoriser la réinitialisation uniquement lorsque la carte a une interaction humaine active",
"all": "Réinitialiser indépendamment de l'interaction humaine",
"inactive": "Réinitialiser uniquement lorsque la carte n'a pas d'interaction humaine"
}
"interaction_mode": "Comment la réinitialisation par défaut se comporte lorsque la carte a une interaction humaine"
},
"dim": "Assombrir si pas d'interaction",
"interaction_seconds": "Secondes après l'action de l'utilisateur pour maintenir l'interaction (0=jamais)",
@@ -513,11 +509,6 @@
"actions": {
"editor_label": "Actions de déclenchement",
"interaction_mode": "Comment gérer les actions lorsque la carte comporte une interaction humaine ?",
"interaction_modes": {
"active": "Ne déclencher des actions que lorsque la carte a une interaction humaine",
"all": "Déclencher des actions sans interaction humaine",
"inactive": "Ne déclencher des actions que lorsque la carte n'a pas d'interaction humaine"
},
"trigger": "Actions de déclenchement",
"triggers": {
"default": "Changement vers ou mise à jour de la vue par défaut",
@@ -605,7 +596,7 @@
"awaiting_media": "En attente du chargement des médias",
"camera_initialization": "Échec de l'initialisation de la caméra",
"camera_initialization_reolink": "Impossible d'initialiser la caméra Reolink",
"could_not_render_elements": "Impossible de restituer les éléments de l'image",
"could_not_create_elements": "Impossible de restituer les éléments de l'image",
"diagnostics": "Diagnostic de la carte. Veuillez enlever les informations confidentielles avant de les partager",
"download_no_media": "Aucun média à télécharger",
"download_sign_failed": "Impossible de signer l'URL du média à télécharger",
@@ -630,16 +621,21 @@
"no_camera_id": "Impossible de déterminer l'identifiant de la caméra suivante. Il faudra peut-être définir le paramètre « ID » manuellement",
"no_dashboard_or_view": "Les paramètres 'dashboard_path' et 'view_path' sont requis pour la méthode de conversion 'dashboard'",
"no_live_camera": "Le paramètre camera_entity doit être défini et valide pour ce fournisseur en direct",
"no_supported_camera": "La caméra sélectionnée ne prend pas en charge cette vue",
"no_supported_cameras": "Aucune caméra ne prend en charge cette vue",
"reconnecting": "Reconnexion",
"stream_not_loading": "Le flux vidéo n'a pas encore été chargé. Cela peut être du à plusieurs raisons. Si configurée (et par défaut), une image se rafraichira toutes les secondes jusqu'au chargement correct du flux.",
"too_many_automations": "Trop d'appels d'automatisation imbriqués, veuillez vérifier votre configuration pour les boucles",
"troubleshooting": "Vérifier le dépannage",
"upgrade_available": "Une mise à niveau automatisée de la configuration de la carte est disponible, veuillez visiter l'éditeur visuel de la carte",
"webrtc_card_reported_error": "La carte WebRTC a signalé une erreur",
"webrtc_card_waiting": "En attente du chargement de la carte WebRTC..."
},
"issues": {
"media_load": {
"text": "Le flux vidéo ou le média enregistré n'a pas encore été chargé. Cela peut être du à plusieurs raisons. La carte tentera de recharger automatiquement après un délai d'attente."
},
"view_incompatible": {
"text": "La caméra sélectionnée ne prend pas en charge cette vue"
}
},
"key_assigner": {
"assign": "Assigner",
"unassign": "Désassigner"
@@ -680,7 +676,6 @@
"camera": "Caméra",
"download": "Télécharger des médias",
"duration": "Durée",
"in_progress": "En cours",
"no_thumbnail": "Aucune vignette disponible",
"retain_indefinitely": "Les médias seront conservés indéfiniment",
"seek": "Chercher",