@homebridge-plugins/homebridge-eufy-security 5.0.0-beta.3 → 5.0.0-beta.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config.schema.json +48 -0
- package/dist/account/temporary-authentication.js +3 -1
- package/dist/account/temporary-authentication.js.map +1 -1
- package/dist/configuration.js +44 -2
- package/dist/configuration.js.map +1 -1
- package/dist/device/member-evidence.js +10 -3
- package/dist/device/member-evidence.js.map +1 -1
- package/dist/device/snapshot.js +1 -1
- package/dist/device/snapshot.js.map +1 -1
- package/dist/diagnostics.js +694 -83
- package/dist/diagnostics.js.map +1 -1
- package/dist/homekit/adapters/camera-streaming.js +56 -27
- package/dist/homekit/adapters/camera-streaming.js.map +1 -1
- package/dist/homekit/adapters/lock.js +45 -16
- package/dist/homekit/adapters/lock.js.map +1 -1
- package/dist/homekit/adapters/motion.js +1 -1
- package/dist/homekit/adapters/motion.js.map +1 -1
- package/dist/homekit/adapters/package-sensor.js +63 -0
- package/dist/homekit/adapters/package-sensor.js.map +1 -0
- package/dist/homekit/adapters/registry.js +2 -0
- package/dist/homekit/adapters/registry.js.map +1 -1
- package/dist/homekit/adapters/security-system.js +101 -45
- package/dist/homekit/adapters/security-system.js.map +1 -1
- package/dist/homekit/coverage-matrix.js +1 -3
- package/dist/homekit/coverage-matrix.js.map +1 -1
- package/dist/homekit/reconciler.js +21 -5
- package/dist/homekit/reconciler.js.map +1 -1
- package/dist/media/last-successful-image.js +5 -3
- package/dist/media/last-successful-image.js.map +1 -1
- package/dist/media/live-stream.js +200 -84
- package/dist/media/live-stream.js.map +1 -1
- package/dist/media/recording.js +11 -5
- package/dist/media/recording.js.map +1 -1
- package/dist/media/snapshot.js +21 -8
- package/dist/media/snapshot.js.map +1 -1
- package/dist/media/station-live-sessions.js +47 -43
- package/dist/media/station-live-sessions.js.map +1 -1
- package/dist/platform.js +27 -7
- package/dist/platform.js.map +1 -1
- package/dist/runtime/channel.js +116 -4
- package/dist/runtime/channel.js.map +1 -1
- package/dist/runtime/device-settings.js +88 -0
- package/dist/runtime/device-settings.js.map +1 -0
- package/dist/runtime/owner.js +12 -0
- package/dist/runtime/owner.js.map +1 -1
- package/dist/runtime/sdk-client.js +19 -4
- package/dist/runtime/sdk-client.js.map +1 -1
- package/dist/ui/dashboard.js +32 -14
- package/dist/ui/dashboard.js.map +1 -1
- package/dist/ui/runtime-channel-client.js +64 -1
- package/dist/ui/runtime-channel-client.js.map +1 -1
- package/dist/ui/server.js +64 -5
- package/dist/ui/server.js.map +1 -1
- package/homebridge-ui/public/app.css +359 -88
- package/homebridge-ui/public/assets/icons/battery_0.svg +1 -0
- package/homebridge-ui/public/assets/icons/battery_1.svg +1 -0
- package/homebridge-ui/public/assets/icons/battery_2.svg +1 -0
- package/homebridge-ui/public/assets/icons/battery_3.svg +1 -0
- package/homebridge-ui/public/assets/icons/battery_4.svg +1 -0
- package/homebridge-ui/public/assets/icons/battery_5.svg +1 -0
- package/homebridge-ui/public/assets/icons/battery_6.svg +1 -0
- package/homebridge-ui/public/assets/icons/battery_full.svg +1 -0
- package/homebridge-ui/public/assets/icons/contact_support.svg +1 -0
- package/homebridge-ui/public/assets/icons/delete.svg +1 -0
- package/homebridge-ui/public/assets/icons/download.svg +1 -0
- package/homebridge-ui/public/assets/icons/extension_off.svg +1 -0
- package/homebridge-ui/public/assets/icons/info.svg +1 -0
- package/homebridge-ui/public/assets/icons/key_off.svg +1 -0
- package/homebridge-ui/public/assets/icons/keyboard_arrow_left.svg +1 -0
- package/homebridge-ui/public/assets/icons/keyboard_arrow_right.svg +1 -0
- package/homebridge-ui/public/assets/icons/keyboard_double_arrow_left.svg +1 -0
- package/homebridge-ui/public/assets/icons/keyboard_double_arrow_right.svg +1 -0
- package/homebridge-ui/public/assets/icons/movie_off.svg +1 -0
- package/homebridge-ui/public/assets/icons/refresh.svg +1 -0
- package/homebridge-ui/public/assets/icons/satellite_alt.svg +1 -0
- package/homebridge-ui/public/assets/icons/search_off.svg +1 -0
- package/homebridge-ui/public/assets/icons/sensors_off.svg +1 -0
- package/homebridge-ui/public/assets/icons/settings_photo_camera.svg +1 -0
- package/homebridge-ui/public/assets/icons/solar_power.svg +1 -0
- package/homebridge-ui/public/assets/icons/videocam_off.svg +1 -0
- package/homebridge-ui/public/i18n/en.json +119 -78
- package/homebridge-ui/public/i18n/fr.json +119 -78
- package/homebridge-ui/public/index.html +115 -106
- package/homebridge-ui/public/js/app.js +350 -358
- package/homebridge-ui/public/js/dashboard.js +139 -10
- package/homebridge-ui/public/js/profile-wizard.js +17 -54
- package/i18n/runtime/en.json +8 -3
- package/package.json +9 -6
|
@@ -9,9 +9,17 @@
|
|
|
9
9
|
"advancedEyebrow": "Configuration",
|
|
10
10
|
"advancedFfmpegHelp": "Laissez vide pour utiliser l’exécutable FFmpeg fourni avec le plugin.",
|
|
11
11
|
"advancedFfmpegLabel": "Chemin FFmpeg personnalisé",
|
|
12
|
+
"advancedLiveVideoPassthroughHelp": "Activez cette option si la vidéo en direct ne s’affiche jamais, ou si le journal indique que FFmpeg s’est arrêté avant d’envoyer la vidéo. La vidéo des caméras qui enregistrent en H.264 est alors envoyée telle que la caméra l’a enregistrée, comme dans la version 4, au lieu d’être convertie selon ce que demande l’app Maison.",
|
|
13
|
+
"advancedLiveVideoPassthroughLabel": "Envoyer la vidéo de la caméra sans conversion",
|
|
14
|
+
"advancedHdLiveVideoHelp": "Activez cette option si la vidéo en direct paraît floue dans l’app Maison. Les caméras ne proposent alors à l’app Maison que du 720p et du 1080p, aussi en données mobiles et dans la grille des caméras, ce qui consomme plus de données.",
|
|
15
|
+
"advancedHdLiveVideoLabel": "Vidéo en direct toujours en HD",
|
|
16
|
+
"advancedIgnoreHomeBitRateHelp": "Activez cette option si la vidéo en direct est nette quelques secondes, puis floue ou pixelisée. La vidéo est alors convertie à une qualité constante proche de celle de la caméra, au lieu du faible débit demandé par l’app Maison, ce qui utilise plus de bande passante.",
|
|
17
|
+
"advancedIgnoreHomeBitRateLabel": "Ignorer la limite de débit de l’app Maison",
|
|
12
18
|
"advancedPollingHelp": "Utilisez 0 pour désactiver l’interrogation planifiée. La valeur par défaut est de 10 minutes.",
|
|
13
19
|
"advancedPollingInvalid": "Saisissez un nombre entier de minutes supérieur ou égal à zéro.",
|
|
14
20
|
"advancedPollingLabel": "Intervalle d’interrogation en minutes",
|
|
21
|
+
"advancedSmallVideoPacketsHelp": "Activez cette option si l’app Maison charge une caméra sans jamais afficher l’image en direct. La vidéo est alors envoyée en paquets réseau plus petits, comme dans la version 4.",
|
|
22
|
+
"advancedSmallVideoPacketsLabel": "Paquets vidéo en direct plus petits",
|
|
15
23
|
"advancedSaveFailed": "Le réglage avancé n’a pas pu être enregistré. Réessayez.",
|
|
16
24
|
"advancedSummary": "Modifiez les options globales rarement utilisées. Enregistrez la configuration Homebridge lorsque vous avez terminé.",
|
|
17
25
|
"advancedTitle": "Réglages avancés",
|
|
@@ -28,10 +36,21 @@
|
|
|
28
36
|
"advancedWarmUpLabel": "Préchauffer les connexions des caméras",
|
|
29
37
|
"advancedWarmUpRemove": "Ne plus préchauffer les événements sélectionnés",
|
|
30
38
|
"advancedWarmUpRemoveAll": "Ne plus préchauffer aucun événement",
|
|
31
|
-
"
|
|
39
|
+
"armingModesHelp": "Quatre états HomeKit, neuf modes de station. Choisissez ce que chaque état active ; un état vide n'apparaît pas dans HomeKit. Nuit n'a pas de valeur par défaut.",
|
|
40
|
+
"armingSlotAway": "Absent",
|
|
41
|
+
"armingSlotHome": "Maison",
|
|
42
|
+
"armingSlotNight": "Nuit",
|
|
43
|
+
"armingSlotOff": "Désactivé",
|
|
44
|
+
"attentionChooseAnother": "Diagnostiquer un autre problème",
|
|
45
|
+
"attentionDiagnose": "Diagnostiquer le problème indiqué",
|
|
46
|
+
"attentionUnreachableSummary": "Homebridge Eufy ne parvient pas à joindre cet appareil, donc HomeKit l’affiche comme ne répondant pas. Vérifiez qu’il est alimenté et connecté, puis diagnostiquez-le s’il reste injoignable.",
|
|
47
|
+
"attentionUnreachableTitle": "{device} est injoignable",
|
|
48
|
+
"authCommitFailed": "Connexion réussie, mais la session n’a pas pu être enregistrée. Redémarrez Homebridge et reconnectez-vous.",
|
|
32
49
|
"authFailed": "Échec de l'authentification. Vérifiez le compte et réessayez.",
|
|
50
|
+
"authPluginRunning": "Homebridge Eufy utilise la connexion au compte en ce moment. Redémarrez Homebridge, puis reconnectez-vous.",
|
|
33
51
|
"authReady": "Authentifiez votre compte invité",
|
|
34
|
-
"
|
|
52
|
+
"authSaveFailed": "Connexion réussie, mais les réglages n’ont pas pu être enregistrés. Appuyez sur Enregistrer.",
|
|
53
|
+
"authSuccess": "Authentification réussie. Cliquez sur Enregistrer ci-dessous, puis laissez Homebridge redémarrer pour lancer la nouvelle connexion.",
|
|
35
54
|
"authSummary": "Cette connexion temporaire reste dans la fenêtre de configuration et se ferme avant l'enregistrement de votre compte.",
|
|
36
55
|
"authTimedOut": "Le délai d'authentification a expiré. Recommencez pour créer une nouvelle connexion.",
|
|
37
56
|
"authenticate": "S'authentifier",
|
|
@@ -39,6 +58,7 @@
|
|
|
39
58
|
"brand": "Homebridge Eufy",
|
|
40
59
|
"cameraOwnArming": "Cette caméra apparaît aussi comme son propre système d’alarme. Elle fonctionne sans HomeBase et conserve donc son propre état d’armement au lieu d’en suivre un : c’est pourquoi chaque caméra autonome affiche un système d’alarme distinct dans l’app Maison.",
|
|
41
60
|
"captchaLabel": "Réponse au captcha",
|
|
61
|
+
"captchaRetry": "Cette réponse n’a pas été acceptée. Saisissez le nouveau captcha.",
|
|
42
62
|
"categoryClean": "Entretien",
|
|
43
63
|
"categoryLife": "Maison",
|
|
44
64
|
"categorySecurity": "Sécurité",
|
|
@@ -46,13 +66,15 @@
|
|
|
46
66
|
"closeDetails": "Fermer les détails de l’appareil",
|
|
47
67
|
"closeDiagnostics": "Retour aux appareils",
|
|
48
68
|
"continueAuthentication": "Continuer",
|
|
69
|
+
"countryInvalid": "Saisissez un code pays à deux lettres, par exemple US ou FR.",
|
|
49
70
|
"countryLabel": "Code pays",
|
|
50
71
|
"dashboardActionsLabel": "Actions du tableau de bord",
|
|
51
72
|
"dashboardAuthenticationRequiredSummary": "Le compte enregistré doit être authentifié avant de reconnecter les appareils.",
|
|
52
73
|
"dashboardAuthenticationRequiredTitle": "Authentification requise",
|
|
53
74
|
"dashboardDegradedSummary": "La dernière découverte complète est affichée pendant le rétablissement de la connexion.",
|
|
54
75
|
"dashboardDegradedTitle": "Appareils de la dernière découverte complète",
|
|
55
|
-
"
|
|
76
|
+
"dashboardFailedSummary": "Homebridge Eufy s’est arrêté sur une erreur. Redémarrez Homebridge.",
|
|
77
|
+
"dashboardFailedTitle": "Homebridge Eufy s’est arrêté",
|
|
56
78
|
"dashboardIncompleteSummary": "La découverte des appareils est incomplète. Les informations existantes sont conservées jusqu’à une découverte complète.",
|
|
57
79
|
"dashboardIncompleteTitle": "Découverte incomplète",
|
|
58
80
|
"dashboardMissingSummary": "Aucun instantané d’appareil n’est encore disponible. Démarrez ou redémarrez Homebridge pour découvrir les appareils.",
|
|
@@ -62,10 +84,12 @@
|
|
|
62
84
|
"dashboardPageTitle": "Vos appareils Eufy",
|
|
63
85
|
"dashboardReadySummary": "Ces appareils proviennent de la dernière découverte complète.",
|
|
64
86
|
"dashboardReadyTitle": "Appareils découverts",
|
|
65
|
-
"dashboardRestartRequiredSummary": "Ces appareils ont été trouvés pour le compte que vous venez de connecter.
|
|
87
|
+
"dashboardRestartRequiredSummary": "Ces appareils ont été trouvés pour le compte que vous venez de connecter. Cliquez sur Enregistrer ci-dessous, puis laissez Homebridge redémarrer pour les relier.",
|
|
66
88
|
"dashboardRestartRequiredTitle": "Appareils trouvés",
|
|
67
89
|
"dashboardStaleSummary": "L’instantané enregistré n’est plus actuel. Redémarrez Homebridge pour actualiser son état.",
|
|
68
90
|
"dashboardStaleTitle": "État des appareils obsolète",
|
|
91
|
+
"dashboardUnreachableSummary": "Le service des réglages n’a pas répondu. Rechargez cette page.",
|
|
92
|
+
"dashboardUnreachableTitle": "Les réglages n’ont pas pu être chargés",
|
|
69
93
|
"deviceBattery": "Batterie {level} %",
|
|
70
94
|
"deviceStatusHidden": "Masqué de HomeKit",
|
|
71
95
|
"deviceStatusOnline": "En ligne",
|
|
@@ -76,94 +100,48 @@
|
|
|
76
100
|
"diagnosticNoAction": "Votre installation n’a aucun problème et il n’y a rien à corriger ici. L’appareil apparaîtra dans HomeKit dès que sa fonction principale aura une représentation vérifiée sur du matériel réel ; le signaler n’aide donc que si vous pouvez y contribuer.",
|
|
77
101
|
"diagnosticOnly": "Diagnostic uniquement",
|
|
78
102
|
"diagnosticsActionLabel": "À faire",
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"diagnosticsArchiveTruncated": "enregistrements les plus récents conservés à la limite de l’archive",
|
|
89
|
-
"diagnosticsAuthorize": "Démarrer la session de diagnostic",
|
|
90
|
-
"diagnosticsAuthorized": "La collecte est prête. Démarrez lorsque vous le souhaitez.",
|
|
91
|
-
"diagnosticsBackToQuestions": "Retour aux questions",
|
|
92
|
-
"diagnosticsBeforeLabel": "Avant de commencer",
|
|
93
|
-
"diagnosticsBestMatch": "Meilleur profil",
|
|
94
|
-
"diagnosticsChangeAnswers": "Modifier les réponses",
|
|
95
|
-
"diagnosticsChooseDirectly": "Choisir directement un profil",
|
|
96
|
-
"diagnosticsCollectingFinishHere": "Diagnostics de débogage — la collecte est active. Terminez ici.",
|
|
97
|
-
"diagnosticsComplete": "Collecte terminée.",
|
|
98
|
-
"diagnosticsContinue": "Continuer",
|
|
103
|
+
"diagnosticsArchiveDownloaded": "Fichier de diagnostic téléchargé.",
|
|
104
|
+
"diagnosticsArchiveHandoff": "Votre navigateur devrait avoir enregistré {filename}, en général dans Téléchargements. Sur le ticket GitHub, indiquez quand le problème survient, ce que vous attendiez et s’il s’est produit pendant cette capture. Glissez le fichier dans la case Diagnostics Archive sans le renommer, puis vérifiez que son nom y apparaît avant de publier.",
|
|
105
|
+
"diagnosticsArchiveExport": "Télécharger le fichier de diagnostic",
|
|
106
|
+
"diagnosticsAttention": "Diagnostic — un problème a été détecté",
|
|
107
|
+
"diagnosticsCancel": "Annuler",
|
|
108
|
+
"diagnosticsCaptureKeepsRunning": "Vous pouvez fermer cette page ; la capture continue et s’arrête d’elle-même le {time}.",
|
|
109
|
+
"diagnosticsCaptureTimedOut": "La capture s’est arrêtée après 72 heures. Téléchargez ce qui a été capturé.",
|
|
110
|
+
"diagnosticsCapturing": "Capture en cours",
|
|
111
|
+
"diagnosticsCollectingFinishHere": "Diagnostic — une capture est en cours. Terminez-la ici.",
|
|
99
112
|
"diagnosticsControlAction": "Utilisez la commande une fois, attendez que l’appareil se stabilise, puis terminez lorsque l’état incorrect est visible.",
|
|
100
|
-
"diagnosticsControlBefore": "Choisissez une seule commande et vérifiez qu’elle peut être utilisée sans danger.",
|
|
101
113
|
"diagnosticsControlSummary": "Vérifie ce qui se passe lorsqu’une commande HomeKit et l’appareil ne correspondent pas.",
|
|
102
|
-
"diagnosticsDashboardAction": "Répétez une fois la navigation, la modification du réglage ou la tentative d’enregistrement, puis rouvrez
|
|
103
|
-
"diagnosticsDashboardBefore": "Ouvrez l’écran où le problème se produit. Ne saisissez pas de mot de passe ni de code de vérification pendant la collecte.",
|
|
114
|
+
"diagnosticsDashboardAction": "Répétez une fois la navigation, la modification du réglage ou la tentative d’enregistrement, puis rouvrez Diagnostic depuis l’icône de bogue pour terminer la capture.",
|
|
104
115
|
"diagnosticsDashboardSummary": "Suit un problème dans les écrans du tableau de bord, de connexion ou de configuration.",
|
|
105
116
|
"diagnosticsDevicesAction": "Actualisez les appareils ou rouvrez la tuile concernée, puis terminez lorsque le problème apparaît.",
|
|
106
|
-
"diagnosticsDevicesBefore": "Notez quel accessoire est absent, dupliqué ou affiché avec le mauvais type.",
|
|
107
117
|
"diagnosticsDevicesSummary": "Vérifie pourquoi un accessoire HomeKit est absent, dupliqué ou affiché avec le mauvais type.",
|
|
108
|
-
"
|
|
109
|
-
"diagnosticsEvidenceReady": "
|
|
110
|
-
"
|
|
118
|
+
"diagnosticsDownloadAgain": "Le télécharger à nouveau",
|
|
119
|
+
"diagnosticsEvidenceReady": "Capture terminée.",
|
|
120
|
+
"diagnosticsExistingIssue": "Le joindre à mon ticket GitHub existant",
|
|
111
121
|
"diagnosticsEyebrow": "Assistance",
|
|
112
122
|
"diagnosticsFailed": "La demande de diagnostic a échoué. Réessayez.",
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
"diagnosticsLiveAction": "Ouvrez la vue en direct, demandez un instantané ou essayez l’interphone une fois, puis terminez lorsque le résultat est visible.",
|
|
122
|
-
"diagnosticsLiveBefore": "Choisissez une caméra et une action à essayer. La vidéo et l’audio de l’interphone ne sont jamais inclus.",
|
|
123
|
-
"diagnosticsLiveSummary": "Vérifie un problème de vue en direct, d’instantané ou d’interphone.",
|
|
124
|
-
"diagnosticsMissingEvidence": "Collecte terminée. Certains détails de diagnostic sont indisponibles, mais vous pouvez continuer.",
|
|
125
|
-
"diagnosticsModeIntermittent": "intermittent",
|
|
126
|
-
"diagnosticsModeIntermittentSummary": "La collecte peut attendre la prochaine occurrence.",
|
|
127
|
-
"diagnosticsModeNow": "reproduire maintenant",
|
|
128
|
-
"diagnosticsModeNowSummary": "La collecte couvrira une reproduction maintenant.",
|
|
129
|
-
"diagnosticsNo": "Non",
|
|
130
|
-
"diagnosticsNowFinish": "Terminer après reproduction du problème",
|
|
131
|
-
"diagnosticsOpenIssue": "Préparer le ticket GitHub",
|
|
132
|
-
"diagnosticsOtherAction": "Essayez de faire survenir le problème une fois, notez ce que vous voyez et terminez rapidement.",
|
|
133
|
-
"diagnosticsOtherBefore": "Concentrez-vous si possible sur une seule action. Évitez les mots de passe et les informations personnelles sans rapport.",
|
|
134
|
-
"diagnosticsOtherSummary": "Collecte les détails d’un problème qui ne correspond à aucun autre choix.",
|
|
135
|
-
"diagnosticsPrivacy": "Rien n’est envoyé. Les mots de passe, les données privées du compte et les médias de la caméra ne sont jamais inclus.",
|
|
136
|
-
"diagnosticsProfileChanged": "Démarrez une nouvelle session de diagnostic pour utiliser ce profil.",
|
|
123
|
+
"diagnosticsLiveAction": "Dans l’app Maison, ouvrez la vue en direct, demandez un instantané ou essayez l’audio bidirectionnel une fois. Si l’image reste noire ou que le problème apparaît, revenez ici et appuyez sur terminer. Si tout fonctionne, laissez la capture en cours et réessayez quand le problème revient.",
|
|
124
|
+
"diagnosticsLiveSummary": "Vérifie un problème de vue en direct, d’instantané ou d’audio bidirectionnel.",
|
|
125
|
+
"diagnosticsMissingEvidence": "Certains détails n’ont pas pu être capturés. Vous pouvez tout de même télécharger le fichier de diagnostic.",
|
|
126
|
+
"diagnosticsNowFinish": "C’est arrivé — terminer",
|
|
127
|
+
"diagnosticsOpenIssue": "Ouvrir un nouveau ticket GitHub",
|
|
128
|
+
"diagnosticsOtherAction": "Essayez de faire survenir le problème et notez ce que vous voyez. Une fois qu’il s’est produit, revenez ici et appuyez sur terminer ; d’ici là, laissez la capture en cours.",
|
|
129
|
+
"diagnosticsOtherSummary": "Capture les détails d’un problème qui ne correspond à aucun autre choix.",
|
|
130
|
+
"diagnosticsPrivacy": "Signaler un problème nécessite un compte GitHub. Rien n’est envoyé : le fichier de diagnostic est chiffré, reste sur votre ordinateur jusqu’à ce que vous le joigniez vous-même à un ticket GitHub, et n’inclut jamais les mots de passe, les données privées du compte ni les médias de la caméra.",
|
|
137
131
|
"diagnosticsProfileControl": "Décalage de commande ou d’état",
|
|
138
132
|
"diagnosticsProfileDashboard": "Tableau de bord ou interface de configuration",
|
|
139
133
|
"diagnosticsProfileDevices": "Appareil manquant ou incorrect",
|
|
140
|
-
"
|
|
141
|
-
"diagnosticsProfileLiveMedia": "Vidéo en direct, instantané ou interphone",
|
|
134
|
+
"diagnosticsProfileLiveMedia": "Image noire ou problème de vidéo en direct",
|
|
142
135
|
"diagnosticsProfileOther": "Autre problème",
|
|
143
|
-
"diagnosticsProfileRecording": "Enregistrement
|
|
136
|
+
"diagnosticsProfileRecording": "Enregistrement d’un événement absent ou illisible",
|
|
144
137
|
"diagnosticsProfileStartup": "Démarrage ou authentification",
|
|
145
|
-
"
|
|
146
|
-
"diagnosticsQuestionDashboard": "Le problème se situe-t-il dans les écrans du tableau de bord, de connexion ou de configuration ?",
|
|
147
|
-
"diagnosticsQuestionDevices": "Un accessoire est-il absent, dupliqué ou affiché avec le mauvais type dans HomeKit ?",
|
|
148
|
-
"diagnosticsQuestionLiveMedia": "Le problème concerne-t-il la vidéo en direct, un instantané ou l’interphone ?",
|
|
149
|
-
"diagnosticsQuestionRecording": "Un enregistrement vidéo sécurisé HomeKit est-il absent ou illisible ?",
|
|
150
|
-
"diagnosticsQuestionReproduceNow": "Pouvez-vous reproduire le problème maintenant ?",
|
|
151
|
-
"diagnosticsQuestionStartup": "S’agit-il d’un problème de démarrage ou de connexion ?",
|
|
152
|
-
"diagnosticsReauthorize": "Démarrer une nouvelle session de diagnostic",
|
|
153
|
-
"diagnosticsRecordingAction": "Déclenchez un événement qui devrait être enregistré, attendez que l’enregistrement apparaisse, puis terminez.",
|
|
154
|
-
"diagnosticsRecordingBefore": "Vérifiez que la vidéo sécurisée HomeKit est activée et notez approximativement quand l’événement survient. Les enregistrements ne sont jamais inclus.",
|
|
138
|
+
"diagnosticsRecordingAction": "Déclenchez un événement qui devrait être enregistré et attendez quelques minutes. Si l’enregistrement est absent ou illisible, revenez ici et appuyez sur terminer. S’il se lit, laissez la capture en cours et réessayez quand le problème revient.",
|
|
155
139
|
"diagnosticsRecordingSummary": "Vérifie un enregistrement vidéo sécurisé HomeKit absent ou illisible.",
|
|
156
|
-
"
|
|
157
|
-
"diagnosticsStartAnother": "Démarrer une autre session de diagnostic",
|
|
158
|
-
"diagnosticsStartRecording": "Démarrer l’enregistrement",
|
|
159
|
-
"diagnosticsStartReproduction": "Démarrer la reproduction",
|
|
140
|
+
"diagnosticsStartAnother": "Démarrer une autre capture",
|
|
160
141
|
"diagnosticsStartupAction": "Redémarrez Homebridge ou répétez l’étape de connexion en échec, puis revenez ici et terminez.",
|
|
161
|
-
"diagnosticsStartupBefore": "Commencez la collecte avant un redémarrage. Ne partagez jamais de mot de passe, de réponse captcha ou de code de vérification.",
|
|
162
142
|
"diagnosticsStartupSummary": "Vérifie un problème de démarrage, de connexion ou d’authentification de Homebridge.",
|
|
163
|
-
"
|
|
164
|
-
"diagnosticsTitle": "
|
|
165
|
-
"diagnosticsUseProfile": "Utiliser ce profil",
|
|
166
|
-
"diagnosticsYes": "Oui",
|
|
143
|
+
"diagnosticsTilesHeading": "Qu’est-ce qui ne va pas ?",
|
|
144
|
+
"diagnosticsTitle": "Diagnostic",
|
|
167
145
|
"firstSetupAcknowledgement": "J'ai créé un compte invité dédié et partagé mon domicile et mes appareils Eufy avec ce compte.",
|
|
168
146
|
"firstSetupContinue": "Continuer",
|
|
169
147
|
"firstSetupEyebrow": "Première configuration",
|
|
@@ -175,16 +153,78 @@
|
|
|
175
153
|
"legacyEyebrow": "Migration V5",
|
|
176
154
|
"legacySummary": "Ces réglages V4 ont été volontairement abandonnés. Ils n’ont été ni migrés ni exécutés.",
|
|
177
155
|
"legacyTitle": "Vérifier les réglages V4 abandonnés",
|
|
156
|
+
"log.action.allowBatteryCooling": "Laissez la batterie de l’appareil revenir à une température sûre.",
|
|
157
|
+
"log.action.checkCameraControl": "Vérifiez la caméra dans l’app Eufy ; cette commande reste indisponible tant qu’elle ne signale pas son état.",
|
|
158
|
+
"log.action.checkCameraRecording": "Vérifiez que la vidéo sécurisée HomeKit est configurée pour cette caméra et qu’elle signale les mouvements.",
|
|
159
|
+
"log.action.checkCameraSnapshot": "Vérifiez que la caméra est joignable et peut produire une image, puis rouvrez la caméra.",
|
|
160
|
+
"log.action.checkFfmpegPath": "FFmpeg n’a pas pu démarrer ; vérifiez le chemin FFmpeg personnalisé dans les Réglages avancés.",
|
|
161
|
+
"log.action.checkNetwork": "Vérifiez l’accès réseau et la disponibilité du service Eufy.",
|
|
162
|
+
"log.action.checkPhysicalArmingMode": "Vérifiez le mode réel du système de sécurité avant de réessayer.",
|
|
163
|
+
"log.action.checkPhysicalLight": "Vérifiez l’état réel de l’éclairage avant de réessayer.",
|
|
164
|
+
"log.action.checkPhysicalLock": "Vérifiez l’état réel de la serrure avant de réessayer.",
|
|
165
|
+
"log.action.checkStation": "Vérifiez que la station ou la HomeBase de cette caméra est alimentée et en ligne, ainsi que l’accès réseau entre Homebridge et elle, puis rouvrez la vue en direct.",
|
|
166
|
+
"log.action.controlTimedOut": "L’appareil n’a pas répondu à temps ; utilisez l’app Eufy pour cette commande, et joignez un fichier de diagnostic à votre ticket si cela se reproduit.",
|
|
167
|
+
"log.action.enableCamera": "Allumez la caméra dans l’app Eufy, puis rouvrez la vue en direct.",
|
|
168
|
+
"log.action.mapArmingMode": "Associez ce mode à un état HomeKit sous Modes de garde HomeKit dans les réglages de l’appareil.",
|
|
169
|
+
"log.action.reduceConcurrentMedia": "Rouvrez la vue en direct ; si cela se reproduit, fermez une caméra déjà ouverte ou augmentez Caméras diffusant simultanément dans les Réglages avancés.",
|
|
170
|
+
"log.action.retryArming": "Relancez manuellement la commande du système de sécurité.",
|
|
171
|
+
"log.action.retryCameraControl": "Réessayez la commande ; la caméra n’a pas confirmé le changement.",
|
|
172
|
+
"log.action.retryLight": "Relancez manuellement la commande de l’éclairage.",
|
|
173
|
+
"log.action.retryLiveView": "Rouvrez la vue en direct et vérifiez l’accès réseau entre Homebridge et la caméra.",
|
|
174
|
+
"log.action.retryLock": "Relancez manuellement la commande de la serrure.",
|
|
175
|
+
"log.action.retryRecording": "Aucune action n’est nécessaire ; l’enregistrement sera retenté au prochain déclenchement.",
|
|
176
|
+
"log.action.retryTalkback": "Fermez et rouvrez la caméra, puis essayez de parler de nouveau.",
|
|
177
|
+
"log.action.trySmallVideoPackets": "Si la vue en direct ne s’affiche jamais dans l’app Maison, activez Paquets vidéo en direct plus petits dans les réglages avancés du tableau de bord Homebridge Eufy.",
|
|
178
|
+
"log.action.setFfmpegPath": "Définissez un chemin FFmpeg personnalisé dans les Réglages avancés.",
|
|
179
|
+
"log.homekit.armingCapabilityUnavailable": "Les informations du système de sécurité sont indisponibles",
|
|
180
|
+
"log.homekit.armingOperationFailed": "Une commande du système de sécurité a échoué",
|
|
181
|
+
"log.homekit.armingReconciliationExpired": "Un système de sécurité n’a pas confirmé le mode demandé",
|
|
182
|
+
"log.homekit.batteryCapabilityUnavailable": "Les informations de batterie sont indisponibles",
|
|
183
|
+
"log.homekit.batteryTemperatureAlert": "Un appareil a signalé une alerte de température de batterie",
|
|
184
|
+
"log.homekit.cameraControlOperationFailed": "Une commande de caméra n’a pas pris effet",
|
|
185
|
+
"log.homekit.cameraControlsCapabilityUnavailable": "Une commande de caméra est indisponible",
|
|
186
|
+
"log.homekit.cameraLiveSessionFailed": "Une vue en direct s’est terminée sans vidéo",
|
|
187
|
+
"log.homekit.cameraLiveSessionRefused": "La vue en direct est indisponible car la caméra est éteinte",
|
|
188
|
+
"log.homekit.cameraMediaAtCapacity": "La vue en direct a été refusée car cet hôte avait atteint sa limite de caméras diffusant simultanément",
|
|
189
|
+
"log.homekit.cameraRecordingFailed": "Un enregistrement vidéo sécurisé HomeKit ne s’est pas terminé",
|
|
190
|
+
"log.homekit.cameraRecordingRefused": "L’enregistrement vidéo sécurisé HomeKit est indisponible car la caméra est éteinte",
|
|
191
|
+
"log.homekit.cameraRecordingUnavailable": "L’enregistrement vidéo sécurisé HomeKit est indisponible pour cette caméra",
|
|
192
|
+
"log.homekit.cameraSnapshotCapabilityUnavailable": "Les instantanés de la caméra sont indisponibles",
|
|
193
|
+
"log.homekit.cameraSnapshotUnavailable": "Une image de caméra est indisponible, une image de remplacement est donc affichée",
|
|
194
|
+
"log.homekit.cameraStreamingCapabilityUnavailable": "La vue en direct de la caméra est indisponible",
|
|
195
|
+
"log.homekit.cameraTalkbackFailed": "L’interphone de la caméra s’est arrêté de façon inattendue",
|
|
196
|
+
"log.homekit.cameraTalkbackUnavailable": "L’interphone de la caméra est indisponible",
|
|
197
|
+
"log.homekit.contactCapabilityUnavailable": "Les informations du capteur d’ouverture sont indisponibles",
|
|
198
|
+
"log.homekit.invalidBatteryObservation": "Un relevé de batterie est invalide",
|
|
199
|
+
"log.homekit.invalidCameraControlObservation": "L’état d’une commande de caméra n’a pas pu être lu",
|
|
200
|
+
"log.homekit.invalidContactObservation": "Un relevé de capteur d’ouverture est invalide",
|
|
201
|
+
"log.homekit.invalidLightObservation": "Un relevé d’éclairage connecté est invalide",
|
|
202
|
+
"log.homekit.invalidSirenObservation": "Un relevé de sirène est invalide",
|
|
203
|
+
"log.homekit.lightCapabilityUnavailable": "Les informations de l’éclairage connecté sont indisponibles",
|
|
204
|
+
"log.homekit.lightOperationFailed": "Une commande d’éclairage connecté a échoué",
|
|
205
|
+
"log.homekit.lightReconciliationExpired": "Un éclairage connecté n’a pas confirmé l’état demandé",
|
|
206
|
+
"log.homekit.lockCapabilityUnavailable": "La commande de la serrure est indisponible",
|
|
207
|
+
"log.homekit.lockOperationFailed": "Une commande de serrure a échoué",
|
|
208
|
+
"log.homekit.lockReconciliationExpired": "Une serrure n’a pas confirmé l’état demandé",
|
|
209
|
+
"log.homekit.sirenCapabilityUnavailable": "Les informations de la sirène sont indisponibles",
|
|
210
|
+
"log.homekit.unsupportedArmingMode": "Un système de sécurité a signalé un mode que Maison d’Apple ne peut pas représenter",
|
|
211
|
+
"log.homekit.unusableLockAnnouncement": "Une serrure a signalé une information que ce plugin ne sait pas lire, son état est donc affiché comme inconnu",
|
|
212
|
+
"log.runtime.transportDegraded": "La connexion Eufy est dégradée",
|
|
178
213
|
"menuAdvanced": "Réglages avancés",
|
|
179
|
-
"menuDiagnostics": "
|
|
214
|
+
"menuDiagnostics": "Diagnostic",
|
|
180
215
|
"menuRelogin": "Se reconnecter ou remplacer le compte",
|
|
181
216
|
"oneAccountSession": "Une seule session de compte à la fois",
|
|
182
217
|
"pageTitle": "Connectez votre compte Eufy",
|
|
183
218
|
"passwordLabel": "Mot de passe",
|
|
219
|
+
"preferenceArmingModes": "Modes de garde HomeKit",
|
|
184
220
|
"preferenceAudio": "Audio HomeKit",
|
|
221
|
+
"preferenceSecuritySystem": "Système de sécurité HomeKit",
|
|
185
222
|
"preferenceRepresented": "Exposer dans HomeKit",
|
|
186
223
|
"preferenceSaveFailed": "La préférence n’a pas pu être enregistrée. Réessayez.",
|
|
187
224
|
"preferenceSnapshotMode": "Mode d’instantané",
|
|
225
|
+
"reauthAction": "Se reconnecter",
|
|
226
|
+
"reauthSummary": "Homebridge Eufy ne peut plus utiliser la session Eufy enregistrée : vos appareils ne se mettent plus à jour dans HomeKit. Reconnectez-vous pour les retrouver.",
|
|
227
|
+
"reauthTitle": "Reconnexion nécessaire",
|
|
188
228
|
"representationLabel": "Exposé comme :",
|
|
189
229
|
"serviceCamera": "Caméra",
|
|
190
230
|
"serviceCameraSwitches": "Interrupteurs caméra",
|
|
@@ -208,6 +248,7 @@
|
|
|
208
248
|
"stepDiscover": "Découverte",
|
|
209
249
|
"trustedDeviceLabel": "Nom de l’appareil de confiance",
|
|
210
250
|
"twoFactorLabel": "Code de vérification",
|
|
251
|
+
"twoFactorSent": "Eufy vous a envoyé un code de vérification. Saisissez-le ci-dessous.",
|
|
211
252
|
"updatePendingAction": "Redémarrer",
|
|
212
253
|
"updatePendingBusy": "Redémarrage…",
|
|
213
254
|
"updatePendingFailed": "Le redémarrage n'a pas pu être lancé. Redémarrez Homebridge pour utiliser la version installée.",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
data-i18n-aria-label="menuDiagnostics"
|
|
18
18
|
>
|
|
19
19
|
<img src="assets/icons/bug-report.svg" alt="" />
|
|
20
|
+
<span class="diagnostics-capturing" data-i18n="diagnosticsCapturing"></span>
|
|
20
21
|
</button>
|
|
21
22
|
</header>
|
|
22
23
|
|
|
@@ -27,6 +28,7 @@
|
|
|
27
28
|
<h2 id="legacy-notice-title" data-i18n="legacyTitle"></h2>
|
|
28
29
|
<p data-i18n="legacySummary"></p>
|
|
29
30
|
<p class="legacy-settings" data-legacy-settings></p>
|
|
31
|
+
<p role="status" data-legacy-status></p>
|
|
30
32
|
</div>
|
|
31
33
|
<button type="button" data-legacy-acknowledge data-i18n="acknowledge"></button>
|
|
32
34
|
</aside>
|
|
@@ -61,13 +63,14 @@
|
|
|
61
63
|
<p class="eyebrow" data-i18n="devicesEyebrow"></p>
|
|
62
64
|
<h2 id="dashboard-title" data-dashboard-title></h2>
|
|
63
65
|
</div>
|
|
64
|
-
<button type="button" class="dashboard-diagnose" data-dashboard-diagnose hidden data-i18n="dashboardDiagnose"></button>
|
|
65
66
|
<div class="dashboard-actions" role="group" data-i18n-aria-label="dashboardActionsLabel">
|
|
66
67
|
<button type="button" class="dashboard-action" data-dashboard-authenticate data-i18n-aria-label="menuRelogin">
|
|
67
68
|
<img src="assets/icons/settings_backup_restore.svg" alt="" />
|
|
68
69
|
</button>
|
|
69
70
|
<button type="button" class="dashboard-action" data-menu-diagnostics data-i18n-aria-label="menuDiagnostics">
|
|
70
71
|
<img src="assets/icons/bug-report.svg" alt="" />
|
|
72
|
+
<span class="diagnostics-name" data-i18n="menuDiagnostics"></span>
|
|
73
|
+
<span class="diagnostics-capturing" data-i18n="diagnosticsCapturing"></span>
|
|
71
74
|
</button>
|
|
72
75
|
<button type="button" class="dashboard-action" data-menu-advanced data-i18n-aria-label="menuAdvanced">
|
|
73
76
|
<img src="assets/icons/settings.svg" alt="" />
|
|
@@ -163,6 +166,26 @@
|
|
|
163
166
|
<input type="text" data-advanced-ffmpeg />
|
|
164
167
|
<small data-i18n="advancedFfmpegHelp"></small>
|
|
165
168
|
</label>
|
|
169
|
+
<label>
|
|
170
|
+
<span data-i18n="advancedSmallVideoPacketsLabel"></span>
|
|
171
|
+
<input type="checkbox" data-advanced-small-video-packets />
|
|
172
|
+
<small data-i18n="advancedSmallVideoPacketsHelp"></small>
|
|
173
|
+
</label>
|
|
174
|
+
<label>
|
|
175
|
+
<span data-i18n="advancedLiveVideoPassthroughLabel"></span>
|
|
176
|
+
<input type="checkbox" data-advanced-live-video-passthrough />
|
|
177
|
+
<small data-i18n="advancedLiveVideoPassthroughHelp"></small>
|
|
178
|
+
</label>
|
|
179
|
+
<label>
|
|
180
|
+
<span data-i18n="advancedHdLiveVideoLabel"></span>
|
|
181
|
+
<input type="checkbox" data-advanced-hd-live-video />
|
|
182
|
+
<small data-i18n="advancedHdLiveVideoHelp"></small>
|
|
183
|
+
</label>
|
|
184
|
+
<label>
|
|
185
|
+
<span data-i18n="advancedIgnoreHomeBitRateLabel"></span>
|
|
186
|
+
<input type="checkbox" data-advanced-ignore-home-bit-rate />
|
|
187
|
+
<small data-i18n="advancedIgnoreHomeBitRateHelp"></small>
|
|
188
|
+
</label>
|
|
166
189
|
</div>
|
|
167
190
|
<p class="advanced-device-help" data-i18n="advancedDeviceHelp"></p>
|
|
168
191
|
<p class="advanced-status" role="status" aria-live="polite" data-advanced-status></p>
|
|
@@ -186,129 +209,88 @@
|
|
|
186
209
|
</div>
|
|
187
210
|
</div>
|
|
188
211
|
<div class="diagnostics-stage">
|
|
189
|
-
<div class="diagnostics-wizard diagnostics-surface" data-diagnostics-wizard
|
|
212
|
+
<div class="diagnostics-wizard diagnostics-surface" data-diagnostics-wizard>
|
|
190
213
|
<div class="diagnostics-question" data-diagnostics-question>
|
|
191
|
-
<
|
|
192
|
-
|
|
193
|
-
<button
|
|
194
|
-
type="button"
|
|
195
|
-
class="diagnostics-secondary-action"
|
|
196
|
-
data-diagnostics-answer="no"
|
|
197
|
-
data-i18n="diagnosticsNo"
|
|
198
|
-
></button>
|
|
199
|
-
<button type="button" data-diagnostics-answer="yes" data-i18n="diagnosticsYes"></button>
|
|
200
|
-
</div>
|
|
201
|
-
<button
|
|
202
|
-
type="button"
|
|
203
|
-
class="diagnostics-quiet-action"
|
|
204
|
-
data-diagnostics-direct
|
|
205
|
-
data-i18n="diagnosticsChooseDirectly"
|
|
206
|
-
></button>
|
|
207
|
-
</div>
|
|
208
|
-
<div class="diagnostics-direct" data-diagnostics-direct-panel hidden>
|
|
209
|
-
<label>
|
|
210
|
-
<span data-i18n="diagnosticsProfileLabel"></span>
|
|
211
|
-
<select data-diagnostics-profile>
|
|
212
|
-
<option value="startup-authentication" data-i18n="diagnosticsProfileStartup"></option>
|
|
213
|
-
<option value="device-representation" data-i18n="diagnosticsProfileDevices"></option>
|
|
214
|
-
<option value="control-state" data-i18n="diagnosticsProfileControl"></option>
|
|
215
|
-
<option value="live-media" data-i18n="diagnosticsProfileLiveMedia"></option>
|
|
216
|
-
<option value="hksv-recording" data-i18n="diagnosticsProfileRecording"></option>
|
|
217
|
-
<option value="dashboard-ui" data-i18n="diagnosticsProfileDashboard"></option>
|
|
218
|
-
<option value="other" data-i18n="diagnosticsProfileOther"></option>
|
|
219
|
-
</select>
|
|
220
|
-
</label>
|
|
221
|
-
<div class="diagnostics-choice-actions">
|
|
222
|
-
<button
|
|
223
|
-
type="button"
|
|
224
|
-
class="diagnostics-secondary-action"
|
|
225
|
-
data-diagnostics-direct-back
|
|
226
|
-
data-i18n="diagnosticsBackToQuestions"
|
|
227
|
-
></button>
|
|
228
|
-
<button type="button" data-diagnostics-direct-choose data-i18n="diagnosticsUseProfile"></button>
|
|
229
|
-
</div>
|
|
230
|
-
</div>
|
|
231
|
-
<div class="diagnostics-frequency" data-diagnostics-frequency hidden>
|
|
232
|
-
<strong
|
|
233
|
-
id="diagnostics-frequency-heading"
|
|
214
|
+
<h3
|
|
215
|
+
id="diagnostics-question-heading"
|
|
234
216
|
tabindex="-1"
|
|
235
|
-
data-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
data-
|
|
242
|
-
data-i18n="
|
|
243
|
-
|
|
244
|
-
<button type="button" data-diagnostics-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
data-
|
|
262
|
-
data-i18n="
|
|
263
|
-
|
|
264
|
-
<button type="button" data-diagnostics-
|
|
217
|
+
data-diagnostics-question-text
|
|
218
|
+
data-i18n="diagnosticsTilesHeading"
|
|
219
|
+
></h3>
|
|
220
|
+
<p class="diagnostics-note" data-i18n="diagnosticsPrivacy"></p>
|
|
221
|
+
<div class="diagnostics-tiles" role="group" aria-labelledby="diagnostics-question-heading">
|
|
222
|
+
<button type="button" data-diagnostics-tile="startup-authentication">
|
|
223
|
+
<span data-i18n="diagnosticsProfileStartup"></span>
|
|
224
|
+
<small data-i18n="diagnosticsStartupSummary"></small>
|
|
225
|
+
</button>
|
|
226
|
+
<button type="button" data-diagnostics-tile="device-representation">
|
|
227
|
+
<span data-i18n="diagnosticsProfileDevices"></span>
|
|
228
|
+
<small data-i18n="diagnosticsDevicesSummary"></small>
|
|
229
|
+
</button>
|
|
230
|
+
<button type="button" data-diagnostics-tile="control-state">
|
|
231
|
+
<span data-i18n="diagnosticsProfileControl"></span>
|
|
232
|
+
<small data-i18n="diagnosticsControlSummary"></small>
|
|
233
|
+
</button>
|
|
234
|
+
<button type="button" data-diagnostics-tile="live-media">
|
|
235
|
+
<span data-i18n="diagnosticsProfileLiveMedia"></span>
|
|
236
|
+
<small data-i18n="diagnosticsLiveSummary"></small>
|
|
237
|
+
</button>
|
|
238
|
+
<button type="button" data-diagnostics-tile="hksv-recording">
|
|
239
|
+
<span data-i18n="diagnosticsProfileRecording"></span>
|
|
240
|
+
<small data-i18n="diagnosticsRecordingSummary"></small>
|
|
241
|
+
</button>
|
|
242
|
+
<button type="button" data-diagnostics-tile="dashboard-ui">
|
|
243
|
+
<span data-i18n="diagnosticsProfileDashboard"></span>
|
|
244
|
+
<small data-i18n="diagnosticsDashboardSummary"></small>
|
|
245
|
+
</button>
|
|
246
|
+
<button type="button" data-diagnostics-tile="other">
|
|
247
|
+
<span data-i18n="diagnosticsProfileOther"></span>
|
|
248
|
+
<small data-i18n="diagnosticsOtherSummary"></small>
|
|
249
|
+
</button>
|
|
265
250
|
</div>
|
|
266
|
-
<p class="diagnostics-privacy" data-i18n="diagnosticsPrivacy"></p>
|
|
267
251
|
</div>
|
|
268
252
|
</div>
|
|
269
|
-
<div class="diagnostics-guidance diagnostics-surface" data-diagnostics-guidance
|
|
270
|
-
<
|
|
271
|
-
<div data-diagnostics-guidance-before-section>
|
|
272
|
-
<span class="guidance-label" data-i18n="diagnosticsBeforeLabel"></span>
|
|
273
|
-
<p data-diagnostics-guidance-before></p>
|
|
274
|
-
</div>
|
|
253
|
+
<div class="diagnostics-guidance diagnostics-surface" data-diagnostics-guidance hidden>
|
|
254
|
+
<h3 tabindex="-1" data-diagnostics-phase-title></h3>
|
|
275
255
|
<div>
|
|
276
256
|
<span class="guidance-label" data-i18n="diagnosticsActionLabel"></span>
|
|
277
257
|
<p data-diagnostics-guidance-action></p>
|
|
278
258
|
</div>
|
|
279
259
|
<div class="diagnostics-actions" data-diagnostics-actions hidden>
|
|
280
|
-
<button
|
|
281
|
-
|
|
282
|
-
data-diagnostics-reproduction
|
|
283
|
-
disabled
|
|
284
|
-
data-i18n="diagnosticsStartRecording"
|
|
285
|
-
></button>
|
|
260
|
+
<button type="button" data-diagnostics-reproduction disabled data-i18n="diagnosticsNowFinish"></button>
|
|
261
|
+
<button type="button" class="diagnostics-quiet-action" data-diagnostics-cancel data-i18n="diagnosticsCancel"></button>
|
|
286
262
|
</div>
|
|
263
|
+
<p class="diagnostics-note" data-diagnostics-capture-note></p>
|
|
287
264
|
</div>
|
|
288
|
-
<
|
|
289
|
-
<
|
|
290
|
-
<p data-
|
|
291
|
-
<button type="button" data-diagnostics-review data-i18n="diagnosticsArchiveReview"></button>
|
|
292
|
-
<div class="diagnostics-manifest" data-diagnostics-manifest hidden></div>
|
|
293
|
-
<label class="diagnostics-review-confirm" data-diagnostics-review-confirm-label hidden>
|
|
294
|
-
<input type="checkbox" data-diagnostics-review-confirm />
|
|
295
|
-
<span data-i18n="diagnosticsArchiveReviewConfirm"></span>
|
|
296
|
-
</label>
|
|
265
|
+
<dialog class="blocking-dialog diagnostics-result" data-diagnostics-result aria-labelledby="diagnostics-result-heading">
|
|
266
|
+
<h2 id="diagnostics-result-heading" tabindex="-1" data-diagnostics-result-heading data-i18n="diagnosticsEvidenceReady"></h2>
|
|
267
|
+
<p data-diagnostics-handoff-note hidden></p>
|
|
297
268
|
<button type="button" data-diagnostics-export disabled hidden data-i18n="diagnosticsArchiveExport"></button>
|
|
298
|
-
<
|
|
299
|
-
data-diagnostics-issue
|
|
269
|
+
<div class="diagnostics-handoff" data-diagnostics-handoff hidden>
|
|
270
|
+
<a data-diagnostics-issue target="_blank" rel="noopener noreferrer" data-i18n="diagnosticsOpenIssue"></a>
|
|
271
|
+
<a
|
|
272
|
+
data-diagnostics-existing-issue
|
|
273
|
+
target="_blank"
|
|
274
|
+
rel="noopener noreferrer"
|
|
275
|
+
data-i18n="diagnosticsExistingIssue"
|
|
276
|
+
></a>
|
|
277
|
+
</div>
|
|
278
|
+
<button
|
|
279
|
+
type="button"
|
|
280
|
+
class="diagnostics-quiet-action"
|
|
281
|
+
data-diagnostics-download-again
|
|
300
282
|
hidden
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
data-i18n="diagnosticsOpenIssue"
|
|
304
|
-
></a>
|
|
283
|
+
data-i18n="diagnosticsDownloadAgain"
|
|
284
|
+
></button>
|
|
305
285
|
<button
|
|
306
286
|
type="button"
|
|
307
|
-
class="diagnostics-
|
|
287
|
+
class="diagnostics-quiet-action"
|
|
308
288
|
data-diagnostics-start-another
|
|
289
|
+
hidden
|
|
309
290
|
data-i18n="diagnosticsStartAnother"
|
|
310
291
|
></button>
|
|
311
|
-
|
|
292
|
+
<p class="diagnostics-status" role="status" aria-live="polite" data-diagnostics-result-status></p>
|
|
293
|
+
</dialog>
|
|
312
294
|
<p class="diagnostics-status" role="status" aria-live="polite" data-diagnostics-status></p>
|
|
313
295
|
</div>
|
|
314
296
|
</section>
|
|
@@ -347,7 +329,7 @@
|
|
|
347
329
|
<div class="field-row">
|
|
348
330
|
<label>
|
|
349
331
|
<span data-i18n="countryLabel"></span>
|
|
350
|
-
<input type="text" inputmode="text" maxlength="2" required data-country />
|
|
332
|
+
<input type="text" inputmode="text" maxlength="2" pattern="[A-Za-z]{2}" required data-country />
|
|
351
333
|
</label>
|
|
352
334
|
<label>
|
|
353
335
|
<span data-i18n="trustedDeviceLabel"></span>
|
|
@@ -369,6 +351,33 @@
|
|
|
369
351
|
</section>
|
|
370
352
|
|
|
371
353
|
<p class="footnote" data-i18n="footnote"></p>
|
|
354
|
+
|
|
355
|
+
<dialog class="blocking-dialog" data-reauth-dialog aria-labelledby="reauth-title" aria-describedby="reauth-summary">
|
|
356
|
+
<h2 id="reauth-title" data-i18n="reauthTitle"></h2>
|
|
357
|
+
<p id="reauth-summary" data-i18n="reauthSummary"></p>
|
|
358
|
+
<button type="button" data-reauth-action data-i18n="reauthAction"></button>
|
|
359
|
+
</dialog>
|
|
360
|
+
|
|
361
|
+
<dialog
|
|
362
|
+
class="blocking-dialog"
|
|
363
|
+
closedby="any"
|
|
364
|
+
data-attention-dialog
|
|
365
|
+
aria-labelledby="attention-title"
|
|
366
|
+
aria-describedby="attention-summary"
|
|
367
|
+
>
|
|
368
|
+
<h2 id="attention-title" data-attention-title></h2>
|
|
369
|
+
<p id="attention-summary" data-attention-summary></p>
|
|
370
|
+
<p class="diagnostics-note" data-i18n="diagnosticsPrivacy"></p>
|
|
371
|
+
<div class="diagnostics-choice-actions">
|
|
372
|
+
<button
|
|
373
|
+
type="button"
|
|
374
|
+
class="diagnostics-secondary-action"
|
|
375
|
+
data-attention-choose
|
|
376
|
+
data-i18n="attentionChooseAnother"
|
|
377
|
+
></button>
|
|
378
|
+
<button type="button" data-attention-diagnose data-i18n="attentionDiagnose"></button>
|
|
379
|
+
</div>
|
|
380
|
+
</dialog>
|
|
372
381
|
</main>
|
|
373
382
|
|
|
374
383
|
<script src="js/dashboard.js"></script>
|