From 58ed345d91d4ad8be67e686854b7a7081c75b3c2 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:29:58 +0200 Subject: [PATCH 01/14] Translated using Weblate (German) Currently translated at 100.0% (475 of 475 strings) Translated using Weblate (German) Currently translated at 100.0% (50 of 50 strings) Translated using Weblate (German) Currently translated at 100.0% (809 of 809 strings) Translated using Weblate (German) Currently translated at 100.0% (62 of 62 strings) Translated using Weblate (German) Currently translated at 100.0% (1276 of 1276 strings) Co-authored-by: Hosted Weblate Co-authored-by: Sebastian Sie Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/de/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/components-camera Translation: Frigate NVR/views-motionSearch Translation: Frigate NVR/views-settings --- web/public/locales/de/components/camera.json | 5 ++++- web/public/locales/de/config/cameras.json | 4 ++++ web/public/locales/de/config/global.json | 4 ++++ web/public/locales/de/views/motionSearch.json | 9 ++++++--- web/public/locales/de/views/settings.json | 14 +++++++++++--- 5 files changed, 29 insertions(+), 7 deletions(-) diff --git a/web/public/locales/de/components/camera.json b/web/public/locales/de/components/camera.json index a2b443bd66..ff98559e66 100644 --- a/web/public/locales/de/components/camera.json +++ b/web/public/locales/de/components/camera.json @@ -68,7 +68,10 @@ }, "label": "Kamera Gruppen", "edit": "Kameragruppe bearbeiten", - "success": "Kameragruppe {{name}} wurde gespeichert." + "success": "Kameragruppe {{name}} wurde gespeichert.", + "showAll": "Alle Kameragruppen anzeigen", + "showLess": "Weniger anzeigen", + "editGroups": "Kameragruppen bearbeiten" }, "debug": { "options": { diff --git a/web/public/locales/de/config/cameras.json b/web/public/locales/de/config/cameras.json index 4a479c2c23..08bf8cdc6f 100644 --- a/web/public/locales/de/config/cameras.json +++ b/web/public/locales/de/config/cameras.json @@ -770,6 +770,10 @@ "dashboard": { "label": "In der Benutzeroberfläche anzeigen", "description": "Schalte ein, ob diese Kamera überall in der Benutzeroberfläche von „Frigate“ sichtbar ist. Wenn du diese Option deaktivierst, musst du die Konfiguration manuell bearbeiten, um diese Kamera wieder in der Benutzeroberfläche anzuzeigen." + }, + "review": { + "label": "In der Überprüfung anzeigen", + "description": "Legen Sie fest, ob diese Kamera in der Übersicht angezeigt wird (auf der Übersichtsseite sowie im Kamerafilter, in der Bewegungsübersicht und in der Verlaufsansicht)." } }, "snapshots": { diff --git a/web/public/locales/de/config/global.json b/web/public/locales/de/config/global.json index 78712b1035..fd296a4d01 100644 --- a/web/public/locales/de/config/global.json +++ b/web/public/locales/de/config/global.json @@ -1934,6 +1934,10 @@ "dashboard": { "label": "In der Benutzeroberfläche anzeigen", "description": "Schalte ein, ob diese Kamera überall in der Benutzeroberfläche von „Frigate“ sichtbar ist. Wenn du diese Option deaktivierst, musst du die Konfiguration manuell bearbeiten, um diese Kamera wieder in der Benutzeroberfläche anzuzeigen." + }, + "review": { + "label": "In der Überprüfung anzeigen", + "description": "Legen Sie fest, ob diese Kamera in der Übersicht angezeigt wird (auf der Übersichtsseite sowie im Kamerafilter, in der Bewegungsübersicht und in der Verlaufsansicht)." } } } diff --git a/web/public/locales/de/views/motionSearch.json b/web/public/locales/de/views/motionSearch.json index 9ad72c4616..d6aaf98fb1 100644 --- a/web/public/locales/de/views/motionSearch.json +++ b/web/public/locales/de/views/motionSearch.json @@ -46,7 +46,7 @@ "threshold": "Empfindlichkeitsschwelle", "thresholdDesc": "Niedrigere Werte erkennen geringere Veränderungen (1–255)", "minArea": "Mindestwechselbereich", - "minAreaDesc": "Mindestanteil der untersuchten Region, der sich ändern muss, damit die Veränderung als signifikant gilt", + "minAreaDesc": "Mindestgröße eines einzelnen sich bewegenden Bereichs, ausgedrückt als Prozentsatz des untersuchten Bereichs", "frameSkip": "Bild überspringen", "frameSkipDesc": "Verarbeite jeden N-ten Frame. Stelle diesen Wert auf die Bildrate deiner Kamera ein, um einen Frame pro Sekunde zu verarbeiten (z. B. 5 für eine Kamera mit 5 FPS, 30 für eine Kamera mit 30 FPS). Höhere Werte sorgen für eine schnellere Verarbeitung, können jedoch kurze Bewegungsabläufe übersehen.", "maxResults": "Maximale Ergebnisse", @@ -72,6 +72,9 @@ "framesDecoded": "Rahmen decodiert", "wallTime": "Suchzeit", "segmentErrors": "Segmentfehler", - "seconds": "{{seconds}}s" - } + "seconds": "{{seconds}}s", + "minutesSeconds": "{{minutes}}m {{seconds}}s", + "scanSummary": "{{segments}} Segmente · {{time}}" + }, + "scanning": "Wird gescannt {{time}}" } diff --git a/web/public/locales/de/views/settings.json b/web/public/locales/de/views/settings.json index 3d8e9d3b83..e493c821c4 100644 --- a/web/public/locales/de/views/settings.json +++ b/web/public/locales/de/views/settings.json @@ -1376,12 +1376,16 @@ "details": { "edit": "Kameradaten bearbeiten", "title": "Kameradaten bearbeiten", - "description": "Aktualisieren Sie den Anzeigenamen und die externe URL, die für diese Kamera in der gesamten Frigate-Benutzeroberfläche verwendet werden.", + "description": "Aktualisieren Sie den Anzeigenamen, die externe URL und die Sichtbarkeit, die für diese Kamera in der gesamten Frigate-Benutzeroberfläche verwendet werden.", "friendlyNameLabel": "Display Name", "friendlyNameHelp": "Der in der Benutzeroberfläche von „Frigate“ für diese Kamera angezeigte Spitzname. Lassen Sie das Feld leer, um die Kamera-ID zu verwenden.", "webuiUrlLabel": "URL der Web-Benutzeroberfläche", "webuiUrlHelp": "URL, um die Web-Benutzeroberfläche der Kamera direkt aus der Debug-Ansicht aufzurufen. Lassen Sie das Feld leer, um den Link zu deaktivieren.", - "webuiUrlInvalid": "Es muss sich um eine gültige URL handeln (z. B. https://example.com)." + "webuiUrlInvalid": "Es muss sich um eine gültige URL handeln (z. B. https://example.com).", + "dashboardLabel": "Im Live-Dashboard anzeigen", + "dashboardHelp": "Diese Kamera im Live-Dashboard anzeigen.", + "reviewLabel": "In der Überprüfung anzeigen", + "reviewHelp": "Zeige diese Kamera in der Übersicht an, einschließlich des Kamerafilters, der Bewegungsübersicht und der Verlaufsansicht." }, "label": "Kamerazustand", "description": "Legen Sie den Betriebszustand für jede Kamera fest.

Ein: Streams werden normal verarbeitet.
Aus: Die Verarbeitung wird vorübergehend angehalten. Diese Einstellung bleibt bei einem Neustart von Frigate nicht erhalten.
Deaktiviert: Die Verarbeitung wird beendet und die Änderung in Ihrer Konfiguration gespeichert. Um eine deaktivierte Kamera wieder zu aktivieren, ist ein Neustart erforderlich.

Hinweis: Die Deaktivierung hat keine Auswirkungen auf go2rtc-Restreams.

