From 518f495eee0f51e91cb00972a931cc6bb43b900a Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:34 +0200 Subject: [PATCH 01/50] Added translation using Weblate (Galician) Added translation using Weblate (Galician) Added translation using Weblate (Galician) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/gl/views/chat.json | 1 + web/public/locales/gl/views/motionSearch.json | 1 + web/public/locales/gl/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/gl/views/chat.json create mode 100644 web/public/locales/gl/views/motionSearch.json create mode 100644 web/public/locales/gl/views/replay.json diff --git a/web/public/locales/gl/views/chat.json b/web/public/locales/gl/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/gl/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/gl/views/motionSearch.json b/web/public/locales/gl/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/gl/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/gl/views/replay.json b/web/public/locales/gl/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/gl/views/replay.json @@ -0,0 +1 @@ +{} From 43421fbc5e21ee2b6e67e6431589bfcbaea3d076 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:34 +0200 Subject: [PATCH 02/50] Added translation using Weblate (Turkish) Added translation using Weblate (Turkish) Added translation using Weblate (Turkish) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/tr/views/chat.json | 1 + web/public/locales/tr/views/motionSearch.json | 1 + web/public/locales/tr/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/tr/views/chat.json create mode 100644 web/public/locales/tr/views/motionSearch.json create mode 100644 web/public/locales/tr/views/replay.json diff --git a/web/public/locales/tr/views/chat.json b/web/public/locales/tr/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/tr/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/tr/views/motionSearch.json b/web/public/locales/tr/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/tr/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/tr/views/replay.json b/web/public/locales/tr/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/tr/views/replay.json @@ -0,0 +1 @@ +{} From ff4409484146c140a62ef0e64e68c2a888edf0e2 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:35 +0200 Subject: [PATCH 03/50] Added translation using Weblate (Latvian) Added translation using Weblate (Latvian) Added translation using Weblate (Latvian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/lv/views/chat.json | 1 + web/public/locales/lv/views/motionSearch.json | 1 + web/public/locales/lv/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/lv/views/chat.json create mode 100644 web/public/locales/lv/views/motionSearch.json create mode 100644 web/public/locales/lv/views/replay.json diff --git a/web/public/locales/lv/views/chat.json b/web/public/locales/lv/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/lv/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/lv/views/motionSearch.json b/web/public/locales/lv/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/lv/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/lv/views/replay.json b/web/public/locales/lv/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/lv/views/replay.json @@ -0,0 +1 @@ +{} From baca444662e9d53ca952c20b4701a34a88d5ecd7 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:35 +0200 Subject: [PATCH 04/50] Added translation using Weblate (Lithuanian) Added translation using Weblate (Lithuanian) Added translation using Weblate (Lithuanian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/lt/views/chat.json | 1 + web/public/locales/lt/views/motionSearch.json | 1 + web/public/locales/lt/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/lt/views/chat.json create mode 100644 web/public/locales/lt/views/motionSearch.json create mode 100644 web/public/locales/lt/views/replay.json diff --git a/web/public/locales/lt/views/chat.json b/web/public/locales/lt/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/lt/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/lt/views/motionSearch.json b/web/public/locales/lt/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/lt/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/lt/views/replay.json b/web/public/locales/lt/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/lt/views/replay.json @@ -0,0 +1 @@ +{} From c890c665a146d980d6a8d8c78203fbc506c72e9c Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:35 +0200 Subject: [PATCH 05/50] Added translation using Weblate (Thai) Added translation using Weblate (Thai) Added translation using Weblate (Thai) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/th/views/chat.json | 1 + web/public/locales/th/views/motionSearch.json | 1 + web/public/locales/th/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/th/views/chat.json create mode 100644 web/public/locales/th/views/motionSearch.json create mode 100644 web/public/locales/th/views/replay.json diff --git a/web/public/locales/th/views/chat.json b/web/public/locales/th/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/th/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/th/views/motionSearch.json b/web/public/locales/th/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/th/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/th/views/replay.json b/web/public/locales/th/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/th/views/replay.json @@ -0,0 +1 @@ +{} From 897e656c8abef44ab1067352d38cc001ef1bdd60 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:36 +0200 Subject: [PATCH 06/50] Added translation using Weblate (Portuguese (Brazil)) Added translation using Weblate (Portuguese (Brazil)) Added translation using Weblate (Portuguese (Brazil)) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/pt_BR/views/chat.json | 1 + web/public/locales/pt_BR/views/motionSearch.json | 1 + web/public/locales/pt_BR/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/pt_BR/views/chat.json create mode 100644 web/public/locales/pt_BR/views/motionSearch.json create mode 100644 web/public/locales/pt_BR/views/replay.json diff --git a/web/public/locales/pt_BR/views/chat.json b/web/public/locales/pt_BR/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt_BR/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt_BR/views/motionSearch.json b/web/public/locales/pt_BR/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt_BR/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt_BR/views/replay.json b/web/public/locales/pt_BR/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt_BR/views/replay.json @@ -0,0 +1 @@ +{} From c17f07d0189272be48ffa223aa2d062395dc33b5 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:36 +0200 Subject: [PATCH 07/50] Translated using Weblate (German) Currently translated at 100.0% (45 of 45 strings) Translated using Weblate (German) Currently translated at 100.0% (59 of 59 strings) Translated using Weblate (German) Currently translated at 100.0% (40 of 40 strings) Translated using Weblate (German) Currently translated at 100.0% (101 of 101 strings) Translated using Weblate (German) Currently translated at 100.0% (236 of 236 strings) Translated using Weblate (German) Currently translated at 100.0% (47 of 47 strings) Translated using Weblate (German) Currently translated at 100.0% (792 of 792 strings) Translated using Weblate (German) Currently translated at 100.0% (64 of 64 strings) Translated using Weblate (German) Currently translated at 100.0% (1086 of 1086 strings) Translated using Weblate (German) Currently translated at 100.0% (471 of 471 strings) Translated using Weblate (German) Currently translated at 100.0% (26 of 26 strings) Translated using Weblate (German) Currently translated at 100.0% (145 of 145 strings) Added translation using Weblate (German) Added translation using Weblate (German) Added translation using Weblate (German) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: Sebastian Sie Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/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-chat/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/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/common Translation: Frigate NVR/components-camera Translation: Frigate NVR/components-dialog Translation: Frigate NVR/components-player Translation: Frigate NVR/views-chat Translation: Frigate NVR/views-events Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-motionSearch Translation: Frigate NVR/views-replay Translation: Frigate NVR/views-settings --- web/public/locales/de/common.json | 3 +- web/public/locales/de/components/camera.json | 2 +- web/public/locales/de/components/dialog.json | 8 ++ web/public/locales/de/components/player.json | 3 +- web/public/locales/de/config/cameras.json | 4 + web/public/locales/de/config/global.json | 8 +- web/public/locales/de/views/chat.json | 46 ++++++++++++ web/public/locales/de/views/events.json | 4 +- web/public/locales/de/views/explore.json | 2 +- web/public/locales/de/views/motionSearch.json | 75 +++++++++++++++++++ web/public/locales/de/views/replay.json | 59 +++++++++++++++ web/public/locales/de/views/settings.json | 30 ++++++-- 12 files changed, 231 insertions(+), 13 deletions(-) create mode 100644 web/public/locales/de/views/chat.json create mode 100644 web/public/locales/de/views/motionSearch.json create mode 100644 web/public/locales/de/views/replay.json diff --git a/web/public/locales/de/common.json b/web/public/locales/de/common.json index 8924da381..7f9848fe2 100644 --- a/web/public/locales/de/common.json +++ b/web/public/locales/de/common.json @@ -250,7 +250,8 @@ "classification": "Klassifizierung", "actions": "Aktion", "chat": "Chat", - "profiles": "Profile" + "profiles": "Profile", + "features": "Funktionen" }, "unit": { "speed": { diff --git a/web/public/locales/de/components/camera.json b/web/public/locales/de/components/camera.json index e9f39cb8e..a2b443bd6 100644 --- a/web/public/locales/de/components/camera.json +++ b/web/public/locales/de/components/camera.json @@ -66,7 +66,7 @@ "label": "Kameras", "desc": "Wähle Kameras für diese Gruppe aus." }, - "label": "Kameragruppen", + "label": "Kamera Gruppen", "edit": "Kameragruppe bearbeiten", "success": "Kameragruppe {{name}} wurde gespeichert." }, diff --git a/web/public/locales/de/components/dialog.json b/web/public/locales/de/components/dialog.json index 66aba17a6..59dac7aed 100644 --- a/web/public/locales/de/components/dialog.json +++ b/web/public/locales/de/components/dialog.json @@ -178,6 +178,14 @@ "markAsReviewed": "Als geprüft markieren", "deleteNow": "Jetzt löschen", "markAsUnreviewed": "Als ungeprüft markieren" + }, + "shareTimestamp": { + "label": "Zeitstempel teilen", + "title": "Zeitstempel teilen", + "description": "Teile eine URL mit Zeitstempel, die die aktuelle Position des Players angibt, oder wähle einen benutzerdefinierten Zeitstempel aus. Beachte, dass es sich hierbei nicht um eine öffentliche Freigabe-URL handelt und dass nur Benutzer Zugriff darauf haben, die Zugriff auf Frigate und diese Kamera haben.", + "custom": "Benutzerdefinierter Zeitstempel", + "button": "URL des Zeitstempels teilen", + "shareTitle": "Zeitstempel der Fregattenbewertung: {{camera}}" } }, "imagePicker": { diff --git a/web/public/locales/de/components/player.json b/web/public/locales/de/components/player.json index 56a195053..ad56cf2ce 100644 --- a/web/public/locales/de/components/player.json +++ b/web/public/locales/de/components/player.json @@ -3,7 +3,8 @@ "noPreviewFound": "Keine Vorschau gefunden", "submitFrigatePlus": { "title": "Dieses Bild an Frigate+ senden?", - "submit": "Senden" + "submit": "Absenden", + "previewError": "Schnappschuss Vorschau konnte nicht geladen werden. Die Aufnahme ist möglicherweise derzeit nicht verfügbar." }, "livePlayerRequiredIOSVersion": "iOS 17.1 oder höher ist für diesen Typ eines Live-Streams erforderlich.", "streamOffline": { diff --git a/web/public/locales/de/config/cameras.json b/web/public/locales/de/config/cameras.json index 9a0ab8b17..11daeafb5 100644 --- a/web/public/locales/de/config/cameras.json +++ b/web/public/locales/de/config/cameras.json @@ -537,6 +537,10 @@ "hwaccel_args": { "label": "hwaccel-Argumente exportieren", "description": "Argumente für die Hardwarebeschleunigung bei Export- und Transkodierungsvorgängen." + }, + "max_concurrent": { + "label": "Maximale Anzahl gleichzeitiger Exporte", + "description": "Maximale Anzahl der gleichzeitig zu verarbeitenden Exportaufträge." } }, "preview": { diff --git a/web/public/locales/de/config/global.json b/web/public/locales/de/config/global.json index f284ab038..299346973 100644 --- a/web/public/locales/de/config/global.json +++ b/web/public/locales/de/config/global.json @@ -538,8 +538,8 @@ "description": "Aktivieren Sie die prozessbezogene Überwachung der Netzwerkbandbreite für Kamera-FFmpeg-Prozesse und Detektoren (erfordert entsprechende Funktionen)." }, "intel_gpu_device": { - "label": "SR-IOV-Gerät", - "description": "Gerätekennung, die verwendet wird, wenn Intel-GPUs als SR-IOV behandelt werden, um die GPU-Statistiken zu korrigieren." + "label": "Intel GPU", + "description": "PCI-Bus-Adresse oder DRM-Gerätepfad (z. B. /dev/dri/card1), der verwendet wird, um die Intel-GPU-Statistiken einem bestimmten Gerät zuzuordnen, wenn mehrere vorhanden sind." } }, "version_check": { @@ -1357,6 +1357,10 @@ "hwaccel_args": { "label": "hwaccel-Argumente exportieren", "description": "Argumente für die Hardwarebeschleunigung bei Export- und Transkodierungsvorgängen." + }, + "max_concurrent": { + "label": "Maximale Anzahl gleichzeitiger Exporte", + "description": "Maximale Anzahl der gleichzeitig zu verarbeitenden Exportaufträge." } }, "preview": { diff --git a/web/public/locales/de/views/chat.json b/web/public/locales/de/views/chat.json new file mode 100644 index 000000000..5a87ce9e1 --- /dev/null +++ b/web/public/locales/de/views/chat.json @@ -0,0 +1,46 @@ +{ + "documentTitle": "Chat - Frigate", + "title": "Frigate Chat", + "subtitle": "Ihr KI-Assistent für die Kameraverwaltung und Analysen", + "placeholder": "Frag mich alles...", + "error": "Es ist ein Fehler aufgetreten. Bitte versuche es erneut.", + "processing": "Wird verarbeitet...", + "toolsUsed": "Verwendet: {{tools}}", + "showTools": "Werkzeuge anzeigen ({{count}})", + "hideTools": "Werkzeuge ausblenden", + "call": "Anruf", + "result": "Ergebnis", + "arguments": "Argumente:", + "response": "Antwort:", + "attachment_chip_label": "{{label}} auf der {{camera}}", + "attachment_chip_remove": "Anhang entfernen", + "open_in_explore": "In „Explore“ öffnen", + "attach_event_aria": "Ereignis {{eventId}} hinzufügen", + "attachment_picker_paste_label": "Oder fügen Sie die Ereignis-ID ein", + "attachment_picker_attach": "Anhängen", + "attachment_picker_placeholder": "Ereignis hinzufügen", + "quick_reply_find_similar": "Ähnliche Sichtungen finden", + "quick_reply_tell_me_more": "Erzähl mir mehr darüber", + "quick_reply_when_else": "Wann wurde es sonst noch gesehen?", + "quick_reply_find_similar_text": "Ähnliche Sichtungen finden.", + "quick_reply_tell_me_more_text": "Erzähl mir mehr darüber.", + "quick_reply_when_else_text": "Wann gab es das sonst noch?", + "anchor": "Referenz", + "similarity_score": "Ähnlichkeit", + "no_similar_objects_found": "Es wurden keine ähnlichen Objekte gefunden.", + "semantic_search_required": "Die semantische Suche muss aktiviert sein, um ähnliche Objekte zu finden.", + "send": "Senden", + "suggested_requests": "Versuchen Sie doch mal zu fragen:", + "starting_requests": { + "show_recent_events": "Aktuelle Ereignisse anzeigen", + "show_camera_status": "Kamerastatus anzeigen", + "recap": "Was ist passiert, während ich weg war?", + "watch_camera": "Beobachten Sie eine Kamera auf Bewegungen" + }, + "starting_requests_prompts": { + "show_recent_events": "Zeige mir die Ereignisse der letzten Stunde", + "show_camera_status": "Wie ist der aktuelle Status meiner Kameras?", + "recap": "Was ist passiert, während ich weg war?", + "watch_camera": "Pass auf die Haustür auf und sag mir Bescheid, wenn jemand kommt" + } +} diff --git a/web/public/locales/de/views/events.json b/web/public/locales/de/views/events.json index 589a6e1a1..c943bec24 100644 --- a/web/public/locales/de/views/events.json +++ b/web/public/locales/de/views/events.json @@ -25,7 +25,9 @@ }, "documentTitle": "Überprüfung - Frigate", "recordings": { - "documentTitle": "Aufnahmen - Frigate" + "documentTitle": "Aufnahmen - Frigate", + "invalidSharedLink": "Der Link zur zeitgestempelten Aufzeichnung kann aufgrund eines Parsing-Fehlers nicht geöffnet werden.", + "invalidSharedCamera": "Der Link zur zeitgestempelten Aufzeichnung kann nicht geöffnet werden, da es sich um eine unbekannte oder nicht autorisierte Kamera handelt." }, "calendarFilter": { "last24Hours": "Letzte 24 Stunden" diff --git a/web/public/locales/de/views/explore.json b/web/public/locales/de/views/explore.json index 2e8a40598..071d88790 100644 --- a/web/public/locales/de/views/explore.json +++ b/web/public/locales/de/views/explore.json @@ -73,7 +73,7 @@ "label": "Schnappschuss Bewertung" }, "score": { - "label": "Ergebnis" + "label": "Treffer" }, "editAttributes": { "title": "Attribute bearbeiten", diff --git a/web/public/locales/de/views/motionSearch.json b/web/public/locales/de/views/motionSearch.json new file mode 100644 index 000000000..3008f10d8 --- /dev/null +++ b/web/public/locales/de/views/motionSearch.json @@ -0,0 +1,75 @@ +{ + "documentTitle": "Bewegungssuche - Frigate", + "title": "Bewegungssuche", + "description": "Zeichnen Sie ein Polygon, um den gewünschten Bereich zu definieren, und geben Sie einen Zeitbereich an, um innerhalb dieses Bereichs nach Bewegungsänderungen zu suchen.", + "selectCamera": "Die Bewegungssuche wird geladen", + "startSearch": "Suche starten", + "searchStarted": "Die Suche wurde gestartet", + "searchCancelled": "Suche abgebrochen", + "cancelSearch": "Abbrechen", + "searching": "Suche läuft.", + "searchComplete": "Suche abgeschlossen", + "noResultsYet": "Führen Sie eine Suche durch, um Bewegungsänderungen im ausgewählten Bereich zu finden", + "noChangesFound": "Im ausgewählten Bereich wurden keine Pixeländerungen festgestellt", + "changesFound_one": "Es wurde {{count}} Bewegungsänderungen gefunden", + "changesFound_other": "Es wurden {{count}} Bewegungsänderungen gefunden", + "framesProcessed": "{{count}} Bilder verarbeitet", + "jumpToTime": "Zu diesem Zeitpunkt springen", + "results": "Ergebnisse", + "showSegmentHeatmap": "Heatmap", + "newSearch": "Neue Suche", + "clearResults": "Eindeutige Ergebnisse", + "clearROI": "Polygon löschen", + "polygonControls": { + "points_one": "{{count}} Punkt", + "points_other": "{{count}} Punkte", + "undo": "Letzten Schritt rückgängig machen", + "reset": "Polygon zurücksetzen" + }, + "motionHeatmapLabel": "Bewegungs-Heatmap", + "dialog": { + "title": "Bewegungssuche", + "cameraLabel": "Kamera", + "previewAlt": "Kamera-Vorschau für {{camera}}" + }, + "timeRange": { + "title": "Suchbereich", + "start": "Startzeit", + "end": "Endzeit" + }, + "settings": { + "title": "Sucheinstellungen", + "parallelMode": "Parallelbetrieb", + "parallelModeDesc": "Mehrere Aufzeichnungssegmente gleichzeitig scannen (schneller, aber deutlich rechenintensiver)", + "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", + "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", + "maxResultsDesc": "Nach dieser Anzahl übereinstimmender Zeitstempel anhalten" + }, + "errors": { + "noCamera": "Bitte wählen Sie eine Kamera aus", + "noROI": "Bitte zeichnen Sie einen Bereich von Interesse ein", + "noTimeRange": "Bitte wählen Sie einen Zeitraum aus", + "invalidTimeRange": "Die Endzeit muss nach der Startzeit liegen", + "searchFailed": "Suche fehlgeschlagen: {{message}}", + "polygonTooSmall": "Ein Polygon muss mindestens 3 Punkte haben", + "unknown": "Unbekannter Fehler" + }, + "changePercentage": "Um {{percentage}} % verändert", + "metrics": { + "title": "Suchmetriken", + "segmentsScanned": "Durchsuchte Segmente", + "segmentsProcessed": "Bearbeitet", + "segmentsSkippedInactive": "Übersprungen (keine Aktivität)", + "segmentsSkippedHeatmap": "Übersprungen (keine Überschneidung der ROI)", + "fallbackFullRange": "Ausweich-Vollbereichsscan", + "framesDecoded": "Rahmen decodiert", + "wallTime": "Suchzeit", + "segmentErrors": "Segmentfehler", + "seconds": "{{seconds}}s" + } +} diff --git a/web/public/locales/de/views/replay.json b/web/public/locales/de/views/replay.json new file mode 100644 index 000000000..6c28045ba --- /dev/null +++ b/web/public/locales/de/views/replay.json @@ -0,0 +1,59 @@ +{ + "title": "Debug-Wiedergabe", + "description": "Spielen Sie Kameraaufnahmen zur Fehlerbehebung ab. Die Objektliste zeigt eine zeitversetzte Übersicht der erkannten Objekte an, und auf der Registerkarte „Meldungen“ wird ein Stream der internen Meldungen von Frigate aus dem Wiedergabematerial angezeigt.", + "websocket_messages": "Nachrichten", + "dialog": { + "title": "Debug-Wiedergabe starten", + "description": "Erstellen Sie eine temporäre Wiedergabekamera, die historisches Bildmaterial in einer Schleife wiedergibt, um Probleme bei der Objekterkennung und -verfolgung zu beheben. Die Wiedergabekamera verfügt über dieselbe Erkennungskonfiguration wie die Quellkamera. Wählen Sie einen Zeitbereich aus, ab dem die Wiedergabe beginnen soll.", + "camera": "Quellkamera", + "timeRange": "Zeitraum", + "preset": { + "1m": "Letzte Minute", + "5m": "Die letzten 5 Minuten", + "timeline": "Aus der Zeitleiste", + "custom": "Benutzerdefiniert" + }, + "startButton": "Wiedergabe starten", + "selectFromTimeline": "Auswählen", + "starting": "Wiedergabe wird gestartet...", + "startLabel": "Start", + "endLabel": "Ende", + "toast": { + "error": "Fehler beim Starten der Debug-Wiedergabe: {{error}}", + "alreadyActive": "Eine Wiederholungssitzung ist bereits aktiv", + "stopError": "Die Wiedergabe der Debug-Daten konnte nicht beendet werden: {{error}}", + "goToReplay": "Zur Aufzeichnung" + } + }, + "page": { + "noSession": "Keine aktive Debug-Wiedergabesitzung", + "noSessionDesc": "Starten Sie eine Debug-Wiedergabe aus der Verlaufsansicht, indem Sie in der Symbolleiste auf die Schaltfläche „Aktionen“ klicken und „Debug-Wiedergabe“ auswählen.", + "goToRecordings": "Zur Historie", + "preparingClip": "Clip wird vorbereitet…", + "preparingClipDesc": "Frigate fasst die Aufzeichnungen für den ausgewählten Zeitraum zusammen. Bei längeren Zeiträumen kann dies eine Minute dauern.", + "startingCamera": "Debug-Wiedergabe wird gestartet…", + "startError": { + "title": "Debug Replay konnte nicht gestartet werden", + "back": "Zurück zur Übersicht" + }, + "sourceCamera": "Quell Kamera", + "replayCamera": "Wiederholungskamera", + "initializingReplay": "Debug-Wiedergabe wird initialisiert...", + "stoppingReplay": "Debug-Wiedergabe wird angehalten...", + "stopReplay": "Stopp Wiederholung", + "confirmStop": { + "title": "Debug-Wiedergabe anhalten?", + "description": "Dadurch wird die Sitzung beendet und alle temporären Daten werden gelöscht. Sind Sie sicher?", + "confirm": "Anhalten Wiederholen", + "cancel": "Abbrechen" + }, + "activity": "Aktivität", + "objects": "Objektliste", + "audioDetections": "Audioerkennungen", + "noActivity": "Es wurde keine Aktivität festgestellt", + "activeTracking": "Aktive Verfolgung", + "noActiveTracking": "Keine aktive Nachverfolgung", + "configuration": "Konfiguration", + "configurationDesc": "Passen Sie die Einstellungen für die Bewegungserkennung und die Objektverfolgung der Debug-Replay-Kamera an. Es werden keine Änderungen in Ihrer Frigate-Konfigurationsdatei gespeichert." + } +} diff --git a/web/public/locales/de/views/settings.json b/web/public/locales/de/views/settings.json index 522b9c63b..bb1ad2576 100644 --- a/web/public/locales/de/views/settings.json +++ b/web/public/locales/de/views/settings.json @@ -347,7 +347,7 @@ "object_mask": "Objektmaske" }, "revertOverride": { - "title": "Basis Konfiguration wiederherstellen", + "title": "Auf Standardkonfiguration zurücksetzen", "desc": "Dadurch wird die Profilüberschreibung für {{type}}{{name}} aufgehoben und die Grundkonfiguration wiederhergestellt." } }, @@ -1333,7 +1333,8 @@ }, "hikvision": { "substreamWarning": "Substream 1 ist auf eine niedrige Auflösung festgelegt. Viele Hikvision-Kameras unterstützen zusätzliche Substreams, die in den Kameraeinstellungen aktiviert werden müssen. Es wird empfohlen, diese Streams zu überprüfen und zu nutzen, sofern sie verfügbar sind." - } + }, + "resolutionUnknown": "Die Auflösung dieses Streams konnte nicht ermittelt werden. Sie sollten die Erkennungsauflösung manuell in den Einstellungen oder in Ihrer Konfiguration festlegen." } } }, @@ -1350,7 +1351,13 @@ "enableDesc": "Eine aktivierte Kamera vorübergehend deaktivieren, bis Frigate neu gestartet wird. Durch das Deaktivieren einer Kamera wird die Verarbeitung der Streams dieser Kamera durch Frigate vollständig unterbrochen. Erkennung, Aufzeichnung und Fehlerbehebung stehen dann nicht mehr zur Verfügung.
Hinweis: go2rtc-Restreams werden dadurch nicht deaktiviert.", "disableLabel": "Deaktivierte Kameras", "disableDesc": "Aktivieren Sie eine Kamera, die derzeit in der Benutzeroberfläche nicht sichtbar und in der Konfiguration deaktiviert ist. Nach der Aktivierung ist ein Neustart von Frigate erforderlich.", - "enableSuccess": "{{cameraName}} wurde in der Konfiguration aktiviert. Starte Frigate neu, um die Änderungen zu übernehmen." + "enableSuccess": "{{cameraName}} wurde in der Konfiguration aktiviert. Starte Frigate neu, um die Änderungen zu übernehmen.", + "friendlyName": { + "edit": "Anzeigenamen der Kamera bearbeiten", + "title": "Anzeigenamen bearbeiten", + "description": "Legen Sie den Anzeigenamen fest, der für diese Kamera in der gesamten Benutzeroberfläche von „Frigate“ angezeigt wird. Lassen Sie das Feld leer, um die Kamera-ID zu verwenden.", + "rename": "Umbenennen" + } }, "cameraConfig": { "add": "Kamera hinzufügen", @@ -1463,7 +1470,18 @@ "overriddenGlobalTooltip": "Diese Kamera überschreibt globale Konfigurationseinstellungen in diesem Abschnitt", "overriddenBaseConfig": "Überschrieben (Basiskonfiguration)", "overriddenBaseConfigTooltip": "Das {{profile}}-Profil überschreibt Konfigurationseinstellungen in diesem Abschnitt", - "overriddenGlobal": "Überschrieben (Global)" + "overriddenGlobal": "Überschrieben (Global)", + "overriddenInCameras": { + "label_one": "In {{count}} Kamera überschrieben", + "label_other": "In {{count}} Kameras überschrieben", + "tooltip_one": "Die Kamera mit der Nummer {{count}} überschreibt die Werte in diesem Abschnitt. Klicken Sie hier, um Details anzuzeigen.", + "tooltip_other": "Die Kamera mit der Nummer {{count}} überschreibt die Werte in diesem Abschnitt. Klicken Sie hier, um Details anzuzeigen.", + "heading_one": "Dieser globale Abschnitt enthält Felder, die in {{count}} Kamera überschrieben werden.", + "heading_other": "Dieser globale Abschnitt enthält Felder, die bei {{count}} Kameras überschrieben werden.", + "othersField_one": "{{count}} andere", + "othersField_other": "{{count}} weitere", + "profilePrefix": "{{profile}} Profile: {{fields}}" + } }, "timestampPosition": { "tl": "Oben links", @@ -1491,7 +1509,7 @@ "currentStatus": "Status", "jobId": "Job ID", "startTime": "Startzeit", - "endTime": "Endzeit", + "endTime": "End Zeit", "statusLabel": "Status", "results": "Ergebnisse", "errorLabel": "Fehler", @@ -1653,7 +1671,7 @@ "noSchema": "Es sind keine Detektorschemata verfügbar.", "none": "Es sind keine Detektorinstanzen konfiguriert.", "add": "Detektor hinzufügen", - "addCustomKey": "Benutzerdefinierten Schlüssel hinzufügen" + "addCustomKey": "Benutzter Schlüssel hinzufügen" }, "record": { "title": "Aufnahmeeinstellungen" From aa8445bbc035bf1fe73241810eed5f44940191b8 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:36 +0200 Subject: [PATCH 08/50] Added translation using Weblate (Danish) Added translation using Weblate (Danish) Added translation using Weblate (Danish) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/da/views/chat.json | 1 + web/public/locales/da/views/motionSearch.json | 1 + web/public/locales/da/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/da/views/chat.json create mode 100644 web/public/locales/da/views/motionSearch.json create mode 100644 web/public/locales/da/views/replay.json diff --git a/web/public/locales/da/views/chat.json b/web/public/locales/da/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/da/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/da/views/motionSearch.json b/web/public/locales/da/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/da/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/da/views/replay.json b/web/public/locales/da/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/da/views/replay.json @@ -0,0 +1 @@ +{} From 772aed05bb05afc877ed74ed12c9d094a7543b77 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:37 +0200 Subject: [PATCH 09/50] Added translation using Weblate (Greek) Added translation using Weblate (Greek) Added translation using Weblate (Greek) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/el/views/chat.json | 1 + web/public/locales/el/views/motionSearch.json | 1 + web/public/locales/el/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/el/views/chat.json create mode 100644 web/public/locales/el/views/motionSearch.json create mode 100644 web/public/locales/el/views/replay.json diff --git a/web/public/locales/el/views/chat.json b/web/public/locales/el/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/el/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/el/views/motionSearch.json b/web/public/locales/el/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/el/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/el/views/replay.json b/web/public/locales/el/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/el/views/replay.json @@ -0,0 +1 @@ +{} From 9eb67c82898028902079144f9cb6bae940905eaf Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:37 +0200 Subject: [PATCH 10/50] Translated using Weblate (Estonian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 24.4% (11 of 45 strings) Added translation using Weblate (Estonian) Added translation using Weblate (Estonian) Translated using Weblate (Estonian) Currently translated at 17.5% (7 of 40 strings) Added translation using Weblate (Estonian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: Priit Jõerüüt Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-chat/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/et/ Translation: Frigate NVR/views-chat Translation: Frigate NVR/views-replay --- web/public/locales/et/views/chat.json | 9 +++++++++ web/public/locales/et/views/motionSearch.json | 1 + web/public/locales/et/views/replay.json | 17 +++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 web/public/locales/et/views/chat.json create mode 100644 web/public/locales/et/views/motionSearch.json create mode 100644 web/public/locales/et/views/replay.json diff --git a/web/public/locales/et/views/chat.json b/web/public/locales/et/views/chat.json new file mode 100644 index 000000000..cf68fe1e8 --- /dev/null +++ b/web/public/locales/et/views/chat.json @@ -0,0 +1,9 @@ +{ + "documentTitle": "Frigate - vestlus tehisaruga", + "title": "Vestlus tehisaruga Frigate'is", + "subtitle": "Tehisaru abil töötav abiline kaamerate haldamiseks ja analüüside koostamiseks", + "placeholder": "Küsi mida iganes…", + "error": "Midagi läks valesti. Palun proovi uuesti.", + "processing": "Töötlen…", + "toolsUsed": "Kasutatud: {{tools}}" +} diff --git a/web/public/locales/et/views/motionSearch.json b/web/public/locales/et/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/et/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/et/views/replay.json b/web/public/locales/et/views/replay.json new file mode 100644 index 000000000..2f80829a4 --- /dev/null +++ b/web/public/locales/et/views/replay.json @@ -0,0 +1,17 @@ +{ + "dialog": { + "camera": "Lähtekaamera", + "timeRange": "Ajavahemik", + "preset": { + "1m": "Viimase ühe minuti jooksul", + "5m": "Viimase viie minuti jooksul", + "timeline": "Ajajoonelt", + "custom": "Kohandatud" + }, + "startButton": "Käivita kordus", + "selectFromTimeline": "Vali", + "starting": "Käivitan kordust…", + "startLabel": "Algus", + "endLabel": "Lõpp" + } +} From 62a0b90e0a4d551397b9a8f10896e0138ec4a6c0 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:37 +0200 Subject: [PATCH 11/50] Added translation using Weblate (Russian) Added translation using Weblate (Russian) Added translation using Weblate (Russian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/ru/views/chat.json | 1 + web/public/locales/ru/views/motionSearch.json | 1 + web/public/locales/ru/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/ru/views/chat.json create mode 100644 web/public/locales/ru/views/motionSearch.json create mode 100644 web/public/locales/ru/views/replay.json diff --git a/web/public/locales/ru/views/chat.json b/web/public/locales/ru/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ru/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ru/views/motionSearch.json b/web/public/locales/ru/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ru/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ru/views/replay.json b/web/public/locales/ru/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ru/views/replay.json @@ -0,0 +1 @@ +{} From 983e80b7826a04ecfc9bbfc9415fac288946888f Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:38 +0200 Subject: [PATCH 12/50] Translated using Weblate (Romanian) Currently translated at 100.0% (792 of 792 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (471 of 471 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (1086 of 1086 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (40 of 40 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (45 of 45 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (59 of 59 strings) Added translation using Weblate (Romanian) Added translation using Weblate (Romanian) Added translation using Weblate (Romanian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on 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-chat/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ro/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/views-chat Translation: Frigate NVR/views-motionSearch Translation: Frigate NVR/views-replay Translation: Frigate NVR/views-settings --- web/public/locales/ro/config/cameras.json | 4 + web/public/locales/ro/config/global.json | 8 +- web/public/locales/ro/views/chat.json | 46 +++++++++++ web/public/locales/ro/views/motionSearch.json | 77 +++++++++++++++++++ web/public/locales/ro/views/replay.json | 59 ++++++++++++++ web/public/locales/ro/views/settings.json | 17 +++- 6 files changed, 208 insertions(+), 3 deletions(-) create mode 100644 web/public/locales/ro/views/chat.json create mode 100644 web/public/locales/ro/views/motionSearch.json create mode 100644 web/public/locales/ro/views/replay.json diff --git a/web/public/locales/ro/config/cameras.json b/web/public/locales/ro/config/cameras.json index 01c256adf..6ec5cfa40 100644 --- a/web/public/locales/ro/config/cameras.json +++ b/web/public/locales/ro/config/cameras.json @@ -485,6 +485,10 @@ "hwaccel_args": { "label": "Argumente hwaccel export", "description": "Argumente de accelerare hardware pentru operațiunile de export/transcodare." + }, + "max_concurrent": { + "description": "Numărul maxim de sarcini de export de procesat în același timp.", + "label": "Număr maxim de exporturi simultane" } }, "preview": { diff --git a/web/public/locales/ro/config/global.json b/web/public/locales/ro/config/global.json index f5613dc37..9a918dcd1 100644 --- a/web/public/locales/ro/config/global.json +++ b/web/public/locales/ro/config/global.json @@ -594,6 +594,10 @@ "hwaccel_args": { "label": "Argumente hwaccel export", "description": "Argumente de accelerare hardware pentru operațiunile de export/transcodare." + }, + "max_concurrent": { + "description": "Numărul maxim de sarcini de export de procesat în același timp.", + "label": "Număr maxim de exporturi simultane" } }, "preview": { @@ -1161,8 +1165,8 @@ "description": "Activează monitorizarea lățimii de bandă a rețelei pe proces pentru procesele ffmpeg ale camerelor și detectoare (necesită capabilități)." }, "intel_gpu_device": { - "label": "Dispozitiv SR-IOV", - "description": "Identificator de dispozitiv folosit când GPU-urile Intel sunt tratate ca SR-IOV pentru a repara statisticile GPU." + "label": "Dispozitiv GPU Intel", + "description": "Adresa magistralei PCI sau calea dispozitivului DRM (ex./dev/dri/card1) folosită pentru a fixa statisticile GPU Intel la un anumit dispozitiv când sunt prezente mai multe." } }, "version_check": { diff --git a/web/public/locales/ro/views/chat.json b/web/public/locales/ro/views/chat.json new file mode 100644 index 000000000..b87ef2145 --- /dev/null +++ b/web/public/locales/ro/views/chat.json @@ -0,0 +1,46 @@ +{ + "documentTitle": "Chat - Frigate", + "title": "Chat Frigate", + "subtitle": "Asistentul tău AI pentru gestionarea camerelor și informații", + "placeholder": "Întreabă orice...", + "error": "Ceva a mers prost. Te rog încearcă din nou.", + "processing": "Procesare...", + "toolsUsed": "Folosit: {{tools}}", + "showTools": "Arată uneltele ({{count}})", + "hideTools": "Ascunde uneltele", + "call": "Apelează", + "result": "Rezultat", + "arguments": "Argumente:", + "response": "Răspuns:", + "attachment_chip_label": "{{label}} pe {{camera}}", + "attachment_chip_remove": "Elimină atașamentul", + "open_in_explore": "Deschide în Explorare", + "attach_event_aria": "Atașează evenimentul {{eventId}}", + "attachment_picker_paste_label": "Sau lipește ID-ul evenimentului", + "attachment_picker_attach": "Atașează", + "attachment_picker_placeholder": "Atașează un eveniment", + "quick_reply_find_similar": "Găsește apariții similare", + "quick_reply_tell_me_more": "Spune-mi mai multe despre asta", + "quick_reply_when_else": "Când a mai fost văzut?", + "quick_reply_find_similar_text": "Găsește apariții similare cu aceasta.", + "quick_reply_tell_me_more_text": "Spune-mi mai multe despre acesta.", + "quick_reply_when_else_text": "Când a mai fost văzut acesta?", + "anchor": "Referință", + "similarity_score": "Similaritate", + "no_similar_objects_found": "Nu au fost găsite obiecte similare.", + "semantic_search_required": "Căutarea semantică trebuie să fie activată pentru a găsi obiecte similare.", + "send": "Trimite", + "suggested_requests": "Încearcă să întrebi:", + "starting_requests": { + "show_recent_events": "Arată evenimentele recente", + "show_camera_status": "Arată starea camerei", + "recap": "Ce s-a întâmplat cât am fost plecat?", + "watch_camera": "Urmărește o cameră pentru activitate" + }, + "starting_requests_prompts": { + "show_recent_events": "Arată-mi evenimentele recente din ultima oră", + "show_camera_status": "Care este starea actuală a camerelor mele?", + "recap": "Ce s-a întâmplat cât am fost plecat?", + "watch_camera": "Urmărește ușa din față și anunță-mă dacă apare cineva" + } +} diff --git a/web/public/locales/ro/views/motionSearch.json b/web/public/locales/ro/views/motionSearch.json new file mode 100644 index 000000000..0f1236748 --- /dev/null +++ b/web/public/locales/ro/views/motionSearch.json @@ -0,0 +1,77 @@ +{ + "documentTitle": "Căutare mișcare - Frigate", + "title": "Căutare mișcare", + "description": "Desenează un poligon pentru a defini regiunea de interes și specifică un interval de timp pentru a căuta schimbări de mișcare în acea regiune.", + "selectCamera": "Căutarea de mișcare se încarcă", + "startSearch": "Începe căutarea", + "searchStarted": "Căutarea a început", + "searchCancelled": "Căutare anulată", + "cancelSearch": "Anulează", + "searching": "Căutare în curs.", + "searchComplete": "Căutare finalizată", + "noResultsYet": "Rulează o căutare pentru a găsi schimbări de mișcare în regiunea selectată", + "noChangesFound": "Nu au fost detectate schimbări de pixeli în regiunea selectată", + "changesFound_one": "Am găsit {{count}} schimbare de mișcare", + "changesFound_few": "Am găsit {{count}} schimbări de mișcare", + "changesFound_other": "Am găsit {{count}} de schimbări de mișcare", + "framesProcessed": "{{count}} cadre procesate", + "jumpToTime": "Sari la acest timp", + "results": "Rezultate", + "showSegmentHeatmap": "Hartă termică", + "newSearch": "Căutare nouă", + "clearResults": "Curăță rezultatele", + "clearROI": "Curăță poligonul", + "polygonControls": { + "points_one": "{{count}} punct", + "points_few": "{{count}} puncte", + "points_other": "{{count}} de puncte", + "undo": "Anulează ultimul punct", + "reset": "Resetează poligonul" + }, + "motionHeatmapLabel": "Harta termică a mișcării", + "dialog": { + "title": "Căutare mișcare", + "cameraLabel": "Cameră", + "previewAlt": "Previzualizarea camerei pentru {{camera}}" + }, + "timeRange": { + "title": "Interval de căutare", + "start": "Timp de început", + "end": "Timp de sfârșit" + }, + "settings": { + "title": "Setări de căutare", + "parallelMode": "Mod paralel", + "parallelModeDesc": "Scanează mai multe segmente de înregistrare în același timp (mai rapid, dar consumă semnificativ mai mult procesorul)", + "threshold": "Prag de sensibilitate", + "thresholdDesc": "Valorile mai mici detectează schimbări mai mici (1-255)", + "minArea": "Arie minimă de schimbare", + "minAreaDesc": "Procentul minim din regiunea de interes care trebuie să se schimbe pentru a fi considerat semnificativ", + "frameSkip": "Omitere cadre", + "frameSkipDesc": "Procesează fiecare al N-lea cadru. Setează asta la rata de cadre a camerei tale pentru a procesa un cadru pe secundă (ex. 5 pentru o cameră de 5 FPS, 30 pentru o cameră de 30 FPS). Valorile mai mari vor fi mai rapide, dar pot rata evenimente scurte de mișcare.", + "maxResults": "Rezultate maxime", + "maxResultsDesc": "Oprește-te după acest număr de marcaje de timp potrivite" + }, + "errors": { + "noCamera": "Te rog selectează o cameră", + "noROI": "Te rog desenează o regiune de interes", + "noTimeRange": "Te rog selectează un interval de timp", + "invalidTimeRange": "Timpul de sfârșit trebuie să fie după timpul de început", + "searchFailed": "Căutarea a eșuat: {{message}}", + "polygonTooSmall": "Poligonul trebuie să aibă cel puțin 3 puncte", + "unknown": "Eroare necunoscută" + }, + "changePercentage": "{{percentage}}% schimbat", + "metrics": { + "title": "Metrici de căutare", + "segmentsScanned": "Segmente scanate", + "segmentsProcessed": "Procesat", + "segmentsSkippedInactive": "Omis (fără activitate)", + "segmentsSkippedHeatmap": "Omis (fără suprapunere ROI)", + "fallbackFullRange": "Scanare completă de rezervă", + "framesDecoded": "Cadre decodate", + "wallTime": "Timp de căutare", + "segmentErrors": "Erori segment", + "seconds": "{{seconds}}s" + } +} diff --git a/web/public/locales/ro/views/replay.json b/web/public/locales/ro/views/replay.json new file mode 100644 index 000000000..b3c854f74 --- /dev/null +++ b/web/public/locales/ro/views/replay.json @@ -0,0 +1,59 @@ +{ + "title": "Reluare de depanare", + "description": "Redă înregistrările camerei pentru depanare. Lista de obiecte arată un rezumat decalat în timp al obiectelor detectate, iar tab-ul Mesaje arată un flux de mesaje interne ale Frigate din înregistrarea redată.", + "websocket_messages": "Mesaje", + "dialog": { + "title": "Pornește reluarea de depanare", + "description": "Creează o cameră temporară de reluare care rulează în buclă înregistrări istorice pentru depanarea problemelor de detecție și urmărire a obiectelor. Camera de reluare va avea aceeași configurație de detecție ca și camera sursă. Alege un interval de timp pentru a începe.", + "camera": "Cameră sursă", + "timeRange": "Interval de timp", + "preset": { + "1m": "Ultimul minut", + "5m": "Ultimele 5 minute", + "timeline": "Din cronologie", + "custom": "Personalizat" + }, + "startButton": "Începe reluarea", + "selectFromTimeline": "Selectează", + "starting": "Pornire reluare...", + "startLabel": "Început", + "endLabel": "Sfârșit", + "toast": { + "error": "Pornirea reluării de depanare a eșuat: {{error}}", + "alreadyActive": "O sesiune de reluare este deja activă", + "stopError": "Oprirea reluării de depanare a eșuat: {{error}}", + "goToReplay": "Mergi la reluare" + } + }, + "page": { + "noSession": "Nicio sesiune de reluare de depanare activă", + "noSessionDesc": "Pornește o reluare de depanare din vizualizarea Istoric dând click pe butonul Acțiuni din bara de instrumente și alegând Reluare depanare.", + "goToRecordings": "Mergi la istoric", + "preparingClip": "Pregătire clip…", + "preparingClipDesc": "Frigate îmbină înregistrările pentru intervalul de timp selectat. Acest lucru poate dura un minut pentru intervale mai mari.", + "startingCamera": "Pornire reluare depanare…", + "startError": { + "title": "Pornirea reluării de depanare a eșuat", + "back": "Înapoi la istoric" + }, + "sourceCamera": "Camera sursă", + "replayCamera": "Camera de reluare", + "initializingReplay": "Inițializare reluare depanare...", + "stoppingReplay": "Oprire reluare depanare...", + "stopReplay": "Oprește reluarea", + "confirmStop": { + "title": "Oprești reluarea de depanare?", + "description": "Aceasta va opri sesiunea și va șterge toate datele temporare. Ești sigur?", + "confirm": "Oprește reluarea", + "cancel": "Anulează" + }, + "activity": "Activitate", + "objects": "Listă de obiecte", + "audioDetections": "Detecții audio", + "noActivity": "Nicio activitate detectată", + "activeTracking": "Urmărire activă", + "noActiveTracking": "Nicio urmărire activă", + "configuration": "Configurație", + "configurationDesc": "Ajustează setările de detecție a mișcării și urmărire a obiectelor pentru camera de reluare de depanare. Nicio modificare nu este salvată în fișierul tău de configurare Frigate." + } +} diff --git a/web/public/locales/ro/views/settings.json b/web/public/locales/ro/views/settings.json index dacf81a59..805a73157 100644 --- a/web/public/locales/ro/views/settings.json +++ b/web/public/locales/ro/views/settings.json @@ -1722,7 +1722,22 @@ "overriddenGlobal": "Suprascris (global)", "overriddenGlobalTooltip": "Această cameră suprascrie setările globale de configurare din această secțiune", "overriddenBaseConfig": "Suprascris (configurația de bază)", - "overriddenBaseConfigTooltip": "Profilul {{profile}} suprascrie setările de configurare din această secțiune" + "overriddenBaseConfigTooltip": "Profilul {{profile}} suprascrie setările de configurare din această secțiune", + "overriddenInCameras": { + "label_one": "Suprascris în {{count}} cameră", + "label_few": "Suprascris în {{count}} camere", + "label_other": "Suprascris în {{count}} de camere", + "tooltip_one": "{{count}} cameră suprascrie valorile din această secțiune. Click pentru a vedea detaliile.", + "tooltip_few": "{{count}} camere suprascriu valorile din această secțiune. Click pentru a vedea detaliile.", + "tooltip_other": "{{count}} de camere suprascriu valorile din această secțiune. Click pentru a vedea detaliile.", + "heading_one": "Această secțiune globală are câmpuri care sunt suprascrise în {{count}} cameră.", + "heading_few": "Această secțiune globală are câmpuri care sunt suprascrise în {{count}} camere.", + "heading_other": "Această secțiune globală are câmpuri care sunt suprascrise în {{count}} de camere.", + "othersField_one": "{{count}} alta", + "othersField_few": "{{count}} alte", + "othersField_other": "{{count}} de alte", + "profilePrefix": "Profil {{profile}}: {{fields}}" + } }, "profiles": { "title": "Profile", From 1e0b7b5fb232557ca8a457143b98f9c37345468d Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:38 +0200 Subject: [PATCH 13/50] Added translation using Weblate (Bulgarian) Added translation using Weblate (Bulgarian) Added translation using Weblate (Bulgarian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/bg/views/chat.json | 1 + web/public/locales/bg/views/motionSearch.json | 1 + web/public/locales/bg/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/bg/views/chat.json create mode 100644 web/public/locales/bg/views/motionSearch.json create mode 100644 web/public/locales/bg/views/replay.json diff --git a/web/public/locales/bg/views/chat.json b/web/public/locales/bg/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/bg/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/bg/views/motionSearch.json b/web/public/locales/bg/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/bg/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/bg/views/replay.json b/web/public/locales/bg/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/bg/views/replay.json @@ -0,0 +1 @@ +{} From 2e7ee511658266a8338fe911f8a14781b2b5f992 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:38 +0200 Subject: [PATCH 14/50] Added translation using Weblate (Ukrainian) Added translation using Weblate (Ukrainian) Added translation using Weblate (Ukrainian) Translated using Weblate (Ukrainian) Currently translated at 1.4% (7 of 469 strings) Co-authored-by: A T Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/uk/ Translation: Frigate NVR/Config - Cameras --- web/public/locales/uk/config/cameras.json | 16 +++++++++++++++- web/public/locales/uk/views/chat.json | 1 + web/public/locales/uk/views/motionSearch.json | 1 + web/public/locales/uk/views/replay.json | 1 + 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 web/public/locales/uk/views/chat.json create mode 100644 web/public/locales/uk/views/motionSearch.json create mode 100644 web/public/locales/uk/views/replay.json diff --git a/web/public/locales/uk/config/cameras.json b/web/public/locales/uk/config/cameras.json index 0967ef424..c0be2e59a 100644 --- a/web/public/locales/uk/config/cameras.json +++ b/web/public/locales/uk/config/cameras.json @@ -1 +1,15 @@ -{} +{ + "name": { + "label": "Назва камери", + "description": "Потрібно вказати назву камери" + }, + "label": "Конфігурація камери", + "friendly_name": { + "label": "Зрозуміле ім'я", + "description": "Зручна назва камери, що використовується в інтерфейсі Frigate" + }, + "enabled": { + "label": "Увімкнено", + "description": "Увімкнено" + } +} diff --git a/web/public/locales/uk/views/chat.json b/web/public/locales/uk/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uk/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uk/views/motionSearch.json b/web/public/locales/uk/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uk/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uk/views/replay.json b/web/public/locales/uk/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uk/views/replay.json @@ -0,0 +1 @@ +{} From 7c344a3e899e21a3219744f2566980d6dedf0ad5 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:39 +0200 Subject: [PATCH 15/50] Translated using Weblate (Bosnian) Currently translated at 100.0% (471 of 471 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (101 of 101 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (1086 of 1086 strings) Translated using Weblate (Bosnian) Currently translated at 99.7% (790 of 792 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (74 of 74 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (145 of 145 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (129 of 129 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (236 of 236 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (45 of 45 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (501 of 501 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (790 of 790 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (25 of 25 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (1081 of 1081 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (174 of 174 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (59 of 59 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (26 of 26 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (6 of 6 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (469 of 469 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (123 of 123 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (58 of 58 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (49 of 49 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (101 of 101 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (40 of 40 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (10 of 10 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (99 of 99 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (64 of 64 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (86 of 86 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (22 of 22 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (2 of 2 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (10 of 10 strings) Translated using Weblate (Bosnian) Currently translated at 21.1% (26 of 123 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (501 of 501 strings) Translated using Weblate (Bosnian) Currently translated at 4.6% (3 of 64 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (47 of 47 strings) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Translated using Weblate (Bosnian) Currently translated at 4.0% (2 of 49 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (236 of 236 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (2 of 2 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (236 of 236 strings) Translated using Weblate (Bosnian) Currently translated at 50.0% (3 of 6 strings) Translated using Weblate (Bosnian) Currently translated at 0.5% (3 of 501 strings) Translated using Weblate (Bosnian) Currently translated at 0.2% (3 of 1081 strings) Translated using Weblate (Bosnian) Currently translated at 1.6% (2 of 123 strings) Translated using Weblate (Bosnian) Currently translated at 10.0% (1 of 10 strings) Translated using Weblate (Bosnian) Currently translated at 9.0% (2 of 22 strings) Translated using Weblate (Bosnian) Currently translated at 3.4% (2 of 58 strings) Translated using Weblate (Bosnian) Currently translated at 2.0% (1 of 49 strings) Translated using Weblate (Bosnian) Currently translated at 8.0% (2 of 25 strings) Translated using Weblate (Bosnian) Currently translated at 0.8% (1 of 123 strings) Translated using Weblate (Bosnian) Currently translated at 0.3% (2 of 501 strings) Translated using Weblate (Bosnian) Currently translated at 20.0% (2 of 10 strings) Translated using Weblate (Bosnian) Currently translated at 4.2% (2 of 47 strings) Translated using Weblate (Bosnian) Currently translated at 100.0% (2 of 2 strings) Translated using Weblate (Bosnian) Currently translated at 2.0% (2 of 99 strings) Translated using Weblate (Bosnian) Currently translated at 1.9% (2 of 101 strings) Translated using Weblate (Bosnian) Currently translated at 0.2% (1 of 469 strings) Translated using Weblate (Bosnian) Currently translated at 2.3% (2 of 86 strings) Translated using Weblate (Bosnian) Currently translated at 0.1% (1 of 790 strings) Translated using Weblate (Bosnian) Currently translated at 5.0% (2 of 40 strings) Translated using Weblate (Bosnian) Currently translated at 50.0% (1 of 2 strings) Translated using Weblate (Bosnian) Currently translated at 0.8% (2 of 236 strings) Translated using Weblate (Bosnian) Currently translated at 3.1% (2 of 64 strings) Translated using Weblate (Bosnian) Currently translated at 1.3% (2 of 145 strings) Translated using Weblate (Bosnian) Currently translated at 1.3% (1 of 74 strings) Translated using Weblate (Bosnian) Currently translated at 1.1% (2 of 174 strings) Translated using Weblate (Bosnian) Currently translated at 33.3% (2 of 6 strings) Translated using Weblate (Bosnian) Currently translated at 7.6% (2 of 26 strings) Translated using Weblate (Bosnian) Currently translated at 0.1% (1 of 1081 strings) Translated using Weblate (Bosnian) Currently translated at 1.5% (2 of 129 strings) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Added translation using Weblate (Bosnian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: jasoisjaso Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-chat/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/bs/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/bs/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/Config - Groups Translation: Frigate NVR/Config - Validation Translation: Frigate NVR/audio Translation: Frigate NVR/common Translation: Frigate NVR/components-auth Translation: Frigate NVR/components-camera Translation: Frigate NVR/components-dialog Translation: Frigate NVR/components-filter Translation: Frigate NVR/components-icons Translation: Frigate NVR/components-input Translation: Frigate NVR/components-player Translation: Frigate NVR/objects Translation: Frigate NVR/views-chat Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-configeditor Translation: Frigate NVR/views-events Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-live Translation: Frigate NVR/views-motionSearch Translation: Frigate NVR/views-recording Translation: Frigate NVR/views-replay Translation: Frigate NVR/views-search Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/bs/audio.json | 503 +++++ web/public/locales/bs/common.json | 326 ++++ web/public/locales/bs/components/auth.json | 16 + web/public/locales/bs/components/camera.json | 87 + web/public/locales/bs/components/dialog.json | 197 ++ web/public/locales/bs/components/filter.json | 140 ++ web/public/locales/bs/components/icons.json | 8 + web/public/locales/bs/components/input.json | 10 + web/public/locales/bs/components/player.json | 52 + web/public/locales/bs/config/cameras.json | 949 +++++++++ web/public/locales/bs/config/global.json | 1596 ++++++++++++++++ web/public/locales/bs/config/groups.json | 73 + web/public/locales/bs/config/validation.json | 32 + web/public/locales/bs/objects.json | 125 ++ web/public/locales/bs/views/chat.json | 46 + .../locales/bs/views/classificationModel.json | 205 ++ web/public/locales/bs/views/configEditor.json | 18 + web/public/locales/bs/views/events.json | 92 + web/public/locales/bs/views/explore.json | 267 +++ web/public/locales/bs/views/exports.json | 128 ++ web/public/locales/bs/views/faceLibrary.json | 98 + web/public/locales/bs/views/live.json | 199 ++ web/public/locales/bs/views/motionSearch.json | 77 + web/public/locales/bs/views/recording.json | 12 + web/public/locales/bs/views/replay.json | 59 + web/public/locales/bs/views/search.json | 73 + web/public/locales/bs/views/settings.json | 1690 +++++++++++++++++ web/public/locales/bs/views/system.json | 256 +++ 28 files changed, 7334 insertions(+) create mode 100644 web/public/locales/bs/audio.json create mode 100644 web/public/locales/bs/common.json create mode 100644 web/public/locales/bs/components/auth.json create mode 100644 web/public/locales/bs/components/camera.json create mode 100644 web/public/locales/bs/components/dialog.json create mode 100644 web/public/locales/bs/components/filter.json create mode 100644 web/public/locales/bs/components/icons.json create mode 100644 web/public/locales/bs/components/input.json create mode 100644 web/public/locales/bs/components/player.json create mode 100644 web/public/locales/bs/config/cameras.json create mode 100644 web/public/locales/bs/config/global.json create mode 100644 web/public/locales/bs/config/groups.json create mode 100644 web/public/locales/bs/config/validation.json create mode 100644 web/public/locales/bs/objects.json create mode 100644 web/public/locales/bs/views/chat.json create mode 100644 web/public/locales/bs/views/classificationModel.json create mode 100644 web/public/locales/bs/views/configEditor.json create mode 100644 web/public/locales/bs/views/events.json create mode 100644 web/public/locales/bs/views/explore.json create mode 100644 web/public/locales/bs/views/exports.json create mode 100644 web/public/locales/bs/views/faceLibrary.json create mode 100644 web/public/locales/bs/views/live.json create mode 100644 web/public/locales/bs/views/motionSearch.json create mode 100644 web/public/locales/bs/views/recording.json create mode 100644 web/public/locales/bs/views/replay.json create mode 100644 web/public/locales/bs/views/search.json create mode 100644 web/public/locales/bs/views/settings.json create mode 100644 web/public/locales/bs/views/system.json diff --git a/web/public/locales/bs/audio.json b/web/public/locales/bs/audio.json new file mode 100644 index 000000000..4ee2ca993 --- /dev/null +++ b/web/public/locales/bs/audio.json @@ -0,0 +1,503 @@ +{ + "speech": "Govor", + "babbling": "Babavljanje", + "bicycle": "Kolo", + "yell": "Vik", + "bellow": "Bubanj", + "whoop": "Vrisak", + "whispering": "Šaputanje", + "laughter": "Smijeh", + "snicker": "Prijem", + "crying": "Plač", + "sigh": "Usklik", + "singing": "Pjevanje", + "choir": "Hors", + "yodeling": "Jodelanje", + "chant": "Pjevanje", + "mantra": "Mantra", + "child_singing": "Dječje pjevanje", + "synthetic_singing": "Sintetičko pjevanje", + "rapping": "Rap", + "humming": "Hum", + "groan": "Grokot", + "grunt": "Groktanje", + "whistling": "Pucanje", + "breathing": "Disanje", + "wheeze": "Pijuckanje", + "snoring": "Kicanje", + "gasp": "Udah", + "pant": "Pantanje", + "snort": "Snortanje", + "cough": "Kašljanje", + "throat_clearing": "Očišćavanje grla", + "sneeze": "Prašanje", + "sniff": "Njuhanje", + "run": "Trčanje", + "shuffle": "Prelazak", + "footsteps": "Koraci", + "chewing": "Zubljanje", + "biting": "Gubitak", + "gargling": "Peranje grla", + "stomach_rumble": "Grušenje", + "burping": "Puknutje", + "hiccup": "Kikot", + "fart": "Pucanje", + "hands": "Ruke", + "finger_snapping": "Prašanje prstiju", + "clapping": "Ključanje", + "heartbeat": "Taktilno", + "heart_murmur": "Šum srca", + "cheering": "Pozdrav", + "applause": "Pozdravljati", + "chatter": "Šaputanje", + "crowd": "Gomila", + "children_playing": "Dječja igra", + "animal": "Životinja", + "pets": "Hrana", + "dog": "Pas", + "bark": "Glavu", + "yip": "Jauk", + "howl": "Vijuk", + "bow_wow": "Vau vau", + "growling": "Gručenje", + "whimper_dog": "Pijuckanje psa", + "cat": "Mačka", + "purr": "Mrmor", + "meow": "Mjau", + "hiss": "Zujanje", + "caterwaul": "Krik", + "livestock": "Stoke", + "horse": "Konj", + "clip_clop": "Klik klok", + "neigh": "Kijanje", + "cattle": "Stoke", + "moo": "Muu", + "cowbell": "Kovčeg", + "pig": "Svinja", + "oink": "Roktanje", + "goat": "Koza", + "bleat": "Blejkanje", + "sheep": "Ovca", + "fowl": "Ptica", + "chicken": "Pilica", + "cluck": "Kukanje", + "cock_a_doodle_doo": "Kukavica", + "turkey": "Gusa", + "gobble": "Gubljanje", + "duck": "Kuja", + "quack": "Kvaka", + "goose": "Guska", + "honk": "Trubljenje", + "wild_animals": "Divlja životinja", + "roaring_cats": "Vrišćeći mački", + "roar": "Vrištanje", + "bird": "Ptica", + "chirp": "Pijuckanje", + "squawk": "Krik", + "pigeon": "Papiga", + "coo": "Kukanje", + "crow": "Vran", + "caw": "Vranje", + "owl": "Kukavica", + "hoot": "Kukavica", + "flapping_wings": "Mahanje krilima", + "dogs": "Psi", + "rats": "Štakori", + "mouse": "Miš", + "patter": "Topotanje", + "insect": "Insekt", + "cricket": "Cvrčak", + "mosquito": "Komarac", + "fly": "Muha", + "buzz": "Zujanje", + "frog": "Žaba", + "croak": "Kreketanje", + "snake": "Zmija", + "rattle": "Zveckanje", + "whale_vocalization": "Glasanje kita", + "music": "Muzika", + "musical_instrument": "Muzički instrument", + "plucked_string_instrument": "Plucked String Instrument", + "guitar": "Gitara", + "electric_guitar": "Električna gitara", + "bass_guitar": "Bas gitara", + "acoustic_guitar": "Akustična gitara", + "steel_guitar": "Steel gitara", + "tapping": "Tapping", + "strum": "Strum", + "banjo": "Bendžo", + "sitar": "Sitar", + "mandolin": "Mandolina", + "zither": "Citra", + "ukulele": "Ukulele", + "keyboard": "Klaviatura", + "piano": "Klavir", + "electric_piano": "Električni piano", + "organ": "Orgulje", + "electronic_organ": "Elektronski organ", + "hammond_organ": "Hammond organ", + "synthesizer": "Sintetizator", + "sampler": "Sampler", + "harpsichord": "Harfura", + "percussion": "Percuzija", + "drum_kit": "Set bubnjeva", + "drum_machine": "Mašina za bubnjeve", + "drum": "Bubanj", + "snare_drum": "Bubanj sa zavojima", + "rimshot": "Rimshot", + "drum_roll": "Bubanj za roliranje", + "bass_drum": "Bubanj za bas", + "timpani": "Timpani", + "tabla": "Tabla", + "cymbal": "Cimbale", + "hi_hat": "Hi-Hat", + "wood_block": "Drveni blok", + "tambourine": "Tamburina", + "maraca": "Maraka", + "gong": "Gong", + "tubular_bells": "Cijevasti zvoni", + "mallet_percussion": "Percusija s mljevima", + "marimba": "Marimba", + "glockenspiel": "Glockenspiel", + "vibraphone": "Vibrafon", + "steelpan": "Stelpan", + "orchestra": "Orkestar", + "brass_instrument": "Bronski instrument", + "french_horn": "Francuski rog", + "trumpet": "Truba", + "trombone": "Trombon", + "bowed_string_instrument": "Užadno strunski instrument", + "string_section": "Strunski sekcija", + "violin": "Violina", + "pizzicato": "Pizzicato", + "cello": "Celula", + "double_bass": "Dvostruki bas", + "wind_instrument": "Vjetreni instrument", + "flute": "Flauta", + "saxophone": "Saksafon", + "clarinet": "Klarinet", + "harp": "Harfa", + "bell": "Zvono", + "church_bell": "Crkveno zvono", + "jingle_bell": "Zvono za igračke", + "bicycle_bell": "Zvono za bicikl", + "tuning_fork": "Zvučnik", + "chime": "Zvono", + "wind_chime": "Vjetrenjac", + "harmonica": "Harmonika", + "accordion": "Akkordon", + "bagpipes": "Bogovina", + "didgeridoo": "Didgeridoo", + "theremin": "Teremin", + "singing_bowl": "Pjevni čaša", + "scratching": "Skrečing", + "pop_music": "Pop muzika", + "hip_hop_music": "Hip-Hop muzika", + "beatboxing": "Bitboksing", + "rock_music": "Rock muzika", + "heavy_metal": "Heavy metal", + "punk_rock": "Punk rock", + "grunge": "Grandž", + "progressive_rock": "Progressivni rock", + "rock_and_roll": "Rock and roll", + "psychedelic_rock": "Psihederički rock", + "rhythm_and_blues": "Ritam i blues", + "soul_music": "Soul glazba", + "reggae": "Rege", + "country": "Kantri", + "swing_music": "Swing glazba", + "bluegrass": "Bluegrass", + "funk": "Fank", + "folk_music": "Folklorno glazba", + "middle_eastern_music": "Glazba Bliskog istoka", + "jazz": "Džez", + "disco": "Disko", + "classical_music": "Klasična glazba", + "opera": "Opera", + "electronic_music": "Elektronska glazba", + "house_music": "House glazba", + "techno": "Tehno", + "dubstep": "Dubstep", + "drum_and_bass": "Drum i bass", + "electronica": "Elektronika", + "electronic_dance_music": "Elektronska plesna glazba", + "ambient_music": "Ambient glazba", + "trance_music": "Trance glazba", + "music_of_latin_america": "Glazba Latinske Amerike", + "salsa_music": "Salsa glazba", + "flamenco": "Flamenko", + "blues": "Bluz", + "music_for_children": "Muzika za djecu", + "new-age_music": "Muzika novog doba", + "vocal_music": "Vokalna muzika", + "a_capella": "A Capella", + "music_of_africa": "Afrička muzika", + "afrobeat": "Afrobeat", + "christian_music": "Kršćanska muzika", + "gospel_music": "Gospel muzika", + "music_of_asia": "Azijatska muzika", + "carnatic_music": "Karnatička muzika", + "music_of_bollywood": "Bollywood muzika", + "ska": "Ska", + "traditional_music": "Tradicionalna muzika", + "independent_music": "Nezavisna muzika", + "song": "Pjesma", + "background_music": "Pozadinska muzika", + "theme_music": "Tema muzika", + "jingle": "Jingle", + "soundtrack_music": "Soundtrack muzika", + "lullaby": "Pjesma za uspavanje", + "video_game_music": "Muzika za video igre", + "christmas_music": "Božićna muzika", + "dance_music": "Dance muzika", + "wedding_music": "Venčanska glazba", + "happy_music": "Sretna glazba", + "sad_music": "Tužna glazba", + "tender_music": "Tenderna glazba", + "exciting_music": "Uzbudljiva glazba", + "angry_music": "Zlobna glazba", + "scary_music": "Strašna glazba", + "wind": "Vjetar", + "rustling_leaves": "Šum listova", + "wind_noise": "Šum vjetra", + "thunderstorm": "Grmljavina", + "thunder": "Grmljavac", + "water": "Voda", + "rain": "Kisa", + "raindrop": "Kap kise", + "rain_on_surface": "Kisa na površini", + "stream": "Tok", + "waterfall": "Padina", + "ocean": "Okean", + "waves": "Valovi", + "steam": "Par", + "gurgling": "Gurkanje", + "fire": "Vatra", + "crackle": "Krik", + "vehicle": "Vozilo", + "boat": "Brod", + "sailboat": "Jedrilica", + "rowboat": "Čamac", + "motorboat": "Motorni čamac", + "ship": "Brod", + "motor_vehicle": "Motorno vozilo", + "car": "Automobil", + "toot": "Zvuk klaksona", + "car_alarm": "Automobilski alarm", + "power_windows": "Električna prozora", + "skidding": "Klizanje", + "tire_squeal": "Krik kotača", + "car_passing_by": "Automobil prolazi", + "race_car": "Racing automobil", + "truck": "Kamion", + "air_brake": "Vazdušni kočnici", + "air_horn": "Vazdušni signal", + "reversing_beeps": "Zvukovi za odlazak unazad", + "ice_cream_truck": "Kamion za sladoled", + "bus": "Autobus", + "emergency_vehicle": "Hitni vozilo", + "police_car": "Policijski automobil", + "ambulance": "Ambulansa", + "fire_engine": "Pogonski automobil", + "motorcycle": "Motocikl", + "traffic_noise": "Prometni šum", + "rail_transport": "Željeznički transport", + "train": "Vlak", + "train_whistle": "Vlakovni svirac", + "train_horn": "Vlakovni rohorn", + "railroad_car": "Željeznički vagon", + "train_wheels_squealing": "Vlakove točkove koje zavijaju", + "subway": "Metropolitena", + "aircraft": "Avion", + "aircraft_engine": "Avionski motor", + "jet_engine": "Reaktivni motor", + "propeller": "Vijak", + "helicopter": "Heličopter", + "fixed-wing_aircraft": "Avion s krilima", + "skateboard": "Skejtbord", + "engine": "Motor", + "light_engine": "Lagani motor", + "dental_drill's_drill": "Stomatološki bušilica", + "lawn_mower": "Kosilica", + "chainsaw": "Pilica", + "medium_engine": "Srednji motor", + "heavy_engine": "Teški motor", + "engine_knocking": "Kloping motora", + "engine_starting": "Pokretanje motora", + "idling": "Miris", + "accelerating": "Ubrzavanje", + "door": "Vrata", + "doorbell": "Zvonce", + "ding-dong": "Ding-dong", + "sliding_door": "Klizna vrata", + "slam": "Zatvaranje", + "knock": "Kucanje", + "tap": "Kucanje", + "squeak": "Krik", + "cupboard_open_or_close": "Otvorenje ili zatvaranje police", + "drawer_open_or_close": "Otvorenje ili zatvaranje vunca", + "dishes": "Posuđe", + "cutlery": "Posuđe za jelo", + "chopping": "Rezanje", + "frying": "Praženje", + "microwave_oven": "Mikrotalasna pećnica", + "blender": "Miksere", + "water_tap": "Kran", + "sink": "Lavabo", + "bathtub": "Kupatilo", + "hair_dryer": "Sušilac za kosu", + "toilet_flush": "Očišćavanje toaleta", + "toothbrush": "Šetka za zube", + "electric_toothbrush": "Električna šetka za zube", + "vacuum_cleaner": "Praškoljac", + "zipper": "Zatvarac", + "keys_jangling": "Ključevi koji se škripi", + "coin": "Novčanik", + "scissors": "Škare", + "electric_shaver": "Električni šavac", + "shuffling_cards": "Premještanje karata", + "typing": "Kucanje", + "typewriter": "Tipkovnica", + "computer_keyboard": "Računalna tipkovnica", + "writing": "Pisanje", + "alarm": "Alarm", + "telephone": "Telefon", + "telephone_bell_ringing": "Zvono telefona", + "ringtone": "Ton za poziv", + "telephone_dialing": "Pozivanje telefona", + "dial_tone": "Ton za poziv", + "busy_signal": "Signal zauzetosti", + "alarm_clock": "Budilica", + "siren": "Sirena", + "civil_defense_siren": "Sirena za civilnu zaštitu", + "buzzer": "Buzer", + "smoke_detector": "Detektor dima", + "fire_alarm": "Pozar alarm", + "foghorn": "Mlazni svirac", + "whistle": "Štiklja", + "steam_whistle": "Parni zvono", + "mechanisms": "Mehanizmi", + "ratchet": "Ratchet", + "clock": "Sat", + "tick": "Tik", + "tick-tock": "Tik-tak", + "gears": "Zupčanici", + "pulleys": "Koturači", + "sewing_machine": "Šitna mašina", + "mechanical_fan": "Mehanički ventilator", + "air_conditioning": "Klima uređaj", + "cash_register": "Gotovinska kasica", + "printer": "Štampač", + "camera": "Kamera", + "single-lens_reflex_camera": "Kamera s jednim objektivom", + "tools": "Alati", + "hammer": "Klubica", + "jackhammer": "Betonomijak", + "sawing": "Sečenje", + "filing": "Flešanje", + "sanding": "Šljokanje", + "power_tool": "Električni alat", + "drill": "Bušilica", + "explosion": "Eksplozija", + "gunshot": "Pucanj", + "machine_gun": "Automatska puška", + "fusillade": "Fusiladža", + "artillery_fire": "Pucanj topovima", + "cap_gun": "Pistolj za pucanje", + "fireworks": "Pucanje svjetiljki", + "firecracker": "Svjetiljka", + "burst": "Izbič", + "eruption": "Eruptija", + "boom": "Tutnjava", + "wood": "Drvo", + "chop": "Rezanje", + "splinter": "Razlomak", + "crack": "Klackanje", + "glass": "Staklo", + "chink": "Prozor", + "shatter": "Razbijanje", + "silence": "Tišina", + "sound_effect": "Zvučni efekt", + "environmental_noise": "Okolišni šum", + "static": "Statički šum", + "white_noise": "Bijeli šum", + "pink_noise": "Rumeni šum", + "television": "Televizija", + "radio": "Radio", + "field_recording": "Snimka na terenu", + "scream": "Vrisak", + "sodeling": "Sodeling", + "chird": "Chird", + "change_ringing": "Promjena zvona", + "shofar": "Šofar", + "liquid": "Tekućina", + "splash": "Pljuskanje", + "slosh": "Sloš", + "squish": "Škripanje", + "drip": "Kapanje", + "pour": "Prelivanje", + "trickle": "Tijek", + "gush": "Gusenje", + "fill": "Popunjavanje", + "spray": "Sprajanje", + "pump": "Pumpa", + "stir": "Miješanje", + "boiling": "Vrećenje", + "sonar": "Sonar", + "arrow": "Strela", + "whoosh": "Šum", + "thump": "Tupanje", + "thunk": "Tunk", + "electronic_tuner": "Elektronski tuner", + "effects_unit": "Jedinica efekata", + "chorus_effect": "Efekt korusa", + "basketball_bounce": "Košarkaški skok", + "bang": "Bum", + "slap": "Pljeska", + "whack": "Perc", + "smash": "Sprem", + "breaking": "Raskidanje", + "bouncing": "Skakanje", + "whip": "Škripanje", + "flap": "Klizanje", + "scratch": "Oštećenje", + "scrape": "Prašenje", + "rub": "Trenje", + "roll": "Kotrljanje", + "crushing": "Stiskanje", + "crumpling": "Sklapanje", + "tearing": "Raskidanje", + "beep": "Bip", + "ping": "Poziv", + "ding": "Ding", + "clang": "Zveket", + "squeal": "Cika", + "creak": "Škripa", + "rustle": "Šuškanje", + "whir": "Brujanje", + "clatter": "Tropot", + "sizzle": "Šištanje", + "clicking": "Klikanje", + "clickety_clack": "Klik-tak", + "rumble": "Rumbljanje", + "plop": "Pljus", + "hum": "Pjevušenje", + "zing": "Zing", + "boing": "Boing", + "crunch": "Crunch", + "sine_wave": "Sinusna valna", + "harmonic": "Harmonični", + "chirp_tone": "Tanjirasti ton", + "pulse": "Impuls", + "inside": "Unutra", + "outside": "Van", + "reverberation": "Reverberacija", + "echo": "Odjek", + "noise": "Šum", + "mains_hum": "Glavni šum", + "distortion": "Distorzija", + "sidetone": "Sidetone", + "cacophony": "Kacofonija", + "throbbing": "Tremor", + "vibration": "Vibracija" +} diff --git a/web/public/locales/bs/common.json b/web/public/locales/bs/common.json new file mode 100644 index 000000000..dba59d209 --- /dev/null +++ b/web/public/locales/bs/common.json @@ -0,0 +1,326 @@ +{ + "time": { + "untilForTime": "Do {{time}}", + "untilForRestart": "Do ponovnog pokretanja Frigate.", + "untilRestart": "Do ponovnog pokretanja", + "never": "Nikad", + "ago": "{{timeAgo}} prije", + "justNow": "Sada", + "today": "Danas", + "yesterday": "Jučer", + "last7": "Prošlih 7 dana", + "last14": "Prošlih 14 dana", + "last30": "Prošlih 30 dana", + "thisWeek": "Ova sedmica", + "lastWeek": "Prošla sedmica", + "thisMonth": "Ovaj mjesec", + "lastMonth": "Prošli mjesec", + "5minutes": "5 minuta", + "10minutes": "10 minuta", + "30minutes": "30 minuta", + "1hour": "1 sat", + "12hours": "12 sati", + "24hours": "24 sata", + "pm": "posle podne", + "am": "pre podne", + "yr": "{{time}} god", + "year_one": "{{time}} godina", + "year_few": "{{time}} godine", + "year_other": "{{time}} godina", + "mo": "{{time}} mjes", + "month_one": "{{time}} mjesec", + "month_few": "{{time}} mjeseca", + "month_other": "{{time}} mjeseci", + "d": "{{time}}d", + "day_one": "{{time}} dan", + "day_few": "{{time}} dana", + "day_other": "{{time}} dana", + "h": "{{time}}h", + "hour_one": "{{time}} sat", + "hour_few": "{{time}} sata", + "hour_other": "{{time}} sati", + "m": "{{time}}m", + "minute_one": "{{time}} minuta", + "minute_few": "{{time}} minute", + "minute_other": "{{time}} minuta", + "s": "{{time}}s", + "second_one": "{{time}} sekunda", + "second_few": "{{time}} sekunde", + "second_other": "{{time}} sekundi", + "formattedTimestamp": { + "12hour": "MMM d, h:mm:ss aaa", + "24hour": "MMM d, HH:mm:ss" + }, + "formattedTimestamp2": { + "12hour": "MM/dd h:mm:ssa", + "24hour": "d MMM HH:mm:ss" + }, + "formattedTimestampHourMinute": { + "12hour": "h:mm aaa", + "24hour": "HH:mm" + }, + "formattedTimestampHourMinuteSecond": { + "12hour": "h:mm:ss aaa", + "24hour": "HH:mm:ss" + }, + "formattedTimestampMonthDayHourMinute": { + "12hour": "MMM d, h:mm aaa", + "24hour": "MMM d, HH:mm" + }, + "formattedTimestampMonthDayYear": { + "12hour": "MMM d, yyyy", + "24hour": "MMM d, yyyy" + }, + "formattedTimestampMonthDayYearHourMinute": { + "12hour": "MMM d yyyy, h:mm aaa", + "24hour": "MMM d yyyy, HH:mm" + }, + "formattedTimestampMonthDay": "MMM d", + "formattedTimestampFilename": { + "12hour": "MM-dd-yy-h-mm-ss-a", + "24hour": "MM-dd-yy-HH-mm-ss" + }, + "inProgress": "U toku", + "invalidStartTime": "Neispravno početno vrijeme", + "invalidEndTime": "Neispravno krajnje vrijeme" + }, + "unit": { + "speed": { + "mph": "mph", + "kph": "kph" + }, + "length": { + "feet": "fut", + "meters": "metar" + }, + "data": { + "kbps": "kB/s", + "mbps": "MB/s", + "gbps": "GB/s", + "kbph": "kB/hour", + "mbph": "MB/hour", + "gbph": "GB/hour" + } + }, + "label": { + "back": "Povratak", + "hide": "Sakrij {{item}}", + "show": "Prikaži {{item}}", + "ID": "ID", + "none": "Nijedan", + "all": "Sve", + "other": "Ostalo" + }, + "list": { + "two": "{{0}} i {{1}}", + "many": "{{items}}, i {{last}}", + "separatorWithSpace": ", " + }, + "field": { + "optional": "Opcionalno", + "internalID": "Unutarnji ID koji Frigate koristi u konfiguraciji i bazi podataka" + }, + "button": { + "add": "Dodaj", + "apply": "Primijeni", + "applying": "Primjenjuje se…", + "reset": "Resetuj", + "undo": "Poništi", + "done": "Gotovo", + "enabled": "Omogućeno", + "enable": "Omogući", + "disabled": "Onemogućeno", + "disable": "Onemogući", + "save": "Sačuvaj", + "saving": "Sačuvanje…", + "cancel": "Otkaži", + "close": "Zatvori", + "copy": "Kopiraj", + "copiedToClipboard": "Kopirano u međuspremnik", + "back": "Nazad", + "history": "Historija", + "fullscreen": "Pun ekran", + "exitFullscreen": "Napusti pun ekran", + "pictureInPicture": "Slika u slici", + "twoWayTalk": "Dvostrani razgovor", + "cameraAudio": "Zvuk kamere", + "on": "Uključeno", + "off": "Isključeno", + "edit": "Uredi", + "copyCoordinates": "Kopiraj koordinate", + "delete": "Obriši", + "yes": "Da", + "no": "Ne", + "download": "Preuzmi", + "info": "Informacija", + "suspended": "Otkazano", + "unsuspended": "Ponovi", + "play": "Reproduciraj", + "unselect": "Odznači", + "export": "Izvoz", + "deleteNow": "Obriši sada", + "next": "Sljedeće", + "continue": "Nastavi", + "modified": "Izmijenjeno", + "overridden": "Preklopljeno", + "resetToGlobal": "Vrati na globalno", + "resetToDefault": "Vrati na podrazumijevano", + "saveAll": "Sačuvaj sve", + "savingAll": "Sačuvanje svih…", + "undoAll": "Poništi sve", + "retry": "Pokušaj ponovno" + }, + "menu": { + "system": "Sistem", + "systemMetrics": "Sistem metrike", + "configuration": "Konfiguracija", + "systemLogs": "Sistemski zapisi", + "profiles": "Profili", + "settings": "Postavke", + "configurationEditor": "Uređivač konfiguracije", + "languages": "Jezici", + "language": { + "en": "Engleski (English)", + "es": "Španjolski (Spanish)", + "zhCN": "Jednostavni kineski (Simplified Chinese)", + "hi": "Hindi (Hindi)", + "fr": "Francuski (French)", + "ar": "Arapski (Arabic)", + "pt": "Portugalski (Portuguese)", + "ptBR": "Portugalski brazilski (Brazilian Portuguese)", + "ru": "Ruski (Russian)", + "de": "Nemački (German)", + "ja": "Japanski (Japanese)", + "tr": "Turski (Turkish)", + "it": "Talijanski (Italian)", + "nl": "Nizozemski (Dutch)", + "sv": "Švedski (Swedish)", + "cs": "Češki (Czech)", + "nb": "Norveški bokmål (Norwegian Bokmål)", + "ko": "Koreanski (Korean)", + "vi": "Vietnamski (Vietnamese)", + "fa": "Perzijski (Persian)", + "pl": "Polski (Poljski)", + "uk": "Українська (Ukrajinski)", + "he": "עברית (Hebrejski)", + "el": "Ελληνικά (Grčki)", + "ro": "Română (Romunski)", + "hu": "Magyar (Mađarski)", + "fi": "Suomi (Finski)", + "da": "Dansk (Danski)", + "sk": "Slovenčina (Slovački)", + "yue": "粵語 (Kantonski)", + "th": "ไทย (Tajski)", + "ca": "Català (Katalonski)", + "hr": "Hrvatski (Hrvatski)", + "sr": "Српски (Srpski)", + "sl": "Slovenščina (Slovenski)", + "lt": "Lietuvių (Lietuvių)", + "bg": "Български (Bugarinski)", + "gl": "Galego (Galicijski)", + "id": "Bahasa Indonesia (Indoneziski)", + "ur": "اردو (Urdu)", + "withSystem": { + "label": "Koristite postavke sistema za jezik" + } + }, + "appearance": "Izgled", + "darkMode": { + "label": "Tamni režim", + "light": "Svijetla", + "dark": "Tamna", + "withSystem": { + "label": "Koristite postavke sistema za svjetlosni ili tamni režim" + } + }, + "withSystem": "Sistem", + "theme": { + "label": "Tema", + "blue": "Plava", + "green": "Zelena", + "nord": "Nord", + "red": "Crvena", + "highcontrast": "Visok kontrast", + "default": "Zadano" + }, + "help": "Pomoć", + "documentation": { + "title": "Dokumentacija", + "label": "Dokumentacija za Frigate" + }, + "restart": "Ponovno pokreni Frigate", + "live": { + "title": "Uživo", + "allCameras": "Sve Kamere", + "cameras": { + "title": "Kamere", + "count_one": "{{count}} Kamera", + "count_few": "{{count}} Kamere", + "count_other": "{{count}} Kamere" + } + }, + "review": "Pregled", + "explore": "Istraži", + "export": "Izvoz", + "actions": "Akcije", + "uiPlayground": "UI Playground", + "features": "Funkcije", + "faceLibrary": "Biblioteka lica", + "classification": "Klasifikacija", + "chat": "Razgovor", + "user": { + "title": "Korisnik", + "account": "Račun", + "current": "Trenutni korisnik: {{user}}", + "anonymous": "anons", + "logout": "Odjava", + "setPassword": "Postavi lozinku" + } + }, + "toast": { + "copyUrlToClipboard": "URL kopiran u međuspremnik.", + "save": { + "title": "Sačuvaj", + "error": { + "title": "Nije uspješno sačuvana promjena konfiguracije: {{errorMessage}}", + "noMessage": "Nije uspješno sačuvana promjena konfiguracije" + }, + "success": "Uspješno sačuvana promjena konfiguracije." + } + }, + "role": { + "title": "Uloga", + "admin": "Administrator", + "viewer": "Pregledač", + "desc": "Admini imaju pun pristup svim funkcijama u korisničkom sučelju Frigate. Pregledači su ograničeni na pregled kamere, pregled stavki i povijesne snimke u korisničkom sučelju." + }, + "pagination": { + "label": "paginacija", + "previous": { + "title": "Prethodno", + "label": "Idi na prethodnu stranicu" + }, + "next": { + "title": "Sljedeće", + "label": "Idi na sljedeću stranicu" + }, + "more": "Više stranica" + }, + "accessDenied": { + "documentTitle": "Pristup odbijen - Frigate", + "title": "Pristup odbijen", + "desc": "Nemate dozvolu za pregled ove stranice." + }, + "notFound": { + "documentTitle": "Nije pronađeno - Frigate", + "title": "404", + "desc": "Stranica nije pronađena" + }, + "selectItem": "Odaberite {{item}}", + "readTheDocumentation": "Pročitajte dokumentaciju", + "information": { + "pixels": "{{area}}px" + }, + "no_items": "Nema stavki", + "validation_errors": "Greške validacije" +} diff --git a/web/public/locales/bs/components/auth.json b/web/public/locales/bs/components/auth.json new file mode 100644 index 000000000..42bac9b61 --- /dev/null +++ b/web/public/locales/bs/components/auth.json @@ -0,0 +1,16 @@ +{ + "form": { + "user": "Korisničko ime", + "password": "Lozinka", + "login": "Prijava", + "firstTimeLogin": "Pokušavate se prijaviti prvi put? Vjerodajnice su ispisane u logovima Frigate.", + "errors": { + "usernameRequired": "Korisničko ime je obavezno", + "passwordRequired": "Lozinka je obavezna", + "rateLimit": "Premašen je limit brzine. Pokušajte kasnije.", + "loginFailed": "Prijava nije uspješna", + "unknownError": "Nepoznata greška. Provjerite zapise.", + "webUnknownError": "Nepoznata greška. Provjerite konzolne zapise." + } + } +} diff --git a/web/public/locales/bs/components/camera.json b/web/public/locales/bs/components/camera.json new file mode 100644 index 000000000..68c8fdfa7 --- /dev/null +++ b/web/public/locales/bs/components/camera.json @@ -0,0 +1,87 @@ +{ + "group": { + "label": "Grupe kamere", + "add": "Dodaj grupu kamere", + "edit": "Uredi grupu kamera", + "delete": { + "label": "Obriši grupu kamere", + "confirm": { + "title": "Potvrdi brisanje", + "desc": "Sigurno li želite da obrišete grupu kamere {{name}}?" + } + }, + "name": { + "label": "Ime", + "placeholder": "Unesite ime…", + "errorMessage": { + "mustLeastCharacters": "Ime grupe kamere mora imati najmanje 2 karaktera.", + "exists": "Ime grupe kamere već postoji.", + "nameMustNotPeriod": "Ime grupe kamere ne smije sadržavati tačku.", + "invalid": "Neispravno ime grupe kamere." + } + }, + "cameras": { + "label": "Kamere", + "desc": "Odaberite kamere za ovu grupu." + }, + "icon": "Ikona", + "success": "Grupa kamere ({{name}}) je sačuvana.", + "camera": { + "birdseye": "Birdseye", + "setting": { + "label": "Postavke prenošenja kamere", + "title": "Postavke prenošenja {{cameraName}}", + "desc": "Promijenite opcije uživo prenošenja za tablicu upravljanja ove grupe kamere. Ove postavke su specifične za uređaj/pretvarač.", + "audioIsAvailable": "Audio je dostupan za ovaj stream", + "audioIsUnavailable": "Zvuk nije dostupan za ovaj tok", + "audio": { + "tips": { + "title": "Audio mora biti izlaz iz vaše kamere i konfiguriran u go2rtc za ovaj stream." + } + }, + "stream": "Tok", + "placeholder": "Odaberite tok", + "streamMethod": { + "label": "Način prenošenja", + "placeholder": "Odaberite način prenošenja", + "method": { + "noStreaming": { + "label": "Bez prenošenja", + "desc": "Slike kamere će se ažurirati samo jednom na minut i neće se dogoditi uživo prenošenje." + }, + "smartStreaming": { + "label": "Pametno prenošenje (preporučeno)", + "desc": "Pametno prenošenje će ažurirati sliku kamere jednom na minut kada se ne događa detektovana aktivnost kako bi se uštedjelo na širovini i resursima. Kada se detektuje aktivnost, slika se glatko prebacuje u uživo prenošenje." + }, + "continuousStreaming": { + "label": "Neprekidno prenošenje", + "desc": { + "title": "Slika kamere uvijek će biti živo prenošenje kada je vidljiva na ploči, čak i ako se ne detektira aktivnost.", + "warning": "Neprekidno prenošenje može uzrokovati visoku upotrebu širine pojasa i probleme s performansama. Koristite s oprezom." + } + } + } + }, + "compatibilityMode": { + "label": "Režim kompatibilnosti", + "desc": "Omogućite ovu opciju samo ako se živo prenošenje vaše kamere prikazuje s bojnim artefaktima i dijagonalnom linijom na desnoj strani slike." + } + } + } + }, + "debug": { + "options": { + "label": "Postavke", + "title": "Opcije", + "showOptions": "Prikaži opcije", + "hideOptions": "Sakrij opcije" + }, + "boundingBox": "Okvir", + "timestamp": "Vremenski pečat", + "zones": "Zone", + "mask": "Maska", + "motion": "Kretanje", + "regions": "Regije", + "paths": "Putanje" + } +} diff --git a/web/public/locales/bs/components/dialog.json b/web/public/locales/bs/components/dialog.json new file mode 100644 index 000000000..95f4adad2 --- /dev/null +++ b/web/public/locales/bs/components/dialog.json @@ -0,0 +1,197 @@ +{ + "restart": { + "title": "Sigurni li ste da želite ponovno pokrenuti Frigate?", + "description": "Ovo privremeno zaustavi Frigate dok se ponovno pokreće.", + "button": "Ponovno pokretanje", + "restarting": { + "title": "Frigate se ponovo pokreće", + "content": "Ova stranica će se ponovno učitati za {{countdown}} sekundi.", + "button": "Silovito ponovno učitavanje sada" + } + }, + "explore": { + "plus": { + "submitToPlus": { + "label": "Pošalji na Frigate+", + "desc": "Predmeti u lokacijama koje želite izbjeći nisu lažni pozitivi. Pošiljanje ih kao lažne pozitive zbunjuje model." + }, + "review": { + "question": { + "label": "Potvrdite ovu oznaku za Frigate Plus", + "ask_a": "Je li ovaj objekt {{label}}?", + "ask_an": "Je li ovaj objekt {{label}}?", + "ask_full": "Je li ovaj objekt {{untranslatedLabel}} ({{translatedLabel}})?" + }, + "state": { + "submitted": "Pošlato" + } + } + }, + "video": { + "viewInHistory": "Pregledajte u povijesti" + } + }, + "export": { + "time": { + "fromTimeline": "Odaberite iz vremenske linije", + "lastHour_one": "Prošli sat", + "lastHour_few": "Prošla {{count}} sata", + "lastHour_other": "Prošlih {{count}} sati", + "custom": "Prilagođeno", + "start": { + "title": "Vrijeme početka", + "label": "Odaberite vrijeme početka" + }, + "end": { + "title": "Vrijeme kraja", + "label": "Odaberite vrijeme kraja" + } + }, + "name": { + "placeholder": "Nazovite izvoz" + }, + "case": { + "newCaseOption": "Napravite novi slučaj", + "newCaseNamePlaceholder": "Novo ime slučaja", + "newCaseDescriptionPlaceholder": "Opis slučaja", + "label": "Slučaj", + "nonAdminHelp": "Za ove izvoze će se stvoriti novi slučaj.", + "placeholder": "Odaberite slučaj" + }, + "select": "Odaberite", + "export": "Izvoz", + "queueing": "Stavljanje izvoza u red...", + "selectOrExport": "Odaberite ili izvozite", + "tabs": { + "export": "Jedna kamera", + "multiCamera": "Više kamera" + }, + "multiCamera": { + "timeRange": "Vremenski opseg", + "selectFromTimeline": "Odaberite iz vremenske linije", + "cameraSelection": "Kamere", + "cameraSelectionHelp": "Kamere s praćenim objektima u ovom vremenskom opsegu su preselektirane", + "checkingActivity": "Provjeravamo aktivnost kamere...", + "noCameras": "Nema dostupnih kamera", + "detectionCount_one": "1 praćen objekt", + "detectionCount_few": "{{count}} praćena objekta", + "detectionCount_other": "{{count}} praćenih objekata", + "nameLabel": "Ime izvoza", + "namePlaceholder": "Nepovlačenje baznog imena za ove izvoze", + "queueingButton": "Stavljanje izvoza u red...", + "exportButton_one": "Izvoz 1 kamere", + "exportButton_few": "Izvoz {{count}} kamere", + "exportButton_other": "Izvoz {{count}} kamera" + }, + "multi": { + "title_one": "Izvoz 1 pregleda", + "title_few": "Izvoz {{count}} pregleda", + "title_other": "Izvoz {{count}} pregleda", + "description": "Izvoz svakog odabranih pregleda. Svi izvozi bit će grupirani pod jedan slučaj.", + "descriptionNoCase": "Izvoz svakog odabranih pregleda.", + "caseNamePlaceholder": "Pregled izvoza - {{date}}", + "exportButton_one": "Izvoz 1 pregleda", + "exportButton_few": "Izvoz {{count}} pregleda", + "exportButton_other": "Izvoz {{count}} pregleda", + "exportingButton": "Izvoz...", + "toast": { + "started_one": "Pokrenut 1 izvoz. Otvaranje slučaja sada.", + "started_few": "Pokrenuta {{count}} izvoza. Otvaranje slučaja sada.", + "started_other": "Pokrenuto {{count}} izvoza. Otvaranje slučaja sada.", + "startedNoCase_one": "Pokrenut 1 izvoz.", + "startedNoCase_few": "Pokrenuta {{count}} izvoza.", + "startedNoCase_other": "Pokrenuto {{count}} izvoza.", + "partial": "Pokrenuto {{successful}} od {{total}} izvoza. Neuspješno: {{failedItems}}", + "failed": "Neuspješno pokretanje {{total}} izvoza. Neuspješno: {{failedItems}}" + } + }, + "toast": { + "success": "Uspješno pokrenut izvoz. Pregledajte datoteku na stranici izvoza.", + "queued": "Izvoz u redu. Pregledajte napredak na stranici izvoza.", + "view": "Pregled", + "batchSuccess_one": "Pokrenut 1 izvoz. Otvaranje slučaja sada.", + "batchSuccess_few": "Pokrenuta {{count}} izvoza. Otvaranje slučaja sada.", + "batchSuccess_other": "Pokrenuto {{count}} izvoza. Otvaranje slučaja sada.", + "batchPartial": "Pokrenuto {{successful}} od {{total}} izvoza. Neuspješne kamere: {{failedCameras}}", + "batchFailed": "Neuspješno pokretanje {{total}} izvoza. Neuspješne kamere: {{failedCameras}}", + "batchQueuedSuccess_one": "U red stavljen 1 izvoz. Otvaranje slučaja sada.", + "batchQueuedSuccess_few": "U red stavljena {{count}} izvoza. Otvaranje slučaja sada.", + "batchQueuedSuccess_other": "U red stavljeno {{count}} izvoza. Otvaranje slučaja sada.", + "batchQueuedPartial": "U redu {{successful}} od {{total}} izvoza. Neuspješne kamere: {{failedCameras}}", + "batchQueueFailed": "Neuspješno dodavanje {{total}} izvoza. Neuspješne kamere: {{failedCameras}}", + "error": { + "failed": "Neuspješno dodavanje izvoza: {{error}}", + "endTimeMustAfterStartTime": "Krajnje vrijeme mora biti nakon početnog vremena", + "noVaildTimeSelected": "Nije odabran valjan vremenski opseg" + } + }, + "fromTimeline": { + "saveExport": "Sačuvaj izvoz", + "queueingExport": "Kopiranje izvoza...", + "previewExport": "Pregled izvoza", + "useThisRange": "Koristi ovaj opseg" + } + }, + "streaming": { + "label": "Tok", + "restreaming": { + "disabled": "Restreaming nije omogućeno za ovu kameru.", + "desc": { + "title": "Postavite go2rtc za dodatne opcije uživog pregleda i zvuk za ovu kameru." + } + }, + "showStats": { + "label": "Prikaži statistiku strima", + "desc": "Omogući ovu opciju da prikaže statistiku prijenosa kao preklapanje na toku kamere." + }, + "debugView": "Pregled za otklanjanje grešaka" + }, + "search": { + "saveSearch": { + "label": "Sačuvaj pretragu", + "desc": "Navedite ime za ovu sačuvanu pretragu.", + "placeholder": "Unesite ime za svoju pretragu", + "overwrite": "{{searchName}} već postoji. Sačuvavanje će prebrisati postojet će vrijednost.", + "success": "Pretraga ({{searchName}}) je sačuvana.", + "button": { + "save": { + "label": "Sačuvaj ovu pretragu" + } + } + } + }, + "recording": { + "shareTimestamp": { + "label": "Dijeli vremensku oznaku", + "title": "Dijeli vremensku oznaku", + "description": "Dijelite URL označen vremenom trenutne pozicije igrača ili odaberite prilagođenu vremensku oznaku. Napomena: ovo nije javni URL za dijeljenje i dostupan je samo korisnicima koji imaju pristup Frigate i ovoj kameri.", + "custom": "Prilagođena vremenska oznaka", + "button": "URL za dijeljenje vremenske oznake", + "shareTitle": "Vremenska oznaka pregleda Frigate: {{camera}}" + }, + "confirmDelete": { + "title": "Potvrdi brisanje", + "desc": { + "selected": "Sigurni li ste da želite izbrisati sve snimljeno video povezano s ovim preglednim stavkom?

Zadržite tipku Shift da biste preskočili ovaj dijalog u budućnosti." + }, + "toast": { + "success": "Video snimke povezane s odabranim preglednim stavcima uspješno su izbrisane.", + "error": "Neuspješno brisanje: {{error}}" + } + }, + "button": { + "export": "Izvoz", + "markAsReviewed": "Označi kao pregledano", + "markAsUnreviewed": "Označi kao nepregledano", + "deleteNow": "Obriši sada" + } + }, + "imagePicker": { + "selectImage": "Odaberite minijaturu praćenog objekta", + "unknownLabel": "Sačuvana slika izazivača", + "search": { + "placeholder": "Pretraga po oznaci ili podoznaci..." + }, + "noImages": "Nema mini prikaza za ovu kameru" + } +} diff --git a/web/public/locales/bs/components/filter.json b/web/public/locales/bs/components/filter.json new file mode 100644 index 000000000..757823513 --- /dev/null +++ b/web/public/locales/bs/components/filter.json @@ -0,0 +1,140 @@ +{ + "filter": "Filtar", + "classes": { + "label": "Klase", + "all": { + "title": "Sve klase" + }, + "count_one": "{{count}} Klasa", + "count_other": "{{count}} Klase" + }, + "labels": { + "label": "Oznake", + "all": { + "title": "Sve oznake", + "short": "Oznake" + }, + "count_one": "{{count}} Oznaka", + "count_other": "{{count}} Oznake" + }, + "zones": { + "label": "Zone", + "all": { + "title": "Sve zone", + "short": "Zone" + } + }, + "dates": { + "selectPreset": "Odaberite predpostavku…", + "all": { + "title": "Svi datumi", + "short": "Datumi" + } + }, + "more": "Više filtera", + "reset": { + "label": "Poništi filtere na zadane vrijednosti" + }, + "timeRange": "Vremenski opseg", + "subLabels": { + "label": "Podoznake", + "all": "Sve podoznake" + }, + "attributes": { + "label": "Atributi klasifikacije", + "all": "Svi atributi" + }, + "score": "Rezultat", + "estimatedSpeed": "Procijenjena brzina ({{unit}})", + "features": { + "label": "Funkcije", + "hasSnapshot": "Ima snimak", + "hasVideoClip": "Ima video zapis", + "submittedToFrigatePlus": { + "label": "Predano Frigate+", + "tips": "Prvo morate filtrirati prateće objekte koji imaju snimak.

Prateći objekti bez snimka ne mogu se poslati na Frigate+." + } + }, + "sort": { + "label": "Sortiraj", + "dateAsc": "Datum (Uzlazno)", + "dateDesc": "Datum (Silazno)", + "scoreAsc": "Ocjena objekta (Uzlazno)", + "scoreDesc": "Ocjena objekta (Silazno)", + "speedAsc": "Procijenjena brzina (Uzlazno)", + "speedDesc": "Procijenjena brzina (Silazno)", + "relevance": "Relevantnost" + }, + "cameras": { + "label": "Filter kamere", + "all": { + "title": "Sve Kamere", + "short": "Kamere" + } + }, + "review": { + "showReviewed": "Prikaži pregledane" + }, + "motion": { + "showMotionOnly": "Prikaži samo pokret" + }, + "explore": { + "settings": { + "title": "Postavke", + "defaultView": { + "title": "Zadani prikaz", + "desc": "Kada nisu odabrani filteri, prikazuje se sažetak najnovijih pratećih objekata po oznaci, ili prikazuje se mreža bez filtriranja.", + "summary": "Sažetak", + "unfilteredGrid": "Mreža bez filtriranja" + }, + "gridColumns": { + "title": "Kolone mreže", + "desc": "Odaberite broj kolona u prikazu mreže." + }, + "searchSource": { + "label": "Izvor pretrage", + "desc": "Odaberite da li ćete pretraživati miniaturne slike ili opise vaših praćenih objekata.", + "options": { + "thumbnailImage": "Miniaturna slika", + "description": "Opis" + } + } + }, + "date": { + "selectDateBy": { + "label": "Odaberite datum za filtriranje" + } + } + }, + "logSettings": { + "label": "Filtrirajte nivo zapisa", + "filterBySeverity": "Filtrirajte zapise prema ozbiljnosti", + "loading": { + "title": "Učitavanje", + "desc": "Kada se panel zapisa pomakne do dna, novi zapisi automatski se prikazuju kada se dodaju." + }, + "disableLogStreaming": "Onemogući praćenje zapisa", + "allLogs": "Svi zapisi" + }, + "trackedObjectDelete": { + "title": "Potvrdi brisanje", + "desc": "Brisanje ovih {{objectLength}} praćenih objekata uklanja snimku, bilo koje sačuvane ugradnje, i sve povezane uloge objekata. Snimljeni materijal ovih praćenih objekata u pogledu Historija NEĆE biti obrisan.

Sigurni ste da želite nastaviti?

Zadržite tipku Shift da biste preskočili ovaj dijalog u budućnosti.", + "toast": { + "success": "Praćeni objekti uspješno obrisani.", + "error": "Neuspješno brisanje praćenih objekata: {{errorMessage}}" + } + }, + "zoneMask": { + "filterBy": "Filtriraj po maski zone" + }, + "recognizedLicensePlates": { + "title": "Prepoznate tablice", + "loadFailed": "Neuspješno učitavanje prepoznatih tablica.", + "loading": "Učitavanje prepoznatih tablica…", + "placeholder": "Unesite za pretragu tablica…", + "noLicensePlatesFound": "Nema pronađenih tablica.", + "selectPlatesFromList": "Odaberite jednu ili više tablica iz liste.", + "selectAll": "Odaberite sve", + "clearAll": "Očistite sve" + } +} diff --git a/web/public/locales/bs/components/icons.json b/web/public/locales/bs/components/icons.json new file mode 100644 index 000000000..807c1d29f --- /dev/null +++ b/web/public/locales/bs/components/icons.json @@ -0,0 +1,8 @@ +{ + "iconPicker": { + "selectIcon": "Odaberite ikonu", + "search": { + "placeholder": "Pretražite ikonu…" + } + } +} diff --git a/web/public/locales/bs/components/input.json b/web/public/locales/bs/components/input.json new file mode 100644 index 000000000..03e33fb6d --- /dev/null +++ b/web/public/locales/bs/components/input.json @@ -0,0 +1,10 @@ +{ + "button": { + "downloadVideo": { + "label": "Preuzimanje videa", + "toast": { + "success": "Vaš video stavke pregleda je započelo preuzimanje." + } + } + } +} diff --git a/web/public/locales/bs/components/player.json b/web/public/locales/bs/components/player.json new file mode 100644 index 000000000..3056608f0 --- /dev/null +++ b/web/public/locales/bs/components/player.json @@ -0,0 +1,52 @@ +{ + "noRecordingsFoundForThisTime": "Nisu pronađeni snimci za ovo vrijeme", + "noPreviewFound": "Nije pronađen pregled", + "noPreviewFoundFor": "Nije pronađen pregled za {{cameraName}}", + "submitFrigatePlus": { + "title": "Pošalji ovaj okvir Frigate+?", + "submit": "Pošalji", + "previewError": "Nije moguće učitati prikaz snimke. Snimka možda trenutno nije dostupna." + }, + "livePlayerRequiredIOSVersion": "Za ovaj tip uživo prijenosa potreban je iOS 17.1 ili noviji.", + "streamOffline": { + "title": "Prijenos je offline", + "desc": "Nisu primljeni okviri na {{cameraName}} detect prijenos, provjerite zapise o greškama" + }, + "cameraDisabled": "Kamera je onemogućena", + "stats": { + "streamType": { + "title": "Tip prijenosa:", + "short": "Tip" + }, + "bandwidth": { + "title": "Širina pojasa:", + "short": "Širina pojasa" + }, + "latency": { + "title": "Kasnjenje:", + "value": "{{seconds}} sekundi", + "short": { + "title": "Kasnjenje", + "value": "{{seconds}} sek" + } + }, + "totalFrames": "Ukupno okvira:", + "droppedFrames": { + "title": "Izgubljeni okviri:", + "short": { + "title": "Izgubljeni", + "value": "{{droppedFrames}} okvira" + } + }, + "decodedFrames": "Dekodirani okviri:", + "droppedFrameRate": "Stopa izgubljenih okvira:" + }, + "toast": { + "success": { + "submittedFrigatePlus": "Uspješno je poslano okvir Frigate+" + }, + "error": { + "submitFrigatePlusFailed": "Neuspješno slanje okvira Frigate+" + } + } +} diff --git a/web/public/locales/bs/config/cameras.json b/web/public/locales/bs/config/cameras.json new file mode 100644 index 000000000..a68a74111 --- /dev/null +++ b/web/public/locales/bs/config/cameras.json @@ -0,0 +1,949 @@ +{ + "label": "KameraKonfig", + "zones": { + "label": "Zone", + "description": "Zona omogućava da definirate specifičnu područje okvira da biste odredili je li objekt unutar određenog područja.", + "friendly_name": { + "label": "Ime zone", + "description": "Korisničko ime za zonu, prikazano u UI Frigate. Ako nije postavljeno, koristi se oblikovana verzija imena zone." + }, + "enabled": { + "label": "Omogućeno", + "description": "Omogući ili onemogući ovu zonu. Onemogućene zone zanemaruju se tijekom izvršavanja." + }, + "enabled_in_config": { + "label": "Zapamti originalno stanje zone." + }, + "filters": { + "label": "Filtri zone", + "description": "Filtri za primjenu na objekte unutar ove zone. Koriste se za smanjenje lažnih pozitiva ili ograničavanje kojih objekata se smatraju prisutnim u zoni.", + "min_area": { + "label": "Minimalna površina objekta", + "description": "Minimalna površina okvira (pikseli ili postotak) potrebna za ovaj tip objekta. Može biti pikseli (cijeli broj) ili postotak (float između 0.000001 i 0.99)." + }, + "max_area": { + "label": "Maksimalna površina objekta", + "description": "Maksimalna površina okvira (pikseli ili postotak) dozvoljena za ovaj tip objekta. Može biti pikseli (cijeli broj) ili postotak (float između 0.000001 i 0.99)." + }, + "min_ratio": { + "label": "Minimalni omjer visine/širine", + "description": "Minimalni omjer širine/visine potreban da bi okvir bio prihvaćen." + }, + "max_ratio": { + "label": "Maksimalni omjer visine/širine", + "description": "Maksimalni omjer širine/visine dozvoljen da bi okvir bio prihvaćen." + }, + "threshold": { + "label": "Prag pouzdanosti", + "description": "Prosjek pragova pouzdanosti detekcije potreban da bi objekt bio smatravan pravim pozitivom." + }, + "min_score": { + "label": "Minimalna pouzdanost", + "description": "Minimalna pouzdanost detekcije po okviru potrebna da bi objekt bio brojan." + }, + "mask": { + "label": "Maska filtriranja", + "description": "Koordinate poligona koje definiraju područje na kojem se ovaj filter primjenjuje unutar okvira." + }, + "raw_mask": { + "label": "Ručna maska" + } + }, + "coordinates": { + "label": "Koordinate", + "description": "Koordinate poligona koje definiraju područje zone. Može biti niz razdvojen zarezom ili lista nizova koordinata. Koordinate trebaju biti relativne (0-1) ili apsolutne (stariji format)." + }, + "distances": { + "label": "Stvarne udaljenosti", + "description": "Nepovlačni stvarne udaljenosti za svaku stranu kvadrilateralne zone, koristi se za izračun brzine ili udaljenosti. Moraju imati tačno 4 vrijednosti ako su postavljene." + }, + "inertia": { + "label": "Okviri inertnosti", + "description": "Broj uzastopnih okvira u kojima mora biti detektovan objekt u zoni da bi bio smatravan prisutnim. Pomaže u filtriranju privremenih detekcija." + }, + "loitering_time": { + "label": "Sekunde loiteranja", + "description": "Broj sekundi koje objekt mora ostati u zoni da bi bio smatravan loiteranjem. Postaviti na 0 za onemogućavanje detekcije loiteranja." + }, + "speed_threshold": { + "label": "Minimalna brzina", + "description": "Minimalna brzina (u stvarnim jedinicama ako su udaljenosti postavljene) potrebna da bi objekt bio smatravan prisutnim u zoni. Koristi se za zone koje se aktiviraju na osnovu brzine." + }, + "objects": { + "label": "Objekti koji izazivaju", + "description": "Lista tipova objekata (iz labelmapa) koji mogu izazvati ovu zonu. Može biti niz ili lista nizova. Ako je prazna, svi objekti se uzimaju u obzir." + } + }, + "name": { + "label": "Ime kamere", + "description": "Ime kamere je obavezno" + }, + "friendly_name": { + "label": "Prijateljsko ime", + "description": "Prijateljsko ime kamere korišteno u korisničkom sučelju Frigate" + }, + "enabled": { + "label": "Omogućeno", + "description": "Omogućeno" + }, + "audio": { + "label": "Audio događaji", + "description": "Postavke za detekciju događaja temeljene na audio.", + "enabled": { + "label": "Omogući detekciju zvuka", + "description": "Omogući ili onemogući detekciju događaja temeljenu na audio za ovu kameru." + }, + "max_not_heard": { + "label": "Vrijeme trajanja do kraja", + "description": "Količina sekundi bez konfiguriranog tipa zvuka prije nego što se audio događaj završi." + }, + "min_volume": { + "label": "Minimalna zapremina", + "description": "Minimalni prag RMS zapremine potreban za pokretanje detekcije zvuka; niže vrijednosti povećavaju osjetljivost (npr. 200 visoko, 500 srednje, 1000 nisko)." + }, + "listen": { + "label": "Tipovi slušanja", + "description": "Popis tipova audio događaja za detekciju (npr. zavijanje, požarne zvona, vrisak, govorenje, vikanje)." + }, + "filters": { + "label": "Audio filteri", + "description": "Postavke filtera po tipu zvuka kao što su pragovi pouzdanosti za smanjenje lažnih pozitiva." + }, + "enabled_in_config": { + "label": "Originalno stanje zvuka", + "description": "Indikuje je li detekcija zvuka izvorno omogućena u statičkoj konfiguracijskoj datoteci." + }, + "num_threads": { + "label": "Dretve detekcije", + "description": "Broj dretvi za korištenje za obradu detekcije zvuka." + } + }, + "audio_transcription": { + "label": "Transkripcija zvuka", + "description": "Postavke za transkripciju živog i govornog zvuka korištenih za događaje i žive podnaslove.", + "enabled": { + "label": "Omogući transkripciju", + "description": "Omogući ili onemogući transkripciju audio događaja pokrenutu ručno." + }, + "enabled_in_config": { + "label": "Originalni stanje transkripcije" + }, + "live_enabled": { + "label": "Uživo transkripcija", + "description": "Omogući streaming uživo transkripcije za audio dok se prima." + } + }, + "birdseye": { + "label": "Birdseye", + "description": "Postavke za sastavni prikaz Birdseye koji kombinuje više snimke kamere u jedinstveni raspored.", + "enabled": { + "label": "Omogući Birdseye", + "description": "Omogući ili onemogući funkciju prikaza Birdseye." + }, + "mode": { + "label": "Način praćenja", + "description": "Način uključivanja kamera u Birdseye: 'objekti', 'kretanje' ili 'kontinuirano'." + }, + "order": { + "label": "Pozicija", + "description": "Numerička pozicija koja kontroliše redoslijed kamera u rasporedu Birdseye." + } + }, + "detect": { + "label": "Detekcija objekata", + "description": "Postavke za ulogu detekcije/detekcija koja se koristi za pokretanje detekcije objekata i inicijalizaciju praćenja.", + "enabled": { + "label": "Omogući detekciju objekata", + "description": "Omogući ili onemogući detekciju objekata za ovu kameru." + }, + "height": { + "label": "Visina detekcije", + "description": "Visina (pikseli) okvira korištenih za detekciju stream-a; ostavite prazno za korištenje originalne rezolucije stream-a." + }, + "width": { + "label": "Širina detekcije", + "description": "Širina (pikseli) okvira korištenih za detekciju stream-a; ostavite prazno za korištenje originalne rezolucije stream-a." + }, + "fps": { + "label": "Detekcija FPS", + "description": "Željeni broj okvira po sekundi za pokretanje detekcije; niže vrijednosti smanjuju upotrebu CPU-a (preporučena vrijednost je 5, postavite više - najviše 10 - samo ako praćite vrlo brze objekte)." + }, + "min_initialized": { + "label": "Minimalni broj okvira inicijalizacije", + "description": "Broj uzastopnih detekcija potreban prije stvaranja praćenog objekta. Povećajte da biste smanjili lažne inicijalizacije. Zadana vrijednost je fps podijeljeno sa 2." + }, + "max_disappeared": { + "label": "Maksimalni broj okvira koji su nestali", + "description": "Broj okvira bez detekcije prije nego što se praćeni objekt smatra izgubljenim." + }, + "stationary": { + "label": "Konfiguracija stacionarnih objekata", + "description": "Postavke za detekciju i upravljanje objektima koji ostaju stacionarni tokom određenog vremena.", + "interval": { + "label": "Stacionarni interval", + "description": "Kako često (u snimcima) pokretati provjeru detekcije da biste potvrdili stacionarni objekt." + }, + "threshold": { + "label": "Stacionarni prag", + "description": "Broj snimaka bez promjene pozicije potreban da bi objekt bio označen kao stacionarni." + }, + "max_frames": { + "label": "Maksimalni snimci", + "description": "Ograničava koliko dugo se stacionarni objekti praćaju prije nego što se odbacuju.", + "default": { + "label": "Zadani maksimalni snimci", + "description": "Zadani maksimalni broj snimaka za praćenje stacionarnog objekta prije prestanka." + }, + "objects": { + "label": "Maksimalni snimci po objektu", + "description": "Podešavanja po objektu za maksimalni broj snimaka za praćenje stacionarnih objekata." + } + }, + "classifier": { + "label": "Omogući vizualni klasifikator", + "description": "Koristi vizualni klasifikator za detekciju pravozadanih stacionarnih objekata čak i kada se okviri tresu." + } + }, + "annotation_offset": { + "label": "Pomak oznake", + "description": "Milisekunde za pomak detektiranih oznaka kako bi se bolje poravnali vremenski okviri s snimcima; može biti pozitivan ili negativan." + } + }, + "face_recognition": { + "label": "Prepoznavanje lica", + "description": "Postavke za detekciju i prepoznavanje lica za ovu kameru.", + "enabled": { + "label": "Omogući prepoznavanje lica", + "description": "Omogući ili onemogući prepoznavanje lica." + }, + "min_area": { + "label": "Minimalna površina lica", + "description": "Minimalna površina (pikseli) detektiranog okvira lica potrebna za pokušaj prepoznavanja." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Postavke FFmpeg uključuju putanju binarne datoteke, argumente, opcije hwaccel i izlazne argumente po ulozi.", + "path": { + "label": "Putanja do FFmpeg binarne datoteke", + "description": "Putanja do FFmpeg binarne datoteke ili verzija alias (\"5.0\" ili \"7.0\")." + }, + "global_args": { + "label": "Globalni argumenti FFmpeg-a", + "description": "Globalni argumenti prebačeni na procese FFmpeg." + }, + "hwaccel_args": { + "label": "Argumenti za ubrzanje hardvera", + "description": "Argumenti za ubrzanje hardvera za FFmpeg. Preporučuju se predložci specifični za dobavljača." + }, + "input_args": { + "label": "Unos argumenata", + "description": "Ulazni argumenti primjenjeni na ulazne snimke FFmpeg." + }, + "output_args": { + "label": "Izlazni argumenti", + "description": "Zadani izlazni argumenti korišteni za različite uloge FFmpeg-a poput detekcije i snimanja.", + "detect": { + "label": "Izlazni argumenti za detekciju", + "description": "Zadani izlazni argumenti za snimke uloga detekcije." + }, + "record": { + "label": "Izlazni argumenti za snimanje", + "description": "Zadani izlazni argumenti za snimke uloga snimanja." + } + }, + "retry_interval": { + "label": "Vrijeme ponovnog pokušaja FFmpeg-a", + "description": "Sekunde koje treba čekati prije nego što se pokuša ponovno uspostaviti veza s tokom kamere nakon neuspjeha. Zadano je 10." + }, + "apple_compatibility": { + "label": "Kompatibilnost s Apple-om", + "description": "Omogući označavanje HEVC za bolju kompatibilnost s igračima Apple-a prilikom snimanja H.265." + }, + "gpu": { + "label": "Indeks GPU-a", + "description": "Zadani indeks GPU-a korišten za ubrzanje hardvera ako je dostupan." + }, + "inputs": { + "label": "Ulazni podaci kamere", + "description": "Popis definicija ulaznih tokova (putanje i uloge) za ovu kameru.", + "path": { + "label": "Putanja ulaza", + "description": "URL ili putanja ulaznog toka kamere." + }, + "roles": { + "label": "Uloge ulaza", + "description": "Uloge za ovaj ulazni tok." + }, + "global_args": { + "label": "Globalni argumenti FFmpeg-a", + "description": "Globalni argumenti FFmpeg-a za ovaj ulazni tok." + }, + "hwaccel_args": { + "label": "Argumenti za ubrzanje hardvera", + "description": "Argumenti za ubrzanje hardvera za ovaj ulazni stream." + }, + "input_args": { + "label": "Unos argumenata", + "description": "Argumeti unosa specifični za ovaj stream." + } + } + }, + "live": { + "label": "Uživo prikaz", + "description": "Postavke korištenje Web UI za kontrolu izbora živog streama, rezolucije i kvalitete.", + "streams": { + "label": "Imena živih streamova", + "description": "Mapiranje konfiguriranih imena streamova na imena restream/go2rtc korишtena za uživo prikaz." + }, + "height": { + "label": "Visina uživo", + "description": "Visina (piksela) za prikaz jsmpeg živog streama u Web UI; mora biti <= visina detektiranog streama." + }, + "quality": { + "label": "Kvalitet uživo", + "description": "Kvalitet kodiranja za jsmpeg stream (1 najviši, 31 najniži)." + } + }, + "lpr": { + "label": "Prepoznavanje tablice vozila", + "description": "Postavke prepoznavanja tablice vozila uključujući pragovi detekcije, formatiranje i poznate tablice.", + "enabled": { + "label": "Omogući LPR", + "description": "Omogući ili onemogući LPR na ovoj kameri." + }, + "expire_time": { + "label": "Sekunde isteka", + "description": "Vrijeme u sekundama nakon kojeg nevidljiva tablica istječe iz praćenja (samo za dedikovane LPR kamere)." + }, + "min_area": { + "label": "Minimalna površina tablice", + "description": "Minimalna površina tablice (piksela) potrebna za pokušaj prepoznavanja." + }, + "enhancement": { + "label": "Nivo poboljšanja", + "description": "Nivo poboljšanja (0-10) za primjenu na isječke tablice prije OCR-a; veće vrijednosti ne moraju uvijek poboljšati rezultate, nivoi iznad 5 mogu raditi samo s tablicama u noćnom vremenu i trebaju se koristiti s oprezom." + } + }, + "motion": { + "label": "Detekcija pokreta", + "description": "Zadane postavke detekcije pokreta za ovu kameru.", + "enabled": { + "label": "Omogući detekciju pokreta", + "description": "Omogući ili onemogući detekciju pokreta za ovu kameru." + }, + "threshold": { + "label": "Prag pokreta", + "description": "Prag razlike piksela korišten za detektor pokreta; veće vrijednosti smanjuju osjetljivost (opseg 1-255)." + }, + "lightning_threshold": { + "label": "Prag munje", + "description": "Prag za detekciju i zanemarivanje kratkih iskri svjetlosti (niže vrijednosti povećavaju osjetljivost, vrijednosti između 0.3 i 1.0). Ovo ne spriječava detekciju pokreta u potpunosti; jednostavno zaustavlja detektor da analizira dodatne okvire nakon što se prag premaši. Snimci temeljeni na pokretima i dalje se stvaraju tijekom ovih događaja." + }, + "skip_motion_threshold": { + "label": "Preskoči prag pokreta", + "description": "Ako se postavi na vrijednost između 0.0 i 1.0, i ako se više od ovog udjela slike promijeni u jednom okviru, detektor neće vratiti kutije pokreta i odmah će se ponovno kalibrirati. Ovo može uštedjeti CPU i smanjiti lažne pozitive tijekom munje, oluje itd., ali može propustiti stvarne događaje kao što je automatsko praćenje objekta PTZ kamerom. Tržište je između izgube nekoliko megabajta snimaka i pregleda nekoliko kratkih zapisnika. Ostavite nepostavljeno (Nijedno) za onemogućavanje ove funkcije." + }, + "improve_contrast": { + "label": "Poboljšaj kontrast", + "description": "Primijeni poboljšanje kontrasta na okvire prije analize pokreta kako bi pomoću detekcije." + }, + "contour_area": { + "label": "Površina kontura", + "description": "Minimalna površina kontura u pikselima potrebna za brojanje kontura pokreta." + }, + "delta_alpha": { + "label": "Delta alfa", + "description": "Faktor alfa spajanja korišten za razliku okvira za izračun pokreta." + }, + "frame_alpha": { + "label": "Alfa okvira", + "description": "Vrijednost alfa korištena prilikom spajanja okvira za predobradbu pokreta." + }, + "frame_height": { + "label": "Visina okvira", + "description": "Visina u pikselima na koju se skaliraju okviri prilikom izračuna pokreta." + }, + "mask": { + "label": "Koordinate maska", + "description": "Uredno x,y koordinate koje definiraju poligon maska pokreta za uključivanje/isključivanje područja." + }, + "mqtt_off_delay": { + "label": "MQTT zakasnjenje isključivanja", + "description": "Sekunde koje se čekaju nakon posljednjeg pokreta prije objave MQTT 'isključeno' stanje." + }, + "enabled_in_config": { + "label": "Originalno stanje pokreta", + "description": "Indikira je li detekcija pokreta bila omogućena u originalnoj statičkoj konfiguraciji." + }, + "raw_mask": { + "label": "Ručna maska" + } + }, + "objects": { + "label": "Objekti", + "description": "Zadani parametri praćenja objekata uključujući koje oznake praćenja i filtre po objektu.", + "track": { + "label": "Objekti za praćenje", + "description": "Popis oznaka objekata za praćenje za ovu kameru." + }, + "filters": { + "label": "Filtar objekata", + "description": "Filtar primijenjen na detektirane objekte kako bi se smanjila broj lažnih pozitiva (površina, omjer, pouzdanost).", + "min_area": { + "label": "Minimalna površina objekta", + "description": "Minimalna površina okvira (pikseli ili postotak) potrebna za ovaj tip objekta. Može biti pikseli (cijeli broj) ili postotak (float između 0.000001 i 0.99)." + }, + "max_area": { + "label": "Maksimalna površina objekta", + "description": "Maksimalna površina okvira (pikseli ili postotak) dozvoljena za ovaj tip objekta. Može biti pikseli (cijeli broj) ili postotak (float između 0.000001 i 0.99)." + }, + "min_ratio": { + "label": "Minimalni omjer visine/širine", + "description": "Minimalni omjer širine/visine potreban da bi okvir bio prihvaćen." + }, + "max_ratio": { + "label": "Maksimalni omjer visine/širine", + "description": "Maksimalni omjer širine/visine dozvoljen da bi okvir bio prihvaćen." + }, + "threshold": { + "label": "Prag pouzdanosti", + "description": "Prosjek pragova pouzdanosti detekcije potreban da bi objekt bio smatravan pravim pozitivom." + }, + "min_score": { + "label": "Minimalna pouzdanost", + "description": "Minimalna pouzdanost detekcije po okviru potrebna da bi objekt bio brojan." + }, + "mask": { + "label": "Maska filtriranja", + "description": "Koordinate poligona koje definiraju područje na kojem se ovaj filter primjenjuje unutar okvira." + }, + "raw_mask": { + "label": "Ručna maska" + } + }, + "mask": { + "label": "Maska objekta", + "description": "Poligonalna maska korištena za spriječavanje detekcije objekta u određenim područjima." + }, + "raw_mask": { + "label": "Ručna maska" + }, + "genai": { + "label": "Konfiguracija GenAI objekta", + "description": "Opcije GenAI za opisivanje praćenih objekata i slanje okvira za generisanje.", + "enabled": { + "label": "Omogući GenAI", + "description": "Omogući generisanje opisa za praćene objekte po zadanim postavkama." + }, + "use_snapshot": { + "label": "Koristi snimke", + "description": "Koristi snimke objekata umjesto miniaturnih slika za generisanje opisa GenAI." + }, + "prompt": { + "label": "Naslovni prompt", + "description": "Zadani šablon upita korišten za generisanje opisa pomoću GenAI." + }, + "object_prompts": { + "label": "Prompti za objekte", + "description": "Prompti po objektu za prilagođavanje izlaza GenAI za specifične oznake." + }, + "objects": { + "label": "GenAI objekti", + "description": "Popis oznaka objekata koje se po defaultu šalju GenAI." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Zone koje moraju biti unesene za objekte da bi se kvalifikovali za generisanje opisa GenAI." + }, + "debug_save_thumbnails": { + "label": "Sačuvajte miniaturne slike", + "description": "Sačuvaj miniaturne slike koje se šalju GenAI za ispravljanje i pregled." + }, + "send_triggers": { + "label": "GenAI izazivači", + "description": "Definiše kada bi se trebale slati okvir za GenAI (na kraju, nakon ažuriranja, itd.).", + "tracked_object_end": { + "label": "Pošalji na kraju", + "description": "Pošalji zahtjev GenAI kada praćeni objekt završi." + }, + "after_significant_updates": { + "label": "Raniji GenAI izazivač", + "description": "Pošalji zahtjev GenAI nakon određenog broja značajnih ažuriranja za praćeni objekt." + } + }, + "enabled_in_config": { + "label": "Originalno stanje GenAI", + "description": "Pokazuje je li GenAI bio omogućen u originalnoj statičkoj konfiguraciji." + } + } + }, + "record": { + "label": "Snimanje", + "description": "Postavke snimanja i zadržavanja za ovu kameru.", + "enabled": { + "label": "Omogući snimanje", + "description": "Omogući ili onemogući snimanje za ovu kameru." + }, + "expire_interval": { + "label": "Interval čišćenja snimanja", + "description": "Minute između čišćenja koja uklanjaju istekle segmente snimaka." + }, + "continuous": { + "label": "Neprekidna retencija", + "description": "Broj dana za čuvanje snimaka bez obzira na praćene objekte ili pokret. Postavite na 0 ako želite da čuvate samo snimke upozorenja i detekcije.", + "days": { + "label": "Dane zadržavanja", + "description": "Dana za čuvanje snimaka." + } + }, + "motion": { + "label": "Retencija pokreta", + "description": "Broj dana za čuvanje snimaka izazvanih pokretom bez obzira na praćene objekte. Postavite na 0 ako želite da čuvate samo snimke upozorenja i detekcije.", + "days": { + "label": "Dane zadržavanja", + "description": "Dana za čuvanje snimaka." + } + }, + "detections": { + "label": "Retencija detekcije", + "description": "Postavke retencije snimaka za događaje detekcije uključujući trajanje pre/post snimanja.", + "pre_capture": { + "label": "Sekundi pre snimanja", + "description": "Broj sekundi prije događaja detekcije koje treba uključiti u snimak." + }, + "post_capture": { + "label": "Sekunde nakon snimanja", + "description": "Broj sekundi nakon događaja detekcije koje se uključuju u snimanje." + }, + "retain": { + "label": "Zadržavanje događaja", + "description": "Postavke zadržavanja za snimke događaja detekcije.", + "days": { + "label": "Dane zadržavanja", + "description": "Broj dana za koje se zadržavaju snimke događaja detekcije." + }, + "mode": { + "label": "Način zadržavanja", + "description": "Način zadržavanja: sve (sačuvati sve segmente), pokret (sačuvati segmente s pokretom), ili aktivni_objekti (sačuvati segmente s aktivnim objektima)." + } + } + }, + "alerts": { + "label": "Retencija upozorenja", + "description": "Postavke retencije snimaka za događaje upozorenja uključujući trajanje pre/post snimanja.", + "pre_capture": { + "label": "Sekundi pre snimanja", + "description": "Broj sekundi prije događaja detekcije koje treba uključiti u snimak." + }, + "post_capture": { + "label": "Sekunde nakon snimanja", + "description": "Broj sekundi nakon događaja detekcije koje se uključuju u snimanje." + }, + "retain": { + "label": "Zadržavanje događaja", + "description": "Postavke zadržavanja za snimke događaja detekcije.", + "days": { + "label": "Dane zadržavanja", + "description": "Broj dana za koje se zadržavaju snimke događaja detekcije." + }, + "mode": { + "label": "Način zadržavanja", + "description": "Način zadržavanja: sve (sačuvati sve segmente), pokret (sačuvati segmente s pokretom), ili aktivni_objekti (sačuvati segmente s aktivnim objektima)." + } + } + }, + "export": { + "label": "Konfiguracija izvoza", + "description": "Postavke koje se koriste prilikom izvoza snimaka kao što su timelapse i ubrzavanje dretve.", + "hwaccel_args": { + "label": "Argumeti ubrzavanja dretve za izvoz", + "description": "Argumeti ubrzavanja dretve za operacije izvoza/prenosa." + }, + "max_concurrent": { + "label": "Maksimalan broj istovremenih izvoza", + "description": "Maksimalan broj poslova izvoza koji se obrađuju istovremeno." + } + }, + "preview": { + "label": "Konfiguracija pregleda", + "description": "Postavke koje kontrolišu kvalitet pregleda snimanja prikazanih u UI.", + "quality": { + "label": "Kvaliteta pregleda", + "description": "Nivo kvalitete pregleda (vrlo_nizak, nizak, srednji, visok, vrlo_visok)." + } + }, + "enabled_in_config": { + "label": "Originalno stanje snimanja", + "description": "Pokazuje je li snimanje bilo omogućeno u originalnoj statičkoj konfiguraciji." + } + }, + "review": { + "label": "Pregled", + "description": "Postavke koje kontrolišu upozorenja, detekcije i sažetke pregleda GenAI korišteni od strane UI i skladišta za ovu kameru.", + "alerts": { + "label": "Konfiguracija upozorenja", + "description": "Postavke za koje objekti praćeni generišu upozorenja i kako se upozorenja zadržavaju.", + "enabled": { + "label": "Omogući upozorenja", + "description": "Omogući ili onemogući generisanje upozorenja za ovu kameru." + }, + "labels": { + "label": "Oznake upozorenja", + "description": "Lista oznaka objekata koje se smatraju upozorenjima (npr. automobil, osoba)." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Zone koje objekt mora ući da bi se smatrao upozorenjem; ostavite prazno da omogućite bilo koju zonu." + }, + "enabled_in_config": { + "label": "Originalno stanje upozorenja", + "description": "Pratiti je li upozorenja izvorno omogućena u statičkoj konfiguraciji." + }, + "cutoff_time": { + "label": "Vrijeme prekida upozorenja", + "description": "Sekunde koje treba čekati nakon što nema aktivnosti koja uzrokuje upozorenje prije nego se prekine upozorenje." + } + }, + "detections": { + "label": "Konfiguracija detekcija", + "description": "Postavke koje objekti koje se praćenje generišu detekcije (nepozornja) i kako se detekcije čuvaju.", + "enabled": { + "label": "Omogući detekcije", + "description": "Omogući ili onemogući događaje detekcije za ovu kameru." + }, + "labels": { + "label": "Oznake detekcije", + "description": "Popis oznaka objekata koje kvalifikuju kao događaji detekcije." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Zone koje objekt mora ući da bi se smatrao detekcijom; ostavite prazno da omogućite bilo koju zonu." + }, + "cutoff_time": { + "label": "Vrijeme prekida detekcija", + "description": "Sekunde koje treba čekati nakon što nema aktivnosti koja uzrokuje detekciju prije nego se prekine detekcija." + }, + "enabled_in_config": { + "label": "Originalno stanje detekcija", + "description": "Pratiti je li detekcije izvorno omogućene u statičkoj konfiguraciji." + } + }, + "genai": { + "label": "Konfiguracija GenAI", + "description": "Kontrolira korištenje generativne AI za proizvodnju opisa i sažetaka stavki za pregled.", + "enabled": { + "label": "Omogući opise GenAI", + "description": "Omogući ili onemogući opise i sažetke generirane GenAI za stavke za pregled." + }, + "alerts": { + "label": "Omogući GenAI za upozorenja", + "description": "Koristi GenAI za generiranje opisa stavki upozorenja." + }, + "detections": { + "label": "Omogući GenAI za detekcije", + "description": "Koristite GenAI za generiranje opisa predmeta detekcije." + }, + "image_source": { + "label": "Pregledajte izvor slike", + "description": "Izvor slika poslatih GenAIJ-u ('preview' ili 'recordings'); 'recordings' koristi kvalitetnije okvire, ali više tokena." + }, + "additional_concerns": { + "label": "Dodatne brige", + "description": "Popis dodatnih briga ili napomena koje GenAI treba uzeti u obzir prilikom procjene aktivnosti na ovoj kameri." + }, + "debug_save_thumbnails": { + "label": "Sačuvajte miniaturne slike", + "description": "Sačuvajte miniaturne slike koje se šalju GenAI provajderu za ispravljanje grešaka i pregled." + }, + "enabled_in_config": { + "label": "Originalno stanje GenAI", + "description": "Pratiti je li pregled GenAI izvorno omogućen u statičkoj konfiguraciji." + }, + "preferred_language": { + "label": "Preferirani jezik", + "description": "Preferirani jezik za zahtijevanje od GenAI provajdera za generirane odgovore." + }, + "activity_context_prompt": { + "label": "Prompt konteksta aktivnosti", + "description": "Prilagođeni prompt koji opisuje što je i što nije sumnjivo ponašanje kako bi pružio kontekst za sažetke GenAI." + } + } + }, + "semantic_search": { + "label": "Semantička pretraga", + "description": "Postavke za semantičku pretragu koja konstruira i upita uključivanje objekata kako bi pronašla slične stavke.", + "triggers": { + "label": "Pokretači", + "description": "Akcije i kriteriji za usklađivanje za pokretače semantičke pretrage specifične za kameru.", + "friendly_name": { + "label": "Prijateljsko ime", + "description": "Nepovlačno prijateljsko ime prikazano u korisničkom sučelju za ovaj pokretač." + }, + "enabled": { + "label": "Omogući ovaj pokretač", + "description": "Omogući ili onemogući ovaj pokretač semantičke pretrage." + }, + "type": { + "label": "Tip pokretača", + "description": "Tip pokretača: 'thumbnail' (uspoređivanje slikom) ili 'description' (uspoređivanje teksta)." + }, + "data": { + "label": "Sadržaj pokretača", + "description": "Tekstualni izraz ili ID miniaturne slike za uspoređivanje s praćenim objektima." + }, + "threshold": { + "label": "Prag aktivacije", + "description": "Minimalna ocjena sličnosti (0-1) potrebna za aktivaciju ovog izazivača." + }, + "actions": { + "label": "Akcije izazivača", + "description": "Popis akcija koje se izvršavaju kada izazivač odgovara (obavijest, pod_naziv, atribute)." + } + } + }, + "snapshots": { + "label": "Snimci", + "description": "Postavke za snimke generirane preko API-ja za praćene objekte za ovu kameru.", + "enabled": { + "label": "Omogući snimke", + "description": "Omogući ili onemogući snimanje snimaka za ovu kameru." + }, + "timestamp": { + "label": "Preklapanje vremenske oznake", + "description": "Preklopiti vremensku oznaku na snimke iz API-ja." + }, + "bounding_box": { + "label": "Preklapanje okvira", + "description": "Crtanje okvira za praćene objekte na snimke iz API-ja." + }, + "crop": { + "label": "Izrezivanje snimke", + "description": "Izrezivanje snimki iz API-ja do okvira detektiranog objekta." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Zone koje objekt mora ući da bi snimka bila sačuvana." + }, + "height": { + "label": "Visina snimke", + "description": "Visina (pikseli) za promjenu veličine snimki iz API-ja; ostavite prazno da biste sačuvali originalnu veličinu." + }, + "retain": { + "label": "Zadržavanje snimki", + "description": "Postavke zadržavanja snimki uključujući zadane dane i prekriženja po objektu.", + "default": { + "label": "Zadano zadržavanje", + "description": "Zadani broj dana za zadržavanje snimki." + }, + "mode": { + "label": "Način zadržavanja", + "description": "Način zadržavanja: sve (sačuvati sve segmente), pokret (sačuvati segmente s pokretom), ili aktivni_objekti (sačuvati segmente s aktivnim objektima)." + }, + "objects": { + "label": "Zadržavanje objekata", + "description": "Prekriženja po objektu za dane zadržavanja snimki." + } + }, + "quality": { + "label": "Kvaliteta snimka", + "description": "Kvaliteta kodiranja za sačuvane snimke (0-100)." + } + }, + "timestamp_style": { + "label": "Stil vremenske oznake", + "description": "Opcije stilizacije za vremenske oznake u snimcima i snimcima.", + "position": { + "label": "Pozicija vremenske oznake", + "description": "Pozicija vremenske oznake na slici (tl/tr/bl/br)." + }, + "format": { + "label": "Format vremenske oznake", + "description": "String formata datuma i vremena korišten za vremenske oznake (Python format koda za datum i vrijeme)." + }, + "color": { + "label": "Boja vremenske oznake", + "description": "RGB vrijednosti boja za tekst vremenske oznake (sve vrijednosti 0-255).", + "red": { + "label": "Crvena", + "description": "Crveni komponent (0-255) za boju vremenske oznake." + }, + "green": { + "label": "Zelena", + "description": "Zeleni komponent (0-255) za boju vremenske oznake." + }, + "blue": { + "label": "Plava", + "description": "Plavi komponent (0-255) za boju vremenske oznake." + } + }, + "thickness": { + "label": "Debljina vremenske oznake", + "description": "Debljina linije teksta vremenske oznake." + }, + "effect": { + "label": "Efekt vremenske oznake", + "description": "Vizualni efekt za tekst vremenske oznake (none, solid, shadow)." + } + }, + "best_image_timeout": { + "label": "Vrijeme čekanja za najbolju sliku", + "description": "Koliko dugo čekati na sliku s najvišim stupnjem pouzdanosti." + }, + "mqtt": { + "label": "MQTT", + "description": "Postavke objave slika preko MQTT.", + "enabled": { + "label": "Pošalji sliku", + "description": "Omogući objavljivanje snimaka slika za objekte na MQTT teme za ovu kameru." + }, + "timestamp": { + "label": "Dodaj vremensku oznaku", + "description": "Preklopiti vremensku oznaku na slike objavljene preko MQTT." + }, + "bounding_box": { + "label": "Dodaj okvir", + "description": "Crtaj okvire na slikama objavljenim preko MQTT." + }, + "crop": { + "label": "Iscijepi sliku", + "description": "Iscijepi slike objavljene preko MQTT na okvir detektiranog objekta." + }, + "height": { + "label": "Visina slike", + "description": "Visina (piksela) za promjenu veličine slika objavljenih preko MQTT." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Zone koje objekt mora ući da bi se slika preko MQTT objavila." + }, + "quality": { + "label": "Kvaliteta JPEG", + "description": "Kvaliteta JPEG za slike objavljene preko MQTT (0-100)." + } + }, + "notifications": { + "label": "Obavještenja", + "description": "Postavke za omogućavanje i kontrolu obavijesti za ovu kameru.", + "enabled": { + "label": "Omogući obavijesti", + "description": "Omogući ili onemogući obavijesti za ovu kameru." + }, + "email": { + "label": "E-mail za obavijesti", + "description": "Adresa e-maila koja se koristi za obavijesti putem push-a ili je potrebna određenim dobavljačima obavijesti." + }, + "cooldown": { + "label": "Period hlađenja", + "description": "Period hlađenja (sekunde) između obavijesti kako bi se izbjeglo spaming primateljima." + }, + "enabled_in_config": { + "label": "Originalno stanje obavijesti", + "description": "Pokazuje je li obavijesti bile omogućene u originalnoj statičkoj konfiguraciji." + } + }, + "onvif": { + "label": "ONVIF", + "description": "Postavke povezivanja preko ONVIF i automatskog praćenja PTZ za ovu kameru.", + "host": { + "label": "Gost ONVIF", + "description": "Gost (i opcionalni shema) za uslugu ONVIF za ovu kameru." + }, + "port": { + "label": "Port ONVIF", + "description": "Broj porta za uslugu ONVIF." + }, + "user": { + "label": "Korisničko ime za ONVIF", + "description": "Korisničko ime za autentifikaciju ONVIF; neki uređaji zahtijevaju korisnika admin za ONVIF." + }, + "password": { + "label": "Lozinka za ONVIF", + "description": "Lozinka za autentifikaciju ONVIF." + }, + "tls_insecure": { + "label": "Onemogući provjeru TLS", + "description": "Preskoči provjeru TLS i onemogući digest autentifikaciju za ONVIF (nebezbedno; koristiti samo u sigurnim mrežama)." + }, + "profile": { + "label": "ONVIF profil", + "description": "Specifičan ONVIF medij profil za korištenje za kontrolu PTZ, prilagođen tokenom ili imenom. Ako nije postavljen, prvi profil s važećom konfiguracijom PTZ automatski se odabire." + }, + "autotracking": { + "label": "Autotračenje", + "description": "Automatski praćenje pokretanja objekata i držanje ih u sredini okvira korištenjem pokreta kamere PTZ.", + "enabled": { + "label": "Omogući automatsko praćenje", + "description": "Omogući ili onemogući automatsko praćenje kamere PTZ detektiranih objekata." + }, + "calibrate_on_startup": { + "label": "Kalibriraj na početku", + "description": "Mjeri brzine motora PTZ pri pokretanju kako bi poboljšao preciznost praćenja. Frigate će ažurirati konfiguraciju s težinama pokreta nakon kalibracije." + }, + "zooming": { + "label": "Režim zumiranja", + "description": "Kontrola ponašanja zumiranja: onemogućeno (samo pan/tilt), apsolutno (najkompatibilnije) ili relativno (konkurentno pan/tilt/zum)." + }, + "zoom_factor": { + "label": "Faktor zumiranja", + "description": "Kontrola razine zumiranja na praćenim objektima. Niže vrijednosti drže više scene u pogledu; više vrijednosti zumiraju bliže, ali mogu izgubiti praćenje. Vrijednosti između 0.1 i 0.75." + }, + "track": { + "label": "Praćeni objekti", + "description": "Popis vrsta objekata koji trebaju pokrenuti automatsko praćenje." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Objekti moraju ući u jednu od ovih zona prije nego što započne automatsko praćenje." + }, + "return_preset": { + "label": "Povratak na predpostavku", + "description": "Ime predpostavke konfigurirano u firmware kamere za povratak nakon završetka praćenja." + }, + "timeout": { + "label": "Vrijeme čekanja povratka", + "description": "Čekajte ovaj broj sekundi nakon gubitka praćenja prije povratka kamere na predpostavljeno mjesto." + }, + "movement_weights": { + "label": "Težine pokreta", + "description": "Vrijednosti kalibracije automatski generirane kroz kalibraciju kamere. Ne mijenjajte ručno." + }, + "enabled_in_config": { + "label": "Originalni stanje autotračenja", + "description": "Unutarnje polje za praćenje je li autotračenje bilo omogućeno u konfiguraciji." + } + }, + "ignore_time_mismatch": { + "label": "Zanemari razliku u vremenu", + "description": "Zanemari razlike u sinhronizaciji vremena između kamere i Frigate servera za komunikaciju ONVIF." + } + }, + "type": { + "label": "Tip kamere", + "description": "Tip kamere" + }, + "ui": { + "label": "Kamera UI", + "description": "Prikaz redoslijeda i vidljivosti za ovu kameru u UI. Redoslijed utječe na zadani nadzorno pločo. Za detaljniju kontrolu koristite grupe kamere.", + "order": { + "label": "Redoslijed UI", + "description": "Numerički redoslijed koristi se za sortiranje kamere u UI (zadani nadzorno pločo i popisi); veći brojevi pojavljuju se kasnije." + }, + "dashboard": { + "label": "Prikaži u UI", + "description": "Prekidač je li ova kamera vidljiva svuda u UI Frigate. Onemogućavanje ovoga zahtijeva ručno uređivanje konfiguracije za ponovno prikazivanje ove kamere u UI." + } + }, + "webui_url": { + "label": "URL kamere", + "description": "URL za pristup kamere izravno iz stranice sustava" + }, + "profiles": { + "label": "Profili", + "description": "Imenovane konfiguracijske profile s parcijalnim preklopima koji se mogu aktivirati tijekom izvršavanja." + }, + "enabled_in_config": { + "label": "Originalno stanje kamere", + "description": "Pratite originalno stanje kamere." + } +} diff --git a/web/public/locales/bs/config/global.json b/web/public/locales/bs/config/global.json new file mode 100644 index 000000000..eaf57b401 --- /dev/null +++ b/web/public/locales/bs/config/global.json @@ -0,0 +1,1596 @@ +{ + "version": { + "label": "Trenutna verzija konfiguracije", + "description": "Numerička ili string verzija aktivne konfiguracije za pomoć pri otkrivanju migracija ili promjena formata." + }, + "audio": { + "label": "Audio događaji", + "enabled": { + "label": "Omogući detekciju zvuka", + "description": "Omogući ili onemogući detekciju zvučnih događaja za sve kamere; mogu se prekrivati po kameri." + }, + "max_not_heard": { + "label": "Vrijeme trajanja do kraja", + "description": "Količina sekundi bez konfiguriranog tipa zvuka prije nego što se audio događaj završi." + }, + "min_volume": { + "label": "Minimalna zapremina", + "description": "Minimalni prag RMS zapremine potreban za pokretanje detekcije zvuka; niže vrijednosti povećavaju osjetljivost (npr. 200 visoko, 500 srednje, 1000 nisko)." + }, + "listen": { + "label": "Tipovi slušanja", + "description": "Popis tipova audio događaja za detekciju (npr. zavijanje, požarne zvona, vrisak, govorenje, vikanje)." + }, + "filters": { + "label": "Audio filteri", + "description": "Postavke filtera po tipu zvuka kao što su pragovi pouzdanosti za smanjenje lažnih pozitiva." + }, + "enabled_in_config": { + "label": "Originalno stanje zvuka", + "description": "Indikuje je li detekcija zvuka izvorno omogućena u statičkoj konfiguracijskoj datoteci." + }, + "num_threads": { + "label": "Dretve detekcije", + "description": "Broj dretvi za korištenje za obradu detekcije zvuka." + }, + "description": "Postavke za detekciju događaja na osnovu zvuka za sve kamere; mogu se prekrivati po kameri." + }, + "audio_transcription": { + "label": "Transkripcija zvuka", + "description": "Postavke za transkripciju živog i govornog zvuka korištenih za događaje i žive podnaslove.", + "live_enabled": { + "label": "Uživo transkripcija", + "description": "Omogući streaming uživo transkripcije za audio dok se prima." + }, + "enabled": { + "label": "Omogući transkripciju zvuka", + "description": "Omogući ili onemogući automatsku transkripciju zvuka za sve kamere; može se prekrimiti po kamere." + }, + "language": { + "label": "Jezik za transkripciju", + "description": "Kod jezika korišten za transkripciju/prevod (npr. 'en' za engleski). Pogledajte https://whisper-api.com/docs/languages/ za podržane kodove jezika." + }, + "device": { + "label": "Uređaj za transkripciju", + "description": "Ključ uređaja (CPU/GPU) za izvršavanje modela transkripcije. Trenutno se podržavaju samo NVIDIA CUDA GPU-ovi za transkripciju." + }, + "model_size": { + "label": "Veličina modela", + "description": "Veličina modela za korištenje za offline transkripciju zvučnih događaja." + } + }, + "birdseye": { + "label": "Birdseye", + "description": "Postavke za sastavni prikaz Birdseye koji kombinuje više snimke kamere u jedinstveni raspored.", + "enabled": { + "label": "Omogući Birdseye", + "description": "Omogući ili onemogući funkciju prikaza Birdseye." + }, + "mode": { + "label": "Način praćenja", + "description": "Način uključivanja kamera u Birdseye: 'objekti', 'kretanje' ili 'kontinuirano'." + }, + "order": { + "label": "Pozicija", + "description": "Numerička pozicija koja kontroliše redoslijed kamera u rasporedu Birdseye." + }, + "restream": { + "label": "Ponovno prenos RTSP", + "description": "Ponovno prenos izlaza Birdseye kao RTSP tok; uključivanje ovoga će održavati Birdseye u neprekidnom radu." + }, + "width": { + "label": "Širina", + "description": "Širina izlaza (piksela) sastavljenog okvira Birdseye." + }, + "height": { + "label": "Visina", + "description": "Visina izlaza (piksela) sastavljenog okvira Birdseye." + }, + "quality": { + "label": "Kvalitet kodiranja", + "description": "Kvalitet kodiranja za Birdseye mpeg1 tok (1 najviši kvalitet, 31 najniži)." + }, + "inactivity_threshold": { + "label": "Prag neaktivnosti", + "description": "Sekunde neaktivnosti nakon kojih će kamera prestati da se prikazuje u Birdseye." + }, + "layout": { + "label": "Razmještaj", + "description": "Opcije razmještaja za sastavljanje Birdseye.", + "scaling_factor": { + "label": "Faktor skaliranja", + "description": "Faktor skaliranja korišten od strane računala za razmještaj (opseg 1.0 do 5.0)." + }, + "max_cameras": { + "label": "Maksimalan broj kamera", + "description": "Maksimalan broj kamera koje se mogu prikazati istovremeno u Birdseye; prikazuje najnovije kamere." + } + }, + "idle_heartbeat_fps": { + "label": "Neaktivno srčanog udaraca FPS", + "description": "Broj okvira po sekundi za ponovno slanje posljednjeg sastavljenog Birdseye okvira kada je neaktivno; postavite na 0 za onemogućavanje." + } + }, + "detect": { + "label": "Detekcija objekata", + "description": "Postavke za ulogu detekcije/detekcija koja se koristi za pokretanje detekcije objekata i inicijalizaciju praćenja.", + "enabled": { + "label": "Omogući detekciju objekata", + "description": "Omogući ili onemogući detekciju objekata za sve kamere; može se prekrimiti po kamere." + }, + "height": { + "label": "Visina detekcije", + "description": "Visina (pikseli) okvira korištenih za detekciju stream-a; ostavite prazno za korištenje originalne rezolucije stream-a." + }, + "width": { + "label": "Širina detekcije", + "description": "Širina (pikseli) okvira korištenih za detekciju stream-a; ostavite prazno za korištenje originalne rezolucije stream-a." + }, + "fps": { + "label": "Detekcija FPS", + "description": "Željeni broj okvira po sekundi za pokretanje detekcije; niže vrijednosti smanjuju upotrebu CPU-a (preporučena vrijednost je 5, postavite više - najviše 10 - samo ako praćite vrlo brze objekte)." + }, + "min_initialized": { + "label": "Minimalni broj okvira inicijalizacije", + "description": "Broj uzastopnih detekcija potreban prije stvaranja praćenog objekta. Povećajte da biste smanjili lažne inicijalizacije. Zadana vrijednost je fps podijeljeno sa 2." + }, + "max_disappeared": { + "label": "Maksimalni broj okvira koji su nestali", + "description": "Broj okvira bez detekcije prije nego što se praćeni objekt smatra izgubljenim." + }, + "stationary": { + "label": "Konfiguracija stacionarnih objekata", + "description": "Postavke za detekciju i upravljanje objektima koji ostaju stacionarni tokom određenog vremena.", + "interval": { + "label": "Stacionarni interval", + "description": "Kako često (u snimcima) pokretati provjeru detekcije da biste potvrdili stacionarni objekt." + }, + "threshold": { + "label": "Stacionarni prag", + "description": "Broj snimaka bez promjene pozicije potreban da bi objekt bio označen kao stacionarni." + }, + "max_frames": { + "label": "Maksimalni snimci", + "description": "Ograničava koliko dugo se stacionarni objekti praćaju prije nego što se odbacuju.", + "default": { + "label": "Zadani maksimalni snimci", + "description": "Zadani maksimalni broj snimaka za praćenje stacionarnog objekta prije prestanka." + }, + "objects": { + "label": "Maksimalni snimci po objektu", + "description": "Podešavanja po objektu za maksimalni broj snimaka za praćenje stacionarnih objekata." + } + }, + "classifier": { + "label": "Omogući vizualni klasifikator", + "description": "Koristi vizualni klasifikator za detekciju pravozadanih stacionarnih objekata čak i kada se okviri tresu." + } + }, + "annotation_offset": { + "label": "Pomak oznake", + "description": "Milisekunde za pomak detektiranih oznaka kako bi se bolje poravnali vremenski okviri s snimcima; može biti pozitivan ili negativan." + } + }, + "face_recognition": { + "label": "Prepoznavanje lica", + "enabled": { + "label": "Omogući prepoznavanje lica", + "description": "Omogući ili onemogući prepoznavanje lica za sve kamere; mogu se preklopiti po kameri." + }, + "min_area": { + "label": "Minimalna površina lica", + "description": "Minimalna površina (pikseli) detektiranog okvira lica potrebna za pokušaj prepoznavanja." + }, + "description": "Postavke za detekciju i prepoznavanje lica za sve kamere; mogu se preklopiti po kameri.", + "model_size": { + "label": "Veličina modela", + "description": "Veličina modela za korištenje za ugradnje lica (small/large); veće može zahtijevati GPU." + }, + "unknown_score": { + "label": "Prag neznatnog rezultata", + "description": "Prag udaljenosti ispod kojeg se lice smatra potencijalnim odgovarajućim (viši = stroži)." + }, + "detection_threshold": { + "label": "Prag detekcije", + "description": "Minimalni prag pouzdanosti potreban za razmatranje detekcije lica kao važeće." + }, + "recognition_threshold": { + "label": "Prag prepoznavanja", + "description": "Prag udaljenosti ugradnje lica za razmatranje dva lica kao odgovarajuća." + }, + "min_faces": { + "label": "Minimalan broj lica", + "description": "Minimalan broj prepoznavanja lica potreban prije nego što se primijeni prepoznati podnaziv za osobu." + }, + "save_attempts": { + "label": "Pokušaji sačuvanja", + "description": "Broj pokušaja prepoznavanja lica koje se treba sačuvati za korisnički sučelje najnovijih prepoznavanja." + }, + "blur_confidence_filter": { + "label": "Filter pouzdanosti za zamagljenost", + "description": "Prilagodite ocjene pouzdanosti na temelju zamagljenosti slike kako biste smanjili lažne pozitive za loše kvalitete lica." + }, + "device": { + "label": "Uređaj", + "description": "Ovo je prekršaj, da biste ciljali specifičan uređaj. Pogledajte https://onnxruntime.ai/docs/execution-providers/ za više informacija" + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Postavke FFmpeg uključuju putanju binarne datoteke, argumente, opcije hwaccel i izlazne argumente po ulozi.", + "path": { + "label": "Putanja do FFmpeg binarne datoteke", + "description": "Putanja do FFmpeg binarne datoteke ili verzija alias (\"5.0\" ili \"7.0\")." + }, + "global_args": { + "label": "Globalni argumenti FFmpeg-a", + "description": "Globalni argumenti prebačeni na procese FFmpeg." + }, + "hwaccel_args": { + "label": "Argumenti za ubrzanje hardvera", + "description": "Argumenti za ubrzanje hardvera za FFmpeg. Preporučuju se predložci specifični za dobavljača." + }, + "input_args": { + "label": "Unos argumenata", + "description": "Ulazni argumenti primjenjeni na ulazne snimke FFmpeg." + }, + "output_args": { + "label": "Izlazni argumenti", + "description": "Zadani izlazni argumenti korišteni za različite uloge FFmpeg-a poput detekcije i snimanja.", + "detect": { + "label": "Izlazni argumenti za detekciju", + "description": "Zadani izlazni argumenti za snimke uloga detekcije." + }, + "record": { + "label": "Izlazni argumenti za snimanje", + "description": "Zadani izlazni argumenti za snimke uloga snimanja." + } + }, + "retry_interval": { + "label": "Vrijeme ponovnog pokušaja FFmpeg-a", + "description": "Sekunde koje treba čekati prije nego što se pokuša ponovno uspostaviti veza s tokom kamere nakon neuspjeha. Zadano je 10." + }, + "apple_compatibility": { + "label": "Kompatibilnost s Apple-om", + "description": "Omogući označavanje HEVC za bolju kompatibilnost s igračima Apple-a prilikom snimanja H.265." + }, + "gpu": { + "label": "Indeks GPU-a", + "description": "Zadani indeks GPU-a korišten za ubrzanje hardvera ako je dostupan." + }, + "inputs": { + "label": "Ulazni podaci kamere", + "description": "Popis definicija ulaznih tokova (putanje i uloge) za ovu kameru.", + "path": { + "label": "Putanja ulaza", + "description": "URL ili putanja ulaznog toka kamere." + }, + "roles": { + "label": "Uloge ulaza", + "description": "Uloge za ovaj ulazni tok." + }, + "global_args": { + "label": "Globalni argumenti FFmpeg-a", + "description": "Globalni argumenti FFmpeg-a za ovaj ulazni tok." + }, + "hwaccel_args": { + "label": "Argumenti za ubrzanje hardvera", + "description": "Argumenti za ubrzanje hardvera za ovaj ulazni stream." + }, + "input_args": { + "label": "Unos argumenata", + "description": "Argumeti unosa specifični za ovaj stream." + } + } + }, + "live": { + "label": "Uživo prikaz", + "streams": { + "label": "Imena živih streamova", + "description": "Mapiranje konfiguriranih imena streamova na imena restream/go2rtc korишtena za uživo prikaz." + }, + "height": { + "label": "Visina uživo", + "description": "Visina (piksela) za prikaz jsmpeg živog streama u Web UI; mora biti <= visina detektiranog streama." + }, + "quality": { + "label": "Kvalitet uživo", + "description": "Kvalitet kodiranja za jsmpeg stream (1 najviši, 31 najniži)." + }, + "description": "Postavke za kontrolu rezolucije i kvalitete žive struje jsmpeg. Ovo ne utiče na kamere koje koriste go2rtc za živi pregled." + }, + "lpr": { + "label": "Prepoznavanje tablice vozila", + "description": "Postavke prepoznavanja tablice vozila uključujući pragovi detekcije, formatiranje i poznate tablice.", + "enabled": { + "label": "Omogući LPR", + "description": "Omogući ili onemogući prepoznavanje tablice za sve kamere; može se prekršiti po kamere." + }, + "expire_time": { + "label": "Sekunde isteka", + "description": "Vrijeme u sekundama nakon kojeg nevidljiva tablica istječe iz praćenja (samo za dedikovane LPR kamere)." + }, + "min_area": { + "label": "Minimalna površina tablice", + "description": "Minimalna površina tablice (piksela) potrebna za pokušaj prepoznavanja." + }, + "enhancement": { + "label": "Nivo poboljšanja", + "description": "Nivo poboljšanja (0-10) za primjenu na isječke tablice prije OCR-a; veće vrijednosti ne moraju uvijek poboljšati rezultate, nivoi iznad 5 mogu raditi samo s tablicama u noćnom vremenu i trebaju se koristiti s oprezom." + }, + "model_size": { + "label": "Veličina modela", + "description": "Veličina modela korištena za detekciju/pretvorbu teksta. Većina korisnika treba koristiti 'small'." + }, + "detection_threshold": { + "label": "Prag detekcije", + "description": "Prag pouzdanosti detekcije za početak izvršavanja OCR na sumnjivim pločama." + }, + "recognition_threshold": { + "label": "Prag prepoznavanja", + "description": "Prag pouzdanosti potreban za prepoznati tekst ploče da bi se priložio kao podnaziv." + }, + "min_plate_length": { + "label": "Minimalna dužina ploče", + "description": "Minimalan broj znakova koje prepoznata ploča mora sadržavati da bi se smatrala važećom." + }, + "format": { + "label": "Regex formata ploče", + "description": "Nepovlačen regex za provjeru prepoznatih nizova ploča protiv očekivanog formata." + }, + "match_distance": { + "label": "Razlika u odgovaranju", + "description": "Broj nepravilnih znakova dopuštenih pri uspoređivanju detektiranih ploča s poznatim pločama." + }, + "known_plates": { + "label": "Poznate ploče", + "description": "Popis ploča ili regexa za posebno praćenje ili upozorenje." + }, + "debug_save_plates": { + "label": "Sačuvaj tablice za debagovanje", + "description": "Sačuvaj slike izrezaka tablica za debagovanje performansi LPR." + }, + "device": { + "label": "Uređaj", + "description": "Ovo je preklop za ciljanje specifičnog uređaja. Vidi https://onnxruntime.ai/docs/execution-providers/ za više informacija" + }, + "replace_rules": { + "label": "Pravila zamjene", + "description": "Pravila zamjene regex korишtena za normalizaciju detektiranih stringova ploča prije uspoređivanja.", + "pattern": { + "label": "Regex uzorak" + }, + "replacement": { + "label": "Zamjenski string" + } + } + }, + "motion": { + "label": "Detekcija pokreta", + "enabled": { + "label": "Omogući detekciju pokreta", + "description": "Omogući ili onemogući detekciju pokreta za sve kamere; može se prekrimiti po kamere." + }, + "threshold": { + "label": "Prag pokreta", + "description": "Prag razlike piksela korišten za detektor pokreta; veće vrijednosti smanjuju osjetljivost (opseg 1-255)." + }, + "lightning_threshold": { + "label": "Prag munje", + "description": "Prag za detekciju i zanemarivanje kratkih iskri svjetlosti (niže vrijednosti povećavaju osjetljivost, vrijednosti između 0.3 i 1.0). Ovo ne spriječava detekciju pokreta u potpunosti; jednostavno zaustavlja detektor da analizira dodatne okvire nakon što se prag premaši. Snimci temeljeni na pokretima i dalje se stvaraju tijekom ovih događaja." + }, + "skip_motion_threshold": { + "label": "Preskoči prag pokreta", + "description": "Ako se postavi na vrijednost između 0.0 i 1.0, i ako se više od ovog udjela slike promijeni u jednom okviru, detektor neće vratiti kutije pokreta i odmah će se ponovno kalibrirati. Ovo može uštedjeti CPU i smanjiti lažne pozitive tijekom munje, oluje itd., ali može propustiti stvarne događaje kao što je automatsko praćenje objekta PTZ kamerom. Tržište je između izgube nekoliko megabajta snimaka i pregleda nekoliko kratkih zapisnika. Ostavite nepostavljeno (Nijedno) za onemogućavanje ove funkcije." + }, + "improve_contrast": { + "label": "Poboljšaj kontrast", + "description": "Primijeni poboljšanje kontrasta na okvire prije analize pokreta kako bi pomoću detekcije." + }, + "contour_area": { + "label": "Površina kontura", + "description": "Minimalna površina kontura u pikselima potrebna za brojanje kontura pokreta." + }, + "delta_alpha": { + "label": "Delta alfa", + "description": "Faktor alfa spajanja korišten za razliku okvira za izračun pokreta." + }, + "frame_alpha": { + "label": "Alfa okvira", + "description": "Vrijednost alfa korištena prilikom spajanja okvira za predobradbu pokreta." + }, + "frame_height": { + "label": "Visina okvira", + "description": "Visina u pikselima na koju se skaliraju okviri prilikom izračuna pokreta." + }, + "mask": { + "label": "Koordinate maska", + "description": "Uredno x,y koordinate koje definiraju poligon maska pokreta za uključivanje/isključivanje područja." + }, + "mqtt_off_delay": { + "label": "MQTT zakasnjenje isključivanja", + "description": "Sekunde koje se čekaju nakon posljednjeg pokreta prije objave MQTT 'isključeno' stanje." + }, + "enabled_in_config": { + "label": "Originalno stanje pokreta", + "description": "Indikira je li detekcija pokreta bila omogućena u originalnoj statičkoj konfiguraciji." + }, + "raw_mask": { + "label": "Ručna maska" + }, + "description": "Zadane postavke detekcije pokreta primjenjene na kamere osim ako se prekrivaju po kamere." + }, + "objects": { + "label": "Objekti", + "description": "Zadani parametri praćenja objekata uključujući koje oznake praćenja i filtre po objektu.", + "track": { + "label": "Objekti za praćenje", + "description": "Popis oznaka objekata za praćenje za sve kamere; može se prekrimiti po kamere." + }, + "filters": { + "label": "Filtar objekata", + "description": "Filtar primijenjen na detektirane objekte kako bi se smanjila broj lažnih pozitiva (površina, omjer, pouzdanost).", + "min_area": { + "label": "Minimalna površina objekta", + "description": "Minimalna površina okvira (pikseli ili postotak) potrebna za ovaj tip objekta. Može biti pikseli (cijeli broj) ili postotak (float između 0.000001 i 0.99)." + }, + "max_area": { + "label": "Maksimalna površina objekta", + "description": "Maksimalna površina okvira (pikseli ili postotak) dozvoljena za ovaj tip objekta. Može biti pikseli (cijeli broj) ili postotak (float između 0.000001 i 0.99)." + }, + "min_ratio": { + "label": "Minimalni omjer visine/širine", + "description": "Minimalni omjer širine/visine potreban da bi okvir bio prihvaćen." + }, + "max_ratio": { + "label": "Maksimalni omjer visine/širine", + "description": "Maksimalni omjer širine/visine dozvoljen da bi okvir bio prihvaćen." + }, + "threshold": { + "label": "Prag pouzdanosti", + "description": "Prosjek pragova pouzdanosti detekcije potreban da bi objekt bio smatravan pravim pozitivom." + }, + "min_score": { + "label": "Minimalna pouzdanost", + "description": "Minimalna pouzdanost detekcije po okviru potrebna da bi objekt bio brojan." + }, + "mask": { + "label": "Maska filtriranja", + "description": "Koordinate poligona koje definiraju područje na kojem se ovaj filter primjenjuje unutar okvira." + }, + "raw_mask": { + "label": "Ručna maska" + } + }, + "mask": { + "label": "Maska objekta", + "description": "Poligonalna maska korištena za spriječavanje detekcije objekta u određenim područjima." + }, + "raw_mask": { + "label": "Ručna maska" + }, + "genai": { + "label": "Konfiguracija GenAI objekta", + "description": "Opcije GenAI za opisivanje praćenih objekata i slanje okvira za generisanje.", + "enabled": { + "label": "Omogući GenAI", + "description": "Omogući generisanje opisa za praćene objekte po zadanim postavkama." + }, + "use_snapshot": { + "label": "Koristi snimke", + "description": "Koristi snimke objekata umjesto miniaturnih slika za generisanje opisa GenAI." + }, + "prompt": { + "label": "Naslovni prompt", + "description": "Zadani šablon upita korišten za generisanje opisa pomoću GenAI." + }, + "object_prompts": { + "label": "Prompti za objekte", + "description": "Prompti po objektu za prilagođavanje izlaza GenAI za specifične oznake." + }, + "objects": { + "label": "GenAI objekti", + "description": "Popis oznaka objekata koje se po defaultu šalju GenAI." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Zone koje moraju biti unesene za objekte da bi se kvalifikovali za generisanje opisa GenAI." + }, + "debug_save_thumbnails": { + "label": "Sačuvajte miniaturne slike", + "description": "Sačuvaj miniaturne slike koje se šalju GenAI za ispravljanje i pregled." + }, + "send_triggers": { + "label": "GenAI izazivači", + "description": "Definiše kada bi se trebale slati okvir za GenAI (na kraju, nakon ažuriranja, itd.).", + "tracked_object_end": { + "label": "Pošalji na kraju", + "description": "Pošalji zahtjev GenAI kada praćeni objekt završi." + }, + "after_significant_updates": { + "label": "Raniji GenAI izazivač", + "description": "Pošalji zahtjev GenAI nakon određenog broja značajnih ažuriranja za praćeni objekt." + } + }, + "enabled_in_config": { + "label": "Originalno stanje GenAI", + "description": "Pokazuje je li GenAI bio omogućen u originalnoj statičkoj konfiguraciji." + } + } + }, + "record": { + "label": "Snimanje", + "enabled": { + "label": "Omogući snimanje", + "description": "Omogući ili onemogući snimanje za sve kamere; može se prekrimiti po kamere." + }, + "expire_interval": { + "label": "Interval čišćenja snimanja", + "description": "Minute između čišćenja koja uklanjaju istekle segmente snimaka." + }, + "continuous": { + "label": "Neprekidna retencija", + "description": "Broj dana za čuvanje snimaka bez obzira na praćene objekte ili pokret. Postavite na 0 ako želite da čuvate samo snimke upozorenja i detekcije.", + "days": { + "label": "Dane zadržavanja", + "description": "Dana za čuvanje snimaka." + } + }, + "motion": { + "label": "Retencija pokreta", + "description": "Broj dana za čuvanje snimaka izazvanih pokretom bez obzira na praćene objekte. Postavite na 0 ako želite da čuvate samo snimke upozorenja i detekcije.", + "days": { + "label": "Dane zadržavanja", + "description": "Dana za čuvanje snimaka." + } + }, + "detections": { + "label": "Retencija detekcije", + "description": "Postavke retencije snimaka za događaje detekcije uključujući trajanje pre/post snimanja.", + "pre_capture": { + "label": "Sekundi pre snimanja", + "description": "Broj sekundi prije događaja detekcije koje treba uključiti u snimak." + }, + "post_capture": { + "label": "Sekunde nakon snimanja", + "description": "Broj sekundi nakon događaja detekcije koje se uključuju u snimanje." + }, + "retain": { + "label": "Zadržavanje događaja", + "description": "Postavke zadržavanja za snimke događaja detekcije.", + "days": { + "label": "Dane zadržavanja", + "description": "Broj dana za koje se zadržavaju snimke događaja detekcije." + }, + "mode": { + "label": "Način zadržavanja", + "description": "Način zadržavanja: sve (sačuvati sve segmente), pokret (sačuvati segmente s pokretom), ili aktivni_objekti (sačuvati segmente s aktivnim objektima)." + } + } + }, + "alerts": { + "label": "Retencija upozorenja", + "description": "Postavke retencije snimaka za događaje upozorenja uključujući trajanje pre/post snimanja.", + "pre_capture": { + "label": "Sekundi pre snimanja", + "description": "Broj sekundi prije događaja detekcije koje treba uključiti u snimak." + }, + "post_capture": { + "label": "Sekunde nakon snimanja", + "description": "Broj sekundi nakon događaja detekcije koje se uključuju u snimanje." + }, + "retain": { + "label": "Zadržavanje događaja", + "description": "Postavke zadržavanja za snimke događaja detekcije.", + "days": { + "label": "Dane zadržavanja", + "description": "Broj dana za koje se zadržavaju snimke događaja detekcije." + }, + "mode": { + "label": "Način zadržavanja", + "description": "Način zadržavanja: sve (sačuvati sve segmente), pokret (sačuvati segmente s pokretom), ili aktivni_objekti (sačuvati segmente s aktivnim objektima)." + } + } + }, + "export": { + "label": "Konfiguracija izvoza", + "description": "Postavke koje se koriste prilikom izvoza snimaka kao što su timelapse i ubrzavanje dretve.", + "hwaccel_args": { + "label": "Argumeti ubrzavanja dretve za izvoz", + "description": "Argumeti ubrzavanja dretve za operacije izvoza/prenosa." + }, + "max_concurrent": { + "label": "Maksimalan broj istovremenih izvoza", + "description": "Maksimalan broj poslova izvoza koji se obrađuju istovremeno." + } + }, + "preview": { + "label": "Konfiguracija pregleda", + "description": "Postavke koje kontrolišu kvalitet pregleda snimanja prikazanih u UI.", + "quality": { + "label": "Kvaliteta pregleda", + "description": "Nivo kvalitete pregleda (vrlo_nizak, nizak, srednji, visok, vrlo_visok)." + } + }, + "enabled_in_config": { + "label": "Originalno stanje snimanja", + "description": "Pokazuje je li snimanje bilo omogućeno u originalnoj statičkoj konfiguraciji." + }, + "description": "Postavke za snimanje i zadržavanje primjenjene na kamere osim ako se prekrivaju po kamere." + }, + "review": { + "label": "Pregled", + "alerts": { + "label": "Konfiguracija upozorenja", + "description": "Postavke za koje objekti praćeni generišu upozorenja i kako se upozorenja zadržavaju.", + "enabled": { + "label": "Omogući upozorenja", + "description": "Omogući ili onemogući generisanje upozorenja za sve kamere; može se prekrimiti po kamere." + }, + "labels": { + "label": "Oznake upozorenja", + "description": "Lista oznaka objekata koje se smatraju upozorenjima (npr. automobil, osoba)." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Zone koje objekt mora ući da bi se smatrao upozorenjem; ostavite prazno da omogućite bilo koju zonu." + }, + "enabled_in_config": { + "label": "Originalno stanje upozorenja", + "description": "Pratiti je li upozorenja izvorno omogućena u statičkoj konfiguraciji." + }, + "cutoff_time": { + "label": "Vrijeme prekida upozorenja", + "description": "Sekunde koje treba čekati nakon što nema aktivnosti koja uzrokuje upozorenje prije nego se prekine upozorenje." + } + }, + "detections": { + "label": "Konfiguracija detekcija", + "description": "Postavke koje objekti koje se praćenje generišu detekcije (nepozornja) i kako se detekcije čuvaju.", + "enabled": { + "label": "Omogući detekcije", + "description": "Omogući ili onemogući događaje detekcije za sve kamere; može se prekrimiti po kamere." + }, + "labels": { + "label": "Oznake detekcije", + "description": "Popis oznaka objekata koje kvalifikuju kao događaji detekcije." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Zone koje objekt mora ući da bi se smatrao detekcijom; ostavite prazno da omogućite bilo koju zonu." + }, + "cutoff_time": { + "label": "Vrijeme prekida detekcija", + "description": "Sekunde koje treba čekati nakon što nema aktivnosti koja uzrokuje detekciju prije nego se prekine detekcija." + }, + "enabled_in_config": { + "label": "Originalno stanje detekcija", + "description": "Pratiti je li detekcije izvorno omogućene u statičkoj konfiguraciji." + } + }, + "genai": { + "label": "Konfiguracija GenAI", + "description": "Kontrolira korištenje generativne AI za proizvodnju opisa i sažetaka stavki za pregled.", + "enabled": { + "label": "Omogući opise GenAI", + "description": "Omogući ili onemogući opise i sažetke generirane GenAI za stavke za pregled." + }, + "alerts": { + "label": "Omogući GenAI za upozorenja", + "description": "Koristi GenAI za generiranje opisa stavki upozorenja." + }, + "detections": { + "label": "Omogući GenAI za detekcije", + "description": "Koristite GenAI za generiranje opisa predmeta detekcije." + }, + "image_source": { + "label": "Pregledajte izvor slike", + "description": "Izvor slika poslatih GenAIJ-u ('preview' ili 'recordings'); 'recordings' koristi kvalitetnije okvire, ali više tokena." + }, + "additional_concerns": { + "label": "Dodatne brige", + "description": "Popis dodatnih briga ili napomena koje GenAI treba uzeti u obzir prilikom procjene aktivnosti na ovoj kameri." + }, + "debug_save_thumbnails": { + "label": "Sačuvajte miniaturne slike", + "description": "Sačuvajte miniaturne slike koje se šalju GenAI provajderu za ispravljanje grešaka i pregled." + }, + "enabled_in_config": { + "label": "Originalno stanje GenAI", + "description": "Pratiti je li pregled GenAI izvorno omogućen u statičkoj konfiguraciji." + }, + "preferred_language": { + "label": "Preferirani jezik", + "description": "Preferirani jezik za zahtijevanje od GenAI provajdera za generirane odgovore." + }, + "activity_context_prompt": { + "label": "Prompt konteksta aktivnosti", + "description": "Prilagođeni prompt koji opisuje što je i što nije sumnjivo ponašanje kako bi pružio kontekst za sažetke GenAI." + } + }, + "description": "Postavke koje kontrolišu upozorenja, detekcije i GenAI pregledne sažetke korišteni od strane UI i skladišta." + }, + "semantic_search": { + "label": "Semantička pretraga", + "triggers": { + "label": "Pokretači", + "description": "Akcije i kriteriji za usklađivanje za pokretače semantičke pretrage specifične za kameru.", + "friendly_name": { + "label": "Prijateljsko ime", + "description": "Nepovlačno prijateljsko ime prikazano u korisničkom sučelju za ovaj pokretač." + }, + "enabled": { + "label": "Omogući ovaj pokretač", + "description": "Omogući ili onemogući ovaj pokretač semantičke pretrage." + }, + "type": { + "label": "Tip pokretača", + "description": "Tip pokretača: 'thumbnail' (uspoređivanje slikom) ili 'description' (uspoređivanje teksta)." + }, + "data": { + "label": "Sadržaj pokretača", + "description": "Tekstualni izraz ili ID miniaturne slike za uspoređivanje s praćenim objektima." + }, + "threshold": { + "label": "Prag aktivacije", + "description": "Minimalna ocjena sličnosti (0-1) potrebna za aktivaciju ovog izazivača." + }, + "actions": { + "label": "Akcije izazivača", + "description": "Popis akcija koje se izvršavaju kada izazivač odgovara (obavijest, pod_naziv, atribute)." + } + }, + "description": "Postavke za semantičku pretragu koja građi i upita objektne ugradnje da bi pronašla slične stavke.", + "enabled": { + "label": "Omogući semantičku pretragu", + "description": "Omogući ili onemogući funkciju semantičke pretrage." + }, + "reindex": { + "label": "Ponovno indeksiranje pri pokretanju", + "description": "Pokrenite puno ponovno indeksiranje povijesnih praćenih objekata u bazu ugradnji." + }, + "model": { + "label": "Ime modela za semantičku pretragu ili dobavljača GenAI", + "description": "Model ugradnje koji se koristi za semantičku pretragu (npr. 'jinav1'), ili ime dobavljača GenAI s ulogom ugradnje." + }, + "model_size": { + "label": "Veličina modela", + "description": "Izaberite veličinu modela; 'small' radi na CPU i 'large' obično zahtijeva GPU." + }, + "device": { + "label": "Uređaj", + "description": "Ovo je preklop za ciljanje specifičnog uređaja. Vidi https://onnxruntime.ai/docs/execution-providers/ za više informacija" + } + }, + "snapshots": { + "label": "Snimci", + "enabled": { + "label": "Omogući snimke", + "description": "Omogući ili onemogući sačuvanje snimaka za sve kamere; može se prekrimiti po kamere." + }, + "timestamp": { + "label": "Preklapanje vremenske oznake", + "description": "Preklopiti vremensku oznaku na snimke iz API-ja." + }, + "bounding_box": { + "label": "Preklapanje okvira", + "description": "Crtanje okvira za praćene objekte na snimke iz API-ja." + }, + "crop": { + "label": "Izrezivanje snimke", + "description": "Izrezivanje snimki iz API-ja do okvira detektiranog objekta." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Zone koje objekt mora ući da bi snimka bila sačuvana." + }, + "height": { + "label": "Visina snimke", + "description": "Visina (pikseli) za promjenu veličine snimki iz API-ja; ostavite prazno da biste sačuvali originalnu veličinu." + }, + "retain": { + "label": "Zadržavanje snimki", + "description": "Postavke zadržavanja snimki uključujući zadane dane i prekriženja po objektu.", + "default": { + "label": "Zadano zadržavanje", + "description": "Zadani broj dana za zadržavanje snimki." + }, + "mode": { + "label": "Način zadržavanja", + "description": "Način zadržavanja: sve (sačuvati sve segmente), pokret (sačuvati segmente s pokretom), ili aktivni_objekti (sačuvati segmente s aktivnim objektima)." + }, + "objects": { + "label": "Zadržavanje objekata", + "description": "Prekriženja po objektu za dane zadržavanja snimki." + } + }, + "quality": { + "label": "Kvaliteta snimka", + "description": "Kvaliteta kodiranja za sačuvane snimke (0-100)." + }, + "description": "Postavke za API generisane snimke praćenih objekata za sve kamere; može se prekrimiti po kamere." + }, + "timestamp_style": { + "label": "Stil vremenske oznake", + "position": { + "label": "Pozicija vremenske oznake", + "description": "Pozicija vremenske oznake na slici (tl/tr/bl/br)." + }, + "format": { + "label": "Format vremenske oznake", + "description": "String formata datuma i vremena korišten za vremenske oznake (Python format koda za datum i vrijeme)." + }, + "color": { + "label": "Boja vremenske oznake", + "description": "RGB vrijednosti boja za tekst vremenske oznake (sve vrijednosti 0-255).", + "red": { + "label": "Crvena", + "description": "Crveni komponent (0-255) za boju vremenske oznake." + }, + "green": { + "label": "Zelena", + "description": "Zeleni komponent (0-255) za boju vremenske oznake." + }, + "blue": { + "label": "Plava", + "description": "Plavi komponent (0-255) za boju vremenske oznake." + } + }, + "thickness": { + "label": "Debljina vremenske oznake", + "description": "Debljina linije teksta vremenske oznake." + }, + "effect": { + "label": "Efekt vremenske oznake", + "description": "Vizualni efekt za tekst vremenske oznake (none, solid, shadow)." + }, + "description": "Opcije stilizacije vremenskih oznaka u toku prikaza primjenjene na debug prikaz i snimke." + }, + "mqtt": { + "label": "MQTT", + "description": "Postavke za povezivanje i objavljivanje telemetrije, snimaka i detalja događaja na MQTT brokera.", + "enabled": { + "label": "Omogući MQTT", + "description": "Omogući ili onemogući integraciju MQTT za stanje, događaje i snimke." + }, + "host": { + "label": "Gospodar MQTT", + "description": "Ime domene ili IP adresa MQTT brokera." + }, + "port": { + "label": "Port MQTT", + "description": "Port MQTT brokera (obično 1883 za običan MQTT)." + }, + "topic_prefix": { + "label": "Predfiks teme", + "description": "Predložak teme MQTT za sve teme Frigate; mora biti jedinstven ako pokrećete više instanci." + }, + "client_id": { + "label": "ID klijenta", + "description": "Identifikator klijenta korišten pri povezivanju s MQTT brokerom; trebao bi biti jedinstven po instanci." + }, + "stats_interval": { + "label": "Interval statistika", + "description": "Interval u sekundama za objavljivanje sustavnih i kamera statistika na MQTT." + }, + "user": { + "label": "Korisničko ime MQTT", + "description": "Nepovlačno korisničko ime MQTT; može se pružiti putem varijabli okoline ili vjerodajnica." + }, + "password": { + "label": "Lozinka MQTT", + "description": "Nepovlačna lozinka MQTT; može se pružiti putem varijabli okoline ili vjerodajnica." + }, + "tls_ca_certs": { + "label": "TLS CA sertifikati", + "description": "Putanja do sertifikata CA za TLS povezivanje s brokerom (za samopotpisane sertifikate)." + }, + "tls_client_cert": { + "label": "Klijent sertifikat", + "description": "Putanja do sertifikata klijenta za TLS međusobnu autentifikaciju; ne postavljajte korisničko ime/lozinku kada koristite sertifikate klijenta." + }, + "tls_client_key": { + "label": "Klijent ključ", + "description": "Putanja do privatnog ključa za klijent sertifikat." + }, + "tls_insecure": { + "label": "TLS nebezbedan", + "description": "Dozvoli nebezbedne TLS povezivanja preskačući provjeru imena domene (nije preporučeno)." + }, + "qos": { + "label": "MQTT QoS", + "description": "Nivo kvaliteta usluge za MQTT objave/pretplate (0, 1 ili 2)." + } + }, + "notifications": { + "label": "Obavještenja", + "enabled": { + "label": "Omogući obavijesti", + "description": "Omogući ili onemogući obavijesti za sve kamere; mogu se prekrivati po kamere." + }, + "email": { + "label": "E-mail za obavijesti", + "description": "Adresa e-maila koja se koristi za obavijesti putem push-a ili je potrebna određenim dobavljačima obavijesti." + }, + "cooldown": { + "label": "Period hlađenja", + "description": "Period hlađenja (sekunde) između obavijesti kako bi se izbjeglo spaming primateljima." + }, + "enabled_in_config": { + "label": "Originalno stanje obavijesti", + "description": "Pokazuje je li obavijesti bile omogućene u originalnoj statičkoj konfiguraciji." + }, + "description": "Postavke za omogućavanje i kontrolu obavijesti za sve kamere; mogu se prekrivati po kamere." + }, + "onvif": { + "label": "ONVIF", + "description": "Postavke povezivanja preko ONVIF i automatskog praćenja PTZ za ovu kameru.", + "host": { + "label": "Gost ONVIF", + "description": "Gost (i opcionalni shema) za uslugu ONVIF za ovu kameru." + }, + "port": { + "label": "Port ONVIF", + "description": "Broj porta za uslugu ONVIF." + }, + "user": { + "label": "Korisničko ime za ONVIF", + "description": "Korisničko ime za autentifikaciju ONVIF; neki uređaji zahtijevaju korisnika admin za ONVIF." + }, + "password": { + "label": "Lozinka za ONVIF", + "description": "Lozinka za autentifikaciju ONVIF." + }, + "tls_insecure": { + "label": "Onemogući provjeru TLS", + "description": "Preskoči provjeru TLS i onemogući digest autentifikaciju za ONVIF (nebezbedno; koristiti samo u sigurnim mrežama)." + }, + "profile": { + "label": "ONVIF profil", + "description": "Specifičan ONVIF medij profil za korištenje za kontrolu PTZ, prilagođen tokenom ili imenom. Ako nije postavljen, prvi profil s važećom konfiguracijom PTZ automatski se odabire." + }, + "autotracking": { + "label": "Autotračenje", + "description": "Automatski praćenje pokretanja objekata i držanje ih u sredini okvira korištenjem pokreta kamere PTZ.", + "enabled": { + "label": "Omogući automatsko praćenje", + "description": "Omogući ili onemogući automatsko praćenje kamere PTZ detektiranih objekata." + }, + "calibrate_on_startup": { + "label": "Kalibriraj na početku", + "description": "Mjeri brzine motora PTZ pri pokretanju kako bi poboljšao preciznost praćenja. Frigate će ažurirati konfiguraciju s težinama pokreta nakon kalibracije." + }, + "zooming": { + "label": "Režim zumiranja", + "description": "Kontrola ponašanja zumiranja: onemogućeno (samo pan/tilt), apsolutno (najkompatibilnije) ili relativno (konkurentno pan/tilt/zum)." + }, + "zoom_factor": { + "label": "Faktor zumiranja", + "description": "Kontrola razine zumiranja na praćenim objektima. Niže vrijednosti drže više scene u pogledu; više vrijednosti zumiraju bliže, ali mogu izgubiti praćenje. Vrijednosti između 0.1 i 0.75." + }, + "track": { + "label": "Praćeni objekti", + "description": "Popis vrsta objekata koji trebaju pokrenuti automatsko praćenje." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Objekti moraju ući u jednu od ovih zona prije nego što započne automatsko praćenje." + }, + "return_preset": { + "label": "Povratak na predpostavku", + "description": "Ime predpostavke konfigurirano u firmware kamere za povratak nakon završetka praćenja." + }, + "timeout": { + "label": "Vrijeme čekanja povratka", + "description": "Čekajte ovaj broj sekundi nakon gubitka praćenja prije povratka kamere na predpostavljeno mjesto." + }, + "movement_weights": { + "label": "Težine pokreta", + "description": "Vrijednosti kalibracije automatski generirane kroz kalibraciju kamere. Ne mijenjajte ručno." + }, + "enabled_in_config": { + "label": "Originalni stanje autotračenja", + "description": "Unutarnje polje za praćenje je li autotračenje bilo omogućeno u konfiguraciji." + } + }, + "ignore_time_mismatch": { + "label": "Zanemari razliku u vremenu", + "description": "Zanemari razlike u sinhronizaciji vremena između kamere i Frigate servera za komunikaciju ONVIF." + } + }, + "profiles": { + "label": "Profili", + "description": "Imenovane definicije profila s prijateljivim imenima. Profili kamera moraju se referirati na imena definirana ovdje.", + "friendly_name": { + "label": "Prijateljsko ime", + "description": "Prikazano ime za ovaj profil prikazano u UI-u." + } + }, + "safe_mode": { + "label": "Sigurnosni režim", + "description": "Kada je omogućeno, pokrenite Frigate u sigurnosnom režimu s smanjenim funkcijama za uklanjanje problema." + }, + "environment_vars": { + "label": "Okolinski varijable", + "description": "Parovi ključ/vrijednost okolinskih varijabli za postavljanje za proces Frigate u Home Assistant OS. Korisnici koji nisu HAOS moraju koristiti konfiguraciju okolinskih varijabli Docker umjesto toga." + }, + "logger": { + "label": "Zapisi", + "description": "Kontrolira podrazumijevanu razinu detaljnosti zapisa i prekriženja razina detaljnosti po komponenti.", + "default": { + "label": "Razina zapisa", + "description": "Podrazumijevana globalna razina detaljnosti (debug, info, warning, error)." + }, + "logs": { + "label": "Razina zapisa po procesu", + "description": "Prekriženja razina detaljnosti po komponenti za povećanje ili smanjenje detaljnosti za određene module." + } + }, + "auth": { + "label": "Autentifikacija", + "description": "Postavke povezane s autentifikacijom i sesijama uključujući opcije kolačića i ograničenja brzine.", + "enabled": { + "label": "Omogući autentifikaciju", + "description": "Omogući nativnu autentifikaciju za korisnički sučelje Frigate." + }, + "reset_admin_password": { + "label": "Ponovno postavljanje lozinke administratora", + "description": "Ako je tačno, ponovno postavite lozinku korisnika administratora pri pokretanju i ispišite novu lozinku u zapisima." + }, + "cookie_name": { + "label": "Ime kolačića JWT", + "description": "Ime kolačića koji se koristi za pohranjivanje JWT tokena za nativnu autentifikaciju." + }, + "cookie_secure": { + "label": "Sigurnosni flag kolačića", + "description": "Postavite sigurnosni flag na kolačić autentifikacije; trebalo bi biti tačno kada se koristi TLS." + }, + "session_length": { + "label": "Trajanje sesije", + "description": "Trajanje sesije u sekundama za sesije temeljene na JWT." + }, + "refresh_time": { + "label": "Prozor osvežavanja sesije", + "description": "Kada se sesija nalazi unutar ovih sekundi do isteka, ponovo je ažurirati na punu dužinu." + }, + "failed_login_rate_limit": { + "label": "Ograničenja za neuspješne prijave", + "description": "Pravila ograničavanja brzine za neuspješne pokušaje prijave kako bi se smanjila napada silom." + }, + "trusted_proxies": { + "label": "Povereni proxy-ovi", + "description": "Lista IP adresa poverenih proxy-ova korištena prilikom određivanja IP adrese klijenta za ograničavanje brzine." + }, + "hash_iterations": { + "label": "Iteracije haširanja", + "description": "Broj iteracija PBKDF2-SHA256 koje se koriste za kriptiranje lozinki korisnika." + }, + "roles": { + "label": "Mapiranja uloga", + "description": "Pridružiti uloge listama kamera. Prazna lista omogućava pristup svim kamerama za ulogu." + }, + "admin_first_time_login": { + "label": "Zastavica za prvi put administrator", + "description": "Kada je istina, UI može prikazati poveznicu za pomoć na stranici prijave koja obavješćuje korisnike kako se prijaviti nakon ponovnog postavljanja lozinke administratora. " + } + }, + "database": { + "label": "Baza podataka", + "description": "Postavke SQLite baze podataka korištene od strane Frigate za pohranjivanje metapodataka praćenih objekata i metapodataka snimaka.", + "path": { + "label": "Putanja do baze podataka", + "description": "Putanja datotečnog sustava gdje će se datoteka SQLite baze podataka Frigate pohraniti." + } + }, + "go2rtc": { + "label": "go2rtc", + "description": "Postavke integrirane usluge go2rtc ponovnog prenošenja korištene za prenošenje živih streamova i prevodjenje." + }, + "networking": { + "label": "Mrežno", + "description": "Postavke povezane s mrežom, kao što je omogućavanje IPv6 za Frigate krajeve.", + "ipv6": { + "label": "Konfiguracija IPv6", + "description": "IPv6-specifične postavke za mrežne usluge Frigate.", + "enabled": { + "label": "Omogući IPv6", + "description": "Omogući podršku za IPv6 za usluge Frigate (API i UI) gdje je primjenjivo." + } + }, + "listen": { + "label": "Konfiguracija slušajućih porta", + "description": "Konfiguracija unutarnjih i vanjskih slušajućih porta. Ovo je za napredne korisnike. Za većinu slučajeva preporučuje se promijeniti sekciju porta u svojoj Docker compose datoteci.", + "internal": { + "label": "Unutarnji port", + "description": "Unutarnji slušajući port za Frigate (zadano 5000)." + }, + "external": { + "label": "Vanjski port", + "description": "Vanjski slušajući port za Frigate (zadano 8971)." + } + } + }, + "proxy": { + "label": "Proxy", + "description": "Postavke za integraciju Frigate iza obrnute proxy posrednike koji prenose zaglavlja autentificiranih korisnika.", + "header_map": { + "label": "Mapiranje zaglavlja", + "description": "Mapiraj dolazna zaglavlja proxy-a na polja korisnika i uloge Frigate za autentifikaciju baziranu na proxy-u.", + "user": { + "label": "Zaglavlje korisnika", + "description": "Zaglavlje koje sadrži autentificirano korisničko ime pruženo od strane nadolazećeg proxy-a." + }, + "role": { + "label": "Zaglavlje uloge", + "description": "Zaglavlje koje sadrži ulogu ili grupe autentificiranog korisnika od strane nadolazećeg proxy-a." + }, + "role_map": { + "label": "Mapiranje uloga", + "description": "Mapiraj vrijednosti grupe iznad na uloge Frigate (npr. mapiraj grupe administratora na ulogu administratora)." + } + }, + "logout_url": { + "label": "URL za odjavu", + "description": "URL na koji će korisnici biti preusmjereni kada se odjave putem proxy-a." + }, + "auth_secret": { + "label": "Tajna proxy", + "description": "Nepovlačena tajna provjeravana protiv zaglavlja X-Proxy-Secret za potvrdu pouzdanih proxy-a." + }, + "default_role": { + "label": "Zadana uloga", + "description": "Zadana uloga dodijeljena korisnicima autentificiranim putem proxy-a kada neka mapiranja uloga ne vrijede (administrator ili pregledač)." + }, + "separator": { + "label": "Znak separatora", + "description": "Karakter koristen za razdvajanje više vrijednosti navedenih u zaglavju proksi." + } + }, + "telemetry": { + "label": "Telemetrija", + "description": "Opcije sistem telemetrije i statistika uključujući praćenje širine pojasa mreže i GPU.", + "network_interfaces": { + "label": "Mrežni sučelja", + "description": "Popis prefiksa imena mrežnih sučelja za praćenje statistika širine pojasa." + }, + "stats": { + "label": "Sistem statistika", + "description": "Opcije za omogućavanje/onemogućavanje prikupljanja različitih sistem i GPU statistika.", + "amd_gpu_stats": { + "label": "AMD GPU statistika", + "description": "Omogući prikupljanje AMD GPU statistika ako je prisutan AMD GPU." + }, + "intel_gpu_stats": { + "label": "Intel GPU statistika", + "description": "Omogući prikupljanje Intel GPU statistika ako je prisutan Intel GPU." + }, + "network_bandwidth": { + "label": "Širina pojasa mreže", + "description": "Omogući praćenje širine pojasa mreže po procesu za procese kamere ffmpeg i detektore (zahtijeva mogućnosti)." + }, + "intel_gpu_device": { + "label": "SR-IOV uređaj", + "description": "Identifikator uređaja korišten kada se Intel GPU-ovi tretiraju kao SR-IOV za popravku GPU statistika." + } + }, + "version_check": { + "label": "Provjera verzije", + "description": "Omogući ishodnu provjeru za otkrivanje ako je dostupnija verzija Frigate." + } + }, + "tls": { + "label": "TLS", + "description": "Postavke TLS za web krajnje točke Frigate (port 8971).", + "enabled": { + "label": "Omogući TLS", + "description": "Omogući TLS za web UI i API Frigate na konfiguriranom TLS portu." + } + }, + "ui": { + "label": "UI", + "description": "Postavke korisničkog sučelja poput vremenske zone, oblikovanja vremena/datuma i jedinica.", + "timezone": { + "label": "Vremenska zona", + "description": "Nepovlačena vremenska zona za prikaz kroz UI (podrazumijevano je lokalno vrijeme preglednika ako nije postavljeno)." + }, + "time_format": { + "label": "Oblik vremena", + "description": "Oblik vremena za korištenje u UI (browser, 12hour, ili 24hour)." + }, + "date_style": { + "label": "Oblik datuma", + "description": "Oblik datuma za korištenje u UI (full, long, medium, short)." + }, + "time_style": { + "label": "Oblik vremena", + "description": "Oblik vremena za korištenje u UI (full, long, medium, short)." + }, + "unit_system": { + "label": "Sustav jedinica", + "description": "Sustav jedinica za prikaz (metric ili imperial) korišten u UI i MQTT." + } + }, + "detectors": { + "label": "Hardver detektora", + "description": "Konfiguracija za detektore objekata (CPU, GPU, ONNX backends) i bilo koje postavke modela specifične za detektor.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Konfiguracija modela specifične za detektor", + "description": "Opcije konfiguracije modela specifične za detektor (putanja, veličina ulaza, itd.).", + "path": { + "label": "Putanja za prilagođeni model detektora objekata", + "description": "Putanja do datoteke prilagođenog modela detekcije (ili plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Mapa oznaka za prilagođeni detektor objekata", + "description": "Putanja do datoteke mape oznaka koja mapira numeričke klase na string oznake za detektor." + }, + "width": { + "label": "Širina ulaznog tenzora modela detekcije objekata", + "description": "Širina ulaznog tenzora modela u pikselima." + }, + "height": { + "label": "Visina ulaznog tenzora modela detekcije objekata", + "description": "Visina ulaznog tenzora modela u pikselima." + }, + "labelmap": { + "label": "Prilagodba mape oznaka", + "description": "Preklop ili preslikavanje unosa za uključivanje u standardnu mapu oznaka." + }, + "attributes_map": { + "label": "Mapa oznaka objekata na njihove atribute", + "description": "Preslikavanje iz oznaka objekata na atribute oznaka koje se koriste za dodavanje metapodataka (npr. 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Oblik tenzora ulaza modela", + "description": "Format tenzora očekivan od strane modela: 'nhwc' ili 'nchw'." + }, + "input_pixel_format": { + "label": "Format boje piksela ulaza modela", + "description": "Boja piksela očekivana od strane modela: 'rgb', 'bgr' ili 'yuv'." + }, + "input_dtype": { + "label": "Tip D ulaza modela", + "description": "Tip podataka modela ulaznog tenzora (npr. 'float32')." + }, + "model_type": { + "label": "Tip modela detekcije objekata", + "description": "Tip arhitekture modela detektora (ssd, yolox, yolonas) korišten od strane nekih detektora za optimizaciju." + } + }, + "model_path": { + "label": "Putanja modela specifična za detektor", + "description": "Putanja datoteke do binarne datoteke modela detektora ako je potrebna odabranim detektorom." + }, + "axengine": { + "label": "AXEngine NPU", + "description": "Detektor AXERA AX650N/AX8850N NPU koji pokreće prevedene .axmodel datoteke putem AXEngine runtime-a." + }, + "cpu": { + "label": "CPU", + "description": "Detektor CPU TFLite koji pokreće modele TensorFlow Lite na domaćem CPU bez hardverske akceleracije. Nije preporučeno.", + "num_threads": { + "label": "Broj nitova detekcije", + "description": "Broj nitova korištenih za inferenciju na CPU." + } + }, + "deepstack": { + "label": "DeepStack", + "description": "Detektor DeepStack/CodeProject.AI koji šalje slike na udaljenu DeepStack HTTP API za inferenciju. Nije preporučeno.", + "api_url": { + "label": "URL API-ja DeepStack", + "description": "URL API-ja DeepStack." + }, + "api_timeout": { + "label": "Vrijeme čekanja API-ja DeepStack (u sekundama)", + "description": "Maksimalno dozvoljeno vrijeme za zahtjev API-ja DeepStack." + }, + "api_key": { + "label": "Ključ API-ja DeepStack (ako je potreban)", + "description": "Nepovlađeni ključ API-ja za autentificirane usluge DeepStack." + } + }, + "degirum": { + "label": "DeGirum", + "description": "Detektor DeGirum za pokretanje modela putem DeGirum oblaka ili lokalnih usluga inferencije.", + "location": { + "label": "Lokacija inferencije", + "description": "Lokacija DeGirim inferencije (npr. '@cloud', '127.0.0.1')." + }, + "zoo": { + "label": "Model Zoo", + "description": "Putanja ili URL do DeGirum model zoo." + }, + "token": { + "label": "Token za DeGirum Cloud", + "description": "Token za pristup DeGirum Cloud." + } + }, + "edgetpu": { + "label": "EdgeTPU", + "description": "Detektor EdgeTPU koji pokreće modele TensorFlow Lite kompilirane za Coral EdgeTPU pomoću EdgeTPU delegata.", + "device": { + "label": "Tip uređaja", + "description": "Uređaj za korištenje EdgeTPU inferencije (npr. 'usb', 'pci')." + } + }, + "hailo8l": { + "label": "Hailo-8/Hailo-8L", + "description": "Detektor Hailo-8/Hailo-8L koji koristi HEF modele i HailoRT SDK za inferenciju na Hailo uređaju.", + "device": { + "label": "Tip uređaja", + "description": "Uređaj za korištenje Hailo inferencije (npr. 'PCIe', 'M.2')." + } + }, + "memryx": { + "label": "MemryX", + "description": "Detektor MemryX MX3 koji pokreće kompilirane modele DFP na MemryX akceleratorima.", + "device": { + "label": "Putanja uređaja", + "description": "Uređaj za korištenje MemryX inferencije (npr. 'PCIe')." + } + }, + "onnx": { + "label": "ONNX", + "description": "Detektor ONNX za pokretanje ONNX modela; koristi dostupne akceleracijske backendove (CUDA/ROCm/OpenVINO) kada su dostupni.", + "device": { + "label": "Tip uređaja", + "description": "Uređaj za korištenje ONNX inferencije (npr. 'AUTO', 'CPU', 'GPU')." + } + }, + "openvino": { + "label": "OpenVINO", + "description": "Detektor OpenVINO za AMD i Intel CPU-e, Intel GPU-e i Intel VPU uređaje.", + "device": { + "label": "Tip uređaja", + "description": "Uređaj za korištenje za inferenciju OpenVINO (npr. 'CPU', 'GPU', 'NPU')." + } + }, + "rknn": { + "label": "RKNN", + "description": "Detektor RKNN za NPUs Rockchipa; izvršava preveđene modele RKNN na Rockchip uređaju.", + "num_cores": { + "label": "Broj jezgri NPU koje se koriste.", + "description": "Broj jezgri NPU koje se koriste (0 za automatsko)." + } + }, + "synaptics": { + "label": "Synaptics", + "description": "Detektor NPU Synaptics za modele u formatu .synap pomoću SDK-a Synap na uređaju Synaptics." + }, + "teflon_tfl": { + "label": "Teflon", + "description": "Detektor delegata Teflon za TFLite pomoću biblioteke Mesa Teflon delegata za ubrzanje inferencije na podržanim GPU-ima." + }, + "tensorrt": { + "label": "TensorRT", + "description": "Detektor TensorRT za uređaje Nvidia Jetson koji koristi serijalizirane TensorRT motore za ubrzanu inferenciju.", + "device": { + "label": "Indeks GPU uređaja", + "description": "Indeks GPU uređaja za korištenje." + } + }, + "zmq": { + "label": "ZMQ IPC", + "description": "Detektor ZMQ IPC koji prenosi inferenciju vanjskom procesu putem ZMQ IPC kraja.", + "endpoint": { + "label": "ZMQ IPC kraja", + "description": "Kraj ZMQ-a na koji se povezati." + }, + "request_timeout_ms": { + "label": "ZMQ zahtjev timeout u milisekundama", + "description": "Timeout za ZMQ zahtjeve u milisekundama." + }, + "linger_ms": { + "label": "ZMQ socket linger u milisekundama", + "description": "Period linger socketa u milisekundama." + } + } + }, + "model": { + "label": "Model detekcije", + "description": "Postavke za konfiguraciju prilagođenog modela detekcije objekata i njegove ulazne oblike.", + "path": { + "label": "Put do prilagođenog modela detekcije", + "description": "Put do datoteke prilagođenog modela detekcije (ili plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Mapa oznaka za prilagođeni detektor objekata", + "description": "Putanja do datoteke labelmap koja preslikava numeričke klase u string oznake za detektor." + }, + "width": { + "label": "Širina ulaznog tenzora modela detekcije objekata", + "description": "Širina ulaznog tenzora modela u pikselima." + }, + "height": { + "label": "Visina ulaznog tenzora modela detekcije objekata", + "description": "Visina ulaznog tenzora modela u pikselima." + }, + "labelmap": { + "label": "Prilagodba labelmap", + "description": "Preklop ili preslikavanje unosa za spajanje u standardnu labelmap." + }, + "attributes_map": { + "label": "Mapa oznaka objekata na njihove atribute oznake", + "description": "Preslikavanje iz oznaka objekata na atribute oznake koje se koriste za dodavanje metapodataka (npr. 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Oblik ulaznog tenzora modela", + "description": "Format tenzora očekivan od strane modela: 'nhwc' ili 'nchw'." + }, + "input_pixel_format": { + "label": "Format boje piksela ulaznog modela", + "description": "Boja prostor očekivan od strane modela: 'rgb', 'bgr' ili 'yuv'." + }, + "input_dtype": { + "label": "D tip ulaza modela", + "description": "Tip podataka ulaznog tenzora modela (npr. 'float32')." + }, + "model_type": { + "label": "Tip modela detekcije objekata", + "description": "Tip arhitekture modela detektora (ssd, yolox, yolonas) korišten od strane nekih detektora za optimizaciju." + } + }, + "genai": { + "label": "Konfiguracija generativne AI", + "description": "Postavke za integrirane generativne AI provajdere korišteni za generisanje opisa objekata i pregled sažetaka.", + "api_key": { + "label": "Ključ API", + "description": "Ključ API potreban nekim provajderima (takođe može biti postavljen putem okruženja)." + }, + "base_url": { + "label": "Osnovna URL", + "description": "Osnovna URL za samohostovane ili kompatibilne provajdere (npr. instanca Ollama)." + }, + "model": { + "label": "Model", + "description": "Model koji se koristi iz ponuđača za generisanje opisa ili sažetaka." + }, + "provider": { + "label": "Ponuđač", + "description": "GenAI ponuđač koji se koristi (npr. ollama, gemini, openai)." + }, + "roles": { + "label": "Uloge", + "description": "GenAI uloge (razgovor, opisi, ugradnje); jedan ponuđač po ulozi." + }, + "provider_options": { + "label": "Opcije ponuđača", + "description": "Dodatne opcije specifične za ponuđača koje se prosleđuju klijentu GenAI." + }, + "runtime_options": { + "label": "Opcije izvršavanja", + "description": "Opcije izvršavanja koje se prosleđuju ponuđaču za svaku poziv izvođenja." + } + }, + "classification": { + "label": "Klasifikacija objekata", + "description": "Postavke modela klasifikacije koji se koriste za poboljšanje oznaka objekata ili klasifikaciju stanja.", + "bird": { + "label": "Konfiguracija klasifikacije ptica", + "description": "Postavke specifične za modele klasifikacije ptica.", + "enabled": { + "label": "Klasifikacija ptica", + "description": "Omogući ili onemogući klasifikaciju ptica." + }, + "threshold": { + "label": "Minimalna ocjena", + "description": "Minimalna ocjena klasifikacije potrebna za prihvaćanje klasifikacije ptica." + } + }, + "custom": { + "label": "Prilagođeni modeli klasifikacije", + "description": "Konfiguracija prilagođenih modela klasifikacije korištenih za objekte ili detekciju stanja.", + "enabled": { + "label": "Omogući model", + "description": "Omogući ili onemogući prilagođeni model klasifikacije." + }, + "name": { + "label": "Ime modela", + "description": "Identifikator za prilagođeni model klasifikacije koji se koristi." + }, + "threshold": { + "label": "Prag ocjene", + "description": "Prag ocjene korišten za promjenu stanja klasifikacije." + }, + "save_attempts": { + "label": "Snimi pokušaje", + "description": "Koliko pokušaja klasifikacije sačuvati za korisnički sučelje nedavnih klasifikacija." + }, + "object_config": { + "objects": { + "label": "Klasificiraj objekte", + "description": "Popis vrsta objekata za koje se izvršava klasifikacija objekata." + }, + "classification_type": { + "label": "Vrsta klasifikacije", + "description": "Vrsta klasifikacije primijenjena: 'sub_label' (dodaje sub_label) ili druge podržane vrste." + } + }, + "state_config": { + "cameras": { + "label": "Kamere za klasifikaciju", + "description": "Postavke za rezanje i podešavanja po kameri za izvršavanje klasifikacije stanja.", + "crop": { + "label": "Rezanje za klasifikaciju", + "description": "Koordinate rezanja koje se koriste za izvršavanje klasifikacije na ovoj kameri." + } + }, + "motion": { + "label": "Pokreni na pokret", + "description": "Ako je tačno, pokrenite klasifikaciju kada se detektuje pokret unutar navedenog krova." + }, + "interval": { + "label": "Interval klasifikacije", + "description": "Interval (sekunde) između periodičnih pokretanja klasifikacije za klasifikaciju stanja." + } + } + } + }, + "camera_groups": { + "label": "Grupe kamera", + "description": "Konfiguracija imenovanih grupa kamera koje se koriste za organizaciju kamera u UI-u.", + "cameras": { + "label": "Popis kamera", + "description": "Niz imena kamera uključenih u ovu grupu." + }, + "icon": { + "label": "Ikona grupe", + "description": "Ikona korištena za prikaz grupe kamera u UI-u." + }, + "order": { + "label": "Redoslijed sortiranja", + "description": "Numerički redoslijed korišten za sortiranje grupa kamera u UI-u; veći brojevi se pojavljuju kasnije." + } + }, + "active_profile": { + "label": "Aktivni profil", + "description": "Trenutno aktivno ime profila. Samo za runtime, ne čuva se u YAML-u." + }, + "camera_mqtt": { + "label": "MQTT", + "description": "Postavke objave slika preko MQTT.", + "enabled": { + "label": "Pošalji sliku", + "description": "Omogući objavljivanje snimaka slika za objekte na MQTT teme za ovu kameru." + }, + "timestamp": { + "label": "Dodaj vremensku oznaku", + "description": "Preklopiti vremensku oznaku na slike objavljene preko MQTT." + }, + "bounding_box": { + "label": "Dodaj okvir", + "description": "Crtaj okvire na slikama objavljenim preko MQTT." + }, + "crop": { + "label": "Iscijepi sliku", + "description": "Iscijepi slike objavljene preko MQTT na okvir detektiranog objekta." + }, + "height": { + "label": "Visina slike", + "description": "Visina (piksela) za promjenu veličine slika objavljenih preko MQTT." + }, + "required_zones": { + "label": "Potrebne zone", + "description": "Zone koje objekt mora ući da bi se slika preko MQTT objavila." + }, + "quality": { + "label": "Kvaliteta JPEG", + "description": "Kvaliteta JPEG za slike objavljene preko MQTT (0-100)." + } + }, + "camera_ui": { + "label": "Kamera UI", + "description": "Prikaz redoslijeda i vidljivosti za ovu kameru u UI. Redoslijed utječe na zadani nadzorno pločo. Za detaljniju kontrolu koristite grupe kamere.", + "order": { + "label": "Redoslijed UI", + "description": "Numerički redoslijed koristi se za sortiranje kamere u UI (zadani nadzorno pločo i popisi); veći brojevi pojavljuju se kasnije." + }, + "dashboard": { + "label": "Prikaži u UI", + "description": "Prekidač je li ova kamera vidljiva svuda u UI Frigate. Onemogućavanje ovoga zahtijeva ručno uređivanje konfiguracije za ponovno prikazivanje ove kamere u UI." + } + } +} diff --git a/web/public/locales/bs/config/groups.json b/web/public/locales/bs/config/groups.json new file mode 100644 index 000000000..44f91e773 --- /dev/null +++ b/web/public/locales/bs/config/groups.json @@ -0,0 +1,73 @@ +{ + "audio": { + "global": { + "detection": "Globalna detekcija", + "sensitivity": "Globalna osjetljivost" + }, + "cameras": { + "detection": "Detekcija", + "sensitivity": "Osjetljivost" + } + }, + "timestamp_style": { + "global": { + "appearance": "Globalno izgled" + }, + "cameras": { + "appearance": "Izgled" + } + }, + "motion": { + "global": { + "sensitivity": "Globalna osjetljivost", + "algorithm": "Globalni algoritam" + }, + "cameras": { + "sensitivity": "Osjetljivost", + "algorithm": "Algoritam" + } + }, + "snapshots": { + "global": { + "display": "Globalno prikazivanje" + }, + "cameras": { + "display": "Prikazivanje" + } + }, + "detect": { + "global": { + "resolution": "Globalna rezolucija", + "tracking": "Globalno praćenje" + }, + "cameras": { + "resolution": "Rezolucija", + "tracking": "Praćenje" + } + }, + "objects": { + "global": { + "tracking": "Globalno praćenje", + "filtering": "Globalno filtriranje" + }, + "cameras": { + "tracking": "Praćenje", + "filtering": "Filtriranje" + } + }, + "record": { + "global": { + "retention": "Globalno zadržavanje", + "events": "Globalni događaji" + }, + "cameras": { + "retention": "Zadržavanje", + "events": "Događaji" + } + }, + "ffmpeg": { + "cameras": { + "cameraFfmpeg": "Argumeni FFmpeg specifični za kameru" + } + } +} diff --git a/web/public/locales/bs/config/validation.json b/web/public/locales/bs/config/validation.json new file mode 100644 index 000000000..1ed1dd7a5 --- /dev/null +++ b/web/public/locales/bs/config/validation.json @@ -0,0 +1,32 @@ +{ + "minimum": "Bar {{limit}}", + "maximum": "Mora biti najviše {{limit}}", + "exclusiveMinimum": "Mora biti veći od {{limit}}", + "exclusiveMaximum": "Mora biti manje od {{limit}}", + "minLength": "Bar {{limit}} znak(ovi)", + "maxLength": "Mora biti najviše {{limit}} znak(ovi)", + "minItems": "Mora imati bar {{limit}} stavke", + "maxItems": "Mora imati najviše {{limit}} stavke", + "pattern": "Neispravan format", + "required": "Ovo polje je obavezno", + "type": "Neispravan tip vrijednosti", + "enum": "Mora biti jedan od dopuštenih vrijednosti", + "const": "Vrijednost se ne podudara s očekivanom konstantom", + "uniqueItems": "Sve stavke moraju biti jedinstvene", + "format": "Neispravan format", + "additionalProperties": "Nepoznato svojstvo nije dozvoljeno", + "oneOf": "Mora se podudarati s točno jednim od dopuštenih shema", + "anyOf": "Mora se podudarati s bar jednim od dopuštenih shema", + "proxy": { + "header_map": { + "roleHeaderRequired": "Zaglavlje uloge je obavezno kada su konfigurirane mapiranja uloga." + } + }, + "ffmpeg": { + "inputs": { + "rolesUnique": "Svaka uloga može biti dodijeljena samo jednom ulaznom toku.", + "detectRequired": "Bar jedan ulazni tok mora biti dodijeljen ulozi 'detektirati'.", + "hwaccelDetectOnly": "Samo ulazni tok s ulogom detektiranja može definirati argumente ubrzavanja hardvera." + } + } +} diff --git a/web/public/locales/bs/objects.json b/web/public/locales/bs/objects.json new file mode 100644 index 000000000..cbeaacdb4 --- /dev/null +++ b/web/public/locales/bs/objects.json @@ -0,0 +1,125 @@ +{ + "person": "Ljudsko bit će", + "bicycle": "Kolo", + "animal": "Životinja", + "dog": "Pas", + "bark": "Glavu", + "cat": "Mačka", + "horse": "Konj", + "goat": "Koza", + "sheep": "Ovca", + "bird": "Ptica", + "mouse": "Miš", + "keyboard": "Klaviatura", + "vehicle": "Vozilo", + "boat": "Brod", + "car": "Automobil", + "bus": "Autobus", + "motorcycle": "Motocikl", + "train": "Vlak", + "skateboard": "Skejtbord", + "door": "Vrata", + "blender": "Miksere", + "sink": "Lavabo", + "hair_dryer": "Sušilac za kosu", + "toothbrush": "Šetka za zube", + "scissors": "Škare", + "clock": "Sat", + "airplane": "Avion", + "traffic_light": "Svetofor", + "fire_hydrant": "Vatrostaničar", + "street_sign": "Ulični znak", + "stop_sign": "Znak zaustavljanja", + "parking_meter": "Parkirni metar", + "bench": "Banko", + "cow": "Korova", + "elephant": "Slon", + "bear": "Medvjed", + "zebra": "Zebra", + "giraffe": "Žirafa", + "hat": "Kaputa", + "backpack": "Torba", + "umbrella": "Kreveta", + "shoe": "Cizma", + "eye_glasses": "Očna stakla", + "handbag": "Ručna torba", + "tie": "Kremplj", + "suitcase": "Kufer", + "frisbee": "Frizbi", + "skis": "Ski", + "snowboard": "Snjegobord", + "sports_ball": "Sportska lopta", + "kite": "Let", + "baseball_bat": "Batsa za baseball", + "baseball_glove": "Rukavica za baseball", + "surfboard": "Surfbord", + "tennis_racket": "Teniski raketa", + "bottle": "Bocica", + "plate": "Ploča", + "wine_glass": "Vinsko čaša", + "cup": "Kupa", + "fork": "Škarpe", + "knife": "Nož", + "spoon": "Lajna", + "bowl": "Tanjir", + "banana": "Banana", + "apple": "Jabuka", + "sandwich": "Sandučić", + "orange": "Portakal", + "broccoli": "Brobkoli", + "carrot": "Mahunika", + "hot_dog": "Hot dog", + "pizza": "Pica", + "donut": "Krofna", + "cake": "Torta", + "chair": "Stolica", + "couch": "Divan", + "potted_plant": "Ukrasna biljka", + "bed": "Krevet", + "mirror": "Zrcalo", + "dining_table": "Stol za ručak", + "window": "Prozor", + "desk": "Radni stol", + "toilet": "Toalet", + "tv": "TV", + "laptop": "Laptop", + "remote": "Udaljeno upravljanje", + "cell_phone": "Mobilni telefon", + "microwave": "Mikrotalasna pećnica", + "oven": "Pećnica", + "toaster": "Tostera", + "refrigerator": "Hladnjak", + "book": "Knjiga", + "vase": "Vaza", + "teddy_bear": "Biberon", + "hair_brush": "Kosmetička četka", + "squirrel": "Šumski pas", + "deer": "Jelen", + "fox": "Lisica", + "rabbit": "Zajac", + "raccoon": "Rakun", + "robot_lawnmower": "Robotska kosilica", + "waste_bin": "Kanta za otpad", + "on_demand": "Na zahtjev", + "face": "Lice", + "license_plate": "Tablica", + "package": "Paket", + "bbq_grill": "Grill za BBQ", + "amazon": "Amazon", + "usps": "USPS", + "ups": "UPS", + "fedex": "FedEx", + "dhl": "DHL", + "an_post": "An Post", + "purolator": "Purolator", + "postnl": "PostNL", + "nzpost": "NZPost", + "postnord": "PostNord", + "gls": "GLS", + "dpd": "DPD", + "canada_post": "Canada Post", + "royal_mail": "Royal Mail", + "school_bus": "Školski autobus", + "skunk": "Mrdka", + "kangaroo": "Kanguru" +} diff --git a/web/public/locales/bs/views/chat.json b/web/public/locales/bs/views/chat.json new file mode 100644 index 000000000..643825a78 --- /dev/null +++ b/web/public/locales/bs/views/chat.json @@ -0,0 +1,46 @@ +{ + "documentTitle": "Razgovor - Frigate", + "title": "Frigate razgovor", + "subtitle": "Vaš AI asistent za upravljanje kamerama i insighti", + "placeholder": "Pitajte bilo što...", + "error": "Nešto je pošlo po zlu. Molimo pokušajte ponovo.", + "processing": "Obrađivanje...", + "toolsUsed": "Korišteno: {{tools}}", + "showTools": "Prikaži alate ({{count}})", + "hideTools": "Sakrij alate", + "call": "Poziv", + "result": "Rezultat", + "arguments": "Argumenti:", + "response": "Odgovor:", + "attachment_chip_label": "{{label}} na {{camera}}", + "attachment_chip_remove": "Ukloni privitak", + "open_in_explore": "Otvori u Explore", + "attach_event_aria": "Prikači događaj {{eventId}}", + "attachment_picker_paste_label": "Ili zalijepite ID događaja", + "attachment_picker_attach": "Prikači", + "attachment_picker_placeholder": "Prikači događaj", + "quick_reply_find_similar": "Pronađi slične susreti", + "quick_reply_tell_me_more": "Recite mi više o ovome", + "quick_reply_when_else": "Kada je još puta vidjeno?", + "quick_reply_find_similar_text": "Pronađi slične susreti za ovaj.", + "quick_reply_tell_me_more_text": "Recite mi više o ovom.", + "quick_reply_when_else_text": "Kada je to još puta vidjeno?", + "anchor": "Referenca", + "similarity_score": "Sličnost", + "no_similar_objects_found": "Nisu pronađeni slični objekti.", + "semantic_search_required": "Semantička pretraga mora biti omogućena da bi se pronašli slični objekti.", + "send": "Pošalji", + "suggested_requests": "Pokušaj pitati:", + "starting_requests": { + "show_recent_events": "Prikaži nedavne događaje", + "show_camera_status": "Prikaži status kamere", + "recap": "Što se desilo dok sam bio odsutan?", + "watch_camera": "Pratite kameru za aktivnost" + }, + "starting_requests_prompts": { + "show_recent_events": "Prikaži mi nedavne događaje iz posljednjeg sata", + "show_camera_status": "Koji je trenutni status mojih kamera?", + "recap": "Što se desilo dok sam bio odsutan?", + "watch_camera": "Pratite ulazna vrata i obavijestite me ako netko dođe" + } +} diff --git a/web/public/locales/bs/views/classificationModel.json b/web/public/locales/bs/views/classificationModel.json new file mode 100644 index 000000000..aa18d5a07 --- /dev/null +++ b/web/public/locales/bs/views/classificationModel.json @@ -0,0 +1,205 @@ +{ + "documentTitle": "Modeli klasifikacije - Frigate", + "details": { + "scoreInfo": "Ocjena predstavlja prosjek pouzdanosti klasifikacije kroz sve detekcije ovog objekta.", + "none": "Nijedan", + "unknown": "Nepoznato" + }, + "button": { + "deleteClassificationAttempts": "Obriši slike klasifikacije", + "renameCategory": "Preimenuj klasu", + "deleteCategory": "Obriši klasu", + "deleteImages": "Obriši slike", + "trainModel": "Obuci model", + "addClassification": "Dodaj klasifikaciju", + "deleteModels": "Obriši modele", + "editModel": "Uredi model" + }, + "tooltip": { + "trainingInProgress": "Model trenutno obučava", + "noNewImages": "Nema novih slika za obuku. Prvo klasificirajte više slika u skupu podataka.", + "noChanges": "Nema promjena u skupu podataka od posljednje obuke.", + "modelNotReady": "Model nije spreman za obuku" + }, + "toast": { + "success": { + "deletedModel_one": "Uspješno obrisan {{count}} model", + "deletedModel_few": "Uspješno obrisani {{count}} modeli", + "deletedModel_other": "Uspješno obrisani {{count}} modeli", + "categorizedImage": "Uspješno klasificirana slika", + "reclassifiedImage": "Uspješno ponovno klasificirana slika", + "trainedModel": "Uspješno obučen model.", + "trainingModel": "Uspješno pokrenuta obuka modela.", + "updatedModel": "Uspješno ažurirana konfiguracija modela", + "renamedCategory": "Uspješno preimenovana klasa u {{name}}", + "deletedCategory_one": "Obrisana {{count}} klasa", + "deletedCategory_few": "Obrisane {{count}} klase", + "deletedCategory_other": "Obrisane {{count}} klase", + "deletedImage_one": "Izbrisana {{count}} slika", + "deletedImage_few": "Izbrisane {{count}} slike", + "deletedImage_other": "Izbrisane {{count}} slike" + }, + "error": { + "deleteImageFailed": "Neuspješno brisanje: {{errorMessage}}", + "deleteCategoryFailed": "Neuspješno brisanje klase: {{errorMessage}}", + "deleteModelFailed": "Neuspješno brisanje modela: {{errorMessage}}", + "categorizeFailed": "Neuspješno kategoriziranje slike: {{errorMessage}}", + "trainingFailed": "Obuka modela nije uspješna. Provjerite zapise Frigate za detalje.", + "trainingFailedToStart": "Neuspješno pokretanje obuke modela: {{errorMessage}}", + "updateModelFailed": "Neuspješno ažuriranje modela: {{errorMessage}}", + "renameCategoryFailed": "Neuspješno preimenovanje klase: {{errorMessage}}", + "reclassifyFailed": "Neuspješno ponovno klasifikovanje slike: {{errorMessage}}" + } + }, + "deleteCategory": { + "title": "Izbriši klasu", + "desc": "Sigurni li ste da želite izbrisati klasu {{name}}? Ovo će trajno izbrisati sve povezane slike i zahtijevati ponovnu obuku modela.", + "minClassesTitle": "Nemoguće izbrisati klasu", + "minClassesDesc": "Model klasifikacije mora imati najmanje 2 klase. Dodajte još jednu klasu prije brisanja ove." + }, + "deleteModel": { + "title": "Izbriši model klasifikacije", + "single": "Sigurni li ste da želite izbrisati {{name}}? Ovo će trajno izbrisati sve povezane podatke uključujući slike i podatke o obuci. Ova akcija ne može biti poništena.", + "desc_one": "Sigurni li ste da želite izbrisati {{count}} model? Ovo će trajno izbrisati sve povezane podatke uključujući slike i podatke o obuci. Ova akcija ne može biti poništena.", + "desc_few": "Sigurni li ste da želite izbrisati {{count}} modele? Ovo će trajno izbrisati sve povezane podatke uključujući slike i podatke o obuci. Ova akcija ne može biti poništena.", + "desc_other": "Sigurni li ste da želite izbrisati {{count}} modele? Ovo će trajno izbrisati sve povezane podatke uključujući slike i podatke o obuci. Ova akcija ne može biti poništena." + }, + "edit": { + "title": "Uredi model klasifikacije", + "descriptionState": "Uredi klase za ovaj model klasifikacije stanja. Promjene će zahtijevati ponovnu obuku modela.", + "descriptionObject": "Uredi vrstu objekta i vrstu klasifikacije za ovaj model klasifikacije objekta.", + "stateClassesInfo": "Napomena: Promjene klasa stanja zahtijevaju ponovnu obuku modela sa ažuriranim klasama." + }, + "deleteDatasetImages": { + "title": "Izbriši slike skupa podataka", + "desc_one": "Sigurni li ste da želite izbrisati {{count}} sliku iz {{dataset}}? Ova akcija ne može biti poništena i zahtijevati će ponovnu obuku modela.", + "desc_few": "Sigurni li ste da želite obrisati {{count}} slike iz {{dataset}}? Ova akcija ne može se poništiti i zahtijevat će ponovno treniranje modela.", + "desc_other": "Sigurni li ste da želite obrisati {{count}} slike iz {{dataset}}? Ova akcija ne može se poništiti i zahtijevat će ponovno treniranje modela." + }, + "deleteTrainImages": { + "title": "Obriši slike za treniranje", + "desc_one": "Sigurni li ste da želite obrisati {{count}} sliku? Ova akcija ne može se poništiti.", + "desc_few": "Sigurni li ste da želite obrisati {{count}} slike? Ova akcija ne može se poništiti.", + "desc_other": "Sigurni li ste da želite obrisati {{count}} slike? Ova akcija ne može se poništiti." + }, + "renameCategory": { + "title": "Preimenuj klasu", + "desc": "Unesite novo ime za {{name}}. Za promjenu imena će vam se zahtijevati ponovno treniranje modela." + }, + "description": { + "invalidName": "Neprihvatljivo ime. Imena mogu sadržavati samo slova, brojeve, razmake, aposrofe, donje crte i crte." + }, + "train": { + "title": "Nedavne klasifikacije", + "titleShort": "Nedavno", + "aria": "Odaberite nedavne klasifikacije" + }, + "categories": "Klase", + "createCategory": { + "new": "Stvori novu klasu" + }, + "categorizeImageAs": "Klasificiraj sliku kao:", + "categorizeImage": "Klasificiraj sliku", + "reclassifyImageAs": "Ponovno klasificiraj sliku kao:", + "reclassifyImage": "Ponovno klasificiraj sliku", + "menu": { + "objects": "Objekti", + "states": "Stanja" + }, + "noModels": { + "object": { + "title": "Nema modela za klasifikaciju objekata", + "description": "Stvorite prilagođeni model za klasifikaciju detektiranih objekata.", + "buttonText": "Stvori model objekta" + }, + "state": { + "title": "Nema modela za klasifikaciju stanja", + "description": "Stvorite prilagođeni model za praćenje i klasifikaciju promjena stanja u određenim područjima kamere.", + "buttonText": "Stvori model stanja" + } + }, + "wizard": { + "title": "Stvori novu klasifikaciju", + "steps": { + "nameAndDefine": "Ime i definicija", + "stateArea": "Područje stanja", + "chooseExamples": "Odaberite primjere" + }, + "step1": { + "description": "Modeli stanja nadziraju fiksne područja kamere za promjene (npr. vrata otvorena/zatvorena). Modeli objekata dodaju klasifikacije detektiranim objektima (npr. poznati životinje, dostavljači, itd.).", + "name": "Ime", + "namePlaceholder": "Unesite ime modela...", + "type": "Tip", + "typeState": "Stanje", + "typeObject": "Objekt", + "objectLabel": "Oznaka objekta", + "objectLabelPlaceholder": "Odaberite vrstu objekta...", + "classificationType": "Vrsta klasifikacije", + "classificationTypeTip": "Učite više o vrstama klasifikacije", + "classificationTypeDesc": "Podoznake dodaju dodatni tekst oznaci objekta (npr. 'Ljudsko bit će: UPS'). Atributi su pretraživi metapodaci pohranjeni zasebno u metapodacima objekta.", + "classificationSubLabel": "Podoznaka", + "classificationAttribute": "Atribut", + "classes": "Klase", + "states": "Stanja", + "classesTip": "Učite više o klasama", + "classesStateDesc": "Definirajte različita stanja koja može imati područje kamere. Na primjer: 'otvoreno' i 'zatvoreno' za vrata garaže.", + "classesObjectDesc": "Definirajte različite kategorije u koje ćete klasificirati detektirane objekte. Na primjer: 'dostavljac', 'stanovnik', 'stranac' za klasifikaciju ljudi.", + "classPlaceholder": "Unesite ime klase...", + "errors": { + "nameRequired": "Ime modela je obavezno", + "nameLength": "Ime modela mora imati 64 znaka ili manje", + "nameOnlyNumbers": "Ime modela ne može sadržavati samo brojeve", + "classRequired": "Potrebna je bar jedna klasa", + "classesUnique": "Imena klasa moraju biti jedinstvena", + "noneNotAllowed": "Klasa 'none' nije dozvoljena", + "stateRequiresTwoClasses": "Modeli stanja zahtijevaju bar dvije klase", + "objectLabelRequired": "Molimo odaberite oznaku objekta", + "objectTypeRequired": "Molimo odaberite vrstu klasifikacije" + } + }, + "step2": { + "description": "Odaberite kamere i definirajte područje koje ćete nadzirati za svaku kameru. Model će klasificirati stanje ovih područja.", + "cameras": "Kamere", + "selectCamera": "Odaberite Kameru", + "noCameras": "Kliknite + za dodavanje kamera", + "selectCameraPrompt": "Odaberite kameru iz popisa da biste definirali njezino područje nadzora" + }, + "step3": { + "selectImagesPrompt": "Odaberite sve slike s: {{className}}", + "selectImagesDescription": "Kliknite na slike da biste ih odabrali. Kliknite Nadalje kada završite s ovom klasifikacijom.", + "allImagesRequired_one": "Molimo klasificirajte sve slike. Preostala je {{count}} slika.", + "allImagesRequired_few": "Molimo klasificirajte sve slike. Preostale su {{count}} slike.", + "allImagesRequired_other": "Molimo klasificirajte sve slike. Preostale su {{count}} slike.", + "generating": { + "title": "Generisanje uzoraka slika", + "description": "Frigate učitava reprezentativne slike iz vaših snimaka. Ovo može trajati trenutak..." + }, + "training": { + "title": "Obučavanje modela", + "description": "Vaš model se trenutno obučava u pozadini. Zatvorite ovaj dijalog, a vaš model će započeti raditi odmah kada se obuka završi." + }, + "retryGenerate": "Ponovno generisanje", + "noImages": "Nema generisanih uzoraka slika", + "classifying": "Klasifikacija i obuka...", + "trainingStarted": "Obuka je uspješno pokrenuta", + "modelCreated": "Model je uspješno stvoren. Koristite pogled Najnovije klasifikacije da dodate slike za nedostajuće stanja, a zatim obučite model.", + "errors": { + "noCameras": "Nema konfigurisanih kamera", + "noObjectLabel": "Nije odabrana oznaka objekta", + "generateFailed": "Neuspješno generisanje primera: {{error}}", + "generationFailed": "Generisanje nije uspješno. Molimo pokušajte ponovo.", + "classifyFailed": "Neuspješna klasifikacija slika: {{error}}" + }, + "generateSuccess": "Uspješno generisane uzorak slike", + "refreshExamples": "Generiši nove primjere", + "refreshConfirm": { + "title": "Generiši nove primjere?", + "description": "Ovo će generisati novi skup slika i obrisati sve odabire, uključujući prethodne klase. Trebat će vam ponovno odabrati primjere za sve klase." + }, + "missingStatesWarning": { + "title": "Primjeri nedostajućih klasa", + "description": "Nisu sve klase imale primjere. Pokušajte generisanje novih primjera da biste pronašli nedostajuću klasu, ili nastavite i koristite pogled Najnovije klasifikacije da biste kasnije dodali slike." + } + } + } +} diff --git a/web/public/locales/bs/views/configEditor.json b/web/public/locales/bs/views/configEditor.json new file mode 100644 index 000000000..7ce01001f --- /dev/null +++ b/web/public/locales/bs/views/configEditor.json @@ -0,0 +1,18 @@ +{ + "documentTitle": "Uređivač konfiguracije - Frigate", + "configEditor": "Uređivač konfiguracije", + "safeConfigEditor": "Uređivač konfiguracije (Sigurnosni režim)", + "safeModeDescription": "Frigate je u sigurnosnom režimu zbog greške u validaciji konfiguracije.", + "copyConfig": "Kopiraj konfiguraciju", + "saveAndRestart": "Sačuvaj i ponovo pokreni", + "saveOnly": "Sačuvaj samo", + "confirm": "Napusti bez čuvanja?", + "toast": { + "success": { + "copyToClipboard": "Konfiguracija kopirana u međuspremnik." + }, + "error": { + "savingError": "Greška prilikom čuvanja konfiguracije" + } + } +} diff --git a/web/public/locales/bs/views/events.json b/web/public/locales/bs/views/events.json new file mode 100644 index 000000000..19869a820 --- /dev/null +++ b/web/public/locales/bs/views/events.json @@ -0,0 +1,92 @@ +{ + "alerts": "Upozorenja", + "detections": "Detekcije", + "camera": "Kamera", + "motion": { + "label": "Kretanje", + "only": "Samo pokret" + }, + "allCameras": "Sve Kamere", + "empty": { + "alert": "Nema upozorenja za pregled", + "detection": "Nema detekcija za pregled", + "motion": "Nema podataka o pokretu", + "recordingsDisabled": { + "title": "Snimci moraju biti omogućeni", + "description": "Pregledni stavci mogu se stvarati samo za kameru kada su snimci omogućeni za tu kameru." + } + }, + "timeline": { + "label": "vremenska linija", + "aria": "Odaberite vremensku liniju" + }, + "zoomIn": "Uvećajte", + "zoomOut": "Umanjite", + "events": { + "label": "Događaji", + "aria": "Odaberite događaje", + "noFoundForTimePeriod": "Nema događaja za ovaj vremenski period." + }, + "detail": { + "label": "Detalj", + "noDataFound": "Nema detaljnih podataka za pregled", + "aria": "Prekidač pregleda detalja", + "trackedObject_one": "{{count}} objekt", + "trackedObject_other": "{{count}} objekta", + "noObjectDetailData": "Nema dostupnih detaljnih podataka o objektu.", + "settings": "Postavke pregleda detalja", + "alwaysExpandActive": { + "title": "Uvijek proširujte aktivno", + "desc": "Uvijek proširite detalje objekta aktivnog stavka pregleda kada su dostupni." + } + }, + "objectTrack": { + "trackedPoint": "Praćeni točka", + "clickToSeek": "Kliknite da biste prešli na ovo vrijeme" + }, + "documentTitle": "Pregled - Frigate", + "recordings": { + "documentTitle": "Snimci - Frigate", + "invalidSharedLink": "Nemoguće otvoriti vezu za snimak sa vremenskom oznakom zbog greške u parsiranju.", + "invalidSharedCamera": "Nemoguće otvoriti vezu za snimak sa vremenskom oznakom zbog nepoznate ili neovlašćene kamere." + }, + "calendarFilter": { + "last24Hours": "Poslednje 24 sata" + }, + "markAsReviewed": "Označi kao pregledano", + "markTheseItemsAsReviewed": "Označi ove stavke kao pregledane", + "newReviewItems": { + "label": "Pregledaj nove stavke za pregled", + "button": "Nove stavke za pregled" + }, + "selected_one": "{{count}} odabrano", + "selected_other": "{{count}} odabrano", + "select_all": "Sve", + "detected": "detektovano", + "normalActivity": "Normal", + "needsReview": "Treba pregledati", + "securityConcern": "Sigurnosna zabrinutost", + "motionSearch": { + "menuItem": "Pretraga kretanja", + "openMenu": "Opcije kamere" + }, + "motionPreviews": { + "menuItem": "Pregledaj preglednike kretanja", + "title": "Preglednici kretanja: {{camera}}", + "mobileSettingsTitle": "Postavke preglednika kretanja", + "mobileSettingsDesc": "Prilagodite brzinu reprodukcije i osvetljavanje, i odaberite datum za pregled snimaka samo sa kretanjem.", + "dim": "Osvetljavanje", + "dimAria": "Prilagodite intenzitet osvetljavanja", + "dimDesc": "Povećajte osvetljavanje da biste povećali vidljivost područja kretanja.", + "speed": "Brzina", + "speedAria": "Odaberite brzinu reprodukcije preglednika", + "speedDesc": "Odaberite koliko brzo će se pregledni snimci reproducirati.", + "back": "Nazad", + "empty": "Nema pregleda dostupnih", + "noPreview": "Pregled nije dostupan", + "seekAria": "Pretражuj {{camera}} igraču do {{time}}", + "filter": "Filtar", + "filterDesc": "Odaberite područja da biste prikazali samo klipove sa kretanjem u tim područjima.", + "filterClear": "Očisti" + } +} diff --git a/web/public/locales/bs/views/explore.json b/web/public/locales/bs/views/explore.json new file mode 100644 index 000000000..8049fd879 --- /dev/null +++ b/web/public/locales/bs/views/explore.json @@ -0,0 +1,267 @@ +{ + "documentTitle": "Istraživanje - Frigate", + "generativeAI": "Generativna AI", + "exploreMore": "Istražite više {{label}} objekata", + "exploreIsUnavailable": { + "title": "Istraživanje nije dostupno", + "embeddingsReindexing": { + "context": "Istraživanje može se koristiti nakon što se reindeksiranje ugrađenih objekata završi.", + "startingUp": "Pokretanje…", + "estimatedTime": "Procijenjeno preostalo vrijeme:", + "finishingShortly": "Završetak uskoro", + "step": { + "thumbnailsEmbedded": "Ugrađene miniaturne slike: ", + "descriptionsEmbedded": "Ugrađene opise: ", + "trackedObjectsProcessed": "Obrađeni praćeni objekti: " + } + }, + "downloadingModels": { + "context": "Frigate preuzima potrebne modele ugrađenih objekata kako bi podržao funkciju Semantičke pretrage. Ovo može trajati nekoliko minuta ovisno o brzini vaše mreže.", + "setup": { + "visionModel": "Model vida", + "visionModelFeatureExtractor": "Izvođač značajki modela vida", + "textModel": "Model teksta", + "textTokenizer": "Tokenizator teksta" + }, + "tips": { + "context": "Moguće je da želite ponovno indeksirati ugrađene objekte koji se prate nakon što se modele preuzmu." + }, + "error": "Dogodila se greška. Provjerite zapise Frigate." + } + }, + "trackedObjectDetails": "Detalji praćenih objekata", + "type": { + "details": "Detalji", + "snapshot": "Snimak", + "thumbnail": "miniaturna slika", + "video": "Video", + "tracking_details": "detalji praćenja" + }, + "trackingDetails": { + "title": "Detalji praćenja", + "noImageFound": "Nije pronađena slika za ovaj vremenski moment.", + "createObjectMask": "Kreirajte masku objekta", + "adjustAnnotationSettings": "Prilagodite postavke oznaka", + "scrollViewTips": "Kliknite da biste vidjeli važne trenutke životnog ciklusa ovog objekta.", + "autoTrackingTips": "Pozicije okvirnih kutija neće biti tačne za autotracking kamere.", + "count": "{{first}} od {{second}}", + "trackedPoint": "Praćena tačka", + "lifecycleItemDesc": { + "visible": "{{label}} detektovan", + "entered_zone": "{{label}} ušao u {{zones}}", + "active": "{{label}} postao aktivno", + "stationary": "{{label}} postao stacionarno", + "attribute": { + "faceOrLicense_plate": "{{attribute}} detektovan za {{label}}", + "other": "{{label}} prepoznat kao {{attribute}}" + }, + "gone": "{{label}} otišao", + "heard": "{{label}} čujeo", + "external": "{{label}} detektovan", + "header": { + "zones": "Zone", + "ratio": "Omjer", + "area": "Površina", + "score": "Rezultat", + "computedScore": "Izračunata ocjena", + "topScore": "Najbolja ocjena", + "toggleAdvancedScores": "Prekidač naprednih ocjena" + } + }, + "annotationSettings": { + "title": "Postavke oznaka", + "showAllZones": { + "title": "Prikaži sve zone", + "desc": "Uvijek prikazujte zone na okvirima gdje su objekti ušli u zonu." + }, + "offset": { + "label": "Pomak oznaka", + "desc": "Ova podatka dolaze iz vaše kamere detektovane snimke, ali se preklapaju na slikama iz snimke snimke. Vjerojatno nije moguće da su dva toka savršeno sinhronizirana. Kao rezultat, okvirni kutiji i snimke neće se savršeno poklopiti. Možete koristiti ovu postavku da pomaknete oznake unaprijed ili unazad u vremenu da bi ih bolje uskladili s snimljenim snimkom.", + "millisecondsToOffset": "Milisekunde za pomak detektovanih oznaka. Podrazumevano: 0", + "tips": "Smanjite vrijednost ako je reprodukcija videa ispred kutija i tačaka putanje, a povećajte vrijednost ako je reprodukcija videa iza njih. Ova vrijednost može biti negativna.", + "toast": { + "success": "Pomak anotacije za {{camera}} je sačuvan u konfiguracionu datoteku." + } + } + }, + "carousel": { + "previous": "Prethodni slajd", + "next": "Sljedeći slajd" + } + }, + "details": { + "item": { + "title": "Pregled detalja stavke", + "desc": "Detalji stavke za pregled", + "button": { + "share": "Dijelite ovu stavku za pregled", + "viewInExplore": "Pregledajte u Explore" + }, + "tips": { + "mismatch_one": "{{count}} nedostupan objekat je detektovan i uključen u ovu stavku pregleda. Ti objekti se nisu kvalifikovali kao upozorenje ili detekcija, ili su već očišćeni/obrisani.", + "mismatch_few": "{{count}} nedostupnih objekata je detektovano i uključeno u ovu stavku pregleda. Ti objekti se nisu kvalifikovali kao upozorenje ili detekciju, ili su već očišćeni/obrisani.", + "mismatch_other": "{{count}} nedostupnih objekata je detektovano i uključeno u ovu stavku pregleda. Ti objekti se nisu kvalifikovali kao upozorenje ili detekciju, ili su već očišćeni/obrisani.", + "hasMissingObjects": "Prilagodite svoju konfiguraciju ako želite da Frigate sačuva pratiti objekte za sljedeće oznake: {{objects}}" + }, + "toast": { + "success": { + "regenerate": "Zahtjev za novi opis je poslat {{provider}}. Ovisno o brzini vašeg provajdera, novi opis može potrajati neko vrijeme da se ponovno generira.", + "updatedSublabel": "Uspješno ažurirana podjezika.", + "updatedLPR": "Uspješno ažurirana tablica.", + "updatedAttributes": "Uspješno ažurirana atribute.", + "audioTranscription": "Uspješno zahtjev za audio transkripciju. Ovisno o brzini vašeg Frigate servera, transkripcija može potrajati neko vrijeme da se završi." + }, + "error": { + "regenerate": "Neuspješno poziv {{provider}} za novi opis: {{errorMessage}}", + "updatedSublabelFailed": "Neuspješno ažuriranje podjezika: {{errorMessage}}", + "updatedLPRFailed": "Neuspješno ažuriranje tablice: {{errorMessage}}", + "updatedAttributesFailed": "Neuspješno ažuriranje atribute: {{errorMessage}}", + "audioTranscription": "Neuspješno zahtjev za audio transkripciju: {{errorMessage}}" + } + } + }, + "label": "Oznaka", + "editSubLabel": { + "title": "Uredi podjeziku", + "desc": "Unesite novu podjeziku za ovaj {{label}}", + "descNoLabel": "Unesite novu podjeziku za ovaj pratiti objekt" + }, + "editLPR": { + "title": "Uredi tablica", + "desc": "Unesite novu vrijednost tablice za ovaj {{label}}", + "descNoLabel": "Unesite novu vrijednost tablice za ovaj praćeni objekt" + }, + "editAttributes": { + "title": "Uredi atribute", + "desc": "Odaberite atribute klasifikacije za ovaj {{label}}" + }, + "snapshotScore": { + "label": "Snimak Rezultat" + }, + "topScore": { + "label": "Najbolji Rezultat", + "info": "Najbolji rezultat je najviši srednji rezultat za praćeni objekt, pa se može razlikovati od rezultata prikazanog na minijaturi rezultata pretrage." + }, + "score": { + "label": "Rezultat" + }, + "recognizedLicensePlate": "Prepoznata tablica", + "attributes": "Atributi klasifikacije", + "estimatedSpeed": "Procijenjena brzina", + "objects": "Objekti", + "camera": "Kamera", + "zones": "Zone", + "timestamp": "Vremenski pečat", + "button": { + "findSimilar": "Pronađi slične", + "regenerate": { + "title": "Regeneriraj", + "label": "Regeneriraj opis praćenog objekta" + } + }, + "description": { + "label": "Opis", + "placeholder": "Opis praćenog objekta", + "aiTips": "Frigate neće tražiti opis od vašeg generativnog AI provajdera dok se životni vijek praćenog objekta ne završi." + }, + "expandRegenerationMenu": "Proširi izbornik regeneracije", + "regenerateFromSnapshot": "Regeneriraj iz snimka", + "regenerateFromThumbnails": "Regeneriraj iz minijatura", + "tips": { + "descriptionSaved": "Uspješno sačuvan opis", + "saveDescriptionFailed": "Neuspješno ažuriranje opisa: {{errorMessage}}" + }, + "title": { + "label": "Naslov" + }, + "scoreInfo": "Informacije o rezultatu" + }, + "itemMenu": { + "downloadVideo": { + "label": "Preuzmi video", + "aria": "Preuzmi video" + }, + "downloadSnapshot": { + "label": "Preuzmi snimak", + "aria": "Preuzmi snimak" + }, + "downloadCleanSnapshot": { + "label": "Preuzmi čist snimak", + "aria": "Preuzmi čist snimak" + }, + "viewTrackingDetails": { + "label": "Pregledaj detalje praćenja", + "aria": "Prikaži detalje praćenja" + }, + "findSimilar": { + "label": "Pronađi slične", + "aria": "Pronađi slične praćene objekte" + }, + "addTrigger": { + "label": "Dodaj izazov", + "aria": "Dodaj izazov za ovaj praćeni objekt" + }, + "audioTranscription": { + "label": "Transkriptiraj", + "aria": "Zatraži transkripciju zvuka" + }, + "submitToPlus": { + "label": "Pošalji na Frigate+", + "aria": "Pošalji na Frigate Plus" + }, + "viewInHistory": { + "label": "Pregledajte u povijesti", + "aria": "Pregledajte u povijesti" + }, + "deleteTrackedObject": { + "label": "Obriši ovaj praćeni objekt" + }, + "showObjectDetails": { + "label": "Prikaži put objekta" + }, + "hideObjectDetails": { + "label": "Sakrij put objekta" + }, + "debugReplay": { + "label": "Debug ponovno snimanje", + "aria": "Pregledaj ovaj praćeni objekt u pogledu debug ponovnog snimanja" + }, + "more": { + "aria": "Više" + } + }, + "dialog": { + "confirmDelete": { + "title": "Potvrdi brisanje", + "desc": "Brisanje ovog praćenog objekta uklanja snimak, bilo kakve sačuvane ugradnje, i sve povezane unose detalja praćenja. Snimljeni materijal ovog praćenog objekta u pogledu povijesti NEĆE biti obrisan.

Sigurno li želite nastaviti?" + }, + "toast": { + "error": "Greška prilikom brisanja ovog praćenog objekta: {{errorMessage}}" + } + }, + "noTrackedObjects": "Nijedan praćeni objekt nije pronađen", + "fetchingTrackedObjectsFailed": "Greška prilikom dohvaćanja praćenih objekata: {{errorMessage}}", + "trackedObjectsCount_one": "{{count}} praćeni objekt ", + "trackedObjectsCount_few": "{{count}} praćena objekta ", + "trackedObjectsCount_other": "{{count}} praćena objekta ", + "searchResult": { + "tooltip": "Pronađeno {{type}} na {{confidence}}%", + "previousTrackedObject": "Prethodni praćeni objekt", + "nextTrackedObject": "Sljedeći praćeni objekt", + "deleteTrackedObject": { + "toast": { + "success": "Praćeni objekt je uspješno obrisan.", + "error": "Neuspješno brisanje praćenog objekta: {{errorMessage}}" + } + } + }, + "aiAnalysis": { + "title": "Analiza AI" + }, + "concerns": { + "label": "Pitanja" + }, + "objectLifecycle": { + "noImageFound": "Nije pronađena slika za ovaj praćeni objekt." + } +} diff --git a/web/public/locales/bs/views/exports.json b/web/public/locales/bs/views/exports.json new file mode 100644 index 000000000..b04ece10b --- /dev/null +++ b/web/public/locales/bs/views/exports.json @@ -0,0 +1,128 @@ +{ + "search": "Pretraga", + "documentTitle": "Izvoz - Frigate", + "selected_one": "{{count}} odabrano", + "selected_other": "{{count}} odabrano", + "noExports": "Nijedan izvoz nije pronađen", + "headings": { + "cases": "Slučajevi", + "uncategorizedExports": "Nekategorizirani izvozi" + }, + "deleteExport": { + "label": "Obriši izvoz", + "desc": "Da li ste sigurni da želite da obrišete {{exportName}}?" + }, + "editExport": { + "title": "Preimenuj izvoz", + "desc": "Unesite novi naziv za ovaj izvoz.", + "saveExport": "Sačuvaj izvoz" + }, + "tooltip": { + "shareExport": "Dijeli izvoz", + "downloadVideo": "Preuzmi video", + "editName": "Uredi naziv", + "deleteExport": "Obriši izvoz", + "assignToCase": "Dodaj u slučaj", + "removeFromCase": "Ukloni iz slučaja" + }, + "toolbar": { + "newCase": "Novi slučaj", + "addExport": "Dodaj izvoz", + "editCase": "Uredi slučaj", + "deleteCase": "Obriši slučaj" + }, + "toast": { + "error": { + "renameExportFailed": "Neuspješno preimenovanje izvoza: {{errorMessage}}", + "assignCaseFailed": "Neuspješno ažuriranje dodjele slučaja: {{errorMessage}}", + "caseSaveFailed": "Neuspješno čuvanje slučaja: {{errorMessage}}", + "caseDeleteFailed": "Neuspješno brisanje slučaja: {{errorMessage}}" + } + }, + "deleteCase": { + "label": "Obriši slučaj", + "desc": "Da li ste sigurni da želite da obrišete {{caseName}}?", + "descKeepExports": "Izvozi će ostati dostupni kao nekategorizirani izvozi.", + "descDeleteExports": "Svi izvozi u ovom slučaju trajno će biti obrisani.", + "deleteExports": "Takođe izbriši izvoze" + }, + "caseDialog": { + "title": "Dodaj u slučaj", + "description": "Odaberite postojeći slučaj ili napravite novi.", + "selectLabel": "Slučaj", + "newCaseOption": "Napravite novi slučaj", + "nameLabel": "Ime slučaja", + "descriptionLabel": "Opis" + }, + "caseCard": { + "emptyCase": "Nema još izvoza" + }, + "jobCard": { + "defaultName": "{{camera}} izvoz", + "queued": "U redu", + "running": "Pokretanje", + "preparing": "Priprema", + "copying": "Kopiranje", + "encoding": "Kodiranje", + "encodingRetry": "Kodiranje (ponovi)", + "finalizing": "Završavanje" + }, + "caseView": { + "noDescription": "Nema opisa", + "createdAt": "Kreirano {{value}}", + "exportCount_one": "1 izvoz", + "exportCount_other": "{{count}} izvozi", + "cameraCount_one": "1 kamera", + "cameraCount_other": "{{count}} kamere", + "showMore": "Prikaži više", + "showLess": "Prikaži manje", + "emptyTitle": "Ovaj slučaj je prazan", + "emptyDescription": "Dodaj postojet će nekategorizirane izvoze kako bi slučaj ostao organizovan.", + "emptyDescriptionNoExports": "Nema dostupnih nekategoriziranih izvoza koje je moguće dodati još." + }, + "caseEditor": { + "createTitle": "Kreiraj slučaj", + "editTitle": "Uredi slučaj", + "namePlaceholder": "Ime slučaja", + "descriptionPlaceholder": "Dodaj napomene ili kontekst za ovaj slučaj" + }, + "addExportDialog": { + "title": "Dodaj izvoz u {{caseName}}", + "searchPlaceholder": "Pretraga nekategoriziranih izvoza", + "empty": "Nema nekategoriziranih izvoza koji odgovaraju ovoj pretrazi.", + "addButton_one": "Dodaj 1 izvoz", + "addButton_other": "Dodaj {{count}} izvoza", + "adding": "Dodavanje..." + }, + "bulkActions": { + "addToCase": "Dodaj u slučaj", + "moveToCase": "Premjesti u slučaj", + "removeFromCase": "Ukloni iz slučaja", + "delete": "Obriši", + "deleteNow": "Obriši sada" + }, + "bulkDelete": { + "title": "Obriši izvoze", + "desc_one": "Sigurni li ste da želite obrisati {{count}} izvoz?", + "desc_other": "Sigurni li ste da želite obrisati {{count}} izvoze?" + }, + "bulkRemoveFromCase": { + "title": "Ukloni iz slučaja", + "desc_one": "Ukloni {{count}} izvoz iz ovog slučaja?", + "desc_other": "Ukloni {{count}} izvoze iz ovog slučaja?", + "descKeepExports": "Izvozi će biti premješteni u nekategorizirane.", + "descDeleteExports": "Izvozi će biti trajno obrisani.", + "deleteExports": "Umjesto toga, obriši izvoze" + }, + "bulkToast": { + "success": { + "delete": "Uspješno obrisani izvozi", + "reassign": "Uspješno ažurirana dodjela slučaja", + "remove": "Uspješno uklonjeni izvozi iz slučaja" + }, + "error": { + "deleteFailed": "Neuspješno brisanje izvoza: {{errorMessage}}", + "reassignFailed": "Neuspješno ažuriranje dodjele slučaja: {{errorMessage}}" + } + } +} diff --git a/web/public/locales/bs/views/faceLibrary.json b/web/public/locales/bs/views/faceLibrary.json new file mode 100644 index 000000000..db74fe1f5 --- /dev/null +++ b/web/public/locales/bs/views/faceLibrary.json @@ -0,0 +1,98 @@ +{ + "description": { + "addFace": "Dodajte novu kolekciju u Biblioteku lica prema učitavanju svoje prve slike.", + "placeholder": "Unesite ime za ovu kolekciju", + "invalidName": "Neprihvatljivo ime. Imena mogu sadržavati samo slova, brojeve, razmake, aposrofe, donje crte i crte.", + "nameCannotContainHash": "Ime ne može sadržavati #." + }, + "details": { + "unknown": "Nepoznato", + "timestamp": "Vremenski pečat", + "scoreInfo": "Ocjena je težinski prosjek svih ocjena lica, težinski određen prema veličini lica u svakoj slici." + }, + "train": { + "titleShort": "Nedavno", + "title": "Najnovije prepoznavanja", + "aria": "Odaberite nedavna prepoznavanja", + "empty": "Nema nedavnih pokušaja prepoznavanja lica" + }, + "documentTitle": "Biblioteka lica - Frigate", + "uploadFaceImage": { + "title": "Učitajte sliku lica", + "desc": "Učitajte sliku za skeniranje lica i uključite za {{pageToggle}}" + }, + "collections": "Kolekcije", + "createFaceLibrary": { + "new": "Stvori novo lice", + "nextSteps": "Da biste izgradili čvrstu osnovu:
  • Koristite karticu Najnovije prepoznavanja da biste odabrali i trenirali se na slikama za svaku detektiranu osobu.
  • Fokusirajte se na slike iz pravog ugla za najbolje rezultate; izbjegavajte slike za treniranje koje prikazuju lica pod uglom.
  • " + }, + "steps": { + "faceName": "Unesite ime lica", + "uploadFace": "Učitajte sliku lica", + "nextSteps": "Sljedeći koraci", + "description": { + "uploadFace": "Učitajte sliku od {{name}} koja prikazuje njihovo lice iz pravog ugla. Slika ne mora biti izrezana samo na njihovo lice." + } + }, + "deleteFaceLibrary": { + "title": "Izbrišite ime", + "desc": "Da li ste sigurni da želite izbrisati kolekciju {{name}}? Ovo će trajno izbrisati sva povezana lica." + }, + "deleteFaceAttempts": { + "title": "Izbrišite lica", + "desc_one": "Da li ste sigurni da želite izbrisati {{count}} lice? Ova akcija ne može se poništiti.", + "desc_few": "Da li ste sigurni da želite izbrisati {{count}} lica? Ova akcija ne može se poništiti.", + "desc_other": "Da li ste sigurni da želite izbrisati {{count}} lica? Ova akcija ne može se poništiti." + }, + "renameFace": { + "title": "Preimenujte lice", + "desc": "Unesite novo ime za {{name}}" + }, + "button": { + "deleteFaceAttempts": "Izbrišite lica", + "addFace": "Dodaj lice", + "renameFace": "Preimenuj lice", + "deleteFace": "Obriši lice", + "uploadImage": "Prenesi sliku", + "reprocessFace": "Ponovno obradi lice" + }, + "imageEntry": { + "validation": { + "selectImage": "Molimo izaberite datoteku slike." + }, + "dropActive": "Pustite sliku ovdje…", + "dropInstructions": "Povucite i ispišite, zalijepite sliku ovdje ili kliknite za odabir", + "maxSize": "Maksimalna veličina: {{size}}MB" + }, + "nofaces": "Nema dostupnih lica", + "trainFaceAs": "Obuči lice kao:", + "trainFace": "Obuči lice", + "reclassifyFaceAs": "Ponovno klasificiraj lice kao:", + "reclassifyFace": "Ponovno klasificiraj lice", + "toast": { + "success": { + "uploadedImage": "Uspješno prenesena slika.", + "addFaceLibrary": "{{name}} je uspješno dodan u biblioteku lica!", + "deletedFace_one": "Uspješno obrisano {{count}} lice.", + "deletedFace_few": "Uspješno obrisana {{count}} lica.", + "deletedFace_other": "Uspješno obrisana {{count}} lica.", + "deletedName_one": "{{count}} lice je uspješno obrisano.", + "deletedName_few": "{{count}} lica su uspješno obrisana.", + "deletedName_other": "{{count}} lica su uspješno obrisana.", + "renamedFace": "Uspješno preimenovan lice na {{name}}", + "trainedFace": "Uspješno obučeno lice.", + "reclassifiedFace": "Uspješno ponovno klasificirano lice.", + "updatedFaceScore": "Uspješno ažurirana ocjena lica na {{name}} ({{score}})." + }, + "error": { + "uploadingImageFailed": "Nije uspješno prenijeti sliku: {{errorMessage}}", + "addFaceLibraryFailed": "Nije uspješno postaviti ime lica: {{errorMessage}}", + "deleteFaceFailed": "Neuspješno brisanje: {{errorMessage}}", + "deleteNameFailed": "Nije uspješno obrisati ime: {{errorMessage}}", + "renameFaceFailed": "Nije uspješno preimenovati lice: {{errorMessage}}", + "trainFailed": "Nije uspješno trenirati: {{errorMessage}}", + "reclassifyFailed": "Nije uspješno ponovno klasifikovati lice: {{errorMessage}}", + "updateFaceScoreFailed": "Nije uspješno ažurirati bodove lica: {{errorMessage}}" + } + } +} diff --git a/web/public/locales/bs/views/live.json b/web/public/locales/bs/views/live.json new file mode 100644 index 000000000..e4fa6735d --- /dev/null +++ b/web/public/locales/bs/views/live.json @@ -0,0 +1,199 @@ +{ + "documentTitle": { + "default": "Uživo - Frigate", + "withCamera": "{{camera}} - Uživo - Frigate" + }, + "lowBandwidthMode": "Nizopojasni režim", + "twoWayTalk": { + "enable": "Omogući dvostrani razgovor", + "disable": "Onemogući dvostrani razgovor" + }, + "cameraAudio": { + "enable": "Omogući zvuk kamere", + "disable": "Onemogući zvuk kamere" + }, + "ptz": { + "move": { + "clickMove": { + "label": "Kliknite unutar okvira da biste centrirali kameru", + "enable": "Omogući klik za pomak", + "enableWithZoom": "Omogući klik za pomak / povucite za uvećanje", + "disable": "Onemogući klik za pomak" + }, + "left": { + "label": "Pomaknite PTZ kameru ulevo" + }, + "up": { + "label": "Pomaknite PTZ kameru gore" + }, + "down": { + "label": "Pomaknite PTZ kameru dolje" + }, + "right": { + "label": "Pomaknite PTZ kameru udesno" + } + }, + "zoom": { + "in": { + "label": "Uvećajte PTZ kameru" + }, + "out": { + "label": "Umanjite PTZ kameru" + } + }, + "focus": { + "in": { + "label": "Fokusirajte PTZ kameru unapred" + }, + "out": { + "label": "Fokusirajte PTZ kameru unazad" + } + }, + "frame": { + "center": { + "label": "Kliknite unutar okvira da biste centrirali PTZ kameru" + } + }, + "presets": "Preseti PTZ kamere" + }, + "camera": { + "enable": "Omogući kameru", + "disable": "Onemogući kameru" + }, + "muteCameras": { + "enable": "Utišajte sve kamere", + "disable": "Ponovo uključite zvuk za sve kamere" + }, + "detect": { + "enable": "Omogući detekciju", + "disable": "Onemogući detekciju" + }, + "recording": { + "enable": "Omogući snimanje", + "disable": "Onemogući snimanje" + }, + "snapshots": { + "enable": "Omogući snimke", + "disable": "Onemogući snimke" + }, + "snapshot": { + "takeSnapshot": "Preuzmi trenutni snimak", + "noVideoSource": "Nema dostupnog video izvora za snimak.", + "captureFailed": "Neuspješno snimanje trenutnog snimka.", + "downloadStarted": "Preuzimanje trenutnog snimka započeto." + }, + "audioDetect": { + "enable": "Omogući detekciju zvuka", + "disable": "Onemogući detekciju zvuka" + }, + "transcription": { + "enable": "Omogući prepoznavanje zvuka uživo", + "disable": "Onemogući prepoznavanje zvuka uživo" + }, + "autotracking": { + "enable": "Omogući automatsko praćenje", + "disable": "Onemogući automatsko praćenje" + }, + "streamStats": { + "enable": "Prikaži statistiku prijenosa", + "disable": "Sakrij statistiku prijenosa" + }, + "manualRecording": { + "title": "Na zahtjev", + "tips": "Preuzmi trenutni snimak ili pokreni ručni događaj na temelju postavki trajanja snimanja ove kamere.", + "playInBackground": { + "label": "Ponovno postavi stream", + "desc": "Omogući ovu opciju da nastavi streamanje kada je pokazivač sakriven." + }, + "showStats": { + "label": "Prikaži statistiku", + "desc": "Omogući ovu opciju da prikaže statistiku prijenosa kao preklapanje na toku kamere." + }, + "debugView": "Pregled za otklanjanje grešaka", + "start": "Počni snimanje na zahtjev", + "started": "Pokrenuto ručno snimanje na zahtjev.", + "failedToStart": "Neuspješno pokretanje ručnog snimanja na zahtjev.", + "recordDisabledTips": "Kako je snimanje onemogućeno ili ograničeno u konfiguraciji za ovu kameru, spremat će se samo snimak.", + "end": "Završi snimanje na zahtjev", + "ended": "Završeno ručno snimanje na zahtjev.", + "failedToEnd": "Neuspješno završavanje ručnog snimanja na zahtjev." + }, + "streamingSettings": "Postavke streamanja", + "notifications": "Obavještenja", + "audio": "Audio", + "suspend": { + "forTime": "Pauziraj za: " + }, + "stream": { + "title": "Tok", + "audio": { + "tips": { + "title": "Audio mora biti izlaz iz vaše kamere i konfiguriran u go2rtc za ovaj stream." + }, + "available": "Audio je dostupan za ovaj stream", + "unavailable": "Audio nije dostupan za ovaj stream" + }, + "debug": { + "picker": "Izbor streama nije dostupan u režimu debuga. Pregled debuga uvijek koristi stream dodeljen ulozi detekcije." + }, + "twoWayTalk": { + "tips": "Vaš uređaj mora podržavati funkciju, a WebRTC mora biti konfiguriran za dvosmernu komunikaciju.", + "available": "Dvosmerna komunikacija je dostupna za ovaj stream", + "unavailable": "Dvosmerna komunikacija nije dostupna za ovaj stream" + }, + "lowBandwidth": { + "tips": "Živo prikazivanje je u režimu niske propusnosti zbog buferiranja ili grešaka u streamu.", + "resetStream": "Ponovno postavi stream" + }, + "playInBackground": { + "label": "Ponovno postavi stream", + "tips": "Omogući ovu opciju da nastavi streamanje kada je pokazivač sakriven." + } + }, + "cameraSettings": { + "title": "{{camera}} Postavke", + "cameraEnabled": "Kamera omogućena", + "objectDetection": "Detekcija objekata", + "recording": "Snimanje", + "snapshots": "Snimci", + "audioDetection": "Detekcija zvuka", + "transcription": "Transkripcija zvuka", + "autotracking": "Autotračenje" + }, + "history": { + "label": "Prikaži povijesne snimke" + }, + "effectiveRetainMode": { + "modes": { + "all": "Sve", + "motion": "Kretanje", + "active_objects": "Aktivni objekti" + } + }, + "editLayout": { + "label": "Uredi raspored", + "group": { + "label": "Uredi grupu kamera" + }, + "exitEdit": "Izađi iz uređivanja" + }, + "noCameras": { + "title": "Nema konfiguriranih kamera", + "description": "Počnite tako što ćete povezati kameru s Frigate.", + "buttonText": "Dodaj kameru", + "restricted": { + "title": "Nema dostupnih kamera", + "description": "Nemate dozvolu za pregled bilo koje kamere u ovoj grupi." + }, + "default": { + "title": "Nema konfiguriranih kamera", + "description": "Počnite tako što ćete povezati kameru s Frigate.", + "buttonText": "Dodaj kameru" + }, + "group": { + "title": "Nema kamera u grupi", + "description": "Ova grupa kamera nema dodeljene ili omogućene kamere.", + "buttonText": "Upravljajte grupama" + } + } +} diff --git a/web/public/locales/bs/views/motionSearch.json b/web/public/locales/bs/views/motionSearch.json new file mode 100644 index 000000000..f9e417fd1 --- /dev/null +++ b/web/public/locales/bs/views/motionSearch.json @@ -0,0 +1,77 @@ +{ + "documentTitle": "Pretraga pokreta - Frigate", + "title": "Pretraga pokreta", + "description": "Nacrtaj poligon da biste definirali regiju interesa, a zatim navedite vremenski raspon za pretragu promjena pokreta unutar te regije.", + "selectCamera": "Pretraga pokreta učitava se", + "startSearch": "Počni pretragu", + "searchStarted": "Pretraga započeta", + "searchCancelled": "Pretraga otkazana", + "cancelSearch": "Otkaži", + "searching": "Pretraga u toku.", + "searchComplete": "Pretraga završena", + "noResultsYet": "Pokrenite pretragu da biste pronašli promjene pokreta u odabranoj regiji", + "noChangesFound": "Nisu otkrivene promjene piksela u odabranoj regiji", + "changesFound_one": "Pronađeno {{count}} promjena pokreta", + "changesFound_few": "Pronađeno {{count}} nekoliko pokreta", + "changesFound_other": "Pronađeno {{count}} promjene pokreta", + "framesProcessed": "{{count}} okvir procesiran", + "jumpToTime": "Preskoči na ovo vrijeme", + "results": "Rezultati", + "showSegmentHeatmap": "Top mapa", + "newSearch": "Nova pretraga", + "clearResults": "Očisti rezultate", + "clearROI": "Očisti poligon", + "polygonControls": { + "points_one": "{{count}} tačka", + "points_few": "{{count}} tačke", + "points_other": "{{count}} tačke", + "undo": "Poništi posljednju tačku", + "reset": "Ponovi poligon" + }, + "motionHeatmapLabel": "Top mapa pokreta", + "dialog": { + "title": "Pretraga pokreta", + "cameraLabel": "Kamera", + "previewAlt": "Pregled kamere za {{camera}}" + }, + "timeRange": { + "title": "Opseg pretrage", + "start": "Početno vrijeme", + "end": "Krajnje vrijeme" + }, + "settings": { + "title": "Postavke pretrage", + "parallelMode": "Paralelni način", + "parallelModeDesc": "Skeniranje više segmenata snimaka istovremeno (brže, ali značajno intenzivnije za CPU)", + "threshold": "Praga osjetljivosti", + "thresholdDesc": "Niže vrijednosti detektiraju manje promjene (1-255)", + "minArea": "Minimalna površina promjene", + "minAreaDesc": "Minimalni postotak područja interesa koji mora promijeniti da bi se smatrao značajnim", + "frameSkip": "Preskoči okvir", + "frameSkipDesc": "Obrađujte svaki N-ti okvir. Postavite ovo na brzinu okvira vaše kamere da biste obradili jedan okvir po sekundi (npr. 5 za 5 FPS kameru, 30 za 30 FPS kameru). Više vrijednosti će biti brže, ali mogu propustiti kratke događaje pokreta.", + "maxResults": "Maksimalni rezultati", + "maxResultsDesc": "Zaustavi nakon ovog broja odgovarajućih vremenskih oznaka" + }, + "errors": { + "noCamera": "Molimo odaberite kameru", + "noROI": "Molimo nacrtajte područje interesa", + "noTimeRange": "Molimo odaberite vremenski opseg", + "invalidTimeRange": "Krajnje vrijeme mora biti nakon početnog vremena", + "searchFailed": "Pretraga neuspješna: {{message}}", + "polygonTooSmall": "Poligon mora imati najmanje 3 točke", + "unknown": "Nepoznata greška" + }, + "changePercentage": "{{percentage}}% promijenjeno", + "metrics": { + "title": "Metrike pretrage", + "segmentsScanned": "Skenirani segmenti", + "segmentsProcessed": "Obrađeno", + "segmentsSkippedInactive": "Preskočeno (bez aktivnosti)", + "segmentsSkippedHeatmap": "Preskočeno (bez preklapanja ROI)", + "fallbackFullRange": "Povratni put skeniranje cijelog opsega", + "framesDecoded": "Dekodirani okviri", + "wallTime": "Vrijeme pretrage", + "segmentErrors": "Greške segmenta", + "seconds": "{{seconds}}s" + } +} diff --git a/web/public/locales/bs/views/recording.json b/web/public/locales/bs/views/recording.json new file mode 100644 index 000000000..1810fadad --- /dev/null +++ b/web/public/locales/bs/views/recording.json @@ -0,0 +1,12 @@ +{ + "filter": "Filtar", + "export": "Izvoz", + "calendar": "Kalendar", + "filters": "Filtari", + "toast": { + "error": { + "noValidTimeSelected": "Nije odabran valjan vremenski opseg", + "endTimeMustAfterStartTime": "Krajnje vrijeme mora biti nakon početnog vremena" + } + } +} diff --git a/web/public/locales/bs/views/replay.json b/web/public/locales/bs/views/replay.json new file mode 100644 index 000000000..0b102b53f --- /dev/null +++ b/web/public/locales/bs/views/replay.json @@ -0,0 +1,59 @@ +{ + "title": "Debug ponavljanje", + "description": "Ponovno prikazivanje snimaka kamere za ispitivanje. Lista objekata prikazuje zakasnjelje sažetak detektiranih objekata, a kartica Zapisi prikazuje tok unutrašnjih poruka Frigate iz snimaka ponavljanja.", + "websocket_messages": "Poruke", + "dialog": { + "title": "Počni debug ponavljanje", + "description": "Kreiraj privremenu kameru za ponavljanje koja ponavlja povijesne snimke za ispitivanje problema detekcije i praćenja objekata. Kamera za ponavljanje će imati istu konfiguraciju detekcije kao i izvorna kamera. Odaberite vremenski raspon za početak.", + "camera": "Izvorna kamera", + "timeRange": "Vremenski opseg", + "preset": { + "1m": "Posljednja 1 minuta", + "5m": "Posljednje 5 minuta", + "timeline": "Iz vremenske linije", + "custom": "Prilagođeno" + }, + "startButton": "Počni ponavljanje", + "selectFromTimeline": "Odaberite", + "starting": "Pokretanje ponavljanja...", + "startLabel": "Početak", + "endLabel": "Kraj", + "toast": { + "error": "Neuspješno pokretanje debug ponavljanja: {{error}}", + "alreadyActive": "Već postoji aktivna sesija ponavljanja", + "stopError": "Neuspješno zaustavljanje debug ponavljanja: {{error}}", + "goToReplay": "Idi na ponavljanje" + } + }, + "page": { + "noSession": "Nema aktivne sesije ponavljanja", + "noSessionDesc": "Pokrenite debug ponavljanje iz pogleda Povijest klikom na dugme Debug Replay u alatnoj traci.", + "goToRecordings": "Idi na povijest", + "sourceCamera": "Izvorna kamera", + "replayCamera": "Kamera za ponavljanje", + "initializingReplay": "Inicijalizacija ponavljanja...", + "stoppingReplay": "Zaustavljanje ponavljanja...", + "stopReplay": "Zaustavi ponavljanje", + "confirmStop": { + "title": "Zaustavi režim ponavljanja za debagovanje?", + "description": "Ovo će zaustaviti sesiju ponavljanja i očistiti sve privremene podatke. Sigurni li?", + "confirm": "Zaustavi ponavljanje", + "cancel": "Otkaži" + }, + "activity": "Aktivnost", + "objects": "Popis objekata", + "audioDetections": "Audio detekcije", + "noActivity": "Nema detektovane aktivnosti", + "activeTracking": "Aktivno praćenje", + "noActiveTracking": "Nema aktivnog praćenja", + "configuration": "Konfiguracija", + "configurationDesc": "Podesiti precizno detekciju pokreta i praćenje objekata za kameru za debagovanje ponavljanja. Promjene se ne čuvaju u datoteci konfiguracije Frigate.", + "preparingClip": "Pripremam klip…", + "preparingClipDesc": "Frigate spaja snimke za odabrani vremenski raspon. Ovo može potrajati minut za duže raspone.", + "startingCamera": "Pokretanje ponovnog pokretanja otklanjanja grešaka…", + "startError": { + "title": "Neuspjelo pokretanje ponovnog prikaza otklanjanja grešaka", + "back": "Povratak na historiju" + } + } +} diff --git a/web/public/locales/bs/views/search.json b/web/public/locales/bs/views/search.json new file mode 100644 index 000000000..f33ff1025 --- /dev/null +++ b/web/public/locales/bs/views/search.json @@ -0,0 +1,73 @@ +{ + "search": "Pretraga", + "button": { + "save": "Sačuvaj pretragu", + "clear": "Očisti pretragu", + "delete": "Obriši sačuvanu pretragu", + "filterInformation": "Filtrirajte informacije", + "filterActive": "Filtari aktivni" + }, + "savedSearches": "Sačuvane pretrage", + "searchFor": "Pretraga za {{inputValue}}", + "trackedObjectId": "ID praćenog objekta", + "filter": { + "label": { + "cameras": "Kamere", + "labels": "Oznake", + "zones": "Zone", + "sub_labels": "Podoznake", + "attributes": "Atributi", + "search_type": "Tip pretrage", + "time_range": "Vremenski opseg", + "before": "Prije", + "after": "Nakon", + "min_score": "Min. bodovi", + "max_score": "Max. bodovi", + "min_speed": "Min. brzina", + "max_speed": "Max. brzina", + "recognized_license_plate": "Prepoznata tablica", + "has_clip": "Ima klip", + "has_snapshot": "Ima snimak" + }, + "searchType": { + "thumbnail": "Minijatura", + "description": "Opis" + }, + "toast": { + "error": { + "beforeDateBeLaterAfter": "Datum 'before' mora biti kasniji od datuma 'after'.", + "afterDatebeEarlierBefore": "Datum 'after' mora biti raniji od datuma 'before'.", + "minScoreMustBeLessOrEqualMaxScore": "Vrijednost 'min_score' mora biti manja ili jednaka vrijednosti 'max_score'.", + "maxScoreMustBeGreaterOrEqualMinScore": "Vrijednost 'max_score' mora biti veća ili jednaka vrijednosti 'min_score'.", + "minSpeedMustBeLessOrEqualMaxSpeed": "Vrijednost 'min_speed' mora biti manja ili jednaka vrijednosti 'max_speed'.", + "maxSpeedMustBeGreaterOrEqualMinSpeed": "Vrijednost 'max_speed' mora biti veća ili jednaka vrijednosti 'min_speed'." + } + }, + "tips": { + "title": "Kako koristiti tekstualne filtere", + "desc": { + "text": "Filteri vam pomažu da sužite rezultate pretrage. Evo kako ih koristiti u polju za unos:", + "step1": "Unesite ime ključa filtera, zatim dvojtočku (npr. \"kamere:\").", + "step2": "Izaberite vrijednost iz predloga ili unesite vlastitu.", + "step3": "Koristite više filtera dodavanjem jednog za drugim s razmakom između.", + "step4": "Filteri datuma (pre: i nakon:) koriste {{DateFormat}} format.", + "step5": "Filter raspona vremena koristi format {{exampleTime}}.", + "step6": "Uklonite filtre klikom na 'x' pored njih.", + "exampleLabel": "Primjer:" + } + }, + "header": { + "currentFilterType": "Vrijednosti filtera", + "noFilters": "Filtari", + "activeFilters": "Aktivni filteri" + } + }, + "similaritySearch": { + "title": "Pretraga sličnosti", + "active": "Pretraga sličnosti aktivna", + "clear": "Očisti pretragu sličnosti" + }, + "placeholder": { + "search": "Pretraži…" + } +} diff --git a/web/public/locales/bs/views/settings.json b/web/public/locales/bs/views/settings.json new file mode 100644 index 000000000..f1b803b2d --- /dev/null +++ b/web/public/locales/bs/views/settings.json @@ -0,0 +1,1690 @@ +{ + "documentTitle": { + "default": "Postavke - Frigate", + "authentication": "Postavke autentifikacije - Frigate", + "cameraManagement": "Upravljanje kamerama - Frigate", + "cameraReview": "Postavke pregleda kamera - Frigate", + "enrichments": "Postavke bogatstva - Frigate", + "masksAndZones": "Uređivač maski i zona - Frigate", + "motionTuner": "Podešavanje pokreta - Frigate", + "object": "Debug - Frigate", + "general": "Postavke korisničkog sučelja - Frigate", + "globalConfig": "Globalna konfiguracija - Frigate", + "cameraConfig": "Konfiguracija kamere - Frigate", + "frigatePlus": "Postavke Frigate+ - Frigate", + "notifications": "Postavke obavijesti - Frigate", + "maintenance": "Održavanje - Frigate", + "profiles": "Profili - Frigate" + }, + "menu": { + "system": "Sistem", + "profiles": "Profili", + "general": "Općenito", + "globalConfig": "Globalna konfiguracija", + "integrations": "Integracije", + "cameras": "Konfiguracija kamere", + "ui": "UI", + "uiSettings": "Postavke korisničkog sučelja", + "globalDetect": "Detekcija objekata", + "globalRecording": "Snimanje", + "globalSnapshots": "Snimci", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Detekcija pokreta", + "globalObjects": "Objekti", + "globalReview": "Pregled", + "globalAudioEvents": "Audio događaji", + "globalLivePlayback": "Uživo prikaz", + "globalTimestampStyle": "Stil vremenske oznake", + "systemDatabase": "Baza podataka", + "systemTls": "TLS", + "systemAuthentication": "Autentifikacija", + "systemNetworking": "Mrežno", + "systemProxy": "Proxy", + "systemUi": "UI", + "systemLogging": "Zapisi", + "systemEnvironmentVariables": "Okolinski varijable", + "systemTelemetry": "Telemetrija", + "systemBirdseye": "Birdseye", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "Hardver detektora", + "systemDetectionModel": "Model detekcije", + "systemMqtt": "MQTT", + "systemGo2rtcStreams": "go2rtc streams", + "integrationSemanticSearch": "Semantička pretraga", + "integrationGenerativeAi": "Generativna AI", + "integrationFaceRecognition": "Prepoznavanje lica", + "integrationLpr": "Prepoznavanje tablice za registraciju", + "integrationObjectClassification": "Klasifikacija objekata", + "integrationAudioTranscription": "Transkripcija zvuka", + "cameraDetect": "Detekcija objekata", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "Snimanje", + "cameraSnapshots": "Snimci", + "cameraMotion": "Detekcija pokreta", + "cameraObjects": "Objekti", + "cameraConfigReview": "Pregled", + "cameraAudioEvents": "Audio događaji", + "cameraAudioTranscription": "Transkripcija zvuka", + "cameraNotifications": "Obavještenja", + "cameraLivePlayback": "Uživo prikaz", + "cameraBirdseye": "Birdseye", + "cameraFaceRecognition": "Prepoznavanje lica", + "cameraLpr": "Prepoznavanje tablice za registraciju", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "Kamera UI", + "cameraTimestampStyle": "Stil vremenske oznake", + "cameraMqtt": "Kamera MQTT", + "cameraManagement": "Upravljanje", + "cameraReview": "Pregled", + "masksAndZones": "Maska / Zone", + "motionTuner": "Regulator kretanja", + "enrichments": "Poboljšanja", + "users": "Korisnici", + "roles": "Uloge", + "notifications": "Obavještenja", + "triggers": "Pokretači", + "debug": "Debug", + "frigateplus": "Frigate+", + "maintenance": "Održavanje", + "mediaSync": "Sinkronizacija medija", + "regionGrid": "Mreža regija" + }, + "button": { + "overriddenGlobal": "Prekriveno (Globalno)", + "overriddenGlobalTooltip": "Ova kamera prekriva globalne postavke konfiguracije u ovom odjeljku", + "overriddenBaseConfig": "Prekriveno (Bazna konfiguracija)", + "overriddenBaseConfigTooltip": "Profil {{profile}} prekriva postavke konfiguracije u ovom odjeljku", + "overriddenInCameras": { + "label_one": "Nadjačano u {{count}} kameri", + "label_few": "Nadjačano u {{count}} kamere", + "label_other": "Nadjačano u {{count}} kamera", + "tooltip_one": "{{count}} kamera nadjačava vrijednosti u ovom odjeljku. Kliknite za detalje.", + "tooltip_few": "{{count}} kamere nadjačavaju vrijednosti u ovom odjeljku. Kliknite za detalje.", + "tooltip_other": "{{count}} kamera nadjačava vrijednosti u ovom odjeljku. Kliknite za detalje.", + "heading_one": "Ovaj globalni odjeljak ima polja koja su nadjačana u {{count}} kameri.", + "heading_few": "Ovaj globalni odjeljak ima polja koja su nadjačana u {{count}} kamere.", + "heading_other": "Ovaj globalni odjeljak ima polja koja su nadjačana u {{count}} kamera.", + "othersField_one": "{{count}} drugo", + "othersField_few": "{{count}} druga", + "othersField_other": "{{count}} drugih", + "profilePrefix": "{{profile}} profil: {{fields}}" + } + }, + "dialog": { + "unsavedChanges": { + "title": "Imate nečuvane promjene.", + "desc": "Želite li da sačuvate promjene prije nego što nastavite?" + } + }, + "saveAllPreview": { + "title": "Promjene koje treba sačuvati", + "triggerLabel": "Pregledajte čekajuće promjene", + "empty": "Nema čekajućih promjena.", + "scope": { + "label": "Opseg", + "global": "Globalni", + "camera": "Kamera: {{cameraName}}" + }, + "profile": { + "label": "Profil" + }, + "field": { + "label": "Polje" + }, + "value": { + "label": "Nova vrijednost", + "reset": "Resetuj" + } + }, + "cameraSetting": { + "camera": "Kamera", + "noCamera": "Nema kamere" + }, + "general": { + "title": "Postavke korisničkog sučelja", + "liveDashboard": { + "title": "Uživo upravljačko sučelje", + "automaticLiveView": { + "label": "Automatski pregled uživo", + "desc": "Automatski pređite na pregled uživo kamere kada se detektira aktivnost. Onemogućavanje ove opcije uzrokuje da statične slike kamere na upravljačkom sučelju uživo ažuriraju se jednom na minut." + }, + "playAlertVideos": { + "label": "Pregledajte videozapise upozorenja", + "desc": "Zaduženo, nedavna upozorenja na upravljačkom sučelju uživo se prikazuju kao mala petlja videa. Onemogućavanje ove opcije omogućava prikaz samo statične slike nedavnih upozorenja na ovom uređaju/pregledniku." + }, + "displayCameraNames": { + "label": "Uvijek prikaži imena kamere", + "desc": "Uvijek prikaži imena kamere u čipu u pregledu uživo više kamera." + }, + "liveFallbackTimeout": { + "label": "Vrijeme čekanja za povratno prelazak igrača uživo", + "desc": "Kada je visokokvalitetni tok uživo za kameru nedostupan, pređite na način s niskom širinom pojasa nakon ovog broja sekundi. Zadano: 3." + } + }, + "storedLayouts": { + "title": "Pohranjene izgleda", + "desc": "Izgled kamere u grupi kamera može se povući/ponoviti. Položaji se pohranjuju u lokalno skladište vašeg preglednika.", + "clearAll": "Izbriši sve izgleda" + }, + "cameraGroupStreaming": { + "title": "Postavke streaminga za grupu kamera", + "desc": "Postavke streaminga za svaku grupu kamera pohranjene su u lokalno skladište vašeg preglednika.", + "clearAll": "Izbriši sve postavke streaminga" + }, + "recordingsViewer": { + "title": "Pregledač snimaka", + "defaultPlaybackRate": { + "label": "Zadani brzina reprodukcije", + "desc": "Zadani brzina reprodukcije za prikazivanje snimaka." + } + }, + "calendar": { + "title": "Kalendar", + "firstWeekday": { + "label": "Prvi radni dan", + "desc": "Dan na kojem počinju tjedni pregled kalendar.", + "sunday": "Nedjelja", + "monday": "Ponedjeljak" + } + }, + "toast": { + "success": { + "clearStoredLayout": "Izbrisana pohranjena izgled za {{cameraName}}", + "clearStreamingSettings": "Izbrisane postavke streaminga za sve grupe kamera." + }, + "error": { + "clearStoredLayoutFailed": "Nije uspješno obrisano pohranjeno raspoređenje: {{errorMessage}}", + "clearStreamingSettingsFailed": "Nije uspješno obrisano pohranjene postavke streaminga: {{errorMessage}}" + } + } + }, + "enrichments": { + "title": "Postavke obogaćivanja", + "unsavedChanges": "Nespremljene promjene postavki bogatstva", + "birdClassification": { + "title": "Klasifikacija ptica", + "desc": "Klasifikacija ptica identifikuje poznate ptice pomoću kvantiziranog Tensorflow modela. Kada se prepozna poznata ptica, njezino uobičajeno ime bit će dodato kao sub_label. Ova informacija uključena je u UI, filtere, kao i u obavijesti." + }, + "semanticSearch": { + "title": "Semantička pretraga", + "desc": "Semantička pretraga u Frigate omogućava vam da pronađete praćene objekte unutar vaših stavki za pregled pomoću same slike, korisnički definiranog tekstualnog opisa ili automatski generiranog.", + "reindexNow": { + "label": "Ponovno indeksiraj sada", + "desc": "Ponovno indeksiranje će ponovno generirati ugrađivanja za sve praćene objekte. Ovaj proces se izvršava u pozadini i može iskoristiti punu snagu vašeg CPU-a i može trajati značajno vrijeme ovisno o broju praćenih objekata koje imate.", + "confirmTitle": "Potvrdi ponovno indeksiranje", + "confirmDesc": "Sigurni li ste da želite ponovno indeksirati ugrađivanja svih praćenih objekata? Ovaj proces će se izvršavati u pozadini, ali može iskoristiti punu snagu vašeg CPU-a i može trajati značajno vrijeme. Možete pratiti napredak na stranici Istraživanje.", + "confirmButton": "Ponovno indeksiraj", + "success": "Ponovno indeksiranje je uspješno pokrenuto.", + "alreadyInProgress": "Ponovno indeksiranje već je u toku.", + "error": "Nije uspješno pokrenuto ponovno indeksiranje: {{errorMessage}}" + }, + "modelSize": { + "label": "Veličina modela", + "desc": "Veličina modela korištenog za semantičke pretrage ugrađivanja.", + "small": { + "title": "mali", + "desc": "Korištenje mali koristi kvantiziranu verziju modela koja koristi manje RAM-a i brže se izvršava na CPU-u s vrlo zanemarivim razlikama u kvaliteti ugrađivanja." + }, + "large": { + "title": "veliki", + "desc": "Korištenje veliki koristi puni Jina model i automatski će se izvršavati na GPU-u ako je primjenjivo." + } + } + }, + "faceRecognition": { + "title": "Prepoznavanje lica", + "desc": "Prepoznavanje lica omogućava ljudima da se dodele imena, a kada se prepozna lice, Frigate će dodijeliti ime osobe kao sub_label. Ova informacija uključena je u UI, filtere, kao i u obavijesti.", + "modelSize": { + "label": "Veličina modela", + "desc": "Veličina modela korištenog za prepoznavanje lica.", + "small": { + "title": "mali", + "desc": "Korišćenje mali koristi model za ugradnju lica FaceNet koji učinkovito radi na većini CPU-ova." + }, + "large": { + "title": "veliki", + "desc": "Korišćenje veliki koristi model za ugradnju lica ArcFace i automatski će se pokrenuti na GPU-u ako je primjenjivo." + } + } + }, + "licensePlateRecognition": { + "title": "Prepoznavanje tablice vozila", + "desc": "Frigate može prepoznati registracijske tablice na vozilima i automatski dodati detektirane znakove u polje recognized_license_plate ili poznato ime kao sub_label objektima koji su tipa automobil. Često korišćeni slučaj može biti čitanje registracijskih tablica automobila koji se voze u dvorište ili automobila koji prolaze ulicom." + }, + "restart_required": "Potrebno je ponovno pokretanje (promijenjene postavke bogatstva)", + "toast": { + "success": "Postavke bogatstva su sačuvane. Ponovno pokrenite Frigate da biste primijenili svoje promjene.", + "error": "Nije uspješno sačuvana promjena konfiguracije: {{errorMessage}}" + } + }, + "cameraWizard": { + "title": "Dodaj kameru", + "description": "Slijedite korake ispod da biste dodali novu kameru u svoju instalaciju Frigate.", + "steps": { + "nameAndConnection": "Ime i Povezivanje", + "probeOrSnapshot": "Testiranje ili Snimak", + "streamConfiguration": "Konfiguracija strujanja", + "validationAndTesting": "Validacija i Testiranje" + }, + "save": { + "success": "Uspješno sačuvana nova kamera {{cameraName}}.", + "failure": "Greška prilikom sačuvavanja {{cameraName}}." + }, + "testResultLabels": { + "resolution": "Rezolucija", + "video": "Video", + "audio": "Audio", + "fps": "FPS" + }, + "commonErrors": { + "noUrl": "Molimo unesite važeću URL adresu za strujanje", + "testFailed": "Test strujanja nije uspio: {{error}}" + }, + "step1": { + "description": "Unesite detalje o svojoj kameri i odaberite testiranje kamere ili ručno odaberite proizvođača.", + "cameraName": "Ime kamere", + "cameraNamePlaceholder": "npr. front_door ili Pregled zadnjeg dvorišta", + "host": "Host/IP adresa", + "port": "Port", + "username": "Korisničko ime", + "usernamePlaceholder": "Opcionalno", + "password": "Lozinka", + "passwordPlaceholder": "Opcionalno", + "selectTransport": "Odaberite protokol prenosa", + "cameraBrand": "Marka kamere", + "selectBrand": "Odaberite marku kamere za URL predložak", + "customUrl": "Prilagođeni URL tokova", + "brandInformation": "Informacije o brendu", + "brandUrlFormat": "Za kamere sa formatom RTSP URL-a kao: {{exampleUrl}}", + "customUrlPlaceholder": "rtsp://username:password@host:port/path", + "connectionSettings": "Postavke veze", + "detectionMethod": "Metoda detekcije tokova", + "onvifPort": "Port ONVIF", + "probeMode": "Pregledaj kameru", + "manualMode": "Ručna selekcija", + "detectionMethodDescription": "Pregledaj kameru pomoću ONVIF (ako je podržano) kako bi pronašao URL-ove tokova kamere, ili ručno odaberi brend kamere za korištenje preddefiniranih URL-ova. Za unos prilagođenog RTSP URL-a, odaberi ručni metod i odaberi \"Ostalo\".", + "onvifPortDescription": "Za kamere koje podržavaju ONVIF, ovo je obično 80 ili 8080.", + "useDigestAuth": "Koristi digest autentifikaciju", + "useDigestAuthDescription": "Koristi HTTP digest autentifikaciju za ONVIF. Neke kamere mogu zahtijevati dedikovane korisničko ime/lozinku ONVIF umjesto standardnog korisnika admin.", + "errors": { + "brandOrCustomUrlRequired": "Odaberite brend kamere s host/IP ili odaberite 'Ostalo' s prilagođenim URL-om", + "nameRequired": "Ime kamere je obavezno", + "nameLength": "Ime kamere mora imati 64 znaka ili manje", + "invalidCharacters": "Ime kamere sadrži nevažeće znakove", + "nameExists": "Ime kamere već postoji", + "customUrlRtspRequired": "Prilagođeni URL-ovi moraju početi s \"rtsp://\". Za tokove kamere koji nisu RTSP potrebna je ručna konfiguracija." + } + }, + "step2": { + "description": "Pregledajte kameru za dostupne tokove ili konfigurirajte ručne postavke na temelju odabrane metode detekcije.", + "testSuccess": "Test veze uspješan!", + "testFailed": "Test veze nije uspio. Molimo provjerite svoj unos i pokušajte ponovno.", + "testFailedTitle": "Test nije uspio", + "streamDetails": "Detalji tokova", + "probing": "Pregledavanje kamere...", + "retry": "Pokušaj ponovno", + "testing": { + "probingMetadata": "Pregledavanje metapodataka kamere...", + "fetchingSnapshot": "Učitavanje snimka kamere..." + }, + "probeFailed": "Neuspješno ispitivanje kamere: {{error}}", + "probingDevice": "Ispitivanje uređaja...", + "probeSuccessful": "Uspješno ispitivanje", + "probeError": "Greška ispitivanja", + "probeNoSuccess": "Neuspješno ispitivanje", + "deviceInfo": "Informacije o uređaju", + "manufacturer": "Proizvođač", + "model": "Model", + "firmware": "Firmver", + "profiles": "Profili", + "ptzSupport": "Podrška PTZ", + "autotrackingSupport": "Podrška za autotračenje", + "presets": "Podešavanja", + "rtspCandidates": "RTSP kandidati", + "rtspCandidatesDescription": "Sljedeće RTSP URL-ovi su pronađeni iz ispitivanja kamere. Testirajte vezu za pregled metapodataka o streamu.", + "noRtspCandidates": "Nisu pronađeni RTSP URL-ovi iz kamere. Vaše vjerodajnice mogu biti netočne, ili kamera možda ne podržava ONVIF ili metod za dobivanje RTSP URL-ova. Vrati se i ručno unesi RTSP URL.", + "candidateStreamTitle": "Kandidat {{number}}", + "useCandidate": "Koristi", + "uriCopy": "Kopiraj", + "uriCopied": "URI kopiran na međuspremnik", + "testConnection": "Testiraj vezu", + "toggleUriView": "Kliknite za prebacivanje u puni prikaz URI-ja", + "connected": "Povezani", + "notConnected": "Nije povezan", + "errors": { + "hostRequired": "Potrebna je adresa hosta/IP" + } + }, + "step3": { + "description": "Konfigurirajte uloge streamova i dodajte dodatne streamove za vašu kameru.", + "streamsTitle": "Streamovi kamere", + "addStream": "Dodaj snimak", + "addAnotherStream": "Dodaj još jedan snimak", + "streamTitle": "Snimak {{number}}", + "streamUrl": "URL snimka", + "streamUrlPlaceholder": "rtsp://username:password@host:port/path", + "selectStream": "Odaberite snimak", + "searchCandidates": "Pretražite kandidate...", + "noStreamFound": "Nijedan snimak nije pronađen", + "url": "URL", + "resolution": "Rezolucija", + "selectResolution": "Odaberite rezoluciju", + "quality": "Kvalitet", + "selectQuality": "Odaberite kvalitet", + "roles": "Uloge", + "roleLabels": { + "detect": "Detekcija objekata", + "record": "Snimanje", + "audio": "Audio" + }, + "testStream": "Testirajte vezu", + "testSuccess": "Test snimka uspješan!", + "testFailed": "Test snimka neuspješan", + "testFailedTitle": "Test neuspješan", + "connected": "Povezani", + "notConnected": "Nije povezan", + "featuresTitle": "Funkcije", + "go2rtc": "Smanjite povezivanje s kamerom", + "detectRoleWarning": "Bar jedan snimak mora imati ulogu \"detektirati\" da biste nastavili.", + "rolesPopover": { + "title": "Uloge snimka", + "detect": "Glavni tok za detekciju objekata.", + "record": "Sprema segmente video toka na temelju postavki konfiguracije.", + "audio": "Tok za detekciju na temelju zvuka." + }, + "featuresPopover": { + "title": "Značajke snimka", + "description": "Koristite go2rtc restreaming za smanjenje povezivanja s vašom kamerom." + } + }, + "step4": { + "description": "Konačna validacija i analiza prije spašavanja vaše nove kamere. Povežite svaki tok prije spašavanja.", + "validationTitle": "Validacija toka", + "connectAllStreams": "Poveži sve toke", + "reconnectionSuccess": "Ponovno povezivanje uspješno.", + "reconnectionPartial": "Neki tokovi su neuspješno ponovno povezani.", + "streamUnavailable": "Pregled toka nije dostupan", + "reload": "Ponovno učitaj", + "connecting": "Povezivanje...", + "streamTitle": "Tok {{number}}", + "valid": "Važeći", + "failed": "Neuspješno", + "notTested": "Nije testirano", + "connectStream": "Poveži", + "connectingStream": "Povezivanje", + "disconnectStream": "Odspoji", + "estimatedBandwidth": "Procijenjena širina pojasa", + "roles": "Uloge", + "ffmpegModule": "Koristi režim kompatibilnosti toka", + "ffmpegModuleDescription": "Ako tok ne učita nakon nekoliko pokušaja, pokušajte omogućavanje ovoga. Kada je omogućeno, Frigate će koristiti modul ffmpeg sa go2rtc. Ovo može pružiti bolju kompatibilnost sa nekim tokovima kamera.", + "none": "Nijedan", + "error": "Greška", + "streamValidated": "Tok {{number}} uspješno validiran", + "streamValidationFailed": "Tok {{number}} validacija neuspješna", + "saveAndApply": "Sačuvaj novu kameru", + "saveError": "Neispravna konfiguracija. Molimo provjerite svoje postavke.", + "issues": { + "title": "Validacija toka", + "videoCodecGood": "Video kodak je {{codec}}.", + "audioCodecGood": "Audio kodak je {{codec}}.", + "resolutionHigh": "Rezolucija od {{resolution}} može uzrokovati povećanu upotrebu resursa.", + "resolutionLow": "Rezolucija od {{resolution}} može biti preniska za pouzdanu detekciju malih objekata.", + "resolutionUnknown": "Rezolucija ovog tokova nije moguća za ispitivanje. Trebalo bi ručno postaviti detekciju rezolucije u Postavkama ili vašoj konfiguraciji.", + "noAudioWarning": "Nije detektovan zvuk za ovaj tok, snimci neće imati zvuk.", + "audioCodecRecordError": "Potreban je AAC audio kodac za podršku zvuku u snimcima.", + "audioCodecRequired": "Potreban je audio tok za podržavanje detekcije zvuka.", + "restreamingWarning": "Smanjenje povezivanja sa kamerom za snimljeni tok može lagano povećati upotrebu CPU.", + "brands": { + "reolink-rtsp": "Reolink RTSP nije preporučen. Omogući HTTP u postavkama firmvera kamere i ponovo pokreni čarobnjaka.", + "reolink-http": "Reolink HTTP tokovi trebaju koristiti FFmpeg za bolju kompatibilnost. Omogući 'Korištenje režima kompatibilnosti tokova' za ovaj tok." + }, + "dahua": { + "substreamWarning": "Podstrujak 1 je zaključan na nisku rezoluciju. Mnoge kamere Dahua / Amcrest / EmpireTech podržavaju dodatne podstrujke koje treba omogućiti u postavkama kamere. Preporučuje se da ih provjerite i iskoristite ako su dostupne." + }, + "hikvision": { + "substreamWarning": "Podstrujak 1 je zaključan na nisku rezoluciju. Mnoge kamere Hikvision podržavaju dodatne podstrujke koje treba omogućiti u postavkama kamere. Preporučuje se da ih provjerite i iskoristite ako su dostupne." + } + } + } + }, + "cameraManagement": { + "title": "Upravljanje kamerama", + "addCamera": "Dodaj novu kameru", + "deleteCamera": "Obriši kameru", + "deleteCameraDialog": { + "title": "Obriši kameru", + "description": "Brisanje kamere trajno uklanja sve snimke, praćene objekte i konfiguraciju za tu kameru. Bilo bi potrebno ručno ukloniti sve go2rtc tokove povezane s ovom kamerom.", + "selectPlaceholder": "Izaberite kameru...", + "confirmTitle": "Sigurni ste?", + "confirmWarning": "Brisanje {{cameraName}} ne može se povući.", + "deleteExports": "Takođe obriši izvoze za ovu kameru", + "confirmButton": "Obriši trajno", + "success": "Kamera {{cameraName}} uspješno obrisana", + "error": "Neuspješno brisanje kamere {{cameraName}}" + }, + "editCamera": "Uredi kameru:", + "selectCamera": "Izaberite kameru", + "backToSettings": "Povratak na postavke kamere", + "streams": { + "title": "Omogući / Onemogući kamere", + "enableLabel": "Omogućene kamere", + "enableDesc": "Privremeno onemogući omogućenu kameru dok Frigate ne ponovo započne. Onemogućavanje kamere potpuno zaustavlja obradu tokova ove kamere od strane Frigate. Detekcija, snimanje i praćenje nedostat će.
    Napomena: Ovo ne onemogućava restreamove go2rtc.", + "disableLabel": "Onemogućene kamere", + "disableDesc": "Omogući kameru koja trenutno nije vidljiva u UI-ju i onemogućena u konfiguraciji. Potrebno je ponovno pokrenuti Frigate nakon omogućavanja.", + "enableSuccess": "Omogućena {{cameraName}} u konfiguraciji. Ponovno pokrenite Frigate da biste primijenili promjene.", + "friendlyName": { + "edit": "Uredi prikazano ime kamere", + "title": "Uredi prikazano ime", + "description": "Postavite prijateljsko ime koje će se prikazivati za ovu kameru kroz cijeli Frigate UI. Ostavite prazno da biste koristili ID kamere.", + "rename": "Preimenuj" + } + }, + "cameraConfig": { + "add": "Dodaj kameru", + "edit": "Uredi kameru", + "description": "Konfiguriraj postavke kamere uključujući ulazne tokove i uloge.", + "name": "Ime kamere", + "nameRequired": "Ime kamere je obavezno", + "nameLength": "Ime kamere mora imati manje od 64 znaka.", + "namePlaceholder": "npr. front_door ili Pregled zadnjeg dvorišta", + "enabled": "Omogućeno", + "ffmpeg": { + "inputs": "Ulazni tokovi", + "path": "Putanja toka", + "pathRequired": "Putanja toka je obavezna", + "pathPlaceholder": "rtsp://...", + "roles": "Uloge", + "rolesRequired": "Potrebna je bar jedna uloga", + "rolesUnique": "Svaka uloga (audio, detekcija, snimanje) može se dodijeliti samo jednom toku", + "addInput": "Dodaj ulazni tok", + "removeInput": "Ukloni ulazni tok", + "inputsRequired": "Potrebno je bar jedan ulazni tok" + }, + "go2rtcStreams": "go2rtc Tokovi", + "streamUrls": "URL-ovi tokova", + "addUrl": "Dodaj URL", + "addGo2rtcStream": "Dodaj go2rtc tok", + "toast": { + "success": "Kamera {{cameraName}} je uspješno sačuvana" + } + }, + "profiles": { + "title": "Prekrižavanja kamere profila", + "selectLabel": "Odaberi profil", + "description": "Konfigurirajte koje kamere su omogućene ili onemogućene kada je profil aktiviran. Kamere postavljene na \"Naslijeđivanje\" očuvaju svoje osnovno stanje omogućeno.", + "inherit": "Naslijeđivanje", + "enabled": "Omogućeno", + "disabled": "Onemogućeno" + } + }, + "cameraReview": { + "title": "Postavke pregleda kamere", + "object_descriptions": { + "title": "Opisi objekata generativne AI", + "desc": "Privremeno omogući/onemogući opise objekata generativne AI za ovu kameru dok Frigate ne ponovo pokrene. Kada je onemogućeno, opisi generirani AI-om neće se tražiti za praćene objekte na ovoj kameri." + }, + "review_descriptions": { + "title": "Opisi pregleda generativne AI", + "desc": "Privremeno omogući/onemogući opise pregleda generativne AI za ovu kameru dok Frigate ne ponovo pokrene. Kada je onemogućeno, opisi generirani AI-om neće se tražiti za stavke pregleda na ovoj kameri." + }, + "review": { + "title": "Pregled", + "desc": "Privremeno omogući/onemogući upozorenja i detekcije za ovu kameru dok Frigate ne ponovo pokrene. Kada je onemogućeno, neće se generirati nove stavke pregleda. ", + "alerts": "Upozorenja ", + "detections": "Detekcije " + }, + "reviewClassification": { + "title": "Klasifikacija pregleda", + "desc": "Frigate klasificira stavke pregleda kao Upozorenja i Detekcije. Po defaultu, svi osobe i automobili objekti se smatraju Upozorenjima. Možete usavršiti klasifikaciju svojih stavki pregleda konfiguriranjem potrebnih zona za njih.", + "noDefinedZones": "Nema definiranih zona za ovu kameru.", + "objectAlertsTips": "Svi {{alertsLabels}} objekti na {{cameraName}} bit će prikazani kao Upozorenja.", + "zoneObjectAlertsTips": "Svi {{alertsLabels}} objekti detektirani u {{zone}} na {{cameraName}} bit će prikazani kao Upozorenja.", + "objectDetectionsTips": "Svi {{detectionsLabels}} objekti koji nisu kategorizirani na {{cameraName}} bit će prikazani kao Detekcije bez obzira na kojoj se zoni nalaze.", + "zoneObjectDetectionsTips": { + "text": "Svi {{detectionsLabels}} objekti koji nisu kategorizirani u {{zone}} na {{cameraName}} bit će prikazani kao Detekcije.", + "notSelectDetections": "Svi {{detectionsLabels}} objekti detektirani u {{zone}} na {{cameraName}} koji nisu kategorizirani kao Upozorenja bit će prikazani kao Detekcije bez obzira na kojoj se zoni nalaze.", + "regardlessOfZoneObjectDetectionsTips": "Svi {{detectionsLabels}} objekti koji nisu kategorizirani na {{cameraName}} bit će prikazani kao Detekcije bez obzira na koju zonu se nalaze." + }, + "unsavedChanges": "Nespremljene postavke klasifikacije pregleda za {{camera}}", + "selectAlertsZones": "Odaberite zone za Upozorenja", + "selectDetectionsZones": "Odaberite zone za Detekcije", + "limitDetections": "Ograničite detekcije na specifične zone", + "toast": { + "success": "Konfiguracija klasifikacije pregleda je sačuvana. Ponovo pokrenite Frigate da biste primijenili promjene." + } + } + }, + "masksAndZones": { + "filter": { + "all": "Svi Maski i Zone" + }, + "restart_required": "Potrebno je ponovo pokrenuti (maska/zone promijenjene)", + "disabledInConfig": "Stavka je onemogućena u datoteci konfiguracije", + "addDisabledProfile": "Prvo dodajte u osnovnu konfiguraciju, zatim prekrijte u profilu", + "profileBase": "(osnovna)", + "profileOverride": "(preklop)", + "toast": { + "success": { + "copyCoordinates": "Koordinate za {{polyName}} su kopirane u međuspremnik." + }, + "error": { + "copyCoordinatesFailed": "Nemoguće kopirati koordinate u međuspremnik." + } + }, + "motionMaskLabel": "Maska za pokret {{number}}", + "objectMaskLabel": "Maska za objekt {{number}}", + "form": { + "id": { + "error": { + "mustNotBeEmpty": "ID ne smije biti prazan.", + "alreadyExists": "Postoji maska s ovim ID-om za ovu kameru." + } + }, + "name": { + "error": { + "mustNotBeEmpty": "Ime ne smije biti prazno." + } + }, + "zoneName": { + "error": { + "mustBeAtLeastTwoCharacters": "Ime zone mora imati najmanje 2 karaktera.", + "mustNotBeSameWithCamera": "Ime zone ne smije biti isto kao ime kamere.", + "alreadyExists": "Postoji zona s ovim imenom za ovu kameru.", + "mustNotContainPeriod": "Ime zone ne smije sadržavati tačke.", + "hasIllegalCharacter": "Ime zone sadrži nedozvoljene znakove.", + "mustHaveAtLeastOneLetter": "Ime zone mora imati bar jedan slovo." + } + }, + "distance": { + "error": { + "text": "Rastojanje mora biti veće ili jednako 0.1.", + "mustBeFilled": "Sva polja za rastojanje moraju biti popunjena da biste koristili procjenu brzine." + } + }, + "inertia": { + "error": { + "mustBeAboveZero": "Inercija mora biti iznad 0." + } + }, + "loiteringTime": { + "error": { + "mustBeGreaterOrEqualZero": "Vrijeme loiteringa mora biti veće ili jednako 0." + } + }, + "speed": { + "error": { + "mustBeGreaterOrEqualTo": "Prag brzine mora biti veći ili jednak 0.1." + } + }, + "polygonDrawing": { + "type": { + "zone": "Zona", + "motion_mask": "maska pokreta", + "object_mask": "maska objekta" + }, + "removeLastPoint": "Ukloni posljednju tačku", + "reset": { + "label": "Obriši sve tačke" + }, + "snapPoints": { + "true": "Prilagodi tačke", + "false": "Ne prilagođavaj tačke" + }, + "delete": { + "title": "Potvrdi brisanje", + "desc": "Da li ste sigurni da želite izbrisati {{type}} {{name}}?", + "success": "{{name}} je izbrisan." + }, + "revertOverride": { + "title": "Povrati se na osnovnu konfiguraciju", + "desc": "Ovo će ukloniti preklop profila za {{type}} {{name}} i povrati se na osnovnu konfiguraciju." + }, + "error": { + "mustBeFinished": "Crtanje poligona mora se završiti prije spašavanja." + } + } + }, + "zones": { + "label": "Zone", + "documentTitle": "Uredi zonu - Frigate", + "desc": { + "title": "Zona omogućava da definirate specifičnu područje okvira da biste odredili je li objekt unutar određenog područja.", + "documentation": "Dokumentacija" + }, + "add": "Dodaj zonu", + "edit": "Uredi zonu", + "point_one": "{{count}} tačka", + "point_few": "{{count}} tačke", + "point_other": "{{count}} tačke", + "clickDrawPolygon": "Kliknite da nacrtate poligon na slici.", + "name": { + "title": "Ime", + "inputPlaceHolder": "Unesite ime…", + "tips": "Ime mora imati najmanje 2 karaktera, mora imati bar jedan slovo, i ne smije biti ime kamere ili druge zone na ovoj kameri." + }, + "enabled": { + "title": "Omogućeno", + "description": "Da li je ova zona aktivna i omogućena u konfiguracionoj datoteci. Ako je onemogućena, ne može se omogućiti putem MQTT. Onemogućene zone se zanemaruju u vremenu izvršavanja." + }, + "inertia": { + "title": "Inercija", + "desc": "Određuje koliko okvira mora objekt biti u zoni prije nego što se uzima u obzir u zoni. Podrazumevano: 3" + }, + "loiteringTime": { + "title": "Vrijeme loiteringa", + "desc": "Postavlja minimalno vrijeme u sekundama koje objekt mora biti u zoni da bi aktivirao. Zadano: 0" + }, + "objects": { + "title": "Objekti", + "desc": "Popis objekata koji se odnose na ovu zonu." + }, + "allObjects": "Svi objekti", + "speedEstimation": { + "title": "Procjena brzine", + "desc": "Omogući procjenu brzine za objekte u ovoj zoni. Zona mora imati točno 4 točke.", + "lineADistance": "Udaljenost linije A ({{unit}})", + "lineBDistance": "Udaljenost linije B ({{unit}})", + "lineCDistance": "Udaljenost linije C ({{unit}})", + "lineDDistance": "Udaljenost linije D ({{unit}})" + }, + "speedThreshold": { + "title": "Prag brzine ({{unit}})", + "desc": "Određuje minimalnu brzinu za objekte da bi se smatrali u ovoj zoni.", + "toast": { + "error": { + "pointLengthError": "Procjena brzine je onemogućena za ovu zonu. Zone s procjenom brzine moraju imati točno 4 točke.", + "loiteringTimeError": "Zone s vremenima trajanja većim od 0 ne bi trebale se koristiti s procjenom brzine." + } + } + }, + "toast": { + "success": "Zona ({{zoneName}}) je sačuvana." + } + }, + "motionMasks": { + "label": "Maska pokreta", + "documentTitle": "Uredi masku pokreta - Frigate", + "desc": { + "title": "Maska pokreta koristi se za spriječavanje neželjenih vrsta pokreta da aktiviraju detekciju. Prekrižavanje će napraviti teško praćenje objekata.", + "documentation": "Dokumentacija" + }, + "add": "Nova maska pokreta", + "edit": "Uredi masku pokreta", + "defaultName": "Maska pokreta {{number}}", + "context": { + "title": "Maska pokreta koristi se za spriječavanje neželjenih vrsta pokreta da aktiviraju detekciju (primjer: grančice stabala, vremenske oznake kamere). Maska pokreta treba se koristiti vrlo retko, prekrižavanje će napraviti teško praćenje objekata." + }, + "point_one": "{{count}} tačka", + "point_few": "{{count}} tačke", + "point_other": "{{count}} tačke", + "clickDrawPolygon": "Kliknite da nacrtate poligon na slici.", + "name": { + "title": "Ime", + "description": "Nepovlačni prijateljski naziv za ovu masku pokreta.", + "placeholder": "Unesite ime..." + }, + "polygonAreaTooLarge": { + "title": "Maska pokreta pokriva {{polygonArea}}% okvirnog slike kamere. Velike maske pokreta nisu preporučene.", + "tips": "Maska za pokret ne sprječava detekciju objekata. Umjesto toga, trebalo bi koristiti obaveznu zonu." + }, + "toast": { + "success": { + "title": "{{polygonName}} je sačuvan.", + "noName": "Maska za pokret je sačuvana." + } + } + }, + "objectMasks": { + "label": "Maska za objekte", + "documentTitle": "Uredi masku za objekte - Frigate", + "desc": { + "title": "Maska za filtriranje objekata koristi se za uklanjanje lažnih pozitivnih rezultata za određeni tip objekta na temelju lokacije.", + "documentation": "Dokumentacija" + }, + "add": "Dodaj masku za objekte", + "edit": "Uredi masku za objekte", + "context": "Maska za filtriranje objekata koristi se za uklanjanje lažnih pozitivnih rezultata za određeni tip objekta na temelju lokacije.", + "point_one": "{{count}} tačka", + "point_few": "{{count}} tačke", + "point_other": "{{count}} tačke", + "clickDrawPolygon": "Kliknite da nacrtate poligon na slici.", + "name": { + "title": "Ime", + "description": "Nepovlaženo prijateljivo ime za ovu masku za objekte.", + "placeholder": "Unesite ime..." + }, + "objects": { + "title": "Objekti", + "desc": "Tip objekta koji se odnosi na ovu masku za objekte.", + "allObjectTypes": "Svi tipovi objekata" + }, + "toast": { + "success": { + "title": "{{polygonName}} je sačuvan.", + "noName": "Maska za objekte je sačuvana." + } + } + }, + "masks": { + "enabled": { + "title": "Omogućeno", + "description": "Da li je ova maska omogućena u konfiguracijskoj datoteci. Ako je onemogućena, ne može se omogućiti putem MQTT. Onemogućene maske se zanemaruju tijekom izvršavanja." + } + } + }, + "motionDetectionTuner": { + "title": "Podešavač detekcije pokreta", + "unsavedChanges": "Nespremljene promjene podešavača detekcije pokreta ({{camera}})", + "desc": { + "title": "Frigate koristi detekciju pokreta kao prvi korak provjere da li se nešto događa u okviru vrijedno provjere pomoću detekcije objekata.", + "documentation": "Pročitajte vodič za podešavanje detekcije pokreta" + }, + "Threshold": { + "title": "Prag", + "desc": "Vrijednost pragodiktira koliko promjene u svjetlosnosti piksela je potrebno za razmatranje kao pokret. Default: 30" + }, + "contourArea": { + "title": "Površina kontura", + "desc": "Vrijednost površine kontura koristi se za odluku koja skupine promijenjenih piksela kvalificiraju kao pokret. Default: 10" + }, + "improveContrast": { + "title": "Poboljšaj kontrast", + "desc": "Poboljšaj kontrast za tamnije scene. Zadano: UKLJUČENO" + }, + "toast": { + "success": "Postavke pokreta su sačuvane." + } + }, + "debug": { + "title": "Uklanjanje grešaka", + "detectorDesc": "Frigate koristi vaše detektore ({{detectors}}) za detekciju objekata u vašem video toku kamere.", + "desc": "Pregled u režimu uklanjanja grešaka prikazuje stvarni pregled praćenih objekata i njihovih statistika. Lista objekata prikazuje zakasnjeni pregled detektovanih objekata.", + "openCameraWebUI": "Otvori Web UI {{camera}}", + "debugging": "Uklanjanje grešaka", + "objectList": "Popis objekata", + "noObjects": "Nema objekata", + "audio": { + "title": "Audio", + "noAudioDetections": "Nema detekcija zvuka", + "score": "poena", + "currentRMS": "Trenutni RMS", + "currentdbFS": "Trenutni dbFS" + }, + "boundingBoxes": { + "title": "Okvirne kutije", + "desc": "Prikaži okvirne kutije oko praćenih objekata", + "colors": { + "label": "Boje okvirnih kutija objekata", + "info": "
  • Na početku, različite boje će biti dodijeljene svakom oznaci objekta
  • Tanjira crna linija označava da objekt nije detektovan u ovom trenutku
  • Tanjira siva linija označava da objekt detektovan kao stacionaran
  • Deblja linija označava da je objekt subjekt automatskog praćenja (kada je omogućeno)
  • " + } + }, + "timestamp": { + "title": "Vremenski pečat", + "desc": "Prikazati vremenski pečat na slici" + }, + "zones": { + "title": "Zone", + "desc": "Prikaži konturu definisanih zona" + }, + "mask": { + "title": "Maska za pokret", + "desc": "Prikaži poligone maski za pokret" + }, + "motion": { + "title": "Kutije za pokret", + "desc": "Prikaži kutije oko područja gdje je detektovan pokret", + "tips": "

    Kutije za pokret


    Crvene kutije će biti prikazane na područjima okvira gdje se trenutno detektuje pokret

    " + }, + "regions": { + "title": "Regije", + "desc": "Prikaži kutiju područja interesa poslatog objektu detektora", + "tips": "

    Kutije regija


    Sjajno zelene kutije bit će preklopljene na područjima zanimanja u okviru koji se šalju detektoru objekata.

    " + }, + "paths": { + "title": "Putanje", + "desc": "Prikaži značajne točke putanje praćenog objekta", + "tips": "

    Putanje


    Linije i krugovi će pokazati značajne točke koje je praćeni objekt prešao tokom svojeg života.

    " + }, + "objectShapeFilterDrawing": { + "title": "Crtanje filtera oblika objekta", + "desc": "Nacrtaj pravokutnik na slici da bi pogledao detalje površine i omjera", + "tips": "Omogući ovu opciju da nacrtate pravokutnik na slici kamere da biste prikazali njegovu površinu i omjer. Ove vrijednosti zatim mogu se koristiti za postavljanje parametara filtera oblika objekta u vašoj konfiguraciji.", + "score": "Rezultat", + "ratio": "Omjer", + "area": "Površina" + } + }, + "timestampPosition": { + "tl": "Gornji lijevo", + "tr": "Gornji desno", + "bl": "Donji lijevo", + "br": "Donji desno" + }, + "users": { + "title": "Korisnici", + "management": { + "title": "Upravljanje korisnicima", + "desc": "Upravljajte računima korisnika ove instance Frigate." + }, + "addUser": "Dodaj korisnika", + "updatePassword": "Ponovno postavi lozinku", + "toast": { + "success": { + "createUser": "Korisnik {{user}} uspješno stvoren", + "deleteUser": "Korisnik {{user}} uspješno obrisan", + "updatePassword": "Lozinka uspješno ažurirana.", + "roleUpdated": "Uloga ažurirana za {{user}}" + }, + "error": { + "setPasswordFailed": "Neuspješno spremanje lozinke: {{errorMessage}}", + "createUserFailed": "Neuspješno stvaranje korisnika: {{errorMessage}}", + "deleteUserFailed": "Neuspješno brisanje korisnika: {{errorMessage}}", + "roleUpdateFailed": "Neuspješno ažuriranje uloge: {{errorMessage}}" + } + }, + "table": { + "username": "Korisničko ime", + "actions": "Akcije", + "role": "Uloga", + "noUsers": "Nema pronađenih korisnika.", + "changeRole": "Promijeni ulogu korisnika", + "password": "Ponovno postavi lozinku", + "deleteUser": "Obriši korisnika" + }, + "dialog": { + "form": { + "user": { + "title": "Korisničko ime", + "desc": "Dozvoljeno su samo slova, brojevi, tačke i donje crte.", + "placeholder": "Unesite korisničko ime" + }, + "password": { + "title": "Lozinka", + "placeholder": "Unesite lozinku", + "show": "Prikaži lozinku", + "hide": "Sakrij lozinku", + "confirm": { + "title": "Potvrdite lozinku", + "placeholder": "Potvrdite lozinku" + }, + "strength": { + "title": "Jakoća lozinke: ", + "weak": "Slaba", + "medium": "Srednja", + "strong": "Jaka", + "veryStrong": "Veoma jaka" + }, + "requirements": { + "title": "Zahtjevi za lozinku:", + "length": "Bar 12 karaktera" + }, + "match": "Lozinke se poklapaju", + "notMatch": "Lozinke se ne poklapaju" + }, + "newPassword": { + "title": "Nova lozinka", + "placeholder": "Unesite novu lozinku", + "confirm": { + "placeholder": "Ponovite novu lozinku" + } + }, + "currentPassword": { + "title": "Trenutna lozinka", + "placeholder": "Unesite svoju trenutnu lozinku" + }, + "usernameIsRequired": "Korisničko ime je obavezno", + "passwordIsRequired": "Lozinka je obavezna" + }, + "createUser": { + "title": "Kreirajte novog korisnika", + "desc": "Dodajte novi korisnički račun i odredite ulogu za pristup područjima sučelja Frigate.", + "usernameOnlyInclude": "Korisničko ime može sadržavati samo slova, brojeve, . ili _", + "confirmPassword": "Molimo potvrdite svoju lozinku" + }, + "deleteUser": { + "title": "Obriši korisnika", + "desc": "Ova akcija ne može se poništiti. Ovo će trajno izbrisati korisnički račun i ukloniti sve povezane podatke.", + "warn": "Sigurni ste da želite izbrisati {{username}}?" + }, + "passwordSetting": { + "cannotBeEmpty": "Lozinka ne može biti prazna", + "doNotMatch": "Lozinke se ne podudaraju", + "currentPasswordRequired": "Trenutna lozinka je obavezna", + "incorrectCurrentPassword": "Trenutna lozinka je netočna", + "passwordVerificationFailed": "Neuspješno provjeravanje lozinke", + "updatePassword": "Ažurirajte lozinku za {{username}}", + "setPassword": "Postavi lozinku", + "desc": "Napravite jaku lozinku za sigurnost ovog računa.", + "multiDeviceWarning": "Bilo koje druge uređaje na kojima ste prijavljeni bit će potrebno ponovno se prijaviti unutar {{refresh_time}}.", + "multiDeviceAdmin": "Takođe možete obavezati sve korisnike da se odmah ponovno autentificiraju rotiranjem vaše tajne JWT." + }, + "changeRole": { + "title": "Promijenite ulogu korisnika", + "select": "Odaberite ulogu", + "desc": "Ažurirajte dozvole za {{username}}", + "roleInfo": { + "intro": "Odaberite odgovarajuću ulogu za ovog korisnika:", + "admin": "Administrator", + "adminDesc": "Pun pristup svim funkcijama.", + "viewer": "Pregledač", + "viewerDesc": "Ograničeno na Uživo tablo, pregled, istraživanje i izvoze.", + "customDesc": "Prilagođena uloga s određenim pristupom kamerama." + } + } + } + }, + "roles": { + "management": { + "title": "Upravljanje ulogama gledatelja", + "desc": "Upravljajte prilagođenim ulogama gledatelja i njihovim dozvolama za pristup kamerama za ovu instancu Frigate." + }, + "addRole": "Dodaj ulogu", + "table": { + "role": "Uloga", + "cameras": "Kamere", + "actions": "Akcije", + "noRoles": "Nisu pronađene prilagođene uloge.", + "editCameras": "Uredi Kamere", + "deleteRole": "Obriši ulogu" + }, + "toast": { + "success": { + "createRole": "Uloga {{role}} uspješno stvorena", + "updateCameras": "Kamere ažurirane za ulogu {{role}}", + "deleteRole": "Uloga {{role}} uspješno obrisana", + "userRolesUpdated_one": "{{count}} korisnik dodeljen ovoj ulogi je ažuriran na 'viewer', koji ima pristup svim kamerama.", + "userRolesUpdated_few": "{{count}} korisnici dodeljeni ovoj ulogi su ažurirani na 'viewer', koji ima pristup svim kamerama.", + "userRolesUpdated_other": "{{count}} korisnici dodeljeni ovoj ulogi su ažurirani na 'viewer', koji ima pristup svim kamerama." + }, + "error": { + "createRoleFailed": "Neuspješno stvaranje uloge: {{errorMessage}}", + "updateCamerasFailed": "Neuspješno ažuriranje kamera: {{errorMessage}}", + "deleteRoleFailed": "Neuspješno brisanje uloge: {{errorMessage}}", + "userUpdateFailed": "Neuspješno ažuriranje uloga korisnika: {{errorMessage}}" + } + }, + "dialog": { + "createRole": { + "title": "Stvori novu ulogu", + "desc": "Dodaj novu ulogu i specifično odredi dozvole za pristup kamerama." + }, + "editCameras": { + "title": "Uredi kamere uloge", + "desc": "Ažuriraj pristup kamerama za ulogu {{role}}." + }, + "deleteRole": { + "title": "Obriši ulogu", + "desc": "Ova akcija ne može biti poništena. Ovo će trajno izbrisati ulogu i dodeliti sve korisnike s ovom ulogom ulogi 'viewer', što će im dati pristup svim kamerama.", + "warn": "Da li ste sigurni da želite izbrisati {{role}}?", + "deleting": "Brisanje..." + }, + "form": { + "role": { + "title": "Ime uloge", + "placeholder": "Unesite ime uloge", + "desc": "Dozvoljeno su samo slova, brojevi, tačke i donje crte.", + "roleIsRequired": "Ime uloge je obavezno", + "roleOnlyInclude": "Ime uloge može sadržavati samo slova, brojeve, . ili _", + "roleExists": "Uloga s ovim imenom već postoji." + }, + "cameras": { + "title": "Kamere", + "desc": "Odaberite kamere kojima ova uloga ima pristup. Potreban je bar jedan pristup.", + "required": "Mora biti odabrana bar jedna kamera." + } + } + } + }, + "notification": { + "title": "Obavještenja", + "notificationSettings": { + "title": "Postavke obavijesti", + "desc": "Frigate može nativno slati obavijesti na vaš uređaj kada radi u pregledaču ili je instalirana kao PWA." + }, + "notificationUnavailable": { + "title": "Obavijesti nedostupne", + "desc": "Web obavijesti zahtijevaju sigurni kontekst (https://…). Ovo je ograničenje pregledača. Pristupite Frigate sigurno da biste koristili obavijesti." + }, + "globalSettings": { + "title": "Globalne postavke", + "desc": "Privremeno zaustavi obavijesti za određene kamere na svim registrovanim uređajima." + }, + "email": { + "title": "E-mail", + "placeholder": "npr. example@email.com", + "desc": "Potrebna je važeća e-mail adresa i koristit će se za obavijestavanje ako dođe do problema sa uslugom slanja obavijesti." + }, + "cameras": { + "title": "Kamere", + "noCameras": "Nema dostupnih kamera", + "desc": "Odaberite koje kamere omogućiti za obavijesti." + }, + "deviceSpecific": "Postavke specifične za uređaj", + "registerDevice": "Registrujte ovaj uređaj", + "unregisterDevice": "Deregistrujte ovaj uređaj", + "sendTestNotification": "Pošaljite test obavijest", + "unsavedRegistrations": "Nečuvane registracije obavijesti", + "unsavedChanges": "Nečuvane promjene obavijesti", + "active": "Obavijesti aktivne", + "suspended": "Obavijesti zaustavljene {{time}}", + "suspendTime": { + "suspend": "Zaustavi", + "5minutes": "Zaustavi za 5 minuta", + "10minutes": "Zaustavi za 10 minuta", + "30minutes": "Zaustavi za 30 minuta", + "1hour": "Zaustavi za 1 sat", + "12hours": "Zaustavi za 12 sati", + "24hours": "Odložiti za 24 sata", + "untilRestart": "Odložiti do ponovnog pokretanja" + }, + "cancelSuspension": "Otkaži odloženje", + "toast": { + "success": { + "registered": "Uspješno registrovan za obaveštenja. Potrebno je ponovno pokrenuti Frigate prije nego što se mogu slati obaveštenja (uključujući test obaveštenje).", + "settingSaved": "Postavke obaveštenja su sačuvane." + }, + "error": { + "registerFailed": "Neuspješno sačuvana registracija obaveštenja." + } + } + }, + "frigatePlus": { + "title": "Postavke Frigate+", + "description": "Frigate+ je usluga pretplate koja pruža pristup dodatnim funkcijama i mogućnostima za vašu instancu Frigate, uključujući mogućnost korištenja prilagođenih modela detekcije objekata treniranih na vašim podacima. Ovdje možete upravljati postavkama modela Frigate+.", + "cardTitles": { + "api": "API", + "currentModel": "Trenutni model", + "otherModels": "Drugi modeli", + "configuration": "Konfiguracija" + }, + "apiKey": { + "title": "Frigate+ API ključ", + "validated": "Frigate+ API ključ je detektovan i validiran", + "notValidated": "Frigate+ API ključ nije detektovan ili nije validiran", + "desc": "Frigate+ API ključ omogućava integraciju sa uslugom Frigate+.", + "plusLink": "Pročitajte više o Frigate+" + }, + "snapshotConfig": { + "title": "Konfiguracija snimaka", + "desc": "Slanje na Frigate+ zahtijeva da su snimci omogućeni u vašoj konfiguraciji.", + "cleanCopyWarning": "Neki uređaji imaju isključene snimke", + "table": { + "camera": "Kamera", + "snapshots": "Snimci" + } + }, + "modelInfo": { + "title": "Informacije o modelu", + "modelType": "Tip modela", + "trainDate": "Datum treniranja", + "baseModel": "Osnovni model", + "plusModelType": { + "baseModel": "Osnovni model", + "userModel": "Podeseno" + }, + "supportedDetectors": "Podržani detektori", + "cameras": "Kamere", + "loading": "Učitavanje informacija o modelu…", + "error": "Neuspješno učitavanje informacija o modelu", + "availableModels": "Dostupni modeli", + "loadingAvailableModels": "Učitavanje dostupnih modela…", + "modelSelect": "Vaši dostupni modeli na Frigate+ mogu se odabrati ovdje. Napomena: samo modeli kompatibilni s vašom trenutnom konfiguracijom detektora mogu se odabrati." + }, + "unsavedChanges": "Nespremljene promjene postavki Frigate+", + "restart_required": "Potrebno je ponovno pokretanje (model Frigate+ promijenjen)", + "toast": { + "success": "Postavke Frigate+ su spremljene. Ponovno pokrenite Frigate da biste primijenili promjene.", + "error": "Nije uspješno sačuvana promjena konfiguracije: {{errorMessage}}" + } + }, + "detectionModel": { + "plusActive": { + "title": "Upravljanje modelima Frigate+", + "label": "Trenutni izvor modela", + "description": "Ova instanca pokreće model Frigate+. Odaberite ili promijenite svoj model u postavkama Frigate+.", + "goToFrigatePlus": "Idi na postavke Frigate+", + "showModelForm": "Ručno konfigurirajte model" + } + }, + "triggers": { + "documentTitle": "Pokretači", + "semanticSearch": { + "title": "Semantička pretraga je onemogućena", + "desc": "Semantička pretraga mora biti omogućena da biste koristili izazivače." + }, + "management": { + "title": "Pokretači", + "desc": "Upravljanje izazivačima za {{camera}}. Korištenjem tipa prikaznog slika, izazivači se mogu aktivirati za slične prikazne slike odabranom praćenom objektu, a tipom opisa za slične opise teksta koji navodite." + }, + "addTrigger": "Dodaj izazivač", + "table": { + "name": "Ime", + "type": "Tip", + "content": "Sadržaj", + "threshold": "Prag", + "actions": "Akcije", + "noTriggers": "Nema konfiguriranih izazivača za ovu kameru.", + "edit": "Uredi", + "deleteTrigger": "Obriši izazivač", + "lastTriggered": "Zadnji put izazvan" + }, + "type": { + "thumbnail": "Minijatura", + "description": "Opis" + }, + "actions": { + "notification": "Pošalji obavijest", + "sub_label": "Dodaj podnaziv", + "attribute": "Dodaj atribut" + }, + "dialog": { + "createTrigger": { + "title": "Kreiraj izazov", + "desc": "Kreiraj izazov za kameru {{camera}}" + }, + "editTrigger": { + "title": "Uredi izazov", + "desc": "Uredi postavke za izazov na kameri {{camera}}" + }, + "deleteTrigger": { + "title": "Obriši izazov", + "desc": "Da li ste sigurni da želite obrisati izazov {{triggerName}}? Ova akcija ne može biti poništena." + }, + "form": { + "name": { + "title": "Ime", + "placeholder": "Daj ime ovom izazovu", + "description": "Unesite jedinstveno ime ili opis da biste identifikovali ovaj izazov", + "error": { + "minLength": "Polje mora imati najmanje 2 karaktera.", + "invalidCharacters": "Polje može sadržavati samo slova, brojeve, donje crte i crte.", + "alreadyExists": "Izazov sa ovim imenom već postoji za ovu kameru." + } + }, + "enabled": { + "description": "Omogući ili onemogući ovaj izazov" + }, + "type": { + "title": "Tip", + "placeholder": "Odaberite vrstu izazova", + "description": "Izazov kada se detektuje opis sličnog praćenog objekta", + "thumbnail": "Izazov kada se detektuje minijaturna slika sličnog praćenog objekta" + }, + "content": { + "title": "Sadržaj", + "imagePlaceholder": "Odaberite minijaturnu sliku", + "textPlaceholder": "Unesite tekstualni sadržaj", + "imageDesc": "Prikazivaju se samo najnovije 100 minijaturnih slika. Ako ne možete pronaći željenu minijaturnu sliku, pregledajte ranije objekte u Pretraživanju i postavite izazov iz menija tamo.", + "textDesc": "Unesite tekst za izazivanje ove akcije kada se detektuje opis sličnog praćenog objekta.", + "error": { + "required": "Sadržaj je obavezan." + } + }, + "threshold": { + "title": "Prag", + "desc": "Postavite prag sličnosti za ovaj izazov. Viši prag znači da je potrebno bliže podudaranje da bi se izazov aktivirao.", + "error": { + "min": "Prag mora biti bar 0", + "max": "Prag mora biti najviše 1" + } + }, + "actions": { + "title": "Akcije", + "desc": "Po defaultu, Frigate šalje poruku MQTT za sve izazovnike. Podnošnici dodaju ime izazovnog događaja u oznaku objekta. Atributi su pretraživi metapodaci pohranjeni zasebno u metapodacima praćenih objekata.", + "error": { + "min": "Mora se odabrati bar jedna akcija." + } + } + } + }, + "wizard": { + "title": "Kreiraj izazov", + "step1": { + "description": "Konfiguriraj osnovne postavke za tvoj izazov." + }, + "step2": { + "description": "Postavi sadržaj koji će izazvati ovu akciju." + }, + "step3": { + "description": "Konfiguriraj prag i akcije za ovaj izazov." + }, + "steps": { + "nameAndType": "Ime i Tip", + "configureData": "Konfiguriraj podatke", + "thresholdAndActions": "Prag i Akcije" + } + }, + "toast": { + "success": { + "createTrigger": "Izazov {{name}} uspješno kreiran.", + "updateTrigger": "Izazov {{name}} uspješno ažuriran.", + "deleteTrigger": "Izazov {{name}} uspješno obrisan." + }, + "error": { + "createTriggerFailed": "Neuspješno kreiranje izazova: {{errorMessage}}", + "updateTriggerFailed": "Neuspješno ažuriranje izazova: {{errorMessage}}", + "deleteTriggerFailed": "Neuspješno brisanje izazova: {{errorMessage}}" + } + } + }, + "maintenance": { + "title": "Održavanje", + "sync": { + "title": "Sinkronizacija medija", + "desc": "Frigate će periodično čistiti medije prema regularnom rasporedu u skladu s vašom konfiguracijom retencije. Normalno je da se vidi nekoliko orfaniranih datoteka dok Frigate radi. Koristite ovu funkciju za uklanjanje orfaniranih datoteka medija s diska koje više nisu referencirane u bazi podataka.", + "started": "Sinkronizacija započeta.", + "alreadyRunning": "Postoji već pokrenuta poslovna jedinica", + "error": "Neuspješno pokretanje sinkronizacije", + "currentStatus": "Status", + "jobId": "ID posla", + "startTime": "Vrijeme početka", + "endTime": "Vrijeme kraja", + "statusLabel": "Status", + "results": "Rezultati", + "errorLabel": "Greška", + "mediaTypes": "Tipovi medija", + "allMedia": "Svi mediji", + "dryRun": "Sušenje", + "dryRunEnabled": "Nijedna datoteka neće biti obrisana", + "dryRunDisabled": "Datoteke će biti obrisane", + "force": "Silovito", + "forceDesc": "Preskočiti prag sigurnosti i završiti sinkronizaciju čak i ako bi više od 50% datoteka bilo obrisano.", + "verbose": "Detaljan", + "verboseDesc": "Napisati pun popis siročića na disk za pregled.", + "running": "Sinkronizacija u toku...", + "start": "Pokreni sinkronizaciju", + "inProgress": "Sinkronizacija je u toku. Ova stranica je onemogućena.", + "status": { + "queued": "U redu", + "running": "Pokretanje", + "completed": "Završeno", + "failed": "Neuspešno", + "notRunning": "Nije u toku" + }, + "resultsFields": { + "filesChecked": "Provjerene datoteke", + "orphansFound": "Nađeni siročići", + "orphansDeleted": "Obrisani siročići", + "aborted": "Prekinuto. Brisanje bi premašilo prag sigurnosti.", + "error": "Greška", + "totals": "Ukupno" + }, + "event_snapshots": "Snimci praćenih objekata", + "event_thumbnails": "Minijature praćenih objekata", + "review_thumbnails": "Pregled minijatura", + "previews": "Pregledi", + "exports": "Izvozi", + "recordings": "Snimci" + }, + "regionGrid": { + "title": "Mreža regija", + "desc": "Mreža regija je optimizacija koja uči gdje se objekti različitih veličina obično pojavljuju u svakoj kamere polju pogleda. Frigate koristi ove podatke da učinkovito postavi regije detekcije. Mreža se automatski gradi tokom vremena iz podataka o praćenim objektima.", + "clear": "Očisti rešetku područja", + "clearConfirmTitle": "Očisti Rešetku Područja", + "clearConfirmDesc": "Očišćavanje rešetke područja nije preporučeno osim ako ste nedavno promijenili veličinu modela detektora ili promijenili fizičku poziciju kamere i imate probleme s praćenjem objekata. Rešetka će se automatski ponovno izgraditi tokom vremena kada se objekti praćuju. Potreban je ponovni pokretanje Frigate-a za primjenu promjena.", + "clearSuccess": "Rešetka područja uspješno očišćena", + "clearError": "Neuspješno očišćavanje rešetke područja", + "restartRequired": "Potreban je ponovni pokretanje za primjenu promjena rešetke područja" + } + }, + "configForm": { + "global": { + "title": "Globalne postavke", + "description": "Ove postavke se primjenjuju na sve kamere osim ako nisu prekrivene u postavkama specifičnim za kameru." + }, + "camera": { + "title": "Postavke kamere", + "description": "Ove postavke se primjenjuju samo na ovu kameru i prekrivaju globalne postavke.", + "noCameras": "Nema dostupnih kamera" + }, + "advancedSettingsCount": "Napredne postavke ({{count}})", + "advancedCount": "Napredno ({{count}})", + "showAdvanced": "Prikaži napredne postavke", + "tabs": { + "sharedDefaults": "Dijeljene zadane vrijednosti", + "system": "Sistem", + "integrations": "Integracije" + }, + "additionalProperties": { + "keyLabel": "Ključ", + "valueLabel": "Vrijednost", + "keyPlaceholder": "Novi ključ", + "remove": "Ukloni" + }, + "knownPlates": { + "namePlaceholder": "npr. Automobil supružnice", + "platePlaceholder": "Broj ploče ili regex" + }, + "timezone": { + "defaultOption": "Koristi vremensku zonu pregledača" + }, + "roleMap": { + "empty": "Nema mapiranja uloga", + "roleLabel": "Uloga", + "groupsLabel": "Grupe", + "addMapping": "Dodaj mapiranje uloga", + "remove": "Ukloni" + }, + "ffmpegArgs": { + "preset": "Predefinisana postavka", + "manual": "Ručni argumenti", + "inherit": "Naslijeđuj iz postavke kamere", + "none": "Nijedan", + "useGlobalSetting": "Naslijeđuj iz globalne postavke", + "selectPreset": "Odaberite predpostavljeno", + "manualPlaceholder": "Unesite argumente FFmpeg", + "presetLabels": { + "preset-rpi-64-h264": "Raspberry Pi (H.264)", + "preset-rpi-64-h265": "Raspberry Pi (H.265)", + "preset-vaapi": "VAAPI (Intel/AMD GPU)", + "preset-intel-qsv-h264": "Intel QuickSync (H.264)", + "preset-intel-qsv-h265": "Intel QuickSync (H.265)", + "preset-nvidia": "NVIDIA GPU", + "preset-jetson-h264": "NVIDIA Jetson (H.264)", + "preset-jetson-h265": "NVIDIA Jetson (H.265)", + "preset-rkmpp": "Rockchip RKMPP", + "preset-http-jpeg-generic": "HTTP JPEG (Općenito)", + "preset-http-mjpeg-generic": "HTTP MJPEG (Općenito)", + "preset-http-reolink": "HTTP - Kamere Reolink", + "preset-rtmp-generic": "RTMP (Općenito)", + "preset-rtsp-generic": "RTSP (Općenito)", + "preset-rtsp-restream": "RTSP - Ponovno preusmjeravanje iz go2rtc", + "preset-rtsp-restream-low-latency": "RTSP - Ponovno preusmjeravanje iz go2rtc (Niska kašnjenja)", + "preset-rtsp-udp": "RTSP - UDP", + "preset-rtsp-blue-iris": "RTSP - Blue Iris", + "preset-record-generic": "Snimanje (Općenito, bez zvuka)", + "preset-record-generic-audio-copy": "Snimanje (Općenito + Kopiraj zvuk)", + "preset-record-generic-audio-aac": "Snimanje (Općenito + Zvuk u AAC)", + "preset-record-mjpeg": "Snimanje - Kamere MJPEG", + "preset-record-jpeg": "Snimanje - JPEG Kamere", + "preset-record-ubiquiti": "Snimanje - Ubiquiti Kamere" + } + }, + "cameraInputs": { + "itemTitle": "Prijenos {{index}}" + }, + "restartRequiredField": "Potrebno je ponovno pokretanje", + "restartRequiredFooter": "Konfiguracija promijenjena - Potrebno je ponovno pokretanje", + "sections": { + "detect": "Detekcija", + "record": "Snimanje", + "snapshots": "Snimci", + "motion": "Kretanje", + "objects": "Objekti", + "review": "Pregled", + "audio": "Audio", + "notifications": "Obavještenja", + "live": "Pregled uživo", + "timestamp_style": "Vremenske oznake", + "mqtt": "MQTT", + "database": "Baza podataka", + "telemetry": "Telemetrija", + "auth": "Autentifikacija", + "tls": "TLS", + "proxy": "Proxy", + "go2rtc": "go2rtc", + "ffmpeg": "FFmpeg", + "detectors": "Detektori", + "model": "Model", + "semantic_search": "Semantička pretraga", + "genai": "GenAI", + "face_recognition": "Prepoznavanje lica", + "lpr": "Prepoznavanje tablice vozila", + "birdseye": "Birdseye", + "masksAndZones": "Maskice / Zone" + }, + "detect": { + "title": "Postavke detekcije" + }, + "detectors": { + "title": "Postavke detektora", + "singleType": "Dozvoljen je samo jedan {{type}} detektor.", + "keyRequired": "Ime detektora je obavezno.", + "keyDuplicate": "Ime detektora već postoji.", + "noSchema": "Nema dostupnih šema detektora.", + "none": "Nema konfiguriranih instanci detektora.", + "add": "Dodaj detektor", + "addCustomKey": "Dodaj prilagođeni ključ" + }, + "record": { + "title": "Postavke snimanja" + }, + "snapshots": { + "title": "Postavke snimka" + }, + "motion": { + "title": "Postavke pokreta" + }, + "objects": { + "title": "Postavke objekta" + }, + "audioLabels": { + "summary": "Odabrano {{count}} audio oznake", + "empty": "Nema dostupnih audio oznaka" + }, + "objectLabels": { + "summary": "Odabrano {{count}} tipova objekata", + "empty": "Nema dostupnih oznaka objekata" + }, + "reviewLabels": { + "summary": "Odabrano {{count}} oznaka", + "empty": "Nema dostupnih oznaka" + }, + "filters": { + "objectFieldLabel": "{{field}} za {{label}}" + }, + "zoneNames": { + "summary": "{{count}} odabrano", + "empty": "Nema dostupnih zona" + }, + "inputRoles": { + "summary": "Odabrano {{count}} uloga", + "empty": "Nema dostupnih uloga", + "options": { + "detect": "Detektiraj", + "record": "Snimi", + "audio": "Audio" + } + }, + "genaiRoles": { + "options": { + "embeddings": "Ugrađivanje", + "vision": "Vizija", + "tools": "Alati" + } + }, + "semanticSearchModel": { + "placeholder": "Odaberi model…", + "builtIn": "Ugrađeni modeli", + "genaiProviders": "Dostavljatelji GenAI" + }, + "review": { + "title": "Pregled postavki" + }, + "audio": { + "title": "Postavke audija" + }, + "notifications": { + "title": "Postavke obavijesti" + }, + "live": { + "title": "Postavke pregleda uživo" + }, + "timestamp_style": { + "title": "Postavke vremenske oznake" + }, + "searchPlaceholder": "Pretraži...", + "addCustomLabel": "Dodaj prilagođenu oznaku...", + "genaiModel": { + "placeholder": "Odaberi model…", + "search": "Pretraži modele…", + "noModels": "Nema dostupnih modela" + } + }, + "globalConfig": { + "title": "Globalna konfiguracija", + "description": "Konfigurirajte globalne postavke koje se primjenjuju na sve kamere osim ako nisu prekriveni.", + "toast": { + "success": "Globalne postavke uspješno sačuvane", + "error": "Neuspješno spremanje globalnih postavki", + "validationError": "Validacija neuspješna" + } + }, + "cameraConfig": { + "title": "Konfiguracija kamere", + "description": "Konfigurirajte postavke za pojedinačne kamere. Postavke prekrivaju globalne podrazumijevane vrijednosti.", + "overriddenBadge": "Preklopljeno", + "resetToGlobal": "Vrati na globalno", + "toast": { + "success": "Postavke kamere uspješno sačuvane", + "error": "Neuspješno spremanje postavki kamere" + } + }, + "toast": { + "success": "Postavke uspješno sačuvane", + "applied": "Postavke uspješno primijenjene", + "successRestartRequired": "Postavke uspješno sačuvane. Ponovo pokrenite Frigate da biste primijenili svoje promjene.", + "error": "Neuspješno spremanje postavki", + "validationError": "Validacija neuspješna: {{message}}", + "resetSuccess": "Poništi i vratiti se na globalne podrazumijevane vrijednosti", + "resetError": "Neuspješno poništavanje postavki", + "saveAllSuccess_one": "Uspješno sačuvan odjeljak {{count}}.", + "saveAllSuccess_few": "Svi odjeljci {{count}} uspješno sačuvani.", + "saveAllSuccess_other": "Svi odjeljci {{count}} uspješno sačuvani.", + "saveAllPartial_one": "{{successCount}} od {{totalCount}} odjeljka sačuvan. {{failCount}} neuspješno.", + "saveAllPartial_few": "{{successCount}} od {{totalCount}} odjeljaka sačuvanih. {{failCount}} neuspješno.", + "saveAllPartial_other": "{{successCount}} od {{totalCount}} odjeljaka sačuvanih. {{failCount}} neuspješno.", + "saveAllFailure": "Neuspješno spremanje svih odjeljaka." + }, + "profiles": { + "title": "Profili", + "activeProfile": "Aktivni profil", + "noActiveProfile": "Nema aktivnog profila", + "active": "Aktivno", + "activated": "Profil '{{profile}}' aktiviran", + "activateFailed": "Neuspješno postavljanje profila", + "deactivated": "Profil deaktiviran", + "noProfiles": "Nema definisanih profila.", + "noOverrides": "Nema prekriženja", + "cameraCount_one": "kamera {{count}}", + "cameraCount_few": "{{count}} kamere", + "cameraCount_other": "{{count}} kamere", + "columnCamera": "Kamera", + "columnOverrides": "Prekriženja profila", + "baseConfig": "Bazna konfiguracija", + "addProfile": "Dodaj profil", + "newProfile": "Novi profil", + "profileNamePlaceholder": "npr. Opremljen, Odsutan, Noćni režim", + "friendlyNameLabel": "Ime profila", + "profileIdLabel": "ID profila", + "profileIdDescription": "Unutarnji identifikator korišten u konfiguraciji i automatizacijama", + "nameInvalid": "Dozvoljena su samo mala slova, brojevi i donje crte", + "nameDuplicate": "Profil s ovim imenom već postoji", + "error": { + "mustBeAtLeastTwoCharacters": "Mora imati najmanje 2 karaktera", + "mustNotContainPeriod": "Ne smije sadržavati tačke", + "alreadyExists": "Profil s ovim ID-om već postoji" + }, + "renameProfile": "Preimenuj profil", + "renameSuccess": "Profil preimenovan u '{{profile}}'", + "deleteProfile": "Obriši profil", + "deleteProfileConfirm": "Obriši profil \"{{profile}}\" sa svih kamera? Ovo ne može biti poništeno.", + "deleteSuccess": "Profil '{{profile}}' obrisan", + "createSuccess": "Profil '{{profile}}' kreiran", + "removeOverride": "Ukloni prekrivanje profila", + "deleteSection": "Izbriši prekrivanja sekcije", + "deleteSectionConfirm": "Ukloni prekrivanja {{section}} za profil {{profile}} na {{camera}}?", + "deleteSectionSuccess": "Uklonjena prekrivanja {{section}} za {{profile}}", + "enableSwitch": "Omogući profile", + "enabledDescription": "Profilei su omogućeni. Napravite novi profil ispod, pređite na sekciju konfiguracije kamere da biste napravili promjene i sačuvajte da bi promjene bile primijenjene.", + "disabledDescription": "Profilei vam omogućavaju da definirate imenovane skupove prekrivanja konfiguracije kamere (npr., opremljen, odsutan, noć) koji se mogu aktivirati na zahtjev." + }, + "unsavedChanges": "Imate nepohranjene promjene", + "confirmReset": "Potvrdi ponovno postavljanje", + "resetToDefaultDescription": "Ovo će ponovno postaviti sve postavke u ovoj sekciji na svoje zadane vrijednosti. Ova akcija ne može se povući.", + "resetToGlobalDescription": "Ovo će ponovno postaviti postavke u ovoj sekciji na globalne zadane vrijednosti. Ova akcija ne može se povući.", + "go2rtcStreams": { + "title": "go2rtc streamovi", + "description": "Upravljajte konfiguracijama go2rtc streamova za ponovno praćenje kamere. Svaki stream ima ime i jednu ili više izvornih URL-ova.", + "addStream": "Dodaj stream", + "addStreamDesc": "Unesite ime za novi stream. Ovo ime će se koristiti za referenciranje streama u vašoj konfiguraciji kamere.", + "addUrl": "Dodaj URL", + "streamName": "Ime streama", + "streamNamePlaceholder": "npr., front_door", + "streamUrlPlaceholder": "npr., rtsp://user:pass@192.168.1.100/stream", + "deleteStream": "Izbriši stream", + "deleteStreamConfirm": "Sigurni ste da želite izbrisati stream \"{{streamName}}\"? Kamere koje se referiraju na ovaj stream mogu prestati da rade.", + "noStreams": "Nema konfiguriranih go2rtc streamova. Dodajte stream da biste započeli.", + "validation": { + "nameRequired": "Ime streama je obavezno", + "nameDuplicate": "Stream s ovim imenom već postoji", + "nameInvalid": "Ime streama može sadržavati samo slova, brojeve, donje crte i crte za odvajanje", + "urlRequired": "Potrebna je bar jedna URL adresa" + }, + "renameStream": "Preimenuj tok", + "renameStreamDesc": "Unesite novi naziv za ovaj tok. Preimenovanje toka može oštetiti kamere ili druge toke koji se reference na njega po nazivu.", + "newStreamName": "Novi naziv toka", + "ffmpeg": { + "useFfmpegModule": "Koristi režim kompatibilnosti (ffmpeg)", + "video": "Video", + "audio": "Audio", + "hardware": "Hardverska ubrzanja", + "videoCopy": "Kopiraj", + "videoH264": "Prevedi na H.264", + "videoH265": "Prevedi na H.265", + "videoExclude": "Izuzmi", + "audioCopy": "Kopiraj", + "audioAac": "Prevedi na AAC", + "audioOpus": "Prevedi na Opus", + "audioPcmu": "Prevedi na PCM μ-law", + "audioPcma": "Prevedi na PCM A-law", + "audioPcm": "Prevedi na PCM", + "audioMp3": "Prevedi na MP3", + "audioExclude": "Izuzmi", + "hardwareNone": "Bez hardverske ubrzanja", + "hardwareAuto": "Automatska hardverska ubrzanja" + } + }, + "onvif": { + "profileAuto": "Automatski", + "profileLoading": "Učitavanje profila..." + }, + "configMessages": { + "review": { + "recordDisabled": "Snimanje je onemogućeno, stavke za pregled neće biti generisane.", + "detectDisabled": "Detekcija objekata je onemogućena. Stavke za pregled zahtijevaju detektovane objekte za kategorizaciju upozorenja i detekcija.", + "allNonAlertDetections": "Sve aktivnosti koje nisu upozorenja bit će uključene kao detekcije." + }, + "audio": { + "noAudioRole": "Nijedan tok nema definisan ulogu zvuka. Morate omogućiti ulogu zvuka da bi detekcija zvuka mogla da funkcioniše." + }, + "audioTranscription": { + "audioDetectionDisabled": "Detekcija zvuka nije omogućena za ovu kameru. Transkripcija zvuka zahtijeva da detekcija zvuka bude aktivna." + }, + "detect": { + "fpsGreaterThanFive": "Postavljanje detektovane FPS vrednosti veće od 5 nije preporučeno." + }, + "faceRecognition": { + "globalDisabled": "Prepoznavanje lica nije omogućeno na globalnom nivou. Omogući ga u globalnim postavkama da bi prepoznavanje lica na nivou kamere moglo da funkcioniše.", + "personNotTracked": "Prepoznavanje lica zahtijeva da se objekat 'osoba' praći. Osigurajte da je 'osoba' u listi praćenja objekata." + }, + "lpr": { + "globalDisabled": "Prepoznavanje tablice nije omogućeno na globalnom nivou. Omogući ga u globalnim postavkama da bi LPR na nivou kamere mogao da funkcioniše.", + "vehicleNotTracked": "Prepoznavanje tablice zahtijeva da se praći 'automobil' ili 'motocikl'." + }, + "record": { + "noRecordRole": "Nema streamova koji imaju definisanu ulogu snimanja. Snimanje neće funkcionišati." + }, + "birdseye": { + "objectsModeDetectDisabled": "Birdseye je postavljen na režim 'objekti', ali je detekcija objekata onemogućena za ovu kameru. Kamera neće biti prikazana u Birdseye." + }, + "snapshots": { + "detectDisabled": "Detekcija objekata je onemogućena. Snimci se generišu iz praćenih objekata i neće biti kreirani." + }, + "detectors": { + "mixedTypes": "Svi detektori moraju koristiti isti tip. Uklonite postojet će detektore da biste koristili drugi tip.", + "mixedTypesSuggestion": "Svi detektori moraju koristiti isti tip. Uklonite postojet će detektore ili izaberite {{type}}." + } + } +} diff --git a/web/public/locales/bs/views/system.json b/web/public/locales/bs/views/system.json new file mode 100644 index 000000000..b36221ec3 --- /dev/null +++ b/web/public/locales/bs/views/system.json @@ -0,0 +1,256 @@ +{ + "documentTitle": { + "cameras": "Statistika kamere - Frigate", + "storage": "Statistika skladišta - Frigate", + "general": "Opća statistika - Frigate", + "enrichments": "Statistika bogatstva - Frigate", + "logs": { + "frigate": "Zapisi Frigate - Frigate", + "go2rtc": "Zapisi Go2RTC - Frigate", + "nginx": "Zapisi Nginx - Frigate", + "websocket": "Zapisi poruka - Frigate" + } + }, + "title": "Sistem", + "metrics": "Sistem metrike", + "logs": { + "websocket": { + "label": "Zapisi", + "pause": "Pauziraj", + "resume": "Nastavi", + "clear": "Očisti", + "filter": { + "all": "Svi temi", + "topics": "Teme", + "events": "Događaji", + "reviews": "Pregledi", + "classification": "Klasifikacija", + "face_recognition": "Prepoznavanje lica", + "lpr": "LPR", + "camera_activity": "Aktivnost kamere", + "system": "Sistem", + "camera": "Kamera", + "all_cameras": "Sve kamere", + "cameras_count_one": "{{count}} Kamera", + "cameras_count_other": "{{count}} Kamere" + }, + "empty": "Nema još prihvaćenih poruka", + "count_one": "{{count}} poruka", + "count_other": "{{count}} poruke", + "expanded": { + "payload": "Opterećenje" + } + }, + "download": { + "label": "Preuzimanje zapisa" + }, + "copy": { + "label": "Kopiraj u clipboard", + "success": "Zapisi su kopirani u clipboard", + "error": "Nije moguće kopirati zapise u clipboard" + }, + "type": { + "label": "Tip", + "timestamp": "Vremenski pečat", + "tag": "Oznaka", + "message": "Poruka" + }, + "tips": "Zapisi se prenose sa servera", + "toast": { + "error": { + "fetchingLogsFailed": "Greška prilikom preuzimanja zapisa: {{errorMessage}}", + "whileStreamingLogs": "Greška prilikom prijenosa protokola: {{errorMessage}}" + } + } + }, + "general": { + "title": "Općenito", + "detector": { + "title": "Detektori", + "inferenceSpeed": "Brzina zaključivanja detektora", + "temperature": "Temperatura detektora", + "cpuUsage": "Korištenje CPU detektora", + "cpuUsageInformation": "CPU korištena za pripremu ulaznih i izlaznih podataka za/iz modela detekcije. Ova vrijednost ne mjeri korištenje zaključivanja, čak i ako se koristi GPU ili ubrzivač.", + "memoryUsage": "Korištenje memorije detektora" + }, + "hardwareInfo": { + "title": "Hardverske informacije", + "gpuUsage": "Korištenje GPU", + "gpuMemory": "Memorija GPU", + "gpuEncoder": "Kodiralo GPU", + "gpuCompute": "GPU Izračunavanje / Kodiranje", + "gpuDecoder": "Dekodiranje GPU", + "gpuTemperature": "Temperatura GPU", + "gpuInfo": { + "vainfoOutput": { + "title": "Vainfo Izlaz", + "returnCode": "Kod povratka: {{code}}", + "processOutput": "Izlaz procesa:", + "processError": "Greška procesa:" + }, + "nvidiaSMIOutput": { + "title": "Nvidia SMI Izlaz", + "name": "Ime: {{name}}", + "driver": "Vozač: {{driver}}", + "cudaComputerCapability": "CUDA sposobnost izračunavanja: {{cuda_compute}}", + "vbios": "VBios informacije: {{vbios}}" + }, + "closeInfo": { + "label": "Zatvori informacije GPU" + }, + "copyInfo": { + "label": "Kopiraj informacije GPU" + }, + "toast": { + "success": "Kopirano informacije GPU u međuspremnik" + } + }, + "npuUsage": "Korišćenje NPU", + "npuMemory": "Memorija NPU", + "npuTemperature": "Temperatura NPU", + "intelGpuWarning": { + "title": "Upozorenje o statistikama Intel GPU", + "message": "Statistike GPU nedostupne", + "description": "Ovo je poznati bug u alatima za prikaz statistika Intel GPU (intel_gpu_top) gdje će se prekiniti i ponovo vratiti GPU korišćenje od 0% čak i u slučajevima kada se hardverska akceleracija i detekcija objekata ispravno izvršavaju na (i)GPU. Ovo nije bug Frigate. Možete ponovo pokrenuti host kako biste privremeno popravili problem i potvrdili da GPU radi ispravno. Ovo ne utiče na performanse." + } + }, + "otherProcesses": { + "title": "Drugi procesi", + "processCpuUsage": "Korišćenje CPU procesa", + "processMemoryUsage": "Korišćenje memorije procesa", + "series": { + "go2rtc": "go2rtc", + "recording": "Snimanje", + "review_segment": "pregled segmenta", + "embeddings": "Ugrađivanja", + "audio_detector": "audio detektor" + } + } + }, + "storage": { + "title": "Skladište", + "overview": "Pregled", + "recordings": { + "title": "Snimci", + "tips": "Ova vrijednost predstavlja ukupno skladište koje se koristi za snimke u bazi podataka Frigate. Frigate ne praćenje korišćenje skladišta za sve datoteke na vašem disku.", + "earliestRecording": "Najstariji dostupni snimak:" + }, + "shm": { + "title": "Alokacija SHM (deljenja memorije)", + "warning": "Trenutna veličina SHM od {{total}}MB je prevelika. Povećajte je na najmanje {{min_shm}}MB.", + "frameLifetime": { + "title": "Vijek trajanja okvira", + "description": "Svaka kamera ima {{frames}} slotova za okvire u deljenoj memoriji. Na najbržoj brzini okvira kamere, svaki okvir je dostupan za približno {{lifetime}}s prije nego što se prepiše." + } + }, + "cameraStorage": { + "title": "Skladište kamere", + "camera": "Kamera", + "unusedStorageInformation": "Informacije o neiskorišćenom skladištu", + "storageUsed": "Skladište", + "percentageOfTotalUsed": "Postotak ukupno", + "bandwidth": "Širina pojasa", + "unused": { + "title": "Neiskorišćeno", + "tips": "Ova vrijednost može nepravilno predstavljati slobodno prostor dostupan Frigate ako imate druge datoteke pohranjene na vašem disku izvan snimaka Frigate. Frigate ne praćenje korišćenje skladišta izvan svojih snimaka." + } + } + }, + "cameras": { + "title": "Kamere", + "overview": "Pregled", + "info": { + "aspectRatio": "odnos stranica", + "cameraProbeInfo": "{{camera}} Informacije o ispitivanju kamere", + "streamDataFromFFPROBE": "Podaci o prijenosu se dobijaju pomoću ffprobe.", + "fetching": "Prenošenje podataka o kameri", + "stream": "Prijenos {{idx}}", + "video": "Video:", + "codec": "Kodek:", + "resolution": "Rješenje:", + "fps": "FPS:", + "unknown": "Nepoznato", + "audio": "Zvuk:", + "error": "Greška: {{error}}", + "tips": { + "title": "Informacije o ispitivanju kamere" + } + }, + "framesAndDetections": "Okviri / Detekcije", + "label": { + "camera": "Kamera", + "detect": "detektirati", + "skipped": "preskočeno", + "ffmpeg": "FFmpeg", + "capture": "snimiti", + "overallFramesPerSecond": "ukupni okviri po sekundi", + "overallDetectionsPerSecond": "ukupne detekcije po sekundi", + "overallSkippedDetectionsPerSecond": "ukupno preskočene detekcije po sekundi", + "cameraFfmpeg": "{{camName}} FFmpeg", + "cameraCapture": "{{camName}} snimiti", + "cameraDetect": "{{camName}} detektirati", + "cameraGpu": "{{camName}} GPU", + "cameraFramesPerSecond": "{{camName}} okviri po sekundi", + "cameraDetectionsPerSecond": "{{camName}} detekcije po sekundi", + "cameraSkippedDetectionsPerSecond": "{{camName}} preskočenih detekcija u sekundi" + }, + "connectionQuality": { + "title": "Kvaliteta veze", + "excellent": "Izuzetno dobra", + "fair": "Uredna", + "poor": "Loša", + "unusable": "Nepogodna", + "fps": "FPS", + "expectedFps": "Očekivani FPS", + "reconnectsLastHour": "Ponovne povezivanja (posljednje satu)", + "stallsLastHour": "Pauze (posljednje satu)" + }, + "toast": { + "success": { + "copyToClipboard": "Podaci o testiranju kopirani u clipboard." + }, + "error": { + "unableToProbeCamera": "Nemoguće testiranje kamere: {{errorMessage}}" + } + } + }, + "lastRefreshed": "Posljednje ažuriranje: ", + "stats": { + "ffmpegHighCpuUsage": "{{camera}} ima visoku upotrebu CPU za FFmpeg ({{ffmpegAvg}}%)", + "detectHighCpuUsage": "{{camera}} ima visoku upotrebu CPU za detekciju ({{detectAvg}}%)", + "healthy": "Sistem je zdrav", + "reindexingEmbeddings": "Ponovno indeksiranje ugrađenih vjerodajnica ({{processed}}% završeno)", + "cameraIsOffline": "{{camera}} je offline", + "detectIsSlow": "{{detect}} je spor ({{speed}} ms)", + "detectIsVerySlow": "{{detect}} je vrlo spor ({{speed}} ms)", + "shmTooLow": "/dev/shm alokacija ({{total}} MB) treba povećati na najmanje {{min}} MB.", + "debugReplayActive": "Debug ponavljanje sesije je aktivno" + }, + "enrichments": { + "title": "Obogaćivanja", + "infPerSecond": "Inferencije po sekundi", + "averageInf": "Prosjek vremena inferencije", + "embeddings": { + "image_embedding": "Slika ugrađenih vjerodajnica", + "text_embedding": "Tekst ugrađenih vjerodajnica", + "face_recognition": "Prepoznavanje lica", + "plate_recognition": "Prepoznavanje ploča", + "image_embedding_speed": "Brzina ugradnje slika", + "face_embedding_speed": "Brzina ugradnje lica", + "face_recognition_speed": "Brzina prepoznavanja lica", + "plate_recognition_speed": "Brzina prepoznavanja ploča", + "text_embedding_speed": "Brzina ugradnje teksta", + "yolov9_plate_detection_speed": "Brzina detekcije ploča YOLOv9", + "yolov9_plate_detection": "Detekcija ploča YOLOv9", + "review_description": "Pregled opisa", + "review_description_speed": "Brzina pregleda opisa", + "review_description_events_per_second": "Pregled opisa", + "object_description": "Opis objekta", + "object_description_speed": "Brzina opisa objekta", + "object_description_events_per_second": "Opis objekta", + "classification": "{{name}} Klasifikacija", + "classification_speed": "{{name}} Brzina klasifikacije", + "classification_events_per_second": "{{name}} Događaji klasifikacije po sekundi" + } + } +} From 3471e2482ae30c50fb1178fcf8688026c3c4aa3b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:39 +0200 Subject: [PATCH 16/50] Translated using Weblate (Japanese) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (45 of 45 strings) Added translation using Weblate (Japanese) Added translation using Weblate (Japanese) Added translation using Weblate (Japanese) Translated using Weblate (Japanese) Currently translated at 81.1% (82 of 101 strings) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: alpha Co-authored-by: 塩野拓夢 Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ja/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/ja/ Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-replay --- web/public/locales/ja/components/dialog.json | 3 + web/public/locales/ja/views/chat.json | 1 + web/public/locales/ja/views/motionSearch.json | 1 + web/public/locales/ja/views/replay.json | 59 +++++++++++++++++++ 4 files changed, 64 insertions(+) create mode 100644 web/public/locales/ja/views/chat.json create mode 100644 web/public/locales/ja/views/motionSearch.json create mode 100644 web/public/locales/ja/views/replay.json diff --git a/web/public/locales/ja/components/dialog.json b/web/public/locales/ja/components/dialog.json index 87279785e..936414140 100644 --- a/web/public/locales/ja/components/dialog.json +++ b/web/public/locales/ja/components/dialog.json @@ -94,6 +94,9 @@ "tabs": { "export": "シングルカメラ", "multiCamera": "マルチカメラ" + }, + "multi": { + "title_other": "{{count}} 件のレビューをエクスポート" } }, "streaming": { diff --git a/web/public/locales/ja/views/chat.json b/web/public/locales/ja/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ja/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ja/views/motionSearch.json b/web/public/locales/ja/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ja/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ja/views/replay.json b/web/public/locales/ja/views/replay.json new file mode 100644 index 000000000..d3c3a6a84 --- /dev/null +++ b/web/public/locales/ja/views/replay.json @@ -0,0 +1,59 @@ +{ + "title": "デバッグリプレイ", + "description": "デバッグ用にカメラの録画をリプレイします。オブジェクトリストには検出されたオブジェクトの遅延サマリーが表示され、「メッセージ」タブにはリプレイ映像からのFrigate内部メッセージのストリームが表示されます。", + "websocket_messages": "メッセージ", + "dialog": { + "title": "デバッグリプレイを開始", + "description": "オブジェクトの検出やトラッキングの問題をデバッグするために、過去の映像をループ再生する一時的なリプレイカメラを作成します。このリプレイカメラは、ソースカメラ(元カメラ)と同じ検出設定を引き継ぎます。開始する時間範囲を選択してください。", + "camera": "ソースカメラ", + "timeRange": "時間範囲", + "preset": { + "1m": "直近1分間", + "5m": "直近5分間", + "timeline": "タイムラインから選択", + "custom": "カスタム" + }, + "startButton": "リプレイ開始", + "selectFromTimeline": "選択", + "starting": "リプレイを開始しています...", + "startLabel": "開始", + "endLabel": "終了", + "toast": { + "error": "デバッグリプレイの開始に失敗しました: {{error}}", + "alreadyActive": "リプレイセッションはすでに実行中です", + "stopError": "デバッグリプレイの停止に失敗しました: {{error}}", + "goToReplay": "リプレイへ移動" + } + }, + "page": { + "noSession": "アクティブなデバッグリプレイセッションはありません", + "noSessionDesc": "履歴ビューからデバッグリプレイを開始するには、ツールバーの「アクション」ボタンをクリックし、「デバッグリプレイ」を選択してください。", + "goToRecordings": "履歴画面へ", + "preparingClip": "クリップを準備しています…", + "preparingClipDesc": "Frigateは選択された時間範囲の録画を結合しています。指定した期間が長い場合、処理に1分ほどかかる場合があります。", + "startingCamera": "デバッグリプレイを開始しています…", + "startError": { + "title": "デバッグリプレイの開始に失敗しました", + "back": "履歴へ戻る" + }, + "sourceCamera": "ソースカメラ", + "replayCamera": "リプレイカメラ", + "initializingReplay": "デバッグリプレイを初期化しています...", + "stoppingReplay": "デバッグリプレイを停止しています...", + "stopReplay": "リプレイを停止", + "confirmStop": { + "title": "デバッグリプレイを停止しますか?", + "description": "セッションを停止し、すべての一時データを削除します。よろしいですか?", + "confirm": "リプレイ停止", + "cancel": "キャンセル" + }, + "activity": "アクティビティ", + "objects": "オブジェクトリスト", + "audioDetections": "オーディオ検出", + "noActivity": "アクティビティは検出されませんでした", + "activeTracking": "アクティブトラッキング", + "noActiveTracking": "アクティブトラッキングなし", + "configuration": "設定", + "configurationDesc": "デバッグリプレイカメラのモーション検知およびオブジェクトトラッキング設定を微調整します。ここで行った変更はFrigateの設定ファイルには保存されません。" + } +} From bce11fbc57c226a745ccb15762f9d32b154fb716 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:40 +0200 Subject: [PATCH 17/50] Translated using Weblate (Catalan) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (792 of 792 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (1086 of 1086 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (471 of 471 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (45 of 45 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (59 of 59 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (59 of 59 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (40 of 40 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (40 of 40 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (45 of 45 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (45 of 45 strings) Added translation using Weblate (Catalan) Added translation using Weblate (Catalan) Added translation using Weblate (Catalan) Translated using Weblate (Catalan) Currently translated at 100.0% (236 of 236 strings) Co-authored-by: Eduardo Pastor Fernández <123eduardoneko123@gmail.com> Co-authored-by: Gerard Ricart Castells Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: anton garcias Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ca/ 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-chat/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ca/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/common Translation: Frigate NVR/views-chat Translation: Frigate NVR/views-motionSearch Translation: Frigate NVR/views-replay Translation: Frigate NVR/views-settings --- web/public/locales/ca/common.json | 2 +- web/public/locales/ca/config/cameras.json | 4 + web/public/locales/ca/config/global.json | 8 +- web/public/locales/ca/views/chat.json | 46 +++++++++++ web/public/locales/ca/views/motionSearch.json | 77 +++++++++++++++++++ web/public/locales/ca/views/replay.json | 59 ++++++++++++++ web/public/locales/ca/views/settings.json | 17 +++- 7 files changed, 209 insertions(+), 4 deletions(-) create mode 100644 web/public/locales/ca/views/chat.json create mode 100644 web/public/locales/ca/views/motionSearch.json create mode 100644 web/public/locales/ca/views/replay.json diff --git a/web/public/locales/ca/common.json b/web/public/locales/ca/common.json index 4efeea667..a712459c3 100644 --- a/web/public/locales/ca/common.json +++ b/web/public/locales/ca/common.json @@ -242,7 +242,7 @@ "done": "Fet", "disabled": "Deshabilitat", "disable": "Deshabilitar", - "save": "Guardar", + "save": "Desa", "copy": "Copiar", "back": "Enrere", "pictureInPicture": "Imatge en Imatge", diff --git a/web/public/locales/ca/config/cameras.json b/web/public/locales/ca/config/cameras.json index 090de49fb..6b5584547 100644 --- a/web/public/locales/ca/config/cameras.json +++ b/web/public/locales/ca/config/cameras.json @@ -485,6 +485,10 @@ "hwaccel_args": { "label": "Exporta els arguments de l'hwaccel", "description": "Args d'acceleració de maquinari a utilitzar per a operacions d'exportació/transcodificació." + }, + "max_concurrent": { + "label": "Màxim d'exportacions concurrents", + "description": "Nombre màxim de treballs d'exportació a processar al mateix temps." } }, "preview": { diff --git a/web/public/locales/ca/config/global.json b/web/public/locales/ca/config/global.json index 0e9161348..2f3a1c14c 100644 --- a/web/public/locales/ca/config/global.json +++ b/web/public/locales/ca/config/global.json @@ -341,6 +341,10 @@ "hwaccel_args": { "label": "Exporta els arguments de l'hwaccel", "description": "Args d'acceleració de maquinari a utilitzar per a operacions d'exportació/transcodificació." + }, + "max_concurrent": { + "label": "Màxim d'exportacions concurrents", + "description": "Nombre màxim de treballs d'exportació a processar al mateix temps." } }, "preview": { @@ -975,8 +979,8 @@ "description": "Habilita el monitoratge d'amplada de banda per procés per als processos i detectors de ffmpeg de càmera (requereix capacitats)." }, "intel_gpu_device": { - "label": "Dispositiu SR-IOV", - "description": "Identificador de dispositiu utilitzat quan es tracten les GPU d'Intel com a SR-IOV per corregir les estadístiques de GPU." + "label": "Dispositiu GPU d'Intel", + "description": "Adreça de bus PCI o camí del dispositiu DRM (p. ex. /dev/dri/card1) utilitzat per fixar les estadístiques de GPU d'Intel a un dispositiu específic quan hi ha múltiples." } }, "version_check": { diff --git a/web/public/locales/ca/views/chat.json b/web/public/locales/ca/views/chat.json new file mode 100644 index 000000000..064c0d81b --- /dev/null +++ b/web/public/locales/ca/views/chat.json @@ -0,0 +1,46 @@ +{ + "documentTitle": "Xat - Frigate", + "title": "Xat Frigate", + "subtitle": "El teu assistent d'AI per a gestionar càmeres i coneixements", + "placeholder": "Pregunta qualsevol cosa...", + "error": "Alguna cosa ha fallat. Torna-ho a provar.", + "processing": "Processant...", + "toolsUsed": "Usades: {{tools}}", + "showTools": "Mostra eines ({{count}})", + "hideTools": "Amaga eines", + "call": "Truca", + "result": "Resultat", + "arguments": "Variables:", + "response": "Resposta:", + "attachment_chip_label": "{{label}} a {{camera}}", + "attachment_chip_remove": "Elimina l'adjunt", + "open_in_explore": "Obre en l'explorador", + "attach_event_aria": "Adjunta l'esdeveniment {{eventId}}", + "attachment_picker_paste_label": "O enganxa l'ID de l'esdeveniment", + "attachment_picker_attach": "Adjunta", + "attachment_picker_placeholder": "Adjunta un esdeveniment", + "quick_reply_find_similar": "Troba albiraments similars", + "quick_reply_tell_me_more": "Explica'm més sobre això", + "quick_reply_when_else": "Quan més es va veure?", + "quick_reply_find_similar_text": "Troba albiraments similars a això.", + "quick_reply_tell_me_more_text": "Parla'm més d'aquest.", + "quick_reply_when_else_text": "Quan més es va veure això?", + "anchor": "Referència", + "similarity_score": "Similitud", + "no_similar_objects_found": "No s'ha trobat cap objecte similar.", + "semantic_search_required": "La cerca semàntica ha d'estar habilitada per trobar objectes similars.", + "send": "Envia", + "suggested_requests": "Proveu de preguntar:", + "starting_requests": { + "show_recent_events": "Mostra els esdeveniments recents", + "show_camera_status": "Mostra l'estat de la càmera", + "recap": "Què va passar mentre jo era fora?", + "watch_camera": "Observa una càmera per a l'activitat" + }, + "starting_requests_prompts": { + "show_recent_events": "Mostra'm els esdeveniments recents de l'última hora", + "show_camera_status": "Quin és l'estat actual de les meves càmeres?", + "recap": "Què va passar mentre jo era fora?", + "watch_camera": "Vigila la porta d'entrada i fes-me saber si algú apareix" + } +} diff --git a/web/public/locales/ca/views/motionSearch.json b/web/public/locales/ca/views/motionSearch.json new file mode 100644 index 000000000..cf41e934d --- /dev/null +++ b/web/public/locales/ca/views/motionSearch.json @@ -0,0 +1,77 @@ +{ + "documentTitle": "Busca Deteccións - Frigate", + "title": "Búsqueda de Deteccions", + "selectCamera": "Búsqueda de Deteccions s'esta carregant", + "startSearch": "Començar Búsqueda", + "searchStarted": "Búsqueda inicada", + "searchCancelled": "Búsqueda cancel·lada", + "cancelSearch": "Cancel·lar", + "searching": "Búsqueda en progrés.", + "searchComplete": "Búsqueda completa", + "description": "Dibuixa un polígon per definir la regió d'interès, i especifica un interval de temps per cercar canvis de moviment dins d'aquesta regió.", + "noResultsYet": "Executa una cerca per a trobar canvis de moviment a la regió seleccionada", + "noChangesFound": "No s'ha detectat cap canvi de píxel a la regió seleccionada", + "changesFound_one": "S'ha trobat el canvi de moviment {{count}}", + "changesFound_many": "S'han trobat {{count}} canvis de moviment", + "changesFound_other": "S'han trobat {{count}} canvis de moviment", + "framesProcessed": "{{count}} fotogrames processats", + "jumpToTime": "Salta a aquesta hora", + "results": "Resultats", + "showSegmentHeatmap": "Mapa de calor", + "newSearch": "Cerca nova", + "clearResults": "Neteja els resultats", + "clearROI": "Neteja el polígon", + "polygonControls": { + "points_one": "{{count}} punt", + "points_many": "{{count}} punts", + "points_other": "{{count}} punts", + "undo": "Desfés l'últim punt", + "reset": "Restableix el polígon" + }, + "motionHeatmapLabel": "Mapa de calor del moviment", + "dialog": { + "title": "Cerca de moviment", + "cameraLabel": "Càmara", + "previewAlt": "Vista prèvia de la càmera per a {{camera}}" + }, + "timeRange": { + "title": "Interval de cerca", + "start": "Hora d'inici", + "end": "Hora final" + }, + "settings": { + "title": "Configuració de la cerca", + "parallelMode": "Mode paral·lel", + "parallelModeDesc": "Escaneja múltiples segments d'enregistrament al mateix temps (més ràpid, però significativament més intensiu en CPU)", + "threshold": "Llindar de la sensibilitat", + "thresholdDesc": "Els valors més baixos detecten canvis més petits (1-255)", + "minArea": "Àrea de canvi mínim", + "minAreaDesc": "Percentatge mínim de la regió d'interès que s'ha de canviar per considerar-se significatiu", + "frameSkip": "Omet el fotograma", + "frameSkipDesc": "Processa cada N fotograma. Establiu això a la velocitat de fotogrames de la càmera per processar un fotograma per segon (p. ex. 5 per a una càmera de 5 FPS, 30 per a una càmera de 30 FPS). Els valors més alts seran més ràpids, però poden perdre els esdeveniments de curt moviment.", + "maxResults": "Resultats màxims", + "maxResultsDesc": "Atura després d'aquestes quantes marques horàries coincidents" + }, + "errors": { + "noCamera": "Seleccioneu una càmera", + "noROI": "Dibuixeu una regió d'interès", + "noTimeRange": "Seleccioneu un interval de temps", + "invalidTimeRange": "L'hora de finalització ha de ser posterior a l'hora d'inici", + "searchFailed": "Ha fallat la cerca: {{message}}", + "polygonTooSmall": "El polígon ha de tenir almenys 3 punts", + "unknown": "Error desconegut" + }, + "changePercentage": "{{percentage}}% canviat", + "metrics": { + "title": "Cerca les mètriques", + "segmentsScanned": "Segments escanejats", + "segmentsProcessed": "Processat", + "segmentsSkippedInactive": "S'ha omès (sense activitat)", + "segmentsSkippedHeatmap": "S'ha omès (sense superposició ROI)", + "fallbackFullRange": "Escaneig de rang complet alternatiu", + "framesDecoded": "Fotogrames descodificats", + "wallTime": "Temps de cerca", + "segmentErrors": "Errors del segment", + "seconds": "{{seconds}}s" + } +} diff --git a/web/public/locales/ca/views/replay.json b/web/public/locales/ca/views/replay.json new file mode 100644 index 000000000..36eccd8a6 --- /dev/null +++ b/web/public/locales/ca/views/replay.json @@ -0,0 +1,59 @@ +{ + "page": { + "startError": { + "back": "Torna a l'Historial", + "title": "No s'ha pogut iniciar la repetició de la depuració" + }, + "sourceCamera": "Camera d'origen", + "replayCamera": "Reproduïr Càmera", + "initializingReplay": "Inicialitzant depurar repetició...", + "stoppingReplay": "Parant depurar repetició...", + "stopReplay": "Parar Repetició", + "confirmStop": { + "title": "Parar Depurar Repetició?", + "description": "Aixó pararà la sessió i netejarà les dades temporals. Estás segur?", + "confirm": "Parar Repetició", + "cancel": "Cancel·lar" + }, + "activity": "Activitat", + "objects": "Llista d'Objectes", + "audioDetections": "Deteccions d'Audio", + "noActivity": "Sense activitat detectada", + "activeTracking": "Tracking Actiu", + "noActiveTracking": "Sense tracking actiu", + "configuration": "Configuració", + "configurationDesc": "Configuració d'ajust fi de detecció de moviment i tracking d'objectes per a la depuració de reproducció de càmera. Cap canvi es graba en el teu arxiu de configuració de Frigate.", + "noSession": "No hi ha una sessió activa de reproducció de depuració", + "noSessionDesc": "Inicia una reproducció de depuració des de la vista Historial fent clic al botó Accions a la barra d'eines i escollint Depura Repeteix.", + "goToRecordings": "Ves a l'historial", + "preparingClip": "S'està preparant el clip…", + "preparingClipDesc": "Frigate està cosint enregistraments per a l'interval de temps seleccionat. Això pot trigar un minut en intervals més llargs.", + "startingCamera": "S'està iniciant la repetició de la depuració…" + }, + "title": "Repetició de depuració", + "websocket_messages": "Missatges", + "dialog": { + "title": "Iniciar Depuració de Repeticions", + "camera": "Càmera Font", + "timeRange": "Rang de Temps", + "preset": { + "1m": "Últim 1 Minut", + "5m": "Últims 5 Minuts", + "timeline": "Desde la Línia de Temps", + "custom": "Personalitzat" + }, + "description": "Crea una càmera de reproducció temporal que fa bucles de metratge històric per depurar la detecció d'objectes i els problemes de seguiment. La càmera de reproducció tindrà la mateixa configuració de detecció que la càmera d'origen. Trieu un interval de temps per començar.", + "startButton": "Inicia la repetició", + "selectFromTimeline": "Selecciona", + "starting": "S'està iniciant la repetició...", + "startLabel": "Inici", + "endLabel": "Final", + "toast": { + "error": "No s'ha pogut iniciar la repetició de depuració: {{error}}", + "alreadyActive": "Ja hi ha activada una sessió de reproducció", + "stopError": "No s'ha pogut aturar la repetició de depuració: {{error}}", + "goToReplay": "Ves a la repetició" + } + }, + "description": "Reprodueix els enregistraments de la càmera per a la depuració. La llista d'objectes mostra un resum retardat en el temps dels objectes detectats i la pestanya Missatges mostra un flux de missatges interns de la fragata a partir del metratge de reproducció." +} diff --git a/web/public/locales/ca/views/settings.json b/web/public/locales/ca/views/settings.json index 05520db7d..154fede75 100644 --- a/web/public/locales/ca/views/settings.json +++ b/web/public/locales/ca/views/settings.json @@ -1720,7 +1720,22 @@ "overriddenGlobal": "Sobreescrit (Global)", "overriddenGlobalTooltip": "Aquesta càmera anul·la la configuració global d'aquesta secció", "overriddenBaseConfig": "Sobreescrit (Configuració base)", - "overriddenBaseConfigTooltip": "El perfil {{profile}} substitueix la configuració d'aquesta secció" + "overriddenBaseConfigTooltip": "El perfil {{profile}} substitueix la configuració d'aquesta secció", + "overriddenInCameras": { + "label_one": "Sobreescrit a la càmera {{count}}", + "label_many": "Sobreescrit en {{count}} càmeres", + "label_other": "Sobreescrit en {{count}} càmeres", + "tooltip_one": "{{count}} la càmera anul·la els valors d'aquesta secció. Feu clic per veure els detalls.", + "tooltip_many": "{{count}} càmeres substitueixen els valors d'aquesta secció. Feu clic per veure els detalls.", + "tooltip_other": "{{count}} càmeres substitueixen els valors d'aquesta secció. Feu clic per veure els detalls.", + "heading_one": "Aquesta secció global té camps que estan sobreescrits a la càmera {{count}}.", + "heading_many": "Aquesta secció global té camps que estan sobreescrits en {{count}} càmeres.", + "heading_other": "Aquesta secció global té camps que estan sobreescrits en {{count}} càmeres.", + "othersField_one": "{{count}} altre", + "othersField_many": "{{count}} altres", + "othersField_other": "{{count}} altres", + "profilePrefix": "Perfil {{profile}}: {{fields}}" + } }, "profiles": { "title": "Perfils", From 5255b970bcd9fae5bb3e1d3c2816b4e267dae574 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:40 +0200 Subject: [PATCH 18/50] Added translation using Weblate (Czech) Added translation using Weblate (Czech) Added translation using Weblate (Czech) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/cs/views/chat.json | 1 + web/public/locales/cs/views/motionSearch.json | 1 + web/public/locales/cs/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/cs/views/chat.json create mode 100644 web/public/locales/cs/views/motionSearch.json create mode 100644 web/public/locales/cs/views/replay.json diff --git a/web/public/locales/cs/views/chat.json b/web/public/locales/cs/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/cs/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/cs/views/motionSearch.json b/web/public/locales/cs/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/cs/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/cs/views/replay.json b/web/public/locales/cs/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/cs/views/replay.json @@ -0,0 +1 @@ +{} From 450705f9b7470364750695f599d33831ff4d7a11 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:40 +0200 Subject: [PATCH 19/50] Added translation using Weblate (Portuguese) Added translation using Weblate (Portuguese) Added translation using Weblate (Portuguese) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/pt/views/chat.json | 1 + web/public/locales/pt/views/motionSearch.json | 1 + web/public/locales/pt/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/pt/views/chat.json create mode 100644 web/public/locales/pt/views/motionSearch.json create mode 100644 web/public/locales/pt/views/replay.json diff --git a/web/public/locales/pt/views/chat.json b/web/public/locales/pt/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt/views/motionSearch.json b/web/public/locales/pt/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt/views/replay.json b/web/public/locales/pt/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt/views/replay.json @@ -0,0 +1 @@ +{} From 9e32899357a3fbb646143ccc50183a982f5ecca8 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:41 +0200 Subject: [PATCH 20/50] Added translation using Weblate (Vietnamese) Added translation using Weblate (Vietnamese) Added translation using Weblate (Vietnamese) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/vi/views/chat.json | 1 + web/public/locales/vi/views/motionSearch.json | 1 + web/public/locales/vi/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/vi/views/chat.json create mode 100644 web/public/locales/vi/views/motionSearch.json create mode 100644 web/public/locales/vi/views/replay.json diff --git a/web/public/locales/vi/views/chat.json b/web/public/locales/vi/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/vi/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/vi/views/motionSearch.json b/web/public/locales/vi/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/vi/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/vi/views/replay.json b/web/public/locales/vi/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/vi/views/replay.json @@ -0,0 +1 @@ +{} From a5f3932043276efa5d2df145518a424f4cceb41b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:41 +0200 Subject: [PATCH 21/50] Added translation using Weblate (Icelandic) Added translation using Weblate (Icelandic) Added translation using Weblate (Icelandic) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/is/views/chat.json | 1 + web/public/locales/is/views/motionSearch.json | 1 + web/public/locales/is/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/is/views/chat.json create mode 100644 web/public/locales/is/views/motionSearch.json create mode 100644 web/public/locales/is/views/replay.json diff --git a/web/public/locales/is/views/chat.json b/web/public/locales/is/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/is/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/is/views/motionSearch.json b/web/public/locales/is/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/is/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/is/views/replay.json b/web/public/locales/is/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/is/views/replay.json @@ -0,0 +1 @@ +{} From 40235d13210679f694caadb9e0ac0186de568bce Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:41 +0200 Subject: [PATCH 22/50] Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/hy/views/chat.json | 1 + web/public/locales/hy/views/motionSearch.json | 1 + web/public/locales/hy/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/hy/views/chat.json create mode 100644 web/public/locales/hy/views/motionSearch.json create mode 100644 web/public/locales/hy/views/replay.json diff --git a/web/public/locales/hy/views/chat.json b/web/public/locales/hy/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/motionSearch.json b/web/public/locales/hy/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/replay.json b/web/public/locales/hy/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/replay.json @@ -0,0 +1 @@ +{} From a802c305ac648f9c3c6b40f61bb181bf8527d8af Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:42 +0200 Subject: [PATCH 23/50] Added translation using Weblate (Croatian) Added translation using Weblate (Croatian) Added translation using Weblate (Croatian) Translated using Weblate (Croatian) Currently translated at 100.0% (501 of 501 strings) Translated using Weblate (Croatian) Currently translated at 100.0% (501 of 501 strings) Translated using Weblate (Croatian) Currently translated at 91.5% (216 of 236 strings) Translated using Weblate (Croatian) Currently translated at 95.9% (118 of 123 strings) Translated using Weblate (Croatian) Currently translated at 98.9% (98 of 99 strings) Translated using Weblate (Croatian) Currently translated at 0.2% (1 of 469 strings) Translated using Weblate (Croatian) Currently translated at 4.0% (1 of 25 strings) Translated using Weblate (Croatian) Currently translated at 0.1% (1 of 790 strings) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: jasoisjaso Co-authored-by: stipe-jurkovic Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/hr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/hr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/hr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/hr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/hr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/hr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/hr/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/Config - Groups Translation: Frigate NVR/audio Translation: Frigate NVR/common Translation: Frigate NVR/objects Translation: Frigate NVR/views-live --- web/public/locales/hr/audio.json | 4 ++-- web/public/locales/hr/common.json | 4 ++-- web/public/locales/hr/config/cameras.json | 4 +++- web/public/locales/hr/config/global.json | 6 +++++- web/public/locales/hr/config/groups.json | 8 +++++++- web/public/locales/hr/objects.json | 2 +- web/public/locales/hr/views/chat.json | 1 + web/public/locales/hr/views/live.json | 4 +++- web/public/locales/hr/views/motionSearch.json | 1 + web/public/locales/hr/views/replay.json | 1 + 10 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 web/public/locales/hr/views/chat.json create mode 100644 web/public/locales/hr/views/motionSearch.json create mode 100644 web/public/locales/hr/views/replay.json diff --git a/web/public/locales/hr/audio.json b/web/public/locales/hr/audio.json index 55d1e5fce..8531e48d8 100644 --- a/web/public/locales/hr/audio.json +++ b/web/public/locales/hr/audio.json @@ -11,7 +11,7 @@ "laughter": "Smijeh", "train": "Vlak", "snicker": "Smješkanje", - "boat": "ÄŒamac", + "boat": "Brod", "crying": "Plakanje", "singing": "Pjevanje", "choir": "Zbor", @@ -350,7 +350,7 @@ "microwave_oven": "Mikrovalna pećnica", "water_tap": "Vodovodna slavina", "bathtub": "Kada", - "toilet_flush": "Ispiranje WC-a", + "toilet_flush": "Ispiranje toaleta", "electric_toothbrush": "Električna četkica za zube", "vacuum_cleaner": "Usisavač", "zipper": "Patentni zatvarač", diff --git a/web/public/locales/hr/common.json b/web/public/locales/hr/common.json index 68b1cb41f..8206a7d3b 100644 --- a/web/public/locales/hr/common.json +++ b/web/public/locales/hr/common.json @@ -22,11 +22,11 @@ "pm": "pm", "am": "am", "ago": "prije {{timeAgo}}", - "yr": "{{time}}g.", + "yr": "{{time}}g", "year_one": "{{time}} godina", "year_few": "{{time}} godine", "year_other": "{{time}} godina", - "mo": "{{time}}mj.", + "mo": "{{time}}mj", "month_one": "{{time}} mjesec", "month_few": "{{time}} mjeseca", "month_other": "{{time}} mjeseci", diff --git a/web/public/locales/hr/config/cameras.json b/web/public/locales/hr/config/cameras.json index 0967ef424..1ffab6388 100644 --- a/web/public/locales/hr/config/cameras.json +++ b/web/public/locales/hr/config/cameras.json @@ -1 +1,3 @@ -{} +{ + "label": "Konfiguracijakamere" +} diff --git a/web/public/locales/hr/config/global.json b/web/public/locales/hr/config/global.json index 0967ef424..9a3929845 100644 --- a/web/public/locales/hr/config/global.json +++ b/web/public/locales/hr/config/global.json @@ -1 +1,5 @@ -{} +{ + "version": { + "label": "Trenutna verzija konfiguracije" + } +} diff --git a/web/public/locales/hr/config/groups.json b/web/public/locales/hr/config/groups.json index 0967ef424..fd99a882c 100644 --- a/web/public/locales/hr/config/groups.json +++ b/web/public/locales/hr/config/groups.json @@ -1 +1,7 @@ -{} +{ + "audio": { + "global": { + "detection": "Globalna detekcija" + } + } +} diff --git a/web/public/locales/hr/objects.json b/web/public/locales/hr/objects.json index 955ebe0cd..b27b693e1 100644 --- a/web/public/locales/hr/objects.json +++ b/web/public/locales/hr/objects.json @@ -6,7 +6,7 @@ "airplane": "Zrakoplov", "bus": "Autobus", "train": "Vlak", - "boat": "ÄŒamac", + "boat": "Brod", "traffic_light": "Semafor", "fire_hydrant": "Hidrant", "street_sign": "Prometni znak", diff --git a/web/public/locales/hr/views/chat.json b/web/public/locales/hr/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hr/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hr/views/live.json b/web/public/locales/hr/views/live.json index 9fce430f5..a60f87cd5 100644 --- a/web/public/locales/hr/views/live.json +++ b/web/public/locales/hr/views/live.json @@ -1,5 +1,7 @@ { - "documentTitle": "Uživo - Frigate", + "documentTitle": { + "default": "Uživo - Frigate" + }, "documentTitle.withCamera": "{{camera}} - Uživo - Frigate", "twoWayTalk": { "enable": "Omogući dvosmjerni razgovor", diff --git a/web/public/locales/hr/views/motionSearch.json b/web/public/locales/hr/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hr/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hr/views/replay.json b/web/public/locales/hr/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hr/views/replay.json @@ -0,0 +1 @@ +{} From fd28d8948559b81e7806972f553acc2faeb1aa2a Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:42 +0200 Subject: [PATCH 24/50] Translated using Weblate (Hungarian) Currently translated at 76.4% (133 of 174 strings) Translated using Weblate (Hungarian) Currently translated at 40.0% (16 of 40 strings) Translated using Weblate (Hungarian) Currently translated at 37.7% (17 of 45 strings) Translated using Weblate (Hungarian) Currently translated at 32.2% (19 of 59 strings) Translated using Weblate (Hungarian) Currently translated at 92.7% (219 of 236 strings) Translated using Weblate (Hungarian) Currently translated at 39.5% (428 of 1081 strings) Added translation using Weblate (Hungarian) Added translation using Weblate (Hungarian) Added translation using Weblate (Hungarian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: ZsiGiT Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/hu/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-chat/hu/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/hu/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/hu/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/hu/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/hu/ Translation: Frigate NVR/common Translation: Frigate NVR/views-chat Translation: Frigate NVR/views-motionSearch Translation: Frigate NVR/views-replay Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/hu/common.json | 3 ++- web/public/locales/hu/views/chat.json | 18 +++++++++++++ web/public/locales/hu/views/motionSearch.json | 22 ++++++++++++++++ web/public/locales/hu/views/replay.json | 25 +++++++++++++++++++ web/public/locales/hu/views/settings.json | 11 +++++--- web/public/locales/hu/views/system.json | 7 ++++-- 6 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 web/public/locales/hu/views/chat.json create mode 100644 web/public/locales/hu/views/motionSearch.json create mode 100644 web/public/locales/hu/views/replay.json diff --git a/web/public/locales/hu/common.json b/web/public/locales/hu/common.json index bc25fc97b..fdebbf0e9 100644 --- a/web/public/locales/hu/common.json +++ b/web/public/locales/hu/common.json @@ -274,7 +274,8 @@ "export": "Exportálás", "deleteNow": "Törlés Most", "next": "Következő", - "continue": "Tovább" + "continue": "Tovább", + "add": "Hozzáad" }, "label": { "back": "Vissza", diff --git a/web/public/locales/hu/views/chat.json b/web/public/locales/hu/views/chat.json new file mode 100644 index 000000000..cd90ba073 --- /dev/null +++ b/web/public/locales/hu/views/chat.json @@ -0,0 +1,18 @@ +{ + "documentTitle": "Chat - Frigate", + "title": "Frigate Chat", + "subtitle": "A kamerakezeléshez és elemzésekhez szükséges MI asszisztensed", + "placeholder": "Kérdezz bármit...", + "error": "Hiba történt. Kérjük, próbáld meg újra.", + "processing": "Feldolgozás...", + "toolsUsed": "Használatban: {{tools}}", + "showTools": "Eszközök megjelenítése ({{count}})", + "hideTools": "Eszközök elrejtése", + "call": "Hívás", + "result": "Eredmény", + "response": "Válasz:", + "attachment_chip_remove": "Melléklet eltávolítása", + "open_in_explore": "Megnyitás Böngészőben", + "attachment_picker_paste_label": "Vagy illeszd be az esemény ID-t", + "attachment_picker_attach": "Melléklet" +} diff --git a/web/public/locales/hu/views/motionSearch.json b/web/public/locales/hu/views/motionSearch.json new file mode 100644 index 000000000..e84683d3b --- /dev/null +++ b/web/public/locales/hu/views/motionSearch.json @@ -0,0 +1,22 @@ +{ + "documentTitle": "Mozgás Keresés - Frigate", + "title": "Mozgás Keresés", + "description": "Rajzoljon be egy sokszöget a vizsgálandó terület kijelöléséhez, majd adja meg az időtartományt, amelyen belül a mozgásváltozásokat szeretné keresni ezen a területen.", + "selectCamera": "Mozgás Keresés betöltése folyamatban", + "startSearch": "Keresés Indítása", + "searchStarted": "Megkezdődött a keresés", + "searchCancelled": "Keresés megszakítva", + "cancelSearch": "Mégse", + "searching": "Keresés folyamatban.", + "searchComplete": "A keresés befejeződött", + "noResultsYet": "Futtass keresést a kijelölt területen a mozgásváltozások felkutatásához", + "noChangesFound": "A kijelölt területen nem történt pixelváltozás", + "changesFound_one": "Észlelhető {{count}} mozgásváltozás", + "changesFound_other": "Észlelhető {{count}} mozgásváltozás", + "framesProcessed": "{{count}} képkocka feldolgozva", + "jumpToTime": "Ugrás erre az időpontra", + "results": "Eredmények", + "showSegmentHeatmap": "Hőtérkép", + "newSearch": "Új Keresés", + "clearResults": "Eredmények törlése" +} diff --git a/web/public/locales/hu/views/replay.json b/web/public/locales/hu/views/replay.json new file mode 100644 index 000000000..7df332731 --- /dev/null +++ b/web/public/locales/hu/views/replay.json @@ -0,0 +1,25 @@ +{ + "title": "Hibakeresés visszajátszás", + "websocket_messages": "Üzenetek", + "dialog": { + "title": "Hibakeresés visszajátszásának indítása", + "camera": "Forráskamera", + "timeRange": "Időtartomány", + "preset": { + "1m": "Legutóbbi 1 perc", + "5m": "Legutóbbi 5 perc", + "timeline": "Az Idővonalból", + "custom": "Egyedi" + }, + "startButton": "Visszajátszás indítása", + "selectFromTimeline": "Válassz", + "starting": "Visszajátszás indítása...", + "startLabel": "Indítás", + "endLabel": "Vége", + "toast": { + "error": "A hibakeresési visszajátszás elindítása sikertelen: {{error}}", + "alreadyActive": "A visszajátszási munkamenet már aktív", + "goToReplay": "Ugrás a visszajátszásra" + } + } +} diff --git a/web/public/locales/hu/views/settings.json b/web/public/locales/hu/views/settings.json index 858d0913f..3cf386f72 100644 --- a/web/public/locales/hu/views/settings.json +++ b/web/public/locales/hu/views/settings.json @@ -15,8 +15,8 @@ "cameraReview": "Kamera beállítások áttekintése – Frigate", "globalConfig": "Globális Konfiguráció - Frigate", "cameraConfig": "Kamera Konfiguráció - Frigate", - "maintenance": "Karbantartás - Fregatt", - "profiles": "Profilok - Fregatt" + "maintenance": "Karbantartás - Frigate", + "profiles": "Profilok - Frigate" }, "menu": { "ui": "UI", @@ -538,7 +538,7 @@ "all": "Mindem Maszk és Zóna" }, "motionMaskLabel": "Mozgási Maszk {{number}}", - "objectMaskLabel": "Tárgy Maszk {{number}} {{label}}", + "objectMaskLabel": "Tárgy Maszk {{number}}", "toast": { "success": { "copyCoordinates": "A {{polyName}} koordinátái vágólapra másolva." @@ -888,5 +888,10 @@ "overriddenGlobalTooltip": "Ez a kamera felülírja a globális konfigurációs beállításokat ebben a részben", "overriddenBaseConfig": "Felülírt (Alapbeállítás)", "overriddenBaseConfigTooltip": "A {{profile}} profil felülírja a konfigurációs beállításokat ebben a részben" + }, + "detectionModel": { + "plusActive": { + "label": "A jelenlegi modell forrása" + } } } diff --git a/web/public/locales/hu/views/system.json b/web/public/locales/hu/views/system.json index 5d57d494c..73580e256 100644 --- a/web/public/locales/hu/views/system.json +++ b/web/public/locales/hu/views/system.json @@ -89,8 +89,11 @@ "topics": "Témák (topics)", "events": "Események", "reviews": "Értékelések (reviews)", - "face_recognition": "Arcfelismerés" - } + "face_recognition": "Arcfelismerés", + "classification": "Osztályozás", + "lpr": "LPR" + }, + "clear": "Töröl" } }, "general": { From 4d99d760b1737d35d6df8d3daefcde4e10b1e264 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:43 +0200 Subject: [PATCH 25/50] Added translation using Weblate (Hindi) Added translation using Weblate (Hindi) Added translation using Weblate (Hindi) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/hi/views/chat.json | 1 + web/public/locales/hi/views/motionSearch.json | 1 + web/public/locales/hi/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/hi/views/chat.json create mode 100644 web/public/locales/hi/views/motionSearch.json create mode 100644 web/public/locales/hi/views/replay.json diff --git a/web/public/locales/hi/views/chat.json b/web/public/locales/hi/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hi/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hi/views/motionSearch.json b/web/public/locales/hi/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hi/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hi/views/replay.json b/web/public/locales/hi/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hi/views/replay.json @@ -0,0 +1 @@ +{} From b5c9ece7f1a32e1d487e5964ea70c7ab00af51b1 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:43 +0200 Subject: [PATCH 26/50] Added translation using Weblate (Hebrew) Added translation using Weblate (Hebrew) Added translation using Weblate (Hebrew) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/he/views/chat.json | 1 + web/public/locales/he/views/motionSearch.json | 1 + web/public/locales/he/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/he/views/chat.json create mode 100644 web/public/locales/he/views/motionSearch.json create mode 100644 web/public/locales/he/views/replay.json diff --git a/web/public/locales/he/views/chat.json b/web/public/locales/he/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/he/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/he/views/motionSearch.json b/web/public/locales/he/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/he/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/he/views/replay.json b/web/public/locales/he/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/he/views/replay.json @@ -0,0 +1 @@ +{} From 1de0874cb98f3d61b45137b73127a12ee5ca957b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:43 +0200 Subject: [PATCH 27/50] Added translation using Weblate (Malayalam) Added translation using Weblate (Malayalam) Added translation using Weblate (Malayalam) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/ml/views/chat.json | 1 + web/public/locales/ml/views/motionSearch.json | 1 + web/public/locales/ml/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/ml/views/chat.json create mode 100644 web/public/locales/ml/views/motionSearch.json create mode 100644 web/public/locales/ml/views/replay.json diff --git a/web/public/locales/ml/views/chat.json b/web/public/locales/ml/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ml/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ml/views/motionSearch.json b/web/public/locales/ml/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ml/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ml/views/replay.json b/web/public/locales/ml/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ml/views/replay.json @@ -0,0 +1 @@ +{} From 3638660f9a24b1584c6ffecbc3b948f90dbff061 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:44 +0200 Subject: [PATCH 28/50] Translated using Weblate (Polish) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 2.2% (1 of 45 strings) Added translation using Weblate (Polish) Added translation using Weblate (Polish) Added translation using Weblate (Polish) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: Wojciech Niziński Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/pl/ Translation: Frigate NVR/views-replay --- web/public/locales/pl/views/chat.json | 1 + web/public/locales/pl/views/motionSearch.json | 1 + web/public/locales/pl/views/replay.json | 5 +++++ 3 files changed, 7 insertions(+) create mode 100644 web/public/locales/pl/views/chat.json create mode 100644 web/public/locales/pl/views/motionSearch.json create mode 100644 web/public/locales/pl/views/replay.json diff --git a/web/public/locales/pl/views/chat.json b/web/public/locales/pl/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pl/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pl/views/motionSearch.json b/web/public/locales/pl/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pl/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pl/views/replay.json b/web/public/locales/pl/views/replay.json new file mode 100644 index 000000000..eea046649 --- /dev/null +++ b/web/public/locales/pl/views/replay.json @@ -0,0 +1,5 @@ +{ + "page": { + "preparingClip": "Przygotuje urywek…" + } +} From 1cfbf86ae7dfd3b75d9329a77b09b14e95e97383 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:44 +0200 Subject: [PATCH 29/50] Translated using Weblate (Italian) Currently translated at 10.3% (82 of 792 strings) Translated using Weblate (Italian) Currently translated at 100.0% (236 of 236 strings) Added translation using Weblate (Italian) Added translation using Weblate (Italian) Added translation using Weblate (Italian) Co-authored-by: Gringo Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/it/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/it/ Translation: Frigate NVR/Config - Global Translation: Frigate NVR/common --- web/public/locales/it/common.json | 3 ++- web/public/locales/it/config/global.json | 4 ++++ web/public/locales/it/views/chat.json | 1 + web/public/locales/it/views/motionSearch.json | 1 + web/public/locales/it/views/replay.json | 1 + 5 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 web/public/locales/it/views/chat.json create mode 100644 web/public/locales/it/views/motionSearch.json create mode 100644 web/public/locales/it/views/replay.json diff --git a/web/public/locales/it/common.json b/web/public/locales/it/common.json index a6d4d95ea..e02fa599f 100644 --- a/web/public/locales/it/common.json +++ b/web/public/locales/it/common.json @@ -275,7 +275,8 @@ "classification": "Classificazione", "chat": "Chat", "profiles": "Profili", - "actions": "Azioni" + "actions": "Azioni", + "features": "Caratteristiche" }, "pagination": { "next": { diff --git a/web/public/locales/it/config/global.json b/web/public/locales/it/config/global.json index a54664743..adde68ced 100644 --- a/web/public/locales/it/config/global.json +++ b/web/public/locales/it/config/global.json @@ -86,6 +86,10 @@ }, "roles": { "label": "Mappatura dei ruoli" + }, + "failed_login_rate_limit": { + "label": "Limiti di accesso non riusciti", + "description": "Regole di limitazione della frequenza per i tentativi di accesso non riusciti al fine di ridurre gli attacchi di forza bruta." } }, "ffmpeg": { diff --git a/web/public/locales/it/views/chat.json b/web/public/locales/it/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/it/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/it/views/motionSearch.json b/web/public/locales/it/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/it/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/it/views/replay.json b/web/public/locales/it/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/it/views/replay.json @@ -0,0 +1 @@ +{} From 66fc817056ad7689fa9b56a24be875ff2d1ac9f4 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:44 +0200 Subject: [PATCH 30/50] Added translation using Weblate (Arabic) Added translation using Weblate (Arabic) Added translation using Weblate (Arabic) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/ar/views/chat.json | 1 + web/public/locales/ar/views/motionSearch.json | 1 + web/public/locales/ar/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/ar/views/chat.json create mode 100644 web/public/locales/ar/views/motionSearch.json create mode 100644 web/public/locales/ar/views/replay.json diff --git a/web/public/locales/ar/views/chat.json b/web/public/locales/ar/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ar/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ar/views/motionSearch.json b/web/public/locales/ar/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ar/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ar/views/replay.json b/web/public/locales/ar/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ar/views/replay.json @@ -0,0 +1 @@ +{} From 7caf3c23de9da0b830e7d12e814ed3f0e0f4025f Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:45 +0200 Subject: [PATCH 31/50] Added translation using Weblate (Indonesian) Added translation using Weblate (Indonesian) Added translation using Weblate (Indonesian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/id/views/chat.json | 1 + web/public/locales/id/views/motionSearch.json | 1 + web/public/locales/id/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/id/views/chat.json create mode 100644 web/public/locales/id/views/motionSearch.json create mode 100644 web/public/locales/id/views/replay.json diff --git a/web/public/locales/id/views/chat.json b/web/public/locales/id/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/id/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/id/views/motionSearch.json b/web/public/locales/id/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/id/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/id/views/replay.json b/web/public/locales/id/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/id/views/replay.json @@ -0,0 +1 @@ +{} From 5954711f19c7f44b5cb2edd8abd604e534b1e132 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:45 +0200 Subject: [PATCH 32/50] Added translation using Weblate (Dutch) Added translation using Weblate (Dutch) Added translation using Weblate (Dutch) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/nl/views/chat.json | 1 + web/public/locales/nl/views/motionSearch.json | 1 + web/public/locales/nl/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/nl/views/chat.json create mode 100644 web/public/locales/nl/views/motionSearch.json create mode 100644 web/public/locales/nl/views/replay.json diff --git a/web/public/locales/nl/views/chat.json b/web/public/locales/nl/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nl/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/nl/views/motionSearch.json b/web/public/locales/nl/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nl/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/nl/views/replay.json b/web/public/locales/nl/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nl/views/replay.json @@ -0,0 +1 @@ +{} From 949bcbbde85eed7466a01a86e933a6f570defff9 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:45 +0200 Subject: [PATCH 33/50] Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Added translation using Weblate (Nepali) Co-authored-by: Hosted Weblate Co-authored-by: bijaydewan --- web/public/locales/ne/audio.json | 1 + web/public/locales/ne/common.json | 1 + web/public/locales/ne/components/auth.json | 1 + web/public/locales/ne/components/camera.json | 1 + web/public/locales/ne/components/dialog.json | 1 + web/public/locales/ne/components/filter.json | 1 + web/public/locales/ne/components/icons.json | 1 + web/public/locales/ne/components/input.json | 1 + web/public/locales/ne/components/player.json | 1 + web/public/locales/ne/config/cameras.json | 1 + web/public/locales/ne/config/global.json | 1 + web/public/locales/ne/config/groups.json | 1 + web/public/locales/ne/config/validation.json | 1 + web/public/locales/ne/objects.json | 1 + web/public/locales/ne/views/chat.json | 1 + web/public/locales/ne/views/classificationModel.json | 1 + web/public/locales/ne/views/configEditor.json | 1 + web/public/locales/ne/views/events.json | 1 + web/public/locales/ne/views/explore.json | 1 + web/public/locales/ne/views/exports.json | 1 + web/public/locales/ne/views/faceLibrary.json | 1 + web/public/locales/ne/views/live.json | 1 + web/public/locales/ne/views/motionSearch.json | 1 + web/public/locales/ne/views/recording.json | 1 + web/public/locales/ne/views/replay.json | 1 + web/public/locales/ne/views/search.json | 1 + web/public/locales/ne/views/settings.json | 1 + web/public/locales/ne/views/system.json | 1 + 28 files changed, 28 insertions(+) create mode 100644 web/public/locales/ne/audio.json create mode 100644 web/public/locales/ne/common.json create mode 100644 web/public/locales/ne/components/auth.json create mode 100644 web/public/locales/ne/components/camera.json create mode 100644 web/public/locales/ne/components/dialog.json create mode 100644 web/public/locales/ne/components/filter.json create mode 100644 web/public/locales/ne/components/icons.json create mode 100644 web/public/locales/ne/components/input.json create mode 100644 web/public/locales/ne/components/player.json create mode 100644 web/public/locales/ne/config/cameras.json create mode 100644 web/public/locales/ne/config/global.json create mode 100644 web/public/locales/ne/config/groups.json create mode 100644 web/public/locales/ne/config/validation.json create mode 100644 web/public/locales/ne/objects.json create mode 100644 web/public/locales/ne/views/chat.json create mode 100644 web/public/locales/ne/views/classificationModel.json create mode 100644 web/public/locales/ne/views/configEditor.json create mode 100644 web/public/locales/ne/views/events.json create mode 100644 web/public/locales/ne/views/explore.json create mode 100644 web/public/locales/ne/views/exports.json create mode 100644 web/public/locales/ne/views/faceLibrary.json create mode 100644 web/public/locales/ne/views/live.json create mode 100644 web/public/locales/ne/views/motionSearch.json create mode 100644 web/public/locales/ne/views/recording.json create mode 100644 web/public/locales/ne/views/replay.json create mode 100644 web/public/locales/ne/views/search.json create mode 100644 web/public/locales/ne/views/settings.json create mode 100644 web/public/locales/ne/views/system.json diff --git a/web/public/locales/ne/audio.json b/web/public/locales/ne/audio.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/audio.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/common.json b/web/public/locales/ne/common.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/common.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/components/auth.json b/web/public/locales/ne/components/auth.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/components/auth.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/components/camera.json b/web/public/locales/ne/components/camera.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/components/camera.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/components/dialog.json b/web/public/locales/ne/components/dialog.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/components/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/components/filter.json b/web/public/locales/ne/components/filter.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/components/filter.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/components/icons.json b/web/public/locales/ne/components/icons.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/components/icons.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/components/input.json b/web/public/locales/ne/components/input.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/components/input.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/components/player.json b/web/public/locales/ne/components/player.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/components/player.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/config/cameras.json b/web/public/locales/ne/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/config/global.json b/web/public/locales/ne/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/config/groups.json b/web/public/locales/ne/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/config/validation.json b/web/public/locales/ne/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/objects.json b/web/public/locales/ne/objects.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/objects.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/chat.json b/web/public/locales/ne/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/classificationModel.json b/web/public/locales/ne/views/classificationModel.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/classificationModel.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/configEditor.json b/web/public/locales/ne/views/configEditor.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/configEditor.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/events.json b/web/public/locales/ne/views/events.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/events.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/explore.json b/web/public/locales/ne/views/explore.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/explore.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/exports.json b/web/public/locales/ne/views/exports.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/exports.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/faceLibrary.json b/web/public/locales/ne/views/faceLibrary.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/faceLibrary.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/live.json b/web/public/locales/ne/views/live.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/live.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/motionSearch.json b/web/public/locales/ne/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/recording.json b/web/public/locales/ne/views/recording.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/recording.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/replay.json b/web/public/locales/ne/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/replay.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/search.json b/web/public/locales/ne/views/search.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/search.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/settings.json b/web/public/locales/ne/views/settings.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ne/views/system.json b/web/public/locales/ne/views/system.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ne/views/system.json @@ -0,0 +1 @@ +{} From 5d0668cb019af9ab07ce5f812e26e24f80f9faaa Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:46 +0200 Subject: [PATCH 34/50] Added translation using Weblate (Spanish) Added translation using Weblate (Spanish) Added translation using Weblate (Spanish) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/es/views/chat.json | 1 + web/public/locales/es/views/motionSearch.json | 1 + web/public/locales/es/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/es/views/chat.json create mode 100644 web/public/locales/es/views/motionSearch.json create mode 100644 web/public/locales/es/views/replay.json diff --git a/web/public/locales/es/views/chat.json b/web/public/locales/es/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/es/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/es/views/motionSearch.json b/web/public/locales/es/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/es/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/es/views/replay.json b/web/public/locales/es/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/es/views/replay.json @@ -0,0 +1 @@ +{} From 788249576ef6421e0c519f4e1dca815da9b7ff89 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:46 +0200 Subject: [PATCH 35/50] Added translation using Weblate (French) Added translation using Weblate (French) Added translation using Weblate (French) Translated using Weblate (French) Currently translated at 77.4% (837 of 1081 strings) Translated using Weblate (French) Currently translated at 100.0% (58 of 58 strings) Translated using Weblate (French) Currently translated at 100.0% (236 of 236 strings) Translated using Weblate (French) Currently translated at 100.0% (47 of 47 strings) Translated using Weblate (French) Currently translated at 100.0% (123 of 123 strings) Translated using Weblate (French) Currently translated at 100.0% (174 of 174 strings) Translated using Weblate (French) Currently translated at 33.9% (159 of 469 strings) Translated using Weblate (French) Currently translated at 5.4% (43 of 790 strings) Translated using Weblate (French) Currently translated at 80.1% (81 of 101 strings) Translated using Weblate (French) Currently translated at 100.0% (145 of 145 strings) Co-authored-by: Buzz Android Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fr/ 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/objects Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/fr/common.json | 20 +++- web/public/locales/fr/components/camera.json | 3 +- web/public/locales/fr/components/dialog.json | 40 ++++++- web/public/locales/fr/config/cameras.json | 18 ++- web/public/locales/fr/config/global.json | 25 ++++ web/public/locales/fr/objects.json | 7 +- web/public/locales/fr/views/chat.json | 1 + web/public/locales/fr/views/explore.json | 18 ++- web/public/locales/fr/views/faceLibrary.json | 10 +- web/public/locales/fr/views/motionSearch.json | 1 + web/public/locales/fr/views/replay.json | 1 + web/public/locales/fr/views/settings.json | 112 +++++++++++++++++- web/public/locales/fr/views/system.json | 15 ++- 13 files changed, 249 insertions(+), 22 deletions(-) create mode 100644 web/public/locales/fr/views/chat.json create mode 100644 web/public/locales/fr/views/motionSearch.json create mode 100644 web/public/locales/fr/views/replay.json diff --git a/web/public/locales/fr/common.json b/web/public/locales/fr/common.json index 2ba13dd18..ff940a27d 100644 --- a/web/public/locales/fr/common.json +++ b/web/public/locales/fr/common.json @@ -1,6 +1,6 @@ { "time": { - "untilForRestart": "Jusqu'au redémarrage de Frigate", + "untilForRestart": "Jusqu'à ce que Frigate redémarre.", "untilRestart": "Jusqu'au redémarrage", "untilForTime": "Jusqu'à {{time}}", "justNow": "À l'instant", @@ -139,7 +139,9 @@ "resetToDefault": "Réinitialiser aux réglages par défaut", "saveAll": "Tout enregistrer", "savingAll": "Enregistrement de tout en cours…", - "undoAll": "Tout annuler" + "undoAll": "Tout annuler", + "applying": "Enregistrement…", + "retry": "Réessayer" }, "menu": { "configuration": "Configuration", @@ -244,7 +246,10 @@ "faceLibrary": "Bibliothèque de visages", "languages": "Langues", "classification": "Classification", - "profiles": "Profils" + "profiles": "Profils", + "actions": "Actions", + "features": "Fonctionnalités", + "chat": "Discuter" }, "toast": { "save": { @@ -252,9 +257,10 @@ "error": { "noMessage": "Echec lors de l'enregistrement des changements de configuration", "title": "Échec de l'enregistrement des changements de configuration : {{errorMessage}}" - } + }, + "success": "Modifications enregistrées avec succès." }, - "copyUrlToClipboard": "URL copiée dans le presse-papiers" + "copyUrlToClipboard": "URL copiée dans le presse-papiers." }, "role": { "title": "Rôle", @@ -324,5 +330,7 @@ "two": "{{0}} et {{1}}", "many": "{{items}}, et {{last}}", "separatorWithSpace": ", " - } + }, + "no_items": "Aucun élément", + "validation_errors": "Erreurs de validation" } diff --git a/web/public/locales/fr/components/camera.json b/web/public/locales/fr/components/camera.json index 0e95c70e3..6204915d0 100644 --- a/web/public/locales/fr/components/camera.json +++ b/web/public/locales/fr/components/camera.json @@ -82,6 +82,7 @@ }, "boundingBox": "Cadre de détection", "zones": "Zones", - "regions": "Régions" + "regions": "Régions", + "paths": "Chemins" } } diff --git a/web/public/locales/fr/components/dialog.json b/web/public/locales/fr/components/dialog.json index a2accb930..2d70620f0 100644 --- a/web/public/locales/fr/components/dialog.json +++ b/web/public/locales/fr/components/dialog.json @@ -80,7 +80,45 @@ }, "case": { "label": "Dossier", - "placeholder": "Sélectionner un dossier" + "placeholder": "Sélectionner un dossier", + "newCaseOption": "Créer un nouveau cas", + "newCaseNamePlaceholder": "Nouveau nom de cas", + "newCaseDescriptionPlaceholder": "Description de cas", + "nonAdminHelp": "Un nouveau cas sera créé pour ces exports." + }, + "queueing": "Mise en file d'attente de l'export...", + "tabs": { + "export": "Caméra unique", + "multiCamera": "Multi-caméra" + }, + "multiCamera": { + "timeRange": "Intervalle de temps", + "selectFromTimeline": "Sélectionner depuis la chronologie", + "cameraSelection": "Caméras", + "cameraSelectionHelp": "Les caméras avec des objets suivis dans cette intervalle sont pré-sélectionnées", + "checkingActivity": "Vérification de l'activité de la caméra...", + "noCameras": "Aucune caméra disponible", + "detectionCount_one": "{{count}} objet suivi", + "detectionCount_many": "{{count}} objets suivis", + "detectionCount_other": "{{count}} objets suivis", + "nameLabel": "Nom d'export", + "namePlaceholder": "Nom de base optionnel pour ces exports", + "queueingButton": "Mise en file d'attente des exports...", + "exportButton_one": "Exporter {{count}} caméra", + "exportButton_many": "Exporter {{count}} caméras", + "exportButton_other": "Exporter {{count}} caméras" + }, + "multi": { + "title_one": "Export {{count}} revue", + "title_many": "Export {{count}} revues", + "title_other": "Export {{count}} revues", + "description": "Export chaque revue sélectionnée. Tous les exports sont regroupés sous un cas unique.", + "descriptionNoCase": "Exporter chaque revue sélectionnée.", + "caseNamePlaceholder": "Vérification de l'export – {{date}}", + "exportButton_one": "Exporter {{count}} revue", + "exportButton_many": "Exporter {{count}} revues", + "exportButton_other": "Exporter {{count}} revues", + "exportingButton": "Exportation..." } }, "search": { diff --git a/web/public/locales/fr/config/cameras.json b/web/public/locales/fr/config/cameras.json index ca00146db..fb03b8256 100644 --- a/web/public/locales/fr/config/cameras.json +++ b/web/public/locales/fr/config/cameras.json @@ -78,8 +78,8 @@ "label": "Détection d'objets", "description": "Réglages pour la détection ou le rôle de détection utilisé pour exécuter la détection des objets et initialiser les traceurs.", "enabled": { - "label": "Détection activée", - "description": "Activer ou désactiver la détection des objets pour cette caméra. La détection doit être activée pour que le suivi des objets fonctionne." + "label": "Activer la détection d'objet", + "description": "Activer ou désactiver la détection des objets pour cette caméra." }, "height": { "label": "Hauteur de détection", @@ -299,6 +299,10 @@ }, "raw_mask": { "label": "Masque brut" + }, + "skip_motion_threshold": { + "label": "Ignorer le seuil de détection de mouvement", + "description": "Si une valeur entre 0,0 et 1,0 est définie, et que plus de cette fraction de l'image change en une seule trame, le détecteur ne retournera aucune zone de mouvement et se recalibrera immédiatement. Cela peut économiser du CPU et réduire les faux positifs lors d'éclairs, d'orages, etc., mais peut manquer des événements réels comme une caméra PTZ suivant automatiquement un objet. Le compromis est entre perdre quelques mégaoctets d'enregistrements ou visionner quelques courts clips. Laisser vide (None) pour désactiver cette fonctionnalité." } }, "objects": { @@ -312,7 +316,15 @@ "label": "Filtres d'objets", "description": "Filtres appliqués aux objets détectés afin de réduire les faux positifs (aire, rapport, facteur de confiance).", "min_area": { - "label": "Aire minimal de l'objet" + "label": "Aire minimal de l'objet", + "description": "Surface minimale de la boîte englobante (en pixels ou pourcentage) requise pour ce type d'objet. Peut être exprimée en pixels (entier) ou en pourcentage (flottant entre 0,000001 et 0,99)." + }, + "max_area": { + "label": "Zone d'objet maximum", + "description": "Zone de boite englobante maximum (pixels ou pourcentage) autorisée pour ce type d'objet. Peut être en pixels (entier) ou pourcentage (décimale entre 0,000001 and 0,99)." + }, + "min_ratio": { + "label": "Rapport d'aspect minimal" } } }, diff --git a/web/public/locales/fr/config/global.json b/web/public/locales/fr/config/global.json index 0e632daf7..585c234c2 100644 --- a/web/public/locales/fr/config/global.json +++ b/web/public/locales/fr/config/global.json @@ -87,5 +87,30 @@ "quality": { "label": "Qualité d'encodage" } + }, + "detect": { + "enabled": { + "label": "Activer la détection d'objet" + } + }, + "motion": { + "skip_motion_threshold": { + "label": "Ignorer le seuil de détection de mouvement", + "description": "Si une valeur entre 0,0 et 1,0 est définie, et que plus de cette fraction de l'image change en une seule trame, le détecteur ne retournera aucune zone de mouvement et se recalibrera immédiatement. Cela peut économiser du CPU et réduire les faux positifs lors d'éclairs, d'orages, etc., mais peut manquer des événements réels comme une caméra PTZ suivant automatiquement un objet. Le compromis est entre perdre quelques mégaoctets d'enregistrements ou visionner quelques courts clips. Laisser vide (None) pour désactiver cette fonctionnalité." + } + }, + "objects": { + "filters": { + "min_area": { + "description": "Surface minimale de la boîte englobante (en pixels ou pourcentage) requise pour ce type d'objet. Peut être exprimée en pixels (entier) ou en pourcentage (flottant entre 0,000001 et 0,99)." + }, + "max_area": { + "label": "Zone d'objet maximum", + "description": "Zone de boite englobante maximum (pixels ou pourcentage) autorisée pour ce type d'objet. Peut être en pixels (entier) ou pourcentage (décimale entre 0,000001 and 0,99)." + }, + "min_ratio": { + "label": "Rapport d'aspect minimal" + } + } } } diff --git a/web/public/locales/fr/objects.json b/web/public/locales/fr/objects.json index 9c9d5a6cf..afc5791ae 100644 --- a/web/public/locales/fr/objects.json +++ b/web/public/locales/fr/objects.json @@ -116,5 +116,10 @@ "dining_table": "Table à manger", "vase": "Vase", "purolator": "Purolator", - "postnord": "PostNord" + "postnord": "PostNord", + "canada_post": "Poste du Canada", + "royal_mail": "Poste du Royaume Uni", + "school_bus": "Bus scolaire", + "skunk": "Mouffette", + "kangaroo": "Kangourou" } diff --git a/web/public/locales/fr/views/chat.json b/web/public/locales/fr/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fr/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/fr/views/explore.json b/web/public/locales/fr/views/explore.json index 637936450..6c116ef9c 100644 --- a/web/public/locales/fr/views/explore.json +++ b/web/public/locales/fr/views/explore.json @@ -113,7 +113,8 @@ "attributes": "Attributs de classification", "title": { "label": "Titre" - } + }, + "scoreInfo": "Information score" }, "type": { "details": "détails", @@ -222,12 +223,22 @@ "downloadCleanSnapshot": { "label": "Télécharger l'instantané vierge", "aria": "Télécharger l'instantané vierge" + }, + "debugReplay": { + "label": "Relecture de débogage", + "aria": "Visualiser cet objet suivi dans la vue de la session de relecture de déboggage" + }, + "more": { + "aria": "Plus" } }, "dialog": { "confirmDelete": { "title": "Confirmer la suppression", "desc": "La suppression de cet objet suivi supprime l'instantané, les embeddings enregistrés et les entrées du cycle de vie de l'objet associé. Les images enregistrées de cet objet suivi dans la vue Chronologie NE seront PAS supprimées.

    Êtes-vous sûr de vouloir continuer ?" + }, + "toast": { + "error": "Une erreur est survenue lors de la suppression de cet objet suivi : {{errorMessage}}" } }, "noTrackedObjects": "Aucun objet suivi trouvé", @@ -278,7 +289,10 @@ "zones": "Zones", "ratio": "Ratio", "area": "Surface", - "score": "Score" + "score": "Score", + "computedScore": "Score calculé", + "topScore": "Meilleur score", + "toggleAdvancedScores": "Afficher/masquer les scores avancés" } }, "annotationSettings": { diff --git a/web/public/locales/fr/views/faceLibrary.json b/web/public/locales/fr/views/faceLibrary.json index 83138d7ec..e61bfe9a2 100644 --- a/web/public/locales/fr/views/faceLibrary.json +++ b/web/public/locales/fr/views/faceLibrary.json @@ -67,7 +67,8 @@ "deletedFace_many": "{{count}} visages supprimés avec succès", "deletedFace_other": "{{count}} visages supprimés avec succès", "trainedFace": "Visage entraîné avec succès", - "renamedFace": "Visage renommé avec succès en {{name}}" + "renamedFace": "Visage renommé avec succès en {{name}}", + "reclassifiedFace": "Visage reclassifié avec succès." }, "error": { "uploadingImageFailed": "Échec du téléversement de l'image : {{errorMessage}}", @@ -76,7 +77,8 @@ "updateFaceScoreFailed": "Échec de la mise à jour du score du visage : {{errorMessage}}", "addFaceLibraryFailed": "Échec de l'attribution du nom au visage : {{errorMessage}}", "deleteNameFailed": "Échec de la suppression du nom : {{errorMessage}}", - "renameFaceFailed": "Échec du changement de nom du visage : {{errorMessage}}" + "renameFaceFailed": "Échec du changement de nom du visage : {{errorMessage}}", + "reclassifyFailed": "Échec de la reclassification du visage : {{errorMessage}}" } }, "trainFaceAs": "Entraîner le visage comme :", @@ -101,5 +103,7 @@ "desc_other": "Êtes-vous sûr de vouloir supprimer {{count}} visages ? Cette action est irréversible." }, "nofaces": "Aucun visage disponible", - "pixels": "{{area}} pixels" + "pixels": "{{area}} pixels", + "reclassifyFaceAs": "Reclassifier le visage en :", + "reclassifyFace": "Reclassifier le visage" } diff --git a/web/public/locales/fr/views/motionSearch.json b/web/public/locales/fr/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fr/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/fr/views/replay.json b/web/public/locales/fr/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fr/views/replay.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/fr/views/settings.json b/web/public/locales/fr/views/settings.json index a6b7a4456..3a45a6ef9 100644 --- a/web/public/locales/fr/views/settings.json +++ b/web/public/locales/fr/views/settings.json @@ -1447,5 +1447,115 @@ "sync": { "title": "Synchronisation du Média" } - } + }, + "configMessages": { + "lpr": { + "vehicleNotTracked": "La reconnaissance de plaque d'immatriculation requiert que 'voiture' ou 'moto' soit suivi.", + "globalDisabled": "La reconnaissance de numéro d'immatriculation n'est pas activée au niveau global. Activez-la dans les paramètres globaux pour que la reconnaissance de plaques fonctionne au niveau caméra." + }, + "review": { + "recordDisabled": "L'enregistrement est désactivé, aucune révision ne sera générée.", + "detectDisabled": "La détection d'objet est désactivée. Les révisions requièrent que les objets détectés catégorisent les alertes et les détections.", + "allNonAlertDetections": "Toutes les activités de non alerte seront incluses en tant que détections." + }, + "audio": { + "noAudioRole": "Aucun flux ne possède de rôle audio défini. Vous devez activer le rôle audio afin de faire fonctionner la détection audio." + }, + "audioTranscription": { + "audioDetectionDisabled": "La détection audio n'est pas active pour cette caméra. La transcription audio nécessite que la détection audio soit active." + }, + "detect": { + "fpsGreaterThanFive": "Il n'est pas recommandé de régler la détection au-delà de 5 FPS." + }, + "faceRecognition": { + "globalDisabled": "La reconnaissance faciale n'est pas activée au niveau global. Activez-la dans les paramètres globaux pour que la reconnaissance faciale fonctionne au niveau caméra.", + "personNotTracked": "La reconnaissance faciale requiert que l'objet 'person' soit suivie. Assurez-vous que 'person' soit dans la liste d'objets suivis." + } + }, + "go2rtcStreams": { + "ffmpeg": { + "audioMp3": "Transcoder en PM3", + "audioExclude": "Exclure", + "hardwareNone": "Pas d'accélération matérielle", + "hardwareAuto": "Accélération matérielle automatique", + "audioCopy": "Copier", + "audioAac": "Transcoder en AAC", + "audioOpus": "Transcoder vers Opus", + "audioPcmu": "Transcoder vers PCM μ-law", + "video": "Vidéo", + "audio": "Audio", + "hardware": "Accélération matérielle", + "videoCopy": "Copier", + "videoH264": "Transcoder vers H.264", + "videoH265": "Transcoder vers H.265", + "videoExclude": "Exclure", + "useFfmpegModule": "Utiliser le mode de compatibilité (ffmpeg)", + "audioPcma": "Transcoder vers PCM A-law", + "audioPcm": "Transcoder vers PCM" + }, + "renameStream": "Renommer le flux", + "renameStreamDesc": "Saisir un nouveau nom pour ce flux. Le renommage d'un flux peut induire un problème avec les caméras ou les autres flux qui le référence par nom.", + "addStream": "Ajouter un flux", + "title": "Flux go2rtc", + "description": "Gérer les paramètres de flux go2rtc pour la rediffusion de caméra. Chaque flux possède un nom et une ou plusieurs URLs source.", + "deleteStream": "Supprimer flux", + "deleteStreamConfirm": "Êtes-vous sûr de vouloir supprimer le flux \"{{streamName}}\" ? Les caméras qui référencent ce flux pourraient ne plus fonctionner.", + "noStreams": "Aucun flux go2rtc configuré. Ajoutez un flux pour commencer.", + "validation": { + "nameRequired": "Le nom de flux est obligatoire", + "nameDuplicate": "Un flux avec ce nom existe déjà", + "nameInvalid": "Le nom de flux ne peut contenir que des lettres, nombres, underscores et tirets", + "urlRequired": "Au moins une URL est requise" + }, + "newStreamName": "Nouveau nom de flux", + "addUrl": "Ajouter URL", + "streamName": "Nom de flux", + "streamNamePlaceholder": "p. ex., porte_entree", + "streamUrlPlaceholder": "p. ex., rtsp://utilisateur:motpasse@192.168.1.100/flux", + "addStreamDesc": "Saisir un nom pour ce nouveau flux. Ce nom sera utilisé pour référencer le flux dans les paramètres de votre caméra." + }, + "onvif": { + "profileAuto": "Automatique", + "profileLoading": "Chargement des profils..." + }, + "profiles": { + "enableSwitch": "Activer les profils", + "enabledDescription": "Les profils sont actifs. Créer un nouveau profil ci-dessous, naviguer vers la section de configuration de la caméra afin de faire vos changements, et les sauvegarder afin de les prendre en compte.", + "error": { + "mustBeAtLeastTwoCharacters": "Doit comporter au moins 2 caractères", + "mustNotContainPeriod": "Ne doit pas contenir de points", + "alreadyExists": "Un profil avec cet identifiant existe déjà" + }, + "deactivated": "Profil désactivé", + "noProfiles": "Aucun profil défini.", + "noOverrides": "Aucune surcharge", + "cameraCount_one": "{{count}} caméra", + "cameraCount_many": "{{count}} caméras", + "cameraCount_other": "{{count}} caméras", + "columnCamera": "Caméra", + "columnOverrides": "Surcharges de profil", + "baseConfig": "Configuration de base", + "addProfile": "Ajouter un profil", + "newProfile": "Nouveau profil", + "friendlyNameLabel": "Nom profil", + "profileIdLabel": "ID profil", + "profileIdDescription": "Identifiant interne utilisé dans la configuration et automatisations", + "nameInvalid": "Ne sont autorisés que les lettres minuscules, nombres et underscores", + "nameDuplicate": "Un profil avec ce nom existe déjà", + "renameProfile": "Renommer profil", + "renameSuccess": "Profil renommé en '{{profile}}'", + "deleteProfile": "Supprimer Profil", + "deleteProfileConfirm": "Supprimer profil \"{{profile}}\" de toutes les caméras ? Ceci ne peut être annulé.", + "deleteSuccess": "Le profil '{{profile}}' a été supprimé", + "createSuccess": "Le profil '{{profile}}' a été créé", + "removeOverride": "Supprimer le profil surchargé", + "deleteSection": "Supprimer la section de surcharges", + "deleteSectionConfirm": "Supprimer les surcharges de {{section}} pour le profil {{profile}} sur {{camera}} ?", + "deleteSectionSuccess": "Surcharges de {{section}} supprimées pour {{profile}}", + "disabledDescription": "Les profils vous permettent de définir des ensembles nommés de surcharges de configuration de caméra (p. ex. armé, absent, nuit) qui peuvent être activés à la demande." + }, + "unsavedChanges": "Vous avez des changements non sauvegardés", + "confirmReset": "Confirmer réinitialisation", + "resetToDefaultDescription": "Cela va réinitialiser les paramètres dans cette section avec les valeurs d'usine. Cette action ne peut être annulée.", + "resetToGlobalDescription": "Ceci va réinitialiser les paramètres de cette section vers les paramètres globaux. Cette action ne peut être annulée." } diff --git a/web/public/locales/fr/views/system.json b/web/public/locales/fr/views/system.json index f29b87170..74394a324 100644 --- a/web/public/locales/fr/views/system.json +++ b/web/public/locales/fr/views/system.json @@ -111,7 +111,8 @@ "description": "Il s'agit d'un bug connu de l'outil de statistiques GPU d'Intel (intel_gpu_top) : il peut afficher à tort une utilisation de 0 %, même lorsque l'accélération matérielle et la détection d'objets fonctionnent correctement sur l'iGPU. Ce problème ne vient pas de Frigate. Vous pouvez redémarrer l'hôte pour rétablir temporairement l'affichage et confirmer le fonctionnement du GPU. Les performances ne sont pas affectées." }, "gpuTemperature": "Température du GPU", - "npuTemperature": "Température du NPU" + "npuTemperature": "Température du NPU", + "gpuCompute": "Calcul / Encodage GPU" }, "otherProcesses": { "title": "Autres processus", @@ -148,7 +149,11 @@ "overview": "Vue d'ensemble", "shm": { "title": "Allocation de mémoire partagée SHM", - "warning": "La taille actuelle de la SHM de {{total}} Mo est trop petite. Augmentez-la au moins à {{min_shm}} Mo." + "warning": "La taille actuelle de la SHM de {{total}} Mo est trop petite. Augmentez-la au moins à {{min_shm}} Mo.", + "frameLifetime": { + "title": "Durée de vie de la trame", + "description": "Chaque caméra dispose de {{frames}} emplacements de trames en mémoire partagée. À la fréquence d'images de la caméra la plus rapide, chaque trame est disponible pendant environ {{lifetime}}s avant d'être écrasée." + } } }, "cameras": { @@ -185,7 +190,8 @@ "cameraCapture": "{{camName}} capture", "cameraDetect": "{{camName}} détection", "cameraFramesPerSecond": "{{camName}} images par seconde", - "cameraDetectionsPerSecond": "{{camName}} détections par seconde" + "cameraDetectionsPerSecond": "{{camName}} détections par seconde", + "cameraGpu": "GPU {{camName}}" }, "overview": "Vue d'ensemble", "toast": { @@ -217,7 +223,8 @@ "cameraIsOffline": "{{camera}} est hors ligne", "detectIsSlow": "{{detect}} est lent ({{speed}} ms)", "detectIsVerySlow": "{{detect}} est très lent ({{speed}} ms)", - "shmTooLow": "L'allocation /dev/shm ({{total}} Mo) devrait être augmentée à au moins {{min}} Mo." + "shmTooLow": "L'allocation /dev/shm ({{total}} Mo) devrait être augmentée à au moins {{min}} Mo.", + "debugReplayActive": "Session de relecture de débogage active" }, "enrichments": { "title": "Enrichissements", From 1c412cffd8d28b6c64b8fe42c4ccc09793cf4abe Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:46 +0200 Subject: [PATCH 36/50] Added translation using Weblate (Swedish) Added translation using Weblate (Swedish) Added translation using Weblate (Swedish) Translated using Weblate (Swedish) Currently translated at 4.5% (1 of 22 strings) Translated using Weblate (Swedish) Currently translated at 0.4% (2 of 469 strings) Translated using Weblate (Swedish) Currently translated at 4.0% (1 of 25 strings) Translated using Weblate (Swedish) Currently translated at 0.1% (1 of 790 strings) Co-authored-by: Fredrik B Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on 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/config-groups/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/sv/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/Config - Groups Translation: Frigate NVR/Config - Validation --- web/public/locales/sv/config/cameras.json | 7 ++++++- web/public/locales/sv/config/global.json | 6 +++++- web/public/locales/sv/config/groups.json | 8 +++++++- web/public/locales/sv/config/validation.json | 4 +++- web/public/locales/sv/views/chat.json | 1 + web/public/locales/sv/views/motionSearch.json | 1 + web/public/locales/sv/views/replay.json | 1 + 7 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 web/public/locales/sv/views/chat.json create mode 100644 web/public/locales/sv/views/motionSearch.json create mode 100644 web/public/locales/sv/views/replay.json diff --git a/web/public/locales/sv/config/cameras.json b/web/public/locales/sv/config/cameras.json index 0967ef424..bfa6612cd 100644 --- a/web/public/locales/sv/config/cameras.json +++ b/web/public/locales/sv/config/cameras.json @@ -1 +1,6 @@ -{} +{ + "label": "Kamera konfiguration", + "name": { + "label": "Kameranamn" + } +} diff --git a/web/public/locales/sv/config/global.json b/web/public/locales/sv/config/global.json index 0967ef424..f123fa26c 100644 --- a/web/public/locales/sv/config/global.json +++ b/web/public/locales/sv/config/global.json @@ -1 +1,5 @@ -{} +{ + "version": { + "label": "Nuvarande konfigurationsversion" + } +} diff --git a/web/public/locales/sv/config/groups.json b/web/public/locales/sv/config/groups.json index 0967ef424..4a81abf8e 100644 --- a/web/public/locales/sv/config/groups.json +++ b/web/public/locales/sv/config/groups.json @@ -1 +1,7 @@ -{} +{ + "audio": { + "global": { + "sensitivity": "Global känslighet" + } + } +} diff --git a/web/public/locales/sv/config/validation.json b/web/public/locales/sv/config/validation.json index 0967ef424..23e4d2748 100644 --- a/web/public/locales/sv/config/validation.json +++ b/web/public/locales/sv/config/validation.json @@ -1 +1,3 @@ -{} +{ + "minimum": "Måste minst vara {{limit}}" +} diff --git a/web/public/locales/sv/views/chat.json b/web/public/locales/sv/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sv/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sv/views/motionSearch.json b/web/public/locales/sv/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sv/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sv/views/replay.json b/web/public/locales/sv/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sv/views/replay.json @@ -0,0 +1 @@ +{} From c67bb3b9eca7be84e298bed048ebb862a05dab4d Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:47 +0200 Subject: [PATCH 37/50] Added translation using Weblate (Persian) Added translation using Weblate (Persian) Added translation using Weblate (Persian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/fa/views/chat.json | 1 + web/public/locales/fa/views/motionSearch.json | 1 + web/public/locales/fa/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/fa/views/chat.json create mode 100644 web/public/locales/fa/views/motionSearch.json create mode 100644 web/public/locales/fa/views/replay.json diff --git a/web/public/locales/fa/views/chat.json b/web/public/locales/fa/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fa/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/fa/views/motionSearch.json b/web/public/locales/fa/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fa/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/fa/views/replay.json b/web/public/locales/fa/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fa/views/replay.json @@ -0,0 +1 @@ +{} From 7c1a99a7d856e5311abaae18d2d2f8d662435d2e Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:47 +0200 Subject: [PATCH 38/50] Added translation using Weblate (Finnish) Added translation using Weblate (Finnish) Added translation using Weblate (Finnish) Translated using Weblate (Finnish) Currently translated at 50.8% (120 of 236 strings) Translated using Weblate (Finnish) Currently translated at 39.0% (25 of 64 strings) Translated using Weblate (Finnish) Currently translated at 19.9% (216 of 1081 strings) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: MarkA Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/fi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fi/ Translation: Frigate NVR/common Translation: Frigate NVR/views-events Translation: Frigate NVR/views-settings --- web/public/locales/fi/common.json | 4 ++-- web/public/locales/fi/views/chat.json | 1 + web/public/locales/fi/views/events.json | 2 +- web/public/locales/fi/views/motionSearch.json | 1 + web/public/locales/fi/views/replay.json | 1 + web/public/locales/fi/views/settings.json | 2 +- 6 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 web/public/locales/fi/views/chat.json create mode 100644 web/public/locales/fi/views/motionSearch.json create mode 100644 web/public/locales/fi/views/replay.json diff --git a/web/public/locales/fi/common.json b/web/public/locales/fi/common.json index 3b4f1cc54..ea16d95d8 100644 --- a/web/public/locales/fi/common.json +++ b/web/public/locales/fi/common.json @@ -38,8 +38,8 @@ "s": "{{time}}s", "minute_one": "{{time}}minuutti", "minute_other": "{{time}}minuuttia", - "second_one": "{{time}}sekuntti", - "second_other": "{{time}}sekunttia", + "second_one": "{{time}} sekunti", + "second_other": "{{time}} sekuntia", "formattedTimestampHourMinute": { "24hour": "HH:mm" }, diff --git a/web/public/locales/fi/views/chat.json b/web/public/locales/fi/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fi/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/fi/views/events.json b/web/public/locales/fi/views/events.json index 09d878489..4be6cc1da 100644 --- a/web/public/locales/fi/views/events.json +++ b/web/public/locales/fi/views/events.json @@ -1,5 +1,5 @@ { - "alerts": "Hälytyset", + "alerts": "Hälytykset", "empty": { "detection": "Ei havaintoja tarkastettavaksi", "motion": "Ei liiketietoja", diff --git a/web/public/locales/fi/views/motionSearch.json b/web/public/locales/fi/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fi/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/fi/views/replay.json b/web/public/locales/fi/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fi/views/replay.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/fi/views/settings.json b/web/public/locales/fi/views/settings.json index f444dd4a3..c988472ab 100644 --- a/web/public/locales/fi/views/settings.json +++ b/web/public/locales/fi/views/settings.json @@ -8,7 +8,7 @@ "general": "Yleiset asetukset - Frigate", "frigatePlus": "Frigate+ asetukset - Frigate", "object": "Virheenjäljitys - Frigate", - "authentication": "Autentikointiuasetukset - Frigate", + "authentication": "Autentikointiasetukset - Frigate", "notifications": "Ilmoitusasetukset - Frigate", "enrichments": "Laajennusasetukset – Frigate", "cameraManagement": "Hallitse Kameroita - Frigate", From e2597f1d0abea6ba5b13e0b37f24c2adb84d41ad Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:48 +0200 Subject: [PATCH 39/50] Added translation using Weblate (Serbian) Added translation using Weblate (Serbian) Added translation using Weblate (Serbian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/sr/views/chat.json | 1 + web/public/locales/sr/views/motionSearch.json | 1 + web/public/locales/sr/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/sr/views/chat.json create mode 100644 web/public/locales/sr/views/motionSearch.json create mode 100644 web/public/locales/sr/views/replay.json diff --git a/web/public/locales/sr/views/chat.json b/web/public/locales/sr/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sr/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sr/views/motionSearch.json b/web/public/locales/sr/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sr/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sr/views/replay.json b/web/public/locales/sr/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sr/views/replay.json @@ -0,0 +1 @@ +{} From e298f7d4ebd678552423b42574ebd96c42b6d580 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:48 +0200 Subject: [PATCH 40/50] Added translation using Weblate (Albanian) Added translation using Weblate (Albanian) Added translation using Weblate (Albanian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/sq/views/chat.json | 1 + web/public/locales/sq/views/motionSearch.json | 1 + web/public/locales/sq/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/sq/views/chat.json create mode 100644 web/public/locales/sq/views/motionSearch.json create mode 100644 web/public/locales/sq/views/replay.json diff --git a/web/public/locales/sq/views/chat.json b/web/public/locales/sq/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/motionSearch.json b/web/public/locales/sq/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/replay.json b/web/public/locales/sq/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/replay.json @@ -0,0 +1 @@ +{} From b765263531ff52642b573603f10a21ba92170665 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:48 +0200 Subject: [PATCH 41/50] Added translation using Weblate (Korean) Added translation using Weblate (Korean) Added translation using Weblate (Korean) Translated using Weblate (Korean) Currently translated at 100.0% (47 of 47 strings) Translated using Weblate (Korean) Currently translated at 6.1% (29 of 469 strings) Translated using Weblate (Korean) Currently translated at 100.0% (26 of 26 strings) Translated using Weblate (Korean) Currently translated at 12.2% (97 of 790 strings) Translated using Weblate (Korean) Currently translated at 100.0% (236 of 236 strings) Co-authored-by: Hosted Weblate Co-authored-by: John Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/ko/ 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/ko/common.json | 3 +- web/public/locales/ko/components/camera.json | 3 +- web/public/locales/ko/components/player.json | 3 +- web/public/locales/ko/config/cameras.json | 21 +++ web/public/locales/ko/config/global.json | 135 +++++++++++++++++- web/public/locales/ko/views/chat.json | 1 + web/public/locales/ko/views/motionSearch.json | 1 + web/public/locales/ko/views/replay.json | 1 + 8 files changed, 164 insertions(+), 4 deletions(-) create mode 100644 web/public/locales/ko/views/chat.json create mode 100644 web/public/locales/ko/views/motionSearch.json create mode 100644 web/public/locales/ko/views/replay.json diff --git a/web/public/locales/ko/common.json b/web/public/locales/ko/common.json index 80293f4f0..94f0b194e 100644 --- a/web/public/locales/ko/common.json +++ b/web/public/locales/ko/common.json @@ -185,7 +185,8 @@ "classification": "분류", "chat": "채팅", "actions": "작업", - "profiles": "프로필" + "profiles": "프로필", + "features": "기능" }, "unit": { "speed": { diff --git a/web/public/locales/ko/components/camera.json b/web/public/locales/ko/components/camera.json index 67b1a2ee6..610fae4c8 100644 --- a/web/public/locales/ko/components/camera.json +++ b/web/public/locales/ko/components/camera.json @@ -81,6 +81,7 @@ "zones": "구역 (Zones)", "mask": "마스크", "motion": "움직임", - "regions": "영역 (Regions)" + "regions": "영역 (Regions)", + "paths": "경로" } } diff --git a/web/public/locales/ko/components/player.json b/web/public/locales/ko/components/player.json index 38ef7daac..e6b1f0df0 100644 --- a/web/public/locales/ko/components/player.json +++ b/web/public/locales/ko/components/player.json @@ -1,7 +1,8 @@ { "submitFrigatePlus": { "submit": "제출", - "title": "이 프레임을 Frigate+에 제출하시겠습니까?" + "title": "이 프레임을 Frigate+에 제출하시겠습니까?", + "previewError": "스냅샷 미리보기를 불러올 수 없습니다. 현재 녹화된 영상을 사용할 수 없을 수 있습니다." }, "stats": { "bandwidth": { diff --git a/web/public/locales/ko/config/cameras.json b/web/public/locales/ko/config/cameras.json index 49822619c..2e5d53370 100644 --- a/web/public/locales/ko/config/cameras.json +++ b/web/public/locales/ko/config/cameras.json @@ -38,5 +38,26 @@ "enabled_in_config": { "label": "원래 오디오 상태" } + }, + "mqtt": { + "label": "MQTT" + }, + "notifications": { + "label": "알림", + "enabled": { + "label": "알림 활성화" + }, + "email": { + "label": "알림 이메일", + "description": "푸시 알림에 사용되거나 특정 알림 제공업체에서 요구하는 이메일 주소입니다." + }, + "cooldown": { + "label": "알림 재발송 대기 시간", + "description": "수신자에게 스팸 메일을 보내는 것을 방지하기 위해 알림 재발송 대기시간(초)을 설정합니다." + }, + "enabled_in_config": { + "label": "초기 알림 활성 상태", + "description": "초기 구성에서 알림이 활성화되었는지 여부를 나타냅니다." + } } } diff --git a/web/public/locales/ko/config/global.json b/web/public/locales/ko/config/global.json index bfc6d13e2..95fa0b1a6 100644 --- a/web/public/locales/ko/config/global.json +++ b/web/public/locales/ko/config/global.json @@ -60,7 +60,140 @@ "description": "true로 설정하면 시작 시 관리자 비밀번호를 재설정하고 새 비밀번호를 로그에 출력합니다." }, "cookie_name": { - "label": "JWT 쿠키 이름" + "label": "JWT 쿠키 이름", + "description": "자체 인증용 JWT 토큰을 저장할 쿠키 이름입니다." + }, + "cookie_secure": { + "label": "보안 쿠키 설정", + "description": "인증 쿠키에 보안 플래그를 설정합니다. TLS를 사용하는 경우 'True'로 설정해야 합니다." + }, + "session_length": { + "label": "세션 길이", + "description": "JWT 기반 세션의 유지 시간(초)입니다." + }, + "refresh_time": { + "label": "세션 갱신 주기", + "description": "세션 만료까지 남은 시간이 몇 초 남지 않을 경우, 세션 시간을 다시 최대로 연장합니다." + }, + "failed_login_rate_limit": { + "label": "로그인 실패 제한", + "description": "무차별 대입 공격을 줄이기 위해 로그인 시도 실패 횟수를 제한하는 규칙을 적용합니다." + }, + "trusted_proxies": { + "label": "신뢰할 수 있는 프록시", + "description": "속도 제한을 위해 클라이언트 IP를 결정할 때 사용되는 신뢰할 수 있는 프록시 IP 목록입니다." + }, + "hash_iterations": { + "label": "해시 반복 횟수", + "description": "사용자 암호를 해싱할 때 사용할 PBKDF2-SHA256 반복 횟수입니다." + }, + "roles": { + "label": "역할 할당", + "description": "역할별로 접근 가능한 카메라 목록을 매핑합니다. 목록이 비어 있으면 해당 역할에 모든 카메라 접근 권한을 부여합니다." + }, + "admin_first_time_login": { + "label": "관리자 초기 로그인 설정", + "description": "활성화 시, 관리자 비밀번호 초기화 후 로그인 방법 안내 링크가 로그인 페이지에 표시됩니다. " + } + }, + "database": { + "label": "데이터베이스", + "description": "추적된 객체 및 녹화 메타데이터를 저장하는 SQLite 데이터베이스 설정입니다.", + "path": { + "label": "데이터베이스 경로", + "description": "Frigate SQLite 데이터베이스 파일이 저장될 파일 시스템 경로입니다." + } + }, + "go2rtc": { + "label": "go2rtc", + "description": "라이브 스트림 중계 및 번역에 사용되는 통합 go2rtc 리스트리밍 서비스 설정입니다." + }, + "mqtt": { + "label": "MQTT", + "description": "MQTT 브로커에 원격 측정 데이터, 스냅샷 및 이벤트 세부 정보를 연결하고 게시하기 위한 설정입니다.", + "enabled": { + "label": "MQTT 활성화", + "description": "상태, 이벤트 및 스냅샷에 대한 MQTT 통합을 활성화 또는 비활성화합니다." + }, + "host": { + "label": "MQTT 호스트", + "description": "MQTT 브로커의 호스트 이름 또는 IP 주소입니다." + }, + "port": { + "label": "MQTT 포트", + "description": "MQTT 브로커의 포트 번호입니다 (일반적인 포트는 1883입니다)." + }, + "topic_prefix": { + "label": "토픽 접두사", + "description": "Frigate의 모든 MQTT 메시지에 사용할 접두사입니다. 여러 대의 Frigate를 실행하는 경우 각각 고유한 이름을 사용해야 합니다." + }, + "client_id": { + "label": "클라이언트 ID", + "description": "MQTT 브로커 연결 시 사용하는 클라이언트 식별자입니다. 인스턴스마다 고유한 이름을 사용해야 합니다." + }, + "stats_interval": { + "label": "통계 간격", + "description": "시스템 및 카메라 통계 정보를 MQTT로 전송하는 간격(초)입니다." + }, + "user": { + "label": "MQTT 사용자 이름", + "description": "MQTT 사용자 이름(선택 사항)입니다. 환경 변수나 비밀 값(Secrets)을 통해 입력할 수 있습니다." + }, + "password": { + "label": "MQTT 비밀번호", + "description": "MQTT 비밀번호(선택 사항)입니다. 환경 변수나 비밀 값(Secrets)을 통해 입력할 수 있습니다." + }, + "tls_ca_certs": { + "label": "TLS CA 인증서", + "description": "브로커와의 TLS 연결에 사용할 CA 인증서 경로(자체 서명 인증서의 경우)." + }, + "tls_client_cert": { + "label": "클라이언트 인증서", + "description": "TLS 상호 인증을 위한 클라이언트 인증서 경로입니다. 클라이언트 인증서를 사용할 때는 사용자 이름/암호를 설정하지 마십시오." + }, + "tls_client_key": { + "label": "클라이언트 키", + "description": "클라이언트 인증서의 개인 키 경로입니다." + }, + "tls_insecure": { + "label": "TLS 비보안 모드", + "description": "호스트 이름 확인을 건너뛰어 안전하지 않은 TLS 연결을 허용합니다(권장하지 않음)." + }, + "qos": { + "label": "MQTT QoS", + "description": "MQTT 메시지 전송 및 구독에 대한 서비스 품질(QoS) 등급입니다 (0, 1, 2 중 선택)." + } + }, + "notifications": { + "label": "알림", + "description": "모든 카메라에 대한 알림을 활성화하고 제어하는 설정입니다. 카메라별로 설정을 재정의할 수 있습니다.", + "enabled": { + "label": "알림 활성화", + "description": "모든 카메라에 대한 알림을 활성화 또는 비활성화할 수 있으며, 카메라별로 설정을 재정의할 수 있습니다." + }, + "email": { + "label": "알림 이메일", + "description": "푸시 알림에 사용되거나 특정 알림 제공업체에서 요구하는 이메일 주소입니다." + }, + "cooldown": { + "label": "알림 재발송 대기 시간", + "description": "수신자에게 스팸 메일을 보내는 것을 방지하기 위해 알림 재발송 대기시간(초)을 설정합니다." + }, + "enabled_in_config": { + "label": "초기 알림 활성 상태", + "description": "초기 구성에서 알림이 활성화되었는지 여부를 나타냅니다." + } + }, + "networking": { + "label": "네트워킹", + "description": "Frigate 엔드포인트에 대한 IPv6 활성화와 같은 네트워크 관련 설정입니다.", + "ipv6": { + "label": "IPv6 구성", + "description": "Frigate 네트워크 서비스에 대한 IPv6 관련 설정입니다.", + "enabled": { + "label": "IPv6 활성화", + "description": "Frigate 서비스(API 및 UI)에 IPv6 지원이 필요한 경우 활성화하십시오." + } } } } diff --git a/web/public/locales/ko/views/chat.json b/web/public/locales/ko/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ko/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ko/views/motionSearch.json b/web/public/locales/ko/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ko/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ko/views/replay.json b/web/public/locales/ko/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ko/views/replay.json @@ -0,0 +1 @@ +{} From 3e585f78422c99d0e52f4f4695719b633f1f3376 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:49 +0200 Subject: [PATCH 42/50] Added translation using Weblate (Kannada) Added translation using Weblate (Kannada) Added translation using Weblate (Kannada) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/kn/views/chat.json | 1 + web/public/locales/kn/views/motionSearch.json | 1 + web/public/locales/kn/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/kn/views/chat.json create mode 100644 web/public/locales/kn/views/motionSearch.json create mode 100644 web/public/locales/kn/views/replay.json diff --git a/web/public/locales/kn/views/chat.json b/web/public/locales/kn/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/kn/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/kn/views/motionSearch.json b/web/public/locales/kn/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/kn/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/kn/views/replay.json b/web/public/locales/kn/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/kn/views/replay.json @@ -0,0 +1 @@ +{} From 7b92b527b2b77e567d5fabc724936891eeef3a79 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:49 +0200 Subject: [PATCH 43/50] Added translation using Weblate (Slovak) Added translation using Weblate (Slovak) Added translation using Weblate (Slovak) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/sk/views/chat.json | 1 + web/public/locales/sk/views/motionSearch.json | 1 + web/public/locales/sk/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/sk/views/chat.json create mode 100644 web/public/locales/sk/views/motionSearch.json create mode 100644 web/public/locales/sk/views/replay.json diff --git a/web/public/locales/sk/views/chat.json b/web/public/locales/sk/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sk/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sk/views/motionSearch.json b/web/public/locales/sk/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sk/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sk/views/replay.json b/web/public/locales/sk/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sk/views/replay.json @@ -0,0 +1 @@ +{} From c3e91198bb4a82d4aa078c5b25956d83ccf5b9b0 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:49 +0200 Subject: [PATCH 44/50] Added translation using Weblate (Slovenian) Added translation using Weblate (Slovenian) Added translation using Weblate (Slovenian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/sl/views/chat.json | 1 + web/public/locales/sl/views/motionSearch.json | 1 + web/public/locales/sl/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/sl/views/chat.json create mode 100644 web/public/locales/sl/views/motionSearch.json create mode 100644 web/public/locales/sl/views/replay.json diff --git a/web/public/locales/sl/views/chat.json b/web/public/locales/sl/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sl/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sl/views/motionSearch.json b/web/public/locales/sl/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sl/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sl/views/replay.json b/web/public/locales/sl/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sl/views/replay.json @@ -0,0 +1 @@ +{} From d4b01bca4b69e32e5bf3bf5e772c00973512b637 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:50 +0200 Subject: [PATCH 45/50] Added translation using Weblate (Urdu) Added translation using Weblate (Urdu) Added translation using Weblate (Urdu) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/ur/views/chat.json | 1 + web/public/locales/ur/views/motionSearch.json | 1 + web/public/locales/ur/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/ur/views/chat.json create mode 100644 web/public/locales/ur/views/motionSearch.json create mode 100644 web/public/locales/ur/views/replay.json diff --git a/web/public/locales/ur/views/chat.json b/web/public/locales/ur/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ur/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ur/views/motionSearch.json b/web/public/locales/ur/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ur/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ur/views/replay.json b/web/public/locales/ur/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ur/views/replay.json @@ -0,0 +1 @@ +{} From 0203ca263d57df685e5abd738bde91521910660f Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:50 +0200 Subject: [PATCH 46/50] Added translation using Weblate (Uzbek) Added translation using Weblate (Uzbek) Added translation using Weblate (Uzbek) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/uz/views/chat.json | 1 + web/public/locales/uz/views/motionSearch.json | 1 + web/public/locales/uz/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/uz/views/chat.json create mode 100644 web/public/locales/uz/views/motionSearch.json create mode 100644 web/public/locales/uz/views/replay.json diff --git a/web/public/locales/uz/views/chat.json b/web/public/locales/uz/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uz/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uz/views/motionSearch.json b/web/public/locales/uz/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uz/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uz/views/replay.json b/web/public/locales/uz/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uz/views/replay.json @@ -0,0 +1 @@ +{} From 2c351c640fabaa42c6ada625ab8bfdcb01859d8b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:51 +0200 Subject: [PATCH 47/50] Added translation using Weblate (Chinese (Traditional Han script)) Added translation using Weblate (Chinese (Traditional Han script)) Added translation using Weblate (Chinese (Traditional Han script)) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/zh_Hant/views/chat.json | 1 + web/public/locales/zh_Hant/views/motionSearch.json | 1 + web/public/locales/zh_Hant/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/zh_Hant/views/chat.json create mode 100644 web/public/locales/zh_Hant/views/motionSearch.json create mode 100644 web/public/locales/zh_Hant/views/replay.json diff --git a/web/public/locales/zh_Hant/views/chat.json b/web/public/locales/zh_Hant/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hant/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/zh_Hant/views/motionSearch.json b/web/public/locales/zh_Hant/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hant/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/zh_Hant/views/replay.json b/web/public/locales/zh_Hant/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hant/views/replay.json @@ -0,0 +1 @@ +{} From e4109665745894b1d31ea77f867de24d3100f772 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:51 +0200 Subject: [PATCH 48/50] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 42.2% (19 of 45 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 50.0% (20 of 40 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 33.8% (20 of 59 strings) Added translation using Weblate (Chinese (Simplified Han script)) Added translation using Weblate (Chinese (Simplified Han script)) Added translation using Weblate (Chinese (Simplified Han script)) Co-authored-by: GuoQing Liu <842607283@qq.com> Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-chat/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/zh_Hans/ Translation: Frigate NVR/views-chat Translation: Frigate NVR/views-motionSearch Translation: Frigate NVR/views-replay --- .../locales/zh-Hans/views/motionSearch.json | 22 +++++++++++++++ web/public/locales/zh-Hans/views/replay.json | 27 +++++++++++++++++++ web/public/locales/zh_Hans/views/chat.json | 22 +++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 web/public/locales/zh-Hans/views/motionSearch.json create mode 100644 web/public/locales/zh-Hans/views/replay.json create mode 100644 web/public/locales/zh_Hans/views/chat.json diff --git a/web/public/locales/zh-Hans/views/motionSearch.json b/web/public/locales/zh-Hans/views/motionSearch.json new file mode 100644 index 000000000..a668b8780 --- /dev/null +++ b/web/public/locales/zh-Hans/views/motionSearch.json @@ -0,0 +1,22 @@ +{ + "documentTitle": "变动搜索 - Frigate", + "title": "画面变动搜索", + "description": "绘制一个多边形以划定感兴趣区域,并指定时间范围,检索该区域内的异动变化。", + "selectCamera": "画面变动搜索正在加载中", + "startSearch": "开始搜索", + "searchStarted": "搜索已开始", + "searchCancelled": "搜索已取消", + "cancelSearch": "取消", + "searching": "搜索进行中。", + "searchComplete": "搜索完成", + "noResultsYet": "在所选区域内执行搜索,查找异常变化", + "noChangesFound": "所选区域未检测到像素变化", + "changesFound_other": "检测到 {{count}} 处画面变化", + "framesProcessed": "已处理 {{count}} 帧画面", + "jumpToTime": "跳转到该时间", + "results": "结果", + "showSegmentHeatmap": "热力图", + "newSearch": "新的搜索", + "clearResults": "清除结果", + "clearROI": "清除多边形选区" +} diff --git a/web/public/locales/zh-Hans/views/replay.json b/web/public/locales/zh-Hans/views/replay.json new file mode 100644 index 000000000..ad5d06191 --- /dev/null +++ b/web/public/locales/zh-Hans/views/replay.json @@ -0,0 +1,27 @@ +{ + "title": "调试回放", + "description": "回放摄像头录像以供调试。目标列表会延时展示已检测目标的汇总信息,消息标签页则实时展示回放录像对应的 Frigate 内部日志信息流。", + "websocket_messages": "消息", + "dialog": { + "title": "开始调试回放", + "description": "创建临时回放摄像头,循环播放历史录制视频,用于调试目标检测与追踪相关问题。临时回放的摄像头将沿用原摄像头的检测配置。请选择一个时间范围开始。", + "camera": "原摄像头", + "timeRange": "时间范围", + "preset": { + "1m": "最后 1 分钟", + "5m": "最后 5 分钟", + "timeline": "从时间线", + "custom": "自定义" + }, + "startButton": "开始回放", + "selectFromTimeline": "选择", + "starting": "开始回放…", + "startLabel": "开始", + "endLabel": "结束", + "toast": { + "error": "调试回放启动失败:{{error}}", + "alreadyActive": "已有回放会话正在运行", + "stopError": "调试回放停止失败:{{error}}" + } + } +} diff --git a/web/public/locales/zh_Hans/views/chat.json b/web/public/locales/zh_Hans/views/chat.json new file mode 100644 index 000000000..6e83ca1d0 --- /dev/null +++ b/web/public/locales/zh_Hans/views/chat.json @@ -0,0 +1,22 @@ +{ + "documentTitle": "聊天 - Frigate", + "title": "Frigate 聊天", + "subtitle": "你的摄像头管理与智能分析 AI 助手", + "placeholder": "尝试问我任何事儿…", + "error": "出现错误,请稍后重试。", + "processing": "进行中…", + "toolsUsed": "使用:{{tools}}", + "showTools": "显示工具({{count}})", + "hideTools": "隐藏工具", + "call": "调用", + "result": "结果", + "arguments": "参数:", + "response": "响应:", + "attachment_chip_label": "在 {{camera}} 的 {{label}}", + "attachment_chip_remove": "移除附件", + "open_in_explore": "从浏览中打开", + "attach_event_aria": "关联事件 {{eventId}}", + "attachment_picker_paste_label": "或粘贴事件 ID", + "attachment_picker_attach": "关联", + "attachment_picker_placeholder": "关联一个事件" +} From 17a6099514d7a1544c7d537d9dd62ba4f3664977 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:52 +0200 Subject: [PATCH 49/50] =?UTF-8?q?Added=20translation=20using=20Weblate=20(?= =?UTF-8?q?Norwegian=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added translation using Weblate (Norwegian Bokmål) Added translation using Weblate (Norwegian Bokmål) Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (101 of 101 strings) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: OverTheHillsAndFarAway Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nb_NO/ Translation: Frigate NVR/components-dialog --- web/public/locales/nb-NO/components/dialog.json | 2 +- web/public/locales/nb_NO/views/chat.json | 1 + web/public/locales/nb_NO/views/motionSearch.json | 1 + web/public/locales/nb_NO/views/replay.json | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 web/public/locales/nb_NO/views/chat.json create mode 100644 web/public/locales/nb_NO/views/motionSearch.json create mode 100644 web/public/locales/nb_NO/views/replay.json diff --git a/web/public/locales/nb-NO/components/dialog.json b/web/public/locales/nb-NO/components/dialog.json index 1bb999200..ebe531b4c 100644 --- a/web/public/locales/nb-NO/components/dialog.json +++ b/web/public/locales/nb-NO/components/dialog.json @@ -59,7 +59,7 @@ "toast": { "success": "Eksport startet. Se filen på eksportsiden.", "error": { - "failed": "Kune ikke legge eksport i kø: {{error}}", + "failed": "Kunne ikke legge eksport i kø: {{error}}", "noVaildTimeSelected": "Ingen gyldig tidsperiode valgt", "endTimeMustAfterStartTime": "Sluttid må være etter starttid" }, diff --git a/web/public/locales/nb_NO/views/chat.json b/web/public/locales/nb_NO/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nb_NO/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/nb_NO/views/motionSearch.json b/web/public/locales/nb_NO/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nb_NO/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/nb_NO/views/replay.json b/web/public/locales/nb_NO/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nb_NO/views/replay.json @@ -0,0 +1 @@ +{} From b6a96320df53db9630751552fafabb33aeef6431 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 5 May 2026 12:49:52 +0200 Subject: [PATCH 50/50] Added translation using Weblate (Cantonese (Traditional Han script)) Added translation using Weblate (Cantonese (Traditional Han script)) Added translation using Weblate (Cantonese (Traditional Han script)) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/yue_Hant/views/chat.json | 1 + web/public/locales/yue_Hant/views/motionSearch.json | 1 + web/public/locales/yue_Hant/views/replay.json | 1 + 3 files changed, 3 insertions(+) create mode 100644 web/public/locales/yue_Hant/views/chat.json create mode 100644 web/public/locales/yue_Hant/views/motionSearch.json create mode 100644 web/public/locales/yue_Hant/views/replay.json diff --git a/web/public/locales/yue_Hant/views/chat.json b/web/public/locales/yue_Hant/views/chat.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/yue_Hant/views/chat.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/yue_Hant/views/motionSearch.json b/web/public/locales/yue_Hant/views/motionSearch.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/yue_Hant/views/motionSearch.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/yue_Hant/views/replay.json b/web/public/locales/yue_Hant/views/replay.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/yue_Hant/views/replay.json @@ -0,0 +1 @@ +{}