Ziehen Sie den Griff, um die Reihenfolge der aktiven Kameras in der Benutzeroberfläche anzupassen, einschließlich des Live-Dashboards und der Dropdown-Menüs zur Kameraauswahl.", @@ -2082,7 +2086,11 @@ "fpsGreaterThanFive": "Es wird nicht empfohlen, den Wert für die FPS-Erkennung auf mehr als 5 zu setzen. Höhere Werte können zu Leistungseinbußen führen und bieten keinerlei Vorteile.", "disabled": "Die Objekterkennung ist deaktiviert. Momentaufnahmen, Überprüfungselemente und Erweiterungsfunktionen wie Gesichtserkennung, Kennzeichenerkennung und generative KI funktionieren nicht.", "resolutionShouldBeMultipleOfFour": "Um optimale Ergebnisse zu erzielen, sollten Breite und Höhe ein Vielfaches von 4 sein. Andere gerade Werte können zu visuellen Artefakten oder leichten Verzerrungen im Erkennungsstrom führen.", - "aspectRatioMismatch": "Die von Ihnen eingegebene Breite und Höhe stimmen nicht mit dem Seitenverhältnis Ihrer aktuell erkannten Auflösung überein. Dies kann zu einem gestreckten oder verzerrten Bild führen." + "aspectRatioMismatch": "Die von Ihnen eingegebene Breite und Höhe stimmen nicht mit dem Seitenverhältnis Ihrer aktuell erkannten Auflösung überein. Dies kann zu einem gestreckten oder verzerrten Bild führen.", + "maxFramesSet": "Die Festlegung einer maximalen Bildrate überschreibt das Standardverhalten und deaktiviert die Verfolgung stationärer Objekte. Dies ist nur in sehr wenigen Fällen erforderlich; verwenden Sie diese Option daher mit Bedacht.", + "squareResolution": "Eine quadratische Erkennungsauflösung ist ungewöhnlich. Die Erkennungsbreite und -höhe sollten dem Seitenverhältnis Ihrer Kamera entsprechen (zum Beispiel 16:9) und nicht den Abmessungen des Objekterkennungsmodells. Ein nicht übereinstimmendes Seitenverhältnis kann das Bild verzerren und die Erkennungsgenauigkeit beeinträchtigen.", + "resolutionHigh": "Diese Erkennungsauflösung liegt über der empfohlenen Wert und kann zu einem erhöhten Ressourcenverbrauch führen, ohne die Erkennungsgenauigkeit zu verbessern. Für die meisten Kameras wird eine Erkennungsauflösung von maximal 1080p empfohlen.", + "globalResolutionMultipleCameras": "Bei der Konfiguration mehrerer Kameras wird eine globale Erkennungsauflösung festgelegt. Sofern nicht alle Kameras dieselbe Auflösung und dasselbe Seitenverhältnis aufweisen, sollten die Erkennungsbreite und -höhe für jede Kamera separat festgelegt werden, um dem nativen Seitenverhältnis der jeweiligen Kamera zu entsprechen." }, "faceRecognition": { "globalDisabled": "Die Gesichtserkennungserweiterung muss aktiviert sein, damit die Gesichtserkennungsfunktionen bei dieser Kamera funktionieren.", From 54a952efd6e7f8bfa166fee9bd9e29d4ad743904 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:29:59 +0200 Subject: [PATCH 02/14] Translated using Weblate (Greek) Currently translated at 14.3% (72 of 501 strings) Translated using Weblate (Greek) Currently translated at 49.7% (119 of 239 strings) Co-authored-by: George Rovolis Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/el/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/el/ Translation: Frigate NVR/audio Translation: Frigate NVR/common --- web/public/locales/el/audio.json | 11 ++++++++++- web/public/locales/el/common.json | 10 +++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/web/public/locales/el/audio.json b/web/public/locales/el/audio.json index 2bd01b8717..f3344f1186 100644 --- a/web/public/locales/el/audio.json +++ b/web/public/locales/el/audio.json @@ -61,5 +61,14 @@ "yodeling": "Λαρυγγισμός", "chant": "Ύμνος", "mantra": "Μάντρα", - "synthetic_singing": "Συνθετικό Τραγούδι" + "synthetic_singing": "Συνθετικό Τραγούδι", + "rapping": "Χτύπημα", + "humming": "Μουρμουρητό", + "groan": "Aναστεναγμός", + "grunt": "Μούγκρισμα", + "gasp": "Ανάσα", + "pant": "Λαχάνιασμα", + "snort": "Ρουθούνισμα", + "cough": "Βήχας", + "throat_clearing": "Ξεροβήξιμο" } diff --git a/web/public/locales/el/common.json b/web/public/locales/el/common.json index 5978d6cff6..256fcfb8aa 100644 --- a/web/public/locales/el/common.json +++ b/web/public/locales/el/common.json @@ -109,7 +109,9 @@ "no": "Όχι", "download": "Κατέβασμα", "info": "Πληροφορίες", - "history": "Ιστορία" + "history": "Ιστορία", + "on": "Ενεργοποίηση", + "off": "Απενεργοποίηση" }, "unit": { "speed": { @@ -117,7 +119,8 @@ "kph": "χλμ/ώρα" }, "length": { - "meters": "μέτρα" + "meters": "μέτρα", + "feet": "πόδια" }, "data": { "kbps": "kB/s", @@ -134,7 +137,8 @@ "show": "Εμφάνιση {{item}}", "ID": "ID", "none": "Κανένα", - "all": "Όλα" + "all": "Όλα", + "other": "άλλο" }, "toast": { "save": { From e96b1d3f65a3fe38cb91c990cccf820e2ccc7e7b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:01 +0200 Subject: [PATCH 03/14] Translated using Weblate (Russian) Currently translated at 92.4% (221 of 239 strings) Co-authored-by: Artem Vladimirov Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ru/ Translation: Frigate NVR/common --- web/public/locales/ru/common.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/web/public/locales/ru/common.json b/web/public/locales/ru/common.json index db9390ed80..23628a6e36 100644 --- a/web/public/locales/ru/common.json +++ b/web/public/locales/ru/common.json @@ -130,7 +130,11 @@ "export": "Экспортировать", "deleteNow": "Удалить сейчас", "next": "Следующий", - "continue": "Продолжить" + "continue": "Продолжить", + "add": "Добавить", + "applying": "Применяется…", + "undo": "Отменить", + "copiedToClipboard": "Скопировано в буфер обмена" }, "label": { "back": "Вернуться", From b6f61873b87fa0d691ab96279d0b74a2feab29ca Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:02 +0200 Subject: [PATCH 04/14] Translated using Weblate (Romanian) Currently translated at 100.0% (188 of 188 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (809 of 809 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (475 of 475 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (1277 of 1277 strings) Co-authored-by: Hosted Weblate Co-authored-by: lukasig Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ro/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/ro/config/cameras.json | 4 ++-- web/public/locales/ro/config/global.json | 4 ++-- web/public/locales/ro/views/settings.json | 3 +++ web/public/locales/ro/views/system.json | 17 ++++++++++++++++- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/web/public/locales/ro/config/cameras.json b/web/public/locales/ro/config/cameras.json index 9a79c555d8..8133ef473d 100644 --- a/web/public/locales/ro/config/cameras.json +++ b/web/public/locales/ro/config/cameras.json @@ -29,7 +29,7 @@ }, "listen": { "label": "Tipuri ascultate", - "description": "Lista de evenimente audio de detectat (ex: lătrat, alarmă_incendiu, țipăt, vorbire)." + "description": "Lista de evenimente audio de detectat (ex: lătrat, alarmă_incendiu, vorbire)." }, "filters": { "label": "Filtre audio", @@ -156,7 +156,7 @@ "description": "Setări FFmpeg: cale binar, argumente, accelerare hardware și ieșiri per rol.", "path": { "label": "Cale FFmpeg", - "description": "Calea către binarul FFmpeg sau un alias de versiune (\"5.0\" sau \"7.0\")." + "description": "Calea către binarul FFmpeg sau un alias de versiune (\"7.0\" sau \"8.0\")." }, "global_args": { "label": "Argumente globale FFmpeg", diff --git a/web/public/locales/ro/config/global.json b/web/public/locales/ro/config/global.json index 40d2135cb8..1dca8a48ae 100644 --- a/web/public/locales/ro/config/global.json +++ b/web/public/locales/ro/config/global.json @@ -15,7 +15,7 @@ }, "listen": { "label": "Tipuri ascultate", - "description": "Lista de evenimente audio de detectat (ex: lătrat, alarmă_incendiu, țipăt, vorbire)." + "description": "Lista de evenimente audio de detectat (ex: lătrat, alarmă_incendiu, vorbire)." }, "filters": { "label": "Filtre audio", @@ -220,7 +220,7 @@ "description": "Setări FFmpeg: cale binar, argumente, accelerare hardware și ieșiri per rol.", "path": { "label": "Cale FFmpeg", - "description": "Calea către binarul FFmpeg sau un alias de versiune (\"5.0\" sau \"7.0\")." + "description": "Calea către binarul FFmpeg sau un alias de versiune (\"7.0\" sau \"8.0\")." }, "global_args": { "label": "Argumente globale FFmpeg", diff --git a/web/public/locales/ro/views/settings.json b/web/public/locales/ro/views/settings.json index b08b2f26da..c01c8e7e72 100644 --- a/web/public/locales/ro/views/settings.json +++ b/web/public/locales/ro/views/settings.json @@ -2085,6 +2085,9 @@ }, "onvif": { "autotrackingNoZones": "Autotracking-ul necesită cel puțin o zonă. Definește o zonă pentru această cameră în Măști / Zone, apoi seteaz-o ca zonă obligatorie mai jos." + }, + "ffmpeg": { + "hwaccelManualNotRecommended": "Argumentele manuale pentru accelerarea hardware nu sunt recomandate. Dacă nu există o cerință specifică, selectează presetarea care se potrivește cu hardware-ul tău." } }, "birdseye": { diff --git a/web/public/locales/ro/views/system.json b/web/public/locales/ro/views/system.json index 59f52e08c4..7c0f6342f5 100644 --- a/web/public/locales/ro/views/system.json +++ b/web/public/locales/ro/views/system.json @@ -201,7 +201,22 @@ "title": "Info Sondă Cameră" }, "fps": "FPS:", - "unknown": "Necunoscut" + "unknown": "Necunoscut", + "keyframes": { + "title": "Analiză keyframe", + "analyzing": "Se analizează keyframe-urile... {{seconds}} secunde rămase", + "stillAnalyzing": "Încă se analizează keyframe-urile...", + "keyframeCount": "Keyframe-uri observate:", + "recordStream": "Stream de înregistrare:", + "observedDuration": "Durată observată:", + "gap": "Interval keyframe (min / med / max):", + "ok": "Keyframe-uri la fiecare ~{{seconds}}s, bune pentru înregistrare și redare.", + "segmentLength": "Lungime segment de înregistrare:", + "warning": "Keyframe-uri rare sau variabile (cel mai lung interval ~{{seconds}}s), probabil un codec smart (H.264+/H.265+), acest lucru nu este recomandat.", + "error": "Intervalul keyframe (~{{seconds}}s) depășește lungimea segmentului de înregistrare ({{segmentTime}}s). Unele segmente pot să nu aibă niciun keyframe, ceea ce întrerupe redarea. Dezactivează codecul smart/+ de pe cameră sau scurtează intervalul keyframe.", + "unknown": "Nu s-a putut determina distanțarea keyframe-urilor.", + "recordDisabled": "Înregistrarea este dezactivată pentru această cameră." + } }, "label": { "capture": "captură", From 78e517e553abf5bde3d8d2a596766b9aed30ed69 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:03 +0200 Subject: [PATCH 05/14] Translated using Weblate (Ukrainian) Currently translated at 0.4% (4 of 809 strings) Translated using Weblate (Ukrainian) Currently translated at 2.5% (12 of 475 strings) Translated using Weblate (Ukrainian) Currently translated at 1.6% (8 of 475 strings) Translated using Weblate (Ukrainian) Currently translated at 96.1% (25 of 26 strings) Translated using Weblate (Ukrainian) Currently translated at 0.1% (1 of 809 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (239 of 239 strings) Translated using Weblate (Ukrainian) Currently translated at 100.0% (50 of 50 strings) Co-authored-by: Hosted Weblate Co-authored-by: Vitaliy Kreminskiy Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/uk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/uk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/uk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/uk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/uk/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/common Translation: Frigate NVR/components-camera Translation: Frigate NVR/components-player --- web/public/locales/uk/common.json | 3 ++- web/public/locales/uk/components/camera.json | 5 ++++- web/public/locales/uk/components/player.json | 3 ++- web/public/locales/uk/config/cameras.json | 13 +++++++++++++ web/public/locales/uk/config/global.json | 15 ++++++++++++++- 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/web/public/locales/uk/common.json b/web/public/locales/uk/common.json index 937bd735bb..21002ee0cc 100644 --- a/web/public/locales/uk/common.json +++ b/web/public/locales/uk/common.json @@ -179,7 +179,8 @@ "id": "Bahasa Indonesia (Індонезійська)", "ur": "اردو (Урду)", "hr": "Hrvatski (Хорватська)", - "bs": "Bosanski (Боснійська)" + "bs": "Bosanski (Боснійська)", + "zhHant": "繁體中文 (Традиційна китайська)" }, "system": "Система", "systemMetrics": "Системна метріка", diff --git a/web/public/locales/uk/components/camera.json b/web/public/locales/uk/components/camera.json index dc12ccb8f2..c8ccbca89b 100644 --- a/web/public/locales/uk/components/camera.json +++ b/web/public/locales/uk/components/camera.json @@ -68,7 +68,10 @@ "label": "Камери", "desc": "Виберіть камери для цієї групи." }, - "icon": "Значок" + "icon": "Значок", + "showAll": "Відобразити всі групи камер", + "showLess": "Показати менше", + "editGroups": "Редагувати групи камер" }, "debug": { "zones": "Зони", diff --git a/web/public/locales/uk/components/player.json b/web/public/locales/uk/components/player.json index 300dc5fc57..7577dff25c 100644 --- a/web/public/locales/uk/components/player.json +++ b/web/public/locales/uk/components/player.json @@ -47,5 +47,6 @@ "error": { "submitFrigatePlusFailed": "Не вдалося надіслати фрейм Frigate+" } - } + }, + "cameraOff": "Камера вимкнена" } diff --git a/web/public/locales/uk/config/cameras.json b/web/public/locales/uk/config/cameras.json index c0be2e59ac..0e9398f892 100644 --- a/web/public/locales/uk/config/cameras.json +++ b/web/public/locales/uk/config/cameras.json @@ -11,5 +11,18 @@ "enabled": { "label": "Увімкнено", "description": "Увімкнено" + }, + "audio": { + "label": "Виявлення звуку", + "enabled": { + "label": "Увімкнути виявлення звуку", + "description": "Увімкнути або вимкнути виявлення звукових подій для цієї камери." + }, + "max_not_heard": { + "description": "Кількість секунд без налаштованого типу звуку перед тим, як звукова подія закінчиться." + }, + "min_volume": { + "label": "Мінімальний рівень звуку" + } } } diff --git a/web/public/locales/uk/config/global.json b/web/public/locales/uk/config/global.json index 0967ef424b..064926648e 100644 --- a/web/public/locales/uk/config/global.json +++ b/web/public/locales/uk/config/global.json @@ -1 +1,14 @@ -{} +{ + "audio": { + "label": "Виявлення звуку", + "enabled": { + "label": "Увімкнути виявлення звуку" + }, + "max_not_heard": { + "description": "Кількість секунд без налаштованого типу звуку перед тим, як звукова подія закінчиться." + }, + "min_volume": { + "label": "Мінімальний рівень звуку" + } + } +} From 6f12b39e408d1afd90592f40efc7dc648452c33f Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:04 +0200 Subject: [PATCH 06/14] Translated using Weblate (Catalan) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (188 of 188 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (809 of 809 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (475 of 475 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (1277 of 1277 strings) Co-authored-by: Eduardo Pastor Fernández <123eduardoneko123@gmail.com> Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ca/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/ca/config/cameras.json | 4 ++-- web/public/locales/ca/config/global.json | 4 ++-- web/public/locales/ca/views/settings.json | 3 +++ web/public/locales/ca/views/system.json | 17 ++++++++++++++++- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/web/public/locales/ca/config/cameras.json b/web/public/locales/ca/config/cameras.json index aa3fb9a778..44d5debf94 100644 --- a/web/public/locales/ca/config/cameras.json +++ b/web/public/locales/ca/config/cameras.json @@ -29,7 +29,7 @@ }, "listen": { "label": "Tipus d'escoltes", - "description": "Llista de tipus d'esdeveniment d'àudio a detectar (per exemple: escorça, focarmalarma, crit, parla, crida)." + "description": "Llista de tipus d'esdeveniment d'àudio a detectar (per exemple: escorça, focarmalarma, parla, crida)." }, "filters": { "label": "Filtres d'àudio", @@ -156,7 +156,7 @@ "description": "Paràmetres del FFmpeg que inclouen la ruta dels binaris, args, opcions de hwaccel i args de sortida per rol.", "path": { "label": "Ruta FFmpeg", - "description": "Ruta al binari FFmpeg a usar o un àlies de versió («5.0» o «7.0»)." + "description": "Ruta al binari FFmpeg a usar o un àlies de versió («7.0» o «8.0»)." }, "global_args": { "label": "Arguments globals del FFmpeg", diff --git a/web/public/locales/ca/config/global.json b/web/public/locales/ca/config/global.json index 2d8c1bff6b..038deb4d41 100644 --- a/web/public/locales/ca/config/global.json +++ b/web/public/locales/ca/config/global.json @@ -7,7 +7,7 @@ "description": "Paràmetres del FFmpeg que inclouen la ruta dels binaris, args, opcions de hwaccel i args de sortida per rol.", "path": { "label": "Ruta FFmpeg", - "description": "Ruta al binari FFmpeg a usar o un àlies de versió («5.0» o «7.0»)." + "description": "Ruta al binari FFmpeg a usar o un àlies de versió («7.0» o «8.0»)." }, "global_args": { "label": "Arguments globals del FFmpeg", @@ -2018,7 +2018,7 @@ }, "listen": { "label": "Tipus d'escoltes", - "description": "Llista de tipus d'esdeveniment d'àudio a detectar (per exemple: escorça, focarmalarma, crit, parla, crida)." + "description": "Llista de tipus d'esdeveniment d'àudio a detectar (per exemple: escorça, focarmalarma, parla, crida)." }, "filters": { "label": "Filtres d'àudio", diff --git a/web/public/locales/ca/views/settings.json b/web/public/locales/ca/views/settings.json index 5ff0242d9a..9cf004de23 100644 --- a/web/public/locales/ca/views/settings.json +++ b/web/public/locales/ca/views/settings.json @@ -2084,6 +2084,9 @@ }, "onvif": { "autotrackingNoZones": "Autotraquejar requereix al menys una zona. Defineix una zona per aquesta cámera a Mascares/Zones, després usa'l com a requerit a la part inferior." + }, + "ffmpeg": { + "hwaccelManualNotRecommended": "No es recomanen arguments manuals d'acceleració de maquinari. Tret que existeixi un requisit específic, seleccioneu el predefinit que coincideixi amb el vostre maquinari." } }, "modelSize": { diff --git a/web/public/locales/ca/views/system.json b/web/public/locales/ca/views/system.json index 70b5ee6fe1..c472937c24 100644 --- a/web/public/locales/ca/views/system.json +++ b/web/public/locales/ca/views/system.json @@ -191,7 +191,22 @@ }, "audio": "Àudio:", "cameraProbeInfo": "Informació del sondeig de la càmera {{camera}}", - "streamDataFromFFPROBE": "Les dades de la transmissió són obtingudes mitjançant ffprobe." + "streamDataFromFFPROBE": "Les dades de la transmissió són obtingudes mitjançant ffprobe.", + "keyframes": { + "title": "Anàlisi de fotogrames clau", + "analyzing": "S'estan analitzant els fotogrames clau... queden {{seconds}} segons", + "stillAnalyzing": "Encara s'estan analitzant els fotogrames clau...", + "recordStream": "Registre de flux:", + "keyframeCount": "Fotogrames clau observats:", + "observedDuration": "Durada observada:", + "gap": "Espai de fotogrames clau (mín / avg / max):", + "segmentLength": "Longitud del segment d'enregistrament:", + "ok": "Fotogrames clau cada ,{{seconds}}s, bons per enregistrar i reproduir.", + "warning": "Els fotogrames clau dispersos o variables (espai més llarg .{{seconds}}s), probablement un còdec intel·ligent (H.264+/H.265+), això no és recomanable.", + "error": "El buit dels fotogrames clau ( the{{seconds}}s) excedeix la longitud del segment d'enregistrament ({{segmentTime}}s). Alguns segments poden no tenir un fotograma clau, el qual trenca la reproducció. Desactiva el còdec intel·ligent/+ a la càmera o escurça el seu interval de fotogrames clau.", + "unknown": "No s'ha pogut determinar l'espaiat dels fotogrames clau.", + "recordDisabled": "L'enregistrament està desactivat per a aquesta càmera." + } }, "title": "Càmeres", "overview": "Visió general", From 7984c3d4d886c14b6c29a8e50f8a8e77e26261c2 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:05 +0200 Subject: [PATCH 07/14] Translated using Weblate (Polish) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 31.3% (149 of 475 strings) Translated using Weblate (Polish) Currently translated at 100.0% (101 of 101 strings) Translated using Weblate (Polish) Currently translated at 100.0% (239 of 239 strings) Translated using Weblate (Polish) Currently translated at 98.4% (127 of 129 strings) Translated using Weblate (Polish) Currently translated at 9.1% (74 of 809 strings) Co-authored-by: Hosted Weblate Co-authored-by: Paweł Kapeluszny Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/pl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/pl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/pl/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/common Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-classificationmodel --- web/public/locales/pl/common.json | 13 +++- web/public/locales/pl/components/dialog.json | 67 ++++++++++++++++- web/public/locales/pl/config/cameras.json | 73 +++++++++++++++++-- web/public/locales/pl/config/global.json | 73 +++++++++++++++++-- .../locales/pl/views/classificationModel.json | 15 +++- 5 files changed, 223 insertions(+), 18 deletions(-) diff --git a/web/public/locales/pl/common.json b/web/public/locales/pl/common.json index 3d0c5bcc7f..f9238b4b72 100644 --- a/web/public/locales/pl/common.json +++ b/web/public/locales/pl/common.json @@ -167,7 +167,8 @@ "saveAll": "Zapisz wszystkie", "savingAll": "Zapisywanie wszystkich…", "undoAll": "Cofnij wszystko", - "retry": "Powtórz" + "retry": "Powtórz", + "resetToGlobal": "Przywróć ustawienie globalne" }, "menu": { "system": "System", @@ -274,7 +275,10 @@ "settings": "Ustawienia", "export": "Eksportuj", "classification": "Klasyfikacja", - "profiles": "Profile" + "profiles": "Profile", + "actions": "Akcje", + "features": "Funkcje", + "chat": "Czat" }, "role": { "viewer": "Przeglądający", @@ -328,5 +332,10 @@ "field": { "optional": "Opcjonalny", "internalID": "Wewnętrzny identyfikator używany przez Frigate w konfiguracji i bazie danych" + }, + "no_items": "Brak elementów", + "validation_errors": "Błędy walidacji", + "credentialField": { + "savedPlaceholder": "Zapisano — pozostaw puste, aby zachować bieżącą wartość" } } diff --git a/web/public/locales/pl/components/dialog.json b/web/public/locales/pl/components/dialog.json index 06408f81bf..6ec911bfc6 100644 --- a/web/public/locales/pl/components/dialog.json +++ b/web/public/locales/pl/components/dialog.json @@ -72,11 +72,24 @@ "endTimeMustAfterStartTime": "Czas zakończenia musi być późniejszy niż czas rozpoczęcia", "noVaildTimeSelected": "Nie wybrano prawidłowego zakresu czasu" }, - "view": "Widok" + "view": "Widok", + "queued": "Eksport dodany do kolejki. Postęp można sprawdzić na stronie eksportów.", + "batchSuccess_one": "Rozpoczęto 1 eksport. Otwieranie przypadku.", + "batchSuccess_few": "Rozpoczęto {{count}} eksporty Otwieranie przypadku.", + "batchSuccess_many": "Rozpoczęto {{count}} eksportów. Otwieranie przypadku.", + "batchPartial": "Rozpoczęto {{successful}} z {{total}} eksportów. Nieudane kamery: {{failedCameras}}", + "batchFailed": "Nie udało się uruchomić {{total}} eksportów. Nieudane kamery: {{failedCameras}}", + "batchQueuedSuccess_one": "Eksport dodany do kolejki. Otwieranie przypadku.", + "batchQueuedSuccess_few": "Dodano {{count}} eksportydo kolejki. Otwieranie przypadku.", + "batchQueuedSuccess_many": "Dodano {{count}} eksportów do kolejki. Otwieranie przypadku.", + "batchQueuedPartial": "Dodano do kolejki {{successful}} z {{total}} eksportów. Nieudane kamery: {{failedCameras}}", + "batchQueueFailed": "Nie udało się dodać do kolejki {{total}} eksportów. Nieudane kamery: {{failedCameras}}" }, "fromTimeline": { "saveExport": "Zapisz Eksport", - "previewExport": "Podgląd Eksportu" + "previewExport": "Podgląd Eksportu", + "queueingExport": "Kolejkowanie eksportu...", + "useThisRange": "Użyj tego zakresu" }, "multiCamera": { "timeRange": "Zakres czasu", @@ -88,7 +101,47 @@ "detectionCount_one": "{{count}} śledzony obiekt", "detectionCount_few": "{{count}} śledzone obiekty", "detectionCount_many": "{{count}} śledzonych obiektów", - "nameLabel": "Wyeksportuj nazwę" + "nameLabel": "Wyeksportuj nazwę", + "namePlaceholder": "Opcjonalna nazwa bazowa eksportów", + "queueingButton": "Kolejkowanie eksportów...", + "exportButton_one": "Eksport 1 kamery", + "exportButton_few": "Eksport {{count}} kamer", + "exportButton_many": "Eksport {{count}} kamer" + }, + "case": { + "newCaseOption": "Utwórz nowy przypadek", + "newCaseNamePlaceholder": "Nazwa nowego przypadku", + "newCaseDescriptionPlaceholder": "Opis przypadku", + "label": "Przypadek", + "nonAdminHelp": "Dla tych eksportów zostanie utworzony nowy przypadek.", + "placeholder": "Wybierz przypadek" + }, + "queueing": "Dodawanie eksportu do kolejki...", + "tabs": { + "export": "Pojedyncza kamera", + "multiCamera": "Wiele kamer" + }, + "multi": { + "title_one": "Eksport 1 recenzji", + "title_few": "Eksport {{count}} recenzji", + "title_many": "Eksport {{count}} recenzji", + "description": "Eksportuj każdą wybraną recenzję. Wszystkie eksporty zostaną pogrupowane w jednym przypadku.", + "descriptionNoCase": "Eksportuj każdą wybraną recenzję.", + "caseNamePlaceholder": "Eksport recenzji – {{date}}", + "exportButton_one": "Eksport 1 recenzji", + "exportButton_few": "Eksport {{count}} recenzji", + "exportButton_many": "Eksport {{count}} recenzji", + "exportingButton": "Eksportowanie...", + "toast": { + "started_one": "Rozpoczęto 1 eksport. Otwieranie przypadku.", + "started_few": "Rozpoczęto {{count}} eksportów. Otwieranie przypadku.", + "started_many": "Rozpoczęto {{count}} eksportów. Otwieranie przypadku.", + "startedNoCase_one": "Rozpoczęto 1 eksport.", + "startedNoCase_few": "Rozpoczęto {{count}} eksportów.", + "startedNoCase_many": "Rozpoczęto {{count}} eksportów.", + "partial": "Rozpoczęto {{successful}} z {{total}} eksportów. Niepowodzenia: {{failedItems}}", + "failed": "Nie udało się uruchomić {{total}} eksportów. Niepowodzenia: {{failedItems}}" + } } }, "recording": { @@ -107,6 +160,14 @@ "success": "Nagrania wideo powiązane z wybranymi elementami przeglądu zostały pomyślnie usunięte.", "error": "Nie udało się usunąć: {{error}}" } + }, + "shareTimestamp": { + "label": "Udostępnij znacznik czasu", + "title": "Udostępnij znacznik czasu", + "description": "Udostępnij adres URL z aktualnym znacznikiem czasu pozycji odtwarzacza lub wybierz niestandardowy znacznik czasu. Należy pamiętać, że nie jest to publiczny link udostępniania i jest dostępny wyłącznie dla użytkowników mających dostęp do Frigate i tej kamery.", + "custom": "Własny znacznik czasu", + "button": "Udostępnij adres URL ze znacznikiem czasu", + "shareTitle": "Znacznik czasu przeglądu Frigate: {{camera}}" } }, "streaming": { diff --git a/web/public/locales/pl/config/cameras.json b/web/public/locales/pl/config/cameras.json index b7430d75d6..1638ed4ae7 100644 --- a/web/public/locales/pl/config/cameras.json +++ b/web/public/locales/pl/config/cameras.json @@ -176,7 +176,7 @@ "description": "Włączone" }, "audio": { - "label": "Zdarzenia audio", + "label": "Wykrywanie dźwięku", "description": "Ustawienia detekcji zdarzeń audio dla tej kamery.", "enabled": { "label": "Włącz detekcję audio", @@ -196,7 +196,11 @@ }, "filters": { "label": "Filtry audio", - "description": "Ustawienia filtrów dla poszczególnych typów audio, takie jak progi pewności, używane do redukcji fałszywych alarmów." + "description": "Ustawienia filtrów dla poszczególnych typów audio, takie jak progi pewności, używane do redukcji fałszywych alarmów.", + "threshold": { + "label": "Minimalna pewność wykrycia dźwięku", + "description": "Minimalny próg pewności, aby zdarzenie audio zostało zliczone." + } }, "enabled_in_config": { "label": "Pierwotny stan audio", @@ -224,10 +228,18 @@ }, "birdseye": { "mode": { - "label": "Tryb śledzenia" + "label": "Tryb śledzenia", + "description": "Tryb uwzględniania kamer w widoku z lotu ptaka: „obiekty”, „ruch” lub „ciągły”." }, "order": { - "label": "Pozycja" + "label": "Pozycja", + "description": "Pozycja numeryczna określająca kolejność kamery w układzie widoku z lotu ptaka." + }, + "label": "Widok z lotu ptaka", + "description": "Ustawienia widoku z lotu ptaka „Birdseye”, który łączy obraz z wielu kamer w jeden układ.", + "enabled": { + "label": "Włącz widok z lotu ptaka", + "description": "Włącz lub wyłącz funkcję widoku z lotu ptaka." } }, "detect": { @@ -236,7 +248,58 @@ "description": "Włącza lub wyłącza wykrywanie obiektów dla tej kamery." }, "stationary": { - "label": "Konfiguracja obiektów stacjonarnych" + "label": "Konfiguracja obiektów stacjonarnych", + "description": "Ustawienia wykrywania i obsługi obiektów statycznych przez określony czas.", + "interval": { + "label": "Okres bezruchu", + "description": "Częstotliwość (w klatkach) sprawdzania detekcji dla obiektów nieruchomych." + }, + "threshold": { + "label": "Próg bezruchu", + "description": "Liczba klatek bez zmiany pozycji potrzebna do uznania obiektu za nieruchomy." + }, + "max_frames": { + "label": "Maksymalna liczba klatek", + "description": "Ogranicza czas śledzenia nieruchomych obiektów przed ich usunięciem.", + "default": { + "label": "Domyślna maks. liczba klatek", + "description": "Domyślna maksymalna liczba klatek śledzenia nieruchomego obiektu przed zatrzymaniem." + }, + "objects": { + "label": "Maksymalna liczba klatek obiektu", + "description": "Nadpisania dla poszczególnych obiektów określające maksymalną liczbę klatek śledzenia nieruchomych obiektów." + } + }, + "classifier": { + "label": "Włącz klasyfikator wizualny", + "description": "Użyj klasyfikatora wizualnego do wykrywania rzeczywiście nieruchomych obiektów, nawet gdy ramki ograniczające drżą." + } + }, + "label": "Wykrywanie obiektów", + "description": "Ustawienia roli „detection/detect” używanej do wykrywania obiektów i inicjalizacji trackerów.", + "height": { + "label": "Wysokość wykrywania", + "description": "Wysokość (w pikselach) klatek używanych w strumieniu detekcji; pozostaw puste, aby użyć natywnej rozdzielczości strumienia." + }, + "width": { + "label": "Szerokość wykrywania", + "description": "Szerokość (w pikselach) klatek używanych w strumieniu detekcji; pozostaw puste, aby użyć natywnej rozdzielczości strumienia." + }, + "fps": { + "label": "FPS wykrywania", + "description": "Docelowa liczba klatek na sekundę używana do detekcji; niższe wartości zmniejszają użycie CPU (zalecana wartość to 5, ustaw wyższą — maksymalnie 10 — tylko jeśli śledzisz bardzo szybko poruszające się obiekty)." + }, + "min_initialized": { + "label": "Minimalna liczba klatek inicjalizacyjnych", + "description": "Liczba kolejnych trafień detekcji wymagana do utworzenia śledzonego obiektu. Zwiększenie wartości zmniejsza liczbę fałszywych inicjalizacji. Wartość domyślna to fps podzielone przez 2." + }, + "max_disappeared": { + "label": "Maksymalna liczba pominiętych klatek", + "description": "Liczba klatek bez detekcji, po której obiekt śledzony jest uznawany za utracony." + }, + "annotation_offset": { + "label": "Przesunięcie oznaczenia", + "description": "Liczba milisekund przesunięcia adnotacji detekcji w celu lepszego dopasowania ramek ograniczających na osi czasu do nagrań; wartość może być dodatnia lub ujemna." } }, "face_recognition": { diff --git a/web/public/locales/pl/config/global.json b/web/public/locales/pl/config/global.json index 8d16de3feb..9f9583a594 100644 --- a/web/public/locales/pl/config/global.json +++ b/web/public/locales/pl/config/global.json @@ -1,6 +1,6 @@ { "audio": { - "label": "Zdarzenia audio", + "label": "Wykrywanie dźwięku", "enabled": { "label": "Włącz detekcję audio" }, @@ -18,7 +18,11 @@ }, "filters": { "label": "Filtry audio", - "description": "Ustawienia filtrów dla poszczególnych typów audio, takie jak progi pewności, używane do redukcji fałszywych alarmów." + "description": "Ustawienia filtrów dla poszczególnych typów audio, takie jak progi pewności, używane do redukcji fałszywych alarmów.", + "threshold": { + "label": "Minimalna pewność wykrycia dźwięku", + "description": "Minimalny próg pewności, aby zdarzenie audio zostało zliczone." + } }, "enabled_in_config": { "label": "Pierwotny stan audio", @@ -71,10 +75,18 @@ }, "birdseye": { "mode": { - "label": "Tryb śledzenia" + "label": "Tryb śledzenia", + "description": "Tryb uwzględniania kamer w widoku z lotu ptaka: „obiekty”, „ruch” lub „ciągły”." }, "order": { - "label": "Pozycja" + "label": "Pozycja", + "description": "Pozycja numeryczna określająca kolejność kamery w układzie widoku z lotu ptaka." + }, + "label": "Widok z lotu ptaka", + "description": "Ustawienia widoku z lotu ptaka „Birdseye”, który łączy obraz z wielu kamer w jeden układ.", + "enabled": { + "label": "Włącz widok z lotu ptaka", + "description": "Włącz lub wyłącz funkcję widoku z lotu ptaka." } }, "detect": { @@ -82,7 +94,58 @@ "label": "Włącz wykrywanie obiektów" }, "stationary": { - "label": "Konfiguracja obiektów stacjonarnych" + "label": "Konfiguracja obiektów stacjonarnych", + "description": "Ustawienia wykrywania i obsługi obiektów statycznych przez określony czas.", + "interval": { + "label": "Okres bezruchu", + "description": "Częstotliwość (w klatkach) sprawdzania detekcji dla obiektów nieruchomych." + }, + "threshold": { + "label": "Próg bezruchu", + "description": "Liczba klatek bez zmiany pozycji potrzebna do uznania obiektu za nieruchomy." + }, + "max_frames": { + "label": "Maksymalna liczba klatek", + "description": "Ogranicza czas śledzenia nieruchomych obiektów przed ich usunięciem.", + "default": { + "label": "Domyślna maks. liczba klatek", + "description": "Domyślna maksymalna liczba klatek śledzenia nieruchomego obiektu przed zatrzymaniem." + }, + "objects": { + "label": "Maksymalna liczba klatek obiektu", + "description": "Nadpisania dla poszczególnych obiektów określające maksymalną liczbę klatek śledzenia nieruchomych obiektów." + } + }, + "classifier": { + "label": "Włącz klasyfikator wizualny", + "description": "Użyj klasyfikatora wizualnego do wykrywania rzeczywiście nieruchomych obiektów, nawet gdy ramki ograniczające drżą." + } + }, + "label": "Wykrywanie obiektów", + "description": "Ustawienia roli „detection/detect” używanej do wykrywania obiektów i inicjalizacji trackerów.", + "height": { + "label": "Wysokość wykrywania", + "description": "Wysokość (w pikselach) klatek używanych w strumieniu detekcji; pozostaw puste, aby użyć natywnej rozdzielczości strumienia." + }, + "width": { + "label": "Szerokość wykrywania", + "description": "Szerokość (w pikselach) klatek używanych w strumieniu detekcji; pozostaw puste, aby użyć natywnej rozdzielczości strumienia." + }, + "fps": { + "label": "FPS wykrywania", + "description": "Docelowa liczba klatek na sekundę używana do detekcji; niższe wartości zmniejszają użycie CPU (zalecana wartość to 5, ustaw wyższą — maksymalnie 10 — tylko jeśli śledzisz bardzo szybko poruszające się obiekty)." + }, + "min_initialized": { + "label": "Minimalna liczba klatek inicjalizacyjnych", + "description": "Liczba kolejnych trafień detekcji wymagana do utworzenia śledzonego obiektu. Zwiększenie wartości zmniejsza liczbę fałszywych inicjalizacji. Wartość domyślna to fps podzielone przez 2." + }, + "max_disappeared": { + "label": "Maksymalna liczba pominiętych klatek", + "description": "Liczba klatek bez detekcji, po której obiekt śledzony jest uznawany za utracony." + }, + "annotation_offset": { + "label": "Przesunięcie oznaczenia", + "description": "Liczba milisekund przesunięcia adnotacji detekcji w celu lepszego dopasowania ramek ograniczających na osi czasu do nagrań; wartość może być dodatnia lub ujemna." } }, "face_recognition": { diff --git a/web/public/locales/pl/views/classificationModel.json b/web/public/locales/pl/views/classificationModel.json index a56cd62b3c..b5a048882e 100644 --- a/web/public/locales/pl/views/classificationModel.json +++ b/web/public/locales/pl/views/classificationModel.json @@ -30,7 +30,8 @@ "trainedModel": "Model pomyślnie wytrenowany.", "trainingModel": "Pomyślnie uruchomiono trenowanie modelu.", "updatedModel": "Pomyślnie zaktualizowane ustawienia modelu", - "renamedCategory": "Pomyślnie zmieniono nazwę klasy na {{name}}" + "renamedCategory": "Pomyślnie zmieniono nazwę klasy na {{name}}", + "reclassifiedImage": "Pomyślne przeklasyfikowanie obrazu" }, "error": { "deleteImageFailed": "Nie udało się usunąć: {{errorMessage}}", @@ -40,7 +41,8 @@ "trainingFailed": "Trening modelu zakończył się niepowodzeniem. Sprawdź logi Frigate aby uzyskać więcej informacji.", "updateModelFailed": "Nie udało się zaktualizować modelu: {{errorMessage}}", "trainingFailedToStart": "Nie udało się rozpocząć trenowania modelu: {{errorMessage}}", - "renameCategoryFailed": "Nie udało się zmienić nazwy klasy: {{errorMessage}}" + "renameCategoryFailed": "Nie udało się zmienić nazwy klasy: {{errorMessage}}", + "reclassifyFailed": "Niepowodzenie zmiany klasyfikacji obrazu: {{errorMessage}}" } }, "deleteCategory": { @@ -191,7 +193,14 @@ "missingStatesWarning": { "title": "Przykłady brakujących stanów", "description": "Aby uzyskać najlepsze wyniki, zaleca się wybranie przykładów dla wszystkich stanów. Można kontynuować bez wybierania wszystkich stanów, ale model nie zostanie wytrenowany, dopóki wszystkie stany nie będą miały obrazów. Po kontynuowaniu należy użyć widoku Ostatnie klasyfikacje, aby sklasyfikować obrazy dla brakujących stanów, a następnie wytrenować model." + }, + "refreshExamples": "Generuj nowe przykłady", + "refreshConfirm": { + "title": "Czy generować nowe przykłady?", + "description": "Spowoduje to wygenerowanie nowego zestawu obrazów i wyczyszczenie wszystkich zaznaczeń, w tym dotychczasowych klas. Konieczne będzie ponowne wybranie przykładów dla wszystkich klas." } } - } + }, + "reclassifyImageAs": "Klasyfikuj jako:", + "reclassifyImage": "Zmiana klasyfikacji obrazu" } From 25d4da2a4a6ebfa53cc9788444b71d77924e11aa Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:06 +0200 Subject: [PATCH 08/14] Translated using Weblate (Italian) Currently translated at 74.2% (601 of 809 strings) Translated using Weblate (Italian) Currently translated at 99.9% (1276 of 1277 strings) Translated using Weblate (Italian) Currently translated at 100.0% (145 of 145 strings) Translated using Weblate (Italian) Currently translated at 99.5% (473 of 475 strings) Translated using Weblate (Italian) Currently translated at 73.0% (591 of 809 strings) Translated using Weblate (Italian) Currently translated at 100.0% (1276 of 1276 strings) Translated using Weblate (Italian) Currently translated at 100.0% (475 of 475 strings) Translated using Weblate (Italian) Currently translated at 100.0% (100 of 100 strings) Translated using Weblate (Italian) Currently translated at 67.7% (548 of 809 strings) Translated using Weblate (Italian) Currently translated at 55.7% (451 of 809 strings) Translated using Weblate (Italian) Currently translated at 76.0% (361 of 475 strings) Co-authored-by: Edoardo Sorrenti Co-authored-by: Filippo-riccardo Franzin (filippo franzin) Co-authored-by: Gringo Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/it/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/it/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/it/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/it/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/it/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-live Translation: Frigate NVR/views-settings --- web/public/locales/it/config/cameras.json | 307 ++++++++++++++--- web/public/locales/it/config/global.json | 384 +++++++++++++++++++--- web/public/locales/it/views/explore.json | 4 +- web/public/locales/it/views/live.json | 2 +- web/public/locales/it/views/settings.json | 74 ++--- 5 files changed, 631 insertions(+), 140 deletions(-) diff --git a/web/public/locales/it/config/cameras.json b/web/public/locales/it/config/cameras.json index e359290754..98149073c7 100644 --- a/web/public/locales/it/config/cameras.json +++ b/web/public/locales/it/config/cameras.json @@ -132,53 +132,111 @@ } }, "mqtt": { - "label": "MQTT" + "label": "MQTT", + "description": "Impostazioni di pubblicazione delle immagini via MQTT.", + "enabled": { + "label": "Invia immagine", + "description": "Abilita la pubblicazione delle istantanee dell'immagine per gli oggetti sui topic MQTT per questa telecamera." + }, + "timestamp": { + "label": "Aggiungi timestamp", + "description": "Sovraimprime un timestamp sulle immagini pubblicate su MQTT." + }, + "bounding_box": { + "label": "Aggiungi riquadro di delimitazione", + "description": "Disegna i riquadri di delimitazione sulle immagini pubblicate tramite MQTT." + }, + "crop": { + "label": "Ritaglia immagine", + "description": "Ritaglia le immagini pubblicate su MQTT in base al riquadro di delimitazione dell'oggetto rilevato." + }, + "height": { + "label": "Altezza immagine", + "description": "Altezza (in pixel) a cui ridimensionare le immagini pubblicate tramite MQTT." + }, + "required_zones": { + "label": "Zone richieste", + "description": "Zone in cui un oggetto deve entrare affinché venga pubblicata un'immagine MQTT." + }, + "quality": { + "label": "Qualità JPEG", + "description": "Qualità JPEG per le immagini pubblicate su MQTT (0-100)." + } }, "onvif": { "tls_insecure": { - "label": "Disabilita verifica TLS" + "label": "Disabilita verifica TLS", + "description": "Salta la verifica TLS e disabilita l'autenticazione digest per ONVIF (non sicuro; utilizzare solo in reti sicure)." }, "profile": { - "label": "Profilo ONVIF" + "label": "Profilo ONVIF", + "description": "Profilo multimediale ONVIF specifico da utilizzare per il controllo PTZ, identificato tramite token o nome. Se non impostato, viene selezionato automaticamente il primo profilo con una configurazione PTZ valida." }, "autotracking": { "label": "Tracciamento automatico", "enabled": { - "label": "Abilita il tracciamento automatico" + "label": "Abilita il tracciamento automatico", + "description": "Abilita o disabilita il tracciamento automatico della telecamera PTZ per gli oggetti rilevati." }, "calibrate_on_startup": { - "label": "Calibra all'avvio" + "label": "Calibra all'avvio", + "description": "Misura la velocità dei motori PTZ all'avvio per migliorare la precisione del tracciamento. Frigate aggiornerà la configurazione con i valori di movement_weights dopo la calibrazione." }, "zooming": { - "label": "Modalità ingrandimento" + "label": "Modalità ingrandimento", + "description": "Controlla il comportamento dello zoom: disabled (solo pan/tilt), absolute (più compatibile) o relative (pan/tilt/zoom simultanei)." }, "zoom_factor": { - "label": "Fattore di ingrandimento" + "label": "Fattore di ingrandimento", + "description": "Controlla il livello di zoom sugli oggetti tracciati. Valori più bassi mantengono una porzione maggiore della scena visibile; valori più alti aumentano lo zoom ma potrebbero far perdere il tracciamento. Valori compresi tra 0.1 e 0.75." }, "track": { "label": "Oggetti tracciati", "description": "Elenco dei tipi di oggetto che dovrebbero attivare il tracciamento automatico." }, "required_zones": { - "label": "Zone richieste" + "label": "Zone richieste", + "description": "Gli oggetti devono entrare in una di queste zone prima che inizi il tracciamento automatico." }, "timeout": { "label": "Scadenza di ritorno", "description": "Attendi questo numero di secondi dopo aver perso il tracciamento prima di riportare la telecamera nella posizione preimpostata." }, "movement_weights": { - "description": "Valori di calibrazione generati automaticamente dalla calibrazione della telecamera. Non modificare manualmente." + "description": "Valori di calibrazione generati automaticamente dalla calibrazione della telecamera. Non modificare manualmente.", + "label": "Pesi del movimento" }, "enabled_in_config": { - "label": "Stato originale del tracciamento automatico" + "label": "Stato originale del tracciamento automatico", + "description": "Campo interno per tracciare se il tracciamento automatico era abilitato nella configurazione." + }, + "description": "Traccia automaticamente gli oggetti in movimento e li mantiene centrati nell'inquadratura utilizzando i movimenti della telecamera PTZ.", + "return_preset": { + "label": "Preset di ritorno", + "description": "Nome del preset ONVIF configurato nel firmware della telecamera a cui ritornare al termine del tracciamento." } }, "ignore_time_mismatch": { - "label": "Ignora la discrepanza oraria" + "label": "Ignora la discrepanza oraria", + "description": "Ignora le differenze di sincronizzazione oraria tra la telecamera e il server Frigate per la comunicazione ONVIF." }, "label": "ONVIF", "port": { - "label": "Porta ONVIF" + "label": "Porta ONVIF", + "description": "Numero di porta per il servizio ONVIF." + }, + "description": "Impostazioni della connessione ONVIF e del tracciamento automatico PTZ per questa telecamera.", + "host": { + "label": "Host ONVIF", + "description": "Host (e schema opzionale) per il servizio ONVIF di questa telecamera." + }, + "user": { + "label": "Nome utente ONVIF", + "description": "Nome utente per l'autenticazione ONVIF; alcuni dispositivi richiedono un utente amministratore per l'ONVIF." + }, + "password": { + "label": "Password ONVIF", + "description": "Password per l'autenticazione ONVIF." } }, "detect": { @@ -363,20 +421,20 @@ "description": "Numero massimo di processi di esportazione da elaborare contemporaneamente." } }, - "description": "Impostazioni di registrazione e conservazione per questa videocamera.", + "description": "Impostazioni di registrazione e conservazione per questa telecamera.", "enabled": { - "label": "Abilita Registrazione", + "label": "Abilita registrazione", "description": "Attiva o disattiva la registrazione per questa telecamera." }, "expire_interval": { - "label": "Intervallo pulizia registrazioni", + "label": "Intervallo di pulizia registrazioni", "description": "Minuti tra i cicli di pulizia che rimuovono i segmenti di registrazione scaduti." }, "continuous": { "label": "Conservazione continua", "description": "Numero di giorni per cui conservare le registrazioni, indipendentemente dagli oggetti tracciati o dal movimento. Impostare su 0 se si desidera conservare solo le registrazioni relative agli avvisi e ai rilevamenti.", "days": { - "label": "Giorni di Conservazione", + "label": "Giorni di conservazione", "description": "Numero di giorni di conservazione delle registrazioni." } }, @@ -384,7 +442,7 @@ "label": "Conservazione movimento", "description": "Numero di giorni per cui conservare le registrazioni attivate dal movimento, indipendentemente dagli oggetti tracciati. Impostare su 0 se si desidera conservare solo le registrazioni relative ad allarmi e rilevamenti.", "days": { - "label": "Giorni di Conservazione", + "label": "Giorni di conservazione", "description": "Numero di giorni di conservazione delle registrazioni." } }, @@ -392,12 +450,12 @@ "label": "Conservazione rilevamento", "description": "Impostazioni relative alla conservazione delle registrazioni per gli eventi di rilevamento, comprese le durate prima e dopo l'acquisizione.", "pre_capture": { - "label": "Secondi di pre-acquisizione", - "description": "Numero di secondi precedenti l'evento di rilevamento da includere nella registrazione." + "label": "Secondi prima della cattura", + "description": "Numero di secondi precedenti all'evento di rilevamento da includere nella registrazione." }, "post_capture": { - "label": "Secondi di post-acquisizione", - "description": "Numero di secondi successivi l'evento di rilevamento da includere nella registrazione." + "label": "Secondi dopo la cattura", + "description": "Numero di secondi successivi all'evento di rilevamento da includere nella registrazione." }, "retain": { "label": "Conservazione eventi", @@ -414,13 +472,13 @@ }, "alerts": { "label": "Conservazione avvisi", - "description": "Impostazioni di conservazione delle registrazioni per gli eventi di avviso, incluse le durate di pre e post-acquisizione.", + "description": "Impostazioni di conservazione delle registrazioni per gli eventi di avviso, incluse le durate prima e dopo la cattura.", "pre_capture": { - "label": "Secondi di pre-acquisizione", - "description": "Numero di secondi antecedenti all'evento di rilevamento da includere nella registrazione." + "label": "Secondi prima della cattura", + "description": "Numero di secondi precedenti all'evento di rilevamento da includere nella registrazione." }, "post_capture": { - "label": "Secondi di post-acquisizione", + "label": "Secondi dopo la cattura", "description": "Numero di secondi successivi all'evento di rilevamento da includere nella registrazione." }, "retain": { @@ -461,7 +519,40 @@ "description": "Sovraimprime un timestamp sulle istantanee provenienti dalle API." }, "bounding_box": { - "label": "Sovrimpressione riquadro di delimitazione" + "label": "Sovrimpressione riquadro di delimitazione", + "description": "Disegna i riquadri di delimitazione per gli oggetti tracciati sulle istantanee provenienti dalle API." + }, + "crop": { + "label": "Ritaglia istantanea", + "description": "Ritaglia le istantanee provenienti dalle API in base al riquadro di delimitazione dell'oggetto rilevato." + }, + "required_zones": { + "label": "Zone richieste", + "description": "Zone in cui un oggetto deve entrare affinché venga salvata un'istantanea." + }, + "height": { + "label": "Altezza istantanea", + "description": "Altezza (in pixel) a cui ridimensionare le istantanee provenienti dalle API; lascia vuoto per mantenere la dimensione originale." + }, + "retain": { + "label": "Conservazione istantanee", + "description": "Impostazioni di conservazione per le istantanee, inclusi i giorni predefiniti e le eccezioni per singolo oggetto.", + "default": { + "label": "Conservazione predefinita", + "description": "Numero predefinito di giorni per cui conservare le istantanee." + }, + "mode": { + "label": "Modalità di conservazione", + "description": "Modalità di conservazione: tutti (salva tutti i segmenti), movimento (salva i segmenti con movimento) o oggetti_attivi (salva i segmenti con oggetti attivi)." + }, + "objects": { + "label": "Conservazione oggetti", + "description": "Eccezioni per singolo oggetto relativi ai giorni di conservazione delle istantanee." + } + }, + "quality": { + "label": "Qualità istantanee", + "description": "Qualità di codifica per le istantanee salvate (0-100)." } }, "motion": { @@ -492,10 +583,12 @@ "description": "Se impostato su un valore compreso tra 0.0 e 110, e se in un singolo fotogramma cambia una porzione dell'immagine superiore a tale frazione, il rilevatore non restituirà alcun riquadro di movimento e si ricalibrerà immediatamente. Ciò consente di risparmiare risorse della CPU e ridurre i falsi positivi in caso di fulmini, temporali, ecc., ma potrebbe comportare la mancata rilevazione di eventi reali, come ad esempio il tracciamento automatico di un oggetto da parte di una telecamera PTZ. Il compromesso consiste nel scegliere se sacrificare alcuni megabyte di registrazioni o rivedere un paio di brevi video. Lasciare non impostato (Nessuno) per disabilitare questa funzione." }, "delta_alpha": { - "description": "Fattore di fusione alfa utilizzato nel calcolo della differenza tra fotogrammi per il calcolo del movimento." + "description": "Fattore di fusione alfa utilizzato nel calcolo della differenza tra fotogrammi per il calcolo del movimento.", + "label": "Delta alfa" }, "frame_alpha": { - "description": "Valore alfa utilizzato durante la fusione dei fotogrammi per la preelaborazione del movimento." + "description": "Valore alfa utilizzato durante la fusione dei fotogrammi per la preelaborazione del movimento.", + "label": "Frame alfa" }, "frame_height": { "label": "Altezza del frame", @@ -510,7 +603,8 @@ "description": "Secondi di attesa dopo l'ultimo movimento prima di pubblicare uno stato 'off' MQTT." }, "enabled_in_config": { - "description": "Indica se il rilevamento del movimento era abilitato nella configurazione statica originale." + "description": "Indica se il rilevamento del movimento era abilitato nella configurazione statica originale.", + "label": "Stato movimento originale" }, "raw_mask": { "label": "Maschera grezza" @@ -548,11 +642,11 @@ }, "min_score": { "label": "Confidenza minima", - "description": "Livello minimo di confidenza del rilevamento per singolo fotogramma richiesto affinché l'oggetto venga conteggiato." + "description": "Livello minimo di confidenza nel rilevamento in un singolo fotogramma richiesto affinché l'oggetto venga conteggiato." }, "mask": { "label": "Maschera filtro", - "description": "Coordinate del poligono che definisce l'area all'interno dell'inquadratura in cui si applica questo filtro." + "description": "Coordinate del poligono che definiscono la posizione di applicazione di questo filtro all'interno dell'inquadratura." }, "raw_mask": { "label": "Maschera grezza" @@ -560,40 +654,42 @@ }, "mask": { "label": "Maschera oggetto", - "description": "Poligono di maschera utilizzato per impedire il rilevamento di oggetti in aree specificate." + "description": "Poligono di mascheramento utilizzato per impedire il rilevamento di oggetti in aree specifiche." }, "genai": { "label": "Configurazione degli oggetti GenAI", "description": "Opzioni GenAI per la descrizione degli oggetti tracciati e l'invio dei fotogrammi per la generazione.", "enabled": { "label": "Abilita GenAI", - "description": "Abilita di default la generazione tramite GenAI delle descrizioni degli oggetti monitorati." + "description": "Abilita in modo predefinito la generazione di descrizioni da parte di GenAI per gli oggetti tracciati." }, "use_snapshot": { - "label": "Usa istantanee", + "label": "Utilizza istantanee", "description": "Utilizza le istantanee degli oggetti anziché le miniature per la generazione di descrizioni con GenAI." }, "prompt": { - "description": "Modello di prompt predefinito utilizzato per la generazione di descrizioni con GenAI." + "description": "Modello di richiesta predefinito utilizzato per la generazione di descrizioni con GenAI.", + "label": "Richiesta di didascalia" }, "object_prompts": { - "description": "Prompt specifici per ogni oggetto per personalizzare i risultati di GenAI in base a etichette specifiche." + "description": "Richieste specifiche per ogni oggetto per personalizzare i risultati di GenAI in base a etichette specifiche.", + "label": "Richiesta di oggetto" }, "objects": { "label": "Oggetti GenAI", - "description": "Elenco delle etichette degli oggetti da inviare a GenAI per impostazione predefinita." + "description": "Elenco di etichette degli oggetti da inviare a GenAI per impostazione predefinita." }, "required_zones": { - "label": "Zone obbligatorie", - "description": "Zone che devono essere inserite affinché gli oggetti possano essere utilizzati per la generazione di descrizioni tramite GenAI." + "label": "Zone richieste", + "description": "Zone che devono essere inserite affinché gli oggetti siano idonei alla generazione della descrizione GenAI." }, "debug_save_thumbnails": { "label": "Salva miniature", - "description": "Salva le miniature inviate a GenAI per il debug e la revisione." + "description": "Salva le miniature inviate a GenAI per la correzione e la revisione." }, "send_triggers": { - "label": "Attivatori GenAI", - "description": "Definisce quando i frame devono essere inviati a GenAI (al termine, dopo gli aggiornamenti, ecc.).", + "label": "Attivazioni GenAI", + "description": "Definisce quando i fotogrammi devono essere inviati a GenAI (alla fine, dopo gli aggiornamenti, ecc.).", "tracked_object_end": { "label": "Invia alla fine", "description": "Invia una richiesta a GenAI quando l'oggetto tracciato termina." @@ -629,25 +725,60 @@ } }, "timestamp_style": { - "label": "Stile orario" + "label": "Stile orario", + "description": "Opzioni di stile per i timestamp applicati alle istantanee e alla vista di Debug.", + "position": { + "label": "Posizione timestamp", + "description": "Posizione del timestamp sull'immagine (tl/tr/bl/br)." + }, + "format": { + "label": "Formato timestamp", + "description": "Stringa di formato data/ora utilizzata per i timestamp (codici di formato datetime di Python)." + }, + "color": { + "label": "Colore timestamp", + "description": "Valori di colore RGB per il testo del timestamp (tutti i valori da 0 a 255).", + "red": { + "label": "Rosso", + "description": "Componente rosso (0-255) per il colore del timestamp." + }, + "green": { + "label": "Verde", + "description": "Componente verde (0-255) per il colore del timestamp." + }, + "blue": { + "label": "Blu", + "description": "Componente blu (0-255) per il colore del timestamp." + } + }, + "thickness": { + "label": "Spessore timestamp", + "description": "Spessore della linea del testo del timestamp." + }, + "effect": { + "label": "Effetto timestamp", + "description": "Effetto visivo per il testo del timestamp (none, solid, shadow)." + } }, "notifications": { "label": "Notifiche", "enabled": { - "label": "Abilita le notifiche" + "label": "Abilita le notifiche", + "description": "Abilita o disabilita le notifiche per questa telecamera." }, "email": { "label": "Email di notifica", "description": "Indirizzo email utilizzato per le notifiche push o richiesto da alcuni fornitori di servizi di notifica." }, "cooldown": { - "label": "Periodo di raffreddamento", + "label": "Tempo di attesa tra notifiche", "description": "Tempo di attesa (in secondi) tra le notifiche per evitare di inviare spam ai destinatari." }, "enabled_in_config": { "label": "Stato delle notifiche originali", "description": "Indica se le notifiche erano abilitate nella configurazione statica originale." - } + }, + "description": "Impostazioni per abilitare e controllare le notifiche per questa telecamera." }, "birdseye": { "label": "Birdseye", @@ -671,7 +802,7 @@ "label": "Attivatori", "friendly_name": { "label": "Nome descrittivo", - "description": "Nome descrittivo opzionale visualizzato nell'interfaccia utente per questo innesco." + "description": "Nome descrittivo opzionale visualizzato nell'interfaccia utente per questo attivatore." }, "description": "Azioni e criteri di corrispondenza per gli attivatori della ricerca semantica specifici della telecamera.", "enabled": { @@ -720,17 +851,23 @@ "ui": { "description": "Visualizza l'ordine e la visibilità di questa telecamera nell'interfaccia utente. L'ordine influisce sul cruscotto predefinito. Per un controllo più granulare, utilizza i gruppi di telecamere.", "order": { - "description": "L'ordine numerico viene utilizzato per ordinare le telecamere nell'interfaccia utente (cruscotto ed elenchi predefiniti); i numeri più grandi compaiono successivamente." + "description": "L'ordine numerico viene utilizzato per ordinare le telecamere nell'interfaccia utente (cruscotto ed elenchi predefiniti); i numeri più grandi compaiono successivamente.", + "label": "Ordine interfaccia utente" }, "dashboard": { "label": "Mostra nell'interfaccia utente", "description": "Abilita o disabilita la visualizzazione di questa telecamera in ogni punto dell'interfaccia utente di Frigate. Disabilitando questa opzione, sarà necessario modificare manualmente la configurazione per visualizzare nuovamente la telecamera nell'interfaccia utente." }, - "label": "Interfaccia utente telecamera" + "label": "Interfaccia utente telecamera", + "review": { + "label": "Mostra in revisione", + "description": "Abilita o disabilita la visibilità di questa telecamera nella sezione di revisione (la pagina di revisione e il relativo filtro telecamera, la revisione del movimento e la vista della cronologia)." + } }, "zones": { "enabled": { - "label": "Abilitata" + "label": "Abilitata", + "description": "Abilita o disabilita questa zona. Le zone disabilitate vengono ignorate durante l'esecuzione." }, "label": "Zone", "friendly_name": { @@ -740,11 +877,81 @@ "filters": { "raw_mask": { "label": "Maschera grezza" + }, + "label": "Filtri Zona", + "description": "Filtri da applicare agli oggetti all'interno di questa zona. Utilizzati per ridurre i falsi positivi o limitare quali oggetti sono considerati presenti nella zona.", + "min_area": { + "label": "Area minima oggetto", + "description": "Area minima del riquadro di delimitazione (in pixel o percentuale) richiesta per questo tipo di oggetto. Può essere in pixel (int) o in percentuale (float compreso tra 0.000001 e 0.99)." + }, + "max_area": { + "label": "Area massima oggetto", + "description": "Area massima del riquadro di delimitazione (in pixel o percentuale) richiesta per questo tipo di oggetto. Può essere espressa in pixel (numero intero) o in percentuale (valore decimale compreso tra 0.000001 e 0.99)." + }, + "min_ratio": { + "label": "Rapporto di aspetto minimo", + "description": "Rapporto minimo tra larghezza e altezza richiesto affinché il riquadro di delimitazione sia valido." + }, + "max_ratio": { + "label": "Rapporto di aspetto massimo", + "description": "Rapporto massimo tra larghezza e altezza richiesto affinché il riquadro di delimitazione sia valido." + }, + "threshold": { + "label": "Soglia di confidenza", + "description": "Soglia di confidenza media di rilevamento necessaria affinché l'oggetto sia considerato un vero positivo." + }, + "min_score": { + "label": "Confidenza minima", + "description": "Livello minimo di confidenza nel rilevamento in un singolo fotogramma richiesto affinché l'oggetto venga conteggiato." + }, + "mask": { + "label": "Maschera filtro", + "description": "Coordinate del poligono che definiscono la posizione di applicazione di questo filtro all'interno dell'inquadratura." } + }, + "description": "Le zone consentono di definire un'area specifica dell'inquadratura per determinare se un oggetto si trova o meno all'interno di una particolare area.", + "enabled_in_config": { + "label": "Mantieni traccia dello stato originale della zona." + }, + "coordinates": { + "label": "Coordinate", + "description": "Coordinate del poligono che definiscono l'area della zona. Può essere una stringa separata da virgole o un elenco di stringhe di coordinate. Le coordinate devono essere relative (0-1) o assolute (legacy)." + }, + "distances": { + "label": "Distanze reali", + "description": "Distanze reali opzionali per ciascun lato del quadrilatero della zona, utilizzate per i calcoli di velocità o distanza. Deve avere esattamente 4 valori se impostato." + }, + "inertia": { + "label": "Fotogrammi di inerzia", + "description": "Numero di fotogrammi consecutivi in cui un oggetto deve essere rilevato nella zona prima di essere considerato presente. Aiuta a filtrare i rilevamenti transitori." + }, + "loitering_time": { + "label": "Secondi di stazionamento", + "description": "Numero di secondi per cui un oggetto deve rimanere nella zona per essere considerato in stazionamento nella stessa. Imposta a 0 per disabilitare il rilevamento dello stazionamento." + }, + "speed_threshold": { + "label": "Velocità minima", + "description": "Velocità minima (in unità reali se le distanze sono impostate) richiesta affinché un oggetto sia considerato presente nella zona. Utilizzata per gli attivatori di zona basati sulla velocità." + }, + "objects": { + "label": "Oggetti attivatori", + "description": "Elenco dei tipi di oggetto (dalla labelmap) che possono attivare questa zona. Può essere una stringa o un elenco di stringhe. Se vuoto, vengono considerati tutti gli oggetti." } }, "type": { "description": "Tipo di telecamera", "label": "Tipo di telecamera" + }, + "best_image_timeout": { + "label": "Timeout immagine migliore", + "description": "Quanto tempo attendere per l'immagine con il punteggio di accuratezza più alto." + }, + "webui_url": { + "label": "URL telecamera", + "description": "URL per visitare direttamente la telecamera dalla pagina di sistema" + }, + "enabled_in_config": { + "label": "Stato telecamera originale", + "description": "Mantiene traccia dello stato originale della telecamera." } } diff --git a/web/public/locales/it/config/global.json b/web/public/locales/it/config/global.json index e3045ddc56..b8c557ce3c 100644 --- a/web/public/locales/it/config/global.json +++ b/web/public/locales/it/config/global.json @@ -99,6 +99,10 @@ "hash_iterations": { "description": "Numero di iterazioni PBKDF2-SHA256 da utilizzare per criptare le password utente.", "label": "Iterazioni di crittografia" + }, + "admin_first_time_login": { + "label": "Flag primo accesso amministratore", + "description": "Quando impostato su true, l'interfaccia utente può mostrare un link di aiuto nella pagina di login per informare gli utenti su come accedere dopo un ripristino della password di amministratore. " } }, "ffmpeg": { @@ -175,11 +179,17 @@ "label": "Numero di processi di rilevamento", "description": "Il numero di processi utilizzati per l'inferenza basata sulla CPU." }, - "description": "Rilevatore CPU TFLite che esegue modelli TensorFlow Lite sulla CPU di sistema senza accelerazione hardware. Sconsigliato." + "description": "Rilevatore CPU TFLite che esegue modelli TensorFlow Lite sulla CPU di sistema senza accelerazione hardware. Sconsigliato.", + "label": "CPU" }, "label": "Dispositivo di rilevamento", "hailo8l": { - "description": "Rilevatore Hailo-8/Hailo-8L che utilizza modelli HEF e l'SDK HailoRT per l'inferenza sul dispositivo Hailo." + "description": "Rilevatore Hailo-8/Hailo-8L che utilizza modelli HEF e l'SDK HailoRT per l'inferenza sul dispositivo Hailo.", + "label": "Hailo-8/Hailo-8L", + "device": { + "label": "Tipo di dispositivo", + "description": "Il dispositivo da utilizzare per l'inferenza Hailo (ad es. 'PCIe', 'M.2')." + } }, "openvino": { "description": "Rilevatore OpenVINO per CPU AMD e Intel, GPU Intel e dispositivo Intel VPU." @@ -192,6 +202,111 @@ }, "type": { "label": "Tipo" + }, + "description": "Configurazione per i rilevatori di oggetti (backend CPU, GPU, ONNX) e impostazioni del modello specifiche per il rilevatore.", + "model": { + "label": "Configurazione del modello specifica del rilevatore", + "description": "Opzioni di configurazione del modello specifiche del rilevatore (percorso, dimensioni di input, ecc.).", + "path": { + "label": "Percorso del modello di rilevamento oggetti personalizzato", + "description": "Percorso di un file del modello di rilevamento personalizzato (o plus:// per i modelli Frigate+)." + }, + "labelmap_path": { + "label": "Mappa delle etichette (label map) per il rilevatore di oggetti personalizzato", + "description": "Percorso di un file labelmap che mappa le classi numeriche in etichette testuali per il rilevatore." + }, + "width": { + "label": "Larghezza di input del modello di rilevamento oggetti", + "description": "Larghezza del tensore di input del modello in pixel." + }, + "height": { + "label": "Altezza di input del modello di rilevamento oggetti", + "description": "Altezza del tensore di input del modello in pixel." + }, + "labelmap": { + "label": "Personalizzazione labelmap", + "description": "Sostituzioni o voci di rimappatura da unire alla labelmap standard." + }, + "attributes_map": { + "label": "Mappa delle etichette oggetto con le relative etichette di attributo", + "description": "Mappatura dalle etichette oggetto alle etichette di attributo utilizzata per allegare metadati (ad esempio 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Forma del tensore di input del modello", + "description": "Formato del tensore richiesto dal modello: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Formato colore dei pixel di input del modello", + "description": "Spazio colore dei pixel richiesto dal modello: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipo di dati di input del modello (Dtype)", + "description": "Tipo di dati del tensore di input del modello (ad esempio 'float32')." + }, + "model_type": { + "label": "Tipo di modello di rilevamento oggetti", + "description": "Tipo di architettura del modello del rilevatore (ssd, yolox, yolonas) utilizzato da alcuni rilevatori per l'ottimizzazione." + } + }, + "model_path": { + "label": "Percorso del modello specifico del rilevatore", + "description": "Percorso del file binario del modello del rilevatore, se richiesto dal rilevatore scelto." + }, + "axengine": { + "label": "NPU AXEngine", + "description": "Rilevatore NPU AXERA AX650N/AX8850N che esegue file .axmodel compilati tramite il runtime AXEngine." + }, + "deepstack": { + "label": "DeepStack", + "description": "Rilevatore DeepStack/CodeProject.AI che invia immagini a una API HTTP DeepStack remota per l'inferenza. Non consigliato.", + "api_url": { + "label": "URL API DeepStack", + "description": "L'URL delle API DeepStack." + }, + "api_timeout": { + "label": "Timeout API DeepStack (in secondi)", + "description": "Tempo massimo consentito per una richiesta alle API DeepStack." + }, + "api_key": { + "label": "Chiave API DeepStack (se richiesta)", + "description": "Chiave API opzionale per i servizi DeepStack autenticati." + } + }, + "degirum": { + "label": "DeGirum", + "description": "Rilevatore DeGirum per l'esecuzione di modelli tramite il cloud DeGirum o servizi di inferenza locali.", + "zoo": { + "label": "Model Zoo", + "description": "Percorso o URL del model zoo di DeGirum." + }, + "token": { + "label": "Token Cloud DeGirum", + "description": "Token per l'accesso al Cloud DeGirum." + } + }, + "edgetpu": { + "label": "EdgeTPU", + "description": "Rilevatore EdgeTPU che esegue modelli TensorFlow Lite compilati per Coral EdgeTPU utilizzando il delegate EdgeTPU.", + "device": { + "label": "Tipo di dispositivo", + "description": "Il dispositivo da utilizzare per l'inferenza EdgeTPU (ad es. 'usb', 'pci')." + } + }, + "memryx": { + "label": "MemryX", + "description": "Rilevatore MemryX MX3 che esegue modelli DFP compilati su acceleratori MemryX.", + "device": { + "label": "Percorso del dispositivo", + "description": "Il dispositivo da utilizzare per l'inferenza MemryX (ad es. 'PCIe')." + } + }, + "onnx": { + "label": "ONNX", + "description": "Rilevatore ONNX per l'esecuzione di modelli ONNX; utilizzerà i backend di accelerazione disponibili (CUDA/ROCm/OpenVINO) quando presenti.", + "device": { + "label": "Tipo di dispositivo", + "description": "Il dispositivo da utilizzare per l'inferenza ONNX (ad es. 'AUTO', 'CPU', 'GPU')." + } } }, "audio_transcription": { @@ -266,49 +381,78 @@ }, "onvif": { "tls_insecure": { - "label": "Disabilita verifica TLS" + "label": "Disabilita verifica TLS", + "description": "Salta la verifica TLS e disabilita l'autenticazione digest per ONVIF (non sicuro; utilizzare solo in reti sicure)." }, "profile": { - "label": "Profilo ONVIF" + "label": "Profilo ONVIF", + "description": "Profilo multimediale ONVIF specifico da utilizzare per il controllo PTZ, identificato tramite token o nome. Se non impostato, viene selezionato automaticamente il primo profilo con una configurazione PTZ valida." }, "autotracking": { "label": "Tracciamento automatico", "enabled": { - "label": "Abilita il tracciamento automatico" + "label": "Abilita il tracciamento automatico", + "description": "Abilita o disabilita il tracciamento automatico della telecamera PTZ per gli oggetti rilevati." }, "calibrate_on_startup": { - "label": "Calibra all'avvio" + "label": "Calibra all'avvio", + "description": "Misura la velocità dei motori PTZ all'avvio per migliorare la precisione del tracciamento. Frigate aggiornerà la configurazione con i valori di movement_weights dopo la calibrazione." }, "zooming": { - "label": "Modalità ingrandimento" + "label": "Modalità ingrandimento", + "description": "Controlla il comportamento dello zoom: disabled (solo pan/tilt), absolute (più compatibile) o relative (pan/tilt/zoom simultanei)." }, "zoom_factor": { - "label": "Fattore di ingrandimento" + "label": "Fattore di ingrandimento", + "description": "Controlla il livello di zoom sugli oggetti tracciati. Valori più bassi mantengono una porzione maggiore della scena visibile; valori più alti aumentano lo zoom ma potrebbero far perdere il tracciamento. Valori compresi tra 0.1 e 0.75." }, "track": { "label": "Oggetti tracciati", "description": "Elenco dei tipi di oggetto che dovrebbero attivare il tracciamento automatico." }, "required_zones": { - "label": "Zone richieste" + "label": "Zone richieste", + "description": "Gli oggetti devono entrare in una di queste zone prima che inizi il tracciamento automatico." }, "timeout": { "label": "Scadenza di ritorno", "description": "Attendi questo numero di secondi dopo aver perso il tracciamento prima di riportare la telecamera nella posizione preimpostata." }, "movement_weights": { - "description": "Valori di calibrazione generati automaticamente dalla calibrazione della telecamera. Non modificare manualmente." + "description": "Valori di calibrazione generati automaticamente dalla calibrazione della telecamera. Non modificare manualmente.", + "label": "Pesi del movimento" }, "enabled_in_config": { - "label": "Stato originale del tracciamento automatico" + "label": "Stato originale del tracciamento automatico", + "description": "Campo interno per tracciare se il tracciamento automatico era abilitato nella configurazione." + }, + "description": "Traccia automaticamente gli oggetti in movimento e li mantiene centrati nell'inquadratura utilizzando i movimenti della telecamera PTZ.", + "return_preset": { + "label": "Preset di ritorno", + "description": "Nome del preset ONVIF configurato nel firmware della telecamera a cui ritornare al termine del tracciamento." } }, "ignore_time_mismatch": { - "label": "Ignora la discrepanza oraria" + "label": "Ignora la discrepanza oraria", + "description": "Ignora le differenze di sincronizzazione oraria tra la telecamera e il server Frigate per la comunicazione ONVIF." }, "label": "ONVIF", "port": { - "label": "Porta ONVIF" + "label": "Porta ONVIF", + "description": "Numero di porta per il servizio ONVIF." + }, + "description": "Impostazioni della connessione ONVIF e del tracciamento automatico PTZ per questa telecamera.", + "host": { + "label": "Host ONVIF", + "description": "Host (e schema opzionale) per il servizio ONVIF di questa telecamera." + }, + "user": { + "label": "Nome utente ONVIF", + "description": "Nome utente per l'autenticazione ONVIF; alcuni dispositivi richiedono un utente amministratore per l'ONVIF." + }, + "password": { + "label": "Password ONVIF", + "description": "Password per l'autenticazione ONVIF." } }, "detect": { @@ -413,7 +557,11 @@ }, "default_role": { "label": "Ruolo predefinito", - "description": "Ruolo predefinito assegnato agli utenti autenticati tramite proxy quando non si applica alcuna mappatura dei ruoli (amministratore o visualizzatore)." + "description": "Ruolo predefinito assegnato agli utenti autenticati tramite proxy quando non si applica nessuna mappatura dei ruoli." + }, + "separator": { + "label": "Carattere separatore", + "description": "Carattere utilizzato per separare valori multipli forniti negli header del proxy." } }, "review": { @@ -507,7 +655,19 @@ }, "ui": { "label": "Interfaccia utente", - "description": "Preferenze dell'interfaccia utente come fuso orario, formato di data/ora e unità di misura." + "description": "Preferenze dell'interfaccia utente come fuso orario, formato di data/ora e unità di misura.", + "timezone": { + "label": "Fuso orario", + "description": "Fuso orario opzionale da visualizzare nell'interfaccia utente (se non impostato, viene usata l'ora locale del browser)." + }, + "time_format": { + "label": "Formato Ora", + "description": "Formato dell'ora da utilizzare nell'interfaccia utente (browser, 12 ore o 24 ore)." + }, + "unit_system": { + "label": "Sistema di unità di misura", + "description": "Sistema di unità di misura per la visualizzazione (metrico o imperiale) utilizzato nell'interfaccia utente e nei messaggi MQTT." + } }, "profiles": { "label": "Profili", @@ -532,17 +692,18 @@ } }, "enabled": { - "label": "Abilita Registrazione" + "label": "Abilita registrazione", + "description": "Attiva o disattiva la registrazione per tutte le telecamere; l'impostazione può essere modificata per ogni singola telecamera." }, "expire_interval": { - "label": "Intervallo pulizia registrazioni", + "label": "Intervallo di pulizia registrazioni", "description": "Minuti tra i cicli di pulizia che rimuovono i segmenti di registrazione scaduti." }, "continuous": { "label": "Conservazione continua", "description": "Numero di giorni per cui conservare le registrazioni, indipendentemente dagli oggetti tracciati o dal movimento. Impostare su 0 se si desidera conservare solo le registrazioni relative agli avvisi e ai rilevamenti.", "days": { - "label": "Giorni di Conservazione", + "label": "Giorni di conservazione", "description": "Numero di giorni di conservazione delle registrazioni." } }, @@ -550,7 +711,7 @@ "label": "Conservazione movimento", "description": "Numero di giorni per cui conservare le registrazioni attivate dal movimento, indipendentemente dagli oggetti tracciati. Impostare su 0 se si desidera conservare solo le registrazioni relative ad allarmi e rilevamenti.", "days": { - "label": "Giorni di Conservazione", + "label": "Giorni di conservazione", "description": "Numero di giorni di conservazione delle registrazioni." } }, @@ -558,12 +719,12 @@ "label": "Conservazione rilevamento", "description": "Impostazioni relative alla conservazione delle registrazioni per gli eventi di rilevamento, comprese le durate prima e dopo l'acquisizione.", "pre_capture": { - "label": "Secondi di pre-acquisizione", - "description": "Numero di secondi precedenti l'evento di rilevamento da includere nella registrazione." + "label": "Secondi prima della cattura", + "description": "Numero di secondi precedenti all'evento di rilevamento da includere nella registrazione." }, "post_capture": { - "label": "Secondi di post-acquisizione", - "description": "Numero di secondi successivi l'evento di rilevamento da includere nella registrazione." + "label": "Secondi dopo la cattura", + "description": "Numero di secondi successivi all'evento di rilevamento da includere nella registrazione." }, "retain": { "label": "Conservazione eventi", @@ -580,13 +741,13 @@ }, "alerts": { "label": "Conservazione avvisi", - "description": "Impostazioni di conservazione delle registrazioni per gli eventi di avviso, incluse le durate di pre e post-acquisizione.", + "description": "Impostazioni di conservazione delle registrazioni per gli eventi di avviso, incluse le durate prima e dopo la cattura.", "pre_capture": { - "label": "Secondi di pre-acquisizione", - "description": "Numero di secondi antecedenti all'evento di rilevamento da includere nella registrazione." + "label": "Secondi prima della cattura", + "description": "Numero di secondi precedenti all'evento di rilevamento da includere nella registrazione." }, "post_capture": { - "label": "Secondi di post-acquisizione", + "label": "Secondi dopo la cattura", "description": "Numero di secondi successivi all'evento di rilevamento da includere nella registrazione." }, "retain": { @@ -613,7 +774,8 @@ "enabled_in_config": { "label": "Stato registrazione originale", "description": "Indica se la registrazione era abilitata nella configurazione statica originale." - } + }, + "description": "Impostazioni di registrazione e conservazione vengono applicate alle telecamere a meno che non vengano modificate singolarmente per ciascuna telecamera." }, "snapshots": { "label": "Istantanee", @@ -625,7 +787,40 @@ "description": "Sovraimprime un timestamp sulle istantanee provenienti dalle API." }, "bounding_box": { - "label": "Sovrimpressione riquadro di delimitazione" + "label": "Sovrimpressione riquadro di delimitazione", + "description": "Disegna i riquadri di delimitazione per gli oggetti tracciati sulle istantanee provenienti dalle API." + }, + "crop": { + "label": "Ritaglia istantanea", + "description": "Ritaglia le istantanee provenienti dalle API in base al riquadro di delimitazione dell'oggetto rilevato." + }, + "required_zones": { + "label": "Zone richieste", + "description": "Zone in cui un oggetto deve entrare affinché venga salvata un'istantanea." + }, + "height": { + "label": "Altezza istantanea", + "description": "Altezza (in pixel) a cui ridimensionare le istantanee provenienti dalle API; lascia vuoto per mantenere la dimensione originale." + }, + "retain": { + "label": "Conservazione istantanee", + "description": "Impostazioni di conservazione per le istantanee, inclusi i giorni predefiniti e le eccezioni per singolo oggetto.", + "default": { + "label": "Conservazione predefinita", + "description": "Numero predefinito di giorni per cui conservare le istantanee." + }, + "mode": { + "label": "Modalità di conservazione", + "description": "Modalità di conservazione: tutti (salva tutti i segmenti), movimento (salva i segmenti con movimento) o oggetti_attivi (salva i segmenti con oggetti attivi)." + }, + "objects": { + "label": "Conservazione oggetti", + "description": "Eccezioni per singolo oggetto relativi ai giorni di conservazione delle istantanee." + } + }, + "quality": { + "label": "Qualità istantanee", + "description": "Qualità di codifica per le istantanee salvate (0-100)." } }, "motion": { @@ -654,10 +849,12 @@ "description": "Se impostato su un valore compreso tra 0.0 e 110, e se in un singolo fotogramma cambia una porzione dell'immagine superiore a tale frazione, il rilevatore non restituirà alcun riquadro di movimento e si ricalibrerà immediatamente. Ciò consente di risparmiare risorse della CPU e ridurre i falsi positivi in caso di fulmini, temporali, ecc., ma potrebbe comportare la mancata rilevazione di eventi reali, come ad esempio il tracciamento automatico di un oggetto da parte di una telecamera PTZ. Il compromesso consiste nel scegliere se sacrificare alcuni megabyte di registrazioni o rivedere un paio di brevi video. Lasciare non impostato (Nessuno) per disabilitare questa funzione." }, "delta_alpha": { - "description": "Fattore di fusione alfa utilizzato nel calcolo della differenza tra fotogrammi per il calcolo del movimento." + "description": "Fattore di fusione alfa utilizzato nel calcolo della differenza tra fotogrammi per il calcolo del movimento.", + "label": "Delta alfa" }, "frame_alpha": { - "description": "Valore alfa utilizzato durante la fusione dei fotogrammi per la preelaborazione del movimento." + "description": "Valore alfa utilizzato durante la fusione dei fotogrammi per la preelaborazione del movimento.", + "label": "Frame alfa" }, "frame_height": { "label": "Altezza del frame", @@ -672,7 +869,8 @@ "description": "Secondi di attesa dopo l'ultimo movimento prima di pubblicare uno stato 'off' MQTT." }, "enabled_in_config": { - "description": "Indica se il rilevamento del movimento era abilitato nella configurazione statica originale." + "description": "Indica se il rilevamento del movimento era abilitato nella configurazione statica originale.", + "label": "Stato movimento originale" }, "raw_mask": { "label": "Maschera grezza" @@ -710,11 +908,11 @@ }, "min_score": { "label": "Confidenza minima", - "description": "Livello minimo di confidenza del rilevamento per singolo fotogramma richiesto affinché l'oggetto venga conteggiato." + "description": "Livello minimo di confidenza nel rilevamento in un singolo fotogramma richiesto affinché l'oggetto venga conteggiato." }, "mask": { "label": "Maschera filtro", - "description": "Coordinate del poligono che definisce l'area all'interno dell'inquadratura in cui si applica questo filtro." + "description": "Coordinate del poligono che definiscono la posizione di applicazione di questo filtro all'interno dell'inquadratura." }, "raw_mask": { "label": "Maschera grezza" @@ -722,40 +920,42 @@ }, "mask": { "label": "Maschera oggetto", - "description": "Poligono di maschera utilizzato per impedire il rilevamento di oggetti in aree specificate." + "description": "Poligono di mascheramento utilizzato per impedire il rilevamento di oggetti in aree specifiche." }, "genai": { "label": "Configurazione degli oggetti GenAI", "description": "Opzioni GenAI per la descrizione degli oggetti tracciati e l'invio dei fotogrammi per la generazione.", "enabled": { "label": "Abilita GenAI", - "description": "Abilita di default la generazione tramite GenAI delle descrizioni degli oggetti monitorati." + "description": "Abilita in modo predefinito la generazione di descrizioni da parte di GenAI per gli oggetti tracciati." }, "use_snapshot": { - "label": "Usa istantanee", + "label": "Utilizza istantanee", "description": "Utilizza le istantanee degli oggetti anziché le miniature per la generazione di descrizioni con GenAI." }, "prompt": { - "description": "Modello di prompt predefinito utilizzato per la generazione di descrizioni con GenAI." + "description": "Modello di richiesta predefinito utilizzato per la generazione di descrizioni con GenAI.", + "label": "Richiesta di didascalia" }, "object_prompts": { - "description": "Prompt specifici per ogni oggetto per personalizzare i risultati di GenAI in base a etichette specifiche." + "description": "Richieste specifiche per ogni oggetto per personalizzare i risultati di GenAI in base a etichette specifiche.", + "label": "Richiesta di oggetto" }, "objects": { "label": "Oggetti GenAI", - "description": "Elenco delle etichette degli oggetti da inviare a GenAI per impostazione predefinita." + "description": "Elenco di etichette degli oggetti da inviare a GenAI per impostazione predefinita." }, "required_zones": { - "label": "Zone obbligatorie", - "description": "Zone che devono essere inserite affinché gli oggetti possano essere utilizzati per la generazione di descrizioni tramite GenAI." + "label": "Zone richieste", + "description": "Zone che devono essere inserite affinché gli oggetti siano idonei alla generazione della descrizione GenAI." }, "debug_save_thumbnails": { "label": "Salva miniature", - "description": "Salva le miniature inviate a GenAI per il debug e la revisione." + "description": "Salva le miniature inviate a GenAI per la correzione e la revisione." }, "send_triggers": { - "label": "Attivatori GenAI", - "description": "Definisce quando i frame devono essere inviati a GenAI (al termine, dopo gli aggiornamenti, ecc.).", + "label": "Attivazioni GenAI", + "description": "Definisce quando i fotogrammi devono essere inviati a GenAI (alla fine, dopo gli aggiornamenti, ecc.).", "tracked_object_end": { "label": "Invia alla fine", "description": "Invia una richiesta a GenAI quando l'oggetto tracciato termina." @@ -776,6 +976,24 @@ "filters_attribute": { "raw_mask": { "label": "Maschera grezza" + }, + "min_ratio": { + "label": "Rapporto di aspetto minimo", + "description": "Rapporto minimo tra larghezza e altezza richiesto affinché il riquadro di delimitazione sia valido." + }, + "max_ratio": { + "label": "Rapporto di aspetto massimo", + "description": "Rapporto massimo tra larghezza e altezza richiesto affinché il riquadro di delimitazione sia valido." + }, + "threshold": { + "label": "Soglia di confidenza" + }, + "min_score": { + "label": "Confidenza minima" + }, + "mask": { + "label": "Maschera filtro", + "description": "Coordinate del poligono che definiscono la posizione di applicazione di questo filtro all'interno dell'inquadratura." } } }, @@ -795,7 +1013,39 @@ } }, "timestamp_style": { - "label": "Stile orario" + "label": "Stile orario", + "position": { + "label": "Posizione timestamp", + "description": "Posizione del timestamp sull'immagine (tl/tr/bl/br)." + }, + "format": { + "label": "Formato timestamp", + "description": "Stringa di formato data/ora utilizzata per i timestamp (codici di formato datetime di Python)." + }, + "color": { + "label": "Colore timestamp", + "description": "Valori di colore RGB per il testo del timestamp (tutti i valori da 0 a 255).", + "red": { + "label": "Rosso", + "description": "Componente rosso (0-255) per il colore del timestamp." + }, + "green": { + "label": "Verde", + "description": "Componente verde (0-255) per il colore del timestamp." + }, + "blue": { + "label": "Blu", + "description": "Componente blu (0-255) per il colore del timestamp." + } + }, + "thickness": { + "label": "Spessore timestamp", + "description": "Spessore della linea del testo del timestamp." + }, + "effect": { + "label": "Effetto timestamp", + "description": "Effetto visivo per il testo del timestamp (none, solid, shadow)." + } }, "database": { "label": "Database", @@ -824,7 +1074,7 @@ "description": "Indirizzo email utilizzato per le notifiche push o richiesto da alcuni fornitori di servizi di notifica." }, "cooldown": { - "label": "Periodo di raffreddamento", + "label": "Tempo di attesa tra notifiche", "description": "Tempo di attesa (in secondi) tra le notifiche per evitare di inviare spam ai destinatari." }, "enabled_in_config": { @@ -857,10 +1107,44 @@ } }, "tls": { - "label": "TLS" + "label": "TLS", + "description": "Impostazioni TLS per gli endpoint web di Frigate (porta 8971).", + "enabled": { + "label": "Abilita TLS", + "description": "Abilita il protocollo TLS per l'interfaccia utente web e le API di Frigate sulla porta TLS configurata." + } }, "telemetry": { - "label": "Telemetria" + "label": "Telemetria", + "description": "Opzioni di telemetria e statistiche di sistema, incluso il monitoraggio della GPU e della larghezza di banda di rete.", + "network_interfaces": { + "label": "Interfacce di rete", + "description": "Elenco dei prefissi dei nomi delle interfacce di rete da monitorare per le statistiche sulla larghezza di banda." + }, + "stats": { + "label": "Statistiche di sistema", + "description": "Opzioni per abilitare/disabilitare la raccolta di varie statistiche di sistema e della GPU.", + "amd_gpu_stats": { + "label": "Statistiche GPU AMD", + "description": "Abilita la raccolta delle statistiche della GPU AMD, se presente una GPU AMD." + }, + "intel_gpu_stats": { + "label": "Statistiche GPU Intel", + "description": "Abilita la raccolta delle statistiche della GPU Intel, se presente una GPU Intel." + }, + "network_bandwidth": { + "label": "Larghezza di banda di rete", + "description": "Abilita il monitoraggio della larghezza di banda di rete per singolo processo per i processi ffmpeg della telecamera e per i rilevatori (richiede capability specifiche)." + }, + "intel_gpu_device": { + "label": "Dispositivo GPU Intel", + "description": "Indirizzo bus PCI o percorso del dispositivo DRM (es. /dev/dri/card1) utilizzato per associare le statistiche della GPU Intel a un dispositivo specifico quando ne sono presenti molteplici." + } + }, + "version_check": { + "label": "Controllo versione", + "description": "Abilita un controllo in uscita per rilevare se è disponibile una versione più recente di Frigate." + } }, "birdseye": { "label": "Birdseye", @@ -887,7 +1171,7 @@ "label": "Attivatori", "friendly_name": { "label": "Nome descrittivo", - "description": "Nome descrittivo opzionale visualizzato nell'interfaccia utente per questo innesco." + "description": "Nome descrittivo opzionale visualizzato nell'interfaccia utente per questo attivatore." }, "description": "Azioni e criteri di corrispondenza per gli attivatori della ricerca semantica specifici della telecamera.", "enabled": { diff --git a/web/public/locales/it/views/explore.json b/web/public/locales/it/views/explore.json index e01329aada..e08626bfa0 100644 --- a/web/public/locales/it/views/explore.json +++ b/web/public/locales/it/views/explore.json @@ -202,8 +202,8 @@ "aria": "Invia a Frigate Plus" }, "addTrigger": { - "label": "Aggiungi innesco", - "aria": "Aggiungi un innesco per questo oggetto tracciato" + "label": "Aggiungi attivatore", + "aria": "Aggiungi un attivatore per questo oggetto tracciato" }, "audioTranscription": { "label": "Trascrivere", diff --git a/web/public/locales/it/views/live.json b/web/public/locales/it/views/live.json index 697a676820..ac9fc12099 100644 --- a/web/public/locales/it/views/live.json +++ b/web/public/locales/it/views/live.json @@ -9,7 +9,7 @@ "disable": "Disabilita audio bidirezionale" }, "snapshots": { - "enable": "Abilita istantanee", + "enable": "Abilita Istantanee", "disable": "Disabilita istantanee" }, "manualRecording": { diff --git a/web/public/locales/it/views/settings.json b/web/public/locales/it/views/settings.json index 5c40cc9601..9ef1f0f295 100644 --- a/web/public/locales/it/views/settings.json +++ b/web/public/locales/it/views/settings.json @@ -212,7 +212,7 @@ "type": { "zone": "zona", "motion_mask": "maschera di movimento", - "object_mask": "maschera di oggetto" + "object_mask": "maschera oggetto" }, "revertOverride": { "title": "Ripristina la configurazione di base", @@ -447,7 +447,7 @@ "users": "Utenti", "frigateplus": "Frigate+", "enrichments": "Miglioramenti", - "triggers": "Inneschi", + "triggers": "Attivatori", "roles": "Ruoli", "cameraManagement": "Gestione della telecamera", "cameraReview": "Revisiona", @@ -896,22 +896,22 @@ "restart_required": "Riavvio richiesto (impostazioni di miglioramento modificate)" }, "triggers": { - "documentTitle": "Inneschi", + "documentTitle": "Attivatori", "management": { - "title": "Inneschi", - "desc": "Gestisci gli inneschi per {{camera}}. Utilizza il tipo miniatura per attivare miniature simili all'oggetto tracciato selezionato e il tipo descrizione per attivare descrizioni simili al testo specificato." + "title": "Attivatori", + "desc": "Gestisci gli attivatori per {{camera}}. Utilizza il tipo miniatura per attivare miniature simili all'oggetto tracciato selezionato e il tipo descrizione per attivare descrizioni simili al testo specificato." }, - "addTrigger": "Aggiungi innesco", + "addTrigger": "Aggiungi attivatore", "table": { "name": "Nome", "type": "Tipo", "content": "Contenuto", "threshold": "Soglia", "actions": "Azioni", - "noTriggers": "Nessun innesco configurato per questa telecamera.", + "noTriggers": "Nessun attivatore configurato per questa telecamera.", "edit": "Modifica", - "deleteTrigger": "Elimina innesco", - "lastTriggered": "Ultimo innesco" + "deleteTrigger": "Elimina attivatore", + "lastTriggered": "Ultimo attivatore" }, "type": { "thumbnail": "Miniatura", @@ -925,34 +925,34 @@ }, "dialog": { "createTrigger": { - "title": "Crea innesco", - "desc": "Crea un innesco per la telecamera {{camera}}" + "title": "Crea attivatore", + "desc": "Crea un attivatore per la telecamera {{camera}}" }, "editTrigger": { - "title": "Modifica innesco", - "desc": "Modifica le impostazioni per l'innesco della telecamera {{camera}}" + "title": "Modifica attivatore", + "desc": "Modifica le impostazioni per l'attivatore della telecamera {{camera}}" }, "deleteTrigger": { - "title": "Elimina innesco", - "desc": "Vuoi davvero eliminare l'innesco {{triggerName}}? Questa azione non può essere annullata." + "title": "Elimina attivatore", + "desc": "Vuoi davvero eliminare l'attivatore {{triggerName}}? Questa azione non può essere annullata." }, "form": { "name": { "title": "Nome", - "placeholder": "Assegna un nome a questo innesco", + "placeholder": "Assegna un nome a questo attivatore", "error": { "minLength": "Il campo deve contenere almeno 2 caratteri.", "invalidCharacters": "Il campo può contenere solo lettere, numeri, caratteri di sottolineatura e trattini.", - "alreadyExists": "Per questa telecamera esiste già un innesco con questo nome." + "alreadyExists": "Per questa telecamera esiste già un attivatore con questo nome." }, - "description": "Inserisci un nome o una descrizione univoca per identificare questo innesco" + "description": "Inserisci un nome o una descrizione univoca per identificare questo attivatore" }, "enabled": { - "description": "Abilita o disabilita questo innesco" + "description": "Abilita o disabilita questo attivatore" }, "type": { "title": "Tipo", - "placeholder": "Seleziona il tipo di innesco", + "placeholder": "Seleziona il tipo di attivatore", "description": "Si attiva quando viene rilevata una descrizione di un oggetto simile tracciato", "thumbnail": "Attiva quando viene rilevata una miniatura di un oggetto simile tracciato" }, @@ -960,7 +960,7 @@ "title": "Contenuto", "imagePlaceholder": "Seleziona una miniatura", "textPlaceholder": "Inserisci il contenuto del testo", - "imageDesc": "Vengono visualizzate solo le 100 miniature più recenti. Se non riesci a trovare la miniatura desiderata, controlla gli oggetti precedenti in Esplora e imposta un innesco dal menu.", + "imageDesc": "Vengono visualizzate solo le 100 miniature più recenti. Se non riesci a trovare la miniatura desiderata, controlla gli oggetti precedenti in Esplora e imposta un attivatore dal menu.", "textDesc": "Inserisci il testo per attivare questa azione quando viene rilevata una descrizione simile dell'oggetto tracciato.", "error": { "required": "Il contenuto è obbligatorio." @@ -972,11 +972,11 @@ "min": "La soglia deve essere almeno 0", "max": "La soglia deve essere al massimo 1" }, - "desc": "Imposta la soglia di similarità per questo innesco. Una soglia più alta indica che è necessaria una corrispondenza più vicina per attivare l'innesco." + "desc": "Imposta la soglia di similarità per questo attivatore. Una soglia più alta indica che è necessaria una corrispondenza più vicina per attivare l'attivatore." }, "actions": { "title": "Azioni", - "desc": "Per impostazione predefinita, Frigate invia un messaggio MQTT per tutti gli inneschi. Le sottoetichette aggiungono il nome dell'innesco all'etichetta dell'oggetto. Gli attributi sono metadati ricercabili, memorizzati separatamente nei metadati dell'oggetto tracciato.", + "desc": "Per impostazione predefinita, Frigate invia un messaggio MQTT per tutti gli attivatori. Le sottoetichette aggiungono il nome dell'attivatore all'etichetta dell'oggetto. Gli attributi sono metadati ricercabili, memorizzati separatamente nei metadati dell'oggetto tracciato.", "error": { "min": "È necessario selezionare almeno un'azione." } @@ -990,30 +990,30 @@ }, "toast": { "success": { - "createTrigger": "L'innesco {{name}} è stato creato correttamente.", - "updateTrigger": "L'innesco {{name}} è stato aggiornato correttamente.", - "deleteTrigger": "L'innesco {{name}} è stato eliminato correttamente." + "createTrigger": "L'attivatore {{name}} è stato creato correttamente.", + "updateTrigger": "L'attivatore {{name}} è stato aggiornato correttamente.", + "deleteTrigger": "L'attivatore {{name}} è stato eliminato correttamente." }, "error": { - "createTriggerFailed": "Impossibile creare l'innesco: {{errorMessage}}", - "updateTriggerFailed": "Impossibile aggiornare l'innesco: {{errorMessage}}", - "deleteTriggerFailed": "Impossibile eliminare l'innesco: {{errorMessage}}" + "createTriggerFailed": "Impossibile creare l'attivatore: {{errorMessage}}", + "updateTriggerFailed": "Impossibile aggiornare l'attivatore: {{errorMessage}}", + "deleteTriggerFailed": "Impossibile eliminare l'attivatore: {{errorMessage}}" } }, "semanticSearch": { "title": "La ricerca semantica è disabilitata", - "desc": "Per utilizzare gli inneschi, è necessario abilitare la ricerca semantica." + "desc": "Per utilizzare gli attivatori, è necessario abilitare la ricerca semantica." }, "wizard": { - "title": "Crea innesco", + "title": "Crea attivatore", "step1": { - "description": "Configura le impostazioni di base per il tuo innesco." + "description": "Configura le impostazioni di base per il tuo attivatore." }, "step2": { "description": "Imposta il contenuto che attiverà questa azione." }, "step3": { - "description": "Configura la soglia e le azioni per questo innesco." + "description": "Configura la soglia e le azioni per questo attivatore." }, "steps": { "nameAndType": "Nome e tipo", @@ -2030,10 +2030,10 @@ "desc": "La griglia di regioni è un algoritmo di ottimizzazione che apprende dove gli oggetti di diverse dimensioni appaiono tipicamente nel campo visivo di ciascuna telecamera. Frigate utilizza questi dati per dimensionare in modo efficiente le regioni di rilevamento. La griglia viene creata automaticamente nel tempo a partire dai dati degli oggetti tracciati.", "clear": "Pulisci griglia di regioni", "clearConfirmTitle": "Pulisci griglia di regioni", - "clearConfirmDesc": "La pulizia della griglia di regioni non è consigliata a meno che non si sia recentemente modificato il modello del rilevatore o la posizione fisica della telecamera, riscontrando problemi di tracciamento degli oggetti. La griglia verrà ricostruita automaticamente nel tempo man mano che gli oggetti vengono tracciati. Per rendere effettive le modifiche è necessario riavviare Frigate.", - "clearSuccess": "Griglia di regioni pulita con successo", - "clearError": "Impossibile pulire la griglia di regioni", - "restartRequired": "È necessario riavviare il sistema affinché le modifiche alla griglia di regioni abbiano effetto" + "clearConfirmDesc": "La pulizia della griglia delle regioni non è consigliata, a meno che non sia stata modificata di recente la dimensione del modello del rilevatore, oppure sia stata cambiata la posizione fisica della telecamera e si riscontrino problemi di tracciamento degli oggetti. La griglia verrà ricostruita automaticamente nel tempo man mano che gli oggetti vengono tracciati. È richiesto un riavvio di Frigate affinché le modifiche abbiano effetto.", + "clearSuccess": "Griglia delle regioni pulita con successo", + "clearError": "Impossibile pulire la griglia delle regioni", + "restartRequired": "È necessario riavviare il sistema affinché le modifiche alla griglia delle regioni abbiano effetto" } }, "retainMode": { From 6af1584c05a15afb530195dd136a77b659963586 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:07 +0200 Subject: [PATCH 09/14] Translated using Weblate (Indonesian) Currently translated at 100.0% (50 of 50 strings) Translated using Weblate (Indonesian) Currently translated at 57.4% (58 of 101 strings) Translated using Weblate (Indonesian) Currently translated at 43.5% (44 of 101 strings) Translated using Weblate (Indonesian) Currently translated at 94.0% (47 of 50 strings) Translated using Weblate (Indonesian) Currently translated at 42.5% (43 of 101 strings) Translated using Weblate (Indonesian) Currently translated at 100.0% (239 of 239 strings) Translated using Weblate (Indonesian) Currently translated at 90.0% (45 of 50 strings) Translated using Weblate (Indonesian) Currently translated at 90.0% (45 of 50 strings) Co-authored-by: Alberto-Audrix Co-authored-by: Hosted Weblate Co-authored-by: Naufal F Co-authored-by: Yeni Setiawan Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/id/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/id/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/id/ Translation: Frigate NVR/common Translation: Frigate NVR/components-camera Translation: Frigate NVR/components-dialog --- web/public/locales/id/common.json | 3 +- web/public/locales/id/components/camera.json | 43 +++++++++++++++++-- web/public/locales/id/components/dialog.json | 45 +++++++++++++++++++- 3 files changed, 85 insertions(+), 6 deletions(-) diff --git a/web/public/locales/id/common.json b/web/public/locales/id/common.json index 455b3f4bf4..cdeb4ab24b 100644 --- a/web/public/locales/id/common.json +++ b/web/public/locales/id/common.json @@ -126,7 +126,8 @@ "ur": "اردو (Urdu)", "withSystem": { "label": "Gunakan pengaturan sistem untuk bahasa" - } + }, + "zhHant": "繁體中文 (Tionghoa Tradisional)" }, "appearance": "Tampilan", "darkMode": { diff --git a/web/public/locales/id/components/camera.json b/web/public/locales/id/components/camera.json index de7759f34d..61ca36bf21 100644 --- a/web/public/locales/id/components/camera.json +++ b/web/public/locales/id/components/camera.json @@ -42,12 +42,49 @@ "stream": "Siaran", "placeholder": "Pilih stream", "streamMethod": { - "label": "Metode Streaming" + "label": "Metode Streaming", + "placeholder": "Pilih satu metode streaming", + "method": { + "noStreaming": { + "label": "Tidak Streaming", + "desc": "Gambar kamera hanya diperbarui sekali per menit dan tidak akan ada live streaming." + }, + "smartStreaming": { + "label": "Streaming cerdas (disarankan)", + "desc": "Streaming cerdas akan memperbarui gambar kamera sekali per menit saat tidak ada aktivitas yang terdeteksi untuk menghemat bandwidth dan sumber daya. Ketika aktivitas terdeteksi, gambar akan otomatis beralih ke live stream." + }, + "continuousStreaming": { + "desc": { + "title": "Kamera akan selalu live stream selama muncul di dashboard, meskipun tidak ada aktivitas yang terdeteksi.", + "warning": "Streaming Terus Menerus dapat menyebabkan penggunaan bandwidth yang tinggi dan masalah performa. Gunakan dengan hati-hati." + }, + "label": "Streaming Terus Menerus" + } + } + }, + "compatibilityMode": { + "label": "Mode Kompatibilitas", + "desc": "Aktifkan opsi ini hanya jika live stream kamera Anda menampilkan artefak warna dan memiliki garis diagonal di sisi kanan gambar." } } - } + }, + "showAll": "Tampilkan semua grup kamera", + "showLess": "Lebih sedikit", + "editGroups": "Sunting Grup Kamera" }, "debug": { - "boundingBox": "Batas Kotak" + "boundingBox": "Batas Kotak", + "options": { + "label": "Pengaturan", + "title": "Opsi", + "showOptions": "Lihat Opsi", + "hideOptions": "Sembunyikan Opsi" + }, + "zones": "Zona", + "motion": "Gerakan", + "regions": "Wilayah", + "timestamp": "Timestamp", + "mask": "Masker", + "paths": "Path" } } diff --git a/web/public/locales/id/components/dialog.json b/web/public/locales/id/components/dialog.json index 35d87b07ca..39e1316c48 100644 --- a/web/public/locales/id/components/dialog.json +++ b/web/public/locales/id/components/dialog.json @@ -52,8 +52,49 @@ "export": "Ekspor", "selectOrExport": "Pilih atau Ekspor", "toast": { - "success": "Berhasil memulai ekspor. Lihat file pada halaman ekspor." - } + "success": "Berhasil memulai ekspor. Lihat file pada halaman ekspor.", + "queued": "Ekspor diantrekan. Lihat progres di halaman ekspor.", + "view": "Melihat", + "batchSuccess_other": "{{count}} Ekspor dimulai. Membuka kasusnya sekarang." + }, + "case": { + "newCaseOption": "Membuat Kasus Baru", + "newCaseNamePlaceholder": "Nama Kasus Baru", + "newCaseDescriptionPlaceholder": "Deskripsi Kasus", + "label": "Kasus", + "nonAdminHelp": "Kasus Baru akan Dibuat untuk Ekspor ini.", + "placeholder": "Pilih Kasus" + }, + "tabs": { + "export": "Kamera Tunggal", + "multiCamera": "Multi Kamera" + }, + "multiCamera": { + "timeRange": "Rentang Waktu", + "selectFromTimeline": "Pilih dari Timeline", + "cameraSelection": "Kamera", + "checkingActivity": "Memeriksa Aktivitas Kamera...", + "noCameras": "Tidak ada Kamera Tersedia", + "detectionCount_other": "{{count}} Objek terlacak", + "nameLabel": "Nama Ekspor", + "exportButton_other": "Ekspor {{count}} kamera", + "cameraSelectionHelp": "Kamera dengan objek yang dilacak dalam rentang waktu ini telah dipilih sebelumnya", + "queueingButton": "Mengantrekan ekspor..." + }, + "multi": { + "title_other": "Ekspor {{count}} Ulasan", + "toast": { + "startedNoCase_other": "{{count}} Ekspor Dimulai.", + "started_other": "{{count}} ekspor dimulai. Membuka kasusnya sekarang.", + "partial": "Memulai {{successful}} dari {{total}} ekspor. Gagal: {{failedItems}}", + "failed": "Gagal memulai {{total}} ekspor. Gagal: {{failedItems}}" + }, + "description": "Ekspor setiap ulasan yang dipilih. Semua Ekspor akan dikelompokkan dalam satu kasus.", + "descriptionNoCase": "Ekspor setiap ulasan yang dipilih.", + "exportButton_other": "Ekspor {{count}} ulasan", + "exportingButton": "Mengekspor..." + }, + "queueing": "Mengantrekan Ekspor..." }, "search": { "saveSearch": { From 0b81f4e3cd89e182b38950f41b108ad294a3fd5b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:08 +0200 Subject: [PATCH 10/14] Translated using Weblate (Spanish) Currently translated at 100.0% (809 of 809 strings) Translated using Weblate (Spanish) Currently translated at 99.4% (187 of 188 strings) Translated using Weblate (Spanish) Currently translated at 100.0% (1277 of 1277 strings) Translated using Weblate (Spanish) Currently translated at 100.0% (475 of 475 strings) Co-authored-by: Hosted Weblate Co-authored-by: Libre <6n0n1m0s@proton.me> Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/es/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/es/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/es/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/es/config/cameras.json | 4 +- web/public/locales/es/config/global.json | 4 +- web/public/locales/es/views/settings.json | 3 ++ web/public/locales/es/views/system.json | 64 ++++++++++++++--------- 4 files changed, 46 insertions(+), 29 deletions(-) diff --git a/web/public/locales/es/config/cameras.json b/web/public/locales/es/config/cameras.json index aa1f09becc..4926fa8ca2 100644 --- a/web/public/locales/es/config/cameras.json +++ b/web/public/locales/es/config/cameras.json @@ -24,7 +24,7 @@ }, "listen": { "label": "Tipos de escucha", - "description": "Lista de tipos de eventos de audio a detectar (por ejemplo: ladrido, alarma de incendios, grito, voz, alarido)." + "description": "Lista de tipos de eventos de audio a detectar (por ejemplo: ladrar, alarma de incendio, habla, gritar)." }, "filters": { "label": "Filtros de audio", @@ -744,7 +744,7 @@ "label": "Tiempo de reintento de FFmpeg" }, "path": { - "description": "Ruta al binario de FFmpeg que se va a utilizar o un alias de versión (\"5.0\" o \"7.0\").", + "description": "Ruta al binario de FFmpeg que se va a utilizar o un alias de versión (\"7.0\" o \"8.0\").", "label": "Ruta de FFmpeg" }, "output_args": { diff --git a/web/public/locales/es/config/global.json b/web/public/locales/es/config/global.json index ee7210f359..7869ce4ba2 100644 --- a/web/public/locales/es/config/global.json +++ b/web/public/locales/es/config/global.json @@ -39,7 +39,7 @@ }, "listen": { "label": "Tipos de escucha", - "description": "Lista de tipos de eventos de audio a detectar (por ejemplo: ladrido, alarma de incendios, grito, voz, alarido)." + "description": "Lista de tipos de eventos de audio a detectar (por ejemplo: ladrar, alarma de incendio, habla, gritar)." }, "filters": { "label": "Filtros de audio", @@ -1234,7 +1234,7 @@ "label": "Tiempo de reintento de FFmpeg" }, "path": { - "description": "Ruta al binario de FFmpeg que se va a utilizar o un alias de versión (\"5.0\" o \"7.0\").", + "description": "Ruta al binario de FFmpeg que se va a utilizar o un alias de versión (\"7.0\" o \"8.0\").", "label": "Ruta de FFmpeg" }, "output_args": { diff --git a/web/public/locales/es/views/settings.json b/web/public/locales/es/views/settings.json index 99aa74e98d..4d695a50b3 100644 --- a/web/public/locales/es/views/settings.json +++ b/web/public/locales/es/views/settings.json @@ -2020,6 +2020,9 @@ }, "onvif": { "autotrackingNoZones": "El seguimiento automático requiere al menos una zona. Define una zona para esta cámara en Máscaras / Zonas y, a continuación, establécela como zona obligatoria a continuación." + }, + "ffmpeg": { + "hwaccelManualNotRecommended": "No son remontados los argumentos de aceleración por hardware manual. A no ser que un requisito específico exista, seleccione la preselección que coincida con su hardware." } }, "resetToDefaultDescription": "Esto restablecerá todos los ajustes de esta sección a sus valores predeterminados. Esta acción no se puede deshacer.", diff --git a/web/public/locales/es/views/system.json b/web/public/locales/es/views/system.json index 23ee553a12..9c94c07aef 100644 --- a/web/public/locales/es/views/system.json +++ b/web/public/locales/es/views/system.json @@ -81,16 +81,16 @@ "gpuInfo": { "vainfoOutput": { "title": "Salida de Vainfo", - "returnCode": "Código de Retorno: {{code}}", - "processOutput": "Salida del Proceso:", - "processError": "Error del Proceso:" + "returnCode": "Código de retorno: {{code}}", + "processOutput": "Salida del proceso:", + "processError": "Error del proceso:" }, "nvidiaSMIOutput": { - "cudaComputerCapability": "Capacidad de Cómputo CUDA: {{cuda_compute}}", + "cudaComputerCapability": "Capacidad de cómputo CUDA: {{cuda_compute}}", "title": "Salida de Nvidia SMI", "driver": "Controlador: {{driver}}", "name": "Nombre: {{name}}", - "vbios": "Información de VBios: {{vbios}}" + "vbios": "Informe de VBios: {{vbios}}" }, "toast": { "success": "Información de GPU copiada al portapapeles" @@ -104,7 +104,7 @@ }, "gpuMemory": "Memoria de GPU", "npuMemory": "Memoria de NPU", - "npuUsage": "Uso de NPU", + "npuUsage": "Modo de empleo de NPU", "intelGpuWarning": { "title": "Aviso de estadísticas Intel GPU", "message": "Estadísticas de GPU no disponibles", @@ -122,7 +122,7 @@ "go2rtc": "go2rtc", "recording": "grabación", "review_segment": "revisar segmento", - "embeddings": "embeddings", + "embeddings": "empotrados", "audio_detector": "detector de audio" } } @@ -165,8 +165,8 @@ "codec": "Codec:", "fetching": "Obteniendo Datos de la Cámara", "stream": "Flujo {{idx}}", - "video": "Video:", - "fps": "FPS:", + "video": "Vídeo:", + "fps": "CPS:", "resolution": "Resolución:", "error": "Error: {{error}}", "unknown": "Desconocido", @@ -174,7 +174,21 @@ "tips": { "title": "Información de Sondeo de la Cámara" }, - "aspectRatio": "Relación de aspecto" + "aspectRatio": "Relación de aspecto", + "keyframes": { + "title": "Análisis de clave fotograma", + "recordStream": "Flujo de grabación:", + "segmentLength": "Longitud de segmento en grabación:", + "unknown": "No pudo determinar el espaciado del fotograma.", + "analyzing": "Analizando fotogramas clave… {{seconds}} segundos restantes", + "stillAnalyzing": "Todavía analizando fotogramas clave…", + "keyframeCount": "Fotogramas clave observados:", + "observedDuration": "Duración observada:", + "gap": "Brecha de fotogramas clave (mín / med / máx):", + "recordDisabled": "La grabación está desactivada para esta cámara.", + "ok": "Cuadros cada ~{{seconds}}s, bueno para grabación y reproducción.", + "warning": "Fotograma clave escaso o variable (hueco más largo ~{{seconds}}s), probablemente un códec inteligente (H.264+/H.265+), esto no es recomendado." + } }, "framesAndDetections": "Fotogramas / Detecciones", "label": { @@ -204,9 +218,9 @@ }, "connectionQuality": { "excellent": "Excelente", - "poor": "Debil", - "title": "Calidad de la conexión", - "fps": "Cuadros por segundo", + "poor": "Pobre", + "title": "Calidad de Conexión", + "fps": "CPS", "expectedFps": "Cuadros por segundo esperados", "reconnectsLastHour": "Reconexiones (última hora)", "unusable": "No usable", @@ -222,25 +236,25 @@ "infPerSecond": "Inferencias Por Segundo", "embeddings": { "plate_recognition_speed": "Velocidad de Reconocimiento de Matrículas", - "face_embedding_speed": "Velocidad de Incrustación de Rostros", - "image_embedding_speed": "Velocidad de Incrustación de Imágenes", - "text_embedding_speed": "Velocidad de Incrustación de Texto", + "face_embedding_speed": "Velocidad de Empotrado Facial", + "image_embedding_speed": "Velocidad de Empotrado de Imagen", + "text_embedding_speed": "Velocidad de Empotrado de Texto", "face_recognition_speed": "Velocidad de Reconocimiento Facial", - "text_embedding": "Incrustación de Texto", + "text_embedding": "Empotrado de Texto", "face_recognition": "Reconocimiento Facial", "plate_recognition": "Reconocimiento de Matrículas", "yolov9_plate_detection": "Detección de Matrículas YOLOv9", - "image_embedding": "Incrustación de Imágenes", + "image_embedding": "Empotrado de Imagen", "yolov9_plate_detection_speed": "Velocidad de Detección de Matrículas YOLOv9", "review_description": "Revisión de descripción", - "review_description_speed": "Velocidad de revisión de la descripción", - "review_description_events_per_second": "Revisión de la descripción", + "review_description_speed": "Revisión de velocidad de descripción", + "review_description_events_per_second": "Revisión de Descripción", "object_description": "Descripción de Objeto", - "object_description_speed": "Velocidad de descripción de objeto", - "object_description_events_per_second": "Descripción de objeto", + "object_description_speed": "Velocidad de Descripción de Objeto", + "object_description_events_per_second": "Descripción de Objeto", "classification": "Clasificación de {{name}}", - "classification_speed": "Velocidad de clasificación de {{name}}", - "classification_events_per_second": "Clasificacion de eventos por segundo de {{name}}" + "classification_speed": "Velocidad de Clasificación de {{name}}", + "classification_events_per_second": "Clasificación de Eventos por Segundo de {{name}}" }, "title": "Enriquecimientos", "averageInf": "Tiempo promedio de inferencia" @@ -249,7 +263,7 @@ "ffmpegHighCpuUsage": "{{camera}} tiene un uso elevado de CPU por FFmpeg ({{ffmpegAvg}}%)", "detectHighCpuUsage": "{{camera}} tiene un uso elevado de CPU por detección ({{detectAvg}}%)", "healthy": "El sistema está saludable", - "reindexingEmbeddings": "Reindexando incrustaciones ({{processed}}% completado)", + "reindexingEmbeddings": "Reindexando empotrados ({{processed}}% completado)", "detectIsSlow": "{{detect}} es lento ({{speed}} ms)", "cameraIsOffline": "{{camera}} está desconectada", "detectIsVerySlow": "{{detect}} es muy lento ({{speed}} ms)", From 09020ae286018cd01ffd161f4ea5429ef248b87e Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:10 +0200 Subject: [PATCH 11/14] Translated using Weblate (French) Currently translated at 56.4% (35 of 62 strings) Co-authored-by: Hosted Weblate Co-authored-by: LeBuzzy Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/fr/ Translation: Frigate NVR/views-motionSearch --- web/public/locales/fr/views/motionSearch.json | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/web/public/locales/fr/views/motionSearch.json b/web/public/locales/fr/views/motionSearch.json index 5f47e9942a..0c99cad0c6 100644 --- a/web/public/locales/fr/views/motionSearch.json +++ b/web/public/locales/fr/views/motionSearch.json @@ -26,7 +26,9 @@ "points_many": "{{count}} points", "points_other": "{{count}} points", "undo": "Annuler le dernier point", - "reset": "Réinitialiser le polygone" + "reset": "Réinitialiser le polygone", + "drawMode": "Dessiner", + "moveMode": "Déplacer" }, "motionHeatmapLabel": "Carte thermique des mouvements", "dialog": { @@ -36,6 +38,14 @@ }, "timeRange": { "title": "Plage de recherche", - "start": "Plage de recherche" + "start": "Début de la plage de recherche", + "end": "Fin de la plage de recherche" + }, + "settings": { + "title": "Paramètres de recherche", + "parallelMode": "Mode parallèle", + "parallelModeDesc": "Scanner plusieurs plages d'enregistrement simultanément (plus rapide ; nécessite plus de ressources de décodage)", + "threshold": "Seuil de sensitivité", + "thresholdDesc": "Des valeurs basses détectent de plus petits changements (1-255)" } } From 60c55e3a85e8ebe18aff080d3c3835998461d606 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:12 +0200 Subject: [PATCH 12/14] Translated using Weblate (Swedish) Currently translated at 2.7% (13 of 475 strings) Translated using Weblate (Swedish) Currently translated at 0.6% (5 of 809 strings) Translated using Weblate (Swedish) Currently translated at 50.7% (648 of 1277 strings) Translated using Weblate (Swedish) Currently translated at 0.1% (1 of 809 strings) Translated using Weblate (Swedish) Currently translated at 100.0% (50 of 50 strings) Translated using Weblate (Swedish) Currently translated at 0.6% (3 of 475 strings) Translated using Weblate (Swedish) Currently translated at 94.4% (137 of 145 strings) Translated using Weblate (Swedish) Currently translated at 100.0% (26 of 26 strings) Translated using Weblate (Swedish) Currently translated at 100.0% (101 of 101 strings) Translated using Weblate (Swedish) Currently translated at 100.0% (239 of 239 strings) Translated using Weblate (Swedish) Currently translated at 100.0% (239 of 239 strings) Co-authored-by: Christian Bengtsson Co-authored-by: Fredrik Tuomas Co-authored-by: Hosted Weblate Co-authored-by: Kristian Johansson Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/common Translation: Frigate NVR/components-camera Translation: Frigate NVR/components-dialog Translation: Frigate NVR/components-player Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-settings --- web/public/locales/sv/common.json | 27 ++++++-- web/public/locales/sv/components/camera.json | 8 ++- web/public/locales/sv/components/dialog.json | 73 ++++++++++++++++++-- web/public/locales/sv/components/player.json | 6 +- web/public/locales/sv/config/cameras.json | 27 +++++++- web/public/locales/sv/config/global.json | 14 +++- web/public/locales/sv/views/explore.json | 2 +- web/public/locales/sv/views/settings.json | 5 +- 8 files changed, 144 insertions(+), 18 deletions(-) diff --git a/web/public/locales/sv/common.json b/web/public/locales/sv/common.json index d3f916b931..458cb287d9 100644 --- a/web/public/locales/sv/common.json +++ b/web/public/locales/sv/common.json @@ -119,7 +119,14 @@ "applying": "Verkställer…", "undo": "Ångra", "copiedToClipboard": "Kopieras till urklipp", - "modified": "Modifiera" + "modified": "Modifiera", + "overridden": "Åsidosatt", + "resetToGlobal": "Återställ till Global", + "resetToDefault": "Återställ till standard", + "saveAll": "Spara alla", + "savingAll": "Sparar alla…", + "retry": "Försök igen", + "undoAll": "Ångra alla" }, "menu": { "language": { @@ -165,7 +172,9 @@ "gl": "Galego (Galiciska)", "id": "Bahasa Indonesia (Indonesiska)", "ur": "اردو (Urdu)", - "hr": "Hrvatski (kroatiska)" + "hr": "Hrvatski (kroatiska)", + "zhHant": "繁體中文 (Traditionell kinesisk)", + "bs": "Bosanski (Bosniska)" }, "darkMode": { "withSystem": { @@ -221,7 +230,11 @@ "configurationEditor": "Konfigurationsredigerare", "withSystem": "System", "appearance": "Utseende", - "classification": "Klassificering" + "classification": "Klassificering", + "profiles": "Profiler", + "actions": "Åtgärder", + "features": "Funktioner", + "chat": "Chatt" }, "pagination": { "next": { @@ -257,7 +270,8 @@ "error": { "title": "Misslyckades med att spara konfigurationsändringar: {{errorMessage}}", "noMessage": "Misslyckades med att spara konfigurationsändringar" - } + }, + "success": "Konfigurationsändringarna har sparats." }, "copyUrlToClipboard": "Webbadressen har kopierats till urklipp." }, @@ -301,5 +315,10 @@ "field": { "optional": "Valfritt", "internalID": "Det interna ID som Frigate använder i konfigurationen och databasen" + }, + "no_items": "Inga artiklar", + "validation_errors": "Valideringsfel", + "credentialField": { + "savedPlaceholder": "Sparad — lämna tomt för att hålla dig aktuell" } } diff --git a/web/public/locales/sv/components/camera.json b/web/public/locales/sv/components/camera.json index 75fc11f82a..85996ef221 100644 --- a/web/public/locales/sv/components/camera.json +++ b/web/public/locales/sv/components/camera.json @@ -68,7 +68,10 @@ "cameras": { "desc": "Välj kameror för denna guppen.", "label": "Kameror" - } + }, + "showAll": "Visa alla kameragrupper", + "showLess": "Visa mindre", + "editGroups": "Redigera kameragrupper" }, "debug": { "options": { @@ -82,6 +85,7 @@ "zones": "Zoner", "mask": "Maskera", "motion": "Rörelse", - "regions": "Regioner" + "regions": "Regioner", + "paths": "Vägar" } } diff --git a/web/public/locales/sv/components/dialog.json b/web/public/locales/sv/components/dialog.json index d77e76a75b..afcd1b0d29 100644 --- a/web/public/locales/sv/components/dialog.json +++ b/web/public/locales/sv/components/dialog.json @@ -50,20 +50,77 @@ "placeholder": "Ge exporten ett namn" }, "select": "Välj", - "export": "Eksport", + "export": "Export", "selectOrExport": "Välj eller exportera", "toast": { "success": "Exporten har startats. Visa filen på exportsidan.", "error": { - "failed": "Misslyckades med att starta exporten: {{error}}", + "failed": "Misslyckades med att köa exporten: {{error}}", "endTimeMustAfterStartTime": "Sluttiden måste vara efter starttiden", "noVaildTimeSelected": "Inget giltigt tidsintervall valt" }, - "view": "Visa" + "view": "Visa", + "queued": "Exporten är i kö. Se förloppet på exportsidan.", + "batchSuccess_one": "Startade 1 export. Öppnar ärendet nu.", + "batchSuccess_other": "Startade {{count}} exporter. Öppnar ärendet nu.", + "batchPartial": "Startade {{successful}} av {{total}} exporter. Misslyckade kameror: {{failedCameras}}", + "batchFailed": "Misslyckades med att starta export av {{total}}. Kameror som inte fungerade: {{failedCameras}}", + "batchQueuedSuccess_one": "1 export har köats. Ärendet öppnas nu.", + "batchQueuedSuccess_other": "{{count}} exporter har köats. Öppnar ärendet nu.", + "batchQueuedPartial": "Köade {{successful}} av {{total}} exporter. Misslyckade kameror: {{failedCameras}}", + "batchQueueFailed": "Misslyckades med att köa {{total}} exporter. Felaktiga kameror: {{failedCameras}}" }, "fromTimeline": { "saveExport": "Spara export", - "previewExport": "Förhandsgranska export" + "previewExport": "Förhandsgranska export", + "queueingExport": "Export i kö...", + "useThisRange": "Använd detta intervall" + }, + "case": { + "newCaseOption": "Skapa nytt ärende", + "newCaseNamePlaceholder": "Nytt ärende namn", + "newCaseDescriptionPlaceholder": "Ärende beskrivning", + "label": "Ärende", + "nonAdminHelp": "Ett nytt ärende kommer att skapas för dessa exporter.", + "placeholder": "Välj ett ärende" + }, + "queueing": "Export i kö...", + "tabs": { + "export": "Enskild kamera", + "multiCamera": "Flerkameror" + }, + "multiCamera": { + "timeRange": "Tidsintervall", + "selectFromTimeline": "Välj från tidslinjen", + "cameraSelection": "Kameror", + "cameraSelectionHelp": "Kameror med spårade objekt inom detta tidsintervall är förvalda", + "checkingActivity": "Kontrollerar kameraaktivitet...", + "noCameras": "Inga kameror tillgängliga", + "detectionCount_one": "1 spårat objekt", + "detectionCount_other": "{{count}} spårade objekt", + "nameLabel": "Exportnamn", + "namePlaceholder": "Valfritt basnamn för dessa exporter", + "queueingButton": "Köar exporter...", + "exportButton_one": "Exportera 1 kamera", + "exportButton_other": "Exportera {{count}} kameror" + }, + "multi": { + "title_one": "Exportera 1 recension", + "title_other": "Exportera {{count}} recensioner", + "description": "Exportera varje vald recension. Alla exporter grupperas under ett enda ärende.", + "descriptionNoCase": "Exportera varje vald recension.", + "caseNamePlaceholder": "Granska export - {{date}}", + "exportButton_one": "Exportera 1 recension", + "exportButton_other": "Exportera {{count}} recensioner", + "exportingButton": "Exporterar...", + "toast": { + "started_one": "Startade 1 export. Öppnar ärendet nu.", + "started_other": "Startade {{count}} exporter. Öppnar ärendet nu.", + "startedNoCase_one": "Startade 1 export.", + "startedNoCase_other": "Startade {{count}} exporter.", + "partial": "Startade {{successful}} av {{total}} exporter. Misslyckades: {{failedItems}}", + "failed": "Misslyckades med att starta exporten av {{total}}. Misslyckades: {{failedItems}}" + } } }, "streaming": { @@ -111,6 +168,14 @@ "markAsReviewed": "Markera som granskad", "deleteNow": "Ta bort nu", "markAsUnreviewed": "Markera som ogranskad" + }, + "shareTimestamp": { + "label": "Dela tidsstämpel", + "title": "Dela tidsstämpel", + "description": "Dela en tidsstämplad URL för spelarens nuvarande position eller välj en anpassad tidsstämpel. Observera att detta inte är en offentlig delnings-URL och endast är tillgänglig för användare med åtkomst till Frigate och den här kameran.", + "custom": "Anpassad tidsstämpel", + "button": "Dela tidsstämpel-URL", + "shareTitle": "Frigate granskning tidsstämpel: {{camera}}" } }, "imagePicker": { diff --git a/web/public/locales/sv/components/player.json b/web/public/locales/sv/components/player.json index 7c6301ca11..6e0cd60c35 100644 --- a/web/public/locales/sv/components/player.json +++ b/web/public/locales/sv/components/player.json @@ -4,7 +4,8 @@ "noPreviewFoundFor": "Ingen förhandsvisning hittad för {{cameraName}}", "submitFrigatePlus": { "title": "Skicka denna bild till Frigate+?", - "submit": "Skicka" + "submit": "Skicka", + "previewError": "Det gick inte att ladda förhandsgranskningen av ögonblicksbilden. Inspelningen är kanske inte tillgänglig just nu." }, "livePlayerRequiredIOSVersion": "iOS 17.1 eller senare krävs för den här typen av livestream.", "streamOffline": { @@ -47,5 +48,6 @@ "success": { "submittedFrigatePlus": "Bildruta har skickats till Frigate+ med lyckat resultat" } - } + }, + "cameraOff": "Kameran är avstängd" } diff --git a/web/public/locales/sv/config/cameras.json b/web/public/locales/sv/config/cameras.json index bfa6612cd2..6b59c41908 100644 --- a/web/public/locales/sv/config/cameras.json +++ b/web/public/locales/sv/config/cameras.json @@ -1,6 +1,29 @@ { - "label": "Kamera konfiguration", + "label": "KameraKonfiguration", "name": { - "label": "Kameranamn" + "label": "Kameranamn", + "description": "Kameranamn krävs" + }, + "friendly_name": { + "label": "Visningsnamn", + "description": "Visningsnamn för kamera i Frigate UI" + }, + "enabled": { + "label": "Aktiverad", + "description": "Aktiverad" + }, + "audio": { + "label": "Ljuddetektering", + "description": "Inställningar för ljudbaserad händelsedetektering för denna kamera.", + "enabled": { + "label": "Aktivera ljuddetektering", + "description": "Aktivera eller avaktivera ljudbaserad detektering för denna kamera." + }, + "max_not_heard": { + "description": "Antal sekunder utan den konfigurerade ljudtypen innan en ljudbaserad händelse slutar." + }, + "min_volume": { + "label": "Minsta ljudvolym" + } } } diff --git a/web/public/locales/sv/config/global.json b/web/public/locales/sv/config/global.json index f123fa26cf..ae266a8280 100644 --- a/web/public/locales/sv/config/global.json +++ b/web/public/locales/sv/config/global.json @@ -1,5 +1,17 @@ { "version": { - "label": "Nuvarande konfigurationsversion" + "label": "Nuvarande konfigurations version" + }, + "audio": { + "label": "Ljuddetektering", + "enabled": { + "label": "Aktivera ljuddetektering" + }, + "max_not_heard": { + "description": "Antal sekunder utan den konfigurerade ljudtypen innan en ljudbaserad händelse slutar." + }, + "min_volume": { + "label": "Minsta ljudvolym" + } } } diff --git a/web/public/locales/sv/views/explore.json b/web/public/locales/sv/views/explore.json index 701f168fe9..37ce216681 100644 --- a/web/public/locales/sv/views/explore.json +++ b/web/public/locales/sv/views/explore.json @@ -289,7 +289,7 @@ "label": "Annoteringsförskjutning", "desc": "Denna data kommer från din kameras detekteringsflöde men läggs ovanpå bilder från inspelningsflödet. Det är osannolikt att de två strömmarna är helt synkroniserade. Som ett resultat kommer avgränsningsramen och filmmaterialet inte att radas upp perfekt. Du kan använda den här inställningen för att förskjuta anteckningarna framåt eller bakåt i tiden för att bättre anpassa dem till det inspelade materialet.", "millisecondsToOffset": "Millisekunder för att förskjuta detektera annoteringar med. Standard: 0", - "tips": "TIPS: Föreställ dig ett händelseklipp med en person som går från vänster till höger. Om tidslinjens avgränsningsram konsekvent är till vänster om personen bör värdet minskas. På samma sätt, om en person går från vänster till höger och avgränsningsramen konsekvent är framför personen bör värdet ökas.", + "tips": "Sänk värdet om videouppspelningen sker före rutorna och banpunkterna, och öka värdet om videouppspelningen sker bakom dem. Detta värde kan vara negativt.", "toast": { "success": "Annoteringsförskjutningen för {{camera}} har sparats i konfigurationsfilen." } diff --git a/web/public/locales/sv/views/settings.json b/web/public/locales/sv/views/settings.json index bb41cc21a4..e09673a38f 100644 --- a/web/public/locales/sv/views/settings.json +++ b/web/public/locales/sv/views/settings.json @@ -151,7 +151,8 @@ "triggers": "Utlösare", "roles": "Roller", "cameraManagement": "Hantering", - "cameraReview": "Granska" + "cameraReview": "Granska", + "profiles": "Profiler" }, "dialog": { "unsavedChanges": { @@ -729,7 +730,7 @@ "snapshotConfig": { "title": "Ögonblicksbild konfiguration", "desc": "För att skicka till Frigate+ måste ögonblicksbilder vara aktiverade i konfigurationen.", - "cleanCopyWarning": "Vissa kameror har ögonblicksbilder inaktiverade.", + "cleanCopyWarning": "Vissa kameror har ögonblicksbilder inaktiverade", "table": { "camera": "Kamera", "snapshots": "Ögonblicksbilder", From 8342b2e333f2e4cdb45d2c80a662756850a07d1d Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:13 +0200 Subject: [PATCH 13/14] Translated using Weblate (Slovak) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 67.3% (68 of 101 strings) Translated using Weblate (Slovak) Currently translated at 0.9% (8 of 809 strings) Translated using Weblate (Slovak) Currently translated at 97.9% (234 of 239 strings) Translated using Weblate (Slovak) Currently translated at 98.0% (49 of 50 strings) Translated using Weblate (Slovak) Currently translated at 49.4% (631 of 1277 strings) Translated using Weblate (Slovak) Currently translated at 91.4% (118 of 129 strings) Translated using Weblate (Slovak) Currently translated at 1.6% (8 of 475 strings) Co-authored-by: Hosted Weblate Co-authored-by: Pavol Krnáč Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sk/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/common Translation: Frigate NVR/components-camera Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-settings --- web/public/locales/sk/common.json | 27 ++++++++++++++++--- web/public/locales/sk/components/camera.json | 5 +++- web/public/locales/sk/components/dialog.json | 22 ++++++++++++++- web/public/locales/sk/config/cameras.json | 27 ++++++++++++++++++- web/public/locales/sk/config/global.json | 27 ++++++++++++++++++- .../locales/sk/views/classificationModel.json | 2 +- web/public/locales/sk/views/settings.json | 5 ++-- 7 files changed, 104 insertions(+), 11 deletions(-) diff --git a/web/public/locales/sk/common.json b/web/public/locales/sk/common.json index 2a23946763..f78c9109e7 100644 --- a/web/public/locales/sk/common.json +++ b/web/public/locales/sk/common.json @@ -98,7 +98,7 @@ "kbps": "kB/s", "mbps": "MB/s", "gbps": "GB/s", - "kbph": "kb/hour", + "kbph": "kb/hodina", "mbph": "MB/hodinu", "gbph": "GB/hodinu" } @@ -149,7 +149,16 @@ "unsuspended": "Zrušte pozastavenie", "play": "Hrať", "unselect": "Zrušte výber", - "continue": "Pokračovať" + "continue": "Pokračovať", + "copiedToClipboard": "Skopírované do schránky", + "modified": "Upravené", + "overridden": "Prepísané", + "resetToGlobal": "Obnoviť na globálne", + "resetToDefault": "Obnoviť predvolené", + "saveAll": "Uložiť všetko", + "savingAll": "Ukladá sa všetko…", + "undoAll": "Vrátiť späť všetko", + "retry": "Skúste to znova" }, "menu": { "system": "Systém", @@ -252,7 +261,11 @@ }, "review": "Recenzia", "explore": "Preskúmať", - "classification": "Klasifikácia" + "classification": "Klasifikácia", + "profiles": "Profily", + "actions": "Akcie", + "features": "Vlastnosti", + "chat": "Chat" }, "toast": { "copyUrlToClipboard": "Adresa URL bola skopírovaná do schránky.", @@ -261,7 +274,8 @@ "error": { "title": "Chyba pri ukladaní zmien konfigurácie: {{errorMessage}}", "noMessage": "Chyba pri ukladaní zmien konfigurácie" - } + }, + "success": "Zmeny konfigurácie boli úspešne uložené." } }, "role": { @@ -303,5 +317,10 @@ "field": { "optional": "Voliteľné", "internalID": "Interné ID Frigate používa v konfigurácii a databáze" + }, + "no_items": "Žiadne položky", + "validation_errors": "Chyby overenia", + "credentialField": { + "savedPlaceholder": "Uložené – pre aktuálne informácie nechajte prázdne" } } diff --git a/web/public/locales/sk/components/camera.json b/web/public/locales/sk/components/camera.json index e2245bd071..0048c19e91 100644 --- a/web/public/locales/sk/components/camera.json +++ b/web/public/locales/sk/components/camera.json @@ -68,7 +68,10 @@ } }, "birdseye": "Vtáčie oko" - } + }, + "showAll": "Zobraziť všetky skupiny kamier", + "showLess": "Zobraziť menej", + "editGroups": "Upraviť skupiny kamier" }, "debug": { "options": { diff --git a/web/public/locales/sk/components/dialog.json b/web/public/locales/sk/components/dialog.json index 6904bc0d24..6eab29150d 100644 --- a/web/public/locales/sk/components/dialog.json +++ b/web/public/locales/sk/components/dialog.json @@ -6,7 +6,8 @@ "title": "Frigate sa reštartuje", "content": "Táto stránka bude obnovená o {{countdown}} sekúnd.", "button": "Vynútiť opätovné načítanie teraz" - } + }, + "description": "Počas reštartu bude Frigate nakrátko zastavený." }, "explore": { "plus": { @@ -64,6 +65,25 @@ "fromTimeline": { "saveExport": "Uložiť Export", "previewExport": "Export ukážky" + }, + "case": { + "newCaseOption": "Vytvoriť nový prípad", + "newCaseNamePlaceholder": "Názov nového prípadu", + "newCaseDescriptionPlaceholder": "Popis prípadu", + "label": "Prípad", + "nonAdminHelp": "Pre tieto exporty bude vytvorený nový prípad.", + "placeholder": "Vyberte prípad" + }, + "queueing": "Zaradenie exportu do frontu...", + "tabs": { + "export": "Jedna kamera", + "multiCamera": "Viac kamier" + }, + "multiCamera": { + "cameraSelection": "Kamery", + "cameraSelectionHelp": "Kamery so sledovanými objektmi v tomto časovom rozsahu sú vopred vybrané", + "checkingActivity": "Kontrola aktivity kamery...", + "noCameras": "Nie sú k dispozícii žiadne kamery" } }, "streaming": { diff --git a/web/public/locales/sk/config/cameras.json b/web/public/locales/sk/config/cameras.json index 0967ef424b..f6bfc32594 100644 --- a/web/public/locales/sk/config/cameras.json +++ b/web/public/locales/sk/config/cameras.json @@ -1 +1,26 @@ -{} +{ + "birdseye": { + "order": { + "label": "Pozícia", + "description": "Číselná pozícia ovládajúca poradie kamery v rozložení Birdseye." + } + }, + "detect": { + "label": "Detekcia objektov", + "enabled": { + "label": "Povoliť detekciu objektov" + } + }, + "ffmpeg": { + "output_args": { + "detect": { + "label": "Zistiť výstupné argumenty", + "description": "Predvolené výstupné argumenty pre detekciu streamov rolí." + }, + "record": { + "label": "Zaznamenajte výstupné argumenty", + "description": "Predvolené výstupné argumenty pre streamy rolí záznamov." + } + } + } +} diff --git a/web/public/locales/sk/config/global.json b/web/public/locales/sk/config/global.json index 0967ef424b..f6bfc32594 100644 --- a/web/public/locales/sk/config/global.json +++ b/web/public/locales/sk/config/global.json @@ -1 +1,26 @@ -{} +{ + "birdseye": { + "order": { + "label": "Pozícia", + "description": "Číselná pozícia ovládajúca poradie kamery v rozložení Birdseye." + } + }, + "detect": { + "label": "Detekcia objektov", + "enabled": { + "label": "Povoliť detekciu objektov" + } + }, + "ffmpeg": { + "output_args": { + "detect": { + "label": "Zistiť výstupné argumenty", + "description": "Predvolené výstupné argumenty pre detekciu streamov rolí." + }, + "record": { + "label": "Zaznamenajte výstupné argumenty", + "description": "Predvolené výstupné argumenty pre streamy rolí záznamov." + } + } + } +} diff --git a/web/public/locales/sk/views/classificationModel.json b/web/public/locales/sk/views/classificationModel.json index 7b5c0e59c8..8075240248 100644 --- a/web/public/locales/sk/views/classificationModel.json +++ b/web/public/locales/sk/views/classificationModel.json @@ -58,7 +58,7 @@ }, "renameCategory": { "title": "Premenovať Triedu", - "desc": "Zadajte nový názov pre {{name}}. Budete musieť model pretrénovať, aby sa zmena názvu prejavila." + "desc": "Zadajte nové meno pre {{name}}. Budete musieť model pretrénovať, aby sa zmena názvu prejavila." }, "description": { "invalidName": "Neplatné meno. Mená môžu obsahovať iba písmená, čísla, medzery, apostrofy, podčiarkovníky a spojovníky." diff --git a/web/public/locales/sk/views/settings.json b/web/public/locales/sk/views/settings.json index 6a451dc5ff..dbb8faf98a 100644 --- a/web/public/locales/sk/views/settings.json +++ b/web/public/locales/sk/views/settings.json @@ -18,7 +18,7 @@ "enrichments": "Obohatenia", "cameras": "Nastavenia kamier", "masksAndZones": "Masky / Zóny", - "motionTuner": "Ladič detekcie pohybu", + "motionTuner": "Ladenie detekcie pohybu", "debug": "Ladenie", "users": "Uživatelia", "notifications": "Notifikacie", @@ -26,7 +26,8 @@ "triggers": "Spúšťače", "roles": "Roly", "cameraManagement": "Manažment", - "cameraReview": "Recenzia" + "cameraReview": "Recenzia", + "profiles": "Profily" }, "dialog": { "unsavedChanges": { From 03b988a44233081fcd4184d556f0780df9a61c73 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 13 Jun 2026 23:30:14 +0200 Subject: [PATCH 14/14] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (809 of 809 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (1277 of 1277 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (475 of 475 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (49 of 49 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (188 of 188 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (50 of 50 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (1276 of 1276 strings) Co-authored-by: GuoQing Liu <842607283@qq.com> Co-authored-by: Hosted Weblate Co-authored-by: Yechi Yang Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/zh_Hans/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/components-camera Translation: Frigate NVR/views-search Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/zh-CN/components/camera.json | 5 ++++- web/public/locales/zh-CN/config/cameras.json | 4 ++-- web/public/locales/zh-CN/config/global.json | 4 ++-- web/public/locales/zh-CN/views/search.json | 2 +- web/public/locales/zh-CN/views/settings.json | 9 ++++++++- web/public/locales/zh-CN/views/system.json | 17 ++++++++++++++++- 6 files changed, 33 insertions(+), 8 deletions(-) diff --git a/web/public/locales/zh-CN/components/camera.json b/web/public/locales/zh-CN/components/camera.json index 9bd70155e4..1e45e408d6 100644 --- a/web/public/locales/zh-CN/components/camera.json +++ b/web/public/locales/zh-CN/components/camera.json @@ -68,7 +68,10 @@ "placeholder": "选择视频流" }, "birdseye": "鸟瞰图" - } + }, + "showAll": "显示所有的摄像头组摄像头摄像头", + "showLess": "显示更少", + "editGroups": "编辑摄像头组" }, "debug": { "options": { diff --git a/web/public/locales/zh-CN/config/cameras.json b/web/public/locales/zh-CN/config/cameras.json index 9faae8a747..121305b2d4 100644 --- a/web/public/locales/zh-CN/config/cameras.json +++ b/web/public/locales/zh-CN/config/cameras.json @@ -33,7 +33,7 @@ }, "listen": { "label": "监听类型", - "description": "要检测的音频事件类型列表(例如:bark、fire_alarm、scream、speech、yell)。" + "description": "要检测的音频事件类型列表(例如:bark、fire_alarm、speech、yell)。" }, "filters": { "label": "音频过滤器", @@ -156,7 +156,7 @@ "description": "FFmpeg 编解码相关设置,包含可执行文件路径、命令行参数、硬件加速选项,以及按不同功能划分的输出参数。", "path": { "label": "FFmpeg 路径", - "description": "要使用的 FFmpeg 可执行文件路径,或版本别名(如 \"5.0\" 或 \"7.0\")。" + "description": "要使用的 FFmpeg 可执行文件路径,或版本别名(如 \"7.0\" 或 \"8.0\")。" }, "global_args": { "label": "FFmpeg 全局参数", diff --git a/web/public/locales/zh-CN/config/global.json b/web/public/locales/zh-CN/config/global.json index 4e35be178b..79b71ce48a 100644 --- a/web/public/locales/zh-CN/config/global.json +++ b/web/public/locales/zh-CN/config/global.json @@ -44,7 +44,7 @@ }, "listen": { "label": "监听类型", - "description": "要检测的音频事件类型列表(例如:bark、fire_alarm、scream、speech、yell)。" + "description": "要检测的音频事件类型列表(例如:bark、fire_alarm、speech、yell)。" }, "filters": { "label": "音频过滤器", @@ -292,7 +292,7 @@ "description": "FFmpeg 编解码相关设置,包含可执行文件路径、命令行参数、硬件加速选项,以及按不同功能划分的输出参数。", "path": { "label": "FFmpeg 路径", - "description": "要使用的 FFmpeg 可执行文件路径,或版本别名(如 \"5.0\" 或 \"7.0\")。" + "description": "要使用的 FFmpeg 可执行文件路径,或版本别名(如 \"7.0\" 或 \"8.0\")。" }, "global_args": { "label": "FFmpeg 全局参数", diff --git a/web/public/locales/zh-CN/views/search.json b/web/public/locales/zh-CN/views/search.json index 51fe47c8ef..ffb770839c 100644 --- a/web/public/locales/zh-CN/views/search.json +++ b/web/public/locales/zh-CN/views/search.json @@ -46,7 +46,7 @@ "tips": { "title": "如何使用文本筛选器", "desc": { - "text": "筛选器可帮助您缩小搜索范围。注意,目前还暂不支持中文搜索。以下是在输入字段中使用筛选器的方法:", + "text": "筛选器可帮助您缩小搜索范围。注意,Jina v1 不支持中文搜索。以下是在输入字段中使用筛选器的方法:", "step": "
  • 输入筛选器名称后跟一个冒号(例如:“cameras:”)。
  • 从建议中选择一个值或输入您自己的值。
  • 使用多个筛选器时,可以在它们之间用空格分隔。
  • 日期筛选器(before: 和 after:)使用 {{DateFormat}} 格式。
  • 时间范围筛选器使用 {{exampleTime}} 格式。
  • 点击筛选器旁边的“x”即可移除筛选条件。
", "example": "示例:cameras:front_door label:person before:01012024 time_range:3:00PM-4:00PM", "step2": "选择给出的建议值或自行输入;", diff --git a/web/public/locales/zh-CN/views/settings.json b/web/public/locales/zh-CN/views/settings.json index aa7904a6ca..b58d229a6b 100644 --- a/web/public/locales/zh-CN/views/settings.json +++ b/web/public/locales/zh-CN/views/settings.json @@ -2082,7 +2082,11 @@ "fpsGreaterThanFive": "不建议设置检测帧率高于 5,数值设置过高可能引发性能问题,且不会带来任何增益。", "disabled": "目标检测已禁用。快照、回放条目以及人脸识别、车牌识别、生成式 AI 等增强功能都将无法使用。", "resolutionShouldBeMultipleOfFour": "为了获得最佳效果,检测的宽度和高度应该是4的倍数。其他偶数值可能会在检测流中产生视觉伪影或轻微失真。", - "aspectRatioMismatch": "你输入的宽度和高度与当前检测分辨率的不匹配,这可能会导致图像被拉伸或变形。" + "aspectRatioMismatch": "你输入的宽度和高度与当前检测分辨率的不匹配,这可能会导致图像被拉伸或变形。", + "maxFramesSet": "设置最大帧数将会覆盖默认行为,并且禁用静态物体追踪。只有很少的情况下需要这个功能,请谨慎使用。", + "squareResolution": "方形的检测分辨率比较少见。检测宽度和高度应该与你摄像头的画面比例一致(例如 16:9),而不是跟目标检测模型的输入尺寸一致。画面比例不匹配可能会拉伸图像,从而降低检测准确率。", + "resolutionHigh": "这个检测分辨率高于推荐值,可能会增加资源占用,但不一定提升检测准确率。对于大多数摄像头,建议使用 1080p 或更低的检测分辨率。", + "globalResolutionMultipleCameras": "在配置了多个摄像头同时还设置了全局检测分辨率。除非所有摄像头都使用相同的分辨率和画面比例,否则应该为每个摄像头单独设置检测宽度和高度,使其匹配各自摄像头的原生画面比例。" }, "faceRecognition": { "globalDisabled": "必须开启人脸识别增强功能,此摄像头的人脸识别相关功能才能正常使用。", @@ -2111,6 +2115,9 @@ }, "onvif": { "autotrackingNoZones": "自动追踪至少需要一个区域。请先在“遮罩 / 区域”中为此摄像头定义一个区域,然后在下方将其设置为必需区域。" + }, + "ffmpeg": { + "hwaccelManualNotRecommended": "不建议手动硬件加速参数。除非存在特定需求,否则选择与你的硬件匹配的预设。" } }, "birdseye": { diff --git a/web/public/locales/zh-CN/views/system.json b/web/public/locales/zh-CN/views/system.json index 79882b6afe..c14f062916 100644 --- a/web/public/locales/zh-CN/views/system.json +++ b/web/public/locales/zh-CN/views/system.json @@ -175,7 +175,22 @@ "tips": { "title": "摄像头信息" }, - "aspectRatio": "宽高比" + "aspectRatio": "宽高比", + "keyframes": { + "title": "关键帧分析", + "analyzing": "正在分析关键帧... 剩余 {{seconds}} 秒", + "stillAnalyzing": "仍在分析关键帧...", + "recordStream": "录制视频流:", + "keyframeCount": "观察到的关键帧:", + "observedDuration": "观测持续时间:", + "gap": "关键帧间隔(最小值 / 平均值 / 最大值):", + "segmentLength": "录制片段长度:", + "ok": "每 {{seconds}} 秒取一帧,适用于录制和回放。", + "warning": "稀疏或不均匀的关键帧(最长间隔约{{seconds}}秒),可能是使用了智能编码器(例如H.264+/H.265+),不建议开启该功能。", + "error": "关键帧间隔(~{{seconds}}秒)超过了录制片段长度({{segmentTime}}秒)。某些片段可能没有关键帧,这会导致播放中断。请尝试禁用摄像头的智能或 + 编解码器或缩短其关键帧间隔。", + "unknown": "无法确定关键帧间隔。", + "recordDisabled": "此摄像头的录制功能已禁用。" + } }, "framesAndDetections": "帧数/检测次数", "label": {