From 6cec3e3f423a1d8e3b46ae583d1fc8236461f08f Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:15 +0100 Subject: [PATCH 01/13] Translated using Weblate (Portuguese (Brazil)) Currently translated at 71.9% (123 of 171 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 56.0% (14 of 25 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 63.6% (14 of 22 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 49.7% (455 of 915 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 2.7% (13 of 467 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 1.2% (14 of 1084 strings) Co-authored-by: Hosted Weblate Co-authored-by: Nitokui Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/pt_BR/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/Config - Groups Translation: Frigate NVR/Config - Validation Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/pt-BR/views/settings.json | 8 ++-- web/public/locales/pt-BR/views/system.json | 9 +++- web/public/locales/pt_BR/config/cameras.json | 6 +++ web/public/locales/pt_BR/config/global.json | 37 ++++++++++++++- web/public/locales/pt_BR/config/groups.json | 45 ++++++++++++++++++- .../locales/pt_BR/config/validation.json | 17 ++++++- 6 files changed, 115 insertions(+), 7 deletions(-) diff --git a/web/public/locales/pt-BR/views/settings.json b/web/public/locales/pt-BR/views/settings.json index d3443e3e4..e4f8c4c1a 100644 --- a/web/public/locales/pt-BR/views/settings.json +++ b/web/public/locales/pt-BR/views/settings.json @@ -7,13 +7,14 @@ "masksAndZones": "Editor de Máscara e Zona - Frigate", "motionTuner": "Ajuste de Movimento - Frigate", "object": "Debug - Frigate", - "general": "Configurações de Interface de Usuário - Frigate", + "general": "Configurações de perfil - Frigate", "frigatePlus": "Frigate+ Configurações- Frigate", "notifications": "Configurações de notificação - Frigate", "cameraManagement": "Gerenciar Câmeras - Frigate", "cameraReview": "Configurações de Revisão de Câmera - Frigate", "globalConfig": "Configuração Global - Frigate", - "cameraConfig": "Configuração da Câmera - Frigate" + "cameraConfig": "Configuração da Câmera - Frigate", + "maintenance": "Manutenção - Frigate" }, "menu": { "ui": "UI", @@ -28,7 +29,8 @@ "triggers": "Gatilhos", "roles": "Papéis", "cameraManagement": "Gerenciamento", - "cameraReview": "Revisar" + "cameraReview": "Revisar", + "general": "Geral" }, "dialog": { "unsavedChanges": { diff --git a/web/public/locales/pt-BR/views/system.json b/web/public/locales/pt-BR/views/system.json index 4875d8015..7f73b3c46 100644 --- a/web/public/locales/pt-BR/views/system.json +++ b/web/public/locales/pt-BR/views/system.json @@ -7,7 +7,8 @@ "logs": { "frigate": "Registros Frigate - Frigate", "go2rtc": "Registros GoRTC - Frigate", - "nginx": "Registros Nginx - Frigate" + "nginx": "Registros Nginx - Frigate", + "websocket": "Registros de Mensagem - Frigate" } }, "title": "Sistema", @@ -33,6 +34,12 @@ "fetchingLogsFailed": "Erro ao buscar registros: {{errorMessage}}", "whileStreamingLogs": "Erro ao transmitir registros: {{errorMessage}}" } + }, + "websocket": { + "label": "Mensagens", + "pause": "Pausar", + "resume": "Resumir", + "clear": "Limpar" } }, "general": { diff --git a/web/public/locales/pt_BR/config/cameras.json b/web/public/locales/pt_BR/config/cameras.json index 09dbea3ac..cb9f2b5e0 100644 --- a/web/public/locales/pt_BR/config/cameras.json +++ b/web/public/locales/pt_BR/config/cameras.json @@ -17,6 +17,12 @@ "enabled": { "label": "Habilitar detecção de áudio", "description": "Habilitar ou desabilitar o evento de detecção de áudio para esta câmera." + }, + "max_not_heard": { + "label": "Tempo limite final" + }, + "min_volume": { + "label": "Volume mínimo" } }, "label": "Configuração da Câmera" diff --git a/web/public/locales/pt_BR/config/global.json b/web/public/locales/pt_BR/config/global.json index 0967ef424..9c9266cb1 100644 --- a/web/public/locales/pt_BR/config/global.json +++ b/web/public/locales/pt_BR/config/global.json @@ -1 +1,36 @@ -{} +{ + "version": { + "label": "Versão atual da configuração", + "description": "Versão numérica ou em caracteres da configuração ativa para ajudar detectar migrações ou mudanças de formato." + }, + "safe_mode": { + "label": "Modo Seguro", + "description": "Quando habilitado, Frigate inicia em modo seguro com recursos reduzidos para solucionar problemas." + }, + "environment_vars": { + "label": "Variáveis de ambiente", + "description": "Pares de chave/valor de variáveis de ambiente para atribuir ao processo do Frigate no Home Assistant OS. Usuários que não usam HAOS devem usar variáveis de ambiente do Docker." + }, + "logger": { + "label": "Logando", + "description": "Controla o padrão de verbosidade de registro e sobrescrever o nível de registro por componente.", + "default": { + "label": "Nível de registro", + "description": "Padrão global de verbosidade de registro (debug, info, aviso, erro)." + }, + "logs": { + "label": "Nível de registro por processo" + } + }, + "audio": { + "max_not_heard": { + "label": "Tempo limite final" + }, + "min_volume": { + "label": "Volume mínimo" + } + }, + "auth": { + "label": "Autenticação" + } +} diff --git a/web/public/locales/pt_BR/config/groups.json b/web/public/locales/pt_BR/config/groups.json index 0967ef424..fd806e880 100644 --- a/web/public/locales/pt_BR/config/groups.json +++ b/web/public/locales/pt_BR/config/groups.json @@ -1 +1,44 @@ -{} +{ + "audio": { + "global": { + "detection": "Detecção Global", + "sensitivity": "Sensibilidade Global" + }, + "cameras": { + "detection": "Detecção", + "sensitivity": "Sensibilidade" + } + }, + "timestamp_style": { + "global": { + "appearance": "Aparência Global" + }, + "cameras": { + "appearance": "Aparência" + } + }, + "motion": { + "global": { + "sensitivity": "Sensibilidade Global", + "algorithm": "Algoritmo Global" + }, + "cameras": { + "sensitivity": "Sensibilidade", + "algorithm": "Algoritmo" + } + }, + "snapshots": { + "global": { + "display": "Exibição Global" + }, + "cameras": { + "display": "Exibição" + } + }, + "detect": { + "global": { + "resolution": "Resolução Global", + "tracking": "Rastreamento Global" + } + } +} diff --git a/web/public/locales/pt_BR/config/validation.json b/web/public/locales/pt_BR/config/validation.json index 0967ef424..324a358cc 100644 --- a/web/public/locales/pt_BR/config/validation.json +++ b/web/public/locales/pt_BR/config/validation.json @@ -1 +1,16 @@ -{} +{ + "minimum": "Deve ser pelo menos {{limit}}", + "maximum": "Deve ser no máximo {{limit}}", + "exclusiveMinimum": "Deve ser maior do que {{limit}}", + "exclusiveMaximum": "Deve ser menor do que {{limit}}", + "minLength": "Deve ter pelo menos {{limit}} caractere(s)", + "maxLength": "Deve ter no máximo {{limit}} caractere(s)", + "minItems": "Deve ter pelo menos {{limit}} itens", + "maxItems": "Deve ter no máximo {{limit}} itens", + "pattern": "Formato inválido", + "required": "Esse campo é necessário", + "type": "Tipo de valor inválido", + "enum": "Deve ser um dos valores permitidos", + "const": "Valor não condiz com a constante esperada", + "uniqueItems": "Todos os itens devem ser únicos" +} From c924a60feb8a27026a117b9994e255c2858b0199 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:17 +0100 Subject: [PATCH 02/13] Translated using Weblate (German) Currently translated at 31.4% (341 of 1084 strings) Translated using Weblate (German) Currently translated at 99.4% (168 of 169 strings) Translated using Weblate (German) Currently translated at 100.0% (138 of 138 strings) Translated using Weblate (German) Currently translated at 40.4% (189 of 467 strings) Translated using Weblate (German) Currently translated at 18.4% (200 of 1084 strings) Translated using Weblate (German) Currently translated at 100.0% (62 of 62 strings) Translated using Weblate (German) Currently translated at 93.4% (158 of 169 strings) Translated using Weblate (German) Currently translated at 78.9% (722 of 915 strings) Translated using Weblate (German) Currently translated at 24.8% (116 of 467 strings) Co-authored-by: Hosted Weblate Co-authored-by: Sebastian Sie 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-events/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/de/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/de/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/views-events Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/de/config/cameras.json | 306 +++++++++++- web/public/locales/de/config/global.json | 565 +++++++++++++++++++++- web/public/locales/de/views/events.json | 25 +- web/public/locales/de/views/explore.json | 4 + web/public/locales/de/views/settings.json | 51 +- web/public/locales/de/views/system.json | 23 +- 6 files changed, 965 insertions(+), 9 deletions(-) diff --git a/web/public/locales/de/config/cameras.json b/web/public/locales/de/config/cameras.json index 15e3aeb8a..81f7cfceb 100644 --- a/web/public/locales/de/config/cameras.json +++ b/web/public/locales/de/config/cameras.json @@ -76,6 +76,310 @@ } }, "detect": { - "label": "Objekterkennung" + "label": "Objekterkennung", + "description": "Einstellungen für die Erkennungs-/Detektionsrolle, die zum Ausführen der Objekterkennung und zum Initialisieren von Trackern verwendet wird.", + "enabled": { + "label": "Erkennung aktiviert", + "description": "Aktivieren oder deaktivieren Sie die Objekterkennung für diese Kamera. Die Erkennung muss aktiviert sein, damit die Objektverfolgung ausgeführt werden kann." + }, + "height": { + "label": "Höhe erkennen", + "description": "Höhe (Pixel) der für den Erkennungsstrom verwendeten Frames; leer lassen, um die native Stream-Auflösung zu verwenden." + }, + "width": { + "label": "Breite erkennen", + "description": "Breite (Pixel) der für den Erkennungsstrom verwendeten Frames; leer lassen, um die native Stream-Auflösung zu verwenden." + }, + "fps": { + "label": "FPS erkennen", + "description": "Gewünschte Bilder pro Sekunde für die Erkennung; niedrigere Werte reduzieren die CPU-Auslastung (empfohlener Wert ist 5, höhere Werte – maximal 10 – nur bei der Verfolgung extrem schnell bewegter Objekte einstellen)." + }, + "min_initialized": { + "label": "Mindestanzahl an Initialisierungsframes", + "description": "Anzahl der aufeinanderfolgenden Erkennungserfolge, die vor der Erstellung eines verfolgten Objekts erforderlich sind. Erhöhen Sie diesen Wert, um Fehlinitialisierungen zu reduzieren. Der Standardwert ist fps geteilt durch 2." + }, + "max_disappeared": { + "label": "Maximale Anzahl fehlender Frames", + "description": "Anzahl der Frames ohne Erkennung, bevor ein verfolgtes Objekt als verschwunden gilt." + }, + "stationary": { + "label": "Konfiguration stationärer Objekte", + "description": "Einstellungen zum Erkennen und Verwalten von Objekten, die über einen bestimmten Zeitraum hinweg unbeweglich bleiben.", + "interval": { + "label": "Stationäres Intervall", + "description": "Wie oft (in Frames) soll eine Erkennungsprüfung durchgeführt werden, um ein stationäres Objekt zu bestätigen?" + }, + "threshold": { + "label": "Stationäre Schwelle", + "description": "Anzahl der Frames ohne Positionsänderung, die erforderlich sind, um ein Objekt als stationär zu markieren." + }, + "max_frames": { + "label": "Maximale Bildanzahl", + "description": "Begrenzt, wie lange stationäre Objekte verfolgt werden, bevor sie verworfen werden.", + "default": { + "label": "Standardmäßige maximale Frames", + "description": "Standardmäßige maximale Anzahl von Frames, die ein stationäres Objekt verfolgt werden sollen, bevor die Verfolgung beendet wird." + }, + "objects": { + "label": "Objekt max Rahmen", + "description": "Objektbezogene Überschreibungen für maximale Frames zur Verfolgung stationärer Objekte." + } + }, + "classifier": { + "description": "Verwenden Sie einen visuellen Klassifikator, um wirklich stationäre Objekte auch dann zu erkennen, wenn die Begrenzungsrahmen flackern.", + "label": "Visuellen Klassifikator aktivieren" + } + }, + "annotation_offset": { + "label": "Anmerkung Offset", + "description": "Millisekunden zur Verschiebung der Anmerkungen, um die Begrenzungsrahmen der Zeitleiste besser an die Aufnahmen anzupassen; kann positiv oder negativ sein." + } + }, + "mqtt": { + "label": "mqtt" + }, + "face_recognition": { + "label": "Gesichtserkennung", + "description": "Einstellungen für die Gesichtserkennung und -identifizierung dieser Kamera.", + "enabled": { + "label": "Gesichtserkennung aktivieren", + "description": "Gesichtserkennung aktivieren oder deaktivieren." + }, + "min_area": { + "label": "Mindestfläche der Stirnseite", + "description": "Mindestfläche (Pixel) eines erkannten Gesichtsrahmens, die für einen Erkennungsversuch erforderlich ist." + } + }, + "notifications": { + "label": "Benachrichtigung", + "enabled": { + "label": "Benachrichtigungen aktivieren" + }, + "email": { + "label": "Benachrichtigungs-E-Mail", + "description": "E-Mail-Adresse, die für Push-Benachrichtigungen verwendet wird oder von bestimmten Benachrichtigungsanbietern verlangt wird." + }, + "cooldown": { + "label": "Abkühlungsphase", + "description": "Abkühlungszeit (Sekunden) zwischen Benachrichtigungen, um Spam an Empfänger zu vermeiden." + }, + "enabled_in_config": { + "label": "Ursprüngliche Meldungen geben an", + "description": "Gibt an, ob Benachrichtigungen in der ursprünglichen statischen Konfiguration aktiviert waren." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "FFmpeg-Einstellungen, einschließlich Binärpfad, Argumente, hwaccel-Optionen und rollenspezifische Ausgabeargumente.", + "path": { + "label": "FFmpeg-Pfad", + "description": "Pfad zur zu verwendenden FFmpeg-Binärdatei oder ein Versionsalias („5.0” oder „7.0”)." + }, + "global_args": { + "label": "Globale Argumente von FFmpeg", + "description": "An FFmpeg-Prozesse übergebene globale Argumente." + }, + "hwaccel_args": { + "label": "Argumente für Hardwarebeschleunigung", + "description": "Hardwarebeschleunigungsargumente für FFmpeg. Es werden providerspezifische Voreinstellungen empfohlen." + }, + "input_args": { + "label": "Eingabeargumente", + "description": "Eingabeargumente, die auf FFmpeg-Eingabestreams angewendet werden." + }, + "output_args": { + "label": "Ausgabeargumente", + "description": "Standardausgabeargumente, die für verschiedene FFmpeg-Rollen wie „detect“ und „record“ verwendet werden.", + "detect": { + "label": "Ausgabeargumente erkennen", + "description": "Standardausgabeargumente für das Erkennen von Rollenströmen." + }, + "record": { + "label": "Ausgabeargumente aufzeichnen", + "description": "Standardausgabeargumente für Datensatzrollen-Streams." + } + }, + "retry_interval": { + "label": "FFmpeg-Wiederholungszeit", + "description": "Sekunden, die gewartet werden sollen, bevor nach einem Fehler erneut versucht wird, eine Kamera-Übertragung herzustellen. Der Standardwert ist 10." + }, + "apple_compatibility": { + "label": "Apple-Kompatibilität", + "description": "Aktivieren Sie die HEVC-Kennzeichnung für eine bessere Kompatibilität mit Apple-Playern bei der Aufnahme von H.265." + }, + "gpu": { + "label": "GPU-Index", + "description": "Standard-GPU-Index, der für die Hardwarebeschleunigung verwendet wird, sofern verfügbar." + }, + "inputs": { + "label": "Kameraeingänge", + "description": "Liste der Eingangsstromdefinitionen (Pfade und Rollen) für diese Kamera.", + "path": { + "label": "Eingabepfad", + "description": "URL oder Pfad des Kameraeingangsstroms." + }, + "roles": { + "label": "Eingangsrollen", + "description": "Rollen für diesen Eingabestrom." + }, + "global_args": { + "label": "Globale Argumente von FFmpeg", + "description": "Globale Argumente von FFmpeg für diesen Eingabestrom." + }, + "hwaccel_args": { + "label": "Argumente für Hardwarebeschleunigung", + "description": "Hardwarebeschleunigungsargumente für diesen Eingabestrom." + }, + "input_args": { + "label": "Eingabeargumente", + "description": "Für diesen Stream spezifische Eingabeargumente." + } + } + }, + "live": { + "label": "Live Wiedergabe", + "description": "Einstellungen, die von der Web-Benutzeroberfläche zur Steuerung der Auswahl, Auflösung und Qualität von Live-Streams verwendet werden.", + "streams": { + "label": "Live Stream Bezeichnung", + "description": "Zuordnung der konfigurierten Stream-Namen zu den für die Live-Wiedergabe verwendeten Restream-/Go2rtc-Namen." + }, + "height": { + "label": "Live-Höhe", + "description": "Höhe (Pixel) zum Rendern des jsmpeg-Livestreams in der Web-Benutzeroberfläche; muss <= Stream-Höhe sein." + }, + "quality": { + "label": "Live Qualität", + "description": "Kodierungsqualität für den jsmpeg-Stream (1 = höchst, 31 = niedrigst)." + } + }, + "lpr": { + "label": "Kennzeichenerkennung", + "description": "Einstellungen für die Kennzeichenerkennung, einschließlich Erkennungsschwellen, Formatierung und bekannte Kennzeichen.", + "enabled": { + "label": "LPR aktivieren", + "description": "LPR auf dieser Kamera aktivieren oder deaktivieren." + }, + "expire_time": { + "label": "Sekunden bis zum Ablauf", + "description": "Zeit in Sekunden, nach der ein nicht erkanntes Kennzeichen aus dem Tracker gelöscht wird (nur für dedizierte LPR-Kameras)." + }, + "min_area": { + "label": "Mindestplattenfläche", + "description": "Mindestplattenfläche (Pixel), die für einen Erkennungsversuch erforderlich ist." + }, + "enhancement": { + "label": "Verbesserungsgrad", + "description": "Verstärkungsstufe (0-10) zur Anwendung auf Plattenaufnahmen vor der OCR; höhere Werte führen nicht immer zu besseren Ergebnissen, Stufen über 5 funktionieren möglicherweise nur bei Nachtaufnahmen und sollten mit Vorsicht verwendet werden." + } + }, + "motion": { + "label": "Bewegungserkennung", + "description": "Standardmäßige Einstellungen für die Bewegungserkennung dieser Kamera.", + "enabled": { + "label": "Bewegungserkennung aktivieren", + "description": "Aktivieren oder deaktivieren Sie die Bewegungserkennung für diese Kamera." + }, + "threshold": { + "label": "Bewegungsschwelle", + "description": "Vom Bewegungsmelder verwendeter Schwellenwert für Pixelunterschiede; höhere Werte verringern die Empfindlichkeit (Bereich 1–255)." + }, + "lightning_threshold": { + "label": "Blitzschwelle", + "description": "Schwellenwert zum Erkennen und Ignorieren kurzer Beleuchtungsspitzen (niedrigerer Wert bedeutet höhere Empfindlichkeit, Werte zwischen 0,3 und 1,0). Dadurch wird die Bewegungserkennung nicht vollständig verhindert, sondern lediglich die Analyse weiterer Bilder durch den Detektor unterbrochen, sobald der Schwellenwert überschritten wird. Bewegungsbasierte Aufzeichnungen werden während dieser Ereignisse weiterhin erstellt." + }, + "skip_motion_threshold": { + "label": "Schwellenwert für Bewegungsüberspringen", + "description": "Wenn sich mehr als dieser Anteil des Bildes in einem einzelnen Frame ändert, gibt der Detektor keine Bewegungsfelder zurück und kalibriert sich sofort neu. Dies kann CPU-Leistung sparen und Fehlalarme bei Blitzschlag, Gewittern usw. reduzieren, aber auch echte Ereignisse übersehen, wie z. B. eine PTZ-Kamera, die ein Objekt automatisch verfolgt. Der Kompromiss besteht darin, entweder einige Megabyte an Aufzeichnungen zu verlieren oder ein paar kurze Clips zu überprüfen. Bereich 0,0 bis 1,0." + }, + "improve_contrast": { + "label": "Kontrast verbessern", + "description": "Wenden Sie vor der Bewegungsanalyse eine Kontrastverbesserung auf die Bilder an, um die Erkennung zu erleichtern." + }, + "contour_area": { + "label": "Konturbereich", + "description": "Mindestkonturfläche in Pixeln, die erforderlich ist, damit eine Bewegungskontur gezählt wird." + }, + "delta_alpha": { + "label": "Delta alpha", + "description": "Alpha-Blending-Faktor, der bei der Frame-Differenzierung für die Bewegungsberechnung verwendet wird." + }, + "frame_alpha": { + "label": "Rahmen Alpha", + "description": "Alpha-Wert, der beim Mischen von Frames für die Bewegungsvorverarbeitung verwendet wird." + }, + "frame_height": { + "label": "Rahmenhöhe", + "description": "Höhe in Pixeln, auf die Frames bei der Berechnung von Bewegungen skaliert werden sollen." + }, + "mask": { + "label": "Maskenkoordinaten", + "description": "Geordnete x-, y-Koordinaten, die das Bewegungsmaskenpolygon definieren, das zum Einbeziehen/Ausschließen von Bereichen verwendet wird." + }, + "mqtt_off_delay": { + "label": "MQTT-Ausschaltverzögerung", + "description": "Sekunden, die nach der letzten Bewegung gewartet werden müssen, bevor ein MQTT-„Aus”-Status veröffentlicht wird." + }, + "enabled_in_config": { + "label": "Ursprünglicher Bewegungszustand", + "description": "Gibt an, ob die Bewegungserkennung in der ursprünglichen statischen Konfiguration aktiviert war." + }, + "raw_mask": { + "label": "Maskierung" + } + }, + "objects": { + "label": "Objekte", + "description": "Standardeinstellungen für die Objektverfolgung, einschließlich der zu verfolgenden Labels und Filter pro Objekt.", + "track": { + "label": "Zu verfolgende Objekte", + "description": "Liste der Objektbeschriftungen, die für diese Kamera verfolgt werden sollen." + }, + "filters": { + "label": "Objektfilter", + "description": "Filter, die auf erkannte Objekte angewendet werden, um Fehlalarme zu reduzieren (Fläche, Verhältnis, Konfidenz).", + "min_area": { + "label": "Mindestobjektfläche", + "description": "Mindestfläche der Begrenzungsbox (Pixel oder Prozentangabe), die für diesen Objekttyp erforderlich ist. Kann in Pixel (int) oder Prozentangabe (Float zwischen 0,000001 und 0,99) angegeben werden." + }, + "max_area": { + "label": "Maximale Objektfläche", + "description": "Maximal zulässige Begrenzungsrahmenfläche (Pixel oder Prozent) für diesen Objekttyp. Kann in Pixel (int) oder Prozent (Float zwischen 0,000001 und 0,99) angegeben werden." + }, + "min_ratio": { + "label": "Mindestseitenverhältnis", + "description": "Mindestverhältnis von Breite zu Höhe, das für die Begrenzungsbox erforderlich ist, damit diese gültig ist." + }, + "max_ratio": { + "label": "Maximales Seitenverhältnis", + "description": "Maximal zulässiges Verhältnis von Breite zu Höhe für die Begrenzungsbox, damit diese gültig ist." + }, + "threshold": { + "label": "Konfidenzschwelle", + "description": "Durchschnittlicher Schwellenwert für die Erkennungssicherheit, der erforderlich ist, damit das Objekt als echt positiv eingestuft wird." + }, + "min_score": { + "label": "Mindestvertrauen", + "description": "Mindestkonfidenz für die Einzelbilderkennung, die für die Zählung des Objekts erforderlich ist." + }, + "mask": { + "label": "Filter Maske", + "description": "Polygonkoordinaten, die definieren, wo dieser Filter innerhalb des Rahmens angewendet wird." + } + }, + "mask": { + "label": "Objekt Maskierung", + "description": "Maskenpolygon, das verwendet wird, um die Objekterkennung in bestimmten Bereichen zu verhindern." + }, + "genai": { + "label": "GenAI-Objektkonfiguration", + "description": "GenAI-Optionen zum Beschreiben verfolgter Objekte und zum Senden von Frames zur Generierung.", + "enabled": { + "label": "Aktivieren GenAI", + "description": "Enable GenAI generation of descriptions for tracked objects by default." + }, + "use_snapshot": { + "label": "Verwenden Sie Momentaufnahmen" + } + } } } diff --git a/web/public/locales/de/config/global.json b/web/public/locales/de/config/global.json index 9c4d940d8..c887863f8 100644 --- a/web/public/locales/de/config/global.json +++ b/web/public/locales/de/config/global.json @@ -129,10 +129,571 @@ "label": "Datenbank", "description": "Einstellungen für die SQLite-Datenbank, die von Frigate zum Speichern von verfolgten Objekten und Aufzeichnungsmetadaten verwendet wird.", "path": { - "label": "Pfad zur Datenbank" + "label": "Pfad zur Datenbank", + "description": "Dateisystempfad, in dem die Frigate-SQLite-Datenbankdatei gespeichert wird." } }, "detect": { - "label": "Objekterkennung" + "label": "Objekterkennung", + "description": "Einstellungen für die Erkennungs-/Detektionsrolle, die zum Ausführen der Objekterkennung und zum Initialisieren von Trackern verwendet wird.", + "enabled": { + "label": "Erkennung aktiviert" + }, + "height": { + "label": "Höhe erkennen", + "description": "Höhe (Pixel) der für den Erkennungsstrom verwendeten Frames; leer lassen, um die native Stream-Auflösung zu verwenden." + }, + "width": { + "label": "Breite erkennen", + "description": "Breite (Pixel) der für den Erkennungsstrom verwendeten Frames; leer lassen, um die native Stream-Auflösung zu verwenden." + }, + "fps": { + "label": "FPS erkennen", + "description": "Gewünschte Bilder pro Sekunde für die Erkennung; niedrigere Werte reduzieren die CPU-Auslastung (empfohlener Wert ist 5, höhere Werte – maximal 10 – nur bei der Verfolgung extrem schnell bewegter Objekte einstellen)." + }, + "min_initialized": { + "label": "Mindestanzahl an Initialisierungsframes", + "description": "Anzahl der aufeinanderfolgenden Erkennungserfolge, die vor der Erstellung eines verfolgten Objekts erforderlich sind. Erhöhen Sie diesen Wert, um Fehlinitialisierungen zu reduzieren. Der Standardwert ist fps geteilt durch 2." + }, + "max_disappeared": { + "label": "Maximale Anzahl fehlender Frames", + "description": "Anzahl der Frames ohne Erkennung, bevor ein verfolgtes Objekt als verschwunden gilt." + }, + "stationary": { + "label": "Konfiguration stationärer Objekte", + "description": "Einstellungen zum Erkennen und Verwalten von Objekten, die über einen bestimmten Zeitraum hinweg unbeweglich bleiben.", + "interval": { + "label": "Stationäres Intervall", + "description": "Wie oft (in Frames) soll eine Erkennungsprüfung durchgeführt werden, um ein stationäres Objekt zu bestätigen?" + }, + "threshold": { + "label": "Stationäre Schwelle", + "description": "Anzahl der Frames ohne Positionsänderung, die erforderlich sind, um ein Objekt als stationär zu markieren." + }, + "max_frames": { + "label": "Maximale Bildanzahl", + "description": "Begrenzt, wie lange stationäre Objekte verfolgt werden, bevor sie verworfen werden.", + "default": { + "label": "Standardmäßige maximale Frames", + "description": "Standardmäßige maximale Anzahl von Frames, die ein stationäres Objekt verfolgt werden sollen, bevor die Verfolgung beendet wird." + }, + "objects": { + "label": "Objekt max Rahmen", + "description": "Objektbezogene Überschreibungen für maximale Frames zur Verfolgung stationärer Objekte." + } + }, + "classifier": { + "description": "Verwenden Sie einen visuellen Klassifikator, um wirklich stationäre Objekte auch dann zu erkennen, wenn die Begrenzungsrahmen flackern.", + "label": "Visuellen Klassifikator aktivieren" + } + }, + "annotation_offset": { + "label": "Anmerkung Offset", + "description": "Millisekunden zur Verschiebung der Anmerkungen, um die Begrenzungsrahmen der Zeitleiste besser an die Aufnahmen anzupassen; kann positiv oder negativ sein." + } + }, + "go2rtc": { + "label": "go2rtc", + "description": "Einstellungen für den integrierten go2rtc-Restreaming-Dienst, der für die Weiterleitung und Übersetzung von Live-Streams verwendet wird." + }, + "mqtt": { + "label": "mqtt", + "description": "Einstellungen für die Verbindung und Veröffentlichung von Telemetriedaten, Momentaufnahmen und Ereignisdetails an einen MQTT-Broker.", + "enabled": { + "label": "mqtt aktiviert", + "description": "Aktivieren oder deaktivieren Sie die MQTT-Integration für Status, Ereignisse und Momentaufnahmen." + }, + "host": { + "label": "mqtt Host", + "description": "Hostname oder IP-Adresse des MQTT-Brokers." + }, + "port": { + "label": "mqtt Port", + "description": "Port des MQTT-Brokers (normalerweise 1883 für einfaches MQTT)." + }, + "topic_prefix": { + "label": "Themenpräfix", + "description": "MQTT-Themenpräfix für alle Frigate-Themen; muss bei Ausführung mehrerer Instanzen eindeutig sein." + }, + "client_id": { + "label": "Klient ID", + "description": "Klient-Kennung, die bei der Verbindung mit dem MQTT-Broker verwendet wird; sollte pro Instanz eindeutig sein." + }, + "stats_interval": { + "label": "Statistikintervall", + "description": "Intervall in Sekunden für die Veröffentlichung von System- und Kamerastatistiken an MQTT." + }, + "user": { + "label": "mqtt Benutzername", + "description": "Optionaler MQTT-Benutzername; kann über Umgebungsvariablen oder Geheimnisse bereitgestellt werden." + }, + "password": { + "label": "mqtt Passwort", + "description": "Optionales MQTT-Passwort; kann über Umgebungsvariablen oder Geheimnisse bereitgestellt werden." + }, + "tls_ca_certs": { + "label": "TLS CA certs", + "description": "Pfad zum CA-Zertifikat für TLS-Verbindungen zum Broker (für selbstsignierte Zertifikate)." + }, + "tls_client_cert": { + "label": "Klient Zertifikat", + "description": "Client-Zertifikatpfad für die gegenseitige TLS-Authentifizierung; bei Verwendung von Client-Zertifikaten keine Benutzerdaten/Passwörter festlegen." + }, + "tls_client_key": { + "label": "Klient Schlüssel", + "description": "Pfad zum privaten Schlüssel für das Client-Zertifikat." + }, + "tls_insecure": { + "label": "TLS unsicher", + "description": "Unsichere TLS-Verbindungen zulassen, indem die Hostnamenüberprüfung übersprungen wird (nicht empfohlen)." + }, + "qos": { + "label": "mqtt Qos", + "description": "Servicequalitätsstufe für MQTT-Veröffentlichungen/Abonnements (0, 1 oder 2)." + } + }, + "face_recognition": { + "label": "Gesichtserkennung", + "enabled": { + "label": "Gesichtserkennung aktivieren" + }, + "min_area": { + "label": "Mindestfläche der Stirnseite", + "description": "Mindestfläche (Pixel) eines erkannten Gesichtsrahmens, die für einen Erkennungsversuch erforderlich ist." + } + }, + "notifications": { + "label": "Benachrichtigung", + "description": "Einstellungen zum Aktivieren und Steuern von Benachrichtigungen für alle Kameras; können pro Kamera überschrieben werden.", + "enabled": { + "label": "Benachrichtigungen aktivieren", + "description": "Benachrichtigungen für alle Kameras aktivieren oder deaktivieren; kann pro Kamera überschrieben werden." + }, + "email": { + "label": "Benachrichtigungs-E-Mail", + "description": "E-Mail-Adresse, die für Push-Benachrichtigungen verwendet wird oder von bestimmten Benachrichtigungsanbietern verlangt wird." + }, + "cooldown": { + "label": "Abkühlungsphase", + "description": "Abkühlungszeit (Sekunden) zwischen Benachrichtigungen, um Spam an Empfänger zu vermeiden." + }, + "enabled_in_config": { + "label": "Ursprüngliche Meldungen geben an", + "description": "Gibt an, ob Benachrichtigungen in der ursprünglichen statischen Konfiguration aktiviert waren." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "FFmpeg-Einstellungen, einschließlich Binärpfad, Argumente, hwaccel-Optionen und rollenspezifische Ausgabeargumente.", + "path": { + "label": "FFmpeg-Pfad", + "description": "Pfad zur zu verwendenden FFmpeg-Binärdatei oder ein Versionsalias („5.0” oder „7.0”)." + }, + "global_args": { + "label": "Globale Argumente von FFmpeg", + "description": "An FFmpeg-Prozesse übergebene globale Argumente." + }, + "hwaccel_args": { + "label": "Argumente für Hardwarebeschleunigung", + "description": "Hardwarebeschleunigungsargumente für FFmpeg. Es werden providerspezifische Voreinstellungen empfohlen." + }, + "input_args": { + "label": "Eingabeargumente", + "description": "Eingabeargumente, die auf FFmpeg-Eingabestreams angewendet werden." + }, + "output_args": { + "label": "Ausgabeargumente", + "description": "Standardausgabeargumente, die für verschiedene FFmpeg-Rollen wie „detect“ und „record“ verwendet werden.", + "detect": { + "label": "Ausgabeargumente erkennen", + "description": "Standardausgabeargumente für das Erkennen von Rollenströmen." + }, + "record": { + "label": "Ausgabeargumente aufzeichnen", + "description": "Standardausgabeargumente für Datensatzrollen-Streams." + } + }, + "retry_interval": { + "label": "FFmpeg-Wiederholungszeit", + "description": "Sekunden, die gewartet werden sollen, bevor nach einem Fehler erneut versucht wird, eine Kamera-Übertragung herzustellen. Der Standardwert ist 10." + }, + "apple_compatibility": { + "label": "Apple-Kompatibilität", + "description": "Aktivieren Sie die HEVC-Kennzeichnung für eine bessere Kompatibilität mit Apple-Playern bei der Aufnahme von H.265." + }, + "gpu": { + "label": "GPU-Index", + "description": "Standard-GPU-Index, der für die Hardwarebeschleunigung verwendet wird, sofern verfügbar." + }, + "inputs": { + "label": "Kameraeingänge", + "description": "Liste der Eingangsstromdefinitionen (Pfade und Rollen) für diese Kamera.", + "path": { + "label": "Eingabepfad", + "description": "URL oder Pfad des Kameraeingangsstroms." + }, + "roles": { + "label": "Eingangsrollen", + "description": "Rollen für diesen Eingabestrom." + }, + "global_args": { + "label": "Globale Argumente von FFmpeg", + "description": "Globale Argumente von FFmpeg für diesen Eingabestrom." + }, + "hwaccel_args": { + "label": "Argumente für Hardwarebeschleunigung", + "description": "Hardwarebeschleunigungsargumente für diesen Eingabestrom." + }, + "input_args": { + "label": "Eingabeargumente", + "description": "Für diesen Stream spezifische Eingabeargumente." + } + } + }, + "networking": { + "label": "Vernetzung", + "description": "Netzwerkbezogene Einstellungen wie die Aktivierung von IPv6 für Frigate-Endpunkte.", + "ipv6": { + "label": "IPv6-Konfiguration", + "description": "IPv6-spezifische Einstellungen für Frigate-Netzwerkdienste.", + "enabled": { + "label": "IPv6 aktivieren", + "description": "Aktivieren Sie die IPv6-Unterstützung für Frigate-Dienste (API und Benutzeroberfläche), wo dies möglich ist." + } + }, + "listen": { + "label": "Konfiguration der Listening-Ports", + "description": "Konfiguration für interne und externe Listening-Ports. Dies ist für fortgeschrittene Benutzer gedacht. Für die meisten Anwendungsfälle wird empfohlen, den Abschnitt „Ports“ Ihrer Docker-Compose-Datei zu ändern.", + "internal": { + "label": "interne port", + "description": "Interner Listening-Port für Frigate (Standard 5000)." + }, + "external": { + "label": "Externer Anschluss", + "description": "Externer Listening-Port für Frigate (Standard 8971)." + } + } + }, + "proxy": { + "label": "Proxy", + "description": "Einstellungen für die Integration von Frigate hinter einem Reverse-Proxy, der authentifizierte Benutzer-Header weiterleitet.", + "header_map": { + "label": "Header-Zuordnung", + "description": "Ordnen Sie eingehende Proxy-Header den Frigate-Benutzer- und Rollenfeldern für die proxybasierte Authentifizierung zu.", + "user": { + "label": "Benutzerkopfzeile", + "description": "Header, der den vom Upstream-Proxy bereitgestellten authentifizierten Benutzernamen enthält." + }, + "role": { + "label": "Rollenüberschrift", + "description": "Header, der die Rolle oder Gruppen des authentifizierten Benutzers aus dem Upstream-Proxy enthält." + }, + "role_map": { + "label": "Rollenabbildung", + "description": "Ordnen Sie die Werte der Upstream-Gruppe den Frigate-Rollen zu (z. B. ordnen Sie Admin-Gruppen der Admin-Rolle zu)." + } + }, + "logout_url": { + "label": "Abmelde-URL", + "description": "URL, zu der Benutzer beim Abmelden über den Proxy weitergeleitet werden sollen." + }, + "auth_secret": { + "label": "Proxy-Geheimnis", + "description": "Optionales Geheimnis, das anhand des X-Proxy-Secret-Headers überprüft wird, um vertrauenswürdige Proxys zu verifizieren." + }, + "default_role": { + "label": "Standardrolle", + "description": "Standardrolle, die proxy-authentifizierten Benutzern zugewiesen wird, wenn keine Rollenzuordnung gilt (Admin oder Betrachter)." + }, + "separator": { + "label": "Trennzeichen", + "description": "Zeichen, das zum Trennen mehrerer Werte in Proxy-Headern verwendet wird." + } + }, + "live": { + "label": "Live Wiedergabe", + "streams": { + "label": "Live Stream Bezeichnung", + "description": "Zuordnung der konfigurierten Stream-Namen zu den für die Live-Wiedergabe verwendeten Restream-/Go2rtc-Namen." + }, + "height": { + "label": "Live-Höhe", + "description": "Höhe (Pixel) zum Rendern des jsmpeg-Livestreams in der Web-Benutzeroberfläche; muss <= Stream-Höhe sein." + }, + "quality": { + "label": "Live Qualität", + "description": "Kodierungsqualität für den jsmpeg-Stream (1 = höchst, 31 = niedrigst)." + } + }, + "telemetry": { + "label": "Telemetrie", + "description": "Systemtelemetrie- und Statistikoptionen, einschließlich Überwachung der GPU- und Netzwerkbandbreite.", + "network_interfaces": { + "label": "Netzwerkschnittellen", + "description": "Liste der Präfixe für Netzwerkschnittstellennamen, die für Bandbreitenstatistiken überwacht werden sollen." + }, + "stats": { + "label": "Systemstatistiken", + "description": "Optionen zum Aktivieren/Deaktivieren der Erfassung verschiedener System- und GPU-Statistiken.", + "amd_gpu_stats": { + "label": "AMD GPU Statistik", + "description": "Aktivieren Sie die Erfassung von AMD-GPU-Statistiken, wenn eine AMD-GPU vorhanden ist." + }, + "intel_gpu_stats": { + "label": "Intel GPU Statistik", + "description": "Aktivieren Sie die Erfassung von Intel-GPU-Statistiken, wenn eine Intel-GPU vorhanden ist." + }, + "network_bandwidth": { + "label": "Netzwerk Bandbreite", + "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." + } + }, + "version_check": { + "label": "Versionscheck", + "description": "Aktivieren Sie eine Outbound-Prüfung, um festzustellen, ob eine neuere Version von Frigate verfügbar ist." + } + }, + "lpr": { + "label": "Kennzeichenerkennung", + "description": "Einstellungen für die Kennzeichenerkennung, einschließlich Erkennungsschwellen, Formatierung und bekannte Kennzeichen.", + "enabled": { + "label": "LPR aktivieren" + }, + "expire_time": { + "label": "Sekunden bis zum Ablauf", + "description": "Zeit in Sekunden, nach der ein nicht erkanntes Kennzeichen aus dem Tracker gelöscht wird (nur für dedizierte LPR-Kameras)." + }, + "min_area": { + "label": "Mindestplattenfläche", + "description": "Mindestplattenfläche (Pixel), die für einen Erkennungsversuch erforderlich ist." + }, + "enhancement": { + "label": "Verbesserungsgrad", + "description": "Verstärkungsstufe (0-10) zur Anwendung auf Plattenaufnahmen vor der OCR; höhere Werte führen nicht immer zu besseren Ergebnissen, Stufen über 5 funktionieren möglicherweise nur bei Nachtaufnahmen und sollten mit Vorsicht verwendet werden." + } + }, + "motion": { + "label": "Bewegungserkennung", + "enabled": { + "label": "Bewegungserkennung aktivieren" + }, + "threshold": { + "label": "Bewegungsschwelle", + "description": "Vom Bewegungsmelder verwendeter Schwellenwert für Pixelunterschiede; höhere Werte verringern die Empfindlichkeit (Bereich 1–255)." + }, + "lightning_threshold": { + "label": "Blitzschwelle", + "description": "Schwellenwert zum Erkennen und Ignorieren kurzer Beleuchtungsspitzen (niedrigerer Wert bedeutet höhere Empfindlichkeit, Werte zwischen 0,3 und 1,0). Dadurch wird die Bewegungserkennung nicht vollständig verhindert, sondern lediglich die Analyse weiterer Bilder durch den Detektor unterbrochen, sobald der Schwellenwert überschritten wird. Bewegungsbasierte Aufzeichnungen werden während dieser Ereignisse weiterhin erstellt." + }, + "skip_motion_threshold": { + "label": "Schwellenwert für Bewegungsüberspringen", + "description": "Wenn sich mehr als dieser Anteil des Bildes in einem einzelnen Frame ändert, gibt der Detektor keine Bewegungsfelder zurück und kalibriert sich sofort neu. Dies kann CPU-Leistung sparen und Fehlalarme bei Blitzschlag, Gewittern usw. reduzieren, aber auch echte Ereignisse übersehen, wie z. B. eine PTZ-Kamera, die ein Objekt automatisch verfolgt. Der Kompromiss besteht darin, entweder einige Megabyte an Aufzeichnungen zu verlieren oder ein paar kurze Clips zu überprüfen. Bereich 0,0 bis 1,0." + }, + "improve_contrast": { + "label": "Kontrast verbessern", + "description": "Wenden Sie vor der Bewegungsanalyse eine Kontrastverbesserung auf die Bilder an, um die Erkennung zu erleichtern." + }, + "contour_area": { + "label": "Konturbereich", + "description": "Mindestkonturfläche in Pixeln, die erforderlich ist, damit eine Bewegungskontur gezählt wird." + }, + "delta_alpha": { + "label": "Delta alpha", + "description": "Alpha-Blending-Faktor, der bei der Frame-Differenzierung für die Bewegungsberechnung verwendet wird." + }, + "frame_alpha": { + "label": "Rahmen Alpha", + "description": "Alpha-Wert, der beim Mischen von Frames für die Bewegungsvorverarbeitung verwendet wird." + }, + "frame_height": { + "label": "Rahmenhöhe", + "description": "Höhe in Pixeln, auf die Frames bei der Berechnung von Bewegungen skaliert werden sollen." + }, + "mask": { + "label": "Maskenkoordinaten", + "description": "Geordnete x-, y-Koordinaten, die das Bewegungsmaskenpolygon definieren, das zum Einbeziehen/Ausschließen von Bereichen verwendet wird." + }, + "mqtt_off_delay": { + "label": "MQTT-Ausschaltverzögerung", + "description": "Sekunden, die nach der letzten Bewegung gewartet werden müssen, bevor ein MQTT-„Aus”-Status veröffentlicht wird." + }, + "enabled_in_config": { + "label": "Ursprünglicher Bewegungszustand", + "description": "Gibt an, ob die Bewegungserkennung in der ursprünglichen statischen Konfiguration aktiviert war." + }, + "raw_mask": { + "label": "Maskierung" + } + }, + "tls": { + "label": "TLS", + "description": "TLS-Einstellungen für die Website von Frigate (Port 8971).", + "enabled": { + "label": "Aktivieren TLS", + "description": "Aktivieren Sie TLS für die Web-Benutzeroberfläche und die API von Frigate auf dem konfigurierten TLS-Port." + } + }, + "ui": { + "label": "UI", + "description": "Benutzeroberflächen-Einstellungen wie Zeitzone, Zeit-/Datumsformatierung und Einheiten.", + "timezone": { + "label": "Zeitzone", + "description": "Optionale Zeitzone, die in der Benutzeroberfläche angezeigt werden soll (Standardmäßig wird die lokale Zeit des Browsers angezeigt, wenn keine Zeitzone festgelegt ist)." + }, + "time_format": { + "label": "Zeitformat", + "description": "In der Benutzeroberfläche zu verwendendes Zeitformat (Browser, 12-Stunden- oder 24-Stunden-Format)." + }, + "date_style": { + "label": "Datumsformat", + "description": "In der Benutzeroberfläche zu verwendendes Datumsformat (vollständig, lang, mittel, kurz)." + }, + "time_style": { + "label": "Zeitstil", + "description": "In der Benutzeroberfläche zu verwendender Zeitstil (vollständig, lang, mittel, kurz)." + }, + "unit_system": { + "label": "Einheitensystem", + "description": "Einheitensystem für die Anzeige (metrisch oder imperial), das in der Benutzeroberfläche und MQTT verwendet wird." + } + }, + "detectors": { + "label": "Detektor-Hardware", + "description": "Konfiguration für Objektdetektoren (CPU, GPU, ONNX-Backends) und alle detektorspezifischen Modelleinstellungen.", + "type": { + "label": "Detektortyp", + "description": "Art des für die Objekterkennung zu verwendenden Detektors (z. B. „cpu“, „edgetpu“, „openvino“)." + }, + "cpu": { + "label": "CPU", + "description": "CPU-TFLite-Detektor, der TensorFlow Lite-Modelle ohne Hardwarebeschleunigung auf der Host-CPU ausführt. Nicht empfohlen.", + "type": { + "label": "Type" + }, + "model": { + "label": "Detektorspezifische Modellkonfiguration", + "description": "Detektorspezifische Modellkonfigurationsoptionen (Pfad, Eingabegröße usw.).", + "path": { + "label": "Pfad zum benutzerdefinierten Objekterkennungsmodell", + "description": "Pfad zu einer benutzerdefinierten Erkennungsmodelldatei (oder plus:// für Frigate+-Modelle)." + }, + "labelmap_path": { + "label": "Label-Karte für benutzerdefinierten Objektdetektor", + "description": "Pfad zu einer Labelmap-Datei, die numerische Klassen für den Detektor String-Labels zuordnet." + }, + "width": { + "label": "Eingabebreite des Objekterkennungsmodells", + "description": "Breite des Modell-Eingabetensors in Pixeln." + }, + "height": { + "label": "Eingabehöhe des Objekterkennungsmodells", + "description": "Höhe des Modell-Eingabetensors in Pixeln." + }, + "labelmap": { + "label": "Anpassung der Labelmap", + "description": "Überschreibt oder ordnet Einträge neu zu, um sie in die Standard-Labelmap zu integrieren." + }, + "attributes_map": { + "label": "Zuordnung von Objektbezeichnungen zu ihren Attributbezeichnungen", + "description": "Zuordnung von Objektbezeichnungen zu Attributbezeichnungen, die zum Anhängen von Metadaten verwendet werden (z. B. „Auto“ -> „[Kennzeichen]“)." + }, + "input_tensor": { + "label": "Form des Eingabetensors des Modells", + "description": "Vom Modell erwartetes Tensorformat: „nhwc” oder „nchw”." + }, + "input_pixel_format": { + "label": "Modell-Eingabe-Pixel-Farbformat", + "description": "Vom Modell erwarteter Pixel-Farbraum: „rgb“, „bgr“ oder „yuv“." + }, + "input_dtype": { + "label": "Modell-Eingabe D Typ", + "description": "Datentyp des Modelleingabetensors (z. B. „float32“)." + }, + "model_type": { + "label": "Objekterkennungsmodelltyp", + "description": "Detektormodellarchitekturtyp (ssd, yolox, yolonas), der von einigen Detektoren zur Optimierung verwendet wird." + } + }, + "model_path": { + "label": "Detektorspezifischer Modellpfad", + "description": "Dateipfad zum Binärcode des Detektormodells, falls vom ausgewählten Detektor benötigt." + }, + "num_threads": { + "label": "Anzahl der Erkennungs-Threads", + "description": "Die Anzahl der Threads, die für die CPU-basierte Inferenz verwendet werden." + } + }, + "deepstack": { + "label": "DeepStack", + "description": "DeepStack/CodeProject.AI-Detektor, der Bilder zur Inferenz an eine entfernte DeepStack-HTTP-API sendet. Nicht empfohlen.", + "type": { + "label": "Type" + }, + "model": { + "label": "Detektorspezifische Modellkonfiguration", + "description": "Detektorspezifische Modellkonfigurationsoptionen (Pfad, Eingabegröße usw.).", + "path": { + "label": "Pfad zum benutzerdefinierten Objekterkennungsmodell" + } + } + } + }, + "objects": { + "label": "Objekte", + "description": "Standardeinstellungen für die Objektverfolgung, einschließlich der zu verfolgenden Labels und Filter pro Objekt.", + "track": { + "label": "Zu verfolgende Objekte" + }, + "filters": { + "label": "Objektfilter", + "description": "Filter, die auf erkannte Objekte angewendet werden, um Fehlalarme zu reduzieren (Fläche, Verhältnis, Konfidenz).", + "min_area": { + "label": "Mindestobjektfläche", + "description": "Mindestfläche der Begrenzungsbox (Pixel oder Prozentangabe), die für diesen Objekttyp erforderlich ist. Kann in Pixel (int) oder Prozentangabe (Float zwischen 0,000001 und 0,99) angegeben werden." + }, + "max_area": { + "label": "Maximale Objektfläche", + "description": "Maximal zulässige Begrenzungsrahmenfläche (Pixel oder Prozent) für diesen Objekttyp. Kann in Pixel (int) oder Prozent (Float zwischen 0,000001 und 0,99) angegeben werden." + }, + "min_ratio": { + "label": "Mindestseitenverhältnis", + "description": "Mindestverhältnis von Breite zu Höhe, das für die Begrenzungsbox erforderlich ist, damit diese gültig ist." + }, + "max_ratio": { + "label": "Maximales Seitenverhältnis", + "description": "Maximal zulässiges Verhältnis von Breite zu Höhe für die Begrenzungsbox, damit diese gültig ist." + }, + "threshold": { + "label": "Konfidenzschwelle", + "description": "Durchschnittlicher Schwellenwert für die Erkennungssicherheit, der erforderlich ist, damit das Objekt als echt positiv eingestuft wird." + }, + "min_score": { + "label": "Mindestvertrauen", + "description": "Mindestkonfidenz für die Einzelbilderkennung, die für die Zählung des Objekts erforderlich ist." + }, + "mask": { + "label": "Filter Maske", + "description": "Polygonkoordinaten, die definieren, wo dieser Filter innerhalb des Rahmens angewendet wird." + } + }, + "mask": { + "label": "Objekt Maskierung", + "description": "Maskenpolygon, das verwendet wird, um die Objekterkennung in bestimmten Bereichen zu verhindern." + }, + "genai": { + "label": "GenAI-Objektkonfiguration", + "description": "GenAI-Optionen zum Beschreiben verfolgter Objekte und zum Senden von Frames zur Generierung.", + "enabled": { + "label": "Aktivieren GenAI", + "description": "Enable GenAI generation of descriptions for tracked objects by default." + }, + "use_snapshot": { + "label": "Verwenden Sie Momentaufnahmen" + } + } } } diff --git a/web/public/locales/de/views/events.json b/web/public/locales/de/views/events.json index 963482073..3a6629099 100644 --- a/web/public/locales/de/views/events.json +++ b/web/public/locales/de/views/events.json @@ -63,5 +63,28 @@ "normalActivity": "normal", "needsReview": "benötigt Überprüfung", "securityConcern": "Sicherheitsbedenken", - "select_all": "alle" + "select_all": "alle", + "motionSearch": { + "menuItem": "Bewegungssuche", + "openMenu": "Kamera Optionen" + }, + "motionPreviews": { + "menuItem": "Bewegungsvorschau anzeigen", + "title": "Bewegungsvorschau: {{camera}}", + "mobileSettingsTitle": "Einstellungen für die Bewegungsvorschau", + "mobileSettingsDesc": "Passen Sie die Wiedergabegeschwindigkeit und die Dimmung an und wählen Sie ein Datum aus, um Clips mit nur Bewegungen anzusehen.", + "dim": "düster", + "dimAria": "Dimmintensität einstellen", + "dimDesc": "Erhöhen Sie die Dimmung, um die Sichtbarkeit des Bewegungsbereichs zu verbessern.", + "speed": "Geschwindigkeit", + "speedAria": "Vorschau-Wiedergabegeschwindigkeit auswählen", + "speedDesc": "Wählen Sie aus, wie schnell die Vorschau-Clips abgespielt werden sollen.", + "back": "zurück", + "empty": "Keine Vorschau verfügbar", + "noPreview": "Vorschau nicht verfügbar", + "seekAria": "{{camera}} Player suchen bis {{time}}", + "filter": "Filter", + "filterDesc": "Wählen Sie Bereiche aus, um nur Clips mit Bewegungen in diesen Regionen anzuzeigen.", + "filterClear": "Säubern" + } } diff --git a/web/public/locales/de/views/explore.json b/web/public/locales/de/views/explore.json index 273c568a2..093001bb3 100644 --- a/web/public/locales/de/views/explore.json +++ b/web/public/locales/de/views/explore.json @@ -221,6 +221,10 @@ "downloadCleanSnapshot": { "label": "Bereinigte Momentaufnahme herunterladen", "aria": "Bereinigte Momentaufnahme herunterladen" + }, + "debugReplay": { + "label": "Debug-Wiedergabe", + "aria": "Dieses verfolgte Objekt in der Debug-Wiedergabeansicht anzeigen" } }, "dialog": { diff --git a/web/public/locales/de/views/settings.json b/web/public/locales/de/views/settings.json index 3d2ef0ee8..1aaca636a 100644 --- a/web/public/locales/de/views/settings.json +++ b/web/public/locales/de/views/settings.json @@ -55,7 +55,39 @@ "systemUi": "UI", "systemLogging": "Log", "systemEnvironmentVariables": "Umgebungsvariablen", - "systemTelemetry": "Telemetrie" + "systemTelemetry": "Telemetrie", + "systemBirdseye": "Birdseye", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "Erkannte Hardware", + "systemDetectionModel": "Erkennungsmodell", + "systemMqtt": "mqtt", + "integrationSemanticSearch": "Semantische Suche", + "integrationGenerativeAi": "Generative KI", + "integrationFaceRecognition": "Gesichtserkennung", + "integrationLpr": "Kennzeichenerkennung", + "integrationObjectClassification": "Objekt Klassifizierung", + "integrationAudioTranscription": "Audio-Transkription", + "cameraDetect": "Objekterkennung", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "Aufnahme", + "cameraSnapshots": "Momentaufnahme", + "cameraMotion": "Bewegungserkennung", + "cameraObjects": "Objekte", + "cameraConfigReview": "Überprüfung", + "cameraAudioEvents": "Audio Evente", + "cameraAudioTranscription": "Audio-Transkription", + "cameraNotifications": "Benachrichtigung", + "cameraLivePlayback": "Live-Wiedergabe", + "cameraBirdseye": "Birdseye", + "cameraFaceRecognition": "Gesichtserkennung", + "cameraLpr": "Kennzeichenerkennung", + "cameraMqttConfig": "mqtt", + "cameraOnvif": "ONVIF", + "cameraUi": "Kamera UI", + "cameraTimestampStyle": "Zeitstempel Stil", + "cameraMqtt": "Kamera mqtt", + "mediaSync": "Medien-Synchronisierung", + "regionGrid": "Regionsraster" }, "dialog": { "unsavedChanges": { @@ -1329,5 +1361,22 @@ "success": "Die Konfiguration der Bewertungsklassifizierung wurde gespeichert. Starten Sie Frigate neu, um die Änderungen zu übernehmen." } } + }, + "saveAllPreview": { + "title": "Änderungen speichern", + "triggerLabel": "Änderungen überprüfen", + "empty": "Keine ausstehenden Änderungen.", + "scope": { + "label": "Umfang", + "global": "Global", + "camera": "kamera: {{cameraName}}" + }, + "field": { + "label": "Feld" + }, + "value": { + "label": "Neuer Wert", + "reset": "Zurücksetzen" + } } } diff --git a/web/public/locales/de/views/system.json b/web/public/locales/de/views/system.json index 70f8f3d6d..aa7a305c7 100644 --- a/web/public/locales/de/views/system.json +++ b/web/public/locales/de/views/system.json @@ -36,7 +36,9 @@ "title": "Intel GPU Statistik Warnung", "message": "GPU stats nicht verfügbar", "description": "Dies ist ein bekannter Fehler in den GPU-Statistik-Tools von Intel (intel_gpu_top), bei dem das Tool ausfällt und wiederholt eine GPU-Auslastung von 0 % anzeigt, selbst wenn die Hardwarebeschleunigung und die Objekterkennung auf der (i)GPU korrekt funktionieren. Dies ist kein Fehler von Frigate. Du kannst den Host neu starten, um das Problem vorübergehend zu beheben und zu prüfen, ob die GPU korrekt funktioniert. Dies hat keine Auswirkungen auf die Leistung." - } + }, + "gpuTemperature": "GPU Temperatur", + "npuTemperature": "NPU Temperatur" }, "title": "Allgemein", "detector": { @@ -98,7 +100,7 @@ "websocket": { "label": "Nachrichten", "pause": "Pause", - "clear": "Säubern", + "clear": "reinigen", "filter": { "all": "alle Themen", "topics": "Themen", @@ -118,7 +120,8 @@ "count": "{{count}} Nachrichten", "expanded": { "payload": "Nutzlast" - } + }, + "resume": "fortsetzen" } }, "metrics": "Systemmetriken", @@ -191,6 +194,17 @@ "error": { "unableToProbeCamera": "Die Kamera kann nicht getestet werden: {{errorMessage}}" } + }, + "connectionQuality": { + "title": "Verbindungsqualität", + "excellent": "Ausgezeichnet", + "fair": "Fair", + "poor": "arm", + "unusable": "Unbrauchbar", + "fps": "FPS", + "expectedFps": "Erwartete FPS", + "reconnectsLastHour": "Wiederverbindungen (letzte Stunde)", + "stallsLastHour": "Stände (letzte Stunde)" } }, "enrichments": { @@ -228,7 +242,8 @@ "detectIsSlow": "{{detect}} ist langsam ({{speed}} ms)", "detectIsVerySlow": "{{detect}} ist sehr langsam ({{speed}} ms)", "cameraIsOffline": "{{camera}} ist offline", - "shmTooLow": "Die Zuweisung für /dev/shm ({{total}} MB) sollte auf mindestens {{min}} MB erhöht werden." + "shmTooLow": "Die Zuweisung für /dev/shm ({{total}} MB) sollte auf mindestens {{min}} MB erhöht werden.", + "debugReplayActive": "Debug-Wiederholungssitzung ist aktiv" }, "lastRefreshed": "Zuletzt aktualisiert: " } From 0a54139b8e255dc8b1c07457a880cd405efda3d4 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:18 +0100 Subject: [PATCH 03/13] Translated using Weblate (Romanian) Currently translated at 100.0% (171 of 171 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (62 of 62 strings) Co-authored-by: Hosted Weblate Co-authored-by: lukasig Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ro/ Translation: Frigate NVR/views-events Translation: Frigate NVR/views-system --- web/public/locales/ro/views/events.json | 5 ++++- web/public/locales/ro/views/system.json | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/web/public/locales/ro/views/events.json b/web/public/locales/ro/views/events.json index 6e88c59a7..bcaec672f 100644 --- a/web/public/locales/ro/views/events.json +++ b/web/public/locales/ro/views/events.json @@ -82,6 +82,9 @@ "back": "Înapoi", "empty": "Nicio previzualizare disponibilă", "noPreview": "Previzualizare indisponibilă", - "seekAria": "Derulează player-ul {{camera}} la {{time}}" + "seekAria": "Derulează player-ul {{camera}} la {{time}}", + "filter": "Filtru", + "filterDesc": "Selectează zonele pentru a afișa doar clipurile cu mișcare în acele regiuni.", + "filterClear": "Șterge" } } diff --git a/web/public/locales/ro/views/system.json b/web/public/locales/ro/views/system.json index 9e458f990..420884e9b 100644 --- a/web/public/locales/ro/views/system.json +++ b/web/public/locales/ro/views/system.json @@ -97,7 +97,11 @@ "shm": { "title": "Alocare SHM (shared memory)", "warning": "Dimensiunea actuală SHM de {{total}}MB este prea mică. Crește-o la cel puțin {{min_shm}}MB.", - "readTheDocumentation": "Citește documentația" + "readTheDocumentation": "Citește documentația", + "frameLifetime": { + "title": "Durata de viață a cadrului", + "description": "Fiecare cameră are {{frames}} sloturi de cadre în memoria partajată. La rata de cadre a celei mai rapide camere, fiecare cadru este disponibil pentru aproximativ {{lifetime}}s înainte de a fi suprascris." + } } }, "title": "Sistem", From 5aee04ca12b4d1b3da05d07e58c47b28c1e71c7d Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:19 +0100 Subject: [PATCH 04/13] Translated using Weblate (Catalan) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (171 of 171 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (62 of 62 strings) Co-authored-by: Eduardo Pastor Fernández <123eduardoneko123@gmail.com> Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ca/ Translation: Frigate NVR/views-events Translation: Frigate NVR/views-system --- web/public/locales/ca/views/events.json | 5 ++++- web/public/locales/ca/views/system.json | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/web/public/locales/ca/views/events.json b/web/public/locales/ca/views/events.json index acb93e6ff..73a9d2b17 100644 --- a/web/public/locales/ca/views/events.json +++ b/web/public/locales/ca/views/events.json @@ -82,6 +82,9 @@ "back": "Enrere", "empty": "No hi ha cap vista prèvia disponible", "noPreview": "Vista prèvia no disponible", - "seekAria": "Cerca el reproductor {{camera}} a {{time}}" + "seekAria": "Cerca el reproductor {{camera}} a {{time}}", + "filter": "Filtre", + "filterDesc": "Seleccioneu àrees per a mostrar només clips amb moviment en aquestes regions.", + "filterClear": "Neteja" } } diff --git a/web/public/locales/ca/views/system.json b/web/public/locales/ca/views/system.json index b3faad49a..933eff0b3 100644 --- a/web/public/locales/ca/views/system.json +++ b/web/public/locales/ca/views/system.json @@ -147,7 +147,11 @@ "overview": "Visió general", "shm": { "title": "Ubicació de SHM (memória compartida)", - "warning": "El tamany de la SHM oh {{total}}MB es massa petita. Augmenta almenys fins a {{min_shm}}MB." + "warning": "El tamany de la SHM oh {{total}}MB es massa petita. Augmenta almenys fins a {{min_shm}}MB.", + "frameLifetime": { + "title": "Temps de vida del fotograma", + "description": "Cada càmera té {{frames}} ranures de fotogrames en memòria compartida. A la velocitat de fotogrames més ràpida de la càmera, cada fotograma està disponible per aproximadament {{lifetime}}s abans de ser sobreescrit." + } } }, "cameras": { From 122b503a32fc9e2602d15b0cf7c25c0676f26f44 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:20 +0100 Subject: [PATCH 05/13] Translated using Weblate (Vietnamese) Currently translated at 1.0% (5 of 467 strings) Translated using Weblate (Vietnamese) Currently translated at 16.0% (4 of 25 strings) Translated using Weblate (Vietnamese) Currently translated at 100.0% (118 of 118 strings) Translated using Weblate (Vietnamese) Currently translated at 18.1% (4 of 22 strings) Translated using Weblate (Vietnamese) Currently translated at 65.2% (15 of 23 strings) Translated using Weblate (Vietnamese) Currently translated at 98.1% (53 of 54 strings) Translated using Weblate (Vietnamese) Currently translated at 85.2% (427 of 501 strings) Translated using Weblate (Vietnamese) Currently translated at 96.5% (56 of 58 strings) Translated using Weblate (Vietnamese) Currently translated at 41.5% (380 of 915 strings) Translated using Weblate (Vietnamese) Currently translated at 93.4% (215 of 230 strings) Translated using Weblate (Vietnamese) Currently translated at 33.6% (41 of 122 strings) Translated using Weblate (Vietnamese) Currently translated at 0.4% (5 of 1084 strings) Co-authored-by: Hosted Weblate Co-authored-by: Long Ngo Tien Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/vi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/vi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/vi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/vi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/vi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/vi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/vi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/vi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/vi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/vi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/vi/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/vi/ 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-dialog Translation: Frigate NVR/objects Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-settings --- web/public/locales/vi/audio.json | 32 +++++++++---------- web/public/locales/vi/common.json | 3 +- web/public/locales/vi/components/dialog.json | 3 +- web/public/locales/vi/config/cameras.json | 12 ++++++- web/public/locales/vi/config/global.json | 14 +++++++- web/public/locales/vi/config/groups.json | 13 +++++++- web/public/locales/vi/config/validation.json | 7 +++- web/public/locales/vi/objects.json | 30 ++++++++--------- .../locales/vi/views/classificationModel.json | 4 ++- web/public/locales/vi/views/exports.json | 4 +++ web/public/locales/vi/views/faceLibrary.json | 5 +-- web/public/locales/vi/views/settings.json | 2 +- 12 files changed, 88 insertions(+), 41 deletions(-) diff --git a/web/public/locales/vi/audio.json b/web/public/locales/vi/audio.json index 07561cc51..95811086c 100644 --- a/web/public/locales/vi/audio.json +++ b/web/public/locales/vi/audio.json @@ -294,14 +294,14 @@ "gurgling": "Tiếng róc rách", "fire": "Tiếng lửa", "crackle": "Tiếng tí tách", - "vehicle": "Tiếng phương tiện", - "boat": "Tiếng thuyền", + "vehicle": "Phương tiện", + "boat": "Thuyền", "sailboat": "Tiếng thuyền buồm", "rowboat": "Tiếng chèo thuyền", "motorboat": "Tiếng xuồng máy", "ship": "Tiếng tàu", "motor_vehicle": "Tiếng xe cơ giới", - "car": "Tiếng xe ô tô", + "car": "Xe ô tô", "toot": "Tiếng bấm còi", "car_alarm": "Tiếng báo động ô tô", "power_windows": "Tiếng cửa kính xe", @@ -314,17 +314,17 @@ "air_brake": "Tiếng phanh hơi", "air_horn": "Tiếng còi hơi", "reversing_beeps": "Tiếng kêu lùi xe", - "bus": "Tiếng xe buýt", + "bus": "Xe buýt", "emergency_vehicle": "Tiếng xe khẩn cấp", "police_car": "Tiếng xe cảnh sát", "ambulance": "Tiếng xe cứu thương", "fire_engine": "Tiếng xe cứu hỏa", - "motorcycle": "Tiếng xe máy", + "motorcycle": "Xe máy", "traffic_noise": "Tiếng giao thông", "rail_transport": "Tiếng đường sắt", "train_horn": "Tiếng còi tàu hỏa", "railroad_car": "Tiếng toa tàu", - "train": "Tiếng tàu hỏa", + "train": "Tàu hỏa", "train_whistle": "Tiếng còi tàu", "train_wheels_squealing": "Tiếng bánh tàu rít", "subway": "Tiếng tàu điện ngầm", @@ -334,8 +334,8 @@ "propeller": "Tiếng cánh quạt", "helicopter": "Tiếng trực thăng", "fixed-wing_aircraft": "Tiếng máy bay cánh cố định", - "bicycle": "Tiếng xe đạp", - "skateboard": "Tiếng ván trượt", + "bicycle": "Xe đạp", + "skateboard": "Ván trượt", "engine": "Tiếng động cơ", "light_engine": "Tiếng động cơ nhẹ", "dental_drill's_drill": "Tiếng khoan nha khoa", @@ -348,7 +348,7 @@ "ding-dong": "Tiếng ding-dong", "idling": "Tiếng nổ không tải", "accelerating": "Tiếng tăng tốc", - "door": "Tiếng cửa", + "door": "Cửa", "doorbell": "Tiếng chuông cửa", "sliding_door": "Tiếng cửa trượt", "slam": "Tiếng đóng sầm", @@ -362,19 +362,19 @@ "chopping": "Tiếng băm chặt", "frying": "Tiếng chiên xào", "microwave_oven": "Tiếng lò vi sóng", - "blender": "Tiếng máy xay", + "blender": "Máy xay", "water_tap": "Tiếng vòi nước", - "sink": "Tiếng bồn rửa", + "sink": "Bồn rửa", "bathtub": "Tiếng bồn tắm", "coin": "Tiếng đồng xu", - "hair_dryer": "Tiếng máy sấy tóc", + "hair_dryer": "Máy sấy tóc", "toilet_flush": "Tiếng xả nước", - "toothbrush": "Tiếng bàn chải", + "toothbrush": "Bàn chải", "electric_toothbrush": "Tiếng bàn chải điện", "vacuum_cleaner": "Tiếng máy hút bụi", "zipper": "Tiếng dây kéo", "keys_jangling": "Tiếng chìa khóa leng keng", - "scissors": "Tiếng kéo cắt", + "scissors": "Kéo cắt", "electric_shaver": "Tiếng máy cạo râu", "shuffling_cards": "Tiếng xào bài", "typing": "Tiếng gõ phím", @@ -399,14 +399,14 @@ "steam_whistle": "Tiếng còi hơi", "mechanisms": "Tiếng cơ khí", "ratchet": "Tiếng cơ cấu bánh cóc", - "clock": "Tiếng đồng hồ", + "clock": "Đồng hồ", "tick": "Tiếng tích", "tick-tock": "Tiếng tích tắc", "gears": "Tiếng bánh răng", "pulleys": "Tiếng ròng rọc", "sewing_machine": "Tiếng máy may", "camera": "Tiếng máy ảnh", - "single-lens_reflex_camera": "Tiếng máy ảnh DSLR", + "single-lens_reflex_camera": "Máy ảnh phản xạ ống kính đơn", "mechanical_fan": "Tiếng quạt máy", "air_conditioning": "Tiếng máy lạnh", "cash_register": "Tiếng máy tính tiền", diff --git a/web/public/locales/vi/common.json b/web/public/locales/vi/common.json index dea1157d9..c2cc0932c 100644 --- a/web/public/locales/vi/common.json +++ b/web/public/locales/vi/common.json @@ -78,7 +78,8 @@ }, "inProgress": "Đang tiến hành", "invalidStartTime": "Thời gian bắt đầu không hợp lệ", - "invalidEndTime": "Thời gian kết thúc không hợp lệ" + "invalidEndTime": "Thời gian kết thúc không hợp lệ", + "never": "Không bao giờ" }, "menu": { "systemLogs": "Nhật ký hệ thống", diff --git a/web/public/locales/vi/components/dialog.json b/web/public/locales/vi/components/dialog.json index b8b2895ea..2eae9fb46 100644 --- a/web/public/locales/vi/components/dialog.json +++ b/web/public/locales/vi/components/dialog.json @@ -6,7 +6,8 @@ "title": "Đang khởi động lại Frigate", "content": "Trang này sẽ tải lại sau {{countdown}} giây.", "button": "Tải lại ngay" - } + }, + "description": "Thao tác này sẽ tạm dừng hoạt động của Frigate trong thời gian ngắn để khởi động lại." }, "explore": { "plus": { diff --git a/web/public/locales/vi/config/cameras.json b/web/public/locales/vi/config/cameras.json index 0967ef424..5ffe9a26f 100644 --- a/web/public/locales/vi/config/cameras.json +++ b/web/public/locales/vi/config/cameras.json @@ -1 +1,11 @@ -{} +{ + "label": "CameraConfig", + "name": { + "label": "Tên máy ảnh", + "description": "Tên camera là bắt buộc" + }, + "friendly_name": { + "label": "Tên thân thiện", + "description": "Tên hiển thị thân thiện với camera được sử dụng trong giao diện người dùng Frigate" + } +} diff --git a/web/public/locales/vi/config/global.json b/web/public/locales/vi/config/global.json index 0967ef424..71a2e65ce 100644 --- a/web/public/locales/vi/config/global.json +++ b/web/public/locales/vi/config/global.json @@ -1 +1,13 @@ -{} +{ + "version": { + "label": "Phiên bản cấu hình hiện tại", + "description": "Phiên bản dạng số hoặc chuỗi của cấu hình hiện tại giúp phát hiện các thay đổi về định dạng hoặc quá trình di chuyển dữ liệu." + }, + "safe_mode": { + "label": "Chế độ an toàn", + "description": "Khi được kích hoạt, hãy khởi động Frigate ở chế độ an toàn với các tính năng bị hạn chế để khắc phục sự cố." + }, + "environment_vars": { + "label": "Biến môi trường" + } +} diff --git a/web/public/locales/vi/config/groups.json b/web/public/locales/vi/config/groups.json index 0967ef424..826571393 100644 --- a/web/public/locales/vi/config/groups.json +++ b/web/public/locales/vi/config/groups.json @@ -1 +1,12 @@ -{} +{ + "audio": { + "global": { + "detection": "Phát hiện toàn cục", + "sensitivity": "Độ nhạy toàn cục" + }, + "cameras": { + "detection": "Phát hiện", + "sensitivity": "Độ nhạy" + } + } +} diff --git a/web/public/locales/vi/config/validation.json b/web/public/locales/vi/config/validation.json index 0967ef424..e8f959831 100644 --- a/web/public/locales/vi/config/validation.json +++ b/web/public/locales/vi/config/validation.json @@ -1 +1,6 @@ -{} +{ + "minimum": "Phải có giá trị tối thiểu là {{limit}}", + "maximum": "Tối đa phải là {{limit}}", + "exclusiveMinimum": "Phải lớn hơn {{limit}}", + "exclusiveMaximum": "Phải nhỏ hơn {{limit}}" +} diff --git a/web/public/locales/vi/objects.json b/web/public/locales/vi/objects.json index d7168ee4e..d62b4b377 100644 --- a/web/public/locales/vi/objects.json +++ b/web/public/locales/vi/objects.json @@ -1,8 +1,8 @@ { "mouse": "Chuột nhắt", "keyboard": "Bàn phím nhạc", - "blender": "Tiếng máy xay", - "sink": "Tiếng bồn rửa", + "blender": "Máy xay", + "sink": "Bồn rửa", "animal": "Động vật", "dog": "Chó", "bark": "Sủa", @@ -11,19 +11,19 @@ "goat": "Dê", "sheep": "Cừu", "bird": "Chim", - "vehicle": "Tiếng phương tiện", - "boat": "Tiếng thuyền", - "car": "Tiếng xe ô tô", - "bus": "Tiếng xe buýt", - "motorcycle": "Tiếng xe máy", - "train": "Tiếng tàu hỏa", - "bicycle": "Tiếng xe đạp", - "skateboard": "Tiếng ván trượt", - "door": "Tiếng cửa", - "hair_dryer": "Tiếng máy sấy tóc", - "toothbrush": "Tiếng bàn chải", - "scissors": "Tiếng kéo cắt", - "clock": "Tiếng đồng hồ", + "vehicle": "Phương tiện", + "boat": "Thuyền", + "car": "Xe ô tô", + "bus": "Xe buýt", + "motorcycle": "Xe máy", + "train": "Tàu hỏa", + "bicycle": "Xe đạp", + "skateboard": "Ván trượt", + "door": "Cửa", + "hair_dryer": "Máy sấy tóc", + "toothbrush": "Bàn chải", + "scissors": "Kéo cắt", + "clock": "Đồng hồ", "person": "Người", "airplane": "Máy bay", "zebra": "Ngựa vằn", diff --git a/web/public/locales/vi/views/classificationModel.json b/web/public/locales/vi/views/classificationModel.json index 5db2c5960..f0a012425 100644 --- a/web/public/locales/vi/views/classificationModel.json +++ b/web/public/locales/vi/views/classificationModel.json @@ -33,7 +33,9 @@ } }, "details": { - "scoreInfo": "Điểm số cho biết mức độ tự tin trung bình mà hệ thống xác định được cho tất cả các lần phát hiện đối tượng này." + "scoreInfo": "Điểm số cho biết mức độ tự tin trung bình mà hệ thống xác định được cho tất cả các lần phát hiện đối tượng này.", + "none": "Không có", + "unknown": "Không rõ" }, "tooltip": { "trainingInProgress": "Mô hình hiện đang được huấn luyện", diff --git a/web/public/locales/vi/views/exports.json b/web/public/locales/vi/views/exports.json index 95b3b87c6..21b50651f 100644 --- a/web/public/locales/vi/views/exports.json +++ b/web/public/locales/vi/views/exports.json @@ -19,5 +19,9 @@ "downloadVideo": "Tải video", "editName": "Chỉnh sửa tên", "deleteExport": "Xóa bản xuất" + }, + "headings": { + "cases": "Các trường hợp", + "uncategorizedExports": "Xuất chưa được phân loại" } } diff --git a/web/public/locales/vi/views/faceLibrary.json b/web/public/locales/vi/views/faceLibrary.json index cef8b9da7..6301b6cf4 100644 --- a/web/public/locales/vi/views/faceLibrary.json +++ b/web/public/locales/vi/views/faceLibrary.json @@ -3,11 +3,12 @@ "description": { "addFace": "Thêm một bộ sưu tập mới vào Thư viện Khuôn Mặt bằng cách tải lên hình ảnh đầu tiên của bạn.", "invalidName": "Tên không hợp lệ. Tên chỉ được phép chứa chữ cái, số, khoảng trắng, dấu nháy đơn, dấu gạch dưới và dấu gạch ngang.", - "placeholder": "Nhập tên cho bộ sưu tập này" + "placeholder": "Nhập tên cho bộ sưu tập này", + "nameCannotContainHash": "Tên không được chứa ký tự #." }, "details": { "person": "Người", - "unknown": "Không xác định", + "unknown": "Không rõ", "subLabelScore": "Điểm nhãn phụ", "scoreInfo": "Điểm nhãn phụ là điểm số có trọng số cho tất cả các độ tin cậy của khuôn mặt được nhận dạng, vì vậy điểm này có thể khác với điểm hiển thị trên ảnh chụp nhanh.", "timestamp": "Dấu thời gian", diff --git a/web/public/locales/vi/views/settings.json b/web/public/locales/vi/views/settings.json index 69b37b837..90a6c191d 100644 --- a/web/public/locales/vi/views/settings.json +++ b/web/public/locales/vi/views/settings.json @@ -348,7 +348,7 @@ }, "restart_required": "Yêu cầu khởi động lại (mặt nạ/vùng đã thay đổi)", "motionMaskLabel": "Mặt nạ chuyển động {{number}}", - "objectMaskLabel": "Mặt nạ đối tượng {{number}} ({{label}})", + "objectMaskLabel": "Mặt nạ đối tượng {{number}}", "filter": { "all": "Tất cả Mặt nạ và Vùng" } From d823fb4b89b08af97a4ddba75edbef39477b5141 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:22 +0100 Subject: [PATCH 06/13] Translated using Weblate (Armenian) Currently translated at 0.2% (1 of 467 strings) Translated using Weblate (Armenian) Currently translated at 100.0% (74 of 74 strings) Translated using Weblate (Armenian) Currently translated at 16.6% (1 of 6 strings) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Added translation using Weblate (Armenian) Co-authored-by: Artush Ghazaryan Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/hy/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/hy/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/hy/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/components-filter Translation: Frigate NVR/views-recording --- web/public/locales/hy/audio.json | 1 + web/public/locales/hy/common.json | 1 + web/public/locales/hy/components/auth.json | 1 + web/public/locales/hy/components/camera.json | 1 + web/public/locales/hy/components/dialog.json | 1 + web/public/locales/hy/components/filter.json | 140 ++++++++++++++++++ web/public/locales/hy/components/icons.json | 1 + web/public/locales/hy/components/input.json | 1 + web/public/locales/hy/components/player.json | 1 + web/public/locales/hy/config/cameras.json | 5 + web/public/locales/hy/config/global.json | 1 + web/public/locales/hy/config/groups.json | 1 + web/public/locales/hy/config/validation.json | 1 + web/public/locales/hy/objects.json | 1 + .../locales/hy/views/classificationModel.json | 1 + web/public/locales/hy/views/configEditor.json | 1 + web/public/locales/hy/views/events.json | 1 + web/public/locales/hy/views/explore.json | 1 + web/public/locales/hy/views/exports.json | 1 + web/public/locales/hy/views/faceLibrary.json | 1 + web/public/locales/hy/views/live.json | 1 + web/public/locales/hy/views/recording.json | 3 + web/public/locales/hy/views/search.json | 1 + web/public/locales/hy/views/settings.json | 1 + web/public/locales/hy/views/system.json | 1 + 25 files changed, 170 insertions(+) create mode 100644 web/public/locales/hy/audio.json create mode 100644 web/public/locales/hy/common.json create mode 100644 web/public/locales/hy/components/auth.json create mode 100644 web/public/locales/hy/components/camera.json create mode 100644 web/public/locales/hy/components/dialog.json create mode 100644 web/public/locales/hy/components/filter.json create mode 100644 web/public/locales/hy/components/icons.json create mode 100644 web/public/locales/hy/components/input.json create mode 100644 web/public/locales/hy/components/player.json create mode 100644 web/public/locales/hy/config/cameras.json create mode 100644 web/public/locales/hy/config/global.json create mode 100644 web/public/locales/hy/config/groups.json create mode 100644 web/public/locales/hy/config/validation.json create mode 100644 web/public/locales/hy/objects.json create mode 100644 web/public/locales/hy/views/classificationModel.json create mode 100644 web/public/locales/hy/views/configEditor.json create mode 100644 web/public/locales/hy/views/events.json create mode 100644 web/public/locales/hy/views/explore.json create mode 100644 web/public/locales/hy/views/exports.json create mode 100644 web/public/locales/hy/views/faceLibrary.json create mode 100644 web/public/locales/hy/views/live.json create mode 100644 web/public/locales/hy/views/recording.json create mode 100644 web/public/locales/hy/views/search.json create mode 100644 web/public/locales/hy/views/settings.json create mode 100644 web/public/locales/hy/views/system.json diff --git a/web/public/locales/hy/audio.json b/web/public/locales/hy/audio.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/audio.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/common.json b/web/public/locales/hy/common.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/common.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/components/auth.json b/web/public/locales/hy/components/auth.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/components/auth.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/components/camera.json b/web/public/locales/hy/components/camera.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/components/camera.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/components/dialog.json b/web/public/locales/hy/components/dialog.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/components/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/components/filter.json b/web/public/locales/hy/components/filter.json new file mode 100644 index 000000000..eb78edba2 --- /dev/null +++ b/web/public/locales/hy/components/filter.json @@ -0,0 +1,140 @@ +{ + "filter": "Ֆիլտր", + "labels": { + "label": "Պիտակներ", + "all": { + "title": "Բոլոր պիտակները", + "short": "Պիտակներ" + }, + "count_one": "{{count}} պիտակ", + "count_other": "{{count}} պիտակ" + }, + "zones": { + "label": "Գոտիներ", + "all": { + "title": "Բոլոր գոտիները", + "short": "Գոտիներ" + } + }, + "dates": { + "selectPreset": "Ընտրել…", + "all": { + "title": "Բոլոր ամսաթվերը", + "short": "Ամսաթվեր" + } + }, + "more": "Ավելի շատ ֆիլտրեր", + "reset": { + "label": "Վերականգնել ֆիլտրերը լռելյայն արժեքներին" + }, + "timeRange": "Ժամաին միջակայք", + "subLabels": { + "label": "Ենթապիտակները", + "all": "Բոլոր ենթապիտակները" + }, + "attributes": { + "label": "Դասակարգման ատրիբուտներ", + "all": "Բոլոր ատրիբուտները" + }, + "score": "Միավոր", + "estimatedSpeed": "Մոտավոր արագություն ({{unit}})", + "features": { + "label": "Հատկանիշներ", + "hasSnapshot": "Ունի snapshot", + "hasVideoClip": "Ունի տեսահոլովակ", + "submittedToFrigatePlus": { + "label": "Ներկայացվել է Frigate+-ին", + "tips": "Դուք նախ պետք է զտեք այն հետևված օբյեկտները, որոնք ունեն լուսանկար։

Հետևված օբյեկտները, որոնք չունեն լուսանկար, չեն կարող ուղարկվել Frigate+-ին։" + } + }, + "sort": { + "label": "Դասավորել", + "dateAsc": "Ամսաթիվ (աճման կարգով)", + "dateDesc": "Ամսաթիվ (Նվազման կարգով)", + "scoreAsc": "Օբյեկտի գնահատական (աճման կարգով)", + "scoreDesc": "Օբյեկտի գնահատական (նվազման կարգով)", + "speedAsc": "Մոտավոր արագություն (աճման կարգով)", + "speedDesc": "Մոտավոր արագություն (նվազման կարգով)", + "relevance": "Համապատասխանություն" + }, + "cameras": { + "label": "Տեսախցիկների ֆիլտր", + "all": { + "title": "Բոլոր տեսախցիկները", + "short": "Տեսախցիկներ" + } + }, + "review": { + "showReviewed": "Ցուցադրել վերանայվածը" + }, + "motion": { + "showMotionOnly": "Ցուցադրել միայն շարժումը" + }, + "explore": { + "settings": { + "title": "Կարգավորումներ", + "defaultView": { + "title": "Լռելյայն տեսք", + "desc": "Երբ ֆիլտրեր ընտրված չեն, ցուցադրել ամենավերջին հետևված օբյեկտների ամփոփումը՝ ըստ պիտակի, կամ ցուցադրել չֆիլտրված ցանց։", + "summary": "Ամփոփում", + "unfilteredGrid": "Չֆիլտրված ցանց" + }, + "gridColumns": { + "title": "Ցանցային սյուներ", + "desc": "Ընտրեք սյուների քանակը ցանցի տեսքով։" + }, + "searchSource": { + "label": "Որոնման աղբյուր", + "desc": "Ընտրեք՝ որոնել ձեր հետևվող օբյեկտների մանրապատկերներում, թե նկարագրություններում։", + "options": { + "thumbnailImage": "Մանրապատկեր", + "description": "Նկարագրություն" + } + } + }, + "date": { + "selectDateBy": { + "label": "Ընտրեք ամսաթիվ՝ ըստ որի պետք է զտել" + } + } + }, + "logSettings": { + "label": "Ֆիլտրի գրանցամատյանի մակարդակը", + "filterBySeverity": "Զտել գրանցամատյանները ըստ ծանրության աստիճանի", + "loading": { + "title": "Բեռնվում է", + "desc": "Երբ գրանցամատյանի վահանակը գլորվում է դեպի ներքև, նոր գրանցամատյանները ավտոմատ կերպով հոսքագծվում են՝ դրանք ավելացնելուն պես։" + }, + "disableLogStreaming": "Անջատել գրանցամատյանի հոսքը", + "allLogs": "Բոլոր գրանցամատյանները" + }, + "trackedObjectDelete": { + "title": "Հաստատեք ջնջումը", + "desc": "Այս {{objectLength}} հետևված օբյեկտները ջնջելով՝ կհեռացվի լուսանկարը, պահպանված ներկառուցված ֆայլերը և դրանց հետ կապված օբյեկտի կյանքի ցիկլի գրառումները: Պատմության դիտման մեջ այս հետևված օբյեկտների ձայնագրված կադրերը ՉԵՆ ջնջվի:

Համոզվա՞ծ եք, որ ցանկանում եք շարունակել:

Սեղմած պահեք Shift ստեղնը՝ ապագայում այս երկխոսության պատուհանը շրջանցելու համար:", + "toast": { + "success": "Հետևվող օբյեկտները հաջողությամբ ջնջվեցին։", + "error": "Չհաջողվեց ջնջել հետևվող օբյեկտները՝ {{errorMessage}}" + } + }, + "zoneMask": { + "filterBy": "Զտել ըստ գոտու դիմակի" + }, + "recognizedLicensePlates": { + "title": "Ճանաչված համարանիշներ", + "loadFailed": "Չհաջողվեց բեռնել ճանաչված համարանիշները։", + "loading": "Բեռնվում են ճանաչված համարանիշները…", + "placeholder": "Մուտքագրեք՝ համարանիշներ որոնելու համար…", + "noLicensePlatesFound": "Համարանիշներ չեն հայտնաբերվել։", + "selectPlatesFromList": "Ընտրեք մեկ կամ մի քանի ափսեներ ցանկից։", + "selectAll": "Ընտրել բոլորը", + "clearAll": "Մաքրել բոլորը" + }, + "classes": { + "label": "Դասեր", + "all": { + "title": "Բոլոր դասերը" + }, + "count_one": "{{count}} դաս", + "count_other": "{{count}} դաս" + } +} diff --git a/web/public/locales/hy/components/icons.json b/web/public/locales/hy/components/icons.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/components/icons.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/components/input.json b/web/public/locales/hy/components/input.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/components/input.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/components/player.json b/web/public/locales/hy/components/player.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/components/player.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/config/cameras.json b/web/public/locales/hy/config/cameras.json new file mode 100644 index 000000000..bd50523f8 --- /dev/null +++ b/web/public/locales/hy/config/cameras.json @@ -0,0 +1,5 @@ +{ + "zones": { + "label": "Գոտիներ" + } +} diff --git a/web/public/locales/hy/config/global.json b/web/public/locales/hy/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/config/groups.json b/web/public/locales/hy/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/config/validation.json b/web/public/locales/hy/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/objects.json b/web/public/locales/hy/objects.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/objects.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/classificationModel.json b/web/public/locales/hy/views/classificationModel.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/classificationModel.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/configEditor.json b/web/public/locales/hy/views/configEditor.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/configEditor.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/events.json b/web/public/locales/hy/views/events.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/events.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/explore.json b/web/public/locales/hy/views/explore.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/explore.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/exports.json b/web/public/locales/hy/views/exports.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/exports.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/faceLibrary.json b/web/public/locales/hy/views/faceLibrary.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/faceLibrary.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/live.json b/web/public/locales/hy/views/live.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/live.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/recording.json b/web/public/locales/hy/views/recording.json new file mode 100644 index 000000000..c653cc5fb --- /dev/null +++ b/web/public/locales/hy/views/recording.json @@ -0,0 +1,3 @@ +{ + "filter": "Ֆիլտր" +} diff --git a/web/public/locales/hy/views/search.json b/web/public/locales/hy/views/search.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/search.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/settings.json b/web/public/locales/hy/views/settings.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/hy/views/system.json b/web/public/locales/hy/views/system.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hy/views/system.json @@ -0,0 +1 @@ +{} From 0a0bd04a6a393306da625f707bbf8e2495f9d05f Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:24 +0100 Subject: [PATCH 07/13] Translated using Weblate (Hungarian) Currently translated at 27.2% (6 of 22 strings) Translated using Weblate (Hungarian) Currently translated at 4.2% (20 of 467 strings) Translated using Weblate (Hungarian) Currently translated at 24.0% (6 of 25 strings) Translated using Weblate (Hungarian) Currently translated at 1.8% (20 of 1084 strings) Translated using Weblate (Hungarian) Currently translated at 65.2% (15 of 23 strings) Translated using Weblate (Hungarian) Currently translated at 16.0% (4 of 25 strings) Translated using Weblate (Hungarian) Currently translated at 18.1% (4 of 22 strings) Translated using Weblate (Hungarian) Currently translated at 80.4% (111 of 138 strings) Translated using Weblate (Hungarian) Currently translated at 1.4% (16 of 1084 strings) Translated using Weblate (Hungarian) Currently translated at 3.8% (18 of 467 strings) Co-authored-by: Hosted Weblate Co-authored-by: ZsiGiT Co-authored-by: veberj.mark2c82ae088dda4760 Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/hu/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/hu/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/hu/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/hu/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/hu/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/hu/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/Config - Groups Translation: Frigate NVR/Config - Validation Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-exports --- web/public/locales/hu/config/cameras.json | 45 +++++++++++++++++++- web/public/locales/hu/config/global.json | 45 +++++++++++++++++++- web/public/locales/hu/config/groups.json | 21 ++++++++- web/public/locales/hu/config/validation.json | 9 +++- web/public/locales/hu/views/explore.json | 13 ++++-- web/public/locales/hu/views/exports.json | 4 ++ 6 files changed, 130 insertions(+), 7 deletions(-) diff --git a/web/public/locales/hu/config/cameras.json b/web/public/locales/hu/config/cameras.json index 0967ef424..e228cd978 100644 --- a/web/public/locales/hu/config/cameras.json +++ b/web/public/locales/hu/config/cameras.json @@ -1 +1,44 @@ -{} +{ + "detect": { + "stationary": { + "label": "Mozdulatlan tárgyak beállítása", + "interval": { + "label": "Mozdulatlansági intervallum", + "description": "Milyen gyakorisággal (képkockákban) kell futtatni az észlelési ellenőrzést a mozdulatlan objektumok megerősítéséhez." + }, + "threshold": { + "label": "Mozdulatlansági küszöbérték", + "description": "Képkockák száma amennyitől az objektumot mozdulatlannak jelöli meg." + }, + "max_frames": { + "label": "Max képkockák", + "description": "Az a korlát, ami a mozdulatlan objektumokat követi mielőtt elengedi őket.", + "default": { + "label": "Alapértelmezett max képkocka szám", + "description": "Alapértelmezett maximális képkockák száma, amelyeket egy mozdulatlan objektum követése előtt meg kell jeleníteni." + }, + "objects": { + "label": "Objektum max képkockáinak száma", + "description": "Objektumonkénti felülírások a maximális képkockák számához, hogy nyomon lehessen követni a mozdulatlan objektumokat." + } + }, + "classifier": { + "label": "Vizuális osztályozó engedélyezése", + "description": "Vizuális osztályozóval lehet precízen álló tárgyakat felismerni, még akkor is, ha a keretező négyzetek mozognak." + }, + "description": "Beállítások az egy ideig mozdulatlanul maradó tárgyak észleléséhez és kezeléséhez." + } + }, + "label": "KameraBeállítás", + "name": { + "label": "Kamera neve", + "description": "A kamera neve kötelező" + }, + "friendly_name": { + "label": "Egyszerű név", + "description": "A Frigate felhasználói felületén használt, könnyen megjegyezhető kamera név" + }, + "enabled": { + "label": "Engedélyezve" + } +} diff --git a/web/public/locales/hu/config/global.json b/web/public/locales/hu/config/global.json index 0967ef424..8a43985e3 100644 --- a/web/public/locales/hu/config/global.json +++ b/web/public/locales/hu/config/global.json @@ -1 +1,44 @@ -{} +{ + "detect": { + "stationary": { + "label": "Mozdulatlan tárgyak beállítása", + "interval": { + "label": "Mozdulatlansági intervallum", + "description": "Milyen gyakorisággal (képkockákban) kell futtatni az észlelési ellenőrzést a mozdulatlan objektumok megerősítéséhez." + }, + "threshold": { + "label": "Mozdulatlansági küszöbérték", + "description": "Képkockák száma amennyitől az objektumot mozdulatlannak jelöli meg." + }, + "max_frames": { + "label": "Max képkockák", + "description": "Az a korlát, ami a mozdulatlan objektumokat követi mielőtt elengedi őket.", + "default": { + "label": "Alapértelmezett max képkocka szám", + "description": "Alapértelmezett maximális képkockák száma, amelyeket egy mozdulatlan objektum követése előtt meg kell jeleníteni." + }, + "objects": { + "label": "Objektum max képkockáinak száma", + "description": "Objektumonkénti felülírások a maximális képkockák számához, hogy nyomon lehessen követni a mozdulatlan objektumokat." + } + }, + "classifier": { + "label": "Vizuális osztályozó engedélyezése", + "description": "Vizuális osztályozóval lehet precízen álló tárgyakat felismerni, még akkor is, ha a keretező négyzetek mozognak." + }, + "description": "Beállítások az egy ideig mozdulatlanul maradó tárgyak észleléséhez és kezeléséhez." + } + }, + "version": { + "label": "Aktuális konfiguráció verzió", + "description": "Az aktív konfiguráció numerikus vagy karakterláncos változata, amely segít felismerni az migrálásokat vagy a formátumváltozásokat." + }, + "safe_mode": { + "label": "Biztonságos mód", + "description": "Ha engedélyezve van, a Frigate programot biztonsági módban indítja el, csökkentett funkciókkal a hibaelhárítás érdekében." + }, + "environment_vars": { + "label": "Környezeti változók", + "description": "A Home Assistant OS rendszerben a Frigate folyamat számára beállítandó környezeti változói. A nem HAOS-felhasználóknak helyette a Docker konfigurációját kell használniuk." + } +} diff --git a/web/public/locales/hu/config/groups.json b/web/public/locales/hu/config/groups.json index 0967ef424..a50d82066 100644 --- a/web/public/locales/hu/config/groups.json +++ b/web/public/locales/hu/config/groups.json @@ -1 +1,20 @@ -{} +{ + "audio": { + "global": { + "detection": "Globális észlelés", + "sensitivity": "Globális érzékenység" + }, + "cameras": { + "detection": "Észlelés", + "sensitivity": "Érzékenység" + } + }, + "timestamp_style": { + "global": { + "appearance": "Általános megjelenés" + }, + "cameras": { + "appearance": "Kinézet" + } + } +} diff --git a/web/public/locales/hu/config/validation.json b/web/public/locales/hu/config/validation.json index 0967ef424..7b3ab646b 100644 --- a/web/public/locales/hu/config/validation.json +++ b/web/public/locales/hu/config/validation.json @@ -1 +1,8 @@ -{} +{ + "minimum": "Legalább {{limit}} kell", + "maximum": "Legfeljebb {{limit}} lehet", + "exclusiveMinimum": "Nagyobbnak kell lennie, mint {{limit}}", + "exclusiveMaximum": "Kevesebbnek kell lennie, mint {{limit}}", + "minLength": "Legalább {{limit}} karaktert kell megadni", + "maxLength": "Legfeljebb {{limit}} karakter lehet" +} diff --git a/web/public/locales/hu/views/explore.json b/web/public/locales/hu/views/explore.json index 54b220bef..5e423e5f6 100644 --- a/web/public/locales/hu/views/explore.json +++ b/web/public/locales/hu/views/explore.json @@ -35,6 +35,10 @@ "audioTranscription": { "label": "Átírás", "aria": "Hangátirat kérése" + }, + "viewTrackingDetails": { + "label": "A követés részleteinek megtekintése", + "aria": "Követési adatok megjelenítése" } }, "details": { @@ -119,7 +123,9 @@ "success": "Követett tárgy sikeresen törölve." } }, - "tooltip": "{{type}} egyezés {{confidence}}%-os megbízhatósággal" + "tooltip": "{{type}} egyezés {{confidence}}%-os megbízhatósággal", + "nextTrackedObject": "Következő követett objektum", + "previousTrackedObject": "Előző követett objektum" }, "generativeAI": "Generatív MI", "exploreIsUnavailable": { @@ -231,7 +237,7 @@ "attribute": { "other": "{{label}} felismerve mint {{attribute}}" }, - "external": "{{label}} érzékelve", + "external": "{{label}} észlelve", "header": { "zones": "Zónák", "ratio": "Arány", @@ -240,7 +246,8 @@ }, "visible": "{{label}} észlelve", "entered_zone": "{{label}} belépett {{zones}}", - "gone": "{{label}} maradt" + "gone": "{{label}} továbbhaladt", + "stationary": "{{label}} mozdulatlanná vált" }, "title": "Követési adatok", "noImageFound": "Nem található kép ehhez az időbélyeghez.", diff --git a/web/public/locales/hu/views/exports.json b/web/public/locales/hu/views/exports.json index ab07aba94..f1880b125 100644 --- a/web/public/locales/hu/views/exports.json +++ b/web/public/locales/hu/views/exports.json @@ -19,5 +19,9 @@ "editName": "Név szerkesztése", "deleteExport": "Export törlése", "shareExport": "Export megosztása" + }, + "headings": { + "cases": "Esetek", + "uncategorizedExports": "Kategória nélküli exportok" } } From 29821a763d9cf86bb98de388a51387801e2ddedb Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:25 +0100 Subject: [PATCH 08/13] Translated using Weblate (Dutch) Currently translated at 13.6% (3 of 22 strings) Translated using Weblate (Dutch) Currently translated at 12.0% (3 of 25 strings) Translated using Weblate (Dutch) Currently translated at 4.8% (53 of 1084 strings) Co-authored-by: Hosted Weblate Co-authored-by: InSaNiTy57 Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/nl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/nl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/nl/ Translation: Frigate NVR/Config - Global Translation: Frigate NVR/Config - Groups Translation: Frigate NVR/Config - Validation --- web/public/locales/nl/config/global.json | 6 ++++++ web/public/locales/nl/config/groups.json | 12 +++++++++++- web/public/locales/nl/config/validation.json | 6 +++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/web/public/locales/nl/config/global.json b/web/public/locales/nl/config/global.json index bad20d0ed..a9b4f60e3 100644 --- a/web/public/locales/nl/config/global.json +++ b/web/public/locales/nl/config/global.json @@ -103,5 +103,11 @@ } } } + }, + "version": { + "description": "Numerieke of string-versie van de actieve configuratie om migraties of formaatwijzigingen te helpen detecteren." + }, + "safe_mode": { + "label": "Veilige modus" } } diff --git a/web/public/locales/nl/config/groups.json b/web/public/locales/nl/config/groups.json index 0967ef424..dbaa569f6 100644 --- a/web/public/locales/nl/config/groups.json +++ b/web/public/locales/nl/config/groups.json @@ -1 +1,11 @@ -{} +{ + "audio": { + "global": { + "detection": "Globale detectie", + "sensitivity": "Globale sensiviteit" + }, + "cameras": { + "detection": "Detectie" + } + } +} diff --git a/web/public/locales/nl/config/validation.json b/web/public/locales/nl/config/validation.json index 0967ef424..2083cc43a 100644 --- a/web/public/locales/nl/config/validation.json +++ b/web/public/locales/nl/config/validation.json @@ -1 +1,5 @@ -{} +{ + "minimum": "Minimale waarde van {{limit}} vereist", + "maximum": "Mag niet meer dan {{limit}} bedragen.", + "exclusiveMinimum": "Waarde moet groter zijn dan {{limit}}" +} From 490bcb2407b43c68ca8381a36bae1d93ac9f16da Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:26 +0100 Subject: [PATCH 09/13] Translated using Weblate (Persian) Currently translated at 69.5% (16 of 23 strings) Translated using Weblate (Persian) Currently translated at 76.6% (131 of 171 strings) Translated using Weblate (Persian) Currently translated at 100.0% (467 of 467 strings) Translated using Weblate (Persian) Currently translated at 100.0% (74 of 74 strings) Translated using Weblate (Persian) Currently translated at 100.0% (54 of 54 strings) Translated using Weblate (Persian) Currently translated at 34.3% (372 of 1084 strings) Translated using Weblate (Persian) Currently translated at 70.2% (643 of 915 strings) Translated using Weblate (Persian) Currently translated at 100.0% (122 of 122 strings) Translated using Weblate (Persian) Currently translated at 93.4% (215 of 230 strings) Translated using Weblate (Persian) Currently translated at 18.2% (85 of 467 strings) Translated using Weblate (Persian) Currently translated at 6.4% (70 of 1084 strings) Co-authored-by: Ebrahim Mamani Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fa/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/fa/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/fa/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/fa/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/fa/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/fa/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/fa/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fa/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fa/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/common Translation: Frigate NVR/components-filter Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/fa/common.json | 12 +- web/public/locales/fa/components/filter.json | 2 +- web/public/locales/fa/config/cameras.json | 942 +++++++++++++++++- web/public/locales/fa/config/global.json | 773 +++++++++++++- .../locales/fa/views/classificationModel.json | 2 +- web/public/locales/fa/views/exports.json | 7 +- web/public/locales/fa/views/faceLibrary.json | 5 +- web/public/locales/fa/views/settings.json | 10 +- web/public/locales/fa/views/system.json | 2 +- 9 files changed, 1736 insertions(+), 19 deletions(-) diff --git a/web/public/locales/fa/common.json b/web/public/locales/fa/common.json index ba8ea99bc..12a5a13eb 100644 --- a/web/public/locales/fa/common.json +++ b/web/public/locales/fa/common.json @@ -17,13 +17,13 @@ "5minutes": "۵ دقیقه", "10minutes": "۱۰ دقیقه", "day_one": "{{time}} روز", - "day_other": "{{time}} روز", + "day_other": "{{time}} روزها", "h": "{{time}}س", "hour_one": "{{time}} ساعت", - "hour_other": "{{time}} ساعت", + "hour_other": "{{time}} ساعتها", "m": "{{time}} دقیقه", "minute_one": "{{time}} دقیقه", - "minute_other": "{{time}} دقیقه", + "minute_other": "{{time}} دقایق", "s": "{{time}}ث", "30minutes": "۳۰ دقیقه", "1hour": "۱ ساعت", @@ -33,10 +33,10 @@ "am": "ق.ظ.", "yr": "{{time}} سال", "year_one": "{{time}} سال", - "year_other": "{{time}} سال", + "year_other": "{{time}} سالها", "mo": "{{time}} ماه", "month_one": "{{time}} ماه", - "month_other": "{{time}} ماه", + "month_other": "{{time}} ماه ها", "d": "{{time}} روز", "second_one": "{{time}} ثانیه", "second_other": "‏{{time}} ثانیه", @@ -234,7 +234,7 @@ "cameras": { "title": "دوربین‌ها", "count_one": "{{count}} دوربین", - "count_other": "{{count}} دوربین" + "count_other": "{{count}} دوربینها" } }, "review": "بازبینی", diff --git a/web/public/locales/fa/components/filter.json b/web/public/locales/fa/components/filter.json index a742be9f8..fe60049ab 100644 --- a/web/public/locales/fa/components/filter.json +++ b/web/public/locales/fa/components/filter.json @@ -18,7 +18,7 @@ "count_other": "{{count}} برچسب‌ها" }, "zones": { - "label": "ناحیه‌ها", + "label": "مناطق", "all": { "title": "همهٔ ناحیه‌ها", "short": "ناحیه‌ها" diff --git a/web/public/locales/fa/config/cameras.json b/web/public/locales/fa/config/cameras.json index 0967ef424..0c123fbba 100644 --- a/web/public/locales/fa/config/cameras.json +++ b/web/public/locales/fa/config/cameras.json @@ -1 +1,941 @@ -{} +{ + "label": "پیکربندی دوربین", + "name": { + "label": "نام دوربین", + "description": "نام دوربین الزامی است" + }, + "friendly_name": { + "label": "نام دوستانه", + "description": "نام مناسب برای دوربین که در رابط کاربری Frigate استفاده شده است" + }, + "enabled": { + "label": "فعال شده", + "description": "فعال شده" + }, + "audio": { + "label": "رویدادهای صوتی", + "description": "تنظیمات تشخیص رویداد مبتنی بر صدا برای این دوربین.", + "enabled": { + "label": "فعال کردن تشخیص صدا", + "description": "تشخیص رویداد صوتی را برای این دوربین فعال یا غیرفعال کنید." + }, + "max_not_heard": { + "label": "پایان مهلت", + "description": "تعداد ثانیه‌هایی که قبل از پایان رویداد صوتی، نوع صدای پیکربندی‌شده بدون آن باقی می‌ماند." + }, + "min_volume": { + "label": "حداقل صدا", + "description": "حداقل آستانه حجم RMS مورد نیاز برای اجرای تشخیص صدا؛ مقادیر پایین‌تر حساسیت را افزایش می‌دهند (مثلاً ۲۰۰ زیاد، ۵۰۰ متوسط، ۱۰۰۰ کم)." + }, + "listen": { + "label": "انواع گوش دادن", + "description": "فهرست انواع رویدادهای صوتی برای تشخیص (به عنوان مثال: پارس کردن، آژیر آتش، جیغ، گفتار، فریاد)." + }, + "filters": { + "label": "فیلترهای صوتی", + "description": "تنظیمات فیلتر بر اساس نوع صدا مانند آستانه‌های اطمینان که برای کاهش تشخیص‌های مثبت کاذب استفاده می‌شوند." + }, + "enabled_in_config": { + "label": "وضعیت صوتی اصلی", + "description": "نشان می‌دهد که آیا تشخیص صدا در ابتدا در فایل پیکربندی استاتیک فعال بوده است یا خیر." + }, + "num_threads": { + "label": "رشته‌های تشخیص", + "description": "تعداد رشته‌های مورد استفاده برای پردازش تشخیص صدا." + } + }, + "audio_transcription": { + "label": "رونویسی صوتی", + "description": "تنظیمات مربوط به رونویسی صوتی زنده و گفتاری که برای رویدادها و زیرنویس‌های زنده استفاده می‌شود.", + "enabled": { + "label": "فعال کردن رونویسی", + "description": "فعال یا غیرفعال کردن رونویسی رویداد صوتی با فعال‌سازی دستی." + }, + "enabled_in_config": { + "label": "حالت رونویسی اولیه" + }, + "live_enabled": { + "label": "رونویسی زنده", + "description": "فعال کردن پخش زنده رونویسی برای صدا هنگام دریافت آن." + } + }, + "birdseye": { + "label": "چشم پرندگان", + "description": "تنظیمات نمای ترکیبی چشم پرنده که تصاویر چندین دوربین را در یک طرح واحد ترکیب می‌کند.", + "enabled": { + "label": "فعال کردن چشم پرندگان", + "description": "ویژگی نمای چشم پرندگان را فعال یا غیرفعال کنید." + }, + "mode": { + "label": "حالت ردیابی", + "description": "حالت گنجاندن دوربین‌ها در چشم پرنده: «اشیاء»، «حرکت» یا «پیوسته»." + }, + "order": { + "label": "موقعیت", + "description": "موقعیت عددی که ترتیب قرارگیری دوربین را در طرح چشم پرنده کنترل می‌کند." + } + }, + "detect": { + "label": "تشخیص شیء", + "description": "تنظیمات مربوط به نقش تشخیص/شناسایی که برای اجرای تشخیص شیء و مقداردهی اولیه ردیاب‌ها استفاده می‌شود.", + "enabled": { + "label": "‫تشخیص فعال شد", + "description": "فعال یا غیرفعال کردن تشخیص اشیا برای این دوربین. برای اجرای ردیابی اشیا، تشخیص باید فعال باشد." + }, + "height": { + "label": "تشخیص ارتفاع", + "description": "ارتفاع (پیکسل) فریم‌های مورد استفاده برای تشخیص جریان؛ برای استفاده از وضوح جریان اصلی، خالی بگذارید." + }, + "width": { + "label": "تشخیص عرض", + "description": "عرض (پیکسل) فریم‌های مورد استفاده برای تشخیص جریان؛ برای استفاده از وضوح جریان اصلی، خالی بگذارید." + }, + "fps": { + "label": "تشخیص فریم بر ثانیه - اف پی اس", + "description": "تعداد فریم در ثانیه مورد نظر برای اجرای تشخیص؛ مقادیر پایین‌تر، استفاده از CPU را کاهش می‌دهند (مقدار توصیه شده ۵ است، فقط در صورت ردیابی اشیاء با حرکت بسیار سریع، مقدار بالاتر - حداکثر ۱۰ - تنظیم شود)." + }, + "min_initialized": { + "label": "حداقل فریم‌های مقداردهی اولیه", + "description": "تعداد تشخیص‌های متوالی مورد نیاز قبل از ایجاد یک شیء ردیابی شده. برای کاهش مقداردهی اولیه نادرست، افزایش دهید. مقدار پیش‌فرض، fps تقسیم بر ۲ است." + }, + "max_disappeared": { + "label": "حداکثر فریم‌های ناپدید شده", + "description": "تعداد فریم‌هایی که قبل از اینکه شیء ردیابی شده ناپدید شده تلقی شود، تشخیص داده نمی‌شوند." + }, + "stationary": { + "label": "پیکربندی اشیاء ثابت", + "description": "تنظیماتی برای شناسایی و مدیریت اشیایی که برای مدتی ثابت می‌مانند.", + "interval": { + "label": "بازه ثابت", + "description": "هر چند وقت یکبار (بر حسب فریم) باید بررسی تشخیص برای تأیید یک شیء ثابت انجام شود." + }, + "threshold": { + "label": "آستانه ثابت", + "description": "تعداد فریم‌هایی که بدون تغییر موقعیت لازم هستند تا یک جسم به عنوان ثابت علامت‌گذاری شود." + }, + "max_frames": { + "label": "حداکثر فریم", + "description": "مدت زمانی که اشیاء ثابت قبل از دور انداختن ردیابی می‌شوند را محدود می‌کند.", + "default": { + "label": "حداکثر فریم‌های پیش‌فرض", + "description": "حداکثر فریم‌های پیش‌فرض برای ردیابی یک جسم ثابت قبل از توقف." + }, + "objects": { + "label": "فریم‌های حداکثر شیء", + "description": "برای ردیابی اشیاء ثابت، حداکثر فریم‌ها به ازای هر شیء لغو می‌شوند." + } + }, + "classifier": { + "label": "فعال کردن طبقه‌بندی بصری", + "description": "از یک طبقه‌بندی‌کننده بصری برای تشخیص اشیاء واقعاً ثابت حتی در مواقعی که کادرهای محصورکننده دچار لرزش می‌شوند، استفاده کنید." + } + }, + "annotation_offset": { + "label": "حاشیه‌نویسی افست", + "description": "میلی‌ثانیه برای جابجایی، تشخیص حاشیه‌نویسی‌ها برای ترازبندی بهتر کادرهای محدودکننده‌ی جدول زمانی با ضبط‌ها؛ می‌تواند مثبت یا منفی باشد." + } + }, + "face_recognition": { + "label": "تشخیص چهره", + "description": "تنظیمات تشخیص و شناسایی چهره برای این دوربین.", + "enabled": { + "label": "فعال کردن تشخیص چهره", + "description": "فعال یا غیرفعال کردن تشخیص چهره." + }, + "min_area": { + "label": "حداقل مساحت صورت", + "description": "حداقل مساحت (پیکسل) از کادر چهره شناسایی شده که برای تلاش برای شناسایی مورد نیاز است." + } + }, + "ffmpeg": { + "description": "تنظیمات FFmpeg شامل مسیر دودویی، آرگومان‌ها، گزینه‌های hwaccel و آرگومان‌های خروجی به ازای هر نقش.", + "path": { + "label": "مسیر FFmpeg", + "description": "مسیر فایل باینری FFmpeg برای استفاده یا نام مستعار نسخه (\"5.0\" یا \"7.0\")." + }, + "global_args": { + "description": "آرگومان‌های سراسری به فرآیندهای FFmpeg ارسال شدند.", + "label": "آرگومان‌های سراسری FFmpeg" + }, + "hwaccel_args": { + "label": "آرگومان‌های شتاب سخت‌افزاری", + "description": "آرگومان‌های شتاب سخت‌افزاری برای FFmpeg. تنظیمات پیش‌فرض مخصوص ارائه‌دهنده توصیه می‌شود." + }, + "input_args": { + "label": "آرگومان‌های ورودی", + "description": "آرگومان‌های ورودی اعمال شده به جریان‌های ورودی FFmpeg." + }, + "output_args": { + "label": "آرگومان‌های خروجی", + "description": "آرگومان‌های خروجی پیش‌فرض که برای نقش‌های مختلف FFmpeg مانند شناسایی و ضبط استفاده می‌شوند.", + "detect": { + "label": "تشخیص آرگومان‌های خروجی", + "description": "آرگومان‌های خروجی پیش‌فرض برای تشخیص جریان‌های نقش." + }, + "record": { + "label": "آرگومان‌های خروجی را ضبط کنید", + "description": "آرگومان‌های خروجی پیش‌فرض برای جریان‌های نقش رکورد." + } + }, + "apple_compatibility": { + "label": "سازگاری با اپل", + "description": "برای سازگاری بهتر با پخش‌کننده‌های اپل هنگام ضبط H.265، تگ‌گذاری HEVC را فعال کنید." + }, + "gpu": { + "label": "شاخص پردازنده گرافیکی", + "description": "در صورت وجود، شاخص GPU پیش‌فرض برای شتاب سخت‌افزاری استفاده می‌شود." + }, + "inputs": { + "label": "ورودی‌های دوربین", + "description": "فهرست تعاریف جریان ورودی (مسیرها و نقش‌ها) برای این دوربین.", + "path": { + "label": "مسیر ورودی", + "description": "آدرس اینترنتی یا مسیر جریان ورودی دوربین." + }, + "roles": { + "label": "نقش‌های ورودی", + "description": "نقش‌های این جریان ورودی." + }, + "global_args": { + "label": "آرگومان‌های سراسری FFmpeg", + "description": "آرگومان‌های سراسری FFmpeg برای این جریان ورودی." + }, + "hwaccel_args": { + "label": "آرگومان‌های شتاب سخت‌افزاری", + "description": "آرگومان‌های شتاب سخت‌افزاری برای این جریان ورودی." + }, + "input_args": { + "label": "آرگومان‌های ورودی", + "description": "‫آرگومان‌های ورودی مختص به این جریان." + } + }, + "label": "FFmpeg کدک", + "retry_interval": { + "label": "زمان تلاش مجدد FFmpeg", + "description": "ثانیه‌هایی برای انتظار قبل از تلاش برای اتصال مجدد جریان دوربین پس از خرابی. مقدار پیش‌فرض ۱۰ است." + } + }, + "live": { + "label": "پخش زنده", + "description": "تنظیماتی که توسط رابط کاربری وب برای کنترل انتخاب پخش زنده، وضوح و کیفیت استفاده می‌شود.", + "streams": { + "label": "نام‌های پخش زنده", + "description": "نگاشت نام‌های جریان پیکربندی‌شده به نام‌های restream/go2rtc مورد استفاده برای پخش زنده." + }, + "height": { + "label": "ارتفاع زنده", + "description": "ارتفاع (پیکسل) برای رندر کردن پخش زنده jsmpeg در رابط کاربری وب؛ باید <= تشخیص ارتفاع جریان باشد." + }, + "quality": { + "label": "کیفیت زنده", + "description": "کیفیت کدگذاری برای جریان jsmpeg (۱ بالاترین، ۳۱ پایین‌ترین)." + } + }, + "lpr": { + "label": "تشخیص پلاک خودرو", + "description": "تنظیمات تشخیص پلاک خودرو شامل آستانه‌های تشخیص، قالب‌بندی و پلاک‌های شناخته‌شده.", + "enabled": { + "label": "فعال کردن LPR", + "description": "فعال یا غیرفعال کردن LPR در این دوربین." + }, + "expire_time": { + "label": "ثانیه‌ها منقضی می‌شوند", + "description": "مدت زمان (بر حسب ثانیه) که پس از آن پلاک دیده نشده از ردیاب حذف می‌شود (فقط برای دوربین‌های اختصاصی پلاکخوان)." + }, + "min_area": { + "label": "حداقل مساحت صفحه", + "description": "حداقل مساحت پلاک (پیکسل) مورد نیاز برای شناسایی." + }, + "enhancement": { + "label": "سطح ارتقاء", + "description": "سطح بهبود (0-10) برای اعمال روی محصولات بشقابی قبل از OCR؛ مقادیر بالاتر ممکن است همیشه نتایج را بهبود ندهند، سطوح بالاتر از 5 ممکن است فقط با بشقاب‌های شبانه کار کنند و باید با احتیاط استفاده شوند." + } + }, + "motion": { + "label": "تشخیص حرکت", + "description": "تنظیمات پیش‌فرض تشخیص حرکت برای این دوربین.", + "enabled": { + "label": "فعال کردن تشخیص حرکت", + "description": "تشخیص حرکت را برای این دوربین فعال یا غیرفعال کنید." + }, + "threshold": { + "label": "آستانه حرکت", + "description": "آستانه اختلاف پیکسل مورد استفاده توسط آشکارساز حرکت؛ مقادیر بالاتر حساسیت را کاهش می‌دهند (محدوده ۱-۲۵۵)." + }, + "lightning_threshold": { + "label": "آستانه رعد و برق", + "description": "آستانه‌ای برای تشخیص و نادیده گرفتن نوسانات کوتاه مدت نور (مقادیر کمتر، حساسیت بیشتر، بین ۰.۳ تا ۱.۰). این امر به طور کامل از تشخیص حرکت جلوگیری نمی‌کند؛ بلکه صرفاً باعث می‌شود که آشکارساز پس از عبور از آستانه، تجزیه و تحلیل فریم‌های اضافی را متوقف کند. ضبط‌های مبتنی بر حرکت همچنان در طول این رویدادها ایجاد می‌شوند." + }, + "skip_motion_threshold": { + "label": "رد شدن از آستانه حرکت", + "description": "اگر بیش از این بخش از تصویر در یک فریم تغییر کند، آشکارساز هیچ کادر حرکتی را برنمی‌گرداند و بلافاصله دوباره کالیبره می‌شود. این می‌تواند در مصرف CPU صرفه‌جویی کند و تشخیص‌های کاذب را در هنگام رعد و برق، طوفان و غیره کاهش دهد، اما ممکن است رویدادهای واقعی مانند ردیابی خودکار یک شیء توسط دوربین PTZ را از دست بدهد. انتخاب بین حذف چند مگابایت از فایل‌های ضبط شده در مقابل بررسی چند کلیپ کوتاه است. محدوده 0.0 تا 1.0." + }, + "improve_contrast": { + "label": "بهبود کنتراست", + "description": "قبل از تحلیل حرکت، بهبود کنتراست را روی فریم‌ها اعمال کنید تا به تشخیص کمک کند." + }, + "contour_area": { + "label": "ناحیه کانتور", + "description": "حداقل مساحت کانتور بر حسب پیکسل که برای شمارش یک کانتور حرکت لازم است." + }, + "delta_alpha": { + "label": "دلتا آلفا", + "description": "ضریب ترکیب آلفا که در تفاضل فریم برای محاسبه حرکت استفاده می‌شود." + }, + "frame_alpha": { + "label": "قاب آلفا", + "description": "مقدار آلفا هنگام ترکیب فریم‌ها برای پیش‌پردازش حرکت استفاده می‌شود." + }, + "frame_height": { + "label": "ارتفاع قاب", + "description": "ارتفاع بر حسب پیکسل برای مقیاس‌بندی فریم‌ها هنگام محاسبه حرکت." + }, + "mask": { + "label": "مختصات ماسک", + "description": "مختصات x و y مرتب شده که چندضلعی ماسک حرکت را که برای شامل/خارج کردن نواحی استفاده می‌شود، تعریف می‌کنند." + }, + "mqtt_off_delay": { + "label": "تأخیر خاموشی MQTT", + "description": "ثانیه‌هایی برای انتظار پس از آخرین حرکت، قبل از انتشار وضعیت «خاموش» MQTT." + }, + "enabled_in_config": { + "label": "حالت حرکت اصلی", + "description": "نشان می‌دهد که آیا تشخیص حرکت در پیکربندی استاتیک اصلی فعال بوده است یا خیر." + }, + "raw_mask": { + "label": "ماسک خام" + } + }, + "objects": { + "label": "اشیاء", + "description": "پیش‌فرض‌های ردیابی اشیا شامل برچسب‌هایی که باید ردیابی شوند و فیلترهای مربوط به هر شیء.", + "track": { + "label": "اشیاء برای ردیابی", + "description": "فهرست برچسب‌های اشیاء برای ردیابی توسط این دوربین." + }, + "filters": { + "label": "فیلترهای شیء", + "description": "فیلترهایی که برای کاهش تشخیص‌های مثبت کاذب (مساحت، نسبت، اطمینان) روی اشیاء شناسایی‌شده اعمال می‌شوند.", + "min_area": { + "label": "حداقل مساحت شیء", + "description": "حداقل مساحت کادر مرزی (پیکسل یا درصد) مورد نیاز برای این نوع شیء. می‌تواند پیکسل (عدد صحیح) یا درصد (اعداد شناور بین 0.000001 و 0.99) باشد ترجمه ابی." + }, + "max_area": { + "label": "حداکثر مساحت جسم", + "description": "حداکثر مساحت کادر محصورکننده (پیکسل یا درصد) مجاز برای این نوع شیء. می‌تواند پیکسل (عدد صحیح) یا درصد (اعداد شناور بین 0.000001 و 0.99) باشد." + }, + "min_ratio": { + "label": "حداقل نسبت ابعاد", + "description": "حداقل نسبت عرض/ارتفاع مورد نیاز برای واجد شرایط بودن کادر محصورکننده." + }, + "max_ratio": { + "label": "حداکثر نسبت ابعاد", + "description": "حداکثر نسبت عرض/ارتفاع مجاز برای واجد شرایط بودن کادر محصورکننده." + }, + "threshold": { + "label": "آستانه اطمینان", + "description": "میانگین آستانه اطمینان تشخیص مورد نیاز برای اینکه شیء مثبت واقعی در نظر گرفته شود." + }, + "min_score": { + "label": "حداقل اعتماد به نفس", + "description": "حداقل ضریب اطمینان تشخیص تک فریم مورد نیاز برای شمارش شیء." + }, + "mask": { + "label": "ماسک فیلتردار", + "description": "مختصات چندضلعی که مشخص می‌کند این فیلتر در کجای فریم اعمال می‌شود." + }, + "raw_mask": { + "label": "ماسک خام" + } + }, + "mask": { + "label": "ماسک شیء", + "description": "چندضلعی ماسک برای جلوگیری از تشخیص اشیاء در نواحی مشخص شده استفاده می‌شود." + }, + "raw_mask": { + "label": "ماسک خام" + }, + "genai": { + "label": "پیکربندی شیء GenAI", + "description": "گزینه‌های GenAI برای توصیف اشیاء ردیابی شده و ارسال فریم‌ها برای تولید.", + "enabled": { + "label": "فعال کردن GenAI", + "description": "به طور پیش‌فرض، تولید توضیحات توسط GenAI را برای اشیاء ردیابی شده فعال کنید." + }, + "use_snapshot": { + "label": "از عکس‌های فوری استفاده کنید", + "description": "برای تولید توضیحات GenAI، به جای تصاویر کوچک از عکس‌های فوری اشیاء استفاده کنید." + }, + "prompt": { + "label": "درخواست زیرنویس", + "description": "الگوی پیش‌فرض اعلان که هنگام تولید توضیحات با GenAI استفاده می‌شود." + }, + "object_prompts": { + "label": "اعلان‌های شیء", + "description": "به ازای هر شیء، می‌توان خروجی‌های GenAI را برای برچسب‌های خاص سفارشی کرد." + }, + "objects": { + "label": "اشیاء GenAI", + "description": "فهرست برچسب‌های شیء که به‌طور پیش‌فرض برای GenAI ارسال می‌شوند." + }, + "required_zones": { + "label": "مناطق مورد نیاز", + "description": "مناطقی که باید وارد شوند تا اشیاء واجد شرایط تولید توصیف GenAI شوند." + }, + "debug_save_thumbnails": { + "label": "ذخیره ریز عکس‌ها", + "description": "تصاویر کوچک ارسال شده به GenAI را برای اشکال‌زدایی و بررسی ذخیره کنید." + }, + "send_triggers": { + "label": "محرک‌های GenAI", + "description": "مشخص می‌کند که چه زمانی فریم‌ها باید به GenAI ارسال شوند (در پایان، پس از به‌روزرسانی‌ها و غیره).", + "tracked_object_end": { + "label": "ارسال در انتها", + "description": "وقتی شیء ردیابی شده به پایان رسید، درخواستی به GenAI ارسال کنید." + }, + "after_significant_updates": { + "label": "محرک اولیه GenAI", + "description": "پس از تعداد مشخصی از به‌روزرسانی‌های مهم برای شیء ردیابی‌شده، درخواستی را به GenAI ارسال کنید." + } + }, + "enabled_in_config": { + "label": "حالت اصلی GenAI", + "description": "نشان می‌دهد که آیا GenAI در پیکربندی استاتیک اصلی فعال بوده است یا خیر." + } + } + }, + "record": { + "label": "ضبط", + "description": "تنظیمات ضبط و ذخیره‌سازی برای این دوربین.", + "enabled": { + "label": "فعال کردن ضبط", + "description": "ضبط را برای این دوربین فعال یا غیرفعال کنید." + }, + "expire_interval": { + "label": "فاصله پاکسازی رکورد", + "description": "دقایق بین مراحل پاکسازی که بخش‌های ضبط‌شده‌ی منقضی‌شده را حذف می‌کنند." + }, + "continuous": { + "label": "نگهداری مداوم", + "description": "تعداد روزهایی که صرف نظر از اشیاء ردیابی شده یا حرکت، ضبط‌ها نگهداری می‌شوند. اگر فقط می‌خواهید ضبط‌های هشدارها و تشخیص‌ها را نگهداری کنید، روی ۰ تنظیم کنید.", + "days": { + "label": "روزهای نگهداری", + "description": "روزهایی که باید فایل‌های ضبط‌شده را نگه دارید." + } + }, + "motion": { + "label": "حفظ حرکت", + "description": "تعداد روزهایی که صرف نظر از اشیاء ردیابی شده، ضبط‌های ناشی از حرکت حفظ می‌شوند. اگر می‌خواهید فقط ضبط‌های هشدارها و تشخیص‌ها حفظ شوند، روی ۰ تنظیم کنید.", + "days": { + "label": "روزهای نگهداری", + "description": "روزهایی که باید فایل‌های ضبط‌شده را نگه دارید." + } + }, + "detections": { + "label": "حفظ تشخیص", + "description": "تنظیمات نگهداری ضبط برای رویدادهای تشخیص شامل مدت زمان ضبط قبل/بعد.", + "pre_capture": { + "label": "ثانیه‌های پیش از ثبت", + "description": "تعداد ثانیه‌ها قبل از رویداد تشخیص که باید در ضبط لحاظ شود." + }, + "post_capture": { + "label": "ثانیه‌های پس از ثبت", + "description": "تعداد ثانیه‌ها پس از رویداد تشخیص که باید در ضبط لحاظ شود." + }, + "retain": { + "label": "نگهداری رویداد", + "description": "تنظیمات نگهداری برای ضبط رویدادهای تشخیص.", + "days": { + "label": "روزهای نگهداری", + "description": "تعداد روزهایی که لازم است سوابق رویدادهای شناسایی‌شده نگهداری شوند." + }, + "mode": { + "label": "حالت نگهداری", + "description": "حالت نگهداری: همه (ذخیره همه بخش‌ها)، حرکت (ذخیره بخش‌های دارای حرکت) یا active_objects (ذخیره بخش‌های دارای اشیاء فعال)." + } + } + }, + "alerts": { + "label": "حفظ هشدار", + "description": "تنظیمات نگهداری ضبط برای رویدادهای هشدار شامل مدت زمان ضبط قبل/بعد از ضبط.", + "pre_capture": { + "label": "ثانیه‌های پیش از ثبت", + "description": "تعداد ثانیه‌ها قبل از رویداد تشخیص که باید در ضبط لحاظ شود." + }, + "post_capture": { + "label": "ثانیه‌های پس از ثبت", + "description": "تعداد ثانیه‌ها پس از رویداد تشخیص که باید در ضبط لحاظ شود." + }, + "retain": { + "label": "نگهداری رویداد", + "description": "تنظیمات نگهداری برای ضبط رویدادهای تشخیص.", + "days": { + "label": "روزهای نگهداری", + "description": "تعداد روزهایی که لازم است سوابق رویدادهای شناسایی‌شده نگهداری EMSebi شوند ." + }, + "mode": { + "label": "حالت نگهداری", + "description": "حالت نگهداری: همه (ذخیره همه بخش‌ها)، حرکت (ذخیره بخش‌های دارای حرکت) یا active_objects (ذخیره بخش‌های دارای اشیاء فعال)." + } + } + }, + "export": { + "label": "پیکربندی خروجی", + "description": "تنظیماتی که هنگام خروجی گرفتن از ویدیوهای ضبط شده مانند تایم‌لپس و شتاب سخت‌افزاری استفاده می‌شوند.", + "hwaccel_args": { + "label": "خروجی گرفتن از آرگومان‌های hwaccel", + "description": "آرگومان‌های شتاب سخت‌افزاری برای استفاده در عملیات صادرات/تبدیل کد." + } + }, + "preview": { + "label": "پیش‌نمایش پیکربندی", + "description": "تنظیماتی که کیفیت پیش‌نمایش‌های ضبط نمایش داده شده در رابط کاربری را کنترل می‌کنند.", + "quality": { + "label": "کیفیت پیش‌نمایش", + "description": "پیش‌نمایش سطح کیفیت (خیلی_پایین، پایین، متوسط، بالا، خیلی_بالا)." + } + }, + "enabled_in_config": { + "label": "وضعیت ضبط اولیه", + "description": "نشان می‌دهد که آیا ضبط در پیکربندی استاتیک اصلی فعال بوده است یا خیر." + } + }, + "review": { + "label": "نقد و بررسی", + "description": "تنظیماتی که هشدارها، تشخیص‌ها و خلاصه‌های بررسی GenAI مورد استفاده توسط رابط کاربری و فضای ذخیره‌سازی این دوربین را کنترل می‌کنند.", + "alerts": { + "label": "پیکربندی هشدارها", + "description": "تنظیماتی که برای اشیاء ردیابی شده هشدار ایجاد می‌کنند و نحوه‌ی حفظ هشدارها.", + "enabled": { + "label": "فعال کردن هشدارها", + "description": "فعال یا غیرفعال کردن تولید هشدار برای این دوربین." + }, + "labels": { + "label": "برچسب‌های هشدار", + "description": "فهرست برچسب‌های اشیاء که به عنوان هشدار واجد شرایط هستند (برای مثال: ماشین، شخص)." + }, + "required_zones": { + "label": "مناطق مورد نیاز", + "description": "مناطقی که یک شیء باید وارد آنها شود تا به عنوان هشدار در نظر گرفته شود؛ برای مجاز بودن هر منطقه‌ای، آن را خالی بگذارید." + }, + "enabled_in_config": { + "label": "وضعیت هشدارهای اصلی", + "description": "پیگیری می‌کند که آیا هشدارها در ابتدا در پیکربندی استاتیک فعال بوده‌اند یا خیر." + }, + "cutoff_time": { + "label": "زمان قطع هشدارها", + "description": "ثانیه‌هایی برای انتظار پس از عدم وجود فعالیت منجر به هشدار و سپس قطع هشدار." + } + }, + "detections": { + "label": "پیکربندی تشخیص‌ها", + "description": "تنظیمات ایجاد رویدادهای تشخیص (غیر هشدار) و مدت زمان نگهداری آنها.", + "enabled": { + "label": "فعال کردن تشخیص‌ها", + "description": "فعال یا غیرفعال کردن رویدادهای تشخیص برای این دوربین." + }, + "labels": { + "label": "برچسب‌های تشخیص", + "description": "فهرست برچسب‌های شیء که به عنوان رویدادهای تشخیص واجد شرایط هستند." + }, + "required_zones": { + "label": "مناطق مورد نیاز", + "description": "مناطقی که یک شیء باید وارد آنها شود تا تشخیص داده شود؛ برای مجاز بودن هر منطقه‌ای، خالی بگذارید." + }, + "cutoff_time": { + "label": "زمان قطع تشخیص", + "description": "ثانیه‌هایی برای انتظار پس از عدم مشاهده فعالیت منجر به تشخیص، قبل از قطع تشخیص." + }, + "enabled_in_config": { + "label": "وضعیت تشخیص‌های اولیه", + "description": "پیگیری می‌کند که آیا تشخیص‌ها در ابتدا در پیکربندی استاتیک فعال بوده‌اند یا خیر." + } + }, + "genai": { + "label": "پیکربندی GenAI", + "description": "استفاده از هوش مصنوعی مولد را برای تولید توضیحات و خلاصه موارد بررسی کنترل می‌کند.", + "enabled": { + "label": "فعال کردن توضیحات GenAI", + "description": "فعال یا غیرفعال کردن توضیحات و خلاصه‌های تولید شده توسط GenAI برای موارد بررسی." + }, + "alerts": { + "label": "فعال کردن GenAI برای هشدارها", + "description": "از GenAI برای تولید توضیحات برای موارد هشدار استفاده کنید." + }, + "detections": { + "label": "فعال کردن GenAI برای تشخیص‌ها", + "description": "از GenAI برای تولید توضیحات برای موارد تشخیص استفاده کنید." + }, + "image_source": { + "label": "منبع تصویر را بررسی کنید", + "description": "منبع تصاویر ارسال شده به GenAI («پیش‌نمایش» یا «ضبط‌ها»)؛ «ضبط‌ها» از فریم‌های با کیفیت بالاتر اما توکن‌های بیشتری استفاده می‌کنند." + }, + "additional_concerns": { + "label": "نگرانی‌های اضافی", + "description": "فهرستی از نگرانی‌ها یا نکات اضافی که GenAI باید هنگام ارزیابی فعالیت روی این دوربین در نظر بگیرد." + }, + "debug_save_thumbnails": { + "label": "ذخیره ریز عکس‌ها", + "description": "تصاویر کوچکی را که برای اشکال‌زدایی و بررسی به ارائه‌دهنده GenAI ارسال می‌شوند، ذخیره کنید." + }, + "enabled_in_config": { + "label": "حالت اصلی GenAI", + "description": "پیگیری می‌کند که آیا بررسی GenAI در ابتدا در پیکربندی استاتیک فعال بوده است یا خیر." + }, + "preferred_language": { + "label": "زبان ترجیحی", + "description": "زبان ترجیحی برای درخواست از ارائه‌دهنده GenAI برای پاسخ‌های تولید شده." + }, + "activity_context_prompt": { + "label": "اعلان زمینه فعالیت", + "description": "دستورالعمل سفارشی که فعالیت‌های مشکوک و غیرمشکوک را توصیف می‌کند تا زمینه‌ای برای خلاصه‌های GenAI فراهم کند." + } + } + }, + "semantic_search": { + "label": "جستجوی معنایی", + "description": "تنظیماتی برای جستجوی معنایی که جاسازی‌های شیء را می‌سازد و برای یافتن موارد مشابه، جستجو می‌کند.", + "triggers": { + "label": "محرک‌ها", + "description": "اقدامات و معیارهای تطبیق برای محرک‌های جستجوی معنایی خاص دوربین.", + "friendly_name": { + "label": "نام دوستانه", + "description": "نام دلخواه و کاربرپسندی که برای این تریگر در رابط کاربری نمایش داده می‌شود." + }, + "enabled": { + "label": "این تریگر را فعال کنید", + "description": "این محرک جستجوی معنایی را فعال یا غیرفعال کنید." + }, + "type": { + "label": "نوع ماشه", + "description": "نوع تریگر: «تصویر کوچک» (مطابقت با تصویر) یا «توضیحات» (مطابقت با متن)." + }, + "data": { + "label": "محتوای محرک", + "description": "عبارت متنی یا شناسه تصویر کوچک برای مطابقت با اشیاء ردیابی شده." + }, + "threshold": { + "label": "آستانه ماشه", + "description": "حداقل امتیاز شباهت (0-1) برای فعال کردن این تریگر مورد نیاز است." + }, + "actions": { + "label": "اقدامات محرک", + "description": "فهرست اقداماتی که باید هنگام تطبیق trigger اجرا شوند (اعلان، زیربرچسب، ویژگی)." + } + } + }, + "snapshots": { + "label": "عکس‌های فوری", + "description": "تنظیمات مربوط به عکس‌های JPEG ذخیره شده از اشیاء ردیابی شده برای این دوربین.", + "enabled": { + "label": "اسنپ‌شات‌ها فعال شدند", + "description": "ذخیره عکس‌های فوری برای این دوربین را فعال یا غیرفعال کنید." + }, + "clean_copy": { + "label": "ذخیره نسخه پاک", + "description": "علاوه بر عکس‌های فوری دارای حاشیه‌نویسی، یک کپی تمیز بدون حاشیه‌نویسی از عکس‌های فوری ذخیره کنید." + }, + "timestamp": { + "label": "روکش مهر زمانی", + "description": "یک مهر زمانی روی عکس‌های ذخیره شده قرار دهید." + }, + "bounding_box": { + "label": "پوشش جعبه مرزی", + "description": "برای اشیاء ردیابی شده روی عکس‌های فوری ذخیره شده، کادرهای مرزی رسم کنید." + }, + "crop": { + "label": "برش عکس فوری", + "description": "عکس‌های ذخیره‌شده را در کادر محدوده شیء شناسایی‌شده برش دهید." + }, + "required_zones": { + "label": "مناطق مورد نیاز", + "description": "مناطقی که یک شیء باید برای ذخیره شدن یک snapshot وارد آنها شود." + }, + "height": { + "label": "ارتفاع عکس فوری", + "description": "ارتفاع (پیکسل) برای تغییر اندازه عکس‌های ذخیره شده؛ برای حفظ اندازه اصلی، آن را خالی بگذارید." + }, + "retain": { + "label": "نگهداری اسنپ‌شات", + "description": "تنظیمات نگهداری برای اسنپ‌شات‌های ذخیره‌شده شامل روزهای پیش‌فرض و لغو هر شیء.", + "default": { + "label": "نگهداری پیش‌فرض", + "description": "تعداد روزهای پیش‌فرض برای نگهداری اسنپ‌شات‌ها." + }, + "mode": { + "label": "حالت نگهداری", + "description": "حالت نگهداری: همه (ذخیره همه بخش‌ها)، حرکت (ذخیره بخش‌های دارای حرکت) یا active_objects (ذخیره بخش‌های دارای اشیاء فعال)." + }, + "objects": { + "label": "نگهداری شیء", + "description": "برای هر شیء، تعداد روزهای نگهداری اسنپ‌شات را لغو می‌کند." + } + }, + "quality": { + "label": "کیفیت JPEG", + "description": "کیفیت کدگذاری JPEG برای عکس‌های ذخیره شده (0-100)." + } + }, + "timestamp_style": { + "label": "سبک مهر زمانی", + "description": "گزینه‌های استایل‌دهی برای مهرهای زمانی درون فید که برای ضبط‌ها و اسنپ‌شات‌ها اعمال می‌شوند.", + "position": { + "label": "موقعیت مهر زمانی", + "description": "موقعیت برچسب زمانی روی تصویر (tl/tr/bl/br)." + }, + "format": { + "label": "قالب مهر زمانی", + "description": "رشته‌ی قالب تاریخ و زمان که برای مهرهای زمانی استفاده می‌شود (کدهای قالب تاریخ و زمان پایتون)." + }, + "color": { + "label": "رنگ مهر زمانی", + "description": "مقادیر رنگ RGB برای متن مهر زمان (همه مقادیر ۰-۲۵۵).", + "red": { + "label": "قرمز", + "description": "جزء قرمز (۰-۲۵۵) برای رنگ مهر زمانی." + }, + "green": { + "label": "سبز", + "description": "جزء سبز (۰-۲۵۵) برای رنگ مهر زمانی." + }, + "blue": { + "label": "آبی", + "description": "جزء آبی (۰-۲۵۵) برای رنگ مهر زمانی." + } + }, + "thickness": { + "label": "ضخامت برچسب زمانی", + "description": "ضخامت خط متن برچسب زمانی." + }, + "effect": { + "label": "اثر مهر زمانی", + "description": "جلوه بصری برای متن مهر زمانی (هیچ، پر، سایه)." + } + }, + "best_image_timeout": { + "label": "بهترین زمان انقضای تصویر", + "description": "چقدر باید منتظر تصویری با بالاترین امتیاز اطمینان ماند." + }, + "mqtt": { + "description": "تنظیمات انتشار تصویر MQTT .", + "enabled": { + "label": "ارسال تصویر", + "description": "انتشار عکس‌های فوری از اشیاء در مباحث MQTT برای این دوربین را فعال کنید." + }, + "timestamp": { + "label": "اضافه کردن برچسب زمانی", + "description": "یک مهر زمانی روی تصاویر منتشر شده در MQTT قرار دهید." + }, + "bounding_box": { + "label": "کادر محدوده را اضافه کنید", + "description": "روی تصاویر منتشر شده از طریق MQTT، کادرهای مرزی رسم کنید." + }, + "crop": { + "label": "برش تصویر", + "description": "تصاویر منتشر شده در MQTT را بر اساس کادر محدودکننده شیء شناسایی شده برش دهید." + }, + "height": { + "label": "ارتفاع تصویر", + "description": "ارتفاع (پیکسل) برای تغییر اندازه تصاویر منتشر شده در MQTT." + }, + "required_zones": { + "label": "مناطق مورد نیاز", + "description": "مناطقی که یک شیء باید برای انتشار تصویر MQTT وارد آنها شود." + }, + "quality": { + "label": "کیفیت JPEG", + "description": "کیفیت JPEG برای تصاویر منتشر شده در MQTT (0-100)." + }, + "label": "MQTT یک پروتکل تبادل پیام سبک ." + }, + "notifications": { + "label": "اعلان‌ها", + "description": "تنظیمات برای فعال کردن و کنترل اعلان‌های این دوربین.", + "enabled": { + "label": "فعال کردن اعلان‌ها", + "description": "اعلان‌ها را برای این دوربین فعال یا غیرفعال کنید." + }, + "email": { + "label": "ایمیل اعلان", + "description": "آدرس ایمیلی که برای اعلان‌های فوری استفاده می‌شود یا توسط برخی از ارائه‌دهندگان اعلان مورد نیاز است." + }, + "cooldown": { + "label": "دوره استراحت (کول داون)", + "description": "بین اعلان‌ها (ثانیه) زمان برای خنک شدن در نظر بگیرید تا از ارسال هرزنامه به گیرندگان جلوگیری شود." + }, + "enabled_in_config": { + "label": "وضعیت اعلان‌های اصلی", + "description": "نشان می‌دهد که آیا اعلان‌ها در پیکربندی استاتیک اصلی فعال بوده‌اند یا خیر." + } + }, + "onvif": { + "description": "تنظیمات اتصال ONVIF و ردیابی خودکار PTZ برای این دوربین.", + "host": { + "label": "میزبان ONVIF", + "description": "میزبان (و طرح اختیاری) برای سرویس ONVIF برای این دوربین." + }, + "port": { + "label": "پورت ONVIF", + "description": "شماره پورت برای سرویس ONVIF." + }, + "user": { + "label": "نام کاربری ONVIF", + "description": "نام کاربری برای احراز هویت ONVIF؛ برخی از دستگاه‌ها برای ONVIF به کاربر ادمین نیاز دارند." + }, + "password": { + "label": "رمز عبور ONVIF", + "description": "رمز عبور برای احراز هویت ONVIF." + }, + "tls_insecure": { + "label": "غیرفعال کردن تأیید TLS", + "description": "از تأیید TLS صرف‌نظر کنید و مجوز خلاصه را برای ONVIF غیرفعال کنید (ناامن؛ فقط در شبکه‌های امن استفاده شود)." + }, + "autotracking": { + "label": "ردیابی خودکار", + "description": "با استفاده از حرکات دوربین PTZ، اشیاء متحرک را به طور خودکار ردیابی کرده و آنها را در مرکز قاب نگه دارید.", + "enabled": { + "label": "فعال کردن ردیابی خودکار", + "description": "فعال یا غیرفعال کردن ردیابی خودکار دوربین PTZ از اشیاء شناسایی شده." + }, + "calibrate_on_startup": { + "label": "کالیبره کردن در شروع", + "description": "سرعت موتورهای PTZ را در هنگام راه‌اندازی اندازه‌گیری کنید تا دقت ردیابی بهبود یابد. فریگیت پس از کالیبراسیون، پیکربندی را با movement_weights به‌روزرسانی می‌کند." + }, + "zooming": { + "label": "حالت بزرگنمایی", + "description": "کنترل رفتار زوم: غیرفعال (فقط حرکت افقی/عمودی)، مطلق (سازگارترین) یا نسبی (حرکت افقی/عمودی/بزرگنمایی همزمان)." + }, + "zoom_factor": { + "label": "ضریب بزرگنمایی", + "description": "سطح زوم را روی اشیاء ردیابی شده کنترل کنید. مقادیر پایین‌تر، صحنه بیشتری را در دید نگه می‌دارند؛ مقادیر بالاتر، نزدیک‌تر زوم می‌کنند اما ممکن است ردیابی را از دست بدهند. مقادیر بین ۰.۱ تا ۰.۷۵." + }, + "track": { + "label": "اشیاء ردیابی شده", + "description": "فهرست انواع اشیایی که باید ردیابی خودکار را فعال کنند." + }, + "required_zones": { + "label": "مناطق مورد نیاز", + "description": "اشیاء باید قبل از شروع ردیابی خودکار، وارد یکی از این مناطق شوند." + }, + "return_preset": { + "label": "بازگشت از پیش تعیین شده", + "description": "نام از پیش تعیین‌شده ONVIF که در میان‌افزار دوربین پیکربندی شده است تا پس از پایان ردیابی به آن بازگردد." + }, + "timeout": { + "label": "مهلت بازگشت", + "description": "چند ثانیه صبر کن پس از از دست دادن ردیابی قبل از بازگرداندن دوربین به موقعیت از پیش تعیین شده ." + }, + "movement_weights": { + "label": "وزنه‌های حرکتی", + "description": "مقادیر کالیبراسیون به طور خودکار توسط کالیبراسیون دوربین ایجاد می‌شوند. به صورت دستی تغییر ندهید." + }, + "enabled_in_config": { + "label": "حالت اتوترک اصلی", + "description": "فیلد داخلی برای ردیابی اینکه آیا ردیابی خودکار در پیکربندی فعال شده است یا خیر." + } + }, + "ignore_time_mismatch": { + "label": "عدم تطابق زمانی را نادیده بگیرید", + "description": "برای ارتباط ONVIF، از تفاوت‌های همگام‌سازی زمانی بین دوربین و سرور Frigate صرف نظر کنید." + }, + "label": "ONVIF پروتکل استاندارد انتقال تصویر ." + }, + "type": { + "label": "نوع دوربین", + "description": "نوع دوربین" + }, + "ui": { + "label": "رابط کاربری دوربین", + "description": "ترتیب نمایش و قابلیت مشاهده این دوربین در رابط کاربری. ترتیب نمایش، داشبورد پیش‌فرض را تحت تأثیر قرار می‌دهد. برای کنترل دقیق‌تر، از گروه‌های دوربین استفاده کنید.", + "order": { + "label": "سفارش رابط کاربری", + "description": "ترتیب عددی مورد استفاده برای مرتب‌سازی دوربین در رابط کاربری (داشبورد و لیست‌های پیش‌فرض)؛ اعداد بزرگتر بعداً ظاهر می‌شوند." + }, + "dashboard": { + "label": "نمایش در رابط کاربری", + "description": "مشخص کنید که آیا این دوربین در همه جای رابط کاربری Frigate قابل مشاهده باشد یا خیر. غیرفعال کردن این گزینه مستلزم ویرایش دستی پیکربندی برای مشاهده مجدد این دوربین در رابط کاربری است." + } + }, + "webui_url": { + "label": "آدرس اینترنتی دوربین", + "description": "آدرس اینترنتی برای بازدید مستقیم از دوربین از صفحه سیستم" + }, + "zones": { + "label": "مناطق", + "description": "مناطق به شما امکان می‌دهند ناحیه خاصی از قاب را تعریف کنید تا بتوانید تعیین کنید که آیا یک شیء در یک ناحیه خاص قرار دارد یا خیر.", + "friendly_name": { + "label": "نام منطقه", + "description": "یک نام کاربرپسند برای منطقه، که در رابط کاربری Frigate نمایش داده می‌شود. در صورت عدم تنظیم، از نسخه قالب‌بندی‌شده نام منطقه استفاده خواهد شد." + }, + "enabled": { + "label": "فعال شده", + "description": "فعال یا غیرفعال کردن این منطقه. مناطق غیرفعال در زمان اجرا نادیده گرفته می‌شوند." + }, + "enabled_in_config": { + "label": "وضعیت اولیه منطقه را پیگیری کنید." + }, + "filters": { + "label": "فیلترهای منطقه‌ای", + "description": "فیلترهایی برای اعمال روی اشیاء درون این منطقه. برای کاهش تشخیص‌های مثبت کاذب یا محدود کردن اینکه کدام اشیاء در این منطقه حضور دارند، استفاده می‌شود.", + "min_area": { + "label": "حداقل مساحت شیء", + "description": "حداقل مساحت کادر مرزی (پیکسل یا درصد) مورد نیاز برای این نوع شیء. می‌تواند پیکسل (عدد صحیح) یا درصد (اعداد شناور بین 0.000001 و 0.99) باشد." + }, + "max_area": { + "label": "حداکثر مساحت جسم", + "description": "حداکثر مساحت کادر محصورکننده (پیکسل یا درصد) مجاز برای این نوع شیء. می‌تواند پیکسل (عدد صحیح) یا درصد (اعداد شناور بین 0.000001 و 0.99) باشد." + }, + "min_ratio": { + "label": "حداقل نسبت ابعاد", + "description": "حداقل نسبت عرض/ارتفاع مورد نیاز برای واجد شرایط بودن کادر محصورکننده." + }, + "max_ratio": { + "label": "حداکثر نسبت ابعاد", + "description": "حداکثر نسبت عرض/ارتفاع مجاز برای واجد شرایط بودن کادر محصورکننده." + }, + "threshold": { + "label": "آستانه اطمینان", + "description": "میانگین آستانه اطمینان تشخیص مورد نیاز برای اینکه شیء مثبت واقعی در نظر گرفته شود." + }, + "min_score": { + "label": "حداقل اعتماد به نفس", + "description": "حداقل ضریب اطمینان تشخیص تک فریم مورد نیاز برای شمارش شیء." + }, + "mask": { + "label": "ماسک فیلتردار", + "description": "مختصات چندضلعی که مشخص می‌کند این فیلتر در کجای فریم اعمال می‌شود." + }, + "raw_mask": { + "label": "ماسک خام" + } + }, + "coordinates": { + "label": "مختصات", + "description": "مختصات چندضلعی که ناحیه‌ی منطقه را تعریف می‌کنند. می‌تواند یک رشته‌ی جدا شده با کاما یا لیستی از رشته‌های مختصات باشد. مختصات باید نسبی (0-1) یا مطلق (legacy) باشند." + }, + "distances": { + "label": "فواصل دنیای واقعی", + "description": "فواصل واقعی اختیاری برای هر ضلع چهارضلعی منطقه، که برای محاسبات سرعت یا مسافت استفاده می‌شود. در صورت تنظیم، باید دقیقاً ۴ مقدار داشته باشد." + }, + "inertia": { + "label": "قاب‌های اینرسی", + "description": "تعداد فریم‌های متوالی که یک شیء باید در منطقه شناسایی شود تا وجود آن در نظر گرفته شود. به فیلتر کردن تشخیص‌های گذرا کمک می‌کند." + }, + "loitering_time": { + "label": "ثانیه‌های سرگردان", + "description": "تعداد ثانیه‌هایی که یک شیء باید در منطقه مورد نظر باقی بماند تا به عنوان پرسه‌زنی در نظر گرفته شود. برای غیرفعال کردن تشخیص پرسه‌زنی، روی ۰ تنظیم کنید." + }, + "speed_threshold": { + "label": "حداقل سرعت", + "description": "حداقل سرعت (در واحدهای دنیای واقعی در صورت تنظیم فواصل) مورد نیاز برای اینکه یک شیء در منطقه موجود در نظر گرفته شود. برای فعال‌سازی‌های منطقه مبتنی بر سرعت استفاده می‌شود." + }, + "objects": { + "label": "اشیاء را فعال کنید", + "description": "فهرست انواع اشیاء (از labelmap) که می‌توانند این منطقه را فعال کنند. می‌تواند یک رشته یا فهرستی از رشته‌ها باشد. اگر خالی باشد، همه اشیاء در نظر گرفته می‌شوند." + } + }, + "enabled_in_config": { + "label": "وضعیت دوربین اصلی", + "description": "وضعیت اولیه دوربین را پیگیری کنید." + } +} diff --git a/web/public/locales/fa/config/global.json b/web/public/locales/fa/config/global.json index 0967ef424..2e17a72a7 100644 --- a/web/public/locales/fa/config/global.json +++ b/web/public/locales/fa/config/global.json @@ -1 +1,772 @@ -{} +{ + "audio": { + "label": "رویدادهای صوتی", + "enabled": { + "label": "فعال کردن تشخیص صدا" + }, + "max_not_heard": { + "label": "پایان مهلت", + "description": "تعداد ثانیه‌هایی که قبل از پایان رویداد صوتی، نوع صدای پیکربندی‌شده بدون آن باقی می‌ماند." + }, + "min_volume": { + "label": "حداقل صدا", + "description": "حداقل آستانه حجم RMS مورد نیاز برای اجرای تشخیص صدا؛ مقادیر پایین‌تر حساسیت را افزایش می‌دهند (مثلاً ۲۰۰ زیاد، ۵۰۰ متوسط، ۱۰۰۰ کم)." + }, + "listen": { + "label": "انواع گوش دادن", + "description": "فهرست انواع رویدادهای صوتی برای تشخیص (به عنوان مثال: پارس کردن، آژیر آتش، جیغ، گفتار، فریاد)." + }, + "filters": { + "label": "فیلترهای صوتی", + "description": "تنظیمات فیلتر بر اساس نوع صدا مانند آستانه‌های اطمینان که برای کاهش تشخیص‌های مثبت کاذب استفاده می‌شوند." + }, + "enabled_in_config": { + "label": "وضعیت صوتی اصلی", + "description": "نشان می‌دهد که آیا تشخیص صدا در ابتدا در فایل پیکربندی استاتیک فعال بوده است یا خیر." + }, + "num_threads": { + "label": "رشته‌های تشخیص", + "description": "تعداد رشته‌های مورد استفاده برای پردازش تشخیص صدا." + } + }, + "audio_transcription": { + "label": "رونویسی صوتی", + "description": "تنظیمات مربوط به رونویسی صوتی زنده و گفتاری که برای رویدادها و زیرنویس‌های زنده استفاده می‌شود.", + "live_enabled": { + "label": "رونویسی زنده", + "description": "فعال کردن پخش زنده رونویسی برای صدا هنگام دریافت آن." + }, + "enabled": { + "label": "فعال کردن رونویسی صوتی" + } + }, + "birdseye": { + "label": "چشم پرندگان", + "description": "تنظیمات نمای ترکیبی چشم پرنده که تصاویر چندین دوربین را در یک طرح واحد ترکیب می‌کند.", + "enabled": { + "label": "فعال کردن چشم پرندگان", + "description": "ویژگی نمای چشم پرندگان را فعال یا غیرفعال کنید." + }, + "mode": { + "label": "حالت ردیابی", + "description": "حالت گنجاندن دوربین‌ها در چشم پرنده: «اشیاء»، «حرکت» یا «پیوسته»." + }, + "order": { + "label": "موقعیت", + "description": "موقعیت عددی که ترتیب قرارگیری دوربین را در طرح چشم پرنده کنترل می‌کند." + } + }, + "detect": { + "label": "تشخیص شیء", + "description": "تنظیمات مربوط به نقش تشخیص/شناسایی که برای اجرای تشخیص شیء و مقداردهی اولیه ردیاب‌ها استفاده می‌شود.", + "enabled": { + "label": "‫تشخیص فعال شد" + }, + "height": { + "label": "تشخیص ارتفاع", + "description": "ارتفاع (پیکسل) فریم‌های مورد استفاده برای تشخیص جریان؛ برای استفاده از وضوح جریان اصلی، خالی بگذارید." + }, + "width": { + "label": "تشخیص عرض", + "description": "عرض (پیکسل) فریم‌های مورد استفاده برای تشخیص جریان؛ برای استفاده از وضوح جریان اصلی، خالی بگذارید." + }, + "fps": { + "label": "تشخیص فریم بر ثانیه - اف پی اس", + "description": "تعداد فریم در ثانیه مورد نظر برای اجرای تشخیص؛ مقادیر پایین‌تر، استفاده از CPU را کاهش می‌دهند (مقدار توصیه شده ۵ است، فقط در صورت ردیابی اشیاء با حرکت بسیار سریع، مقدار بالاتر - حداکثر ۱۰ - تنظیم شود)." + }, + "min_initialized": { + "label": "حداقل فریم‌های مقداردهی اولیه", + "description": "تعداد تشخیص‌های متوالی مورد نیاز قبل از ایجاد یک شیء ردیابی شده. برای کاهش مقداردهی اولیه نادرست، افزایش دهید. مقدار پیش‌فرض، fps تقسیم بر ۲ است." + }, + "max_disappeared": { + "label": "حداکثر فریم‌های ناپدید شده", + "description": "تعداد فریم‌هایی که قبل از اینکه شیء ردیابی شده ناپدید شده تلقی شود، تشخیص داده نمی‌شوند." + }, + "stationary": { + "label": "پیکربندی اشیاء ثابت", + "description": "تنظیماتی برای شناسایی و مدیریت اشیایی که برای مدتی ثابت می‌مانند.", + "interval": { + "label": "بازه ثابت", + "description": "هر چند وقت یکبار (بر حسب فریم) باید بررسی تشخیص برای تأیید یک شیء ثابت انجام شود." + }, + "threshold": { + "label": "آستانه ثابت", + "description": "تعداد فریم‌هایی که بدون تغییر موقعیت لازم هستند تا یک جسم به عنوان ثابت علامت‌گذاری شود." + }, + "max_frames": { + "label": "حداکثر فریم", + "description": "مدت زمانی که اشیاء ثابت قبل از دور انداختن ردیابی می‌شوند را محدود می‌کند.", + "default": { + "label": "حداکثر فریم‌های پیش‌فرض", + "description": "حداکثر فریم‌های پیش‌فرض برای ردیابی یک جسم ثابت قبل از توقف." + }, + "objects": { + "label": "فریم‌های حداکثر شیء", + "description": "برای ردیابی اشیاء ثابت، حداکثر فریم‌ها به ازای هر شیء لغو می‌شوند." + } + }, + "classifier": { + "label": "فعال کردن طبقه‌بندی بصری", + "description": "از یک طبقه‌بندی‌کننده بصری برای تشخیص اشیاء واقعاً ثابت حتی در مواقعی که کادرهای محصورکننده دچار لرزش می‌شوند، استفاده کنید." + } + }, + "annotation_offset": { + "label": "حاشیه‌نویسی افست", + "description": "میلی‌ثانیه برای جابجایی، تشخیص حاشیه‌نویسی‌ها برای ترازبندی بهتر کادرهای محدودکننده‌ی جدول زمانی با ضبط‌ها؛ می‌تواند مثبت یا منفی باشد." + } + }, + "face_recognition": { + "label": "تشخیص چهره", + "enabled": { + "label": "فعال کردن تشخیص چهره" + }, + "min_area": { + "label": "حداقل مساحت صورت", + "description": "حداقل مساحت (پیکسل) از کادر چهره شناسایی شده که برای تلاش برای شناسایی مورد نیاز است." + } + }, + "ffmpeg": { + "description": "تنظیمات FFmpeg شامل مسیر دودویی، آرگومان‌ها، گزینه‌های hwaccel و آرگومان‌های خروجی به ازای هر نقش.", + "path": { + "label": "مسیر FFmpeg", + "description": "مسیر فایل باینری FFmpeg برای استفاده یا نام مستعار نسخه (\"5.0\" یا \"7.0\")." + }, + "global_args": { + "description": "آرگومان‌های سراسری به فرآیندهای FFmpeg ارسال شدند.", + "label": "آرگومان‌های سراسری FFmpeg" + }, + "hwaccel_args": { + "label": "آرگومان‌های شتاب سخت‌افزاری", + "description": "آرگومان‌های شتاب سخت‌افزاری برای FFmpeg. تنظیمات پیش‌فرض مخصوص ارائه‌دهنده توصیه می‌شود." + }, + "input_args": { + "label": "آرگومان‌های ورودی", + "description": "آرگومان‌های ورودی اعمال شده به جریان‌های ورودی FFmpeg." + }, + "output_args": { + "label": "آرگومان‌های خروجی", + "description": "آرگومان‌های خروجی پیش‌فرض که برای نقش‌های مختلف FFmpeg مانند شناسایی و ضبط استفاده می‌شوند.", + "detect": { + "label": "تشخیص آرگومان‌های خروجی", + "description": "آرگومان‌های خروجی پیش‌فرض برای تشخیص جریان‌های نقش." + }, + "record": { + "label": "آرگومان‌های خروجی را ضبط کنید", + "description": "آرگومان‌های خروجی پیش‌فرض برای جریان‌های نقش رکورد." + } + }, + "apple_compatibility": { + "label": "سازگاری با اپل", + "description": "برای سازگاری بهتر با پخش‌کننده‌های اپل هنگام ضبط H.265، تگ‌گذاری HEVC را فعال کنید." + }, + "gpu": { + "label": "شاخص پردازنده گرافیکی", + "description": "در صورت وجود، شاخص GPU پیش‌فرض برای شتاب سخت‌افزاری استفاده می‌شود." + }, + "inputs": { + "label": "ورودی‌های دوربین", + "description": "فهرست تعاریف جریان ورودی (مسیرها و نقش‌ها) برای این دوربین.", + "path": { + "label": "مسیر ورودی", + "description": "آدرس اینترنتی یا مسیر جریان ورودی دوربین." + }, + "roles": { + "label": "نقش‌های ورودی", + "description": "نقش‌های این جریان ورودی." + }, + "global_args": { + "label": "آرگومان‌های سراسری FFmpeg", + "description": "آرگومان‌های سراسری FFmpeg برای این جریان ورودی." + }, + "hwaccel_args": { + "label": "آرگومان‌های شتاب سخت‌افزاری", + "description": "آرگومان‌های شتاب سخت‌افزاری برای این جریان ورودی." + }, + "input_args": { + "label": "آرگومان‌های ورودی", + "description": "‫آرگومان‌های ورودی مختص به این جریان." + } + }, + "label": "FFmpeg کدک", + "retry_interval": { + "label": "زمان تلاش مجدد FFmpeg", + "description": "ثانیه‌هایی برای انتظار قبل از تلاش برای اتصال مجدد جریان دوربین پس از خرابی. مقدار پیش‌فرض ۱۰ است." + } + }, + "live": { + "label": "پخش زنده", + "streams": { + "label": "نام‌های پخش زنده", + "description": "نگاشت نام‌های جریان پیکربندی‌شده به نام‌های restream/go2rtc مورد استفاده برای پخش زنده." + }, + "height": { + "label": "ارتفاع زنده", + "description": "ارتفاع (پیکسل) برای رندر کردن پخش زنده jsmpeg در رابط کاربری وب؛ باید <= تشخیص ارتفاع جریان باشد." + }, + "quality": { + "label": "کیفیت زنده", + "description": "کیفیت کدگذاری برای جریان jsmpeg (۱ بالاترین، ۳۱ پایین‌ترین)." + } + }, + "lpr": { + "label": "تشخیص پلاک خودرو", + "description": "تنظیمات تشخیص پلاک خودرو شامل آستانه‌های تشخیص، قالب‌بندی و پلاک‌های شناخته‌شده.", + "enabled": { + "label": "فعال کردن LPR" + }, + "expire_time": { + "label": "ثانیه‌ها منقضی می‌شوند", + "description": "مدت زمان (بر حسب ثانیه) که پس از آن پلاک دیده نشده از ردیاب حذف می‌شود (فقط برای دوربین‌های اختصاصی پلاکخوان)." + }, + "min_area": { + "label": "حداقل مساحت صفحه", + "description": "حداقل مساحت پلاک (پیکسل) مورد نیاز برای شناسایی." + }, + "enhancement": { + "label": "سطح ارتقاء", + "description": "سطح بهبود (0-10) برای اعمال روی محصولات بشقابی قبل از OCR؛ مقادیر بالاتر ممکن است همیشه نتایج را بهبود ندهند، سطوح بالاتر از 5 ممکن است فقط با بشقاب‌های شبانه کار کنند و باید با احتیاط استفاده شوند." + } + }, + "motion": { + "label": "تشخیص حرکت", + "enabled": { + "label": "فعال کردن تشخیص حرکت" + }, + "threshold": { + "label": "آستانه حرکت", + "description": "آستانه اختلاف پیکسل مورد استفاده توسط آشکارساز حرکت؛ مقادیر بالاتر حساسیت را کاهش می‌دهند (محدوده ۱-۲۵۵)." + }, + "lightning_threshold": { + "label": "آستانه رعد و برق", + "description": "آستانه‌ای برای تشخیص و نادیده گرفتن نوسانات کوتاه مدت نور (مقادیر کمتر، حساسیت بیشتر، بین ۰.۳ تا ۱.۰). این امر به طور کامل از تشخیص حرکت جلوگیری نمی‌کند؛ بلکه صرفاً باعث می‌شود که آشکارساز پس از عبور از آستانه، تجزیه و تحلیل فریم‌های اضافی را متوقف کند. ضبط‌های مبتنی بر حرکت همچنان در طول این رویدادها ایجاد می‌شوند." + }, + "skip_motion_threshold": { + "label": "رد شدن از آستانه حرکت", + "description": "اگر بیش از این بخش از تصویر در یک فریم تغییر کند، آشکارساز هیچ کادر حرکتی را برنمی‌گرداند و بلافاصله دوباره کالیبره می‌شود. این می‌تواند در مصرف CPU صرفه‌جویی کند و تشخیص‌های کاذب را در هنگام رعد و برق، طوفان و غیره کاهش دهد، اما ممکن است رویدادهای واقعی مانند ردیابی خودکار یک شیء توسط دوربین PTZ را از دست بدهد. انتخاب بین حذف چند مگابایت از فایل‌های ضبط شده در مقابل بررسی چند کلیپ کوتاه است. محدوده 0.0 تا 1.0." + }, + "improve_contrast": { + "label": "بهبود کنتراست", + "description": "قبل از تحلیل حرکت، بهبود کنتراست را روی فریم‌ها اعمال کنید تا به تشخیص کمک کند." + }, + "contour_area": { + "label": "ناحیه کانتور", + "description": "حداقل مساحت کانتور بر حسب پیکسل که برای شمارش یک کانتور حرکت لازم است." + }, + "delta_alpha": { + "label": "دلتا آلفا", + "description": "ضریب ترکیب آلفا که در تفاضل فریم برای محاسبه حرکت استفاده می‌شود." + }, + "frame_alpha": { + "label": "قاب آلفا", + "description": "مقدار آلفا هنگام ترکیب فریم‌ها برای پیش‌پردازش حرکت استفاده می‌شود." + }, + "frame_height": { + "label": "ارتفاع قاب", + "description": "ارتفاع بر حسب پیکسل برای مقیاس‌بندی فریم‌ها هنگام محاسبه حرکت." + }, + "mask": { + "label": "مختصات ماسک", + "description": "مختصات x و y مرتب شده که چندضلعی ماسک حرکت را که برای شامل/خارج کردن نواحی استفاده می‌شود، تعریف می‌کنند." + }, + "mqtt_off_delay": { + "label": "تأخیر خاموشی MQTT", + "description": "ثانیه‌هایی برای انتظار پس از آخرین حرکت، قبل از انتشار وضعیت «خاموش» MQTT." + }, + "enabled_in_config": { + "label": "حالت حرکت اصلی", + "description": "نشان می‌دهد که آیا تشخیص حرکت در پیکربندی استاتیک اصلی فعال بوده است یا خیر." + }, + "raw_mask": { + "label": "ماسک خام" + } + }, + "objects": { + "label": "اشیاء", + "description": "پیش‌فرض‌های ردیابی اشیا شامل برچسب‌هایی که باید ردیابی شوند و فیلترهای مربوط به هر شیء.", + "track": { + "label": "اشیاء برای ردیابی" + }, + "filters": { + "label": "فیلترهای شیء", + "description": "فیلترهایی که برای کاهش تشخیص‌های مثبت کاذب (مساحت، نسبت، اطمینان) روی اشیاء شناسایی‌شده اعمال می‌شوند.", + "min_area": { + "label": "حداقل مساحت شیء", + "description": "حداقل مساحت کادر مرزی (پیکسل یا درصد) مورد نیاز برای این نوع شیء. می‌تواند پیکسل (عدد صحیح) یا درصد (اعداد شناور بین 0.000001 و 0.99) باشد ترجمه ابی." + }, + "max_area": { + "label": "حداکثر مساحت جسم", + "description": "حداکثر مساحت کادر محصورکننده (پیکسل یا درصد) مجاز برای این نوع شیء. می‌تواند پیکسل (عدد صحیح) یا درصد (اعداد شناور بین 0.000001 و 0.99) باشد." + }, + "min_ratio": { + "label": "حداقل نسبت ابعاد", + "description": "حداقل نسبت عرض/ارتفاع مورد نیاز برای واجد شرایط بودن کادر محصورکننده." + }, + "max_ratio": { + "label": "حداکثر نسبت ابعاد", + "description": "حداکثر نسبت عرض/ارتفاع مجاز برای واجد شرایط بودن کادر محصورکننده." + }, + "threshold": { + "label": "آستانه اطمینان", + "description": "میانگین آستانه اطمینان تشخیص مورد نیاز برای اینکه شیء مثبت واقعی در نظر گرفته شود." + }, + "min_score": { + "label": "حداقل اعتماد به نفس", + "description": "حداقل ضریب اطمینان تشخیص تک فریم مورد نیاز برای شمارش شیء." + }, + "mask": { + "label": "ماسک فیلتردار", + "description": "مختصات چندضلعی که مشخص می‌کند این فیلتر در کجای فریم اعمال می‌شود." + }, + "raw_mask": { + "label": "ماسک خام" + } + }, + "mask": { + "label": "ماسک شیء", + "description": "چندضلعی ماسک برای جلوگیری از تشخیص اشیاء در نواحی مشخص شده استفاده می‌شود." + }, + "raw_mask": { + "label": "ماسک خام" + }, + "genai": { + "label": "پیکربندی شیء GenAI", + "description": "گزینه‌های GenAI برای توصیف اشیاء ردیابی شده و ارسال فریم‌ها برای تولید.", + "enabled": { + "label": "فعال کردن GenAI", + "description": "به طور پیش‌فرض، تولید توضیحات توسط GenAI را برای اشیاء ردیابی شده فعال کنید." + }, + "use_snapshot": { + "label": "از عکس‌های فوری استفاده کنید", + "description": "برای تولید توضیحات GenAI، به جای تصاویر کوچک از عکس‌های فوری اشیاء استفاده کنید." + }, + "prompt": { + "label": "درخواست زیرنویس", + "description": "الگوی پیش‌فرض اعلان که هنگام تولید توضیحات با GenAI استفاده می‌شود." + }, + "object_prompts": { + "label": "اعلان‌های شیء", + "description": "به ازای هر شیء، می‌توان خروجی‌های GenAI را برای برچسب‌های خاص سفارشی کرد." + }, + "objects": { + "label": "اشیاء GenAI", + "description": "فهرست برچسب‌های شیء که به‌طور پیش‌فرض برای GenAI ارسال می‌شوند." + }, + "required_zones": { + "label": "مناطق مورد نیاز", + "description": "مناطقی که باید وارد شوند تا اشیاء واجد شرایط تولید توصیف GenAI شوند." + }, + "debug_save_thumbnails": { + "label": "ذخیره ریز عکس‌ها", + "description": "تصاویر کوچک ارسال شده به GenAI را برای اشکال‌زدایی و بررسی ذخیره کنید." + }, + "send_triggers": { + "label": "محرک‌های GenAI", + "description": "مشخص می‌کند که چه زمانی فریم‌ها باید به GenAI ارسال شوند (در پایان، پس از به‌روزرسانی‌ها و غیره).", + "tracked_object_end": { + "label": "ارسال در انتها", + "description": "وقتی شیء ردیابی شده به پایان رسید، درخواستی به GenAI ارسال کنید." + }, + "after_significant_updates": { + "label": "محرک اولیه GenAI", + "description": "پس از تعداد مشخصی از به‌روزرسانی‌های مهم برای شیء ردیابی‌شده، درخواستی را به GenAI ارسال کنید." + } + }, + "enabled_in_config": { + "label": "حالت اصلی GenAI", + "description": "نشان می‌دهد که آیا GenAI در پیکربندی استاتیک اصلی فعال بوده است یا خیر." + } + } + }, + "record": { + "label": "ضبط", + "enabled": { + "label": "فعال کردن ضبط" + }, + "expire_interval": { + "label": "فاصله پاکسازی رکورد", + "description": "دقایق بین مراحل پاکسازی که بخش‌های ضبط‌شده‌ی منقضی‌شده را حذف می‌کنند." + }, + "continuous": { + "label": "نگهداری مداوم", + "description": "تعداد روزهایی که صرف نظر از اشیاء ردیابی شده یا حرکت، ضبط‌ها نگهداری می‌شوند. اگر فقط می‌خواهید ضبط‌های هشدارها و تشخیص‌ها را نگهداری کنید، روی ۰ تنظیم کنید.", + "days": { + "label": "روزهای نگهداری", + "description": "روزهایی که باید فایل‌های ضبط‌شده را نگه دارید." + } + }, + "motion": { + "label": "حفظ حرکت", + "description": "تعداد روزهایی که صرف نظر از اشیاء ردیابی شده، ضبط‌های ناشی از حرکت حفظ می‌شوند. اگر می‌خواهید فقط ضبط‌های هشدارها و تشخیص‌ها حفظ شوند، روی ۰ تنظیم کنید.", + "days": { + "label": "روزهای نگهداری", + "description": "روزهایی که باید فایل‌های ضبط‌شده را نگه دارید." + } + }, + "detections": { + "label": "حفظ تشخیص", + "description": "تنظیمات نگهداری ضبط برای رویدادهای تشخیص شامل مدت زمان ضبط قبل/بعد.", + "pre_capture": { + "label": "ثانیه‌های پیش از ثبت", + "description": "تعداد ثانیه‌ها قبل از رویداد تشخیص که باید در ضبط لحاظ شود." + }, + "post_capture": { + "label": "ثانیه‌های پس از ثبت", + "description": "تعداد ثانیه‌ها پس از رویداد تشخیص که باید در ضبط لحاظ شود." + }, + "retain": { + "label": "نگهداری رویداد", + "description": "تنظیمات نگهداری برای ضبط رویدادهای تشخیص.", + "days": { + "label": "روزهای نگهداری", + "description": "تعداد روزهایی که لازم است سوابق رویدادهای شناسایی‌شده نگهداری شوند." + }, + "mode": { + "label": "حالت نگهداری", + "description": "حالت نگهداری: همه (ذخیره همه بخش‌ها)، حرکت (ذخیره بخش‌های دارای حرکت) یا active_objects (ذخیره بخش‌های دارای اشیاء فعال)." + } + } + }, + "alerts": { + "label": "حفظ هشدار", + "description": "تنظیمات نگهداری ضبط برای رویدادهای هشدار شامل مدت زمان ضبط قبل/بعد از ضبط.", + "pre_capture": { + "label": "ثانیه‌های پیش از ثبت", + "description": "تعداد ثانیه‌ها قبل از رویداد تشخیص که باید در ضبط لحاظ شود." + }, + "post_capture": { + "label": "ثانیه‌های پس از ثبت", + "description": "تعداد ثانیه‌ها پس از رویداد تشخیص که باید در ضبط لحاظ شود." + }, + "retain": { + "label": "نگهداری رویداد", + "description": "تنظیمات نگهداری برای ضبط رویدادهای تشخیص.", + "days": { + "label": "روزهای نگهداری", + "description": "تعداد روزهایی که لازم است سوابق رویدادهای شناسایی‌شده نگهداری EMSebi شوند ." + }, + "mode": { + "label": "حالت نگهداری", + "description": "حالت نگهداری: همه (ذخیره همه بخش‌ها)، حرکت (ذخیره بخش‌های دارای حرکت) یا active_objects (ذخیره بخش‌های دارای اشیاء فعال)." + } + } + }, + "export": { + "label": "پیکربندی خروجی", + "description": "تنظیماتی که هنگام خروجی گرفتن از ویدیوهای ضبط شده مانند تایم‌لپس و شتاب سخت‌افزاری استفاده می‌شوند.", + "hwaccel_args": { + "label": "خروجی گرفتن از آرگومان‌های hwaccel", + "description": "آرگومان‌های شتاب سخت‌افزاری برای استفاده در عملیات صادرات/تبدیل کد." + } + }, + "preview": { + "label": "پیش‌نمایش پیکربندی", + "description": "تنظیماتی که کیفیت پیش‌نمایش‌های ضبط نمایش داده شده در رابط کاربری را کنترل می‌کنند.", + "quality": { + "label": "کیفیت پیش‌نمایش", + "description": "پیش‌نمایش سطح کیفیت (خیلی_پایین، پایین، متوسط، بالا، خیلی_بالا)." + } + }, + "enabled_in_config": { + "label": "وضعیت ضبط اولیه", + "description": "نشان می‌دهد که آیا ضبط در پیکربندی استاتیک اصلی فعال بوده است یا خیر." + } + }, + "review": { + "label": "نقد و بررسی", + "alerts": { + "label": "پیکربندی هشدارها", + "description": "تنظیماتی که برای اشیاء ردیابی شده هشدار ایجاد می‌کنند و نحوه‌ی حفظ هشدارها.", + "enabled": { + "label": "فعال کردن هشدارها" + }, + "labels": { + "label": "برچسب‌های هشدار", + "description": "فهرست برچسب‌های اشیاء که به عنوان هشدار واجد شرایط هستند (برای مثال: ماشین، شخص)." + }, + "required_zones": { + "label": "مناطق مورد نیاز", + "description": "مناطقی که یک شیء باید وارد آنها شود تا به عنوان هشدار در نظر گرفته شود؛ برای مجاز بودن هر منطقه‌ای، آن را خالی بگذارید." + }, + "enabled_in_config": { + "label": "وضعیت هشدارهای اصلی", + "description": "پیگیری می‌کند که آیا هشدارها در ابتدا در پیکربندی استاتیک فعال بوده‌اند یا خیر." + }, + "cutoff_time": { + "label": "زمان قطع هشدارها", + "description": "ثانیه‌هایی برای انتظار پس از عدم وجود فعالیت منجر به هشدار و سپس قطع هشدار." + } + }, + "detections": { + "label": "پیکربندی تشخیص‌ها", + "description": "تنظیمات ایجاد رویدادهای تشخیص (غیر هشدار) و مدت زمان نگهداری آنها.", + "enabled": { + "label": "فعال کردن تشخیص‌ها" + }, + "labels": { + "label": "برچسب‌های تشخیص", + "description": "فهرست برچسب‌های شیء که به عنوان رویدادهای تشخیص واجد شرایط هستند." + }, + "required_zones": { + "label": "مناطق مورد نیاز", + "description": "مناطقی که یک شیء باید وارد آنها شود تا تشخیص داده شود؛ برای مجاز بودن هر منطقه‌ای، خالی بگذارید." + }, + "cutoff_time": { + "label": "زمان قطع تشخیص", + "description": "ثانیه‌هایی برای انتظار پس از عدم مشاهده فعالیت منجر به تشخیص، قبل از قطع تشخیص." + }, + "enabled_in_config": { + "label": "وضعیت تشخیص‌های اولیه", + "description": "پیگیری می‌کند که آیا تشخیص‌ها در ابتدا در پیکربندی استاتیک فعال بوده‌اند یا خیر." + } + }, + "genai": { + "label": "پیکربندی GenAI", + "description": "استفاده از هوش مصنوعی مولد را برای تولید توضیحات و خلاصه موارد بررسی کنترل می‌کند.", + "enabled": { + "label": "فعال کردن توضیحات GenAI", + "description": "فعال یا غیرفعال کردن توضیحات و خلاصه‌های تولید شده توسط GenAI برای موارد بررسی." + }, + "alerts": { + "label": "فعال کردن GenAI برای هشدارها", + "description": "از GenAI برای تولید توضیحات برای موارد هشدار استفاده کنید." + }, + "detections": { + "label": "فعال کردن GenAI برای تشخیص‌ها", + "description": "از GenAI برای تولید توضیحات برای موارد تشخیص استفاده کنید." + }, + "image_source": { + "label": "منبع تصویر را بررسی کنید", + "description": "منبع تصاویر ارسال شده به GenAI («پیش‌نمایش» یا «ضبط‌ها»)؛ «ضبط‌ها» از فریم‌های با کیفیت بالاتر اما توکن‌های بیشتری استفاده می‌کنند." + }, + "additional_concerns": { + "label": "نگرانی‌های اضافی", + "description": "فهرستی از نگرانی‌ها یا نکات اضافی که GenAI باید هنگام ارزیابی فعالیت روی این دوربین در نظر بگیرد." + }, + "debug_save_thumbnails": { + "label": "ذخیره ریز عکس‌ها", + "description": "تصاویر کوچکی را که برای اشکال‌زدایی و بررسی به ارائه‌دهنده GenAI ارسال می‌شوند، ذخیره کنید." + }, + "enabled_in_config": { + "label": "حالت اصلی GenAI", + "description": "پیگیری می‌کند که آیا بررسی GenAI در ابتدا در پیکربندی استاتیک فعال بوده است یا خیر." + }, + "preferred_language": { + "label": "زبان ترجیحی", + "description": "زبان ترجیحی برای درخواست از ارائه‌دهنده GenAI برای پاسخ‌های تولید شده." + }, + "activity_context_prompt": { + "label": "اعلان زمینه فعالیت", + "description": "دستورالعمل سفارشی که فعالیت‌های مشکوک و غیرمشکوک را توصیف می‌کند تا زمینه‌ای برای خلاصه‌های GenAI فراهم کند." + } + } + }, + "semantic_search": { + "label": "جستجوی معنایی", + "triggers": { + "label": "محرک‌ها", + "description": "اقدامات و معیارهای تطبیق برای محرک‌های جستجوی معنایی خاص دوربین.", + "friendly_name": { + "label": "نام دوستانه", + "description": "نام دلخواه و کاربرپسندی که برای این تریگر در رابط کاربری نمایش داده می‌شود." + }, + "enabled": { + "label": "این تریگر را فعال کنید", + "description": "این محرک جستجوی معنایی را فعال یا غیرفعال کنید." + }, + "type": { + "label": "نوع ماشه", + "description": "نوع تریگر: «تصویر کوچک» (مطابقت با تصویر) یا «توضیحات» (مطابقت با متن)." + }, + "data": { + "label": "محتوای محرک", + "description": "عبارت متنی یا شناسه تصویر کوچک برای مطابقت با اشیاء ردیابی شده." + }, + "threshold": { + "label": "آستانه ماشه", + "description": "حداقل امتیاز شباهت (0-1) برای فعال کردن این تریگر مورد نیاز است." + }, + "actions": { + "label": "اقدامات محرک", + "description": "فهرست اقداماتی که باید هنگام تطبیق trigger اجرا شوند (اعلان، زیربرچسب، ویژگی)." + } + } + }, + "snapshots": { + "label": "عکس‌های فوری", + "enabled": { + "label": "اسنپ‌شات‌ها فعال شدند" + }, + "clean_copy": { + "label": "ذخیره نسخه پاک", + "description": "علاوه بر عکس‌های فوری دارای حاشیه‌نویسی، یک کپی تمیز بدون حاشیه‌نویسی از عکس‌های فوری ذخیره کنید." + }, + "timestamp": { + "label": "روکش مهر زمانی", + "description": "یک مهر زمانی روی عکس‌های ذخیره شده قرار دهید." + }, + "bounding_box": { + "label": "پوشش جعبه مرزی", + "description": "برای اشیاء ردیابی شده روی عکس‌های فوری ذخیره شده، کادرهای مرزی رسم کنید." + }, + "crop": { + "label": "برش عکس فوری", + "description": "عکس‌های ذخیره‌شده را در کادر محدوده شیء شناسایی‌شده برش دهید." + }, + "required_zones": { + "label": "مناطق مورد نیاز", + "description": "مناطقی که یک شیء باید برای ذخیره شدن یک snapshot وارد آنها شود." + }, + "height": { + "label": "ارتفاع عکس فوری", + "description": "ارتفاع (پیکسل) برای تغییر اندازه عکس‌های ذخیره شده؛ برای حفظ اندازه اصلی، آن را خالی بگذارید." + }, + "retain": { + "label": "نگهداری اسنپ‌شات", + "description": "تنظیمات نگهداری برای اسنپ‌شات‌های ذخیره‌شده شامل روزهای پیش‌فرض و لغو هر شیء.", + "default": { + "label": "نگهداری پیش‌فرض", + "description": "تعداد روزهای پیش‌فرض برای نگهداری اسنپ‌شات‌ها." + }, + "mode": { + "label": "حالت نگهداری", + "description": "حالت نگهداری: همه (ذخیره همه بخش‌ها)، حرکت (ذخیره بخش‌های دارای حرکت) یا active_objects (ذخیره بخش‌های دارای اشیاء فعال)." + }, + "objects": { + "label": "نگهداری شیء", + "description": "برای هر شیء، تعداد روزهای نگهداری اسنپ‌شات را لغو می‌کند." + } + }, + "quality": { + "label": "کیفیت JPEG", + "description": "کیفیت کدگذاری JPEG برای عکس‌های ذخیره شده (0-100)." + } + }, + "timestamp_style": { + "label": "سبک مهر زمانی", + "position": { + "label": "موقعیت مهر زمانی", + "description": "موقعیت برچسب زمانی روی تصویر (tl/tr/bl/br)." + }, + "format": { + "label": "قالب مهر زمانی", + "description": "رشته‌ی قالب تاریخ و زمان که برای مهرهای زمانی استفاده می‌شود (کدهای قالب تاریخ و زمان پایتون)." + }, + "color": { + "label": "رنگ مهر زمانی", + "description": "مقادیر رنگ RGB برای متن مهر زمان (همه مقادیر ۰-۲۵۵).", + "red": { + "label": "قرمز", + "description": "جزء قرمز (۰-۲۵۵) برای رنگ مهر زمانی." + }, + "green": { + "label": "سبز", + "description": "جزء سبز (۰-۲۵۵) برای رنگ مهر زمانی." + }, + "blue": { + "label": "آبی", + "description": "جزء آبی (۰-۲۵۵) برای رنگ مهر زمانی." + } + }, + "thickness": { + "label": "ضخامت برچسب زمانی", + "description": "ضخامت خط متن برچسب زمانی." + }, + "effect": { + "label": "اثر مهر زمانی", + "description": "جلوه بصری برای متن مهر زمانی (هیچ، پر، سایه)." + } + }, + "notifications": { + "label": "اعلان‌ها", + "enabled": { + "label": "فعال کردن اعلان‌ها" + }, + "email": { + "label": "ایمیل اعلان", + "description": "آدرس ایمیلی که برای اعلان‌های فوری استفاده می‌شود یا توسط برخی از ارائه‌دهندگان اعلان مورد نیاز است." + }, + "cooldown": { + "label": "دوره استراحت (کول داون)", + "description": "بین اعلان‌ها (ثانیه) زمان برای خنک شدن در نظر بگیرید تا از ارسال هرزنامه به گیرندگان جلوگیری شود." + }, + "enabled_in_config": { + "label": "وضعیت اعلان‌های اصلی", + "description": "نشان می‌دهد که آیا اعلان‌ها در پیکربندی استاتیک اصلی فعال بوده‌اند یا خیر." + } + }, + "onvif": { + "description": "تنظیمات اتصال ONVIF و ردیابی خودکار PTZ برای این دوربین.", + "host": { + "label": "میزبان ONVIF", + "description": "میزبان (و طرح اختیاری) برای سرویس ONVIF برای این دوربین." + }, + "port": { + "label": "پورت ONVIF", + "description": "شماره پورت برای سرویس ONVIF." + }, + "user": { + "label": "نام کاربری ONVIF", + "description": "نام کاربری برای احراز هویت ONVIF؛ برخی از دستگاه‌ها برای ONVIF به کاربر ادمین نیاز دارند." + }, + "password": { + "label": "رمز عبور ONVIF", + "description": "رمز عبور برای احراز هویت ONVIF." + }, + "tls_insecure": { + "label": "غیرفعال کردن تأیید TLS", + "description": "از تأیید TLS صرف‌نظر کنید و مجوز خلاصه را برای ONVIF غیرفعال کنید (ناامن؛ فقط در شبکه‌های امن استفاده شود)." + }, + "autotracking": { + "label": "ردیابی خودکار", + "description": "با استفاده از حرکات دوربین PTZ، اشیاء متحرک را به طور خودکار ردیابی کرده و آنها را در مرکز قاب نگه دارید.", + "enabled": { + "label": "فعال کردن ردیابی خودکار", + "description": "فعال یا غیرفعال کردن ردیابی خودکار دوربین PTZ از اشیاء شناسایی شده." + }, + "calibrate_on_startup": { + "label": "کالیبره کردن در شروع", + "description": "سرعت موتورهای PTZ را در هنگام راه‌اندازی اندازه‌گیری کنید تا دقت ردیابی بهبود یابد. فریگیت پس از کالیبراسیون، پیکربندی را با movement_weights به‌روزرسانی می‌کند." + }, + "zooming": { + "label": "حالت بزرگنمایی", + "description": "کنترل رفتار زوم: غیرفعال (فقط حرکت افقی/عمودی)، مطلق (سازگارترین) یا نسبی (حرکت افقی/عمودی/بزرگنمایی همزمان)." + }, + "zoom_factor": { + "label": "ضریب بزرگنمایی", + "description": "سطح زوم را روی اشیاء ردیابی شده کنترل کنید. مقادیر پایین‌تر، صحنه بیشتری را در دید نگه می‌دارند؛ مقادیر بالاتر، نزدیک‌تر زوم می‌کنند اما ممکن است ردیابی را از دست بدهند. مقادیر بین ۰.۱ تا ۰.۷۵." + }, + "track": { + "label": "اشیاء ردیابی شده", + "description": "فهرست انواع اشیایی که باید ردیابی خودکار را فعال کنند." + }, + "required_zones": { + "label": "مناطق مورد نیاز", + "description": "اشیاء باید قبل از شروع ردیابی خودکار، وارد یکی از این مناطق شوند." + }, + "return_preset": { + "label": "بازگشت از پیش تعیین شده", + "description": "نام از پیش تعیین‌شده ONVIF که در میان‌افزار دوربین پیکربندی شده است تا پس از پایان ردیابی به آن بازگردد." + }, + "timeout": { + "label": "مهلت بازگشت", + "description": "چند ثانیه صبر کن پس از از دست دادن ردیابی قبل از بازگرداندن دوربین به موقعیت از پیش تعیین شده ." + }, + "movement_weights": { + "label": "وزنه‌های حرکتی", + "description": "مقادیر کالیبراسیون به طور خودکار توسط کالیبراسیون دوربین ایجاد می‌شوند. به صورت دستی تغییر ندهید." + }, + "enabled_in_config": { + "label": "حالت اتوترک اصلی", + "description": "فیلد داخلی برای ردیابی اینکه آیا ردیابی خودکار در پیکربندی فعال شده است یا خیر." + } + }, + "ignore_time_mismatch": { + "label": "عدم تطابق زمانی را نادیده بگیرید", + "description": "برای ارتباط ONVIF، از تفاوت‌های همگام‌سازی زمانی بین دوربین و سرور Frigate صرف نظر کنید." + }, + "label": "ONVIF پروتکل استاندارد انتقال تصویر ." + }, + "mqtt": { + "label": "MQTT یک پروتکل تبادل پیام سبک ." + } +} diff --git a/web/public/locales/fa/views/classificationModel.json b/web/public/locales/fa/views/classificationModel.json index b61d55e4d..8fa0371a6 100644 --- a/web/public/locales/fa/views/classificationModel.json +++ b/web/public/locales/fa/views/classificationModel.json @@ -148,7 +148,7 @@ "description": "برای بهترین نتیجه، توصیه می‌شود برای همهٔ حالت‌ها نمونه انتخاب کنید. می‌توانید بدون انتخاب همهٔ حالت‌ها ادامه دهید، اما تا زمانی که همهٔ حالت‌ها تصویر نداشته باشند مدل آموزش داده نمی‌شود. پس از ادامه، از نمای «طبقه‌بندی‌های اخیر» برای طبقه‌بندی تصاویرِ حالت‌های جاافتاده استفاده کنید، سپس مدل را آموزش دهید." }, "allImagesRequired_one": "لطفاً همهٔ تصاویر را طبقه‌بندی کنید. {{count}} تصویر باقی مانده است.", - "allImagesRequired_other": "لطفاً همهٔ تصاویر را طبقه‌بندی کنید. {{count}} تصویر باقی مانده است.", + "allImagesRequired_other": "لطفاً همهٔ تصاویر را طبقه‌بندی کنید. {{count}} تصویرها باقی مانده است.", "training": { "title": "در حال آموزش مدل", "description": "مدل شما در پس‌زمینه در حال آموزش است. این پنجره را ببندید؛ به‌محض تکمیل آموزش، مدل شما شروع به اجرا می‌کند." diff --git a/web/public/locales/fa/views/exports.json b/web/public/locales/fa/views/exports.json index 46aec6287..c280aa553 100644 --- a/web/public/locales/fa/views/exports.json +++ b/web/public/locales/fa/views/exports.json @@ -13,11 +13,16 @@ "shareExport": "اشتراک‌گذاری خروجی", "downloadVideo": "دانلود ویدئو", "editName": "ویرایش نام", - "deleteExport": "حذف خروجی" + "deleteExport": "حذف خروجی", + "assignToCase": "به مورد اضافه کنید" }, "toast": { "error": { "renameExportFailed": "تغییر نام خروجی ناموفق بود: {{errorMessage}}" } + }, + "headings": { + "cases": "موارد", + "uncategorizedExports": "خروجی دسته‌بندی نشده" } } diff --git a/web/public/locales/fa/views/faceLibrary.json b/web/public/locales/fa/views/faceLibrary.json index 4cf24c268..18b3cfaf0 100644 --- a/web/public/locales/fa/views/faceLibrary.json +++ b/web/public/locales/fa/views/faceLibrary.json @@ -2,7 +2,8 @@ "description": { "addFace": "با بارگزاری اولین عکستان، یک مجموعه جدید به کتابخانه چهره اضافه کنید.", "placeholder": "نامی برای این مجموعه وارد کنید", - "invalidName": "نام نامعتبر، نام ها فقط می توانند شامل حروف، اعداد، فاصله، آپستروف، زیرخط و خط فاصله باشند." + "invalidName": "نام نامعتبر، نام ها فقط می توانند شامل حروف، اعداد، فاصله، آپستروف، زیرخط و خط فاصله باشند.", + "nameCannotContainHash": "نام نمی‌تواند شامل # باشد ." }, "details": { "timestamp": "زمان دقیق", @@ -56,7 +57,7 @@ "deleteFaceAttempts": { "title": "حذف چهره‌ها", "desc_one": "آیا مطمئن هستید که می‌خواهید {{count}} چهره را حذف کنید؟ این عمل قابل بازگشت نیست.", - "desc_other": "آیا مطمئن هستید که می‌خواهید {{count}} چهره را حذف کنید؟ این عمل قابل بازگشت نیست." + "desc_other": "آیا مطمئن هستید که می‌خواهید {{count}} چهره ها را حذف کنید؟ این عمل قابل بازگشت نیست." }, "renameFace": { "title": "تغییر نام چهره", diff --git a/web/public/locales/fa/views/settings.json b/web/public/locales/fa/views/settings.json index d2f7ce17b..e69dd9a25 100644 --- a/web/public/locales/fa/views/settings.json +++ b/web/public/locales/fa/views/settings.json @@ -117,7 +117,7 @@ "label": "اندازهٔ مدل", "desc": "اندازهٔ مدلی که برای بردارهای جست‌وجوی معنایی استفاده می‌شود.", "small": { - "desc": "استفاده از small از نسخهٔ کوانتیزهٔ مدل استفاده می‌کند که RAM کم‌تری مصرف می‌کند و روی CPU سریع‌تر اجرا می‌شود، با تفاوت بسیار ناچیز در کیفیت embedding.", + "desc": "استفاده از small از نسخهٔ کوانتیزهٔ مدل استفاده می‌کند که RAM کم‌تری مصرف می‌کند و روی CPU سریع‌تر اجرا می‌شود، با تفاوت بسیار ناچیز در کیفیت داخلی.", "title": "کوچک" }, "large": { @@ -479,7 +479,7 @@ "add": "افزودن ناحیه", "edit": "ویرایش ناحیه", "point_one": "{{count}} نقطه", - "point_other": "{{count}} نقطه", + "point_other": "{{count}} نقطه ها", "clickDrawPolygon": "برای رسم یک چندضلعی روی تصویر کلیک کنید.", "loiteringTime": { "desc": "یک حداقل زمان (به ثانیه) تعیین می‌کند که شیء باید در ناحیه باشد تا فعال شود. پیش‌فرض: 0 ", @@ -533,7 +533,7 @@ "title": "ماسک‌های حرکت برای جلوگیری از این‌که انواع ناخواستهٔ حرکت باعث فعال‌شدن تشخیص شوند استفاده می‌شوند (مثلاً شاخه‌های درخت، مهر زمانیِ دوربین). ماسک‌های حرکت باید با نهایت صرفه‌جویی استفاده شوند؛ ماسک‌گذاریِ بیش‌ازحد باعث می‌شود ردیابی اشیا دشوارتر شود." }, "point_one": "{{count}} نقطه", - "point_other": "{{count}} نقطه", + "point_other": "{{count}} نقطه ها", "clickDrawPolygon": "برای رسم یک چندضلعی روی تصویر کلیک کنید.", "polygonAreaTooLarge": { "title": "ماسک حرکت {{polygonArea}}٪ از قاب دوربین را پوشش می‌دهد. ماسک‌های حرکتِ بزرگ توصیه نمی‌شوند.", @@ -562,7 +562,7 @@ "edit": "ویرایش ماسک شیء", "context": "ماسک‌های فیلترِ شیء برای فیلتر کردن مثبت‌های کاذب برای یک نوع شیء مشخص بر اساس موقعیت استفاده می‌شوند.", "point_one": "{{count}} نقطه", - "point_other": "{{count}} نقطه", + "point_other": "{{count}} نقطه ها", "clickDrawPolygon": "برای رسم یک چندضلعی روی تصویر کلیک کنید.", "toast": { "success": { @@ -588,7 +588,7 @@ } }, "motionMaskLabel": "ماسک حرکت {{number}}", - "objectMaskLabel": "ماسک شیء {{number}} ( {{label}})" + "objectMaskLabel": "ماسک شیء {{number}}" }, "motionDetectionTuner": { "title": "تنظیم‌گر تشخیص حرکت", diff --git a/web/public/locales/fa/views/system.json b/web/public/locales/fa/views/system.json index 090d4a97f..f2ac7eb03 100644 --- a/web/public/locales/fa/views/system.json +++ b/web/public/locales/fa/views/system.json @@ -142,7 +142,7 @@ "cameraDetectionsPerSecond": "تشخیص‌ها در ثانیهٔ {{camName}}", "camera": "دوربین", "skipped": "رد شد", - "ffmpeg": "FFmpeg", + "ffmpeg": "کدک FFmpeg", "overallFramesPerSecond": "نرخ کلی فریم بر ثانیه", "overallSkippedDetectionsPerSecond": "نرخ کلی تشخیص‌های ردشده بر ثانیه", "cameraDetect": "تشخیص {{camName}}", From 3097dea65c3bde16ef6b4187e9271c35fd8c88f4 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:28 +0100 Subject: [PATCH 10/13] Translated using Weblate (Albanian) Currently translated at 30.0% (69 of 230 strings) Co-authored-by: Hosted Weblate Co-authored-by: Sali Maloku Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sq/ Translation: Frigate NVR/common --- web/public/locales/sq/common.json | 86 ++++++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 1 deletion(-) diff --git a/web/public/locales/sq/common.json b/web/public/locales/sq/common.json index 0967ef424..91c74b368 100644 --- a/web/public/locales/sq/common.json +++ b/web/public/locales/sq/common.json @@ -1 +1,85 @@ -{} +{ + "time": { + "never": "Kurrë", + "ago": "{{timeAgo}} më parë", + "today": "Sot", + "yesterday": "Dje", + "last7": "7 ditët e fundit", + "last14": "14 ditët e fundit", + "last30": "30 ditët e fundit", + "thisWeek": "Këtë javë", + "lastWeek": "Javën e kaluar", + "thisMonth": "Këtë muaj", + "lastMonth": "Muajin e kaluar", + "5minutes": "5 minuta", + "10minutes": "10 minuta", + "30minutes": "30 minuta", + "1hour": "1 orë", + "12hours": "12 orë", + "24hours": "24 orë", + "pm": "mbasdite", + "am": "paradite" + }, + "unit": { + "data": { + "kbps": "kB/s", + "mbps": "MB/s", + "gbps": "GB/s", + "kbph": "kB/orë", + "mbph": "MB/orë", + "gbph": "GB/orë" + } + }, + "label": { + "back": "Kthehu pas", + "hide": "Fsheh {{item}}", + "show": "Shfaq {{item}}", + "ID": "ID", + "none": "Asnjë", + "all": "Të gjitha", + "other": "Tjetër" + }, + "list": { + "two": "{{0}} dhe {{1}}", + "many": "{{items}}, dhe {{last}}", + "separatorWithSpace": ", " + }, + "field": { + "optional": "Opsionale", + "internalID": "ID-ja e brendshme që Frigate përdor në konfigurim dhe në databazë" + }, + "button": { + "add": "Shto", + "apply": "Vendos", + "applying": "Duke vendosur…", + "reset": "Rivendos", + "undo": "Zhbëj", + "done": "Përfunduar", + "enabled": "Aktivizuar", + "enable": "Aktivizo", + "disabled": "Deaktivizuar", + "disable": "Deaktivizo", + "save": "Ruaj", + "saving": "Duke ruajtur…", + "cancel": "Anulo", + "close": "Mbyll", + "copy": "Kopjo", + "copiedToClipboard": "Kopjuar në clipboard", + "back": "Pas", + "history": "Historia", + "fullscreen": "Ekran i plotë", + "exitFullscreen": "Dil nga ekrani i plotë", + "pictureInPicture": "Fotografi në fotografi (PiP)", + "twoWayTalk": "Komunikim dyanësor", + "cameraAudio": "Zëri i kamerës", + "on": "Aktiv", + "off": "Joaktiv", + "edit": "Ndrysho", + "copyCoordinates": "Kopjo koordinatat", + "delete": "Fshij", + "yes": "Po", + "no": "Jo", + "download": "Shkarko", + "info": "Info" + } +} From b828a5a78ae33e0fdf6c31b6dc21b595cc23b6ca Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:29 +0100 Subject: [PATCH 11/13] Translated using Weblate (Korean) Currently translated at 5.7% (7 of 122 strings) Translated using Weblate (Korean) Currently translated at 100.0% (230 of 230 strings) Translated using Weblate (Korean) Currently translated at 28.3% (21 of 74 strings) Translated using Weblate (Korean) Currently translated at 100.0% (22 of 22 strings) Translated using Weblate (Korean) Currently translated at 14.2% (7 of 49 strings) Translated using Weblate (Korean) Currently translated at 12.0% (3 of 25 strings) Translated using Weblate (Korean) Currently translated at 100.0% (58 of 58 strings) Translated using Weblate (Korean) Currently translated at 100.0% (10 of 10 strings) Translated using Weblate (Korean) Currently translated at 66.6% (114 of 171 strings) Translated using Weblate (Korean) Currently translated at 43.4% (10 of 23 strings) Translated using Weblate (Korean) Currently translated at 79.6% (43 of 54 strings) Translated using Weblate (Korean) Currently translated at 0.2% (3 of 1084 strings) Translated using Weblate (Korean) Currently translated at 15.3% (140 of 915 strings) Translated using Weblate (Korean) Currently translated at 100.0% (98 of 98 strings) Translated using Weblate (Korean) Currently translated at 13.9% (70 of 501 strings) Translated using Weblate (Korean) Currently translated at 12.3% (17 of 138 strings) Translated using Weblate (Korean) Currently translated at 0.6% (3 of 467 strings) Co-authored-by: Hosted Weblate Co-authored-by: John Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/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/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ko/ 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-dialog Translation: Frigate NVR/components-filter Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-live Translation: Frigate NVR/views-search Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/ko/audio.json | 4 +- web/public/locales/ko/common.json | 8 +- web/public/locales/ko/components/auth.json | 3 +- web/public/locales/ko/components/dialog.json | 18 ++- web/public/locales/ko/components/filter.json | 10 +- web/public/locales/ko/config/cameras.json | 8 +- web/public/locales/ko/config/global.json | 10 +- web/public/locales/ko/config/groups.json | 12 +- web/public/locales/ko/config/validation.json | 33 ++++- .../locales/ko/views/classificationModel.json | 14 +- web/public/locales/ko/views/explore.json | 8 +- web/public/locales/ko/views/exports.json | 3 + web/public/locales/ko/views/faceLibrary.json | 8 +- web/public/locales/ko/views/live.json | 16 ++- web/public/locales/ko/views/search.json | 8 +- web/public/locales/ko/views/settings.json | 126 ++++++++++++++++-- web/public/locales/ko/views/system.json | 6 +- 17 files changed, 253 insertions(+), 42 deletions(-) diff --git a/web/public/locales/ko/audio.json b/web/public/locales/ko/audio.json index d9db04e9f..812746c7c 100644 --- a/web/public/locales/ko/audio.json +++ b/web/public/locales/ko/audio.json @@ -45,7 +45,7 @@ "chant": "성가", "mantra": "만트라", "child_singing": "어린이 노래", - "synthetic_singing": "Synthetic Singing", + "synthetic_singing": "합성 가창", "rapping": "랩", "humming": "허밍", "groan": "신음", @@ -61,7 +61,7 @@ "sneeze": "재채기", "sniff": "훌쩍", "run": "달리기", - "shuffle": "Shuffle", + "shuffle": "임의 재생", "footsteps": "발소리", "chewing": "씹는 소리", "biting": "치는 소리", diff --git a/web/public/locales/ko/common.json b/web/public/locales/ko/common.json index b7632271e..103e54c1f 100644 --- a/web/public/locales/ko/common.json +++ b/web/public/locales/ko/common.json @@ -183,7 +183,8 @@ "uiPlayground": "UI 실험실", "faceLibrary": "얼굴 라이브러리", "classification": "분류", - "chat": "채팅" + "chat": "채팅", + "actions": "작업" }, "unit": { "speed": { @@ -258,7 +259,8 @@ "resetToDefault": "기본값으로 재설정", "saveAll": "모두 저장", "savingAll": "모두 저장 중. …", - "undoAll": "모두 실행 취소" + "undoAll": "모두 실행 취소", + "applying": "적용 중…" }, "toast": { "copyUrlToClipboard": "클립보드에 URL이 복사되었습니다.", @@ -277,7 +279,7 @@ "desc": "관리자는 Frigate UI에 모든 접근 권한이 있습니다. 감시자는 카메라 감시, 돌아보기, 과거 영상 조회만 가능합니다." }, "pagination": { - "label": "나눠보기", + "label": "페이지 번호", "previous": { "title": "이전", "label": "이전 페이지" diff --git a/web/public/locales/ko/components/auth.json b/web/public/locales/ko/components/auth.json index 65df51e36..ad8e1fa8d 100644 --- a/web/public/locales/ko/components/auth.json +++ b/web/public/locales/ko/components/auth.json @@ -10,6 +10,7 @@ "loginFailed": "로그인 실패", "unknownError": "알려지지 않은 에러. 로그를 확인하세요.", "webUnknownError": "알려지지 않은 에러. 콘솔 로그를 확인하세요." - } + }, + "firstTimeLogin": "처음 로그인하시나요? 로그인 정보는 Frigate 로그에 있습니다." } } diff --git a/web/public/locales/ko/components/dialog.json b/web/public/locales/ko/components/dialog.json index af6c16556..9a1c9edeb 100644 --- a/web/public/locales/ko/components/dialog.json +++ b/web/public/locales/ko/components/dialog.json @@ -12,7 +12,8 @@ "explore": { "plus": { "submitToPlus": { - "label": "Frigate+에 등록하기" + "label": "Frigate+에 등록하기", + "desc": "제외하려는 위치에서 감지된 객체는 '오감지(False Positive)'가 아닙니다. 이를 오감지로 제출하면 모델 학습에 혼선을 줄 수 있습니다." }, "review": { "question": { @@ -62,6 +63,10 @@ "fromTimeline": { "saveExport": "내보내기 저장", "previewExport": "내보내기 미리보기" + }, + "case": { + "label": "유형", + "placeholder": "유형 선택" } }, "streaming": { @@ -106,7 +111,16 @@ "button": { "export": "내보내기", "markAsReviewed": "검토 완료로 표시", - "markAsUnreviewed": "검토 안 함 표시" + "markAsUnreviewed": "검토 안 함 표시", + "deleteNow": "지금 삭제" } + }, + "imagePicker": { + "selectImage": "추적된 객체의 썸네일을 선택하세요", + "unknownLabel": "저장된 트리거 이미지", + "search": { + "placeholder": "레이블 또는 서브 레이블로 검색..." + }, + "noImages": "표시할 썸네일이 없습니다" } } diff --git a/web/public/locales/ko/components/filter.json b/web/public/locales/ko/components/filter.json index 942b97c7d..e3f3e6ab1 100644 --- a/web/public/locales/ko/components/filter.json +++ b/web/public/locales/ko/components/filter.json @@ -5,7 +5,9 @@ "all": { "title": "모든 레이블", "short": "레이블" - } + }, + "count_one": "레이블 {{count}}개", + "count_other": "레이블 {{count}}개" }, "zones": { "label": "구역", @@ -15,7 +17,7 @@ } }, "dates": { - "selectPreset": "프리셋 선택", + "selectPreset": "프리셋 선택…", "all": { "title": "모든 날짜", "short": "날짜" @@ -31,7 +33,9 @@ "label": "분류", "all": { "title": "모든 분류" - } + }, + "count_one": "{{count}}개 클래스", + "count_other": "{{count}}개 클래스" }, "reset": { "label": "기본값으로 필터 초기화" diff --git a/web/public/locales/ko/config/cameras.json b/web/public/locales/ko/config/cameras.json index 0967ef424..3f64349db 100644 --- a/web/public/locales/ko/config/cameras.json +++ b/web/public/locales/ko/config/cameras.json @@ -1 +1,7 @@ -{} +{ + "label": "카메라 설정", + "name": { + "label": "카메라 이름", + "description": "카메라 이름은 필수 항목입니다" + } +} diff --git a/web/public/locales/ko/config/global.json b/web/public/locales/ko/config/global.json index 0967ef424..f2cdb1059 100644 --- a/web/public/locales/ko/config/global.json +++ b/web/public/locales/ko/config/global.json @@ -1 +1,9 @@ -{} +{ + "version": { + "label": "현재 설정 버전", + "description": "마이그레이션 및 데이터 형식 변경 확인을 위한 현재 설정의 버전 정보(숫자 또는 문자열)입니다." + }, + "safe_mode": { + "label": "안전 모드" + } +} diff --git a/web/public/locales/ko/config/groups.json b/web/public/locales/ko/config/groups.json index 0967ef424..78b422e83 100644 --- a/web/public/locales/ko/config/groups.json +++ b/web/public/locales/ko/config/groups.json @@ -1 +1,11 @@ -{} +{ + "audio": { + "global": { + "detection": "전체 감지", + "sensitivity": "전체 민감도" + }, + "cameras": { + "detection": "감지" + } + } +} diff --git a/web/public/locales/ko/config/validation.json b/web/public/locales/ko/config/validation.json index 0967ef424..3e0a5a2b1 100644 --- a/web/public/locales/ko/config/validation.json +++ b/web/public/locales/ko/config/validation.json @@ -1 +1,32 @@ -{} +{ + "minimum": "최소 {{limit}} 이상", + "maximum": "최대 {{limit}} 이하", + "exclusiveMinimum": "최소 {{limit}} 초과", + "exclusiveMaximum": "최대 {{limit}} 미만", + "minLength": "{{limit}}자 이상이어야 합니다", + "maxLength": "{{limit}}자 이하여야 합니다", + "minItems": "{{limit}}개 이상이어야 합니다", + "maxItems": "{{limit}}개 이하여야 합니다", + "pattern": "잘못된 형식", + "required": "이 항목은 필수 입력 사항입니다", + "type": "잘못된 유형입니다", + "enum": "허용된 값 중 하나여야 합니다", + "const": "값이 예상된 상수와 일치하지 않습니다", + "uniqueItems": "모든 항목은 고유해야 합니다", + "format": "잘못된 형식", + "additionalProperties": "알 수 없는 속성은 허용되지 않습니다", + "oneOf": "허용된 형식 중 하나와 일치해야 합니다", + "anyOf": "허용된 형식 중 최소 하나와 일치해야 합니다", + "proxy": { + "header_map": { + "roleHeaderRequired": "역할 매핑이 설정된 경우 역할 헤더(Role header)가 필수입니다." + } + }, + "ffmpeg": { + "inputs": { + "rolesUnique": "각 역할은 하나의 입력 스트림에만 할당할 수 있습니다.", + "detectRequired": "최소 하나의 입력 스트림에 'detect' 역할이 할당되어야 합니다.", + "hwaccelDetectOnly": "하드웨어 가속 설정은 'detect' 스트림에서만 가능합니다." + } + } +} diff --git a/web/public/locales/ko/views/classificationModel.json b/web/public/locales/ko/views/classificationModel.json index 0967ef424..227621f10 100644 --- a/web/public/locales/ko/views/classificationModel.json +++ b/web/public/locales/ko/views/classificationModel.json @@ -1 +1,13 @@ -{} +{ + "documentTitle": "분류 모델 - Frigate", + "details": { + "scoreInfo": "점수는 해당 객체에 대한 모든 탐지 결과의 평균 분류 신뢰도를 나타냅니다.", + "none": "없음", + "unknown": "알 수 없음" + }, + "button": { + "deleteClassificationAttempts": "분류 이미지 삭제", + "renameCategory": "클래스 이름 변경", + "deleteCategory": "클래스 삭제" + } +} diff --git a/web/public/locales/ko/views/explore.json b/web/public/locales/ko/views/explore.json index 231eade30..513d90d84 100644 --- a/web/public/locales/ko/views/explore.json +++ b/web/public/locales/ko/views/explore.json @@ -5,7 +5,7 @@ "exploreIsUnavailable": { "title": "탐색을 사용할 수 없습니다", "embeddingsReindexing": { - "context": "감지 정보 재처리가 완료되면 탐색할 수 있습니다.", + "context": "추적된 객체의 임베딩 색인 재구성이 완료된 후 '탐색' 기능을 사용할 수 있습니다.", "startingUp": "시작 중…", "estimatedTime": "예상 남은시간:", "finishingShortly": "곧 완료됩니다", @@ -18,10 +18,10 @@ "downloadingModels": { "context": "Frigate가 시맨틱 검색 기능을 지원하기 위해 필요한 임베딩 모델을 다운로드하고 있습니다. 네트워크 연결 속도에 따라 몇 분 정도 소요될 수 있습니다.", "setup": { - "visionModel": "Vision model", - "visionModelFeatureExtractor": "Vision model feature extractor", + "visionModel": "비전 모델", + "visionModelFeatureExtractor": "비전 모델 특징 추출기", "textModel": "Text model", - "textTokenizer": "Text tokenizer" + "textTokenizer": "텍스트 토크나이저" } } }, diff --git a/web/public/locales/ko/views/exports.json b/web/public/locales/ko/views/exports.json index f4c902602..94b1a5ab7 100644 --- a/web/public/locales/ko/views/exports.json +++ b/web/public/locales/ko/views/exports.json @@ -13,5 +13,8 @@ "error": { "renameExportFailed": "내보내기 이름 변경에 실패했습니다: {{errorMessage}}" } + }, + "headings": { + "uncategorizedExports": "분류되지 않은 내보내기" } } diff --git a/web/public/locales/ko/views/faceLibrary.json b/web/public/locales/ko/views/faceLibrary.json index 9f001d24d..a04ac45cc 100644 --- a/web/public/locales/ko/views/faceLibrary.json +++ b/web/public/locales/ko/views/faceLibrary.json @@ -2,14 +2,16 @@ "description": { "placeholder": "이 모음집의 이름을 입력해주세요", "addFace": "안면인식 라이브러리에서 첫 사진을 업로드해 새로운 컬렉션을 만들어보세요.", - "invalidName": "잘못된 이름입니다. 이름은 문자, 숫자, 공백, 따옴표 ('), 밑줄 (_), 그리고 붙임표 (-)만 포함이 가능합니다." + "invalidName": "잘못된 이름입니다. 이름은 문자, 숫자, 공백, 따옴표 ('), 밑줄 (_), 그리고 붙임표 (-)만 포함이 가능합니다.", + "nameCannotContainHash": "이름에 #을 포함할 수 없습니다." }, "details": { "person": "사람", "subLabelScore": "보조 레이블 신뢰도", "face": "얼굴 상세정보", "timestamp": "시간 기록", - "unknown": "알 수 없음" + "unknown": "알 수 없음", + "scoreInfo": "점수는 각 이미지에서 얼굴의 크기를 가중치로 적용하여 모든 얼굴 점수의 평균을 낸 값입니다." }, "selectItem": "{{item}} 선택", "documentTitle": "얼굴 라이브러리 - Frigate", @@ -69,7 +71,7 @@ "deletedFace_other": "{{count}} 얼굴을 성공적으로 삭제했습니다.", "renamedFace": "얼굴 이름을 {{name}} 으로 성공적으로 바꿨습니다", "trainedFace": "얼굴 훈련을 성공적으로 마쳤습니다.", - "updatedFaceScore": "얼굴 신뢰도를 성공적으로 업데이트 했습니다." + "updatedFaceScore": "{{name}} 얼굴 점수 업데이트 성공 {{score}}." }, "error": { "uploadingImageFailed": "이미지 업로드 실패:{{errorMessage}}", diff --git a/web/public/locales/ko/views/live.json b/web/public/locales/ko/views/live.json index bfc44d18f..5a825a08f 100644 --- a/web/public/locales/ko/views/live.json +++ b/web/public/locales/ko/views/live.json @@ -172,7 +172,21 @@ "noCameras": { "title": "설정된 카메라 없음", "description": "카메라를 연결해 시작하세요.", - "buttonText": "카메라 추가" + "buttonText": "카메라 추가", + "restricted": { + "title": "연결된 카메라 없음", + "description": "이 그룹의 카메라를 볼 권한이 없습니다." + }, + "default": { + "title": "설정된 카메라 없음", + "description": "카메라를 연결하여 Frigate을 시작하세요.", + "buttonText": "카메라 추가" + }, + "group": { + "title": "그룹에 카메라 없음", + "description": "이 그룹에 할당되거나 활성화된 카메라가 없습니다.", + "buttonText": "그룹 관리" + } }, "snapshot": { "takeSnapshot": "인스턴트 스냅샷 다운로드", diff --git a/web/public/locales/ko/views/search.json b/web/public/locales/ko/views/search.json index f7a6cfd83..b898fb826 100644 --- a/web/public/locales/ko/views/search.json +++ b/web/public/locales/ko/views/search.json @@ -2,6 +2,10 @@ "search": "검색", "savedSearches": "저장된 검색들", "button": { - "clear": "검색 초기화" - } + "clear": "검색 초기화", + "save": "검색 저장", + "filterInformation": "필터 정보", + "delete": "저장된 검색 삭제" + }, + "searchFor": "{{inputValue}} 검색" } diff --git a/web/public/locales/ko/views/settings.json b/web/public/locales/ko/views/settings.json index a5b1d5580..969d92d08 100644 --- a/web/public/locales/ko/views/settings.json +++ b/web/public/locales/ko/views/settings.json @@ -25,15 +25,18 @@ "default": "설정 - Frigate", "authentication": "인증 설정 - Frigate", "camera": "카메라 설정 - Frigate", - "enrichments": "고급 설정 - Frigate", + "enrichments": "데이터 보강 설정 - Frigate", "masksAndZones": "마스크와 구역 편집기 - Frigate", "motionTuner": "움직임 감지 조정 - Frigate", "object": "디버그 - Frigate", - "general": "일반 설정 - Frigate", + "general": "프로필 설정 - Frigate", "frigatePlus": "Frigate+ 설정 - Frigate", "notifications": "알림 설정 - Frigate", "cameraManagement": "카메라 관리 - Frigate", - "cameraReview": "카메라 다시보기 설정 - Frigate" + "cameraReview": "카메라 다시보기 설정 - Frigate", + "globalConfig": "전체 설정 - Frigate", + "cameraConfig": "카메라 설정 - Frigate", + "maintenance": "유지 관리 - Frigate" }, "users": { "table": { @@ -42,7 +45,7 @@ }, "menu": { "ui": "UI", - "enrichments": "고급", + "enrichments": "데이터 보강", "cameras": "카메라 설정", "masksAndZones": "마스크 / 구역", "motionTuner": "움직임 감지 조정", @@ -53,7 +56,63 @@ "notifications": "알림", "frigateplus": "Frigate+", "cameraManagement": "관리", - "cameraReview": "다시보기" + "cameraReview": "다시보기", + "general": "일반", + "globalConfig": "전체 설정", + "system": "시스템", + "integrations": "연동", + "profileSettings": "프로필 설정", + "globalDetect": "객체 감지", + "globalRecording": "녹화", + "globalSnapshots": "스냅샷", + "globalFfmpeg": "FFmpeg", + "globalMotion": "동적 감지", + "globalObjects": "객체", + "globalReview": "리뷰", + "globalAudioEvents": "오디오 이벤트", + "globalLivePlayback": "실시간 재생", + "globalTimestampStyle": "타임스탬프 스타일", + "systemDatabase": "데이터베이스", + "systemTls": "TLS", + "systemAuthentication": "인증", + "systemNetworking": "네트워크", + "systemProxy": "프록시", + "systemUi": "UI", + "systemLogging": "로그", + "systemEnvironmentVariables": "환경 변수", + "systemTelemetry": "시스템 통계", + "systemBirdseye": "전체 상황 보기", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "감지기 하드웨어", + "systemDetectionModel": "감지 모델", + "systemMqtt": "MQTT", + "integrationSemanticSearch": "의미론적 검색", + "integrationGenerativeAi": "생성형 AI", + "integrationFaceRecognition": "얼굴 인식", + "integrationLpr": "번호판 인식", + "integrationObjectClassification": "객체 분류", + "integrationAudioTranscription": "오디오 전사", + "cameraDetect": "객체 감지", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "녹화", + "cameraSnapshots": "스냅샷", + "cameraMotion": "동적 감지", + "cameraObjects": "객체", + "cameraConfigReview": "리뷰", + "cameraAudioEvents": "오디오 이벤트", + "cameraAudioTranscription": "오디오 전사", + "cameraNotifications": "알림", + "cameraLivePlayback": "실시간 재생", + "cameraBirdseye": "전체 상황", + "cameraFaceRecognition": "얼굴 인식", + "cameraLpr": "번호판 인식", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "카메라 UI", + "cameraTimestampStyle": "타임스탬프 스타일", + "cameraMqtt": "카메라 MQTT", + "mediaSync": "미디어 동기화", + "regionGrid": "영역 격자" }, "dialog": { "unsavedChanges": { @@ -66,16 +125,24 @@ "noCamera": "카메라 없음" }, "general": { - "title": "일반 세팅", + "title": "프로필 설정", "liveDashboard": { - "title": "실시간 보기 대시보드", + "title": "실시간 대시보드", "automaticLiveView": { - "label": "자동으로 실시간 보기 전환", - "desc": "활동이 감지되면 자동으로 실시간 보기로 전환합니다. 이 옵션을 끄면 대시보드의 카메라 화면은 1분마다 한 번만 갱신됩니다." + "label": "실시간 화면 자동 전환", + "desc": "활동이 감지되면 해당 카메라의 실시간 화면으로 자동 전환합니다. 이 옵션을 비활성화하면 실시간 대시보드의 정지된 카메라 이미지가 1분마다 한 번씩만 업데이트됩니다." }, "playAlertVideos": { - "label": "경보 영상 보기", - "desc": "기본적으로 실시간 보기 대시보드의 최근 경보 영상을 작은 반복 영상으로 재생됩니다. 이 옵션을 끄면 이 기기(또는 브라우저)에서는 정적 이미지로만 표시됩니다." + "label": "알림 영상 재생", + "desc": "기본적으로 실시간 대시보드의 최근 알림은 작은 반복 재생 영상으로 표시됩니다. 이 옵션을 비활성화하면 현재 기기나 브라우저에서 최근 알림을 정지된 이미지로만 보여줍니다." + }, + "displayCameraNames": { + "label": "카메라 이름 항상 표시", + "desc": "다중 카메라 실시간 대시보드에서 카메라 이름을 항상 칩 형태로 표시합니다." + }, + "liveFallbackTimeout": { + "label": "실시간 재생 대기 시간", + "desc": "카메라의 고화질 실시간 스트리밍을 사용할 수 없을 때, 지정된 시간이 지나면 저대역폭 모드로 전환합니다. 기본값: 3초." } }, "storedLayouts": { @@ -116,7 +183,40 @@ } }, "enrichments": { - "title": "고급 설정", - "unsavedChanges": "변경된 고급 설정을 저장하지 않았습니다" + "title": "데이터 보강 설정", + "unsavedChanges": "변경된 데이터 보강 설정을 저장하지 않았습니다", + "birdClassification": { + "title": "조류 분류", + "desc": "조류 분류 기능은 양자화된 TensorFlow 모델을 사용하여 알려진 새를 식별합니다. 알려진 새가 인식되면 해당 새의 일반적인 이름이 하위 분류로 추가됩니다. 이 정보는 사용자 인터페이스, 필터 및 알림에 포함됩니다." + }, + "semanticSearch": { + "reindexNow": { + "label": "색인 재구성 시작", + "desc": "색인을 재구성하면 모든 추적된 객체의 임베딩을 다시 생성합니다. 이 작업은 백그라운드에서 실행되며, 추적된 객체의 수에 따라 CPU 점유율이 최대치에 도달하거나 상당한 시간이 소요될 수 있습니다.", + "confirmTitle": "색인 재구성 확인", + "confirmDesc": "정말로 모든 추적된 객체의 임베딩 색인을 재구성하시겠습니까? 이 작업은 백그라운드에서 실행되지만, CPU 점유율이 최대치에 도달하거나 상당한 시간이 소요될 수 있습니다. 진행 상황은 '탐색' 페이지에서 확인하실 수 있습니다.", + "confirmButton": "색인 재구성", + "success": "색인 재구성이 정상적으로 시작되었습니다.", + "alreadyInProgress": "색인 재구성이 이미 진행 중입니다.", + "error": "색인 재구성을 시작하지 못했습니다: {{errorMessage}}" + } + } + }, + "saveAllPreview": { + "title": "저장할 변경 사항", + "triggerLabel": "대기 중인 변경 사항 검토", + "empty": "대기 중인 변경 사항 없음.", + "scope": { + "label": "적용 범위", + "global": "전체", + "camera": "카메라: {{cameraName}}" + }, + "field": { + "label": "항목" + }, + "value": { + "label": "새 값", + "reset": "초기화" + } } } diff --git a/web/public/locales/ko/views/system.json b/web/public/locales/ko/views/system.json index 4ed89d1ce..dc6609496 100644 --- a/web/public/locales/ko/views/system.json +++ b/web/public/locales/ko/views/system.json @@ -3,7 +3,7 @@ "cameras": "카메라 통계 - Frigate", "storage": "저장소 통계 - Frigate", "general": "기본 통계 - Frigate", - "enrichments": "고급 통계 - Frigate", + "enrichments": "데이터 보강 통계 - Frigate", "logs": { "frigate": "Frigate 로그 -Frigate", "go2rtc": "Go2RTC 로그 - Frigate", @@ -160,14 +160,14 @@ "ffmpegHighCpuUsage": "{{camera}} FFmpeg CPU 사용량이 높습니다 ({{ffmpegAvg}}%)", "detectHighCpuUsage": "{{camera}} 감지 CPU 사용량이 높습니다 ({{detectAvg}}%)", "healthy": "시스템 정상", - "reindexingEmbeddings": "Reindexing embeddings ({{processed}}% complete)", + "reindexingEmbeddings": "검색 데이터 재정리 중 ({{processed}}% 완료)", "cameraIsOffline": "{{camera}} 오프라인입니다", "detectIsSlow": "{{detect}} (이/가) 느립니다 ({{speed}} ms)", "detectIsVerySlow": "{{detect}} (이/가) 매우 느립니다 ({{speed}} ms)", "shmTooLow": "/dev/shm 할당량을 ({{total}} MB) 최소 {{min}} MB 이상 증가시켜야합니다." }, "enrichments": { - "title": "추가 분석 정보", + "title": "데이터 보강", "infPerSecond": "초당 추론 속도", "embeddings": { "image_embedding": "이미지 임베딩", From f8b2ca4fd5b8977b18bc1d652e93eed2373ebe2d Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:31 +0100 Subject: [PATCH 12/13] Translated using Weblate (Slovenian) Currently translated at 100.0% (122 of 122 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (54 of 54 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (62 of 62 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (98 of 98 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (49 of 49 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (6 of 6 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (915 of 915 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (501 of 501 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (171 of 171 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (138 of 138 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (23 of 23 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (10 of 10 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (118 of 118 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (501 of 501 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (22 of 22 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (10 of 10 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (58 of 58 strings) Translated using Weblate (Slovenian) Currently translated at 69.3% (43 of 62 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (230 of 230 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (2 of 2 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (118 of 118 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (74 of 74 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (2 of 2 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (25 of 25 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (25 of 25 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (46 of 46 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (467 of 467 strings) Translated using Weblate (Slovenian) Currently translated at 100.0% (1084 of 1084 strings) Co-authored-by: Hosted Weblate Co-authored-by: thehijacker Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-input/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sl/ 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-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-recording Translation: Frigate NVR/views-search Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/sl/audio.json | 490 +++- web/public/locales/sl/common.json | 276 ++- web/public/locales/sl/components/auth.json | 12 +- web/public/locales/sl/components/camera.json | 56 +- web/public/locales/sl/components/dialog.json | 91 +- web/public/locales/sl/components/filter.json | 84 +- web/public/locales/sl/components/icons.json | 4 +- web/public/locales/sl/components/input.json | 2 +- web/public/locales/sl/components/player.json | 32 +- web/public/locales/sl/config/cameras.json | 942 ++++++- web/public/locales/sl/config/global.json | 2193 ++++++++++++++++- web/public/locales/sl/config/groups.json | 74 +- web/public/locales/sl/config/validation.json | 33 +- web/public/locales/sl/objects.json | 76 +- .../locales/sl/views/classificationModel.json | 196 +- web/public/locales/sl/views/configEditor.json | 16 +- web/public/locales/sl/views/events.json | 73 +- web/public/locales/sl/views/explore.json | 214 +- web/public/locales/sl/views/exports.json | 24 +- web/public/locales/sl/views/faceLibrary.json | 89 +- web/public/locales/sl/views/live.json | 156 +- web/public/locales/sl/views/recording.json | 4 +- web/public/locales/sl/views/search.json | 58 +- web/public/locales/sl/views/settings.json | 1387 +++++++++-- web/public/locales/sl/views/system.json | 201 +- 25 files changed, 5877 insertions(+), 906 deletions(-) diff --git a/web/public/locales/sl/audio.json b/web/public/locales/sl/audio.json index 4c2bf4f8f..8a1294dea 100644 --- a/web/public/locales/sl/audio.json +++ b/web/public/locales/sl/audio.json @@ -1,90 +1,90 @@ { "speech": "Govor", - "babbling": "Blebetanje", - "yell": "Kričanje", + "babbling": "Mrmranje", + "yell": "Vpitje", "whispering": "Šepetanje", - "laughter": "Smejanje", - "crying": "Jokanje", + "laughter": "Smeh", + "crying": "Jok", "sigh": "Vzdih", "singing": "Petje", "yodeling": "Jodlanje", - "rapping": "Rapanje", + "rapping": "Repanje", "run": "Tek", "whistling": "Žvižganje", "breathing": "Dihanje", "snoring": "Smrčanje", "cough": "Kašelj", "animal": "Žival", - "pets": "Ljubljenčki", + "pets": "Hišni ljubljenčki", "dog": "Pes", - "cat": "Maček", - "meow": "Mijav", + "cat": "Mačka", + "meow": "Mijavkanje", "horse": "Konj", - "moo": "Muu", + "moo": "Mukanje", "cowbell": "Kravji zvonec", - "pig": "Pujs", + "pig": "Prašič", "goat": "Koza", "sheep": "Ovca", "chicken": "Kokoš", "turkey": "Puran", "duck": "Raca", - "goose": "Gos", - "bird": "Ptič", + "goose": "Gozd", + "bird": "Ptica", "radio": "Radio", "television": "Televizija", - "footsteps": "Stopinje", + "footsteps": "Koraki", "bus": "Avtobus", "train": "Vlak", - "toothbrush": "Ščetka za zobe", - "bark": "Lajanje", - "mouse": "Miš", + "toothbrush": "Zobna ščetka", + "bark": "Lubje", + "mouse": "Miška", "keyboard": "Tipkovnica", - "boat": "Ladja", - "vehicle": "Prevozno sredstvo", + "boat": "Čoln", + "vehicle": "Vozilo", "car": "Avto", "motorcycle": "Motor", "bicycle": "Kolo", - "skateboard": "Skejt", + "skateboard": "Skejtbord", "door": "Vrata", "sink": "Umivalnik", - "blender": "Sekljalnik", + "blender": "Mešalnik", "hair_dryer": "Fen", "scissors": "Škarje", "clock": "Ura", "camera": "Kamera", - "bellow": "Spodaj", - "whoop": "Ups", - "musical_instrument": "Glasbeni inštrument", + "bellow": "Rjovenje", + "whoop": "Vriskanje", + "musical_instrument": "Glasbilo", "choir": "Zbor", "burping": "Riganje", "hiccup": "Kolcanje", "fart": "Prdenje", "hands": "Roke", - "finger_snapping": "Tleskanje s prsti", + "finger_snapping": "Pokanje s prsti", "clapping": "Ploskanje", "heartbeat": "Utrip srca", "cheering": "Navijanje", "applause": "Aplavz", "crowd": "Množica", - "children_playing": "Igranje otrok", - "howl": "Auuu", + "children_playing": "Otroška igra", + "howl": "Tuljenje", "purr": "Predenje", "hiss": "Sikanje", "livestock": "Živina", "cattle": "Govedo", - "quack": "Ga-ga", - "cluck": "Kokodak", - "cock_a_doodle_doo": "Kikiriki", - "bleat": "Mee", - "neigh": "I-ha ha", - "chirp": "Čiv-čiv", + "quack": "Gaganje", + "cluck": "Kokodakanje", + "cock_a_doodle_doo": "Kikirikanje", + "bleat": "Megetanje", + "neigh": "Frčanje", + "chirp": "Čivkanje", "pigeon": "Golob", - "coo": "Gru-gru", + "coo": "Gruljenje", "crow": "Vrana", - "caw": "Kra", + "caw": "Krakanje", "owl": "Sova", - "hoot": "Hu-hu", - "flapping_wings": "Plapolanje kril", + "hoot": "Skovikanje", + "flapping_wings": "Mahanje s krili", "dogs": "Psi", "rats": "Podgane", "insect": "Insekt", @@ -98,48 +98,406 @@ "electric_guitar": "Električna kitara", "bass_guitar": "Bas kitara", "acoustic_guitar": "Akustična kitara", - "strum": "Brenkanje", - "banjo": "Bendžo", + "strum": "Brenkaš", + "banjo": "Bandžo", "sitar": "Sitar", "mandolin": "Mandolina", "ukulele": "Ukulele", "piano": "Klavir", - "electric_piano": "Digitalni klavir", - "organ": "Orgle", - "electronic_organ": "Digitalne orgle", - "chant": "Spev", + "electric_piano": "Električni klavir", + "organ": "Orgale", + "electronic_organ": "Elektronske orgle", + "chant": "Prepevanje", "mantra": "Mantra", "child_singing": "Otroško petje", "synthetic_singing": "Sintetično petje", - "humming": "Brenčanje", - "groan": "Stok", - "grunt": "Godrnjanje", - "wheeze": "Zadihan izdih", - "gasp": "Glasen Vzdih", - "pant": "Sopihanje", - "snort": "Smrkanje", + "humming": "Mrmranje (melodija)", + "groan": "Ston", + "grunt": "Frktanje", + "wheeze": "Sopenje", + "gasp": "Hlastanje za zrakom", + "pant": "Pihanje", + "snort": "Frkanje", "throat_clearing": "Odkašljevanje", "sneeze": "Kihanje", - "sniff": "Vohljaj", + "sniff": "Smrkanje", "chewing": "Žvečenje", "biting": "Grizenje", "gargling": "Grgranje", - "stomach_rumble": "Grmotanje v Želodcu", - "heart_murmur": "Šum na Srcu", + "stomach_rumble": "Kruljenje v trebuhu", + "heart_murmur": "Šum na srcu", "chatter": "Klepetanje", - "yip": "Jip", - "growling": "Rjovenje", - "whimper_dog": "Pasje Cviljenje", - "oink": "Oink", - "gobble": "Zvok Purana", - "wild_animals": "Divje Živali", - "roaring_cats": "Rjoveče Mačke", - "roar": "Rjovenje Živali", - "squawk": "Krik", - "patter": "Klepetanje", + "yip": "Cviljenje", + "growling": "Režanje", + "whimper_dog": "Cviljenje psa", + "oink": "Siktanje", + "gobble": "Glavkanje", + "wild_animals": "Divje živali", + "roaring_cats": "Rjovenje velikih mačk", + "roar": "Rjovenje", + "squawk": "Skarat", + "patter": "Drobni koraki", "croak": "Kvakanje", - "rattle": "Ropotanje", - "whale_vocalization": "Kitova Vokalizacija", - "plucked_string_instrument": "Trgani Godalni Instrument", - "snicker": "Hihitanje" + "rattle": "Ropotulja/Sikanje", + "whale_vocalization": "Oglašanje kitov", + "plucked_string_instrument": "Bralna struna", + "snicker": "Hihitanje", + "shuffle": "Podrsavanje", + "bow_wow": "Hov-hov", + "caterwaul": "Mačje tuljenje", + "clip_clop": "Topot kopit", + "fowl": "Perutnina", + "honk": "Gaganje gosi", + "buzz": "Brenčanje", + "steel_guitar": "Steel kitara", + "tapping": "Tapkaš", + "zither": "Citre", + "hammond_organ": "Hammond orgle", + "synthesizer": "Sintetizator", + "sampler": "Sampler", + "harpsichord": "Čembalo", + "percussion": "Tolkala", + "drum_kit": "Boberji", + "drum_machine": "Ritem mašina", + "drum": "Boben", + "snare_drum": "Mali boben", + "rimshot": "Udarec ob rob", + "drum_roll": "Bobnanje", + "bass_drum": "Veliki boben", + "timpani": "Timpan", + "tabla": "Tabla (boben)", + "cymbal": "Činele", + "hi_hat": "Hi-Hat", + "wood_block": "Leseni blok", + "tambourine": "Tamburin", + "maraca": "Marakas", + "gong": "Gong", + "tubular_bells": "Cevni zvonovi", + "mallet_percussion": "Tolkala s palicami", + "marimba": "Marimba", + "glockenspiel": "Glockenspiel", + "vibraphone": "Vibrafon", + "steelpan": "Steelpan", + "orchestra": "Orkester", + "brass_instrument": "Trobilno glasbilo", + "french_horn": "Rog", + "trumpet": "Trobenta", + "trombone": "Pozavna", + "bowed_string_instrument": "Godalo", + "string_section": "Godalna sekcija", + "violin": "Violina", + "pizzicato": "Pizzicato", + "cello": "Čelo", + "double_bass": "Kontrabas", + "wind_instrument": "Pihalo", + "flute": "Flavta", + "saxophone": "Saksofon", + "clarinet": "Klarinet", + "harp": "Harfa", + "bell": "Zvonec", + "church_bell": "Cerkveni zvon", + "jingle_bell": "Kraguljček", + "bicycle_bell": "Zvonec na kolesu", + "tuning_fork": "Glasbene vilice", + "chime": "Zvončkljanje", + "wind_chime": "Vetrni zvonček", + "harmonica": "Ustna harmonika", + "accordion": "Harmonika", + "bagpipes": "Dude", + "didgeridoo": "Didžeridu", + "theremin": "Teremin", + "singing_bowl": "Pivska posoda", + "scratching": "Praskanje", + "pop_music": "Pop glasba", + "hip_hop_music": "Hip-hop glasba", + "beatboxing": "Beatboxing", + "rock_music": "Rock glasba", + "heavy_metal": "Heavy Metal", + "punk_rock": "Punk rock", + "grunge": "Grunge", + "progressive_rock": "Progresivni rock", + "rock_and_roll": "Rock and Roll", + "psychedelic_rock": "Psihedelični rock", + "rhythm_and_blues": "Rhythm and Blues", + "soul_music": "Soul glasba", + "reggae": "Reggae", + "country": "Country", + "swing_music": "Swing glasba", + "bluegrass": "Bluegrass", + "funk": "Funk", + "folk_music": "Ljudska glasba", + "middle_eastern_music": "Bližnjevzhodna glasba", + "jazz": "Jazz", + "disco": "Disko", + "classical_music": "Klasična glasba", + "opera": "Opera", + "electronic_music": "Elektronska glasba", + "house_music": "House glasba", + "techno": "Techno", + "dubstep": "Dubstep", + "drum_and_bass": "Drum and Bass", + "electronica": "Electronica", + "electronic_dance_music": "Elektronska plesna glasba", + "ambient_music": "Ambientalna glasba", + "trance_music": "Trance glasba", + "music_of_latin_america": "Latinskoameriška glasba", + "salsa_music": "Salsa", + "flamenco": "Flamenko", + "blues": "Blues", + "music_for_children": "Otroška glasba", + "new-age_music": "New Age glasba", + "vocal_music": "Vokalna glasba", + "a_capella": "A Capella", + "music_of_africa": "Afriška glasba", + "afrobeat": "Afrobeat", + "christian_music": "Krščanska glasba", + "gospel_music": "Gospel glasba", + "music_of_asia": "Azijska glasba", + "carnatic_music": "Karnatska glasba", + "music_of_bollywood": "Bollywoodska glasba", + "ska": "Ska", + "traditional_music": "Tradicionalna glasba", + "independent_music": "Neodvisna glasba", + "song": "Pesem", + "background_music": "Glasba v ozadju", + "theme_music": "Naslovna glasba", + "jingle": "Džingl", + "soundtrack_music": "Filmska glasba", + "lullaby": "Uspavanka", + "video_game_music": "Glasba iz videoiger", + "christmas_music": "Božična glasba", + "dance_music": "Plesna glasba", + "wedding_music": "Poročna glasba", + "happy_music": "Vesela glasba", + "sad_music": "Žalostna glasba", + "tender_music": "Nežna glasba", + "exciting_music": "Navdušujoča glasba", + "angry_music": "Jezična glasba", + "scary_music": "Strašljiva glasba", + "wind": "Veter", + "rustling_leaves": "Šuštenje listja", + "wind_noise": "Šum vetra", + "thunderstorm": "Nevihta", + "thunder": "Grom", + "water": "Voda", + "rain": "Dež", + "raindrop": "Dežna kaplja", + "rain_on_surface": "Dež na površini", + "stream": "Potok", + "waterfall": "Slap", + "ocean": "Ocean", + "waves": "Valovi", + "steam": "Para", + "gurgling": "Grgranje vode", + "fire": "Ogenj", + "crackle": "Prasketanje", + "sailboat": "Jadrnica", + "rowboat": "Čoln na vesla", + "motorboat": "Motorna žaga", + "ship": "Ladja", + "motor_vehicle": "Motorno vozilo", + "toot": "Trobljenje", + "car_alarm": "Avtomobilski alarm", + "power_windows": "Električni pomik stekel", + "skidding": "Zanašanje", + "tire_squeal": "Cviljenje gum", + "car_passing_by": "Avto pelje mimo", + "race_car": "Dirkalnik", + "truck": "Tovornjak", + "air_brake": "Zračna zavora", + "air_horn": "Zračna hupa", + "reversing_beeps": "Piskač za vzvratno vožnjo", + "ice_cream_truck": "Kombi s sladoledom", + "emergency_vehicle": "Intervencijsko vozilo", + "police_car": "Policijski avto", + "ambulance": "Rešilec", + "fire_engine": "Gasilski avto", + "traffic_noise": "Prometni hrup", + "rail_transport": "Železniški promet", + "train_whistle": "Piščal vlaka", + "train_horn": "Hupa vlaka", + "railroad_car": "Vagon", + "train_wheels_squealing": "Cviljenje koles vlaka", + "subway": "Podzemna železnica", + "aircraft": "Zrakoplov", + "aircraft_engine": "Letalski motor", + "jet_engine": "Reaktivni motor", + "propeller": "Propeler", + "helicopter": "Helikopter", + "fixed-wing_aircraft": "Letalo s fiksnimi krili", + "engine": "Motor (stroj)", + "light_engine": "Lahki motor", + "dental_drill's_drill": "Zobozdravniški vrtalnik", + "lawn_mower": "Kosilnica", + "chainsaw": "Motorna žaga", + "medium_engine": "Srednji motor", + "heavy_engine": "Težki motor", + "engine_knocking": "Klenkanje motorja", + "engine_starting": "Zagon motorja", + "idling": "Tek v prostem teku", + "accelerating": "Pospeševanje", + "doorbell": "Zvonec pri vratih", + "ding-dong": "Ding-dong", + "sliding_door": "Drsna vrata", + "slam": "Zaloputniti", + "knock": "Trkanje", + "tap": "Potrkati", + "squeak": "Cviljenje", + "cupboard_open_or_close": "Odpiranje/zapiranje omare", + "drawer_open_or_close": "Odpiranje/zapiranje predala", + "dishes": "Posoda", + "cutlery": "Pribor", + "chopping": "Sekanje", + "frying": "Cvrtje", + "microwave_oven": "Mikrovalovka", + "water_tap": "Pipa", + "bathtub": "Kopalna kad", + "toilet_flush": "Izplakovanje stranišča", + "electric_toothbrush": "Električna zobna ščetka", + "vacuum_cleaner": "Sesalnik", + "zipper": "Zadrga", + "keys_jangling": "Žvenketanje ključev", + "coin": "Kovanec", + "electric_shaver": "Električni brivnik", + "shuffling_cards": "Mešanje kart", + "typing": "Tipkanje", + "typewriter": "Pisalni stroj", + "computer_keyboard": "Računalniška tipkovnica", + "writing": "Pisanje", + "alarm": "Alarm", + "telephone": "Telefon", + "telephone_bell_ringing": "Zvonjenje telefona", + "ringtone": "Melodija zvonjenja", + "telephone_dialing": "Tipkanje številke", + "dial_tone": "Ton za klicanje", + "busy_signal": "Zasedeno", + "alarm_clock": "Budilka", + "siren": "Sirena", + "civil_defense_siren": "Sirena za javno alarmiranje", + "buzzer": "Zunčalo", + "smoke_detector": "Detektor dima", + "fire_alarm": "Požarni alarm", + "foghorn": "Ladijska hupa za meglo", + "whistle": "Piščalka", + "steam_whistle": "Parna piščal", + "mechanisms": "Mehanizmi", + "ratchet": "Zaskočnik", + "tick": "Tik", + "tick-tock": "Tik-tak", + "gears": "Zobniki", + "pulleys": "Škripci", + "sewing_machine": "Šivalni stroj", + "mechanical_fan": "Ventilator", + "air_conditioning": "Klima", + "cash_register": "Blagajna", + "printer": "Tiskalnik", + "single-lens_reflex_camera": "Zrcalnorefleksni fotoaparat", + "tools": "Orodja", + "hammer": "Kladivo", + "jackhammer": "Pnevmatsko kladivo", + "sawing": "Žaganje", + "filing": "Piljenje", + "sanding": "Brušenje", + "power_tool": "Električno orodje", + "drill": "Vrtalnik", + "explosion": "Eksplozija", + "gunshot": "Strel", + "machine_gun": "Mitraljez", + "fusillade": "Streljanje", + "artillery_fire": "Artilerijsko obstreljevanje", + "cap_gun": "Otroška pištola na kapice", + "fireworks": "Ognjemet", + "firecracker": "Petarda", + "burst": "Pok", + "eruption": "Izbruh", + "boom": "Bum", + "wood": "Les", + "chop": "Sekati", + "splinter": "Iver", + "crack": "Pokanje", + "glass": "Steklo", + "chink": "Zvenket", + "shatter": "Razbitje", + "silence": "Tišina", + "sound_effect": "Zvočni učinek", + "environmental_noise": "Hrup iz okolja", + "static": "Šum", + "white_noise": "Beli šum", + "pink_noise": "Rožnati šum", + "field_recording": "Posnetek s terena", + "scream": "Krik", + "sodeling": "Jodlanje", + "chird": "Čivkanje", + "change_ringing": "Zvonjenje zvonov", + "shofar": "Šofar", + "liquid": "Tekočina", + "splash": "Pljusk", + "slosh": "Pretakanje", + "squish": "Mljask", + "drip": "Kapljanje", + "pour": "Točenje", + "trickle": "Curjanje", + "gush": "Bruhanje (voda)", + "fill": "Polnjenje", + "spray": "Pršenje", + "pump": "Črpanje", + "stir": "Mešanje", + "boiling": "Vretje", + "sonar": "Sonar", + "arrow": "Puščica", + "whoosh": "Švist", + "thump": "Udarec", + "thunk": "Top udarec", + "electronic_tuner": "Elektronski uglaševalec", + "effects_unit": "Enota za efekte", + "chorus_effect": "Chorus efekt", + "basketball_bounce": "Odboj košarkarske žoge", + "bang": "Pok", + "slap": "Ploska", + "whack": "Udarec", + "smash": "Razbitje", + "breaking": "Lomljenje", + "bouncing": "Odskakovanje", + "whip": "Bič", + "flap": "Plapolanje", + "scratch": "Praska", + "scrape": "Praskanje", + "rub": "Drgnjenje", + "roll": "Kotaljenje", + "crushing": "Mečkanje", + "crumpling": "Mečkanje papirja", + "tearing": "Trganje", + "beep": "Pisk", + "ping": "Ping", + "ding": "Ding", + "clang": "Zven", + "squeal": "Cviljenje", + "creak": "Škripanje", + "rustle": "Šuštenje", + "whir": "Brenčanje", + "clatter": "Ropotanje", + "sizzle": "Cvrčanje", + "clicking": "Klikanje", + "clickety_clack": "Klak-klak", + "rumble": "Grmenje", + "plop": "Pljusk", + "hum": "Brenčanje", + "zing": "Zing", + "boing": "Boing", + "crunch": "Hrustanje", + "sine_wave": "Sinusni val", + "harmonic": "Harmonik", + "chirp_tone": "Čivkajoč ton", + "pulse": "Pulz", + "inside": "Znotraj", + "outside": "Zunaj", + "reverberation": "Odmev (reverb)", + "echo": "Eho", + "noise": "Hrup", + "mains_hum": "Omrežni brum", + "distortion": "Popačenje", + "sidetone": "Stranski ton", + "cacophony": "Kakofonija", + "throbbing": "Utripanje", + "vibration": "Vibracija" } diff --git a/web/public/locales/sl/common.json b/web/public/locales/sl/common.json index 3df421bdf..aa913de7a 100644 --- a/web/public/locales/sl/common.json +++ b/web/public/locales/sl/common.json @@ -2,35 +2,35 @@ "time": { "untilForTime": "Do {{time}}", "untilRestart": "Do ponovnega zagona", - "ago": "{{timeAgo}} nazaj", - "justNow": "Zdaj", - "untilForRestart": "Dokler se Frigate ne zažene ponovno.", + "ago": "pred {{timeAgo}}", + "justNow": "Ravnokar", + "untilForRestart": "Dokler se Frigate ne ponovno zažene.", "thisWeek": "Ta teden", "lastWeek": "Prejšnji teden", "thisMonth": "Ta mesec", "year_one": "{{time}} leto", - "year_two": "{{time}} leti", - "year_few": "{{time}} leta", + "year_two": "", + "year_few": "", "year_other": "{{time}} let", "second_one": "{{time}} sekunda", - "second_two": "{{time}} sekundi", - "second_few": "{{time}} sekunde", + "second_two": "", + "second_few": "", "second_other": "{{time}} sekund", "month_one": "{{time}} mesec", - "month_two": "{{time}} meseca", - "month_few": "{{time}} meseci", + "month_two": "", + "month_few": "", "month_other": "{{time}} mesecev", "day_one": "{{time}} dan", - "day_two": "{{time}} dneva", - "day_few": "{{time}} dnevi", + "day_two": "", + "day_few": "", "day_other": "{{time}} dni", "hour_one": "{{time}} ura", - "hour_two": "{{time}} uri", - "hour_few": "{{time}} ure", + "hour_two": "", + "hour_few": "", "hour_other": "{{time}} ur", "minute_one": "{{time}} minuta", - "minute_two": "{{time}} minuti", - "minute_few": "{{time}} minute", + "minute_two": "", + "minute_few": "", "minute_other": "{{time}} minut", "10minutes": "10 minut", "lastMonth": "Prejšnji mesec", @@ -44,21 +44,21 @@ "12hours": "12 ur", "24hours": "24 ur", "30minutes": "30 minut", - "am": "am", - "pm": "pm", - "mo": "{{time}}mes", - "d": "{{time}}d", - "h": "{{time}}h", - "m": "{{time}}m", - "s": "{{time}}s", - "yr": "{{time}}l.", + "am": "dop.", + "pm": "pop.", + "mo": "{{time}} m", + "d": "{{time}} d", + "h": "{{time}} u", + "m": "{{time}} min", + "s": "{{time}} s", + "yr": "{{time}} l", "formattedTimestamp": { - "12hour": "d MMM, h:mm:ss aaa", - "24hour": "d MMM, HH:mm:ss" + "12hour": "d. MMM, h:mm:ss aaa", + "24hour": "d. MMM, HH:mm:ss" }, "formattedTimestamp2": { - "12hour": "dd/MM h:mm:ssa", - "24hour": "d MMM HH:mm:ss" + "12hour": "d. MM. h:mm:ssa", + "24hour": "d. MMM HH:mm:ss" }, "formattedTimestampHourMinute": { "12hour": "h:mm aaa", @@ -69,24 +69,24 @@ "24hour": "HH:mm:ss" }, "formattedTimestampMonthDayHourMinute": { - "12hour": "d MMM, h:mm aaa", - "24hour": "d MMM, HH:mm" + "12hour": "d. MMM, h:mm aaa", + "24hour": "d. MMM, HH:mm" }, "formattedTimestampMonthDayYear": { - "12hour": "d MMM, yyyy", - "24hour": "d MMM, yyyy" + "12hour": "d. MMM yyyy", + "24hour": "d. MMM yyyy" }, "formattedTimestampMonthDayYearHourMinute": { - "12hour": "d MMM yyyy, h:mm aaa", - "24hour": "d MMM yyyy, HH:mm" + "12hour": "d. MMM yyyy, h:mm aaa", + "24hour": "d. MMM yyyy, HH:mm" }, - "formattedTimestampMonthDay": "d MMM", + "formattedTimestampMonthDay": "d. MMM", "formattedTimestampFilename": { "12hour": "dd-MM-yy-h-mm-ss-a", "24hour": "dd-MM-yy-HH-mm-ss" }, - "invalidStartTime": "Napačen čas začetka", - "invalidEndTime": "Napačen čas konca", + "invalidStartTime": "Neveljaven čas začetka", + "invalidEndTime": "Neveljaven čas konca", "inProgress": "V teku", "never": "Nikoli" }, @@ -94,23 +94,23 @@ "live": { "cameras": { "count_one": "{{count}} kamera", - "count_two": "{{count}} kameri", - "count_few": "{{count}} kamere", + "count_two": "", + "count_few": "", "count_other": "{{count}} kamer", "title": "Kamere" }, - "allCameras": "Vse Kamere", - "title": "V Živo" + "allCameras": "Vse kamere", + "title": "V živo" }, - "explore": "Brskanje", + "explore": "Razišči", "theme": { "nord": "Nord", - "label": "Teme", + "label": "Tema", "blue": "Modra", "green": "Zelena", "red": "Rdeča", - "highcontrast": "Visok Kontrast", - "default": "Privzeto" + "highcontrast": "Visok kontrast", + "default": "Privzeta" }, "review": "Pregled", "system": "Sistem", @@ -118,57 +118,58 @@ "configuration": "Konfiguracija", "systemLogs": "Sistemski dnevniki", "settings": "Nastavitve", - "configurationEditor": "Urejevalnik Konfiguracije", + "configurationEditor": "Urejevalnik konfiguracije", "languages": "Jeziki", "language": { - "en": "English (angleščina)", - "es": "Español (španščina)", - "zhCN": "简体中文 (poenostavljena kitajščina)", - "hi": "हिन्दी (hindijščina)", - "fr": "Français (francoščina)", - "ar": "العربية (arabščina)", - "pt": "Português (portugalščina)", - "ru": "Русский (ruščina)", - "de": "Deutsch (nemščina)", - "ja": "日本語 (japonščina)", - "tr": "Türkçe (turščina)", - "it": "Italiano (italijanščina)", - "nl": "Nederlands (nizozemščina)", - "sv": "Svenska (švedščina)", - "cs": "Čeština (češčina)", - "nb": "Norsk Bokmål (norveščina, bokmal)", - "ko": "한국어 (korejščina)", - "vi": "Tiếng Việt (vietnamščina)", - "fa": "فارسی (perzijščina)", - "pl": "Polski (poljščina)", - "uk": "Українська (ukrajinščina)", - "he": "עברית (hebrejščina)", - "el": "Ελληνικά (grščina)", - "ro": "Română (romunščina)", - "hu": "Magyar (madžarščina)", - "fi": "Suomi (finščina)", - "da": "Dansk (danščina)", - "sk": "Slovenčina (slovaščina)", - "yue": "粵語 (kantonščina)", - "th": "ไทย (tajščina)", - "sr": "Српски (srbščina)", - "sl": "Slovenščina (Slovenščina )", - "bg": "Български (bulgarščina)", + "en": "Angleščina (English)", + "es": "Španščina (Español)", + "zhCN": "Kitajščina (简体中文)", + "hi": "Hindi (हिन्दी)", + "fr": "Francoščina (Français)", + "ar": "Arabščina (العربية)", + "pt": "Portugalščina (Português)", + "ru": "Ruščina (Русский)", + "de": "Nemščina (Deutsch)", + "ja": "Japonščina (日本語)", + "tr": "Turščina (Türkçe)", + "it": "Italijanščina (Italiano)", + "nl": "Nizozemščina (Nederlands)", + "sv": "Švedščina (Svenska)", + "cs": "Češčina (Čeština)", + "nb": "Norveščina (Norsk Bokmål)", + "ko": "Korejščina (한국어)", + "vi": "Vietnamščina (Tiếng Việt)", + "fa": "Perzijščina (فارسی)", + "pl": "Poljščina (Polski)", + "uk": "Ukrajinščina (Українська)", + "he": "Hebrejščina (עברית)", + "el": "Grščina (Ελληνικά)", + "ro": "Romunščina (Română)", + "hu": "Madžarščina (Magyar)", + "fi": "Finščina (Suomi)", + "da": "Danščina (Dansk)", + "sk": "Slovaščina (Slovenčina)", + "yue": "Kantonščina (粵語)", + "th": "Tajščina (ไทย)", + "sr": "Srbska (Српски)", + "sl": "Slovenščina", + "bg": "Bolgarščina (Български)", "withSystem": { "label": "Uporabi sistemske nastavitve za jezik" }, - "ptBR": "Português brasileiro (Brazilska portugalščina)", - "ca": "Català (Katalonščina)", - "lt": "Lietuvių (Litovščina)", - "gl": "Galego (Galicijščina)", - "id": "Bahasa Indonesia (Indonezijščina)", - "ur": "اردو (Urdujščina)" + "ptBR": "Brazilsko portugalsko (Português brasileiro)", + "ca": "Katalonščina (Català)", + "lt": "Litovščina (Lietuvių)", + "gl": "Galicijščina (Galego)", + "id": "Indonezijščina (Bahasa Indonesia)", + "ur": "Urdu (اردو)", + "hr": "Hrvaščina (Hrvatski)" }, - "appearance": "Izgled", + "appearance": "Videz", "darkMode": { - "label": "Temni Način", - "light": "Svetlo", - "dark": "Temno", + "label": "Temni način", + "light": "Svetel", + "dark": "Temen", "withSystem": { "label": "Uporabi sistemske nastavitve za svetel ali temen način" } @@ -179,66 +180,79 @@ "title": "Dokumentacija", "label": "Frigate dokumentacija" }, - "restart": "Znova Zaženi Frigate", + "restart": "Ponovno zaženi Frigate", "export": "Izvoz", - "faceLibrary": "Zbirka Obrazov", + "faceLibrary": "Knjižnica obrazov", "user": { "title": "Uporabnik", "account": "Račun", - "current": "Trenutni Uporabnik: {{user}}", + "current": "Trenutni uporabnik: {{user}}", "anonymous": "anonimen", "logout": "Odjava", - "setPassword": "Nastavi Geslo" + "setPassword": "Nastavi geslo" }, - "uiPlayground": "UI Peskovnik", - "classification": "Klasifikacija" + "uiPlayground": "UI Playground", + "classification": "Klasifikacija", + "actions": "Dejanja", + "chat": "Klepet" }, "button": { - "apply": "Uporabi", + "apply": "Uveljavi", "reset": "Ponastavi", "done": "Končano", - "disable": "Izklopi", + "disable": "Onemogoči", "close": "Zapri", "back": "Nazaj", - "pictureInPicture": "Slika v Sliki", + "pictureInPicture": "Slika v sliki", "history": "Zgodovina", "disabled": "Onemogočeno", "copy": "Kopiraj", - "exitFullscreen": "Izhod iz Celozaslonskega načina", - "enabled": "Omogočen", - "enable": "Vklopi", + "exitFullscreen": "Izhod iz celozaslonskega načina", + "enabled": "Omogočeno", + "enable": "Omogoči", "save": "Shrani", - "saving": "Shranjevanje …", + "saving": "Shranjujem…", "cancel": "Prekliči", "fullscreen": "Celozaslonski način", - "twoWayTalk": "Dvosmerni Pogovor", - "cameraAudio": "Zvok Kamere", - "on": "Vključen", - "off": "Izključen", + "twoWayTalk": "Dvosmerni pogovor", + "cameraAudio": "Zvok kamere", + "on": "VKLOP", + "off": "IZKLOP", "edit": "Uredi", "copyCoordinates": "Kopiraj koordinate", "delete": "Izbriši", "yes": "Da", "no": "Ne", "download": "Prenesi", - "info": "Info", - "suspended": "Začasno ustavljeno", - "unsuspended": "Obnovi", + "info": "Informacije", + "suspended": "Prekinjeno", + "unsuspended": "Nadaljuj", "play": "Predvajaj", - "unselect": "Odznači", - "export": "Izvoz", - "deleteNow": "Izbriši Zdaj", + "unselect": "Počisti izbiro", + "export": "Izvozi", + "deleteNow": "Izbriši zdaj", "next": "Naprej", - "continue": "Nadaljuj" + "continue": "Nadaljuj", + "add": "Dodaj", + "applying": "Uveljavljam…", + "undo": "Razveljavi", + "copiedToClipboard": "Kopirano v odložišče", + "modified": "Spremenjeno", + "overridden": "Povoženo", + "resetToGlobal": "Ponastavi na globalno", + "resetToDefault": "Ponastavi na privzeto", + "saveAll": "Shrani vse", + "savingAll": "Shranjujem vse…", + "undoAll": "Razveljavi vse" }, "unit": { "speed": { "kph": "km/h", - "mph": "mi/h" + "mph": "mph" }, "length": { - "feet": "čevelj", - "meters": "metri" + "feet": "čevljev", + "meters": "metrov" }, "data": { "kbps": "kB/s", @@ -250,34 +264,34 @@ } }, "label": { - "back": "Pojdi nazaj", + "back": "Nazaj", "hide": "Skrij {{item}}", - "show": "Prikaži {{item}}", + "show": "Pokaži {{item}}", "ID": "ID", "none": "Brez", "all": "Vse", - "other": "Drugo" + "other": "Ostalo" }, "pagination": { "next": { "label": "Pojdi na naslednjo stran", "title": "Naprej" }, - "label": "paginacija", + "label": "strani", "previous": { - "title": "Prejšnji", + "title": "Nazaj", "label": "Pojdi na prejšnjo stran" }, "more": "Več strani" }, "selectItem": "Izberi {{item}}", "toast": { - "copyUrlToClipboard": "Povezava kopirana v odložišče.", + "copyUrlToClipboard": "URL kopiran v odložišče.", "save": { "title": "Shrani", "error": { - "title": "Napaka pri shranjevanju sprememb: {{errorMessage}}", - "noMessage": "Napaka pri shranjevanju sprememb konfiguracije" + "title": "Napaka pri shranjevanju konfiguracije: {{errorMessage}}", + "noMessage": "Spremembe konfiguracije ni bilo mogoče shraniti" } } }, @@ -285,27 +299,27 @@ "title": "Vloga", "admin": "Administrator", "viewer": "Gledalec", - "desc": "Administratorji imajo poln dostop do vseh funkcij Frigate uporabniškega vmesnika. Gledalci so omejeni na gledanje kamer, zgodovine posnetkov in pregledovanje dogodkov." + "desc": "Administratorji imajo poln dostop do vseh funkcij. Gledalci so omejeni na ogled kamer, pregled dogodkov in zgodovinskih posnetkov." }, "accessDenied": { "documentTitle": "Dostop zavrnjen - Frigate", - "title": "Dostop Zavrnjen", - "desc": "Nimate pravic za ogled te strani." + "title": "Dostop zavrnjen", + "desc": "Nimaš dovoljenja za ogled te strani." }, "notFound": { - "documentTitle": "Ni Najdeno - Frigate", + "documentTitle": "Ni mogoče najti - Frigate", "title": "404", - "desc": "Stran ni najdena" + "desc": "Stran ne obstaja" }, - "readTheDocumentation": "Preberite dokumentacijo", + "readTheDocumentation": "Preberi dokumentacijo", "list": { "two": "{{0}} in {{1}}", - "many": "{{items}}, in {{last}}", + "many": "{{items}} in {{last}}", "separatorWithSpace": ", " }, "field": { "optional": "Izbirno", - "internalID": "Interni ID, ki ga Frigate uporablja v konfiguraciji in podatkovni bazi" + "internalID": "Notranji ID, ki ga Frigate uporablja v konfiguraciji in bazi podatkov" }, "information": { "pixels": "{{area}}px" diff --git a/web/public/locales/sl/components/auth.json b/web/public/locales/sl/components/auth.json index 383b8dde4..36cc69b57 100644 --- a/web/public/locales/sl/components/auth.json +++ b/web/public/locales/sl/components/auth.json @@ -4,13 +4,13 @@ "password": "Geslo", "login": "Prijava", "errors": { - "usernameRequired": "Uporabniško ime je potrebno", - "passwordRequired": "Geslo je zahtevano", - "rateLimit": "Preveč poskusov, poskusite znova kasneje.", + "usernameRequired": "Uporabniško ime je obvezno", + "passwordRequired": "Geslo je obvezno", + "rateLimit": "Preveč poskusov prijave. Poskusi znova kasneje.", "loginFailed": "Prijava ni uspela", - "unknownError": "Neznana napaka. Preverite dnevnike.", - "webUnknownError": "Neznana napaka. Preverite dnevnike konzole." + "unknownError": "Neznana napaka. Preveri dnevnike (logs).", + "webUnknownError": "Neznana napaka. Preveri dnevnike v konzoli." }, - "firstTimeLogin": "Se poskušate prijaviti prvič? Prijavni podatki so zapisani v Frigate dnevniku." + "firstTimeLogin": "Se prijavljaš prvič? Podatke za prijavo najdeš v Frigate dnevnikih (logs)." } } diff --git a/web/public/locales/sl/components/camera.json b/web/public/locales/sl/components/camera.json index dc2e593af..2ee987bdb 100644 --- a/web/public/locales/sl/components/camera.json +++ b/web/public/locales/sl/components/camera.json @@ -6,80 +6,80 @@ "delete": { "label": "Izbriši skupino kamer", "confirm": { - "title": "Potrdite izbris", - "desc": "Ali ste prepričani, da želite izbrisati skupino kamer z imenom {{name}}?" + "title": "Potrdi brisanje", + "desc": "Ali si prepričan, da želiš izbrisati skupino kamer {{name}}?" } }, "camera": { "setting": { - "desc": "Spremeni možnosti prenosa v živo za nadzorno ploščo te skupine kamer. Te nastavitve so specifične za napravo/brskalnik.", + "desc": "Spremeni možnosti prenosa v živo za nadzorno ploščo te skupine. Te nastavitve so specifične za napravo/brskalnik.", "streamMethod": { "method": { "smartStreaming": { - "desc": "Pametno pretakanje bo posodabljalo sliko vaše kamere enkrat na minuto, kadar ni zaznane nobene aktivnosti, da prihrani pasovno širino in vire. Ko je zaznana aktivnost, se slika brez prekinitve preklopi na prenos v živo.", + "desc": "Pametno pretakanje posodobi sliko kamere enkrat na minuto, ko ni zaznane dejavnosti, da prihrani pasovno širino in vire. Ko je zaznana dejavnost, se slika neopazno preklopi na prenos v živo.", "label": "Pametno pretakanje (priporočeno)" }, "continuousStreaming": { "desc": { - "warning": "Neprekinjeno pretakanje lahko povzroči visoko porabo pasovne širine in težave z zmogljivostjo. Uporabljajte previdno.", - "title": "Slika kamere bo na nadzorni plošči vedno prenos v živo, tudi če ni zaznane nobene aktivnosti." + "warning": "Neprekinjeno pretakanje lahko povzroči visoko porabo pasovne širine in težave z zmogljivostjo. Uporabljaj previdno.", + "title": "Slika kamere bo vedno v živo, ko je vidna na nadzorni plošči, tudi če ni zaznane dejavnosti." }, "label": "Neprekinjeno pretakanje" }, "noStreaming": { - "desc": "Slike kamere se bodo posodabljale enkrat na minuto.", + "desc": "Slike kamere se bodo posodobile le enkrat na minuto, prenos v živo pa se ne bo izvajal.", "label": "Brez pretakanja" } }, - "label": "Metoda pretakanja", - "placeholder": "Izberiti metodo pretakanja" + "label": "Način pretakanja", + "placeholder": "Izberi način pretakanja" }, "audio": { "tips": { - "title": "Izhod za zvok mora biti nastavljen v go2rtc za ta tok.", + "title": "Za ta tok mora kamera oddajati zvok, ki mora biti konfiguriran v go2rtc.", "document": "Preberite dokumentacijo " } }, - "label": "Nastavitve pretakanja kamer", - "title": "Nastavitve pretakanja kamere {{cameraName}}", - "audioIsAvailable": "Zvok za ta tok je na voljo", - "audioIsUnavailable": "Zvok za ta tok ni na voljo", + "label": "Nastavitve pretakanja kamere", + "title": "Nastavitve pretakanja za {{cameraName}}", + "audioIsAvailable": "Zvok je na voljo za ta tok", + "audioIsUnavailable": "Zvok ni na voljo za ta tok", "compatibilityMode": { - "label": "Način združjivosti", - "desc": "To možnost omogočite le, če se v prenosu v živo vaše kamere pojavljajo barvni artefakti in diagonalna črta na desni strani slike." + "label": "Združljivostni način", + "desc": "To možnost omogoči le, če so v prenosu v živo vidni barvni popački ali diagonalna črta na desni strani slike." }, - "placeholder": "Izberite tok", + "placeholder": "Izberi tok", "stream": "Tok" }, - "birdseye": "Ptičji pogled" + "birdseye": "Ptičja perspektiva" }, "name": { "label": "Ime", - "placeholder": "Vpišite ime …", + "placeholder": "Vnesi ime…", "errorMessage": { - "mustLeastCharacters": "Ime skupine kamer mora imeti vsaj 2 znaka.", - "exists": "Skupina kamer s tem imenom že obstaja.", - "nameMustNotPeriod": "Ime skupine kamer ne sme vsebovati pike.", + "mustLeastCharacters": "Ime skupine mora imeti vsaj 2 znaka.", + "exists": "Skupina s tem imenom že obstaja.", + "nameMustNotPeriod": "Ime skupine ne sme vsebovati pike.", "invalid": "Neveljavno ime skupine kamer." } }, "cameras": { "label": "Kamere", - "desc": "Izberite kamere za to skupino." + "desc": "Izberi kamere za to skupino." }, "icon": "Ikona", - "success": "Skupina kamer z imenom ({{name}}) je bila shranjena." + "success": "Skupina kamer ({{name}}) je bila shranjena." }, "debug": { "options": { "label": "Nastavitve", "title": "Možnosti", - "showOptions": "Prikaži Možnosti", - "hideOptions": "Skrij Možnosti" + "showOptions": "Pokaži možnosti", + "hideOptions": "Skrij možnosti" }, - "boundingBox": "Omejitve okvirja", + "boundingBox": "Okvir zaznave", "timestamp": "Časovni žig", - "zones": "Območja", + "zones": "Cone", "mask": "Maska", "motion": "Gibanje", "regions": "Regije" diff --git a/web/public/locales/sl/components/dialog.json b/web/public/locales/sl/components/dialog.json index 02295afee..fdae7b9b7 100644 --- a/web/public/locales/sl/components/dialog.json +++ b/web/public/locales/sl/components/dialog.json @@ -1,21 +1,22 @@ { "restart": { - "title": "Ali ste prepričani, da želite ponovno zagnati Frigate?", + "title": "Ali si prepričan, da želiš ponovno zagnati Frigate?", "button": "Ponovni zagon", "restarting": { "title": "Frigate se ponovno zaganja", - "content": "Ta stran se bo osvežila čez {{countdown}}.", - "button": "Osveži zdaj" - } + "content": "Stran se bo osvežila čez {{countdown}} sekund.", + "button": "Prisili osvežitev zdaj" + }, + "description": "To bo za kratek čas ustavilo delovanje programa." }, "explore": { "plus": { "review": { "question": { - "ask_full": "Ali je ta objekt {{untranslatedLabel}} ({{translatedLabel}})?", + "ask_full": "Je ta predmet {{untranslatedLabel}} ({{translatedLabel}})?", "label": "Potrdi to oznako za Frigate Plus", - "ask_a": "Ali je ta objekt {{label}}?", - "ask_an": "Ali je ta objekt {{label}}?" + "ask_a": "Je ta predmet {{label}}?", + "ask_an": "Je ta predmet {{label}}?" }, "state": { "submitted": "Oddano" @@ -23,71 +24,75 @@ }, "submitToPlus": { "label": "Pošlji v Frigate+", - "desc": "Predmeti na lokacijah, ki se jim želite izogniti, niso lažni alarmi. Če jih označite kot lažne alarme, boste zmedli model." + "desc": "Predmeti na lokacijah, ki se jim želiš izogniti, niso lažni zadetki. Če jih pošlješ kot lažne zadetke, boš zmedli model." } }, "video": { - "viewInHistory": "Poglej zgodovino" + "viewInHistory": "Poglej v zgodovini" } }, "export": { "time": { - "lastHour_one": "Zadnja {{count}} ura", - "lastHour_two": "Zadnji {{count}} uri", - "lastHour_few": "Zadnje {{count}} ure", + "lastHour_one": "Zadnja ura", + "lastHour_two": "", + "lastHour_few": "", "lastHour_other": "Zadnjih {{count}} ur", - "fromTimeline": "Izberi s Časovnice", + "fromTimeline": "Izberi s časovnice", "custom": "Po meri", "start": { - "title": "Začetni čas", - "label": "Izberi Začetni Čas" + "title": "Čas začetka", + "label": "Izberi čas začetka" }, "end": { - "title": "Končni Čas", - "label": "Izberi Končni Čas" + "title": "Čas konca", + "label": "Izberi čas konca" } }, "name": { - "placeholder": "Poimenujte Izvoz" + "placeholder": "Poimenuj izvoz" }, "select": "Izberi", - "export": "Izvoz", - "selectOrExport": "Izberi ali Izvozi", + "export": "Izvozi", + "selectOrExport": "Izberi ali izvozi", "toast": { - "success": "Izvoz se je uspešno začel. Datoteko si oglejte v izvozih.", + "success": "Izvoz se je uspešno začel. Datoteko si lahko ogledaš na strani z izvozi.", "error": { - "failed": "Npaka pri začetku izvoza: {{error}}", - "endTimeMustAfterStartTime": "Končni čas mora biti po začetnem čase", + "failed": "Napaka pri izvozu: {{error}}", + "endTimeMustAfterStartTime": "Čas konca mora biti po času začetka", "noVaildTimeSelected": "Ni izbranega veljavnega časovnega obdobja" }, - "view": "Pregled" + "view": "Poglej" }, "fromTimeline": { - "saveExport": "Shrani Izvoz", - "previewExport": "Predogled Izvoza" + "saveExport": "Shrani izvoz", + "previewExport": "Predogled izvoza" + }, + "case": { + "label": "Primer", + "placeholder": "Izberi primer" } }, "streaming": { - "label": "Pretakanje", + "label": "Pretok", "restreaming": { "disabled": "Ponovno pretakanje za to kamero ni omogočeno.", "desc": { - "title": "Za dodatne možnosti ogleda v živo in zvoka za to kamero nastavite go2rtc.", + "title": "Nastavi go2rtc za dodatne možnosti ogleda v živo in zvok za to kamero.", "readTheDocumentation": "Preberi dokumentacijo" } }, "showStats": { - "label": "Prikaži statistiko pretoka", - "desc": "Omogočite to možnost, če želite prikazati statistiko pretoka videa kamere." + "label": "Pokaži statistiko pretoka", + "desc": "Omogoči to možnost za prikaz statistike pretoka kot prekrivno plast na sliki kamere." }, - "debugView": "Pogled za Odpravljanje Napak" + "debugView": "Razhroščevalni pogled" }, "search": { "saveSearch": { "label": "Shrani iskanje", - "desc": "Vnesite ime za to shranjeno iskanje.", - "placeholder": "Vnesite ime za iskanje", - "overwrite": "{{searchName}} že obstaja. Shranjevanje bo prepisalo obstoječo vrednost.", + "desc": "Vnesi ime za to shranjeno iskanje.", + "placeholder": "Vnesi ime iskanja", + "overwrite": "{{searchName}} že obstaja. Shranjevanje bo povozilo obstoječo vrednost.", "success": "Iskanje ({{searchName}}) je bilo shranjeno.", "button": { "save": { @@ -98,28 +103,28 @@ }, "recording": { "confirmDelete": { - "title": "Potrdi Brisanje", + "title": "Potrdi brisanje", "desc": { - "selected": "Ali ste prepričani, da želite izbrisati vse posnete videoposnetke, povezane s tem elementom pregleda?

Držite tipko Shift, da se v prihodnje izognete temu pogovornemu oknu." + "selected": "Ali si prepričan, da želiš izbrisati vse posnetke, povezane s tem elementom pregleda?

Drži tipko Shift, da v prihodnje preskočiš to okno." }, "toast": { - "success": "Videoposnetek, povezan z izbranimi elementi pregleda, je bil uspešno izbrisan.", - "error": "Brisanje ni uspelo: {{error}}" + "success": "Posnetki, povezani z izbranimi elementi pregleda, so bili uspešno izbrisani.", + "error": "Napaka pri brisanju: {{error}}" } }, "button": { - "export": "Izvoz", + "export": "Izvozi", "markAsReviewed": "Označi kot pregledano", - "deleteNow": "Izbriši Zdaj", + "deleteNow": "Izbriši zdaj", "markAsUnreviewed": "Označi kot nepregledano" } }, "imagePicker": { - "selectImage": "Izberite sličico sledenega predmeta", + "selectImage": "Izberi sličico sledenega objekta", "search": { - "placeholder": "Iskanje po oznaki ali podoznaki..." + "placeholder": "Išči po oznaki ali podoznaki..." }, "noImages": "Za to kamero ni bilo najdenih sličic", - "unknownLabel": "Shranjena slika prožilca" + "unknownLabel": "Shranjena sprožilna slika" } } diff --git a/web/public/locales/sl/components/filter.json b/web/public/locales/sl/components/filter.json index 93be539b1..408928ee9 100644 --- a/web/public/locales/sl/components/filter.json +++ b/web/public/locales/sl/components/filter.json @@ -10,7 +10,7 @@ "count_other": "{{count}} oznak" }, "dates": { - "selectPreset": "Izberite nastavitev …", + "selectPreset": "Izberi prednastavitev…", "all": { "title": "Vsi datumi", "short": "Datumi" @@ -21,18 +21,18 @@ "settings": { "defaultView": { "summary": "Povzetek", - "title": "Privzeti Pogled", - "desc": "Če filtri niso izbrani, prikaži povzetek najnovejših sledenih objektov na oznako ali prikaži nefiltrirano mrežo.", - "unfilteredGrid": "Nefiltrirana Mreža" + "title": "Privzeti pogled", + "desc": "Ko ni izbran noben filter, prikaži povzetek najnovejših sledenih objektov po oznaki ali pa prikaži nefiltrirano mrežo.", + "unfilteredGrid": "Nefiltrirana mreža" }, "title": "Nastavitve", "gridColumns": { - "title": "Mrežni Stolpci", - "desc": "Izberite število stolpcev v pogledu mreže." + "title": "Stolpci mreže", + "desc": "Izberi število stolpcev v mrežnem pogledu." }, "searchSource": { - "label": "Iskanje Vira", - "desc": "Izberite, ali želite iskati po sličicah ali opisih sledenih objektov.", + "label": "Vir iskanja", + "desc": "Izberi, ali želiš iskati po sličicah ali opisih sledenih objektov.", "options": { "thumbnailImage": "Sličica", "description": "Opis" @@ -41,7 +41,7 @@ }, "date": { "selectDateBy": { - "label": "Izberite datum za filtriranje" + "label": "Izberi datum za filtriranje" } } }, @@ -52,12 +52,12 @@ "sort": { "relevance": "Ustreznost", "dateAsc": "Datum (naraščajoče)", - "label": "Sortiraj", - "dateDesc": "Datum (Padajoče)", - "scoreAsc": "Ocena Predmeta (Naraščajoče)", - "scoreDesc": "Ocena predmeta (Padajoče)", - "speedAsc": "Ocenjena Hitrost (Naraščajoče)", - "speedDesc": "Ocenjena Hitrost (Padajoče)" + "label": "Razvrsti", + "dateDesc": "Datum (padajoče)", + "scoreAsc": "Ocena objekta (naraščajoče)", + "scoreDesc": "Ocena objekta (padajoče)", + "speedAsc": "Ocenjena hitrost (naraščajoče)", + "speedDesc": "Ocenjena hitrost (padajoče)" }, "zones": { "label": "Cone", @@ -71,65 +71,65 @@ "label": "Ponastavi filtre na privzete vrednosti" }, "logSettings": { - "disableLogStreaming": "Izklopite zapisovanje dnevnika", + "disableLogStreaming": "Onemogoči sprotno osveževanje dnevnikov", "allLogs": "Vsi dnevniki", - "label": "Level Filtra Dnevnika", + "label": "Filter ravni dnevnika", "filterBySeverity": "Filtriraj dnevnike po resnosti", "loading": { "title": "Nalaganje", - "desc": "Ko se podokno dnevnika pomakne čisto na dno, se novi dnevniki samodejno prikažejo, ko so dodani." + "desc": "Ko je področje z dnevniki pomaknjeno do dna, se novi vnosi samodejno sproti dodajajo." } }, "trackedObjectDelete": { - "title": "Potrdite brisanje", - "desc": "Izbris teh {{objectLength}} sledenih predmetov odstrani pripadajoče slikovne posneteke, shranjene vstavke in povezane vnose življenskega cikla predmetov. Posnetki teh sledenih predmetov v pogledu Zgodovina se NE bodo izbrisali.

Ste prepričani, da želite nadaljevati?

Pritisnite tipko Shift , da v prihodnje preskočite dialog.", + "title": "Potrdi brisanje", + "desc": "Z brisanjem teh {{objectLength}} sledenih objektov odstraniš posnetek, vse shranjene vložitve (embeddings) in vse povezane vnose v življenjskem ciklu objekta. Posnetki teh objektov v pogledu zgodovine NE bodo izbrisani.

Ali si prepričan, da želiš nadaljevati?

Drži tipko Shift, da v prihodnje preskočiš to okno.", "toast": { - "success": "Uspešno izbrisani sledeni predmeti.", - "error": "Ni uspelo izbrisati sledenih predmetov: {{errorMessage}}" + "success": "Sledeni objekti so bili uspešno izbrisani.", + "error": "Napaka pri brisanju sledenih objektov: {{errorMessage}}" } }, "zoneMask": { - "filterBy": "Filtrirajte po maski območja" + "filterBy": "Filtriraj po maski cone" }, "classes": { "label": "Razredi", "all": { - "title": "Vsi Razredi" + "title": "Vsi razredi" }, - "count_one": "{{count}} Razred", - "count_other": "{{count}} Razredov" + "count_one": "{{count}} razred", + "count_other": "{{count}} razredi" }, "score": "Ocena", - "estimatedSpeed": "Ocenjena Hitrost ({{unit}})", + "estimatedSpeed": "Ocenjena hitrost ({{unit}})", "features": { - "label": "Lastnosti", - "hasSnapshot": "Ima sliko", - "hasVideoClip": "Ima posnetek", + "label": "Funkcije", + "hasSnapshot": "Ima posnetek (snapshot)", + "hasVideoClip": "Ima video posnetek", "submittedToFrigatePlus": { - "label": "Poslano na Frigate+", - "tips": "Najprej morate filtrirati po sledenih objektih, ki imajo sliko.

Slednih objektov brez slike ni mogoče poslati v Frigate+." + "label": "Poslano v Frigate+", + "tips": "Najprej moraš filtrirati sledene objekte, ki imajo posnetek.

Sledenih objektov brez posnetka ni mogoče poslati v Frigate+." } }, "cameras": { - "label": "Filtri Kamere", + "label": "Filter kamer", "all": { - "title": "Vse Kamere", + "title": "Vse kamere", "short": "Kamere" } }, "review": { - "showReviewed": "Prikaži Pregledano" + "showReviewed": "Pokaži pregledano" }, "motion": { - "showMotionOnly": "Prikaži Samo Gibanje" + "showMotionOnly": "Pokaži samo gibanje" }, "recognizedLicensePlates": { - "title": "Prepoznane Registrske Tablice", - "loadFailed": "Prepoznanih registrskih tablic ni bilo mogoče naložiti.", - "loading": "Nalaganje prepoznanih registrskih tablic…", - "placeholder": "Iskanje registrskih tablic…", - "noLicensePlatesFound": "Nobena registrska tablica ni bila najdena.", - "selectPlatesFromList": "Na seznamu izberite eno ali več registrskih tablic.", + "title": "Prepoznane registrske tablice", + "loadFailed": "Nalaganje prepoznanih registrskih tablic ni uspelo.", + "loading": "Nalagam prepoznane registrske tablice…", + "placeholder": "Tipkaj za iskanje tablic…", + "noLicensePlatesFound": "Ni najdenih registrskih tablic.", + "selectPlatesFromList": "Izberi eno ali več tablic s seznama.", "selectAll": "Izberi vse", "clearAll": "Počisti vse" }, diff --git a/web/public/locales/sl/components/icons.json b/web/public/locales/sl/components/icons.json index 94e97439a..db9ab33e4 100644 --- a/web/public/locales/sl/components/icons.json +++ b/web/public/locales/sl/components/icons.json @@ -1,8 +1,8 @@ { "iconPicker": { - "selectIcon": "Izberite ikono", + "selectIcon": "Izberi ikono", "search": { - "placeholder": "Išči ikono .…" + "placeholder": "Iskanje ikone…" } } } diff --git a/web/public/locales/sl/components/input.json b/web/public/locales/sl/components/input.json index 820677c23..892df5f71 100644 --- a/web/public/locales/sl/components/input.json +++ b/web/public/locales/sl/components/input.json @@ -3,7 +3,7 @@ "downloadVideo": { "label": "Prenesi video", "toast": { - "success": "Izbrani posnetek se je začel prenašati." + "success": "Prenos videa za izbrani element se je začel." } } } diff --git a/web/public/locales/sl/components/player.json b/web/public/locales/sl/components/player.json index cc144a5d9..636c919b0 100644 --- a/web/public/locales/sl/components/player.json +++ b/web/public/locales/sl/components/player.json @@ -1,15 +1,15 @@ { - "noRecordingsFoundForThisTime": "Posnetki niso bili najdeni", - "noPreviewFound": "Predogled ni bil najden", - "noPreviewFoundFor": "Predogled za {{cameraName}} ni na voljo", + "noRecordingsFoundForThisTime": "Za ta čas ni bilo najdenih posnetkov", + "noPreviewFound": "Predogleda ni mogoče najti", + "noPreviewFoundFor": "Za kamero {{cameraName}} ni predogleda", "submitFrigatePlus": { - "title": "Želite poslati ta okvir na Frigate+?", + "title": "Želiš poslati ta okvir v Frigate+?", "submit": "Pošlji" }, "stats": { "streamType": { - "title": "Tip pretoka:", - "short": "Tip" + "title": "Vrsta toka:", + "short": "Vrsta" }, "bandwidth": { "title": "Pasovna širina:", @@ -23,29 +23,29 @@ "title": "Zakasnitev" } }, - "totalFrames": "Skupno število sličic:", + "totalFrames": "Skupno število slik:", "droppedFrames": { - "title": "Izpuščene sličice:", + "title": "Izpuščene slike:", "short": { "title": "Izpuščeno", - "value": "{{droppedFrames}} sličic" + "value": "{{droppedFrames}} slik" } }, - "decodedFrames": "Dekodirane sličice:", - "droppedFrameRate": "Stopnja izpuščenih sličic:" + "decodedFrames": "Dekodirane slike:", + "droppedFrameRate": "Stopnja izpuščenih slik:" }, - "livePlayerRequiredIOSVersion": "iOS 17.1 je zahteven za ta tip pretoka.", + "livePlayerRequiredIOSVersion": "Za to vrsto prenosa v živo potrebuješ iOS 17.1 ali novejši.", "streamOffline": { - "title": "Pretok ni na voljo", - "desc": "Na toku detect kamere {{cameraName}} ni bilo prejetih nobenih sličic, preverite dnevnik napak" + "title": "Tok ni povezan", + "desc": "Pretok detect za kamero {{cameraName}} ne prejema slik, preveri dnevnike napak." }, "cameraDisabled": "Kamera je onemogočena", "toast": { "success": { - "submittedFrigatePlus": "Sličica je bila uspešno poslana v Frigate+" + "submittedFrigatePlus": "Okvir je bil uspešno poslan v Frigate+" }, "error": { - "submitFrigatePlusFailed": "Pošiljanje sličice v Frigate+ ni uspelo" + "submitFrigatePlusFailed": "Napaka pri pošiljanju okvirja v Frigate+" } } } diff --git a/web/public/locales/sl/config/cameras.json b/web/public/locales/sl/config/cameras.json index 0967ef424..f022c6f81 100644 --- a/web/public/locales/sl/config/cameras.json +++ b/web/public/locales/sl/config/cameras.json @@ -1 +1,941 @@ -{} +{ + "label": "Konfiguracija kamere", + "name": { + "label": "Ime kamere", + "description": "Ime kamere je obvezno" + }, + "friendly_name": { + "label": "Prijazno ime", + "description": "Prijazno ime kamere, ki se uporablja v vmesniku Frigate" + }, + "enabled": { + "label": "Omogočeno", + "description": "Omogočeno" + }, + "audio": { + "label": "Avdio dogodki", + "description": "Nastavitve za zaznavanje dogodkov na podlagi zvoka za to kamero.", + "enabled": { + "label": "Omogoči zaznavanje zvoka", + "description": "Omogoči ali onemogoči zaznavanje zvočnih dogodkov za to kamero." + }, + "max_not_heard": { + "label": "Časovna omejitev konca", + "description": "Število sekund brez nastavljenega tipa zvoka, preden se avdio dogodek zaključi." + }, + "min_volume": { + "label": "Najmanjša glasnost", + "description": "Najnižji prag glasnosti RMS za zagon zaznavanja; nižje vrednosti povečajo občutljivost (npr. 200 visoka, 500 srednja, 1000 nizka)." + }, + "listen": { + "label": "Tipi zvokov za poslušanje", + "description": "Seznam tipov avdio dogodkov za zaznavanje (npr. lajež, požarni alarm, krik, govor, vpitje)." + }, + "filters": { + "label": "Avdio filtri", + "description": "Nastavitve filtrov za posamezne tipe zvoka (npr. pragovi zaupanja) za zmanjšanje lažnih pozitivnih rezultatov." + }, + "enabled_in_config": { + "label": "Prvotno stanje zvoka", + "description": "Pove, ali je bilo zaznavanje zvoka prvotno omogočeno v statični konfiguracijski datoteki." + }, + "num_threads": { + "label": "Niti za zaznavanje", + "description": "Število niti za obdelavo zaznavanja zvoka." + } + }, + "audio_transcription": { + "label": "Transkripcija zvoka", + "description": "Nastavitve za transkripcijo zvoka v živo in govora, ki se uporablja za dogodke in podnapise v živo.", + "enabled": { + "label": "Omogoči transkripcijo", + "description": "Omogoči ali onemogoči ročno sproženo transkripcijo zvočnih dogodkov." + }, + "enabled_in_config": { + "label": "Prvotno stanje transkripcije" + }, + "live_enabled": { + "label": "Transkripcija v živo", + "description": "Omogoči sprotno transkripcijo zvoka ob prejemu." + } + }, + "birdseye": { + "label": "Birdseye (Ptičja perspektiva)", + "description": "Nastavitve za sestavljen pogled Birdseye, ki združi več virov kamer v eno postavitev.", + "enabled": { + "label": "Omogoči Birdseye", + "description": "Vklopi ali izklopi funkcijo Birdseye." + }, + "mode": { + "label": "Način sledenja", + "description": "Način vključitve kamer v Birdseye: 'objects' (objekti), 'motion' (gibanje) ali 'continuous' (neprekinjeno)." + }, + "order": { + "label": "Položaj", + "description": "Številčna vrednost, ki določa vrstni red kamere v postavitvi Birdseye." + } + }, + "detect": { + "label": "Zaznavanje objektov", + "description": "Nastavitve za vlogo zaznavanja, ki se uporablja za iskanje objektov in inicializacijo sledilnikov.", + "enabled": { + "label": "Zaznavanje omogočeno", + "description": "Omogoči ali onemogoči zaznavanje objektov za to kamero. Zaznavanje mora biti omogočeno, da sledenje objektom deluje." + }, + "height": { + "label": "Višina zaznavanja", + "description": "Višina (v pikslih) slik za tok zaznavanja; pusti prazno za uporabo izvorne ločljivosti." + }, + "width": { + "label": "Širina zaznavanja", + "description": "Širina (v pikslih) slik za tok zaznavanja; pusti prazno za uporabo izvorne ločljivosti." + }, + "fps": { + "label": "FPS zaznavanja", + "description": "Želeno število slik na sekundo za zaznavanje; nižje vrednosti zmanjšajo porabo procesorja (priporočeno je 5)." + }, + "min_initialized": { + "label": "Najmanj slik za inicializacijo", + "description": "Število zaporednih zaznav, potrebnih pred ustvarjanjem sledenega objekta. Povečaj za manj lažnih zaznav." + }, + "max_disappeared": { + "label": "Največ slik ob izginotju", + "description": "Število slik brez zaznave, preden se sledeni objekt šteje za izginulega." + }, + "stationary": { + "label": "Konfiguracija nepremičnih objektov", + "description": "Nastavitve za zaznavanje in upravljanje objektov, ki nekaj časa ostanejo na mestu.", + "interval": { + "label": "Interval nepremičnosti", + "description": "Kako pogosto (v slikah) naj se preveri prisotnost nepremičnega objekta." + }, + "threshold": { + "label": "Prag nepremičnosti", + "description": "Število slik brez spremembe položaja, potrebnih, da se objekt označi za nepremičnega." + }, + "max_frames": { + "label": "Največ slik", + "description": "Omejuje, kako dolgo se sledi nepremičnim objektom, preden se zavržejo.", + "default": { + "label": "Privzeto največ slik", + "description": "Privzeto največje število slik za sledenje nepremičnemu objektu." + }, + "objects": { + "label": "Največ slik za objekt", + "description": "Posebne omejitve za posamezne tipe objektov." + } + }, + "classifier": { + "label": "Omogoči vizualni klasifikator", + "description": "Uporabi vizualni klasifikator za potrditev nepremičnih objektov, tudi če se okvirji rahlo premikajo." + } + }, + "annotation_offset": { + "label": "Odmik anotacij", + "description": "Število milisekund za premik oznak zaznavanja, da se bolje ujemajo s posnetki; lahko je pozitivno ali negativno." + } + }, + "face_recognition": { + "label": "Prepoznava obrazov", + "description": "Nastavitve za zaznavanje in prepoznavanje obrazov za to kamero.", + "enabled": { + "label": "Omogoči prepoznavo obrazov", + "description": "Omogoči ali onemogoči prepoznavanje obrazov." + }, + "min_area": { + "label": "Najmanjša površina obraza", + "description": "Najmanjša površina (v pikslih) okvirja obraza, potrebna za poskus prepoznave." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Nastavitve FFmpeg, vključno s potjo do binarne datoteke, argumenti, možnostmi strojnega pospeševanja in argumenti izhoda po vlogah.", + "path": { + "label": "Pot do FFmpeg", + "description": "Pot do binarne datoteke FFmpeg, ki naj se uporabi, ali vzdevek različice (\"5.0\" ali \"7.0\")." + }, + "global_args": { + "label": "Globalni argumenti FFmpeg", + "description": "Globalni argumenti, posredovani procesom FFmpeg." + }, + "hwaccel_args": { + "label": "Argumenti strojnega pospeševanja", + "description": "Argumenti za strojno pospeševanje FFmpeg. Priporočljive so prednastavitve glede na ponudnika." + }, + "input_args": { + "label": "Vhodni argumenti", + "description": "Vhodni argumenti, uporabljeni za vhodne tokove FFmpeg." + }, + "output_args": { + "label": "Izhodni argumenti", + "description": "Privzeti izhodni argumenti, uporabljeni za različne vloge FFmpeg, kot sta zaznavanje in snemanje.", + "detect": { + "label": "Izhodni argumenti za zaznavanje", + "description": "Privzeti izhodni argumenti za tokove z vlogo zaznavanja (detect)." + }, + "record": { + "label": "Izhodni argumenti za snemanje", + "description": "Privzeti izhodni argumenti za tokove z vlogo snemanja (record)." + } + }, + "retry_interval": { + "label": "Čas ponovnega poskusa FFmpeg", + "description": "Število sekund čakanja pred ponovnim poskusom povezave s tokom kamere po napaki. Privzeto je 10." + }, + "apple_compatibility": { + "label": "Združljivost z Apple napravami", + "description": "Omogoči označevanje HEVC za boljšo združljivost z Applovimi predvajalniki pri snemanju v H.265." + }, + "gpu": { + "label": "Indeks GPU", + "description": "Privzeti indeks grafične kartice (GPU), uporabljen za strojno pospeševanje, če je na voljo." + }, + "inputs": { + "label": "Vhodi kamere", + "description": "Seznam definicij vhodnih tokov (poti in vloge) za to kamero.", + "path": { + "label": "Vhodna pot", + "description": "URL ali pot do vhodnega toka kamere." + }, + "roles": { + "label": "Vloge vhoda", + "description": "Vloge za ta vhodni tok." + }, + "global_args": { + "label": "Globalni argumenti FFmpeg", + "description": "Globalni argumenti FFmpeg za ta vhodni tok." + }, + "hwaccel_args": { + "label": "Argumenti strojnega pospeševanja", + "description": "Argumenti strojnega pospeševanja za ta vhodni tok." + }, + "input_args": { + "label": "Vhodni argumenti", + "description": "Vhodni argumenti, specifični za ta tok." + } + } + }, + "live": { + "label": "Predvajanje v živo", + "description": "Nastavitve, ki jih uporablja spletni vmesnik za nadzor izbire toka v živo, ločljivosti in kakovosti.", + "streams": { + "label": "Imena tokov v živo", + "description": "Preslikava konfiguriranih imen tokov v imena restream/go2rtc, uporabljena za predvajanje v živo." + }, + "height": { + "label": "Višina v živo", + "description": "Višina (v pikslih) za upodabljanje jsmpeg toka v živo v spletnem vmesniku; mora biti <= višini toka za zaznavanje." + }, + "quality": { + "label": "Kakovost v živo", + "description": "Kakovost kodiranja za jsmpeg tok (1 najvišja, 31 najnižja)." + } + }, + "lpr": { + "label": "Prepoznava registrskih tablic (LPR)", + "description": "Nastavitve prepoznave registrskih tablic, vključno s pragi detekcije, formatiranjem in znanimi tablicami.", + "enabled": { + "label": "Omogoči LPR", + "description": "Omogoči ali onemogoči LPR na tej kameri." + }, + "expire_time": { + "label": "Sekunde do poteka", + "description": "Čas v sekundah, po katerem nevidna tablica poteče iz sledilnika (samo za namenske LPR kamere)." + }, + "min_area": { + "label": "Najmanjša površina tablice", + "description": "Najmanjša površina tablice (v pikslih) za poskus prepoznave." + }, + "enhancement": { + "label": "Stopnja izboljšave", + "description": "Stopnja izboljšave (0-10) slik tablic pred OCR; stopnje nad 5 so priporočljive le za nočne posnetke." + } + }, + "motion": { + "label": "Zaznavanje gibanja", + "description": "Privzete nastavitve zaznavanja gibanja za to kamero.", + "enabled": { + "label": "Omogoči zaznavanje gibanja", + "description": "Omogoči ali onemogoči zaznavanje gibanja za to kamero." + }, + "threshold": { + "label": "Prag gibanja", + "description": "Prag razlike v pikslih, ki ga uporablja detektor gibanja; višje vrednosti zmanjšajo občutljivost (razpon 1-255)." + }, + "lightning_threshold": { + "label": "Prag za strele", + "description": "Prag za zaznavanje in ignoriranje kratkih svetlobnih skokov (nižje je bolj občutljivo). To ne prepreči snemanja, le ustavi analizo dodatnih okvirjev ob blisku." + }, + "skip_motion_threshold": { + "label": "Prag za preskok gibanja", + "description": "Če se v enem okvirju spremeni večji delež slike od tega, detektor ne bo vrnil okvirjev gibanja in se bo takoj umeril. To zmanjša lažne pozitivne rezultate med nevihtami. Razpon 0.0 do 1.0." + }, + "improve_contrast": { + "label": "Izboljšaj kontrast", + "description": "Uporabi izboljšavo kontrasta na okvirjih pred analizo gibanja za boljšo detekcijo." + }, + "contour_area": { + "label": "Površina konture", + "description": "Najmanjša površina konture v pikslih, potrebna, da se gibanje upošteva." + }, + "delta_alpha": { + "label": "Delta alfa", + "description": "Faktor alfa mešanja, uporabljen pri razlikovanju okvirjev za izračun gibanja." + }, + "frame_alpha": { + "label": "Alfa okvirja", + "description": "Vrednost alfa, uporabljena pri mešanju okvirjev za predobdelavo gibanja." + }, + "frame_height": { + "label": "Višina okvirja", + "description": "Višina v pikslih, na katero se spremeni velikost okvirja pri izračunu gibanja." + }, + "mask": { + "label": "Koordinate maske", + "description": "Urejene koordinate x,y, ki določajo poligon maske gibanja za vključitev ali izključitev območij." + }, + "mqtt_off_delay": { + "label": "Zakasnitev izklopa MQTT", + "description": "Število sekund čakanja po zadnjem zaznanem gibanju pred objavo stanja 'off' na MQTT." + }, + "enabled_in_config": { + "label": "Prvotno stanje gibanja", + "description": "Pove, ali je bilo zaznavanje gibanja omogočeno v prvotni statični konfiguraciji." + }, + "raw_mask": { + "label": "Surova maska" + } + }, + "objects": { + "label": "Objekti", + "description": "Privzete nastavitve sledenja objektom, vključno s tem, katere oznake naj se sledijo, in filtri za posamezne objekte.", + "track": { + "label": "Objekti za sledenje", + "description": "Seznam oznak objektov za sledenje na tej kameri." + }, + "filters": { + "label": "Filtri objektov", + "description": "Filtri za zaznane objekte za zmanjšanje lažnih pozitivnih rezultatov (površina, razmerje, zaupanje).", + "min_area": { + "label": "Najmanjša površina objekta", + "description": "Najmanjša površina okvirja (v pikslih ali odstotkih), potrebna za to vrsto objekta." + }, + "max_area": { + "label": "Največja površina objekta", + "description": "Največja dovoljena površina okvirja za to vrsto objekta." + }, + "min_ratio": { + "label": "Najmanjše razmerje stranic", + "description": "Najmanjše razmerje širina/višina, potrebno za veljavnost okvirja." + }, + "max_ratio": { + "label": "Največje razmerje stranic", + "description": "Največje dovoljeno razmerje širina/višina." + }, + "threshold": { + "label": "Prag zaupanja", + "description": "Povprečni prag zaupanja detekcije, potreben, da se objekt šteje za pravega." + }, + "min_score": { + "label": "Najmanjše zaupanje", + "description": "Najmanjše zaupanje detekcije v enem okvirju, da se objekt upošteva." + }, + "mask": { + "label": "Maska filtra", + "description": "Koordinate poligona, ki določajo, kje znotraj okvirja velja ta filter." + }, + "raw_mask": { + "label": "Surova maska" + } + }, + "mask": { + "label": "Maska objekta", + "description": "Poligon maske, uporabljen za preprečevanje zaznavanja objektov na določenih območij." + }, + "raw_mask": { + "label": "Surova maska" + }, + "genai": { + "label": "GenAI konfiguracija objektov", + "description": "GenAI možnosti za opisovanje sledenih objektov in pošiljanje okvirjev za generiranje.", + "enabled": { + "label": "Omogoči GenAI", + "description": "Privzeto omogoči GenAI generiranje opisov za sledene objekte." + }, + "use_snapshot": { + "label": "Uporabi posnetke", + "description": "Za generiranje GenAI opisov uporabi posnetke (snapshots) namesto sličic (thumbnails)." + }, + "prompt": { + "label": "Navodilo za opis (Prompt)", + "description": "Privzeta predloga navodila, uporabljena pri generiranju opisov z GenAI." + }, + "object_prompts": { + "label": "Navodila za specifične objekte", + "description": "Navodila po meri za specifične oznake objektov." + }, + "objects": { + "label": "GenAI objekti", + "description": "Seznam oznak objektov, ki naj se privzeto pošiljajo GenAI-ju." + }, + "required_zones": { + "label": "Zahtevana območja", + "description": "Območja, v katera mora objekt vstopiti, da je primeren za GenAI opis." + }, + "debug_save_thumbnails": { + "label": "Shrani sličice", + "description": "Shrani sličice, poslane GenAI-ju, za namene razhroščevanja in pregleda." + }, + "send_triggers": { + "label": "GenAI sprožilci", + "description": "Določa, kdaj naj se okvirji pošljejo GenAI-ju (ob koncu, po posodobitvah itd.).", + "tracked_object_end": { + "label": "Pošlji ob koncu", + "description": "Pošlji zahtevo GenAI-ju, ko se sledenje objektu konča." + }, + "after_significant_updates": { + "label": "Zgodnji GenAI sprožilec", + "description": "Pošlji zahtevo GenAI-ju po določenem številu pomembnih posodobitev sledenega objekta." + } + }, + "enabled_in_config": { + "label": "Prvotno GenAI stanje", + "description": "Pove, ali je bil GenAI omogočen v prvotni statični konfiguraciji." + } + } + }, + "record": { + "label": "Snemanje", + "description": "Nastavitve snemanja in hrambe za to kamero.", + "enabled": { + "label": "Omogoči snemanje", + "description": "Omogoči ali onemogoči snemanje za to kamero." + }, + "expire_interval": { + "label": "Interval čiščenja posnetkov", + "description": "Minute med cikli čiščenja, ki odstranijo potekle segmente snemanja." + }, + "continuous": { + "label": "Neprekinjena hramba", + "description": "Število dni hrambe posnetkov ne glede na objekte ali gibanje. Nastavi na 0, če želiš hraniti le opozorila in detekcije.", + "days": { + "label": "Dni hrambe", + "description": "Število dni za hrambo posnetkov." + } + }, + "motion": { + "label": "Hramba ob gibanju", + "description": "Število dni hrambe posnetkov, ki jih sproži gibanje, ne glede na objekte.", + "days": { + "label": "Dni hrambe", + "description": "Število dni za hrambo posnetkov." + } + }, + "detections": { + "label": "Hramba detekcij", + "description": "Nastavitve hrambe za dogodke zaznavanja, vključno s trajanjem pred in po zajemu.", + "pre_capture": { + "label": "Sekunde pred zajemom", + "description": "Število sekund pred dogodkom zaznavanja, ki se vključi v posnetek." + }, + "post_capture": { + "label": "Sekunde po zajemu", + "description": "Število sekund po dogodku zaznavanja, ki se vključi v posnetek." + }, + "retain": { + "label": "Hramba dogodkov", + "description": "Nastavitve hrambe za posnetke dogodkov zaznavanja.", + "days": { + "label": "Dni hrambe", + "description": "Število dni za hrambo posnetkov dogodkov zaznavanja." + }, + "mode": { + "label": "Način hrambe", + "description": "Način hrambe: all (vsi segmenti), motion (segmenti z gibanjem) ali active_objects (segmenti z aktivnimi objekti)." + } + } + }, + "alerts": { + "label": "Hramba opozoril", + "description": "Nastavitve hrambe za dogodke opozoril.", + "pre_capture": { + "label": "Sekunde pred zajemom", + "description": "Število sekund pred dogodkom opozorila, ki se vključi v posnetek." + }, + "post_capture": { + "label": "Sekunde po zajemu", + "description": "Število sekund po dogodku opozorila, ki se vključi v posnetek." + }, + "retain": { + "label": "Hramba dogodkov", + "description": "Nastavitve hrambe za posnetke dogodkov opozoril.", + "days": { + "label": "Dni hrambe", + "description": "Število dni za hrambo posnetkov dogodkov opozoril." + }, + "mode": { + "label": "Način hrambe", + "description": "Način hrambe posnetkov opozoril." + } + } + }, + "export": { + "label": "Konfiguracija izvoza", + "description": "Nastavitve za izvoz posnetkov, kot sta časovni zamik (timelapse) in strojno pospeševanje.", + "hwaccel_args": { + "label": "Argumenti strojnega pospeševanja za izvoz", + "description": "Argumenti strojnega pospeševanja za operacije izvoza in transkodiranja." + } + }, + "preview": { + "label": "Konfiguracija predogleda", + "description": "Nastavitve kakovosti predogledov snemanja v vmesniku.", + "quality": { + "label": "Kakovost predogleda", + "description": "Stopnja kakovosti predogleda (zelo nizka, nizka, srednja, visoka, zelo visoka)." + } + }, + "enabled_in_config": { + "label": "Prvotno stanje snemanja", + "description": "Pove, ali je bilo snemanje omogočeno v prvotni statični konfiguraciji." + } + }, + "review": { + "label": "Pregled", + "description": "Nastavitve, ki nadzorujejo opozorila, zaznave in GenAI povzetke pregledov za to kamero.", + "alerts": { + "label": "Konfiguracija opozoril", + "description": "Nastavitve za objekte, ki sprožijo opozorila, in njihovo hrambo.", + "enabled": { + "label": "Omogoči opozorila", + "description": "Omogoči ali onemogoči generiranje opozoril za to kamero." + }, + "labels": { + "label": "Oznake opozoril", + "description": "Seznam oznak objektov, ki štejejo kot opozorila (npr. avto, oseba)." + }, + "required_zones": { + "label": "Zahtevana območja", + "description": "Območja, v katera mora objekt vstopiti, da postane opozorilo; pusti prazno za katerokoli območje." + }, + "enabled_in_config": { + "label": "Prvotno stanje opozoril", + "description": "Sledi, ali so bila opozorila prvotno omogočena." + }, + "cutoff_time": { + "label": "Čas zaključka opozorila", + "description": "Število sekund čakanja po končani aktivnosti, preden se opozorilo zaključi." + } + }, + "detections": { + "label": "Konfiguracija detekcij", + "description": "Nastavitve za ustvarjanje dogodkov zaznavanja (ki niso opozorila) in čas hrambe.", + "enabled": { + "label": "Omogoči detekcije", + "description": "Omogoči ali onemogoči dogodke zaznav za to kamero." + }, + "labels": { + "label": "Oznake detekcij", + "description": "Seznam oznak objektov, ki štejejo kot dogodki zaznavanja." + }, + "required_zones": { + "label": "Zahtevana območja", + "description": "Območja, v katera mora objekt vstopiti, da postane detekcija." + }, + "cutoff_time": { + "label": "Čas zaključka detekcije", + "description": "Število sekund čakanja po končani aktivnosti, preden se detekcija zaključi." + }, + "enabled_in_config": { + "label": "Prvotno stanje detekcij", + "description": "Sledi, ali so bile detekcije prvotno omogočene." + } + }, + "genai": { + "label": "GenAI konfiguracija", + "description": "Nadzira uporabo generativne UI za izdelavo opisov in povzetkov postavk pregleda.", + "enabled": { + "label": "Omogoči GenAI opise", + "description": "Omogoči ali onemogoči GenAI opise in povzetke za postavke pregleda." + }, + "alerts": { + "label": "Omogoči GenAI za opozorila", + "description": "Uporabi GenAI za generiranje opisov opozoril." + }, + "detections": { + "label": "Omogoči GenAI za detekcije", + "description": "Uporabi GenAI za generiranje opisov detekcij." + }, + "image_source": { + "label": "Vir slik za pregled", + "description": "Vir slik za GenAI ('preview' ali 'recordings'); 'recordings' nudi višjo kakovost, a porabi več žetonov." + }, + "additional_concerns": { + "label": "Dodatni pomisleki", + "description": "Seznam dodatnih navodil ali opomb, ki naj jih GenAI upošteva pri ocenjevanju aktivnosti." + }, + "debug_save_thumbnails": { + "label": "Shrani sličice", + "description": "Shrani sličice, poslane ponudniku GenAI, za namene razhroščevanja." + }, + "enabled_in_config": { + "label": "Prvotno GenAI stanje", + "description": "Sledi, ali je bil GenAI pregled prvotno omogočen." + }, + "preferred_language": { + "label": "Prednostni jezik", + "description": "Jezik, ki se zahteva od ponudnika GenAI za generirane odgovore." + }, + "activity_context_prompt": { + "label": "Navodilo za kontekst aktivnosti", + "description": "Navodilo po meri, ki opisuje, kaj je in kaj ni sumljiva aktivnost, za boljšo orientacijo GenAI-ja." + } + } + }, + "semantic_search": { + "label": "Semantično iskanje", + "description": "Nastavitve za semantično iskanje, ki gradi in poizveduje po vložitvah objektov (embeddings) za iskanje podobnih elementov.", + "triggers": { + "label": "Sprožilci", + "description": "Dejanja in kriteriji ujemanja za sprožilce semantičnega iskanja na določeni kameri.", + "friendly_name": { + "label": "Prijazno ime", + "description": "Izbirno ime, ki se prikaže v vmesniku za ta sprožilec." + }, + "enabled": { + "label": "Omogoči ta sprožilec", + "description": "Vklopi ali izklopi ta sprožilec semantičnega iskanja." + }, + "type": { + "label": "Vrsta sprožilca", + "description": "Vrsta sprožilca: 'thumbnail' (ujemanje s sliko) ali 'description' (ujemanje z besedilom)." + }, + "data": { + "label": "Vsebina sprožilca", + "description": "Besedilna fraza ali ID sličice za primerjavo s sledenimi objekti." + }, + "threshold": { + "label": "Prag sprožilca", + "description": "Najmanjša ocena podobnosti (0-1), potrebna za aktivacijo tega sprožilca." + }, + "actions": { + "label": "Dejanja sprožilca", + "description": "Seznam dejanj ob ujemanju (obvestilo, pod-oznaka, atribut)." + } + } + }, + "snapshots": { + "label": "Posnetki (Snapshots)", + "description": "Nastavitve za shranjene JPEG posnetke sledenih objektov za to kamero.", + "enabled": { + "label": "Posnetki omogočeni", + "description": "Omogoči ali onemogoči shranjevanje posnetkov za to kamero." + }, + "clean_copy": { + "label": "Shrani čisto kopijo", + "description": "Poleg označenih shrani tudi čisto kopijo posnetkov brez anotacij." + }, + "timestamp": { + "label": "Prekrivna časovna značka", + "description": "Na shranjene posnetke dodaj časovno značko." + }, + "bounding_box": { + "label": "Prekrivni okvirji (Bounding box)", + "description": "Na shranjene posnetke nariši okvirje za sledene objekte." + }, + "crop": { + "label": "Obreži posnetek", + "description": "Shranjene posnetke obreži na okvir zaznanega objekta." + }, + "required_zones": { + "label": "Zahtevana območja", + "description": "Območja, v katera mora objekt vstopiti, da se posnetek shrani." + }, + "height": { + "label": "Višina posnetka", + "description": "Višina (v pikslih) za shranjene posnetke; pusti prazno za izvorno velikost." + }, + "retain": { + "label": "Hramba posnetkov", + "description": "Nastavitve hrambe za posnetke, vključno s privzetimi dnevi in povoženji po objektih.", + "default": { + "label": "Privzeta hramba", + "description": "Privzeto število dni za hrambo posnetkov." + }, + "mode": { + "label": "Način hrambe", + "description": "Način hrambe posnetkov." + }, + "objects": { + "label": "Hramba po objektih", + "description": "Posebne nastavitve dni hrambe za posamezne vrste objektov." + } + }, + "quality": { + "label": "Kakovost JPEG", + "description": "Kakovost kodiranja JPEG za shranjene posnetke (0-100)." + } + }, + "timestamp_style": { + "label": "Slog časovne značke", + "description": "Možnosti oblikovanja časovnih žigov na posnetkih in slikah.", + "position": { + "label": "Položaj časovne značke", + "description": "Položaj časovne značke na sliki (tl/tr/bl/br - zgoraj levo/desno, spodaj levo/desno)." + }, + "format": { + "label": "Format časovne značke", + "description": "Niz za format datuma in časa (Python datetime koda)." + }, + "color": { + "label": "Barva časovne značke", + "description": "RGB vrednosti barve za besedilo časovne značke (vse vrednosti 0-255).", + "red": { + "label": "Rdeča", + "description": "Rdeča komponenta (0-255) barve." + }, + "green": { + "label": "Zelena", + "description": "Zelena komponenta (0-255) barve." + }, + "blue": { + "label": "Modra", + "description": "Modra komponenta (0-255) barve." + } + }, + "thickness": { + "label": "Debelina časovne značke", + "description": "Debelina črte besedila časovne značke." + }, + "effect": { + "label": "Učinek časovne značke", + "description": "Vizualni učinek za besedilo (brez, polno, senca)." + } + }, + "best_image_timeout": { + "label": "Časovna omejitev za najboljšo sliko", + "description": "Kako dolgo naj se čaka na sliko z najvišjo oceno zaupanja." + }, + "mqtt": { + "label": "MQTT", + "description": "Nastavitve objavljanja slik preko MQTT.", + "enabled": { + "label": "Pošlji sliko", + "description": "Omogoči objavljanje slik objektov na MQTT teme za to kamero." + }, + "timestamp": { + "label": "Dodaj časovni žig", + "description": "Na slike, objavljene preko MQTT, dodaj časovni žig." + }, + "bounding_box": { + "label": "Dodaj okvir zaznave", + "description": "Na slike, objavljene preko MQTT, nariši okvirje zaznave." + }, + "crop": { + "label": "Izreži sliko", + "description": "Izreži slike za MQTT na velikost okvirja zaznanega objekta." + }, + "height": { + "label": "Višina slike", + "description": "Višina (v pikslih) slik, objavljenih preko MQTT." + }, + "required_zones": { + "label": "Zahtevane cone", + "description": "Cone, v katere mora objekt vstopiti, da se MQTT slika objavi." + }, + "quality": { + "label": "Kakovost JPEG", + "description": "Kakovost JPEG za slike, objavljene preko MQTT (0-100)." + } + }, + "notifications": { + "label": "Obvestila", + "description": "Nastavitve za omogočanje in nadzor obvestil za to kamero.", + "enabled": { + "label": "Omogoči obvestila", + "description": "Omogoči ali onemogoči obvestila za to kamero." + }, + "email": { + "label": "E-pošta za obvestila", + "description": "E-poštni naslov, ki se uporablja za potisna obvestila ali ga zahtevajo določeni ponudniki obvestil." + }, + "cooldown": { + "label": "Obdobje mirovanja (Cooldown)", + "description": "Čas mirovanja (v sekundah) med obvestili, da preprečiš zasipanje prejemnikov s sporočili." + }, + "enabled_in_config": { + "label": "Prvotno stanje obvestil", + "description": "Pove, ali so bila obvestila omogočena v prvotni statični konfiguraciji." + } + }, + "onvif": { + "label": "ONVIF", + "description": "Nastavitve ONVIF povezave in PTZ samodejnega sledenja za to kamero.", + "host": { + "label": "ONVIF gostitelj", + "description": "Naslov gostitelja za storitev ONVIF za to kamero." + }, + "port": { + "label": "ONVIF vrata (port)", + "description": "Številka vrat za storitev ONVIF." + }, + "user": { + "label": "ONVIF uporabniško ime", + "description": "Uporabniško ime za ONVIF avtentikacijo." + }, + "password": { + "label": "ONVIF geslo", + "description": "Geslo za ONVIF avtentikacijo." + }, + "tls_insecure": { + "label": "Onemogoči TLS preverjanje", + "description": "Preskoči preverjanje TLS (nevarno; uporabljaj le v varnih omrežjih)." + }, + "autotracking": { + "label": "Samodejno sledenje", + "description": "Samodejno sledi premikajočim se objektom in jih drži v sredini okvirja s premiki PTZ kamere.", + "enabled": { + "label": "Omogoči samodejno sledenje", + "description": "Vklopi ali izklopi samodejno PTZ sledenje zaznanim objektom." + }, + "calibrate_on_startup": { + "label": "Umeri ob zagonu", + "description": "Izmeri hitrosti motorjev PTZ ob zagonu za boljšo natančnost sledenja." + }, + "zooming": { + "label": "Način povečave", + "description": "Nadzor povečave: onemogočeno, absolutno (najbolj združljivo) ali relativno." + }, + "zoom_factor": { + "label": "Faktor povečave", + "description": "Nadzor stopnje povečave na sledenih objektih (0.1 do 0.75)." + }, + "track": { + "label": "Sledeni objekti", + "description": "Seznam vrst objektov, ki sprožijo samodejno sledenje." + }, + "required_zones": { + "label": "Zahtevana območja", + "description": "Objekti morajo vstopiti v eno od teh območij, preden se sledenje začne." + }, + "return_preset": { + "label": "Prednastavitev za vrnitev", + "description": "Ime ONVIF prednastavitve (preset), na katero se kamera vrne po končanem sledenju." + }, + "timeout": { + "label": "Čas do vrnitve", + "description": "Koliko sekund naj kamera čaka po izgubi objekta, preden se vrne v prvotni položaj." + }, + "movement_weights": { + "label": "Uteži premikanja", + "description": "Vrednosti umerjanja, ki se generirajo samodejno. Ne spreminjaj ročno." + }, + "enabled_in_config": { + "label": "Prvotno stanje sledenja", + "description": "Interno polje za sledenje stanja sledenja v konfiguraciji." + } + }, + "ignore_time_mismatch": { + "label": "Prezri časovno neskladje", + "description": "Prezri razlike v sinhronizaciji časa med kamero in strežnikom za ONVIF komunikacijo." + } + }, + "type": { + "label": "Vrsta kamere", + "description": "Vrsta kamere" + }, + "ui": { + "label": "Uporabniški vmesnik kamere", + "description": "Vrstni red prikaza in vidnost te kamere v vmesniku. Vrstni red vpliva na privzeto nadzorno ploščo. Za natančnejši nadzor uporabi skupine kamer.", + "order": { + "label": "Vrstni red v vmesniku", + "description": "Številčni vrstni red za razvrščanje kamere v vmesniku (nadzorna plošča in seznami); višje številke se pojavijo kasneje." + }, + "dashboard": { + "label": "Prikaži v vmesniku", + "description": "Preklopi vidnost kamere povsod v vmesniku Frigate. Če to onemogočiš, boš moral ročno urediti konfiguracijo, da bo kamera spet vidna." + } + }, + "webui_url": { + "label": "URL kamere", + "description": "URL za neposreden obisk spletnega vmesnika kamere s strani sistema." + }, + "zones": { + "label": "Cone", + "description": "Cone ti omogočajo določitev specifičnega območja slike, da lahko ugotoviš, ali je objekt znotraj določenega predela.", + "friendly_name": { + "label": "Ime cone", + "description": "Uporabniku prijazno ime cone, prikazano v vmesniku Frigate. Če ni nastavljeno, bo uporabljena formatirana različica imena cone." + }, + "enabled": { + "label": "Omogočeno", + "description": "Omogoči ali onemogoči to cono. Onemogočene cone se med delovanjem prezrejo." + }, + "enabled_in_config": { + "label": "Sledi prvotnemu stanju cone." + }, + "filters": { + "label": "Filtri cone", + "description": "Filtri, ki se uporabijo za objekte znotraj te cone. Uporabljajo se za zmanjšanje lažnih zadetkov ali omejitev objektov, ki štejejo kot prisotni v coni.", + "min_area": { + "label": "Najmanjša površina objekta", + "description": "Najmanjša površina okvirja (v pikslih ali odstotkih), potrebna za to vrsto objekta. Lahko so piksli (celo število) ali odstotek (decimalno število med 0.000001 in 0.99)." + }, + "max_area": { + "label": "Največja površina objekta", + "description": "Največja dovoljena površina okvirja (v pikslih ali odstotkih) za to vrsto objekta. Lahko so piksli (celo število) ali odstotek (decimalno število med 0.000001 in 0.99)." + }, + "min_ratio": { + "label": "Najmanjše razmerje stranic", + "description": "Najmanjše razmerje širina/višina, potrebno za ustreznost okvirja." + }, + "max_ratio": { + "label": "Največje razmerje stranic", + "description": "Največje dovoljeno razmerje širina/višina za ustreznost okvirja." + }, + "threshold": { + "label": "Prag zaupanja", + "description": "Povprečni prag zaupanja zaznavanja, potreben, da se objekt v coni šteje za resničen zadetek." + }, + "min_score": { + "label": "Najmanjše zaupanje", + "description": "Najmanjše zaupanje zaznave v posamezni sliki, potrebno za upoštevanje objekta." + }, + "mask": { + "label": "Maska filtra", + "description": "Koordinate poligona, ki določa, kje znotraj slike se ta filter uporabi." + }, + "raw_mask": { + "label": "Surova maska" + } + }, + "coordinates": { + "label": "Koordinate", + "description": "Koordinate poligona, ki določa območje cone. Lahko je z vejico ločen niz ali seznam nizov koordinat. Koordinate morajo biti relativne (0-1) ali absolutne (starejši sistemi)." + }, + "distances": { + "label": "Razdalje v realnem svetu", + "description": "Izbirne realne razdalje za vsako stran štirikotnika cone, ki se uporabljajo za izračun hitrosti ali razdalje. Če je nastavljeno, mora imeti natanko 4 vrednosti." + }, + "inertia": { + "label": "Slike vztrajnosti (Inertia frames)", + "description": "Število zaporednih slik, v katerih mora biti objekt zaznan v coni, preden se šteje za prisotnega. Pomaga filtrirati prehodne zaznave." + }, + "loitering_time": { + "label": "Sekunde postopanja (Loitering)", + "description": "Število sekund, ki jih mora objekt preživeti v coni, da se šteje za postopanje. Nastavi na 0, če želiš onemogočiti zaznavanje postopanja." + }, + "speed_threshold": { + "label": "Najmanjša hitrost", + "description": "Najmanjša hitrost (v realnih enotah, če so nastavljene razdalje), potrebna, da se objekt šteje za prisotnega v coni. Uporablja se za sprožilce con na podlagi hitrosti." + }, + "objects": { + "label": "Objekti sprožilci", + "description": "Seznam vrst objektov (iz labelmap), ki lahko sprožijo to cono. Če je prazno, se upoštevajo vsi objekti." + } + }, + "enabled_in_config": { + "label": "Prvotno stanje kamere", + "description": "Sledi prvotnemu stanju kamere v konfiguraciji." + } +} diff --git a/web/public/locales/sl/config/global.json b/web/public/locales/sl/config/global.json index 0967ef424..625dd287a 100644 --- a/web/public/locales/sl/config/global.json +++ b/web/public/locales/sl/config/global.json @@ -1 +1,2192 @@ -{} +{ + "audio": { + "label": "Avdio dogodki", + "enabled": { + "label": "Omogoči zaznavanje zvoka", + "description": "Vklopi ali izklopi zaznavanje avdio dogodkov za vse kamere." + }, + "max_not_heard": { + "label": "Časovna omejitev konca", + "description": "Število sekund brez nastavljenega tipa zvoka, preden se avdio dogodek zaključi." + }, + "min_volume": { + "label": "Najmanjša glasnost", + "description": "Najnižji prag glasnosti RMS za zagon zaznavanja; nižje vrednosti povečajo občutljivost (npr. 200 visoka, 500 srednja, 1000 nizka)." + }, + "listen": { + "label": "Tipi zvokov za poslušanje", + "description": "Seznam tipov avdio dogodkov za zaznavanje (npr. lajež, požarni alarm, krik, govor, vpitje)." + }, + "filters": { + "label": "Avdio filtri", + "description": "Nastavitve filtrov za posamezne tipe zvoka (npr. pragovi zaupanja) za zmanjšanje lažnih pozitivnih rezultatov." + }, + "enabled_in_config": { + "label": "Prvotno stanje zvoka", + "description": "Pove, ali je bilo zaznavanje zvoka prvotno omogočeno v statični konfiguracijski datoteki." + }, + "num_threads": { + "label": "Niti za zaznavanje", + "description": "Število niti za obdelavo zaznavanja zvoka." + }, + "description": "Nastavitve za zaznavanje dogodkov na podlagi zvoka za vse kamere; lahko jih povoziš za vsako kamero posebej." + }, + "audio_transcription": { + "label": "Transkripcija zvoka", + "description": "Nastavitve za transkripcijo zvoka v živo in govora, ki se uporablja za dogodke in podnapise v živo.", + "live_enabled": { + "label": "Transkripcija v živo", + "description": "Omogoči sprotno transkripcijo zvoka ob prejemu." + }, + "enabled": { + "label": "Omogoči transkripcijo zvoka", + "description": "Vklopi ali izklopi samodejno transkripcijo zvoka za vse kamere." + }, + "language": { + "label": "Jezik transkripcije", + "description": "Koda jezika za transkripcijo/prevajanje (npr. 'sl' za slovenščino ali 'en' za angleščino)." + }, + "device": { + "label": "Naprava za transkripcijo", + "description": "Ključ naprave (CPU/GPU), na kateri naj teče model. Trenutno so podprte le NVIDIA CUDA grafične kartice." + }, + "model_size": { + "label": "Velikost modela", + "description": "Velikost modela za uporabo pri transkripciji zvočnih dogodkov brez povezave." + } + }, + "birdseye": { + "label": "Birdseye (Ptičja perspektiva)", + "description": "Nastavitve za sestavljen pogled Birdseye, ki združi več virov kamer v eno postavitev.", + "enabled": { + "label": "Omogoči Birdseye", + "description": "Vklopi ali izklopi funkcijo Birdseye." + }, + "mode": { + "label": "Način sledenja", + "description": "Način vključitve kamer v Birdseye: 'objects' (objekti), 'motion' (gibanje) ali 'continuous' (neprekinjeno)." + }, + "order": { + "label": "Položaj", + "description": "Številčna vrednost, ki določa vrstni red kamere v postavitvi Birdseye." + }, + "restream": { + "label": "Pretakanje RTSP", + "description": "Ponovno pretakaj izhod Birdseye kot RTSP vir; to bo ohranilo Birdseye neprekinjeno delujoč." + }, + "width": { + "label": "Širina", + "description": "Izhodna širina (v pikslih) sestavljenega okvira Birdseye." + }, + "height": { + "label": "Višina", + "description": "Izhodna višina (v pikslih) sestavljenega okvira Birdseye." + }, + "quality": { + "label": "Kakovost kodiranja", + "description": "Kakovost kodiranja za mpeg1 vir Birdseye (1 najvišja, 31 najnižja kakovost)." + }, + "inactivity_threshold": { + "label": "Prag neaktivnosti", + "description": "Število sekund neaktivnosti, po katerih se kamera preneha prikazovati v Birdseye." + }, + "layout": { + "label": "Postavitev", + "description": "Možnosti postavitve za kompozicijo Birdseye.", + "scaling_factor": { + "label": "Faktor povečave", + "description": "Faktor povečave za kalkulator postavitve (razpon od 1.0 do 5.0)." + }, + "max_cameras": { + "label": "Največ kamer", + "description": "Največje število kamer, prikazanih hkrati v Birdseye; prikazane bodo najnovejše kamere." + } + }, + "idle_heartbeat_fps": { + "label": "FPS v mirovanju", + "description": "Število slik na sekundo za ponovno pošiljanje zadnjega okvira Birdseye med mirovanjem; nastavi na 0 za onemogočitev." + } + }, + "detect": { + "label": "Zaznavanje objektov", + "description": "Nastavitve za vlogo zaznavanja, ki se uporablja za iskanje objektov in inicializacijo sledilnikov.", + "enabled": { + "label": "Zaznavanje omogočeno", + "description": "Vklopi ali izklopi zaznavanje objektov za vse kamere. Zaznavanje mora biti omogočeno, da deluje sledenje objektom." + }, + "height": { + "label": "Višina zaznavanja", + "description": "Višina (v pikslih) slik za tok zaznavanja; pusti prazno za uporabo izvorne ločljivosti." + }, + "width": { + "label": "Širina zaznavanja", + "description": "Širina (v pikslih) slik za tok zaznavanja; pusti prazno za uporabo izvorne ločljivosti." + }, + "fps": { + "label": "FPS zaznavanja", + "description": "Želeno število slik na sekundo za zaznavanje; nižje vrednosti zmanjšajo porabo procesorja (priporočeno je 5)." + }, + "min_initialized": { + "label": "Najmanj slik za inicializacijo", + "description": "Število zaporednih zaznav, potrebnih pred ustvarjanjem sledenega objekta. Povečaj za manj lažnih zaznav." + }, + "max_disappeared": { + "label": "Največ slik ob izginotju", + "description": "Število slik brez zaznave, preden se sledeni objekt šteje za izginulega." + }, + "stationary": { + "label": "Konfiguracija nepremičnih objektov", + "description": "Nastavitve za zaznavanje in upravljanje objektov, ki nekaj časa ostanejo na mestu.", + "interval": { + "label": "Interval nepremičnosti", + "description": "Kako pogosto (v slikah) naj se preveri prisotnost nepremičnega objekta." + }, + "threshold": { + "label": "Prag nepremičnosti", + "description": "Število slik brez spremembe položaja, potrebnih, da se objekt označi za nepremičnega." + }, + "max_frames": { + "label": "Največ slik", + "description": "Omejuje, kako dolgo se sledi nepremičnim objektom, preden se zavržejo.", + "default": { + "label": "Privzeto največ slik", + "description": "Privzeto največje število slik za sledenje nepremičnemu objektu." + }, + "objects": { + "label": "Največ slik za objekt", + "description": "Posebne omejitve za posamezne tipe objektov." + } + }, + "classifier": { + "label": "Omogoči vizualni klasifikator", + "description": "Uporabi vizualni klasifikator za potrditev nepremičnih objektov, tudi če se okvirji rahlo premikajo." + } + }, + "annotation_offset": { + "label": "Odmik anotacij", + "description": "Število milisekund za premik oznak zaznavanja, da se bolje ujemajo s posnetki; lahko je pozitivno ali negativno." + } + }, + "face_recognition": { + "label": "Prepoznava obrazov", + "enabled": { + "label": "Omogoči prepoznavo obrazov", + "description": "Vklopi ali izklopi prepoznavo obrazov na vseh kamerah." + }, + "min_area": { + "label": "Najmanjša površina obraza", + "description": "Najmanjša površina (v pikslih) okvirja obraza, potrebna za poskus prepoznave." + }, + "description": "Nastavitve za zaznavanje in prepoznavo obrazov za vse kamere.", + "model_size": { + "label": "Velikost modela", + "description": "Velikost modela za vdelave obrazov; večji modeli lahko zahtevajo GPU." + }, + "unknown_score": { + "label": "Prag za neznan obraz", + "description": "Prag razdalje, pod katerim se obraz šteje za potencialno ujemanje (višje = strožje)." + }, + "detection_threshold": { + "label": "Prag zaznavanja", + "description": "Najmanjše zaupanje, potrebno za veljavno detekcijo obraza." + }, + "recognition_threshold": { + "label": "Prag prepoznave", + "description": "Prag razdalje vdelave obraza za potrditev ujemanja dveh obrazov." + }, + "min_faces": { + "label": "Najmanjše število obrazov", + "description": "Najmanjše število prepoznav obraza, preden se osebi dodeli prepoznana pod-oznaka." + }, + "save_attempts": { + "label": "Shrani poskuse", + "description": "Število poskusov prepoznave obraza, ki se hranijo za vmesnik." + }, + "blur_confidence_filter": { + "label": "Filter zamegljenosti", + "description": "Prilagodi oceno zaupanja glede na zamegljenost slike, da se zmanjša število napačnih prepoznav pri slabši kakovosti." + }, + "device": { + "label": "Naprava", + "description": "Povoženje nastavitve za ciljanje specifične naprave." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Nastavitve FFmpeg, vključno s potjo do binarne datoteke, argumenti, možnostmi strojnega pospeševanja in argumenti izhoda po vlogah.", + "path": { + "label": "Pot do FFmpeg", + "description": "Pot do binarne datoteke FFmpeg, ki naj se uporabi, ali vzdevek različice (\"5.0\" ali \"7.0\")." + }, + "global_args": { + "label": "Globalni argumenti FFmpeg", + "description": "Globalni argumenti, posredovani procesom FFmpeg." + }, + "hwaccel_args": { + "label": "Argumenti strojnega pospeševanja", + "description": "Argumenti za strojno pospeševanje FFmpeg. Priporočljive so prednastavitve glede na ponudnika." + }, + "input_args": { + "label": "Vhodni argumenti", + "description": "Vhodni argumenti, uporabljeni za vhodne tokove FFmpeg." + }, + "output_args": { + "label": "Izhodni argumenti", + "description": "Privzeti izhodni argumenti, uporabljeni za različne vloge FFmpeg, kot sta zaznavanje in snemanje.", + "detect": { + "label": "Izhodni argumenti za zaznavanje", + "description": "Privzeti izhodni argumenti za tokove z vlogo zaznavanja (detect)." + }, + "record": { + "label": "Izhodni argumenti za snemanje", + "description": "Privzeti izhodni argumenti za tokove z vlogo snemanja (record)." + } + }, + "retry_interval": { + "label": "Čas ponovnega poskusa FFmpeg", + "description": "Število sekund čakanja pred ponovnim poskusom povezave s tokom kamere po napaki. Privzeto je 10." + }, + "apple_compatibility": { + "label": "Združljivost z Apple napravami", + "description": "Omogoči označevanje HEVC za boljšo združljivost z Applovimi predvajalniki pri snemanju v H.265." + }, + "gpu": { + "label": "Indeks GPU", + "description": "Privzeti indeks grafične kartice (GPU), uporabljen za strojno pospeševanje, če je na voljo." + }, + "inputs": { + "label": "Vhodi kamere", + "description": "Seznam definicij vhodnih tokov (poti in vloge) za to kamero.", + "path": { + "label": "Vhodna pot", + "description": "URL ali pot do vhodnega toka kamere." + }, + "roles": { + "label": "Vloge vhoda", + "description": "Vloge za ta vhodni tok." + }, + "global_args": { + "label": "Globalni argumenti FFmpeg", + "description": "Globalni argumenti FFmpeg za ta vhodni tok." + }, + "hwaccel_args": { + "label": "Argumenti strojnega pospeševanja", + "description": "Argumenti strojnega pospeševanja za ta vhodni tok." + }, + "input_args": { + "label": "Vhodni argumenti", + "description": "Vhodni argumenti, specifični za ta tok." + } + } + }, + "live": { + "label": "Predvajanje v živo", + "streams": { + "label": "Imena tokov v živo", + "description": "Preslikava konfiguriranih imen tokov v imena restream/go2rtc, uporabljena za predvajanje v živo." + }, + "height": { + "label": "Višina v živo", + "description": "Višina (v pikslih) za upodabljanje jsmpeg toka v živo v spletnem vmesniku; mora biti <= višini toka za zaznavanje." + }, + "quality": { + "label": "Kakovost v živo", + "description": "Kakovost kodiranja za jsmpeg tok (1 najvišja, 31 najnižja)." + }, + "description": "Nastavitve, ki jih uporablja spletni vmesnik za nadzor ločljivosti in kakovosti toka v živo." + }, + "lpr": { + "label": "Prepoznava registrskih tablic (LPR)", + "description": "Nastavitve prepoznave registrskih tablic, vključno s pragi detekcije, formatiranjem in znanimi tablicami.", + "enabled": { + "label": "Omogoči LPR", + "description": "Vklopi ali izklopi prepoznavo registrskih tablic za vse kamere." + }, + "expire_time": { + "label": "Sekunde do poteka", + "description": "Čas v sekundah, po katerem nevidna tablica poteče iz sledilnika (samo za namenske LPR kamere)." + }, + "min_area": { + "label": "Najmanjša površina tablice", + "description": "Najmanjša površina tablice (v pikslih) za poskus prepoznave." + }, + "enhancement": { + "label": "Stopnja izboljšave", + "description": "Stopnja izboljšave (0-10) slik tablic pred OCR; stopnje nad 5 so priporočljive le za nočne posnetke." + }, + "model_size": { + "label": "Velikost modela", + "description": "Velikost modela za zaznavanje/prepoznavanje besedila. Večina uporabnikov naj uporablja 'small'." + }, + "detection_threshold": { + "label": "Prag zaznavanja", + "description": "Prag zaupanja za začetek izvajanja OCR na sumljivi tablici." + }, + "recognition_threshold": { + "label": "Prag prepoznave", + "description": "Prag zaupanja, potreben, da se besedilo tablice doda kot pod-oznaka." + }, + "min_plate_length": { + "label": "Najmanjša dolžina tablice", + "description": "Najmanjše število znakov, ki jih mora vsebovati tablica, da se šteje za veljavno." + }, + "format": { + "label": "Regex format tablice", + "description": "Izbirni regex za preverjanje, ali prepoznana tablica ustreza pričakovanemu formatu." + }, + "match_distance": { + "label": "Razdalja ujemanja", + "description": "Dovoljeno število napačnih znakov pri primerjanju zaznanih tablic z znanimi." + }, + "known_plates": { + "label": "Znane tablice", + "description": "Seznam tablic ali regexov za posebno sledenje ali opozarjanje." + }, + "debug_save_plates": { + "label": "Shrani tablice za razhroščevanje", + "description": "Shrani slike izrezov tablic za preverjanje delovanja LPR." + }, + "device": { + "label": "Naprava", + "description": "Povoženje nastavitve za ciljanje specifične naprave." + }, + "replace_rules": { + "label": "Pravila zamenjave", + "description": "Pravila za zamenjavo z regexi za normalizacijo nizov tablic pred primerjavo.", + "pattern": { + "label": "Regex vzorec" + }, + "replacement": { + "label": "Niz za zamenjavo" + } + } + }, + "motion": { + "label": "Zaznavanje gibanja", + "enabled": { + "label": "Omogoči zaznavanje gibanja", + "description": "Vklopi ali izklopi zaznavanje gibanja za vse kamere." + }, + "threshold": { + "label": "Prag gibanja", + "description": "Prag razlike v pikslih, ki ga uporablja detektor gibanja; višje vrednosti zmanjšajo občutljivost (razpon 1-255)." + }, + "lightning_threshold": { + "label": "Prag za strele", + "description": "Prag za zaznavanje in ignoriranje kratkih svetlobnih skokov (nižje je bolj občutljivo). To ne prepreči snemanja, le ustavi analizo dodatnih okvirjev ob blisku." + }, + "skip_motion_threshold": { + "label": "Prag za preskok gibanja", + "description": "Če se v enem okvirju spremeni večji delež slike od tega, detektor ne bo vrnil okvirjev gibanja in se bo takoj umeril. To zmanjša lažne pozitivne rezultate med nevihtami. Razpon 0.0 do 1.0." + }, + "improve_contrast": { + "label": "Izboljšaj kontrast", + "description": "Uporabi izboljšavo kontrasta na okvirjih pred analizo gibanja za boljšo detekcijo." + }, + "contour_area": { + "label": "Površina konture", + "description": "Najmanjša površina konture v pikslih, potrebna, da se gibanje upošteva." + }, + "delta_alpha": { + "label": "Delta alfa", + "description": "Faktor alfa mešanja, uporabljen pri razlikovanju okvirjev za izračun gibanja." + }, + "frame_alpha": { + "label": "Alfa okvirja", + "description": "Vrednost alfa, uporabljena pri mešanju okvirjev za predobdelavo gibanja." + }, + "frame_height": { + "label": "Višina okvirja", + "description": "Višina v pikslih, na katero se spremeni velikost okvirja pri izračunu gibanja." + }, + "mask": { + "label": "Koordinate maske", + "description": "Urejene koordinate x,y, ki določajo poligon maske gibanja za vključitev ali izključitev območij." + }, + "mqtt_off_delay": { + "label": "Zakasnitev izklopa MQTT", + "description": "Število sekund čakanja po zadnjem zaznanem gibanju pred objavo stanja 'off' na MQTT." + }, + "enabled_in_config": { + "label": "Prvotno stanje gibanja", + "description": "Pove, ali je bilo zaznavanje gibanja omogočeno v prvotni statični konfiguraciji." + }, + "raw_mask": { + "label": "Surova maska" + }, + "description": "Privzete nastavitve zaznavanja gibanja, uporabljene za kamere, razen če so povožene pri posamezni kameri." + }, + "objects": { + "label": "Objekti", + "description": "Privzete nastavitve sledenja objektom, vključno s tem, katere oznake naj se sledijo, in filtri za posamezne objekte.", + "track": { + "label": "Objekti za sledenje", + "description": "Seznam oznak objektov, ki naj se sledijo na vseh kamerah." + }, + "filters": { + "label": "Filtri objektov", + "description": "Filtri za zaznane objekte za zmanjšanje lažnih pozitivnih rezultatov (površina, razmerje, zaupanje).", + "min_area": { + "label": "Najmanjša površina objekta", + "description": "Najmanjša površina okvirja (v pikslih ali odstotkih), potrebna za to vrsto objekta." + }, + "max_area": { + "label": "Največja površina objekta", + "description": "Največja dovoljena površina okvirja za to vrsto objekta." + }, + "min_ratio": { + "label": "Najmanjše razmerje stranic", + "description": "Najmanjše razmerje širina/višina, potrebno za veljavnost okvirja." + }, + "max_ratio": { + "label": "Največje razmerje stranic", + "description": "Največje dovoljeno razmerje širina/višina." + }, + "threshold": { + "label": "Prag zaupanja", + "description": "Povprečni prag zaupanja detekcije, potreben, da se objekt šteje za pravega." + }, + "min_score": { + "label": "Najmanjše zaupanje", + "description": "Najmanjše zaupanje detekcije v enem okvirju, da se objekt upošteva." + }, + "mask": { + "label": "Maska filtra", + "description": "Koordinate poligona, ki določajo, kje znotraj okvirja velja ta filter." + }, + "raw_mask": { + "label": "Surova maska" + } + }, + "mask": { + "label": "Maska objekta", + "description": "Poligon maske, uporabljen za preprečevanje zaznavanja objektov na določenih območij." + }, + "raw_mask": { + "label": "Surova maska" + }, + "genai": { + "label": "GenAI konfiguracija objektov", + "description": "GenAI možnosti za opisovanje sledenih objektov in pošiljanje okvirjev za generiranje.", + "enabled": { + "label": "Omogoči GenAI", + "description": "Privzeto omogoči GenAI generiranje opisov za sledene objekte." + }, + "use_snapshot": { + "label": "Uporabi posnetke", + "description": "Za generiranje GenAI opisov uporabi posnetke (snapshots) namesto sličic (thumbnails)." + }, + "prompt": { + "label": "Navodilo za opis (Prompt)", + "description": "Privzeta predloga navodila, uporabljena pri generiranju opisov z GenAI." + }, + "object_prompts": { + "label": "Navodila za specifične objekte", + "description": "Navodila po meri za specifične oznake objektov." + }, + "objects": { + "label": "GenAI objekti", + "description": "Seznam oznak objektov, ki naj se privzeto pošiljajo GenAI-ju." + }, + "required_zones": { + "label": "Zahtevana območja", + "description": "Območja, v katera mora objekt vstopiti, da je primeren za GenAI opis." + }, + "debug_save_thumbnails": { + "label": "Shrani sličice", + "description": "Shrani sličice, poslane GenAI-ju, za namene razhroščevanja in pregleda." + }, + "send_triggers": { + "label": "GenAI sprožilci", + "description": "Določa, kdaj naj se okvirji pošljejo GenAI-ju (ob koncu, po posodobitvah itd.).", + "tracked_object_end": { + "label": "Pošlji ob koncu", + "description": "Pošlji zahtevo GenAI-ju, ko se sledenje objektu konča." + }, + "after_significant_updates": { + "label": "Zgodnji GenAI sprožilec", + "description": "Pošlji zahtevo GenAI-ju po določenem številu pomembnih posodobitev sledenega objekta." + } + }, + "enabled_in_config": { + "label": "Prvotno GenAI stanje", + "description": "Pove, ali je bil GenAI omogočen v prvotni statični konfiguraciji." + } + } + }, + "record": { + "label": "Snemanje", + "enabled": { + "label": "Omogoči snemanje", + "description": "Vklopi ali izklopi snemanje za vse kamere." + }, + "expire_interval": { + "label": "Interval čiščenja posnetkov", + "description": "Minute med cikli čiščenja, ki odstranijo potekle segmente snemanja." + }, + "continuous": { + "label": "Neprekinjena hramba", + "description": "Število dni hrambe posnetkov ne glede na objekte ali gibanje. Nastavi na 0, če želiš hraniti le opozorila in detekcije.", + "days": { + "label": "Dni hrambe", + "description": "Število dni za hrambo posnetkov." + } + }, + "motion": { + "label": "Hramba ob gibanju", + "description": "Število dni hrambe posnetkov, ki jih sproži gibanje, ne glede na objekte.", + "days": { + "label": "Dni hrambe", + "description": "Število dni za hrambo posnetkov." + } + }, + "detections": { + "label": "Hramba detekcij", + "description": "Nastavitve hrambe za dogodke zaznavanja, vključno s trajanjem pred in po zajemu.", + "pre_capture": { + "label": "Sekunde pred zajemom", + "description": "Število sekund pred dogodkom zaznavanja, ki se vključi v posnetek." + }, + "post_capture": { + "label": "Sekunde po zajemu", + "description": "Število sekund po dogodku zaznavanja, ki se vključi v posnetek." + }, + "retain": { + "label": "Hramba dogodkov", + "description": "Nastavitve hrambe za posnetke dogodkov zaznavanja.", + "days": { + "label": "Dni hrambe", + "description": "Število dni za hrambo posnetkov dogodkov zaznavanja." + }, + "mode": { + "label": "Način hrambe", + "description": "Način hrambe: all (vsi segmenti), motion (segmenti z gibanjem) ali active_objects (segmenti z aktivnimi objekti)." + } + } + }, + "alerts": { + "label": "Hramba opozoril", + "description": "Nastavitve hrambe za dogodke opozoril.", + "pre_capture": { + "label": "Sekunde pred zajemom", + "description": "Število sekund pred dogodkom opozorila, ki se vključi v posnetek." + }, + "post_capture": { + "label": "Sekunde po zajemu", + "description": "Število sekund po dogodku opozorila, ki se vključi v posnetek." + }, + "retain": { + "label": "Hramba dogodkov", + "description": "Nastavitve hrambe za posnetke dogodkov opozoril.", + "days": { + "label": "Dni hrambe", + "description": "Število dni za hrambo posnetkov dogodkov opozoril." + }, + "mode": { + "label": "Način hrambe", + "description": "Način hrambe posnetkov opozoril." + } + } + }, + "export": { + "label": "Konfiguracija izvoza", + "description": "Nastavitve za izvoz posnetkov, kot sta časovni zamik (timelapse) in strojno pospeševanje.", + "hwaccel_args": { + "label": "Argumenti strojnega pospeševanja za izvoz", + "description": "Argumenti strojnega pospeševanja za operacije izvoza in transkodiranja." + } + }, + "preview": { + "label": "Konfiguracija predogleda", + "description": "Nastavitve kakovosti predogledov snemanja v vmesniku.", + "quality": { + "label": "Kakovost predogleda", + "description": "Stopnja kakovosti predogleda (zelo nizka, nizka, srednja, visoka, zelo visoka)." + } + }, + "enabled_in_config": { + "label": "Prvotno stanje snemanja", + "description": "Pove, ali je bilo snemanje omogočeno v prvotni statični konfiguraciji." + }, + "description": "Nastavitve snemanja in hrambe, razen če so povožene pri posamezni kameri." + }, + "review": { + "label": "Pregled", + "alerts": { + "label": "Konfiguracija opozoril", + "description": "Nastavitve za objekte, ki sprožijo opozorila, in njihovo hrambo.", + "enabled": { + "label": "Omogoči opozorila", + "description": "Vklopi ali izklopi generiranje opozoril za vse kamere." + }, + "labels": { + "label": "Oznake opozoril", + "description": "Seznam oznak objektov, ki štejejo kot opozorila (npr. avto, oseba)." + }, + "required_zones": { + "label": "Zahtevana območja", + "description": "Območja, v katera mora objekt vstopiti, da postane opozorilo; pusti prazno za katerokoli območje." + }, + "enabled_in_config": { + "label": "Prvotno stanje opozoril", + "description": "Sledi, ali so bila opozorila prvotno omogočena." + }, + "cutoff_time": { + "label": "Čas zaključka opozorila", + "description": "Število sekund čakanja po končani aktivnosti, preden se opozorilo zaključi." + } + }, + "detections": { + "label": "Konfiguracija detekcij", + "description": "Nastavitve za ustvarjanje dogodkov zaznavanja (ki niso opozorila) in čas hrambe.", + "enabled": { + "label": "Omogoči detekcije", + "description": "Vklopi ali izklopi dogodke zaznavanja za vse kamere." + }, + "labels": { + "label": "Oznake detekcij", + "description": "Seznam oznak objektov, ki štejejo kot dogodki zaznavanja." + }, + "required_zones": { + "label": "Zahtevana območja", + "description": "Območja, v katera mora objekt vstopiti, da postane detekcija." + }, + "cutoff_time": { + "label": "Čas zaključka detekcije", + "description": "Število sekund čakanja po končani aktivnosti, preden se detekcija zaključi." + }, + "enabled_in_config": { + "label": "Prvotno stanje detekcij", + "description": "Sledi, ali so bile detekcije prvotno omogočene." + } + }, + "genai": { + "label": "GenAI konfiguracija", + "description": "Nadzira uporabo generativne UI za izdelavo opisov in povzetkov postavk pregleda.", + "enabled": { + "label": "Omogoči GenAI opise", + "description": "Omogoči ali onemogoči GenAI opise in povzetke za postavke pregleda." + }, + "alerts": { + "label": "Omogoči GenAI za opozorila", + "description": "Uporabi GenAI za generiranje opisov opozoril." + }, + "detections": { + "label": "Omogoči GenAI za detekcije", + "description": "Uporabi GenAI za generiranje opisov detekcij." + }, + "image_source": { + "label": "Vir slik za pregled", + "description": "Vir slik za GenAI ('preview' ali 'recordings'); 'recordings' nudi višjo kakovost, a porabi več žetonov." + }, + "additional_concerns": { + "label": "Dodatni pomisleki", + "description": "Seznam dodatnih navodil ali opomb, ki naj jih GenAI upošteva pri ocenjevanju aktivnosti." + }, + "debug_save_thumbnails": { + "label": "Shrani sličice", + "description": "Shrani sličice, poslane ponudniku GenAI, za namene razhroščevanja." + }, + "enabled_in_config": { + "label": "Prvotno GenAI stanje", + "description": "Sledi, ali je bil GenAI pregled prvotno omogočen." + }, + "preferred_language": { + "label": "Prednostni jezik", + "description": "Jezik, ki se zahteva od ponudnika GenAI za generirane odgovore." + }, + "activity_context_prompt": { + "label": "Navodilo za kontekst aktivnosti", + "description": "Navodilo po meri, ki opisuje, kaj je in kaj ni sumljiva aktivnost, za boljšo orientacijo GenAI-ja." + } + }, + "description": "Nastavitve, ki nadzorujejo opozorila, detekcije in GenAI povzetke za spletni vmesnik." + }, + "semantic_search": { + "label": "Semantično iskanje", + "triggers": { + "label": "Sprožilci", + "description": "Dejanja in kriteriji ujemanja za sprožilce semantičnega iskanja na določeni kameri.", + "friendly_name": { + "label": "Prijazno ime", + "description": "Izbirno ime, ki se prikaže v vmesniku za ta sprožilec." + }, + "enabled": { + "label": "Omogoči ta sprožilec", + "description": "Vklopi ali izklopi ta sprožilec semantičnega iskanja." + }, + "type": { + "label": "Vrsta sprožilca", + "description": "Vrsta sprožilca: 'thumbnail' (ujemanje s sliko) ali 'description' (ujemanje z besedilom)." + }, + "data": { + "label": "Vsebina sprožilca", + "description": "Besedilna fraza ali ID sličice za primerjavo s sledenimi objekti." + }, + "threshold": { + "label": "Prag sprožilca", + "description": "Najmanjša ocena podobnosti (0-1), potrebna za aktivacijo tega sprožilca." + }, + "actions": { + "label": "Dejanja sprožilca", + "description": "Seznam dejanj ob ujemanju (obvestilo, pod-oznaka, atribut)." + } + }, + "description": "Nastavitve za semantično iskanje, ki gradi in poizveduje po vdelavah (embeddings) objektov za iskanje podobnih postavk.", + "enabled": { + "label": "Omogoči semantično iskanje", + "description": "Vklopi ali izklopi funkcijo semantičnega iskanja." + }, + "reindex": { + "label": "Ponovno indeksiranje ob zagonu", + "description": "Sproži popolno ponovno indeksiranje zgodovinskih sledenih objektov v bazo podatkov vdelav." + }, + "model": { + "label": "Model za semantično iskanje", + "description": "Model vdelav, ki se uporabi za semantično iskanje (npr. 'jinav1')." + }, + "model_size": { + "label": "Velikost modela", + "description": "Izberi velikost modela; 'small' deluje na procesorju (CPU), 'large' običajno zahteva grafično kartico (GPU)." + }, + "device": { + "label": "Naprava", + "description": "Povoženje nastavitve za ciljanje specifične naprave." + } + }, + "snapshots": { + "label": "Posnetki (Snapshots)", + "enabled": { + "label": "Posnetki omogočeni", + "description": "Vklopi ali izklopi shranjevanje posnetkov za vse kamere." + }, + "clean_copy": { + "label": "Shrani čisto kopijo", + "description": "Poleg označenih shrani tudi čisto kopijo posnetkov brez anotacij." + }, + "timestamp": { + "label": "Prekrivna časovna značka", + "description": "Na shranjene posnetke dodaj časovno značko." + }, + "bounding_box": { + "label": "Prekrivni okvirji (Bounding box)", + "description": "Na shranjene posnetke nariši okvirje za sledene objekte." + }, + "crop": { + "label": "Obreži posnetek", + "description": "Shranjene posnetke obreži na okvir zaznanega objekta." + }, + "required_zones": { + "label": "Zahtevana območja", + "description": "Območja, v katera mora objekt vstopiti, da se posnetek shrani." + }, + "height": { + "label": "Višina posnetka", + "description": "Višina (v pikslih) za shranjene posnetke; pusti prazno za izvorno velikost." + }, + "retain": { + "label": "Hramba posnetkov", + "description": "Nastavitve hrambe za posnetke, vključno s privzetimi dnevi in povoženji po objektih.", + "default": { + "label": "Privzeta hramba", + "description": "Privzeto število dni za hrambo posnetkov." + }, + "mode": { + "label": "Način hrambe", + "description": "Način hrambe posnetkov." + }, + "objects": { + "label": "Hramba po objektih", + "description": "Posebne nastavitve dni hrambe za posamezne vrste objektov." + } + }, + "quality": { + "label": "Kakovost JPEG", + "description": "Kakovost kodiranja JPEG za shranjene posnetke (0-100)." + }, + "description": "Nastavitve za shranjene JPEG posnetke sledenih objektov; lahko jih povoziš pri posamezni kameri." + }, + "timestamp_style": { + "label": "Slog časovne značke", + "position": { + "label": "Položaj časovne značke", + "description": "Položaj časovne značke na sliki (tl/tr/bl/br - zgoraj levo/desno, spodaj levo/desno)." + }, + "format": { + "label": "Format časovne značke", + "description": "Niz za format datuma in časa (Python datetime koda)." + }, + "color": { + "label": "Barva časovne značke", + "description": "RGB vrednosti barve za besedilo časovne značke (vse vrednosti 0-255).", + "red": { + "label": "Rdeča", + "description": "Rdeča komponenta (0-255) barve." + }, + "green": { + "label": "Zelena", + "description": "Zelena komponenta (0-255) barve." + }, + "blue": { + "label": "Modra", + "description": "Modra komponenta (0-255) barve." + } + }, + "thickness": { + "label": "Debelina časovne značke", + "description": "Debelina črte besedila časovne značke." + }, + "effect": { + "label": "Učinek časovne značke", + "description": "Vizualni učinek za besedilo (brez, polno, senca)." + }, + "description": "Možnosti oblikovanja časovnih značk v viru, ki se uporabljajo v pogledu za razhroščevanje in na posnetkih." + }, + "mqtt": { + "label": "MQTT", + "description": "Nastavitve za povezovanje in objavljanje telemetrije, posnetkov zaslona in podrobnosti o dogodkih na posrednika (broker) MQTT.", + "enabled": { + "label": "Omogoči MQTT", + "description": "Omogoči ali onemogoči integracijo MQTT za stanja, dogodke in posnetke zaslona." + }, + "host": { + "label": "Gostitelj MQTT", + "description": "Ime gostitelja ali IP naslov posrednika MQTT." + }, + "port": { + "label": "Vrata MQTT (Port)", + "description": "Vrata posrednika MQTT (običajno 1883 za navaden MQTT)." + }, + "topic_prefix": { + "label": "Predpona teme (Topic prefix)", + "description": "Predpona teme MQTT za vse teme Frigate; mora biti edinstvena, če poganjaš več instanc." + }, + "client_id": { + "label": "ID odjemalca", + "description": "Identifikator odjemalca, uporabljen pri povezovanju z MQTT posrednikom; moral bi biti edinstven za vsako instanco." + }, + "stats_interval": { + "label": "Interval statistike", + "description": "Interval v sekundah za objavljanje statistike sistema in kamer na MQTT." + }, + "user": { + "label": "MQTT uporabniško ime", + "description": "Izbirno uporabniško ime za MQTT; lahko ga podaš prek okoljskih spremenljivk ali skrivnosti (secrets)." + }, + "password": { + "label": "MQTT geslo", + "description": "Izbirno geslo za MQTT; lahko ga podaš prek okoljskih spremenljivk ali skrivnosti (secrets)." + }, + "tls_ca_certs": { + "label": "Certifikati TLS CA", + "description": "Pot do CA certifikata za TLS povezave s posrednikom (za samopodpisane certifikate)." + }, + "tls_client_cert": { + "label": "Certifikat odjemalca", + "description": "Pot do certifikata odjemalca za TLS medsebojno avtentikacijo; ne nastavljaj uporabniškega imena/gesla, če uporabljaš certifikate odjemalca." + }, + "tls_client_key": { + "label": "Ključ odjemalca", + "description": "Pot do zasebnega ključa za certifikat odjemalca." + }, + "tls_insecure": { + "label": "TLS nezaščiteno", + "description": "Dovoli nevarne TLS povezave s preskokom preverjanja imena gostitelja (ni priporočljivo)." + }, + "qos": { + "label": "MQTT QoS", + "description": "Raven kakovosti storitve (Quality of Service) za objave/naročnine MQTT (0, 1 ali 2)." + } + }, + "notifications": { + "label": "Obvestila", + "enabled": { + "label": "Omogoči obvestila", + "description": "Omogoči ali onemogoči obvestila za vse kamere; lahko jih povoziš pri posamezni kameri." + }, + "email": { + "label": "E-pošta za obvestila", + "description": "E-poštni naslov, ki se uporablja za potisna obvestila ali ga zahtevajo določeni ponudniki obvestil." + }, + "cooldown": { + "label": "Obdobje mirovanja (Cooldown)", + "description": "Čas mirovanja (v sekundah) med obvestili, da preprečiš zasipanje prejemnikov s sporočili." + }, + "enabled_in_config": { + "label": "Prvotno stanje obvestil", + "description": "Pove, ali so bila obvestila omogočena v prvotni statični konfiguraciji." + }, + "description": "Nastavitve za omogočanje in nadzor obvestil za vse kamere; lahko jih povoziš pri posamezni kameri." + }, + "onvif": { + "label": "ONVIF", + "description": "Nastavitve ONVIF povezave in PTZ samodejnega sledenja za to kamero.", + "host": { + "label": "ONVIF gostitelj", + "description": "Naslov gostitelja za storitev ONVIF za to kamero." + }, + "port": { + "label": "ONVIF vrata (port)", + "description": "Številka vrat za storitev ONVIF." + }, + "user": { + "label": "ONVIF uporabniško ime", + "description": "Uporabniško ime za ONVIF avtentikacijo." + }, + "password": { + "label": "ONVIF geslo", + "description": "Geslo za ONVIF avtentikacijo." + }, + "tls_insecure": { + "label": "Onemogoči TLS preverjanje", + "description": "Preskoči preverjanje TLS (nevarno; uporabljaj le v varnih omrežjih)." + }, + "autotracking": { + "label": "Samodejno sledenje", + "description": "Samodejno sledi premikajočim se objektom in jih drži v sredini okvirja s premiki PTZ kamere.", + "enabled": { + "label": "Omogoči samodejno sledenje", + "description": "Vklopi ali izklopi samodejno PTZ sledenje zaznanim objektom." + }, + "calibrate_on_startup": { + "label": "Umeri ob zagonu", + "description": "Izmeri hitrosti motorjev PTZ ob zagonu za boljšo natančnost sledenja." + }, + "zooming": { + "label": "Način povečave", + "description": "Nadzor povečave: onemogočeno, absolutno (najbolj združljivo) ali relativno." + }, + "zoom_factor": { + "label": "Faktor povečave", + "description": "Nadzor stopnje povečave na sledenih objektih (0.1 do 0.75)." + }, + "track": { + "label": "Sledeni objekti", + "description": "Seznam vrst objektov, ki sprožijo samodejno sledenje." + }, + "required_zones": { + "label": "Zahtevana območja", + "description": "Objekti morajo vstopiti v eno od teh območij, preden se sledenje začne." + }, + "return_preset": { + "label": "Prednastavitev za vrnitev", + "description": "Ime ONVIF prednastavitve (preset), na katero se kamera vrne po končanem sledenju." + }, + "timeout": { + "label": "Čas do vrnitve", + "description": "Koliko sekund naj kamera čaka po izgubi objekta, preden se vrne v prvotni položaj." + }, + "movement_weights": { + "label": "Uteži premikanja", + "description": "Vrednosti umerjanja, ki se generirajo samodejno. Ne spreminjaj ročno." + }, + "enabled_in_config": { + "label": "Prvotno stanje sledenja", + "description": "Interno polje za sledenje stanja sledenja v konfiguraciji." + } + }, + "ignore_time_mismatch": { + "label": "Prezri časovno neskladje", + "description": "Prezri razlike v sinhronizaciji časa med kamero in strežnikom za ONVIF komunikacijo." + } + }, + "version": { + "label": "Trenutna različica konfiguracije", + "description": "Številčna ali tekstovna različica aktivne konfiguracije, ki pomaga pri zaznavanju migracij ali sprememb formata." + }, + "safe_mode": { + "label": "Varni način", + "description": "Ko je omogočeno, se Frigate zažene v varnem načinu z omejenimi funkcijami za odpravljanje težav." + }, + "environment_vars": { + "label": "Okoljske spremenljivke", + "description": "Pari ključ/vrednost okoljskih spremenljivk, ki se nastavijo za proces Frigate v sistemu Home Assistant OS. Uporabniki, ki ne uporabljajo HAOS, morajo namesto tega uporabiti konfiguracijo okoljskih spremenljivk Docker." + }, + "logger": { + "label": "Beleženje (Logging)", + "description": "Nadzira privzeto podrobnost dnevnikov in omogoča povoženje ravni beleženja za posamezne komponente.", + "default": { + "label": "Raven beleženja", + "description": "Privzeta globalna podrobnost dnevnikov (debug, info, warning, error)." + }, + "logs": { + "label": "Raven beleženja po procesih", + "description": "Povoženje ravni beleženja za posamezne komponente, da povečaš ali zmanjšaš podrobnost za specifične module." + } + }, + "auth": { + "label": "Avtentikacija", + "description": "Nastavitve avtentikacije in sej, vključno z možnostmi piškotkov in omejevanjem hitrosti zahtev.", + "enabled": { + "label": "Omogoči avtentikacijo", + "description": "Omogoči izvorno avtentikacijo za uporabniški vmesnik Frigate." + }, + "reset_admin_password": { + "label": "Ponastavi geslo skrbnika", + "description": "Če je izbrano (true), se ob zagonu ponastavi geslo skrbnika, novo geslo pa se izpiše v dnevnikih (logs)." + }, + "cookie_name": { + "label": "Ime JWT piškotka", + "description": "Ime piškotka, ki se uporablja za shranjevanje žetona JWT za izvorno avtentikacijo." + }, + "cookie_secure": { + "label": "Varnostna zastavica piškotka (Secure)", + "description": "Nastavi zastavico 'secure' na avtentikacijskem piškotku; to bi moralo biti vklopljeno, ko uporabljaš TLS." + }, + "session_length": { + "label": "Dolžina seje", + "description": "Trajanje seje v sekundah za seje, ki temeljijo na JWT." + }, + "refresh_time": { + "label": "Okno za osvežitev seje", + "description": "Ko seji do poteka manjka toliko sekund, jo sistem samodejno osveži na polno dolžino." + }, + "failed_login_rate_limit": { + "label": "Omejitve neuspelih prijav", + "description": "Pravila za omejevanje hitrosti neuspelih poskusov prijave, da se zmanjša nevarnost napadov s silo (brute-force)." + }, + "trusted_proxies": { + "label": "Zaupanja vredni proksiji", + "description": "Seznam zaupanja vrednih IP naslovov proksi strežnikov, ki se uporabljajo pri določanju IP-ja odjemalca za omejevanje hitrosti." + }, + "hash_iterations": { + "label": "Iteracije zgostitve (Hash)", + "description": "Število iteracij PBKDF2-SHA256, ki se uporabijo pri zgoščevanju uporabniških gesel." + }, + "roles": { + "label": "Preslikava vlog", + "description": "Preslikaj vloge na sezname kamer. Prazen seznam podeli vlogi dostop do vseh kamer." + }, + "admin_first_time_login": { + "label": "Oznaka prve prijave skrbnika", + "description": "Ko je vklopljeno, lahko vmesnik na strani za prijavo prikaže povezavo do pomoči, ki uporabnike obvesti, kako se prijaviti po ponastavitvi skrbniškega gesla. " + } + }, + "database": { + "label": "Zbirka podatkov", + "description": "Nastavitve za zbirko podatkov SQLite, ki jo Frigate uporablja za shranjevanje sledenih objektov in metapodatkov posnetkov.", + "path": { + "label": "Pot do zbirke podatkov", + "description": "Pot v datotečnem sistemu, kjer bo shranjena SQLite datoteka zbirke podatkov Frigate." + } + }, + "go2rtc": { + "label": "go2rtc", + "description": "Nastavitve za integrirano storitev pretakanja go2rtc, ki se uporablja za posredovanje in pretvorbo prenosov v živo." + }, + "networking": { + "label": "Omrežje", + "description": "Nastavitve, povezane z omrežjem, kot je omogočanje IPv6 za dostopne točke Frigate.", + "ipv6": { + "label": "Konfiguracija IPv6", + "description": "Specifične nastavitve IPv6 za omrežne storitve Frigate.", + "enabled": { + "label": "Omogoči IPv6", + "description": "Omogoči podporo za IPv6 za storitve Frigate (API in vmesnik), kjer je to mogoče." + } + }, + "listen": { + "label": "Konfiguracija vrat za poslušanje", + "description": "Konfiguracija za notranja in zunanja vrata za poslušanje. To je za napredne uporabnike. V večini primerov je priporočljivo spremeniti sekcijo 'ports' v tvoji datoteki Docker Compose.", + "internal": { + "label": "Notranja vrata", + "description": "Notranja vrata za poslušanje za Frigate (privzeto 5000)." + }, + "external": { + "label": "Zunanja vrata", + "description": "Zunanja vrata za poslušanje za Frigate (privzeto 8971)." + } + } + }, + "proxy": { + "label": "Proksi", + "description": "Nastavitve za integracijo Frigate za povratnim proksijem (reverse proxy), ki posreduje glave z avtenticiranimi uporabniki.", + "header_map": { + "label": "Preslikava glav (Headers)", + "description": "Preslikaj dohodne glave proksija v polja za uporabnika in vlogo v Frigate za avtentikacijo prek proksija.", + "user": { + "label": "Glava uporabnika", + "description": "Glava, ki vsebuje avtenticirano uporabniško ime, ki ga posreduje nadrejeni proksi." + }, + "role": { + "label": "Glava vloge", + "description": "Glava, ki vsebuje vlogo ali skupine avtenticiranega uporabnika iz nadrejenega proksija." + }, + "role_map": { + "label": "Preslikava vlog", + "description": "Preslikaj vrednosti skupin iz nadrejenega sistema v vloge Frigate (npr. preslikaj skupine skrbnikov v vlogo 'admin')." + } + }, + "logout_url": { + "label": "URL za odjavo", + "description": "URL, na katerega naj bodo uporabniki preusmerjeni ob odjavi prek proksija." + }, + "auth_secret": { + "label": "Skrivnost proksija", + "description": "Izbirna skrivnost, ki se preveri glede na glavo 'X-Proxy-Secret' za potrditev zaupanja vrednih proksijev." + }, + "default_role": { + "label": "Privzeta vloga", + "description": "Privzeta vloga, dodeljena uporabnikom, avtenticiranim prek proksija, ko nobena preslikava vlog ne ustreza (admin ali viewer)." + }, + "separator": { + "label": "Ločilni znak", + "description": "Znak, ki se uporablja za ločevanje več vrednosti, podanih v glavah proksija." + } + }, + "telemetry": { + "label": "Telemetrija", + "description": "Sistemska telemetrija in možnosti statistike, vključno s spremljanjem grafičnega procesorja (GPU) in omrežne pasovne širine.", + "network_interfaces": { + "label": "Omrežni vmesniki", + "description": "Seznam predpon imen omrežnih vmesnikov, ki naj se spremljajo za statistiko pasovne širine." + }, + "stats": { + "label": "Sistemska statistika", + "description": "Možnosti za omogočanje/onemogočanje zbiranja različnih sistemskih in GPU statistik.", + "amd_gpu_stats": { + "label": "Statistika AMD GPU", + "description": "Omogoči zbiranje statistike za AMD grafične procesorje, če so prisotni." + }, + "intel_gpu_stats": { + "label": "Statistika Intel GPU", + "description": "Omogoči zbiranje statistike za Intel grafične procesorje, če so prisotni." + }, + "network_bandwidth": { + "label": "Omrežna pasovna širina", + "description": "Omogoči spremljanje omrežne pasovne širine na proces za ffmpeg procese kamer in detektorje (zahteva posebna dovoljenja/capabilities)." + }, + "intel_gpu_device": { + "label": "SR-IOV naprava", + "description": "Identifikator naprave, ki se uporablja pri obravnavi Intelovih GPU-jev kot SR-IOV za popravek GPU statistike." + } + }, + "version_check": { + "label": "Preverjanje različice", + "description": "Omogoči odhodno preverjanje, da ugotoviš, ali je na voljo novejša različica Frigate." + } + }, + "tls": { + "label": "TLS", + "description": "Nastavitve TLS za spletne dostopne točke Frigate (vrata 8971).", + "enabled": { + "label": "Omogoči TLS", + "description": "Omogoči TLS za spletni vmesnik in API Frigate na konfiguriranih vratih TLS." + } + }, + "ui": { + "label": "Uporabniški vmesnik (UI)", + "description": "Nastavitve uporabniškega vmesnika, kot so časovni pas, oblika zapisa časa/datuma in enote.", + "timezone": { + "label": "Časovni pas", + "description": "Izbirni časovni pas za prikaz v vmesniku (če ni nastavljeno, se uporabi lokalni čas brskalnika)." + }, + "time_format": { + "label": "Oblika zapisa časa", + "description": "Oblika časa v vmesniku (brskalnik, 12-urna ali 24-urna)." + }, + "date_style": { + "label": "Slog datuma", + "description": "Slog prikaza datuma v vmesniku (polno, dolgo, srednje, kratko)." + }, + "time_style": { + "label": "Slog časa", + "description": "Slog prikaza časa v vmesniku (polno, dolgo, srednje, kratko)." + }, + "unit_system": { + "label": "Sistem enot", + "description": "Sistem enot za prikaz (metrični ali imperialni), uporabljen v vmesniku in MQTT." + } + }, + "detectors": { + "label": "Strojna oprema detektorjev", + "description": "Konfiguracija za detektorje objektov (CPU, GPU, ONNX zaledja) in specifične nastavitve modelov detektorjev.", + "type": { + "label": "Vrsta detektorja", + "description": "Vrsta detektorja za zaznavanje objektov (npr. 'cpu', 'edgetpu', 'openvino')." + }, + "cpu": { + "label": "CPU", + "description": "Detektor CPU TFLite, ki poganja modele TensorFlow Lite na glavnem procesorju brez strojne pospešitve. Ni priporočljivo.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov, ki se uporabljajo za dodajanje metapodatkov (na primer 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas), ki jo nekateri detektorji uporabljajo za optimizacijo." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja, če jo izbrani detektor zahteva." + }, + "num_threads": { + "label": "Število niti za zaznavanje", + "description": "Število niti, ki se uporabljajo za sklepanje (inference) na procesorju (CPU)." + } + }, + "deepstack": { + "label": "DeepStack", + "description": "Detektor DeepStack/CodeProject.AI, ki pošilja slike v oddaljeni API DeepStack HTTP za sklepanje. Ni priporočljivo.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za dodajanje metapodatkov (npr. 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas), uporabljen za optimizacijo." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja, če jo izbrani detektor zahteva." + }, + "api_url": { + "label": "URL API-ja DeepStack", + "description": "URL naslov API-ja DeepStack." + }, + "api_timeout": { + "label": "Časovna omejitev API-ja DeepStack (v sekundah)", + "description": "Najdaljši dovoljeni čas za zahtevo na API DeepStack." + }, + "api_key": { + "label": "Ključ API DeepStack (če je zahtevan)", + "description": "Izbirni ključ API za avtenticirane storitve DeepStack." + } + }, + "degirum": { + "label": "DeGirum", + "description": "Detektor DeGirum za poganjanje modelov prek oblaka DeGirum ali lokalnih storitev sklepanja.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za dodajanje metapodatkov." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas)." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja." + }, + "location": { + "label": "Lokacija sklepanja", + "description": "Lokacija pogona za sklepanje DeGirum (npr. '@cloud', '127.0.0.1')." + }, + "zoo": { + "label": "Zbirka modelov (Model Zoo)", + "description": "Pot ali URL do zbirke modelov DeGirum." + }, + "token": { + "label": "Žeton za DeGirum Cloud", + "description": "Žeton za dostop do oblaka DeGirum." + } + }, + "edgetpu": { + "label": "EdgeTPU", + "description": "Detektor EdgeTPU, ki poganja modele TensorFlow Lite, prevedene za Coral EdgeTPU, z uporabo delegata EdgeTPU.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za dodajanje metapodatkov (npr. 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas), uporabljen za optimizacijo." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja, če jo izbrani detektor zahteva." + }, + "device": { + "label": "Vrsta naprave", + "description": "Naprava, ki naj se uporabi za sklepanje EdgeTPU (npr. 'usb', 'pci')." + } + }, + "hailo8l": { + "label": "Hailo-8/Hailo-8L", + "description": "Detektor Hailo-8/Hailo-8L, ki uporablja modele HEF in SDK HailoRT za sklepanje na strojni opremi Hailo.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za dodajanje metapodatkov." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas)." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja, če jo izbrani detektor zahteva." + }, + "device": { + "label": "Vrsta naprave", + "description": "Naprava, ki naj se uporabi za sklepanje Hailo (npr. 'PCIe', 'M.2')." + } + }, + "memryx": { + "label": "MemryX", + "description": "Detektor MemryX MX3, ki poganja prevedene modele DFP na pospeševalnikih MemryX.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za dodajanje metapodatkov." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas)." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja." + }, + "device": { + "label": "Pot do naprave", + "description": "Naprava, ki naj se uporabi za sklepanje MemryX (npr. 'PCIe')." + } + }, + "onnx": { + "label": "ONNX", + "description": "Detektor ONNX za poganjanje modelov ONNX; uporabil bo razpoložljiva zaledja za pospeševanje (CUDA/ROCm/OpenVINO), če so na voljo.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za dodajanje metapodatkov." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas)." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja." + }, + "device": { + "label": "Vrsta naprave", + "description": "Naprava, ki naj se uporabi za sklepanje ONNX (npr. 'AUTO', 'CPU', 'GPU')." + } + }, + "openvino": { + "label": "OpenVINO", + "description": "Detektor OpenVINO za procesorje AMD in Intel, grafične procesorje Intel in strojno opremo Intel VPU.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za dodajanje metapodatkov." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas)." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja." + }, + "device": { + "label": "Vrsta naprave", + "description": "Naprava, ki naj se uporabi za sklepanje OpenVINO (npr. 'CPU', 'GPU', 'NPU')." + } + }, + "rknn": { + "label": "RKNN", + "description": "Detektor RKNN za NPUs Rockchip; poganja prevedene modele RKNN na strojni opremi Rockchip.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za dodajanje metapodatkov." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas)." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja." + }, + "num_cores": { + "label": "Število jeder NPU", + "description": "Število jeder NPU, ki naj se uporabi (0 za samodejno)." + } + }, + "synaptics": { + "label": "Synaptics", + "description": "Detektor Synaptics NPU za modele v formatu .synap z uporabo SDK Synap na strojni opremi Synaptics.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za dodajanje metapodatkov." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas)." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja." + } + }, + "teflon_tfl": { + "label": "Teflon", + "description": "Detektor delegata Teflon za TFLite, ki uporablja knjižnico Mesa Teflon za pospeševanje sklepanja na podprtih grafičnih procesorjih.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za dodajanje metapodatkov (npr. 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas), uporabljen za optimizacijo." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja, če jo izbrani detektor zahteva." + } + }, + "tensorrt": { + "label": "TensorRT", + "description": "Detektor TensorRT za naprave Nvidia Jetson, ki uporablja serializirane pogone TensorRT za pospešeno sklepanje.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke s seznami oznak (labelmap), ki številčne razrede preslika v tekstovne oznake detektorja." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov, ki se združijo v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za dodajanje metapodatkov." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model: 'rgb', 'bgr' ali 'yuv'." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja modela (na primer 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas)." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do datoteke z binarnim modelom detektorja." + }, + "device": { + "label": "Indeks grafične naprave (GPU)", + "description": "Indeks naprave GPU, ki naj se uporabi." + } + }, + "zmq": { + "label": "ZMQ IPC", + "description": "Detektor ZMQ IPC, ki preloži sklepanje na zunanji proces prek končne točke ZeroMQ IPC.", + "type": { + "label": "Vrsta" + }, + "model": { + "label": "Konfiguracija modela za specifičen detektor", + "description": "Možnosti konfiguracije modela za določen detektor (pot, vhodna velikost itd.).", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke labelmap." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja (nhwc ali nchw)." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor (rgb, bgr ali yuv)." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov (npr. float32)." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela (ssd, yolox, yolonas)." + } + }, + "model_path": { + "label": "Pot do modela za specifičen detektor", + "description": "Pot do binarne datoteke modela." + }, + "endpoint": { + "label": "Končna točka ZMQ IPC", + "description": "ZMQ končna točka za povezavo." + }, + "request_timeout_ms": { + "label": "Časovna omejitev zahteve ZMQ (v milisekundah)", + "description": "Časovna omejitev za zahteve ZMQ v milisekundah." + }, + "linger_ms": { + "label": "Zadrževanje vtičnice ZMQ (v milisekundah)", + "description": "Obdobje zadrževanja vtičnice v milisekundah." + } + } + }, + "model": { + "label": "Model za zaznavanje", + "description": "Nastavitve za konfiguracijo modela za zaznavanje objektov po meri in njegove vhodne oblike.", + "path": { + "label": "Pot do modela za zaznavanje objektov po meri", + "description": "Pot do datoteke modela po meri (ali plus:// za modele Frigate+)." + }, + "labelmap_path": { + "label": "Pot do labelmap datoteke za detektor po meri", + "description": "Pot do datoteke labelmap, ki številčne razrede preslika v tekstovne oznake." + }, + "width": { + "label": "Vhodna širina modela za zaznavanje", + "description": "Širina vhodnega tenzorja modela v pikslih." + }, + "height": { + "label": "Vhodna višina modela za zaznavanje", + "description": "Višina vhodnega tenzorja modela v pikslih." + }, + "labelmap": { + "label": "Prilagoditev labelmapa", + "description": "Povoženja ali ponovne preslikave vnosov v standardni labelmap." + }, + "attributes_map": { + "label": "Zemljevid oznak objektov in njihovih atributov", + "description": "Preslikava med oznakami objektov in oznakami atributov za metapodatke." + }, + "input_tensor": { + "label": "Oblika vhodnega tenzorja modela", + "description": "Format tenzorja, ki ga model pričakuje: 'nhwc' ali 'nchw'." + }, + "input_pixel_format": { + "label": "Barvni format slikovnih pik vhoda modela", + "description": "Barvni prostor, ki ga pričakuje model (rgb, bgr ali yuv)." + }, + "input_dtype": { + "label": "Tip podatkov vhoda modela (D Type)", + "description": "Tip podatkov vhodnega tenzorja (npr. 'float32')." + }, + "model_type": { + "label": "Vrsta modela za zaznavanje objektov", + "description": "Arhitektura modela detektorja (ssd, yolox, yolonas)." + } + }, + "genai": { + "label": "Konfiguracija generativne umetne inteligence (imenovani ponudniki)", + "description": "Nastavitve za integrirane ponudnike generativne UI, ki se uporabljajo za opise objektov in povzetke pregledov.", + "api_key": { + "label": "Ključ API", + "description": "Ključ API, ki ga zahtevajo nekateri ponudniki (lahko ga nastaviš tudi prek okoljskih spremenljivk)." + }, + "base_url": { + "label": "Osnovni URL", + "description": "Osnovni URL za lastno gostovane ali združljive ponudnike (na primer instanca Ollama)." + }, + "model": { + "label": "Model", + "description": "Model ponudnika, ki naj se uporabi za generiranje opisov ali povzetkov." + }, + "provider": { + "label": "Ponudnik", + "description": "Ponudnik GenAI (na primer: ollama, gemini, openai)." + }, + "roles": { + "label": "Vloge", + "description": "Vloge GenAI (orodja, vid, vdelave); en ponudnik na vlogo." + }, + "provider_options": { + "label": "Možnosti ponudnika", + "description": "Dodatne možnosti, specifične za ponudnika, ki se pošljejo GenAI odjemalcu." + }, + "runtime_options": { + "label": "Možnosti ob izvedbi", + "description": "Možnosti ob izvedbi, ki se pošljejo ponudniku za vsak klic sklepanja." + } + }, + "classification": { + "label": "Klasifikacija objektov", + "description": "Nastavitve za modele klasifikacije, ki se uporabljajo za izboljšanje oznak objektov ali klasifikacijo stanja.", + "bird": { + "label": "Konfiguracija klasifikacije ptic", + "description": "Nastavitve, specifične za modele za klasifikacijo ptic.", + "enabled": { + "label": "Klasifikacija ptic", + "description": "Vklopi ali izklopi klasifikacijo ptic." + }, + "threshold": { + "label": "Najmanjša ocena", + "description": "Najmanjša ocena klasifikacije, potrebna za sprejetje detekcije ptice." + } + }, + "custom": { + "label": "Modeli za klasifikacijo po meri", + "description": "Konfiguracija modelov po meri za zaznavanje objektov ali stanj.", + "enabled": { + "label": "Omogoči model", + "description": "Vklopi ali izklopi model za klasifikacijo po meri." + }, + "name": { + "label": "Ime modela", + "description": "Identifikator za uporabljen model po meri." + }, + "threshold": { + "label": "Prag ocene", + "description": "Prag ocene, uporabljen za spremembo stanja klasifikacije." + }, + "save_attempts": { + "label": "Shrani poskuse", + "description": "Koliko poskusov klasifikacije naj se shrani za prikaz v vmesniku." + }, + "object_config": { + "objects": { + "label": "Klasificiraj objekte", + "description": "Seznam vrst objektov, nad katerimi naj se izvaja klasifikacija." + }, + "classification_type": { + "label": "Vrsta klasifikacije", + "description": "Vrsta uporabljene klasifikacije: 'sub_label' (doda pod-oznako) ali druge podprte vrste." + } + }, + "state_config": { + "cameras": { + "label": "Kamere za klasifikacijo", + "description": "Izrez (crop) in nastavitve za posamezno kamero za klasifikacijo stanja.", + "crop": { + "label": "Izrez za klasifikacijo", + "description": "Koordinate izreza za izvajanje klasifikacije na tej kameri." + } + }, + "motion": { + "label": "Zženi ob gibanju", + "description": "Če je izbrano, zaženi klasifikacijo, ko je zaznano gibanje znotraj določenega izreza." + }, + "interval": { + "label": "Interval klasifikacije", + "description": "Interval (v sekundah) med občasnimi klasifikacijami stanja." + } + } + } + }, + "camera_groups": { + "label": "Skupine kamer", + "description": "Konfiguracija za poimenovane skupine kamer za boljšo organizacijo v vmesniku.", + "cameras": { + "label": "Seznam kamer", + "description": "Seznam imen kamer, vključenih v to skupino." + }, + "icon": { + "label": "Ikona skupine", + "description": "Ikona za predstavitev skupine kamer v vmesniku." + }, + "order": { + "label": "Vrstni red", + "description": "Numerični vrstni red za razvrščanje skupin; večje številke se prikažejo kasneje." + } + }, + "camera_mqtt": { + "label": "MQTT", + "description": "Nastavitve objavljanja slik preko MQTT.", + "enabled": { + "label": "Pošlji sliko", + "description": "Omogoči objavljanje posnetkov objektov na MQTT teme za to kamero." + }, + "timestamp": { + "label": "Dodaj časovno značko", + "description": "Dodaj časovno značko na slike, objavljene na MQTT." + }, + "bounding_box": { + "label": "Dodaj okvir", + "description": "Nariši okvirje objektov na slike, objavljene preko MQTT." + }, + "crop": { + "label": "Obreži sliko", + "description": "Obreži slike za MQTT na okvir zaznanega objekta." + }, + "height": { + "label": "Višina slike", + "description": "Višina (v pikslih) za spreminjanje velikosti slik za MQTT." + }, + "required_zones": { + "label": "Zahtevana območja", + "description": "Območja, v katera mora objekt vstopiti, da se slika objavi na MQTT." + }, + "quality": { + "label": "Kakovost JPEG", + "description": "Kakovost JPEG slik za MQTT (0-100)." + } + }, + "camera_ui": { + "label": "Uporabniški vmesnik kamere", + "description": "Vrstni red prikaza in vidljivost kamere v vmesniku.", + "order": { + "label": "UI vrstni red", + "description": "Številka za razvrščanje kamere v vmesniku; večje številke so nižje na seznamu." + }, + "dashboard": { + "label": "Prikaži v vmesniku", + "description": "Preklopi vidljivost kamere v Frigate vmesniku. Če to izklopiš, boš moral ročno urediti konfiguracijo, da jo spet vidiš." + } + } +} diff --git a/web/public/locales/sl/config/groups.json b/web/public/locales/sl/config/groups.json index 0967ef424..c97fba460 100644 --- a/web/public/locales/sl/config/groups.json +++ b/web/public/locales/sl/config/groups.json @@ -1 +1,73 @@ -{} +{ + "audio": { + "global": { + "detection": "Globalno zaznavanje", + "sensitivity": "Globalna občutljivost" + }, + "cameras": { + "detection": "Zaznavanje", + "sensitivity": "Občutljivost" + } + }, + "timestamp_style": { + "global": { + "appearance": "Globalni videz" + }, + "cameras": { + "appearance": "Videz" + } + }, + "motion": { + "global": { + "sensitivity": "Globalna občutljivost", + "algorithm": "Globalni algoritem" + }, + "cameras": { + "sensitivity": "Občutljivost", + "algorithm": "Algoritem" + } + }, + "snapshots": { + "global": { + "display": "Globalni prikaz" + }, + "cameras": { + "display": "Prikaz" + } + }, + "detect": { + "global": { + "resolution": "Globalna ločljivost", + "tracking": "Globalno sledenje" + }, + "cameras": { + "resolution": "Ločljivost", + "tracking": "Sledenje" + } + }, + "objects": { + "global": { + "tracking": "Globalno sledenje", + "filtering": "Globalno filtriranje" + }, + "cameras": { + "tracking": "Sledenje", + "filtering": "Filtriranje" + } + }, + "record": { + "global": { + "retention": "Globalna hramba", + "events": "Globalni dogodki" + }, + "cameras": { + "retention": "Hramba", + "events": "Dogodki" + } + }, + "ffmpeg": { + "cameras": { + "cameraFfmpeg": "Argumenti FFmpeg za specifično kamero" + } + } +} diff --git a/web/public/locales/sl/config/validation.json b/web/public/locales/sl/config/validation.json index 0967ef424..75f5ad32f 100644 --- a/web/public/locales/sl/config/validation.json +++ b/web/public/locales/sl/config/validation.json @@ -1 +1,32 @@ -{} +{ + "minimum": "Vrednost mora biti vsaj {{limit}}", + "maximum": "Vrednost je lahko največ {{limit}}", + "exclusiveMinimum": "Vrednost mora biti večja od {{limit}}", + "exclusiveMaximum": "Vrednost mora biti manjša od {{limit}}", + "minLength": "Vsebovati mora vsaj {{limit}} znakov", + "maxLength": "Vsebovati mora največ {{limit}} znakov", + "minItems": "Vsebovati mora vsaj {{limit}} elementov", + "maxItems": "Vsebovati mora največ {{limit}} elementov", + "pattern": "Neveljaven format", + "required": "To polje je obvezno", + "type": "Neveljavna vrsta vrednosti", + "enum": "Izbrati moraš eno izmed dovoljenih vrednosti", + "const": "Vrednost se ne ujema s pričakovano konstanto", + "uniqueItems": "Vsi elementi morajo biti edinstveni", + "format": "Neveljaven format", + "additionalProperties": "Neznana lastnost ni dovoljena", + "oneOf": "Ujemati se mora z natanko eno od dovoljenih shem", + "anyOf": "Ujemati se mora z vsaj eno od dovoljenih shem", + "proxy": { + "header_map": { + "roleHeaderRequired": "Glava vloge (role header) je obvezna, ko so nastavljene preslikave vlog." + } + }, + "ffmpeg": { + "inputs": { + "rolesUnique": "Vsaka vloga je lahko dodeljena le enemu vhodnemu toku.", + "detectRequired": "Vsaj enemu vhodnemu toku mora biti dodeljena vloga 'detect' (zaznavanje).", + "hwaccelDetectOnly": "Argumente za strojno pospeševanje lahko določiš samo za vhodni tok z vlogo 'detect'." + } + } +} diff --git a/web/public/locales/sl/objects.json b/web/public/locales/sl/objects.json index 19b21bfe0..d0ff728a5 100644 --- a/web/public/locales/sl/objects.json +++ b/web/public/locales/sl/objects.json @@ -1,23 +1,23 @@ { - "cat": "Maček", + "cat": "Mačka", "sheep": "Ovca", - "bird": "Ptič", + "bird": "Ptica", "animal": "Žival", "goat": "Koza", "horse": "Konj", "dog": "Pes", "skis": "Smuči", - "surfboard": "Surf", + "surfboard": "Surfaška deska", "laptop": "Prenosnik", - "tennis_racket": "Teniški lopar", - "deer": "Srna", + "tennis_racket": "Tenis lopar", + "deer": "Srna/Jelen", "waste_bin": "Koš za smeti", - "skateboard": "Skejt", - "baseball_glove": "Bejzbol rokavica", + "skateboard": "Skejtbord", + "baseball_glove": "Baseball rokavica", "snowboard": "Snežna deska", - "bottle": "Flaša", + "bottle": "Steklenica", "squirrel": "Veverica", - "raccoon": "Rakun", + "raccoon": "Rakovica", "robot_lawnmower": "Robotska kosilnica", "person": "Oseba", "bicycle": "Kolo", @@ -26,94 +26,94 @@ "airplane": "Letalo", "bus": "Avtobus", "train": "Vlak", - "boat": "Ladja", + "boat": "Čoln", "traffic_light": "Semafor", "fire_hydrant": "Hidrant", "street_sign": "Prometni znak", "stop_sign": "Stop znak", - "parking_meter": "Parkomat", + "parking_meter": "Parkirna ura", "bench": "Klop", "cow": "Krava", "elephant": "Slon", "bear": "Medved", "zebra": "Zebra", "giraffe": "Žirafa", - "hat": "Kapa", + "hat": "Kapa/Klobuk", "backpack": "Nahrbtnik", "umbrella": "Dežnik", "shoe": "Čevelj", "eye_glasses": "Očala", "handbag": "Torbica", "tie": "Kravata", - "suitcase": "Aktovka", - "frisbee": "Frizbi", - "sports_ball": "Žoga", - "kite": "Kajt", - "baseball_bat": "Bejzbol kij", - "plate": "Pladenj", - "wine_glass": "Kozarec za vino", - "cup": "Šalica", + "suitcase": "Kovček", + "frisbee": "Frisbi", + "sports_ball": "Športna žoga", + "kite": "Zmaj", + "baseball_bat": "Baseball kij", + "plate": "Tanjir", + "wine_glass": "Vinski kozarec", + "cup": "Skodelica", "fork": "Vilica", "knife": "Nož", "spoon": "Žlica", "bowl": "Skleda", "banana": "Banana", - "apple": "Jabolka", + "apple": "Jabolko", "sandwich": "Sendvič", "orange": "Pomaranča", "broccoli": "Brokoli", - "carrot": "Korenček", + "carrot": "Korenje", "hot_dog": "Hot dog", "pizza": "Pica", "donut": "Krof", "cake": "Torta", "chair": "Stol", "couch": "Kavč", - "potted_plant": "Lončnica", + "potted_plant": "Rastlina v lončku", "bed": "Postelja", "mirror": "Ogledalo", "dining_table": "Jedilna miza", "window": "Okno", - "desk": "Miza", + "desk": "Pisalna miza", "toilet": "Stranišče", "door": "Vrata", - "tv": "Televizija", - "mouse": "Miš", + "tv": "TV", + "mouse": "Miška", "remote": "Daljinec", "keyboard": "Tipkovnica", "cell_phone": "Telefon", - "microwave": "Mikrovalovna pečica", + "microwave": "Mikrovalovka", "oven": "Pečica", "toaster": "Opekač", "sink": "Umivalnik", - "refrigerator": "Zmrzovalnik", - "blender": "Sekljalnik", + "refrigerator": "Hladilnik", + "blender": "Mešalnik", "book": "Knjiga", "clock": "Ura", "vase": "Vaza", "scissors": "Škarje", - "teddy_bear": "Plišasti medvedek", + "teddy_bear": "Medvedek", "hair_dryer": "Fen", - "toothbrush": "Ščetka za zobe", + "toothbrush": "Zobna ščetka", "hair_brush": "Krtača za lase", - "vehicle": "Prevozno sredstvo", - "bark": "Lajanje", + "vehicle": "Vozilo", + "bark": "Lubje", "fox": "Lisica", "rabbit": "Zajec", - "on_demand": "Na Zahtevo", + "on_demand": "Na zahtevo", "face": "Obraz", - "license_plate": "Registerska tablica", + "license_plate": "Registrska tablica", "package": "Paket", - "bbq_grill": "Roštilj", + "bbq_grill": "Žar", "amazon": "Amazon", "usps": "USPS", "ups": "UPS", "fedex": "FedEx", "dhl": "DHL", "an_post": "An Post", - "purolator": "Čistilec", + "purolator": "Purolator", "postnl": "PostNL", - "nzpost": "NSPost", + "nzpost": "NZPost", "postnord": "PostNord", "gls": "GLS", "dpd": "DPD" diff --git a/web/public/locales/sl/views/classificationModel.json b/web/public/locales/sl/views/classificationModel.json index 513084549..317a5f6da 100644 --- a/web/public/locales/sl/views/classificationModel.json +++ b/web/public/locales/sl/views/classificationModel.json @@ -1,75 +1,197 @@ { "description": { - "invalidName": "Neveljavno ime. Ime lahko vsebuje črke, števila, presledke, narekovaje, podčrtaje in pomišljaje." + "invalidName": "Neveljavno ime. Imena lahko vsebujejo le črke, številke, presledke, opuščaje, podčrtaje in vezaje." }, "categories": "Razredi", "createCategory": { - "new": "Naredi nov razred" + "new": "Ustvari nov razred" }, "button": { "renameCategory": "Preimenuj razred", - "deleteCategory": "Zbriši razred", - "deleteImages": "Zbriši slike", - "trainModel": "Treniraj model", - "deleteClassificationAttempts": "Izbriši klasifikacijske slike", + "deleteCategory": "Izbriši razred", + "deleteImages": "Izbriši slike", + "trainModel": "Nauči model", + "deleteClassificationAttempts": "Izbriši slike klasifikacij", "addClassification": "Dodaj klasifikacijo", - "deleteModels": "Izbriši model", + "deleteModels": "Izbriši modele", "editModel": "Uredi model" }, "toast": { "success": { - "deletedCategory": "Izbrisan razred", - "deletedImage": "Zbrisane slike", - "trainedModel": "Uspešno treniranje modela.", - "trainingModel": "Uspešen začetek treniranje modela.", - "deletedModel_one": "Uspešno izbrisan {{count}} model", + "deletedCategory": "Razred izbrisan", + "deletedImage": "Slike izbrisane", + "trainedModel": "Model uspešno naučen.", + "trainingModel": "Učenje modela se je uspešno začelo.", + "deletedModel_one": "Model uspešno izbrisan", "deletedModel_two": "Uspešno izbrisana {{count}} modela", "deletedModel_few": "Uspešno izbrisani {{count}} modeli", "deletedModel_other": "Uspešno izbrisanih {{count}} modelov", - "categorizedImage": "Uspešna klasifikacija slike", - "updatedModel": "Uspešno posodobljene podrobnosti modela", - "renamedCategory": "Uspešno preimenovan razred v {{name}}" + "categorizedImage": "Slika uspešno klasificirana", + "updatedModel": "Konfiguracija modela uspešno posodobljena", + "renamedCategory": "Razred uspešno preimenovan v {{name}}" }, "error": { - "deleteImageFailed": "Neuspešno brisanje: {{errorMessage}}", - "deleteCategoryFailed": "Neuspešno brisanje razreda: {{errorMessage}}", - "trainingFailed": "Neuspešen začetek treniranje modela: {{errorMessage}}", - "deleteModelFailed": "Napaka pri brisanju modela: {{errorMessage}}" + "deleteImageFailed": "Brisanje ni uspelo: {{errorMessage}}", + "deleteCategoryFailed": "Brisanje razreda ni uspelo: {{errorMessage}}", + "trainingFailed": "Učenje modela ni uspelo. Preveri Frigate dnevnike (logs) za podrobnosti.", + "deleteModelFailed": "Brisanje modela ni uspelo: {{errorMessage}}", + "categorizeFailed": "Klasifikacija slike ni uspela: {{errorMessage}}", + "trainingFailedToStart": "Začetek učenja modela ni uspel: {{errorMessage}}", + "updateModelFailed": "Posodobitev modela ni uspela: {{errorMessage}}", + "renameCategoryFailed": "Preimenovanje razreda ni uspelo: {{errorMessage}}" } }, "deleteCategory": { - "title": "Zbriši razred" + "title": "Izbriši razred", + "desc": "Ali si prepričan, da želiš izbrisati razred {{name}}? To bo trajno izbrisalo vse povezane slike in zahtevalo ponovno učenje modela.", + "minClassesTitle": "Razreda ni mogoče izbrisati", + "minClassesDesc": "Klasifikacijski model mora imeti vsaj 2 razreda. Dodaj drug razred, preden izbrišeš tega." }, "deleteTrainImages": { - "title": "Zbriši slike za treniranje", - "desc": "Ali ste prepričani, da želite izbrisati {{count}} slik? Tega dejanja ni mogoče razveljaviti." + "title": "Izbriši slike za učenje", + "desc_one": "Ali si prepričan, da želiš izbrisati {{count}} sliko?", + "desc_two": "Ali si prepričan, da želiš izbrisati {{count}} sliki?", + "desc_few": "Ali si prepričan, da želiš izbrisati {{count}} slike?", + "desc_other": "Ali si prepričan, da želiš izbrisati {{count}} slik? Tega dejanja ni mogoče razveljaviti." }, "renameCategory": { "title": "Preimenuj razred", - "desc": "Vnesite novo ime za {{name}}. Model bo treba znova naučiti, da bo sprememba imena začela veljati." + "desc": "Vnesi novo ime za {{name}}. Za uveljavitev spremembe imena boš moral ponovno naučiti model." }, "train": { - "title": "Nedavne razvrstitve", - "aria": "Izberi nedavne razvrstitve", - "titleShort": "Nedavno" + "title": "Zadnje klasifikacije", + "aria": "Izberi zadnje klasifikacije", + "titleShort": "Zadnje" }, - "categorizeImageAs": "Razvrsti sliko kot:", - "categorizeImage": "Razvrsti sliko", + "categorizeImageAs": "Klasificiraj sliko kot:", + "categorizeImage": "Klasificiraj sliko", "noModels": { "object": { - "title": "Ni modelov za razvrščanje objektov" + "title": "Ni modelov za klasifikacijo objektov", + "description": "Ustvari model po meri za klasifikacijo zaznanih objektov.", + "buttonText": "Ustvari model objekta" + }, + "state": { + "title": "Ni modelov za klasifikacijo stanja", + "description": "Ustvari model po meri za spremljanje in klasifikacijo sprememb stanja na določenih območjih kamere.", + "buttonText": "Ustvari model stanja" } }, - "documentTitle": "Klasifikacijski modeli - fregate", + "documentTitle": "Modeli za klasifikacijo - Frigate", "details": { - "scoreInfo": "Razultat predstavlja povprečno stopnjo sigurnosti čez vsa zaznavynja objekta.", - "none": "Nobeno", - "unknown": "Neznano" + "scoreInfo": "Ocena predstavlja povprečno zaupanje klasifikacije vseh zaznav tega objekta.", + "none": "Brez", + "unknown": "Neznan" }, "tooltip": { - "trainingInProgress": "Model se trenutno trenira", - "noNewImages": "Novih slik za treniranje ni na voljo. Označite več slik v bazi.", - "noChanges": "Ni sprememb v bazi od zadnjega treniranja.", - "modelNotReady": "Model ni pripravljen na treniranje" + "trainingInProgress": "Učenje modela trenutno poteka", + "noNewImages": "Ni novih slik za učenje. Najprej klasificiraj več slik v naboru podatkov.", + "noChanges": "Od zadnjega učenja v naboru podatkov ni bilo sprememb.", + "modelNotReady": "Model ni pripravljen na učenje" + }, + "deleteModel": { + "title": "Izbriši klasifikacijski model", + "single": "Ali si prepričan, da želiš izbrisati {{name}}? To bo trajno izbrisalo vse povezane podatke, vključno s slikami in podatki za učenje. Tega dejanja ni mogoče razveljaviti.", + "desc_one": "Ali si prepričan, da želiš izbrisati {{count}} model?", + "desc_two": "Ali si prepričan, da želiš izbrisati {{count}} modela?", + "desc_few": "Ali si prepričan, da želiš izbrisati {{count}} modele?", + "desc_other": "Ali si prepričan, da želiš izbrisati {{count}} modelov? To bo trajno izbrisalo vse povezane podatke. Tega dejanja ni mogoče razveljaviti." + }, + "edit": { + "title": "Uredi klasifikacijski model", + "descriptionState": "Uredi razrede za ta model klasifikacije stanja. Spremembe bodo zahtevale ponovno učenje modela.", + "descriptionObject": "Uredi vrsto objekta in vrsto klasifikacije za ta model klasifikacije objektov.", + "stateClassesInfo": "Opomba: Spreminjanje razredov stanja zahteva ponovno učenje modela s posodobljenimi razredi." + }, + "deleteDatasetImages": { + "title": "Izbriši slike iz nabora podatkov", + "desc_one": "Ali si prepričan, da želiš izbrisati {{count}} sliko iz {{dataset}}?", + "desc_two": "Ali si prepričan, da želiš izbrisati {{count}} sliki iz {{dataset}}?", + "desc_few": "Ali si prepričan, da želiš izbrisati {{count}} slike iz {{dataset}}?", + "desc_other": "Ali si prepričan, da želiš izbrisati {{count}} slik iz {{dataset}}? Tega dejanja ni mogoče razveljaviti in zahtevalo bo ponovno učenje modela." + }, + "menu": { + "objects": "Objekti", + "states": "Stanja" + }, + "wizard": { + "title": "Ustvari novo klasifikacijo", + "steps": { + "nameAndDefine": "Poimenuj in določi", + "stateArea": "Območje stanja", + "chooseExamples": "Izberi primere" + }, + "step1": { + "description": "Modeli stanja spremljajo fiksna območja kamere za spremembe (npr. odprta/zaprta vrata). Modeli objektov dodajo klasifikacije zaznanim objektom (npr. znane živali, dostavljavci itd.).", + "name": "Ime", + "namePlaceholder": "Vnesi ime modela...", + "type": "Vrsta", + "typeState": "Stanje", + "typeObject": "Objekt", + "objectLabel": "Oznaka objekta", + "objectLabelPlaceholder": "Izberi vrsto objekta...", + "classificationType": "Vrsta klasifikacije", + "classificationTypeTip": "Spoznaj vrste klasifikacij", + "classificationTypeDesc": "Pod-oznake dodajo dodatno besedilo k oznaki objekta (npr. 'Oseba: dostavljavec'). Atributi so metapodatki, ki jih je mogoče iskati in se shranjujejo ločeno.", + "classificationSubLabel": "Pod-oznaka", + "classificationAttribute": "Atribut", + "classes": "Razredi", + "states": "Stanja", + "classesTip": "Spoznaj razrede", + "classesStateDesc": "Določi različna stanja, v katerih je lahko območje tvoje kamere. Na primer: 'odprto' in 'zaprto' za garažna vrata.", + "classesObjectDesc": "Določi različne kategorije, v katere naj se klasificirajo zaznani objekti. Na primer: 'dostavljavec', 'stanovalec', 'neznanec' za klasifikacijo oseb.", + "classPlaceholder": "Vnesi ime razreda...", + "errors": { + "nameRequired": "Ime modela je obvezno", + "nameLength": "Ime modela mora imeti 64 znakov ali manj", + "nameOnlyNumbers": "Ime modela ne sme vsebovati samo številk", + "classRequired": "Zahtevan je vsaj 1 razred", + "classesUnique": "Imena razredov morajo biti edinstvena", + "noneNotAllowed": "Razred 'none' ni dovoljen", + "stateRequiresTwoClasses": "Modeli stanja zahtevajo vsaj 2 razreda", + "objectLabelRequired": "Prosim, izberi oznako objekta", + "objectTypeRequired": "Prosim, izberi vrsto klasifikacije" + } + }, + "step2": { + "description": "Izberi kamere in določi območje spremljanja za vsako kamero. Model bo klasificiral stanje teh območij.", + "cameras": "Kamere", + "selectCamera": "Izberi kamero", + "noCameras": "Klikni +, da dodaš kamere", + "selectCameraPrompt": "Izberi kamero s seznama, da določiš njeno območje spremljanja" + }, + "step3": { + "selectImagesPrompt": "Izberi vse slike z: {{className}}", + "selectImagesDescription": "Klikni na slike, da jih izbereš. Klikni Nadaljuj, ko končaš s tem razredom.", + "allImagesRequired_one": "Prosim, klasificiraj vse slike. Preostala je še {{count}} slika.", + "allImagesRequired_two": "Prosim, klasificiraj vse slike. Preostali sta še {{count}} sliki.", + "allImagesRequired_few": "Prosim, klasificiraj vse slike. Preostale so še {{count}} slike.", + "allImagesRequired_other": "Prosim, klasificiraj vse slike. Preostalo je še {{count}} slik.", + "generating": { + "title": "Generiranje vzorčnih slik", + "description": "Frigate pridobiva reprezentativne slike iz tvojih posnetkov. To lahko traja trenutek..." + }, + "training": { + "title": "Učenje modela", + "description": "Tvoj model se uči v ozadju. To pogovorno okno lahko zapreš; model bo začel delovati takoj, ko bo učenje končano." + }, + "retryGenerate": "Poskusi ponovno generirati", + "noImages": "Vzorčne slike niso bile generirane", + "classifying": "Klasificiranje in učenje...", + "trainingStarted": "Učenje se je uspešno začelo", + "modelCreated": "Model uspešno ustvarjen. Uporabi pogled Zadnje klasifikacije, da dodaš slike za manjkajoča stanja, nato nauči model.", + "errors": { + "noCameras": "Ni nastavljenih kamer", + "noObjectLabel": "Oznaka objekta ni izbrana", + "generateFailed": "Generiranje primerov ni uspelo: {{error}}", + "generationFailed": "Generiranje ni uspelo. Prosim, poskusi ponovno.", + "classifyFailed": "Klasifikacija slik ni uspela: {{error}}" + }, + "generateSuccess": "Vzorčne slike so bile uspešno generirane", + "missingStatesWarning": { + "title": "Manjkajoči primeri stanj", + "description": "Za najboljše rezultate je priporočljivo izbrati primere za vsa stanja. Lahko nadaljuješ brez izbire vseh stanj, vendar model ne bo naučen, dokler vsa stanja ne bodo imela slik. Po nadaljevanju uporabi pogled Zadnje klasifikacije za klasifikacijo slik za manjkajoča stanja, nato nauči model." + } + } } } diff --git a/web/public/locales/sl/views/configEditor.json b/web/public/locales/sl/views/configEditor.json index 5c69cc1b4..129a70e88 100644 --- a/web/public/locales/sl/views/configEditor.json +++ b/web/public/locales/sl/views/configEditor.json @@ -1,18 +1,18 @@ { - "documentTitle": "Urejevalnik konfiguracij - Frigate", - "configEditor": "Urejevalnik konfiguracij", + "documentTitle": "Urejevalnik konfiguracije - Frigate", + "configEditor": "Urejevalnik konfiguracije", "copyConfig": "Kopiraj konfiguracijo", - "saveAndRestart": "Shrani & ponovno zaženi", - "saveOnly": "Shani", + "saveAndRestart": "Shrani in ponovno zaženi", + "saveOnly": "Samo shrani", "toast": { "success": { - "copyToClipboard": "Konfiguracija kopirana v odložišče." + "copyToClipboard": "Konfiguracija je kopirana v odložišče." }, "error": { "savingError": "Napaka pri shranjevanju konfiguracije" } }, - "confirm": "Izhod brez shranjevanja?", - "safeConfigEditor": "Urejevalnik konfiguracij (Varni Način)", - "safeModeDescription": "Frigate je v varnem načinu zaradi napake pri preverjanju konfiguracije." + "confirm": "Želiš zapustiti brez shranjevanja?", + "safeConfigEditor": "Urejevalnik konfiguracije (Varni način)", + "safeModeDescription": "Frigate je v varnem načinu zaradi napake pri validaciji konfiguracije." } diff --git a/web/public/locales/sl/views/events.json b/web/public/locales/sl/views/events.json index e0e07e3c0..cb39e1b3f 100644 --- a/web/public/locales/sl/views/events.json +++ b/web/public/locales/sl/views/events.json @@ -1,7 +1,7 @@ { - "detected": "zaznanih", + "detected": "zaznano", "events": { - "noFoundForTimePeriod": "Za to časovno obdobje ni bilo najdenih dogodkov.", + "noFoundForTimePeriod": "Za to obdobje ni najdenih dogodkov.", "label": "Dogodki", "aria": "Izberi dogodke" }, @@ -9,10 +9,10 @@ "empty": { "motion": "Ni najdenih podatkov o gibanju", "alert": "Ni opozoril za pregled", - "detection": "Ni zaznanih elementov za pregled", + "detection": "Ni zaznav za pregled", "recordingsDisabled": { "title": "Snemanje mora biti omogočeno", - "description": "Elemente pregleda je mogoče ustvariti le za kamero, če so za to kamero omogočeni posnetki." + "description": "Postavke za pregled se lahko ustvarijo le za kamere, ki imajo vklopljeno snemanje." } }, "recordings": { @@ -21,45 +21,68 @@ "camera": "Kamera", "documentTitle": "Pregled - Frigate", "alerts": "Opozorila", - "detections": "Zaznavanja", + "detections": "Zaznave", "motion": { - "label": "Premik", - "only": "Samo premik" + "label": "Gibanje", + "only": "Samo gibanje" }, "timeline": "Časovnica", "timeline.aria": "Izberi časovnico", "calendarFilter": { "last24Hours": "Zadnjih 24 ur" }, - "markAsReviewed": "Označi kot Pregledano", - "markTheseItemsAsReviewed": "Označi te elemente kot pregledane", + "markAsReviewed": "Označi kot pregledano", + "markTheseItemsAsReviewed": "Označi te postavke kot pregledane", "newReviewItems": { - "label": "Ogled novih elementov za pregled", - "button": "Novi elementi za pregled" + "label": "Prikaži nove postavke za pregled", + "button": "Nove postavke za pregled" }, - "selected_one": "{{count}} izbranih", + "selected_one": "{{count}} izbran", "selected_other": "{{count}} izbranih", "zoomIn": "Povečaj", "zoomOut": "Pomanjšaj", "detail": { "label": "Podrobnosti", - "noDataFound": "Ni podrobnosti za preverbo", - "aria": "Preklopi pregled podrobnosti", - "trackedObject_one": "objektov: {{count}}", - "trackedObject_other": "objektov: {{count}}", - "noObjectDetailData": "Ni podrobnosti za izbran objekt.", - "settings": "Nastavitve pregleda podrobnosti", + "noDataFound": "Ni podrobnih podatkov za pregled", + "aria": "Preklopi podrobni pogled", + "trackedObject_one": "{{count}} objekt", + "trackedObject_other": "{{count}} objektov", + "noObjectDetailData": "Podatki o podrobnostih objekta niso na voljo.", + "settings": "Nastavitve podrobnega pogleda", "alwaysExpandActive": { - "title": "Vedno razširi aktivne", - "desc": "Vedno razširi podrobnosti objektov aktivnega elementa pregleda, če so na voljo." + "title": "Vedno razširi aktivno", + "desc": "Vedno razširi podrobnosti objekta za trenutno aktivno postavko pregleda, ko so na voljo." } }, "objectTrack": { - "trackedPoint": "Točka za sledenje", - "clickToSeek": "Pritisnite, da se premaknete na izbran čas" + "trackedPoint": "Sledena točka", + "clickToSeek": "Klikni za skok na ta čas" }, "select_all": "Vse", - "normalActivity": "Normalno", - "needsReview": "Potrebuje pregled", - "securityConcern": "Varnostno tveganje" + "normalActivity": "Običajno", + "needsReview": "Potrebno pregleda", + "securityConcern": "Varnostni pomislek", + "motionSearch": { + "menuItem": "Iskanje gibanja", + "openMenu": "Možnosti kamere" + }, + "motionPreviews": { + "menuItem": "Ogled predogledov gibanja", + "title": "Predogledi gibanja: {{camera}}", + "mobileSettingsTitle": "Nastavitve predogleda gibanja", + "mobileSettingsDesc": "Prilagodi hitrost predvajanja, zatemnitev in izberi datum za pregled posnetkov s samim gibanjem.", + "dim": "Zatemnitev", + "dimAria": "Prilagodi intenzivnost zatemnitve", + "dimDesc": "Povečaj zatemnitev za boljšo vidnost območja gibanja.", + "speed": "Hitrost", + "speedAria": "Izberi hitrost predvajanja predogleda", + "speedDesc": "Izberi, kako hitro naj se predvajajo predogledi.", + "back": "Nazaj", + "empty": "Predogledi niso na voljo", + "noPreview": "Predogled ni na voljo", + "seekAria": "Skoči na predvajalniku {{camera}} na čas {{time}}", + "filter": "Filter", + "filterDesc": "Izberi območja, da prikažeš le posnetke z gibanjem v teh regijah.", + "filterClear": "Počisti" + } } diff --git a/web/public/locales/sl/views/explore.json b/web/public/locales/sl/views/explore.json index 6cb7011ad..0d9b727b1 100644 --- a/web/public/locales/sl/views/explore.json +++ b/web/public/locales/sl/views/explore.json @@ -1,118 +1,137 @@ { "exploreIsUnavailable": { - "title": "Funkcija razišči ni na voljo", + "title": "Raziskovanje ni na voljo", "downloadingModels": { "setup": { - "visionModel": "Model vida", - "visionModelFeatureExtractor": "Pridobivanje lastnosti modela vida", + "visionModel": "Vidni model", + "visionModelFeatureExtractor": "Ekstraktor lastnosti vidnega modela", "textModel": "Besedilni model", - "textTokenizer": "Tokenizator besedila" + "textTokenizer": "Besedilni razčlenjevalnik (tokenizer)" }, - "context": "Frigate prenaša potrebne modele vdelave za podporo funkcije semantičnega iskanja. To lahko traja nekaj minut, odvisno od hitrosti vaše omrežne povezave.", + "context": "Frigate prenaša potrebne modele vdelav za podporo funkcije semantičnega iskanja. To lahko traja nekaj minut, odvisno od hitrosti tvoje omrežne povezave.", "tips": { - "context": "Morda boste želeli ponovno indeksirati vdelave (embeddings) svojih sledenih objektov, ko bodo modeli preneseni.", + "context": "Morda boš želel ponovno indeksirati vdelave sledenih objektov, ko bodo modeli preneseni.", "documentation": "Preberi dokumentacijo" }, - "error": "Prišlo je do napake. Preverite dnevnike Frigate." + "error": "Prišlo je do napake. Preveri Frigate dnevnike (logs)." }, "embeddingsReindexing": { "step": { "descriptionsEmbedded": "Vdelani opisi: ", - "trackedObjectsProcessed": "Obdelani sledeni predmeti: ", + "trackedObjectsProcessed": "Obdelani sledeni objekti: ", "thumbnailsEmbedded": "Vdelane sličice: " }, - "context": "Funkcija Explore se lahko uporablja, ko je ponovno indeksiranje vgraditev(embeddings) sledenih objektov končano.", + "context": "Raziskovanje bo na voljo, ko se zaključi ponovno indeksiranje vdelav sledenih objektov.", "startingUp": "Zagon…", - "estimatedTime": "Ocenjeni preostali čas:", - "finishingShortly": "Kmalu končano" + "estimatedTime": "Predviden preostali čas:", + "finishingShortly": "Kmalu bo končano" } }, - "documentTitle": "Razišči - Frigate", + "documentTitle": "Raziskovanje - Frigate", "generativeAI": "Generativna UI", - "exploreMore": "Razišči več {{label}} objektov", + "exploreMore": "Razišči več objektov vrste {{label}}", "details": { "button": { "regenerate": { - "label": "Regeneriraj opise sledenih predmetov", - "title": "Regeneriraj" + "label": "Ponovno generiraj opis sledenega objekta", + "title": "Ponovno generiraj" }, - "findSimilar": "Najdi podobno" + "findSimilar": "Najdi podobne" }, "camera": "Kamera", "estimatedSpeed": "Ocenjena hitrost", "description": { - "placeholder": "Opis sledenega predmeta", + "placeholder": "Opis sledenega objekta", "label": "Opis", - "aiTips": "Frigate od vašega ponudnika generativne UI ne bo zahteval opisa, dokler se življenjski cikel sledenega objekta ne konča." + "aiTips": "Frigate ne bo zahteval opisa od tvojega ponudnika generativne UI, dokler se življenjski cikel sledenega objekta ne zaključi." }, "recognizedLicensePlate": "Prepoznana registrska tablica", - "objects": "Predmeti", + "objects": "Objekti", "zones": "Območja", - "timestamp": "Časovni žig", + "timestamp": "Časovna značka", "item": { "button": { - "share": "Deli ta element mnenja", - "viewInExplore": "Poglej v Razišči Pogledu" + "share": "Deli to postavko za pregled", + "viewInExplore": "Ogled v Raziskovanju" }, "tips": { - "hasMissingObjects": "Prilagodite konfiguracijo, če želite, da Frigate shranjuje sledene objekte za naslednje oznake: {{objects}}" + "hasMissingObjects": "Prilagodi svojo konfiguracijo, če želiš, da Frigate shranjuje sledene objekte za naslednje oznake: {{objects}}", + "mismatch_one": "{{count}} nedostopen objekt je bil zaznan in vključen v to postavko. Ti objekti niso izpolnili pogojev za opozorilo ali zaznavo ali pa so bili že izbrisani.", + "mismatch_two": "{{count}} nedostopna objekta sta bila zaznana in vključena v to postavko.", + "mismatch_few": "{{count}} nedostopni objekti so bili zaznani in vključeni v to postavko.", + "mismatch_other": "{{count}} nedostopnih objektov je bilo zaznanih in vključenih v to postavko." }, "toast": { "success": { - "regenerate": "Od ponudnika {{provider}} je bil zahtevan nov opis. Glede na hitrost vašega ponudnika lahko regeneracija novega opisa traja nekaj časa.", - "updatedSublabel": "Podoznaka je bila uspešno posodobljena.", - "updatedLPR": "Registrska tablica je bila uspešno posodobljena.", - "audioTranscription": "Zahteva za zvočni prepis je bila uspešno izvedena." + "regenerate": "Zahtevan je nov opis od ponudnika {{provider}}. Odvisno od hitrosti tvojega ponudnika lahko generiranje traja nekaj časa.", + "updatedSublabel": "Pod-oznaka uspešno posodobljena.", + "updatedLPR": "Registrska tablica uspešno posodobljena.", + "audioTranscription": "Zahteva za transkripcijo zvoka je bila uspešna. Odvisno od hitrosti tvojega strežnika lahko transkripcija traja nekaj časa.", + "updatedAttributes": "Atributi uspešno posodobljeni." }, "error": { - "regenerate": "Klic ponudniku {{provider}} za nov opis ni uspel: {{errorMessage}}", - "updatedSublabelFailed": "Posodobitev podoznake ni uspela: {{errorMessage}}", + "regenerate": "Priklic ponudnika {{provider}} za nov opis ni uspel: {{errorMessage}}", + "updatedSublabelFailed": "Posodobitev pod-oznake ni uspela: {{errorMessage}}", "updatedLPRFailed": "Posodobitev registrske tablice ni uspela: {{errorMessage}}", - "audioTranscription": "Zahteva za prepis zvoka ni uspela: {{errorMessage}}" + "audioTranscription": "Zahteva za transkripcijo zvoka ni uspela: {{errorMessage}}", + "updatedAttributesFailed": "Posodobitev atributov ni uspela: {{errorMessage}}" } }, - "title": "Preglej Podrobnosti Elementa", - "desc": "Preglej podrobnosti elementa" + "title": "Podrobnosti postavke za pregled", + "desc": "Podrobnosti postavke za pregled" }, "label": "Oznaka", "editSubLabel": { - "title": "Uredi podoznako", - "desc": "Vnesite novo podoznako za {{label}}", - "descNoLabel": "Vnesite novo podoznako za ta sledeni objekt" + "title": "Uredi pod-oznako", + "desc": "Vnesi novo pod-oznako za ta {{label}}", + "descNoLabel": "Vnesi novo pod-oznako za ta sledeni objekt" }, "editLPR": { "title": "Uredi registrsko tablico", - "desc": "Vnesite novo vrednost registrske tablice za {{label}}", - "descNoLabel": "Vnesite novo vrednost registrske tablice za ta sledeni objekt" + "desc": "Vnesi novo vrednost registrske tablice za ta {{label}}", + "descNoLabel": "Vnesi novo vrednost registrske tablice za ta sledeni objekt" }, "snapshotScore": { - "label": "Ocena Slike" + "label": "Ocena posnetka" }, "topScore": { - "label": "Najboljša Ocena", - "info": "Najboljša ocena je najvišji mediani rezultat za sledeni objekt, zato se lahko razlikuje od rezultata, prikazanega na sličici rezultata iskanja." + "label": "Najvišja ocena", + "info": "Najvišja ocena je najvišja mediana ocene za sledeni objekt, zato se lahko razlikuje od ocene na sličici rezultatov iskanja." }, - "expandRegenerationMenu": "Razširi meni regeneracije", + "expandRegenerationMenu": "Razširi meni za ponovno generiranje", "tips": { "descriptionSaved": "Opis uspešno shranjen", - "saveDescriptionFailed": "Opisa ni bilo mogoče posodobiti: {{errorMessage}}" + "saveDescriptionFailed": "Posodobitev opisa ni uspela: {{errorMessage}}" + }, + "editAttributes": { + "title": "Uredi atribute", + "desc": "Izberi atribute klasifikacije za ta {{label}}" + }, + "score": { + "label": "Ocena" + }, + "attributes": "Atributi klasifikacije", + "regenerateFromSnapshot": "Generiraj iz posnetka", + "regenerateFromThumbnails": "Generiraj iz sličic", + "title": { + "label": "Naslov" } }, "itemMenu": { "findSimilar": { - "aria": "Najdi podobne sledene predmete", - "label": "Najdi podobno" + "aria": "Najdi podobne sledene objekte", + "label": "Najdi podobne" }, "submitToPlus": { - "label": "Predloži v Frigate+", - "aria": "Predloži v Frigate Plus" + "label": "Pošlji v Frigate+", + "aria": "Pošlji v Frigate Plus" }, "viewInHistory": { - "label": "Poglej v zgodovini", - "aria": "Poglej v zgodovini" + "label": "Ogled v zgodovini", + "aria": "Ogled v zgodovini" }, "deleteTrackedObject": { - "label": "Izbriši ta sledeni predmet" + "label": "Izbriši ta sledeni objekt" }, "viewObjectLifecycle": { "aria": "Pokaži življenjski cikel predmeta", @@ -131,16 +150,35 @@ "aria": "Dodaj sprožilec za ta sledeni objekt" }, "audioTranscription": { - "label": "Prepis", - "aria": "Zahtevajte prepis zvoka" + "label": "Transkribiraj", + "aria": "Zahtevaj transkripcijo zvoka" + }, + "downloadCleanSnapshot": { + "label": "Prenesi čisti posnetek", + "aria": "Prenesi čisti posnetek" + }, + "viewTrackingDetails": { + "label": "Ogled podrobnosti sledenja", + "aria": "Prikaži podrobnosti sledenja" + }, + "showObjectDetails": { + "label": "Prikaži pot objekta" + }, + "hideObjectDetails": { + "label": "Skrij pot objekta" + }, + "debugReplay": { + "label": "Ponovno predvajanje za razhroščevanje", + "aria": "Ogled tega sledenega objekta v pogledu za razhroščevanje" } }, "dialog": { "confirmDelete": { - "title": "Potrdi brisanje" + "title": "Potrdi brisanje", + "desc": "Brisanje tega sledenega objekta bo odstranilo posnetek, vse shranjene vdelave in morebitne povezane vpise podrobnosti sledenja. Zabeleženi posnetki tega objekta v pogledu Zgodovina NE bodo izbrisani.

Ali si prepričan, da želiš nadaljevati?" } }, - "trackedObjectDetails": "Podrobnosti Sledenega Objekta", + "trackedObjectDetails": "Podrobnosti sledenega objekta", "type": { "details": "podrobnosti", "snapshot": "posnetek", @@ -197,20 +235,76 @@ }, "autoTrackingTips": "Položaji okvirjev bodo za kamere s samodejnim sledenjem netočni." }, - "noTrackedObjects": "Ni Najdenih Sledenih Objektov", + "noTrackedObjects": "Ni najdenih sledenih objektov", "fetchingTrackedObjectsFailed": "Napaka pri pridobivanju sledenih objektov: {{errorMessage}}", "searchResult": { - "tooltip": "Ujemanje {{type}} pri {{confidence}}%", + "tooltip": "Ujemanje {{type}} pri {{confidence}} %", "deleteTrackedObject": { "toast": { - "success": "Sledeni objekt je bil uspešno izbrisan.", - "error": "Brisanje sledenega predmeta ni uspelo: {{errorMessage}}" + "success": "Sledeni objekt uspešno izbrisan.", + "error": "Brisanje sledenega objekta ni uspelo: {{errorMessage}}" } - } + }, + "previousTrackedObject": "Prejšnji sledeni objekt", + "nextTrackedObject": "Naslednji sledeni objekt" }, "trackingDetails": { "title": "Podrobnosti sledenja", - "noImageFound": "Ni najdenih slik za izbrani datum in čas.", - "createObjectMask": "Ustvari masko predmeta" + "noImageFound": "Za to časovno značko ni bila najdena nobena slika.", + "createObjectMask": "Ustvari masko objekta", + "adjustAnnotationSettings": "Prilagodi nastavitve anotacij", + "scrollViewTips": "Klikni za ogled pomembnih trenutkov v življenjskem ciklu tega objekta.", + "autoTrackingTips": "Položaji uokvirjanja (bounding box) bodo nenatančni pri kamerah s samodejnim sledenjem.", + "count": "{{first}} od {{second}}", + "trackedPoint": "Sledena točka", + "lifecycleItemDesc": { + "visible": "{{label}} zaznan", + "entered_zone": "{{label}} je vstopil v {{zones}}", + "active": "{{label}} je postal aktiven", + "stationary": "{{label}} je postal nepremičen", + "attribute": { + "faceOrLicense_plate": "{{attribute}} zaznan za {{label}}", + "other": "{{label}} prepoznan kot {{attribute}}" + }, + "gone": "{{label}} je odšel", + "heard": "{{label}} slišan", + "external": "{{label}} zaznan", + "header": { + "zones": "Območja", + "ratio": "Razmerje", + "area": "Površina", + "score": "Ocena" + } + }, + "annotationSettings": { + "title": "Nastavitve anotacij", + "showAllZones": { + "title": "Prikaži vsa območja", + "desc": "Vedno prikaži območja na okvirjih, kjer so objekti vstopili v območje." + }, + "offset": { + "label": "Odmik anotacij", + "desc": "Ti podatki prihajajo iz vira za zaznavanje tvoje kamere, vendar so prekrivni na slikah iz vira za snemanje. Malo verjetno je, da sta tokova popolnoma usklajena. Zato se okvirji in posnetek ne bodo popolnoma ujemali. S to nastavitvijo lahko zamakneš anotacije naprej ali nazaj v času za boljšo poravnavo s posnetkom.", + "millisecondsToOffset": "Milisekunde odmika za anotacije zaznavanja. Privzeto: 0", + "tips": "Zmanjšaj vrednost, če video predvajanje prehiteva okvirje in točke poti, ter jo povečaj, če video predvajanje zaostaja za njimi. Vrednost je lahko negativna.", + "toast": { + "success": "Odmik anotacij za {{camera}} je shranjen v konfiguracijo." + } + } + }, + "carousel": { + "previous": "Prejšnja stran", + "next": "Naslednja stran" + } + }, + "trackedObjectsCount_one": "{{count}} sledeni objekt ", + "trackedObjectsCount_two": "{{count}} sledena objekta ", + "trackedObjectsCount_few": "{{count}} sledeni objekti ", + "trackedObjectsCount_other": "{{count}} sledenih objektov ", + "aiAnalysis": { + "title": "AI analiza" + }, + "concerns": { + "label": "Pomisleki" } } diff --git a/web/public/locales/sl/views/exports.json b/web/public/locales/sl/views/exports.json index 1afd16697..55083c478 100644 --- a/web/public/locales/sl/views/exports.json +++ b/web/public/locales/sl/views/exports.json @@ -1,23 +1,37 @@ { "documentTitle": "Izvoz - Frigate", "search": "Iskanje", - "noExports": "Izovzi niso najdeni", + "noExports": "Ni najdenih izvozov", "deleteExport": "Izbriši izvoz", - "deleteExport.desc": "Ali ste prepričani, da želite izbrisati {{exportName}}?", + "deleteExport.desc": "Ali si prepričan, da želiš izbrisati {{exportName}}?", "editExport": { "title": "Preimenuj izvoz", - "desc": "Vpišite novo ime za ta izvoz.", + "desc": "Vnesi novo ime za ta izvoz.", "saveExport": "Shrani izvoz" }, "toast": { "error": { - "renameExportFailed": "Napaka pri preimenovanju izvoza: {{errorMessage}}" + "renameExportFailed": "Preimenovanje izvoza ni uspelo: {{errorMessage}}", + "assignCaseFailed": "Posodobitev dodelitve k primeru ni uspela: {{errorMessage}}" } }, "tooltip": { "shareExport": "Deli izvoz", "editName": "Uredi ime", "deleteExport": "Izbriši izvoz", - "downloadVideo": "Prenesi videoposnetek" + "downloadVideo": "Prenesi video", + "assignToCase": "Dodaj k primeru" + }, + "headings": { + "cases": "Primeri", + "uncategorizedExports": "Nekategorizirani izvozi" + }, + "caseDialog": { + "title": "Dodaj k primeru", + "description": "Izberi obstoječ primer ali ustvari novega.", + "selectLabel": "Primer", + "newCaseOption": "Ustvari nov primer", + "nameLabel": "Ime primera", + "descriptionLabel": "Opis" } } diff --git a/web/public/locales/sl/views/faceLibrary.json b/web/public/locales/sl/views/faceLibrary.json index 9e30a565b..3421809d9 100644 --- a/web/public/locales/sl/views/faceLibrary.json +++ b/web/public/locales/sl/views/faceLibrary.json @@ -1,28 +1,29 @@ { "description": { "addFace": "Dodaj novo zbirko v knjižnico obrazov tako, da naložiš svojo prvo sliko.", - "placeholder": "Vnesite ime za to zbirko", - "invalidName": "Neveljavno ime. Ime lahko vsebuje črke, števila, presledke, narekovaje, podčrtaje in pomišljaje." + "placeholder": "Vnesi ime za to zbirko", + "invalidName": "Neveljavno ime. Imena lahko vsebujejo le črke, številke, presledke, opuščaje, podčrtaje in vezaje.", + "nameCannotContainHash": "Ime ne sme vsebovati znaka #." }, "details": { "person": "Oseba", - "unknown": "Neznano", - "timestamp": "Časovni žig", + "unknown": "Neznan", + "timestamp": "Časovna značka", "subLabelScore": "Ocena Podoznake", - "scoreInfo": "Rezultat podoznake je utežena ocena vseh stopenj gotovosti prepoznanih obrazov, zato se lahko razlikuje od ocene, prikazane na posnetku.", + "scoreInfo": "Ocena je uteženo povprečje vseh ocen obraza, uteženo glede na velikost obraza na posamezni sliki.", "face": "Podrobnosti Obraza", "faceDesc": "Podrobnosti sledenega objekta, ki je ustvaril ta obraz" }, "uploadFaceImage": { - "title": "Naloži nov obraz", - "desc": "Naloži sliko za iskanje obrazov in vključitev v {{pageToggle}}" + "title": "Naloži sliko obraza", + "desc": "Naloži sliko za iskanje obrazov in vključi za {{pageToggle}}" }, "deleteFaceAttempts": { - "desc_one": "Ali ste prepričani, da želite izbrisati {{count}} obraz? Tega dejanja ni mogoče razveljaviti.", - "desc_two": "Ali ste prepričani, da želite izbrisati {{count}} obraza? Tega dejanja ni mogoče razveljaviti.", - "desc_few": "Ali ste prepričani, da želite izbrisati {{count}} obraze? Tega dejanja ni mogoče razveljaviti.", - "desc_other": "Ali ste prepričani, da želite izbrisati {{count}} obrazov? Tega dejanja ni mogoče razveljaviti.", - "title": "Izbriši Obraze" + "desc_one": "Ali si prepričan, da želiš izbrisati {{count}} obraz? Tega dejanja ni mogoče razveljaviti.", + "desc_two": "Ali si prepričan, da želiš izbrisati {{count}} obraza? Tega dejanja ni mogoče razveljaviti.", + "desc_few": "Ali si prepričan, da želiš izbrisati {{count}} obraze? Tega dejanja ni mogoče razveljaviti.", + "desc_other": "Ali si prepričan, da želiš izbrisati {{count}} obrazov? Tega dejanja ni mogoče razveljaviti.", + "title": "Izbriši obraze" }, "toast": { "success": { @@ -30,23 +31,23 @@ "deletedFace_two": "Uspešno izbrisana {{count}} obraza.", "deletedFace_few": "Uspešno izbrisani {{count}} obrazi.", "deletedFace_other": "Uspešno izbrisanih {{count}} obrazov.", - "deletedName_one": "{{count}} je bil uspešno izbrisan.", + "deletedName_one": "{{count}} obraz je bil uspešno izbrisan.", "deletedName_two": "{{count}} obraza sta bila uspešno izbrisana.", "deletedName_few": "{{count}} obrazi so bili uspešno izbrisani.", "deletedName_other": "{{count}} obrazov je bilo uspešno izbrisanih.", - "uploadedImage": "Slika je bila uspešno naložena.", - "addFaceLibrary": "Oseba {{name}} je bila uspešno dodana v Knjižnico Obrazov!", + "uploadedImage": "Slika uspešno naložena.", + "addFaceLibrary": "{{name}} je bil uspešno dodan v knjižnico obrazov!", "renamedFace": "Obraz uspešno preimenovan v {{name}}", - "trainedFace": "Uspešno treniran obraz.", - "updatedFaceScore": "Ocena obraza je bila uspešno posodobljena {{name}} ({{score}})." + "trainedFace": "Obraz uspešno naučen.", + "updatedFaceScore": "Ocena obraza uspešno posodobljena na {{name}} ({{score}})." }, "error": { "uploadingImageFailed": "Nalaganje slike ni uspelo: {{errorMessage}}", - "addFaceLibraryFailed": "Neuspešno nastavljanje imena obraza: {{errorMessage}}", + "addFaceLibraryFailed": "Nastavitev imena obraza ni uspela: {{errorMessage}}", "deleteFaceFailed": "Brisanje ni uspelo: {{errorMessage}}", "deleteNameFailed": "Brisanje imena ni uspelo: {{errorMessage}}", "renameFaceFailed": "Preimenovanje obraza ni uspelo: {{errorMessage}}", - "trainFailed": "Treniranje ni uspelo: {{errorMessage}}", + "trainFailed": "Učenje ni uspelo: {{errorMessage}}", "updateFaceScoreFailed": "Posodobitev ocene obraza ni uspela: {{errorMessage}}" } }, @@ -55,52 +56,52 @@ "createFaceLibrary": { "title": "Ustvari Zbirko", "desc": "Ustvari novo zbirko", - "new": "Ustvari Nov Obraz", - "nextSteps": "Za vzpoztavitev trdnih osnov:
  • V zavihku Nedavne prepoznave izberi in uporabi slike za učenje vsake zaznane osebe.
  • Za najboljše rezultate se osredotoči na slike, kjer je obraz obrnjen naravnost; izogibaj se slikam, na katerih so obrazi posneti pod kotom.
  • " + "new": "Ustvari nov obraz", + "nextSteps": "Za dobre temelje:
  • Uporabi zavihek Zadnje prepoznave za izbiro in učenje slik za vsako zaznano osebo.
  • Za najboljše rezultate se osredotoči na slike od spredaj; izogibaj se slikam, ki zajamejo obraz pod kotom.
  • " }, "steps": { - "faceName": "Vnesi Ime Obraza", - "uploadFace": "Naloži Sliko Obraza", + "faceName": "Vnesi ime obraza", + "uploadFace": "Naloži sliko obraza", "nextSteps": "Naslednji koraki", "description": { - "uploadFace": "Naložite sliko osebe {{name}}, ki prikazuje obraz (slikan naravnost in ne iz kota). Slike ni treba obrezati samo na obraz." + "uploadFace": "Naloži sliko osebe {{name}}, ki prikazuje njen obraz od spredaj. Slike ni treba obrezati samo na obraz." } }, "train": { - "title": "Nedavne prepoznave", - "aria": "Izberite nedavne prepoznave", - "empty": "Ni nedavnih poskusov prepoznavanja obrazov", - "titleShort": "Nedavno" + "title": "Zadnje prepoznave", + "aria": "Izberi zadnje prepoznave", + "empty": "Ni zadnjih poskusov prepoznave obrazov", + "titleShort": "Zadnje" }, "selectItem": "Izberi {{item}}", "selectFace": "Izberi Obraz", "deleteFaceLibrary": { - "title": "Izbriši Ime", - "desc": "Ali ste prepričani, da želite izbrisati zbirko {{name}}? S tem boste trajno izbrisali vse povezane obraze." + "title": "Izbriši ime", + "desc": "Ali si prepričan, da želiš izbrisati zbirko {{name}}? To bo trajno izbrisalo vse povezane obraze." }, "renameFace": { - "title": "Preimenuj Obraz", + "title": "Preimenuj obraz", "desc": "Vnesi novo ime za {{name}}" }, "button": { - "deleteFaceAttempts": "Izbriši Obraze", - "addFace": "Dodaj Obraz", - "renameFace": "Preimenuj Obraz", - "deleteFace": "Izbriši Obraz", - "uploadImage": "Naloži Sliko", - "reprocessFace": "Ponovna Obdelava Obraza" + "deleteFaceAttempts": "Izbriši obraze", + "addFace": "Dodaj obraz", + "renameFace": "Preimenuj obraz", + "deleteFace": "Izbriši obraz", + "uploadImage": "Naloži sliko", + "reprocessFace": "Ponovno obdelaj obraz" }, "imageEntry": { "validation": { - "selectImage": "Izberite slikovno datoteko." + "selectImage": "Prosim, izberi slikovno datoteko." }, - "dropActive": "Sliko spustite tukaj…", - "dropInstructions": "Povlecite in spustite ali prilepite sliko sem ali kliknite za izbiro", - "maxSize": "Največja velikost: {{size}}MB" + "dropActive": "Spusti sliko tukaj…", + "dropInstructions": "Povleci in spusti ali prilepi sliko sem, ali klikni za izbiro", + "maxSize": "Največja velikost: {{size}} MB" }, - "nofaces": "Noben obraz ni na voljo", + "nofaces": "Ni razpoložljivih obrazov", "pixels": "{{area}}px", "readTheDocs": "Preberi dokumentacijo", - "trainFaceAs": "Treniraj obraz kot:", - "trainFace": "Treniraj Obraz" + "trainFaceAs": "Nauči obraz kot:", + "trainFace": "Nauči obraz" } diff --git a/web/public/locales/sl/views/live.json b/web/public/locales/sl/views/live.json index 5b5261828..de6231960 100644 --- a/web/public/locales/sl/views/live.json +++ b/web/public/locales/sl/views/live.json @@ -1,26 +1,26 @@ { "documentTitle": "V živo - Frigate", - "documentTitle.withCamera": "{{camera}} - v živo - Frigate", - "lowBandwidthMode": "Nizkopasovni način", + "documentTitle.withCamera": "{{camera}} - V živo - Frigate", + "lowBandwidthMode": "Način nizke pasovne širine", "twoWayTalk": { "enable": "Omogoči dvosmerni pogovor", - "disable": "Onemogoči Obojesmerni Pogovor" + "disable": "Onemogoči dvosmerni pogovor" }, "ptz": { "move": { "clickMove": { - "disable": "Onemogoči funkcijo klikni in premakni", - "label": "Kliknite v okvir, da postavite kamero na sredino", + "disable": "Onemogoči premik s klikom", + "label": "Klikni v okvir, da usrediniš kamero", "enable": "Omogoči premik s klikom" }, "left": { - "label": "Premakni PTZ kamero v levo" + "label": "Premakni PTZ kamero levo" }, "up": { "label": "Premakni PTZ kamero gor" }, "down": { - "label": "Premakni PTZ kamero navzdol" + "label": "Premakni PTZ kamero dol" }, "right": { "label": "Premakni PTZ kamero desno" @@ -28,144 +28,172 @@ }, "zoom": { "in": { - "label": "Povečaj PTZ kamero" + "label": "Povečaj (zoom in)" }, "out": { - "label": "Pomanjšaj PTZ kamero" + "label": "Pomanjšaj (zoom out)" } }, "focus": { "in": { - "label": "Izostri PTZ kamero" + "label": "Fokusiraj bližje" }, "out": { - "label": "Razostri PTZ kamero" + "label": "Fokusiraj dlje" } }, "frame": { "center": { - "label": "Kliknite v okvir, da postavite PTZ kamero na sredino" + "label": "Klikni v okvir, da usrediniš PTZ kamero" } }, "presets": "Prednastavitve PTZ kamere" }, "cameraAudio": { - "enable": "Omogoči Zvok Kamere", - "disable": "Onemogoči Zvok Kamere" + "enable": "Omogoči zvok kamere", + "disable": "Onemogoči zvok kamere" }, "camera": { - "enable": "Omogoči Kamero", - "disable": "Onemogoči Kamero" + "enable": "Omogoči kamero", + "disable": "Onemogoči kamero" }, "muteCameras": { - "enable": "Utišaj vse kamere", - "disable": "Vklopi Zvok Vsem Kameram" + "enable": "Utihni vse kamere", + "disable": "Vklopi zvok vseh kamer" }, "detect": { - "enable": "Omogoči Detekcijo", - "disable": "Onemogoči Detekcijo" + "enable": "Omogoči zaznavanje", + "disable": "Onemogoči zaznavanje" }, "recording": { - "enable": "Omogoči Snemanje", - "disable": "Onemogoči Snemanje" + "enable": "Omogoči snemanje", + "disable": "Onemogoči snemanje" }, "snapshots": { - "enable": "Omogoči Slike", - "disable": "Onemogoči Slike" + "enable": "Omogoči posnetke", + "disable": "Onemogoči posnetke" }, "audioDetect": { - "enable": "Omogoči Zvočno Detekcijo", - "disable": "Onemogoči Zvočno Detekcijo" + "enable": "Omogoči zaznavanje zvoka", + "disable": "Onemogoči zaznavanje zvoka" }, "transcription": { - "enable": "Omogoči Prepisovanje Zvoka v Živo", - "disable": "Onemogoči Prepisovanje Zvoka v Živo" + "enable": "Omogoči transkripcijo zvoka v živo", + "disable": "Onemogoči transkripcijo zvoka v živo" }, "autotracking": { - "enable": "Omogoči Samodejno Sledenje", - "disable": "Onemogoči Samodejno Sledenje" + "enable": "Omogoči samodejno sledenje", + "disable": "Onemogoči samodejno sledenje" }, "streamStats": { - "enable": "Prikaži Statistiko Pretočnega Predvajanja", - "disable": "Skrij Statistiko Pretočnega Predvajanja" + "enable": "Prikaži statistiko pretoka", + "disable": "Skrij statistiko pretoka" }, "manualRecording": { - "title": "Snemanje na Zahtevo", - "tips": "Začni ročni dogodek na podlagi nastavitev hranjenja posnetkov te kamere.", + "title": "Na zahtevo", + "tips": "Prenesi takojšen posnetek ali začni ročni dogodek na podlagi nastavitev hrambe te kamere.", "playInBackground": { "label": "Predvajaj v ozadju", - "desc": "Omogočite to možnost, če želite nadaljevati s pretakanjem, ko je predvajalnik skrit." + "desc": "Omogoči to možnost za nadaljevanje pretakanja, ko je predvajalnik skrit." }, "showStats": { - "label": "Prikaži Statistiko", - "desc": "Omogočite to možnost, če želite statistiko pretoka prikazati kot prekrivni sloj na viru kamere." + "label": "Prikaži statistiko", + "desc": "Omogoči to možnost za prikaz statistike pretoka kot prekrivni element na viru kamere." }, - "debugView": "Pogled za Odpravljanje Napak", + "debugView": "Pogled za razhroščevanje", "start": "Začni snemanje na zahtevo", - "started": "Začelo se je ročno snemanje na zahtevo.", - "failedToStart": "Ročnega snemanja na zahtevo ni bilo mogoče začeti.", - "recordDisabledTips": "Ker je snemanje v nastavitvah te kamere onemogočeno ali omejeno, bo shranjena samo slika.", + "started": "Ročno snemanje na zahtevo se je začelo.", + "failedToStart": "Začetek ročnega snemanja na zahtevo ni uspel.", + "recordDisabledTips": "Ker je snemanje v konfiguraciji za to kamero onemogočeno ali omejeno, bo shranjen le posnetek (snapshot).", "end": "Končaj snemanje na zahtevo", - "ended": "Ročno snemanje na zahtevo je končano.", - "failedToEnd": "Ročnega snemanja na zahtevo ni bilo mogoče končati." + "ended": "Ročno snemanje na zahtevo se je končalo.", + "failedToEnd": "Končanje ročnega snemanja na zahtevo ni uspelo." }, - "streamingSettings": "Nastavitve Pretakanja", + "streamingSettings": "Nastavitve pretakanja", "notifications": "Obvestila", "audio": "Zvok", "suspend": { - "forTime": "Začasno ustavi za: " + "forTime": "Prekini za: " }, "stream": { "title": "Pretok", "audio": { "tips": { - "title": "Zvok mora biti predvajan iz vaše kamere in konfiguriran v go2rtc za ta pretok.", + "title": "Zvok mora priti iz tvoje kamere in biti nastavljen v go2rtc za ta pretok.", "documentation": "Preberi Dokumentacijo " }, - "available": "Za ta pretok je na voljo zvok", - "unavailable": "Zvok za ta pretok ni na voljo" + "available": "Zvok je na voljo za ta pretok", + "unavailable": "Zvok ni na voljo za ta pretok" }, "twoWayTalk": { - "tips": "Vaša naprava mora podpirati to funkcijo, WebRTC pa mora biti konfiguriran za dvosmerni pogovor.", + "tips": "Tvoja naprava mora podpirati to funkcijo, WebRTC pa mora biti nastavljen za dvosmerni pogovor.", "tips.documentation": "Preberi dokumentacijo ", - "available": "Za ta tok je na voljo dvosmerni pogovor", + "available": "Dvosmerni pogovor je na voljo za ta pretok", "unavailable": "Dvosmerni pogovor ni na voljo za ta pretok" }, "lowBandwidth": { - "tips": "Pogled v živo je v načinu nizke pasovne širine zaradi napak v nalaganju ali pretoku.", + "tips": "Pogled v živo je v načinu nizke pasovne širine zaradi medpomnjenja ali napak v pretoku.", "resetStream": "Ponastavi pretok" }, "playInBackground": { "label": "Predvajaj v ozadju", - "tips": "Omogočite to možnost, če želite nadaljevati s pretakanjem, ko je predvajalnik skrit." + "tips": "Omogoči to možnost za nadaljevanje pretakanja, ko je predvajalnik skrit." + }, + "debug": { + "picker": "Izbira pretoka v načinu razhroščevanja ni na voljo. Ta pogled vedno uporablja pretok z vlogo 'detect'." } }, "cameraSettings": { - "title": "{{camera}} Nastavitve", - "cameraEnabled": "Kamera Omogočena", - "objectDetection": "Zaznavanje Objektov", + "title": "Nastavitve kamere {{camera}}", + "cameraEnabled": "Kamera omogočena", + "objectDetection": "Zaznavanje objektov", "recording": "Snemanje", - "snapshots": "Slike", - "audioDetection": "Zvočna Detekcija", - "transcription": "Zvočni Prepis", - "autotracking": "Samodejno Sledenje" + "snapshots": "Posnetki", + "audioDetection": "Zaznavanje zvoka", + "transcription": "Transkripcija zvoka", + "autotracking": "Samodejno sledenje" }, "history": { - "label": "Prikaži stare posnetke" + "label": "Prikaži zgodovinske posnetke" }, "effectiveRetainMode": { "modes": { "all": "Vse", "motion": "Gibanje", - "active_objects": "Aktivni Objekti" + "active_objects": "Aktivni objekti" }, "notAllTips": "Vaša konfiguracija hranjenja posnetkov {{source}} je nastavljena na način : {{effectiveRetainMode}}, zato bo ta posnetek na zahtevo hranil samo segmente z {{effectiveRetainModeName}}." }, "editLayout": { - "label": "Uredi Postavitev", + "label": "Uredi postavitev", "group": { - "label": "Uredi Skupino Kamere" + "label": "Uredi skupino kamer" }, - "exitEdit": "Izhod iz Urejanja" + "exitEdit": "Izhod iz urejanja" + }, + "snapshot": { + "takeSnapshot": "Prenesi takojšen posnetek", + "noVideoSource": "Vir videa za posnetek ni na voljo.", + "captureFailed": "Zajem posnetka ni uspel.", + "downloadStarted": "Prenos posnetka se je začel." + }, + "noCameras": { + "title": "Ni nastavljenih kamer", + "description": "Začni tako, da povežeš kamero s Frigate.", + "buttonText": "Dodaj kamero", + "restricted": { + "title": "Ni razpoložljivih kamer", + "description": "Nimaš dovoljenja za ogled kamer v tej skupini." + }, + "default": { + "title": "Ni nastavljenih kamer", + "description": "Začni tako, da povežeš kamero s Frigate.", + "buttonText": "Dodaj kamero" + }, + "group": { + "title": "V skupini ni kamer", + "description": "Ta skupina kamer nima dodeljenih ali omogočenih kamer.", + "buttonText": "Upravljaj skupine" + } } } diff --git a/web/public/locales/sl/views/recording.json b/web/public/locales/sl/views/recording.json index 20dacb6cc..5b9f4c5f2 100644 --- a/web/public/locales/sl/views/recording.json +++ b/web/public/locales/sl/views/recording.json @@ -5,8 +5,8 @@ "filters": "Filtri", "toast": { "error": { - "noValidTimeSelected": "Izbrano časovno obdobje ni veljavno", - "endTimeMustAfterStartTime": "Končen čas mora biti po začetnem času" + "noValidTimeSelected": "Izbrano ni nobeno veljavno časovno obdobje", + "endTimeMustAfterStartTime": "Čas konca mora biti po času začetka" } } } diff --git a/web/public/locales/sl/views/search.json b/web/public/locales/sl/views/search.json index 16224e2aa..a8fb14c60 100644 --- a/web/public/locales/sl/views/search.json +++ b/web/public/locales/sl/views/search.json @@ -1,31 +1,31 @@ { "search": "Iskanje", "savedSearches": "Shranjena iskanja", - "searchFor": "Iskanje za {{inputValue}}", + "searchFor": "Išči: {{inputValue}}", "button": { - "clear": "Izbriši iskanje", + "clear": "Počisti iskanje", "save": "Shrani iskanje", "delete": "Izbriši shranjeno iskanje", - "filterInformation": "Informacije o filtru", - "filterActive": "Aktivirani filtri" + "filterInformation": "Informacije o filtrih", + "filterActive": "Aktivni filtri" }, "filter": { "label": { "cameras": "Kamere", "labels": "Oznake", "zones": "Območja", - "sub_labels": "Podoznake", - "search_type": "Tip iskanja", + "sub_labels": "Pod-oznake", + "search_type": "Vrsta iskanja", "time_range": "Časovni razpon", "before": "Pred", "after": "Po", - "min_score": "Najmanj točk", - "max_score": "Največ točk", + "min_score": "Najnižja ocena", + "max_score": "Najvišja ocena", "recognized_license_plate": "Prepoznana registrska tablica", "has_clip": "Ima posnetek", "max_speed": "Najvišja hitrost", "min_speed": "Najnižja hitrost", - "has_snapshot": "Ima sliko", + "has_snapshot": "Ima sliko (snapshot)", "attributes": "Atributi" }, "searchType": { @@ -34,40 +34,40 @@ }, "toast": { "error": { - "beforeDateBeLaterAfter": "Datum »pred« mora biti poznejši od datuma »po«.", - "afterDatebeEarlierBefore": "Datum »po« mora biti zgodnejši od datuma »pred«.", - "minScoreMustBeLessOrEqualMaxScore": "Polje 'Najmanj točk' mora biti manjše ali enako polju 'Največ točk'.", - "maxScoreMustBeGreaterOrEqualMinScore": "Polje 'Največ točk' mora biti večje ali enako polju 'Najmanj točk'.", - "maxSpeedMustBeGreaterOrEqualMinSpeed": "Polje 'Najvišja hitrost' mora biti večje ali enako polju 'Najnižja hitrost'.", - "minSpeedMustBeLessOrEqualMaxSpeed": "Polje 'Najnižja hitrost' mora biti manjše ali enako 'Najvišji hitrosti'." + "beforeDateBeLaterAfter": "Datum 'Pred' mora biti poznejši od datuma 'Po'.", + "afterDatebeEarlierBefore": "Datum 'Po' mora biti zgodnejši od datuma 'Pred'.", + "minScoreMustBeLessOrEqualMaxScore": "Najnižja ocena mora biti manjša ali enaka najvišji oceni.", + "maxScoreMustBeGreaterOrEqualMinScore": "Najvišja ocena mora biti večja ali enaka najnižji oceni.", + "maxSpeedMustBeGreaterOrEqualMinSpeed": "Najvišja hitrost mora biti večja ali enaka najnižji hitrosti.", + "minSpeedMustBeLessOrEqualMaxSpeed": "Najnižja hitrost mora biti manjša ali enaka najvišji hitrosti." } }, "tips": { - "title": "Kako uporabljati besedilne filtre", + "title": "Kako uporabljati tekstovne filtre", "desc": { - "text": "Filtri vam pomagajo zožati rezultate iskanja. Tukaj je, kako jih uporabiti v vnosnem polju:", - "step1": "Vnesite ime ključa filtra, ki mu sledi dvopičje (npr. »kamere:«).", - "step2": "Izberite vrednost iz predlogov, ali vpišite svojo.", - "step3": "Uporabite več filtrov tako, da jih dodate enega za drugim s presledkom vmes.", - "step4": "Datumski filtri uporabljajo format: {{DateFormat}}.", - "step5": "Časovni filter uporablja format: {{exampleTime}}.", - "step6": "Filter izbrišete s klikom na 'x' poleg njih.", + "text": "Filtri ti pomagajo zožiti rezultate iskanja. Takole jih uporabiš v vnosnem polju:", + "step1": "Vnesi ime ključa filtra, ki mu sledi dvopičje (npr. \"cameras:\").", + "step2": "Izberi vrednost iz predlogov ali vnesi svojo.", + "step3": "Uporabiš lahko več filtrov hkrati tako, da jih dodaš enega za drugim s presledkom vmes.", + "step4": "Datumski filtri (before: in after:) uporabljajo format {{DateFormat}}.", + "step5": "Filter časovnega razpona uporablja format {{exampleTime}}.", + "step6": "Filtre odstraniš s klikom na 'x' poleg njih.", "exampleLabel": "Primer:" } }, "header": { - "currentFilterType": "Filtriraj vrednosti", + "currentFilterType": "Vrednosti filtrov", "noFilters": "Filtri", "activeFilters": "Aktivni filtri" } }, - "trackedObjectId": "ID sledečega objekta", + "trackedObjectId": "ID sledenega objekta", "similaritySearch": { - "title": "Iskanje podobnosti", - "active": "Iskanje podobnosti je aktivno", - "clear": "Izbriši iskanje podobnosti" + "title": "Iskanje po podobnosti", + "active": "Iskanje po podobnosti je aktivno", + "clear": "Počisti iskanje po podobnosti" }, "placeholder": { - "search": "Iskanje …" + "search": "Išči…" } } diff --git a/web/public/locales/sl/views/settings.json b/web/public/locales/sl/views/settings.json index dedb2be0f..2f695e0ae 100644 --- a/web/public/locales/sl/views/settings.json +++ b/web/public/locales/sl/views/settings.json @@ -1,180 +1,422 @@ { "documentTitle": { "default": "Nastavitve - Frigate", - "authentication": "Nastavitve preverjanja pristnosti - Frigate", + "authentication": "Nastavitve avtentikacije - Frigate", "camera": "Nastavitve kamere - Frigate", "notifications": "Nastavitve obvestil - Frigate", "masksAndZones": "Urejevalnik mask in območij - Frigate", - "object": "Odpravljanje napak - Frigate", - "general": "Nastavitve UI - Frigate", - "frigatePlus": "Frigate+ Nastavitve - Frigate", - "enrichments": "Nastavitve Obogatitev - Frigate", - "motionTuner": "Nastavitev gibanja - Frigate", - "cameraManagement": "Upravljaj kamere - Frigate", - "cameraReview": "Nastavitve pregleda kamer – Frigate" + "object": "Razhroščevanje - Frigate", + "general": "Nastavitve profila - Frigate", + "frigatePlus": "Nastavitve Frigate+ - Frigate", + "enrichments": "Nastavitve obogatenih podatkov - Frigate", + "motionTuner": "Prilagajanje zaznavanja gibanja - Frigate", + "cameraManagement": "Upravljanje kamer - Frigate", + "cameraReview": "Nastavitve pregleda kamer - Frigate", + "globalConfig": "Globalna konfiguracija - Frigate", + "cameraConfig": "Konfiguracija kamere - Frigate", + "maintenance": "Vzdrževanje - Frigate" }, "menu": { "ui": "Uporabniški vmesnik", "enrichments": "Obogatitve", - "cameras": "Nastavitve Kamere", - "masksAndZones": "Maske / Cone", + "cameras": "Konfiguracija kamer", + "masksAndZones": "Maske / Območja", "debug": "Razhroščevanje", "users": "Uporabniki", "notifications": "Obvestila", "frigateplus": "Frigate+", - "motionTuner": "Nastavitev Gibanja", - "triggers": "Prožilniki", + "motionTuner": "Nastavljalnik gibanja", + "triggers": "Sprožilci", "cameraManagement": "Upravljanje", "cameraReview": "Pregled", - "roles": "Vloge" + "roles": "Vloge", + "general": "Splošno", + "globalConfig": "Globalna konfiguracija", + "system": "Sistem", + "integrations": "Integracije", + "profileSettings": "Nastavitve profila", + "globalDetect": "Zaznavanje objektov", + "globalRecording": "Snemanje", + "globalSnapshots": "Posnetki (snapshots)", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Zaznavanje gibanja", + "globalObjects": "Objekti", + "globalReview": "Pregled", + "globalAudioEvents": "Zvočni dogodki", + "globalLivePlayback": "Predvajanje v živo", + "globalTimestampStyle": "Slog časovne značke", + "systemDatabase": "Podatkovna baza", + "systemTls": "TLS", + "systemAuthentication": "Avtentikacija", + "systemNetworking": "Omrežje", + "systemProxy": "Proxy", + "systemUi": "Uporabniški vmesnik", + "systemLogging": "Beleženje (logging)", + "systemEnvironmentVariables": "Okoljske spremenljivke", + "systemTelemetry": "Telemetrija", + "systemBirdseye": "Birdseye", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "Strojna oprema detektorja", + "systemDetectionModel": "Model zaznavanja", + "systemMqtt": "MQTT", + "integrationSemanticSearch": "Semantično iskanje", + "integrationGenerativeAi": "Generativna UI", + "integrationFaceRecognition": "Prepoznava obrazov", + "integrationLpr": "Prepoznava registrskih tablic", + "integrationObjectClassification": "Klasifikacija objektov", + "integrationAudioTranscription": "Transkripcija zvoka", + "cameraDetect": "Zaznavanje objektov", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "Snemanje", + "cameraSnapshots": "Posnetki (snapshots)", + "cameraMotion": "Zaznavanje gibanja", + "cameraObjects": "Objekti", + "cameraConfigReview": "Pregled", + "cameraAudioEvents": "Zvočni dogodki", + "cameraAudioTranscription": "Transkripcija zvoka", + "cameraNotifications": "Obvestila", + "cameraLivePlayback": "Predvajanje v živo", + "cameraBirdseye": "Birdseye", + "cameraFaceRecognition": "Prepoznava obrazov", + "cameraLpr": "Prepoznava registrskih tablic", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "Uporabniški vmesnik kamere", + "cameraTimestampStyle": "Slog časovne značke", + "cameraMqtt": "Kamera MQTT", + "mediaSync": "Sinhronizacija medijev", + "regionGrid": "Mreža regij" }, "masksAndZones": { "zones": { "point_one": "{{count}} točka", - "point_two": "{{count}} točki", - "point_few": "{{count}} točke", - "point_other": "{{count}} točk" + "point_two": "", + "point_few": "", + "point_other": "{{count}} točke", + "label": "Območja", + "documentTitle": "Uredi območje - Frigate", + "desc": { + "title": "Območja (Zones) ti omogočajo določitev specifičnih delov slike, da lahko ugotoviš, ali se objekt nahaja v določenem predelu.", + "documentation": "Dokumentacija" + }, + "add": "Dodaj območje", + "edit": "Uredi območje", + "clickDrawPolygon": "Klikni za risanje poligona na sliki.", + "name": { + "title": "Ime", + "inputPlaceHolder": "Vnesi ime…", + "tips": "Ime mora imeti vsaj 2 znaka, vsaj eno črko in ne sme biti enako imenu kamere ali drugega območja na tej kameri." + }, + "enabled": { + "title": "Omogočeno", + "description": "Ali je to območje aktivno v konfiguracijski datoteki. Če je onemogočeno, ga ni mogoče vklopiti preko MQTT. Onemogočena območja sistem med delovanjem prezre." + }, + "inertia": { + "title": "Vztrajnost (Inertia)", + "desc": "Določa, v koliko zaporednih sličicah mora biti objekt v območju, da se šteje, da je v njem. Privzeto: 3" + }, + "loiteringTime": { + "title": "Čas zadrževanja", + "desc": "Določa minimalni čas v sekundah, ki ga mora objekt preživeti v območju, da se to aktivira. Privzeto: 0" + }, + "objects": { + "title": "Objekti", + "desc": "Seznam objektov, ki veljajo za to območje." + }, + "allObjects": "Vsi objekti", + "speedEstimation": { + "title": "Ocena hitrosti", + "desc": "Omogoči ocenjevanje hitrosti za objekte v tem območju. Območje mora imeti natanko 4 točke.", + "lineADistance": "Razdalja linije A ({{unit}})", + "lineBDistance": "Razdalja linije B ({{unit}})", + "lineCDistance": "Razdalja linije C ({{unit}})", + "lineDDistance": "Razdalja linije D ({{unit}})" + }, + "speedThreshold": { + "title": "Prag hitrosti ({{unit}})", + "desc": "Določa minimalno hitrost, da se objekt upošteva v tem območju.", + "toast": { + "error": { + "pointLengthError": "Ocena hitrosti je bila onemogočena za to območje. Območja z oceno hitrosti morajo imeti natanko 4 točke.", + "loiteringTimeError": "Območij s časom zadrževanja nad 0 ne bi smeli uporabljati skupaj z oceno hitrosti." + } + } + }, + "toast": { + "success": "Območje ({{zoneName}}) je bilo shranjeno." + } }, "objectMasks": { "point_one": "{{count}} točka", - "point_two": "{{count}} točki", - "point_few": "{{count}} točke", - "point_other": "{{count}} točk" + "point_two": "", + "point_few": "", + "point_other": "{{count}} točke", + "label": "Maske objektov", + "documentTitle": "Uredi masko objekta - Frigate", + "desc": { + "title": "Maske za filtre objektov se uporabljajo za filtriranje lažnih pozitivnih rezultatov za določen tip objekta glede na lokacijo.", + "documentation": "Dokumentacija" + }, + "add": "Dodaj masko objekta", + "edit": "Uredi masko objekta", + "context": "Maske za filtre objektov se uporabljajo za filtriranje lažnih pozitivnih rezultatov za določen tip objekta glede na lokacijo.", + "clickDrawPolygon": "Klikni za risanje poligona na sliki.", + "name": { + "title": "Ime", + "description": "Opcijsko prijazno ime za to masko objekta.", + "placeholder": "Vnesi ime..." + }, + "objects": { + "title": "Objekti", + "desc": "Tip objekta, ki velja za to masko.", + "allObjectTypes": "Vsi tipi objektov" + }, + "toast": { + "success": { + "title": "{{polygonName}} je bila shranjena.", + "noName": "Maska objekta je bila shranjena." + } + } }, "motionMasks": { "point_one": "{{count}} točka", - "point_two": "{{count}} točki", - "point_few": "{{count}} točke", - "point_other": "{{count}} točk" + "point_two": "", + "point_few": "", + "point_other": "{{count}} točke", + "label": "Maska gibanja", + "documentTitle": "Uredi masko gibanja - Frigate", + "desc": { + "title": "Maske gibanja se uporabljajo za preprečevanje neželenih vrst gibanja, ki bi sprožile zaznavanje. Preveč maskiranja bo otežilo sledenje objektom.", + "documentation": "Dokumentacija" + }, + "add": "Nova maska gibanja", + "edit": "Uredi masko gibanja", + "defaultName": "Maska gibanja {{number}}", + "context": { + "title": "Maske gibanja preprečujejo, da bi npr. veje dreves ali časovne značke sprožile zaznavanje. Uporabljaj jih zelo varčno, saj preveč mask oteži sledenje objektom." + }, + "clickDrawPolygon": "Klikni za risanje poligona na sliki.", + "name": { + "title": "Ime", + "description": "Opcijsko prijazno ime za to masko gibanja.", + "placeholder": "Vnesi ime..." + }, + "polygonAreaTooLarge": { + "title": "Maska gibanja prekriva {{polygonArea}} % slike kamere. Velike maske niso priporočljive.", + "tips": "Maske gibanja ne preprečujejo zaznavanja objektov. Namesto tega uporabi zahtevano območje (zone)." + }, + "toast": { + "success": { + "title": "{{polygonName}} je bila shranjena.", + "noName": "Maska gibanja je bila shranjena." + } + } + }, + "filter": { + "all": "Vse maske in območja" + }, + "restart_required": "Potreben ponovni zagon (sprememba mask/območij)", + "disabledInConfig": "Element je onemogočen v konfiguracijski datoteki", + "toast": { + "success": { + "copyCoordinates": "Koordinate za {{polyName}} so kopirane v odložišče." + }, + "error": { + "copyCoordinatesFailed": "Koordinat ni bilo mogoče kopirati v odložišče." + } + }, + "motionMaskLabel": "Maska gibanja {{number}}", + "objectMaskLabel": "Maska objekta {{number}}", + "form": { + "zoneName": { + "error": { + "mustBeAtLeastTwoCharacters": "Ime območja mora imeti vsaj 2 znaka.", + "mustNotBeSameWithCamera": "Ime območja ne sme biti enako imenu kamere.", + "alreadyExists": "Območje s tem imenom za to kamero že obstaja.", + "mustNotContainPeriod": "Ime območja ne sme vsebovati pik.", + "hasIllegalCharacter": "Ime območja vsebuje neveljavne znake.", + "mustHaveAtLeastOneLetter": "Ime območja mora vsebovati vsaj eno črko." + } + }, + "distance": { + "error": { + "text": "Razdalja mora biti večja ali enaka 0.1.", + "mustBeFilled": "Za oceno hitrosti morajo biti izpolnjena vsa polja za razdaljo." + } + }, + "inertia": { + "error": { + "mustBeAboveZero": "Vztrajnost (inertia) mora biti večja od 0." + } + }, + "loiteringTime": { + "error": { + "mustBeGreaterOrEqualZero": "Čas zadrževanja mora biti večji ali enak 0." + } + }, + "speed": { + "error": { + "mustBeGreaterOrEqualTo": "Prag hitrosti mora biti večji ali enak 0.1." + } + }, + "polygonDrawing": { + "type": { + "zone": "območje", + "motion_mask": "maska gibanja", + "object_mask": "maska objekta" + }, + "removeLastPoint": "Odstrani zadnjo točko", + "reset": { + "label": "Počisti vse točke" + }, + "snapPoints": { + "true": "Pripni točke (Snap)", + "false": "Brez pripenjanja točk" + }, + "delete": { + "title": "Potrdi izbris", + "desc": "Ali si prepričan, da želiš izbrisati {{type}} {{name}}?", + "success": "{{name}} je bil izbrisan." + }, + "error": { + "mustBeFinished": "Risanje poligona mora biti zaključeno pred shranjevanjem." + } + } + }, + "masks": { + "enabled": { + "title": "Omogočeno", + "description": "Ali je ta maska omogočena v konfiguracijski datoteki. Če je onemogočena, je ni mogoče vklopiti preko MQTT." + } } }, "dialog": { "unsavedChanges": { - "title": "Imate neshranjene spremembe.", - "desc": "Ali želite shraniti spremembe, preden nadaljujete?" + "title": "Imaš neshranjene spremembe.", + "desc": "Želiš shraniti spremembe, preden nadaljuješ?" } }, "cameraSetting": { "camera": "Kamera", - "noCamera": "Brez Kamere" + "noCamera": "Ni kamere" }, "general": { - "title": "Nastavitve Uporabniškega Vmesnika", + "title": "Nastavitve profila", "liveDashboard": { - "title": "Nadzorna plošča (v živo)", + "title": "Nadzorna plošča v živo", "automaticLiveView": { "label": "Samodejni pogled v živo", - "desc": "Samodejno preklopite na pogled kamere v živo, ko je zaznana aktivnost. Če onemogočite to možnost, se statične slike kamere na nadzorni plošči v živo posodobijo le enkrat na minuto." + "desc": "Samodejno preklopi na pogled v živo, ko je zaznana aktivnost. Če to onemogočiš, se bodo statične slike kamer na nadzorni plošči osvežile le enkrat na minuto." }, "playAlertVideos": { - "label": "Predvajajte opozorilne videoposnetke", - "desc": "Privzeto se nedavna opozorila na nadzorni plošči predvajajo kot kratki ponavljajoči videoposnetki . To možnost onemogočite, če želite, da se v tej napravi/brskalniku prikaže samo statična slika nedavnih opozoril." + "label": "Predvajaj videe opozoril", + "desc": "Privzeto se zadnja opozorila predvajajo kot kratki ponavljajoči se videi. Onemogoči to možnost, če želiš na tej napravi/v brskalniku videti le statično sliko zadnjih opozoril." }, "displayCameraNames": { "label": "Vedno prikaži imena kamer", - "desc": "Imena kamer vedno prikaži kot žeton v večkamernem nadzornem pogledu v živo." + "desc": "Vedno prikaži imena kamer v znački na nadzorni plošči z več kamerami." }, "liveFallbackTimeout": { - "label": "Časovna omejitev povratka (fallback) v live playerju", - "desc": "Ko je visokokakovostni tok v živo kamere nedosegljiv, preklopi na način z nizko pasovno širino po toliko sekundah. Privzeto: 3." + "label": "Časovna omejitev za preklop predvajalnika", + "desc": "Če visokokakovostni tok kamere ni na voljo, po toliko sekundah preklopi na način nizke pasovne širine. Privzeto: 3." } }, "storedLayouts": { - "title": "Sharnjene Postavitve", - "desc": "Postaviteve kamer v skupini kamer je mogoče povleči/prilagoditi. Položaji so shranjeni v lokalnem pomnilniku vašega brskalnika.", - "clearAll": "Počisti Vse Postavitve" + "title": "Shranjene postavitve", + "desc": "Postavitev kamer v skupini lahko spreminjaš z vlečenjem ali spreminjanjem velikosti. Položaji so shranjeni v lokalni shrambi tvojega brskalnika.", + "clearAll": "Počisti vse postavitve" }, "cameraGroupStreaming": { - "title": "Nastavitve Pretakanja Skupine Kamer", - "desc": "Nastavitve pretakanja za vsako skupino kamer so shranjene v lokalnem pomnilniku vašega brskalnika.", - "clearAll": "Počisti Vse Nastavitve Pretakanja" + "title": "Nastavitve pretakanja skupin kamer", + "desc": "Nastavitve pretakanja za vsako skupino kamer so shranjene v lokalni shrambi tvojega brskalnika.", + "clearAll": "Počisti vse nastavitve pretakanja" }, "recordingsViewer": { - "title": "Pregledovalnik Posnetkov", + "title": "Pregledovalnik posnetkov", "defaultPlaybackRate": { - "label": "Privzeta Hitrost Predvajanja", - "desc": "Privzeta Hitrost Predvajanja za Shranjene Posnetke." + "label": "Privzeta hitrost predvajanja", + "desc": "Privzeta hitrost predvajanja za posnetke." } }, "calendar": { "title": "Koledar", "firstWeekday": { "label": "Prvi dan v tednu", - "desc": "Dan, na katerega se začnejo tedni v koledarju za preglede.", + "desc": "Dan, s katerim se začne teden na koledarju pregledov.", "sunday": "Nedelja", "monday": "Ponedeljek" } }, "toast": { "success": { - "clearStoredLayout": "Shranjena postavitev za {{cameraName}} je bila izbrisana", - "clearStreamingSettings": "Nastavitve pretakanja za vse skupine kamer so bile izbrisane." + "clearStoredLayout": "Postavitev za {{cameraName}} je počiščena", + "clearStreamingSettings": "Nastavitve pretakanja za vse skupine kamer so počiščene." }, "error": { - "clearStoredLayoutFailed": "Shranjene postavitve ni bilo mogoče izbrisati: {{errorMessage}}", - "clearStreamingSettingsFailed": "Nastavitev pretakanja ni bilo mogoče izbrisati: {{errorMessage}}" + "clearStoredLayoutFailed": "Čiščenje shranjene postavitve ni uspelo: {{errorMessage}}", + "clearStreamingSettingsFailed": "Čiščenje nastavitev pretakanja ni uspelo: {{errorMessage}}" } } }, "enrichments": { - "title": "Nastavitve Obogatitve", - "unsavedChanges": "Neshranjene Spremembe Nastavitev Obogatitev", + "title": "Nastavitve obogatenih podatkov", + "unsavedChanges": "Neshranjene spremembe nastavitev obogatenih podatkov", "birdClassification": { "title": "Klasifikacija ptic", - "desc": "Klasifikacija ptic identificira znane ptice z uporabo kvantiziranega Tensorflow modela. Ko je znana ptica prepoznana, se njeno splošno ime doda kot podoznaka. Te informacije so vključene v uporabniški vmesnik, filtre in obvestila." + "desc": "Klasifikacija ptic identificira znane ptice s pomočjo kvantiziranega modela Tensorflow. Ko je znana ptica prepoznana, se njeno običajno ime doda kot pod-oznaka. Ti podatki so vključeni v vmesniku, filtrih in obvestilih." }, "semanticSearch": { - "title": "Semantično Iskanje", - "desc": "Semantično iskanje v Frigate vam omogoča iskanje sledenih objektov znotraj vaših pregledov, pri čemer lahko uporabite izvorno sliko, uporabniško določen besedilni opis ali samodejno ustvarjen opis.", + "title": "Semantično iskanje", + "desc": "Semantično iskanje v Frigate ti omogoča iskanje sledenih objektov z uporabo same slike, tvojega opisa ali samodejno generiranega opisa.", "readTheDocumentation": "Preberi Dokumentacijo", "reindexNow": { - "label": "Ponovno Indeksiraj Zdaj", - "desc": "Ponovno indeksiranje bo regeneriralo vdelave (embeddings) za vse sledene objekte. Ta postopek se izvaja v ozadju in lahko zelo obremeni vaš procesor ter traja precej časa, odvisno od števila sledenih objektov, ki jih imate.", - "confirmTitle": "Potrdi Ponovno Indeksiranje", - "confirmDesc": "Ali ste prepričani, da želite ponovno indeksirati vse vdelave (embeddings) sledenih objektov? Ta postopek se bo izvajal v ozadju, vendar lahko zelo obremeni vaš procesor in traja kar nekaj časa. Napredek si lahko ogledate na strani Razišči.", - "confirmButton": "Ponovno Indeksiranje", + "label": "Ponovno indeksiraj zdaj", + "desc": "Ponovno indeksiranje bo regeneriralo vdelave (embeddings) za vse sledene objekte. Proces teče v ozadju, lahko močno obremeni procesor in traja nekaj časa, odvisno od števila objektov.", + "confirmTitle": "Potrdi ponovno indeksiranje", + "confirmDesc": "Ali si prepričan, da želiš ponovno indeksirati vse vdelave sledenih objektov? Proces bo tekel v ozadju, lahko močno obremeni procesor in traja dlje časa. Napredek lahko spremljaš na strani 'Razišči'.", + "confirmButton": "Ponovno indeksiraj", "success": "Ponovno indeksiranje se je uspešno začelo.", - "alreadyInProgress": "Ponovno indeksiranje je že v teku.", - "error": "Ponovnega indeksiranja ni bilo mogoče začeti: {{errorMessage}}" + "alreadyInProgress": "Ponovno indeksiranje že poteka.", + "error": "Začetek ponovnega indeksiranja ni uspel: {{errorMessage}}" }, "modelSize": { - "label": "Velikost Modela", - "desc": "Velikost modela, uporabljenega za vdelave (embeddings) semantičnih iskanj.", + "label": "Velikost modela", + "desc": "Velikost modela, ki se uporablja za vdelave semantičnega iskanja.", "small": { "title": "majhen", - "desc": "Uporaba načina small uporablja kvantizirano različico modela, ki porabi manj RAM-a in deluje hitreje na procesorju z zelo zanemarljivo razliko v kakovosti vdelave (embedding)." + "desc": "Uporaba majhnega modela uporablja kvantizirano različico, ki zasede manj RAM-a in teče hitreje na procesorju, ob zanemarljivi razliki v kakovosti." }, "large": { "title": "velik", - "desc": "Uporaba možnosti large uporablja celoten model Jina in se bo, če je mogoče, samodejno izvajal na grafičnem procesorju." + "desc": "Uporaba velikega modela uporablja celoten model Jina in bo samodejno tekla na GPU, če je ta na voljo." } } }, "faceRecognition": { - "title": "Prepoznavanje Obrazov", - "desc": "Prepoznavanje obrazov omogoča, da se ljudem dodelijo imena, in ko Frigate prepozna njihov obraz, se detekciji dodeli ime kot podoznako. Te informacije so vključene v uporabniški vmesnik, filtre in obvestila.", + "title": "Prepoznava obrazov", + "desc": "Prepoznava obrazov omogoča dodeljevanje imen osebam; ko je obraz prepoznan, Frigate ime osebe doda kot pod-oznako. Ti podatki so vidni v vmesniku, filtrih in obvestilih.", "readTheDocumentation": "Preberi Dokumentacijo", "modelSize": { - "label": "Velikost Modela", - "desc": "Velikost modela, uporabljenega za prepoznavanje obrazov.", + "label": "Velikost modela", + "desc": "Velikost modela za prepoznavo obrazov.", "small": { "title": "majhen", - "desc": "Uporaba small uporablja model vdelave (embedding) obrazov FaceNet, ki učinkovito deluje na večini procesorjev." + "desc": "Uporaba majhnega modela uporablja model FaceNet, ki učinkovito teče na večini procesorjev." }, "large": { "title": "velik", - "desc": "Uporaba large uporablja model vdelave (embedding) obrazov ArcFace in se bo samodejno zagnala na grafičnem procesorju, če bo to mogoče." + "desc": "Uporaba velikega modela uporablja model ArcFace in bo samodejno tekla na GPU, če je ta na voljo." } } }, "licensePlateRecognition": { - "title": "Prepoznavanje Registrskih Tablic", - "desc": "Frigate lahko prepozna registrske tablice na vozilih in samodejno doda zaznane znake v polje recognized_license_plate ali znano ime kot podoznako objektom tipa car. Pogost primer uporabe je lahko branje registrskih tablic avtomobilov, ki se ustavijo na dovozu, ali avtomobilov, ki se peljejo mimo po ulici.", + "title": "Prepoznava registrskih tablic", + "desc": "Frigate lahko prepozna registrske tablice na vozilih in samodejno doda prepoznane znake v polje 'recognized_license_plate' ali znano ime kot pod-oznako za objekte vrste avto. Tipičen primer uporabe je branje tablic na dovozu ali na ulici.", "readTheDocumentation": "Preberi Dokumentacijo" }, - "restart_required": "Potreben je ponovni zagon (Nastavitve Obogatitve so bile spremenjene)", + "restart_required": "Potreben ponovni zagon (sprememba nastavitev obogatenih podatkov)", "toast": { - "success": "Nastavitve Obogatitev so shranjene. Znova zaženite Frigate, da uveljavite spremembe.", + "success": "Nastavitve obogatenih podatkov so shranjene. Ponovno zaženi Frigate, da uveljaviš spremembe.", "error": "Shranjevanje sprememb konfiguracije ni uspelo: {{errorMessage}}" } }, @@ -221,31 +463,31 @@ "title": "Dodaj kamero", "description": "Sledi spodnjim korakom, da dodaš novo kamero v svojo namestitev Frigate.", "steps": { - "nameAndConnection": "Ime & Zbirka", + "nameAndConnection": "Ime in povezava", "streamConfiguration": "Konfiguracija pretoka", - "validationAndTesting": "Uverjanje in testiranje", - "probeOrSnapshot": "Preverba ali posnetek" + "validationAndTesting": "Potrditev in testiranje", + "probeOrSnapshot": "Preverjanje ali slika" }, "save": { - "success": "Kamera {{cameraName}} je bila uspešno shranjena.", - "failure": "Napaka pri shranjevanju {{cameraName}}." + "success": "Nova kamera {{cameraName}} je bila uspešno shranjena.", + "failure": "Napaka pri shranjevanju kamere {{cameraName}}." }, "testResultLabels": { - "resolution": "Resolucija", + "resolution": "Ločljivost", "video": "Video", "audio": "Zvok", "fps": "FPS" }, "commonErrors": { - "noUrl": "Prosimo, vnesite veljaven URL pretoka", - "testFailed": "Preizkus pretoka ni uspel: {{error}}" + "noUrl": "Prosim, navedi veljaven URL pretoka", + "testFailed": "Test pretoka ni uspel: {{error}}" }, "step1": { - "description": "Vnesite podatke o kameri in izberite, ali želite kamero zaznati samodejno ali ročno izbrati blagovno znamko.", + "description": "Vnesi podrobnosti o kameri in izberi samodejno preverjanje ali ročno izbiro znamke.", "cameraName": "Ime kamere", - "cameraNamePlaceholder": "npr. sprednja_vrata ali Pregled zadnjega dvorišča", + "cameraNamePlaceholder": "npr. vhodna_vrata ali Zadnje dvorisce", "host": "Gostitelj/IP naslov", - "port": "Vrata", + "port": "Vrata (Port)", "username": "Uporabniško ime", "usernamePlaceholder": "Opcijsko", "password": "Geslo", @@ -253,10 +495,10 @@ "selectTransport": "Izberi transportni protokol", "cameraBrand": "Znamka kamere", "selectBrand": "Izberi znamko kamere za predlogo URL-ja", - "customUrl": "Po meri URL za pretok", + "customUrl": "URL pretoka po meri", "brandInformation": "Informacije o znamki", - "brandUrlFormat": "Za kamere z obliko URL-ja RTSP: {{exampleUrl}}", - "customUrlPlaceholder": "rtsp://uporabniškoime:geslo@gostitelj:vrata/pot", + "brandUrlFormat": "Za kamere z RTSP URL formatom: {{exampleUrl}}", + "customUrlPlaceholder": "rtsp://uporabnik:geslo@gostitelj:vrata/pot", "testConnection": "Preveri povezavo", "testSuccess": "Test povezave uspešen!", "testFailed": "Test povezave neuspešen. Prosim preveri vnos in poskusi še enkrat.", @@ -269,25 +511,25 @@ "noSnapshot": "Ni mogoče pridobiti posnetka iz nastavljenega pretoka." }, "errors": { - "nameLength": "Ime kamere mora biti 64 znakov ali manj", + "nameLength": "Ime kamere mora imeti 64 znakov ali manj", "invalidCharacters": "Ime kamere vsebuje neveljavne znake", "nameExists": "Ime kamere že obstaja", - "customUrlRtspRequired": "URL-ji po meri se morajo začeti z \"rtsp://\". Za ne-RTSP pretoke kamer je potrebna ročna nastavitev.", + "customUrlRtspRequired": "URL-ji po meri se morajo začeti z \"rtsp://\". Za pretoke, ki niso RTSP, je potrebna ročna konfiguracija.", "brands": { "reolink-rtsp": "RTSP za Reolink ni priporočen. \nV nastavitvah kamere omogočite HTTP in znova zaženite čarovnika." }, - "brandOrCustomUrlRequired": "Izberi znamko kamere z gostiteljem/IP-naslovom ali izberi 'Drugo' z lastnim URL-jem", - "nameRequired": "Potrebno je ime kamere" + "brandOrCustomUrlRequired": "Izberi znamko kamere s podatki o gostitelju ali izberi 'Drugo' z URL-jem po meri", + "nameRequired": "Ime kamere je obvezno" }, "connectionSettings": "Nastavitve povezave", - "detectionMethod": "Način zaznavanja pretoka", - "onvifPort": "ONVIF Vrata", - "probeMode": "Preverba kamere", - "manualMode": "Ročni izbor", - "detectionMethodDescription": "Preveri kamero prek ONVIF (če je podprto), da najde URL-je tokov kamere, ali ročno izberi znamko kamere za uporabo vnaprej določenih URL-jev. Za vnos poljubnega RTSP URL-ja izberi ročni način in izberi »Drugo«.", - "onvifPortDescription": "Za kamere ki podpirajo ONVIF, je to ponavadi 80 ali 8080.", - "useDigestAuth": "Uporabi digest avtentikacijo", - "useDigestAuthDescription": "Uporabi HTTP digest autentikacijo za ONVIF. Nekatere kamere lahko zahtevajo poseben uporabniški uporabnik/geslo samo za ONVIF, namesto standardnega administratorskega računa." + "detectionMethod": "Metoda zaznavanja pretoka", + "onvifPort": "ONVIF vrata", + "probeMode": "Preveri kamero (Probe)", + "manualMode": "Ročna izbira", + "detectionMethodDescription": "Preveri kamero preko protokola ONVIF (če je podprt), da najdeš URL-je pretoka, ali ročno izberi znamko kamere za uporabo vnaprej določenih URL-jev. Za vnos lastnega RTSP URL-ja izberi ročno metodo in nato \"Drugo\".", + "onvifPortDescription": "Za kamere, ki podpirajo ONVIF, so to običajno vrata 80 ali 8080.", + "useDigestAuth": "Uporabi 'digest' avtentikacijo", + "useDigestAuthDescription": "Uporabi HTTP digest avtentikacijo za ONVIF. Nekatere kamere zahtevajo posebno ONVIF uporabniško ime/geslo namesto običajnega skrbniškega računa." }, "step2": { "streamUrlPlaceholder": "rtsp://uporabniskoime:geslo@gostitelj:vrata/pot", @@ -303,10 +545,10 @@ "audio": "Zvok" }, "testStream": "Preveri povezavo", - "testSuccess": "Test povezave je bil uspešen!", - "testFailed": "Test povezave ni bil uspešen. Preverite nastavitve in poskusite znova.", - "testFailedTitle": "Test spodletel", - "connected": "Povezan", + "testSuccess": "Povezava je uspešno vzpostavljena!", + "testFailed": "Povezava ni uspela. Preveri vnose in poskusi znova.", + "testFailedTitle": "Test ni uspel", + "connected": "Povezano", "notConnected": "Ni povezave", "featuresTitle": "Funkcije", "go2rtc": "Zmanjšaj povezave na kamero", @@ -321,42 +563,42 @@ "title": "Značilnosti pretoka", "description": "Uporabi ponovno pretakanje go2rtc, da zmanjšaš število povezav s kamero." }, - "description": "Preveri kamero za razpoložljive video tokove ali ročno nastavi konfiguracijo glede na izbrani način detekcije.", - "streamDetails": "Podrobnosti toka", - "probing": "Preveri kamere...", - "retry": "Ponovno poskusi", + "description": "Preveri razpoložljive pretoke kamere ali ročno nastavi parametre glede na izbrano metodo.", + "streamDetails": "Podrobnosti pretoka", + "probing": "Preverjanje kamere...", + "retry": "Poskusi znova", "testing": { - "probingMetadata": "Preverjanje metapodatkov kamere…", - "fetchingSnapshot": "Pridobivanje posnetka kamere…" + "probingMetadata": "Preverjanje metapodatkov kamere...", + "fetchingSnapshot": "Pridobivanje slike s kamere..." }, - "probeFailed": "Ni uspelo preveriti kamere: {{error}}", - "probingDevice": "Preverjam napravo…", + "probeFailed": "Preverjanje kamere ni uspelo: {{error}}", + "probingDevice": "Preverjanje naprave...", "probeSuccessful": "Preverjanje uspešno", "probeError": "Napaka pri preverjanju", "probeNoSuccess": "Preverjanje neuspešno", - "deviceInfo": "Podatki naprave", + "deviceInfo": "Podatki o napravi", "manufacturer": "Proizvajalec", "model": "Model", - "firmware": "Firmware", + "firmware": "Strojna programska oprema (Firmware)", "profiles": "Profili", - "ptzSupport": "PTZ Podpora", + "ptzSupport": "Podpora za PTZ", "autotrackingSupport": "Podpora za samodejno sledenje", "presets": "Prednastavitve", - "rtspCandidates": "RTSP Kandidati", - "rtspCandidatesDescription": "Naslednji RTSP URL-ji so bili zaznani med preverjanjem kamere. Preizkusi povezavo, da si ogledaš metapodatke toka.", - "noRtspCandidates": "Med preverjanjem kamere niso bili najdeni nobeni RTSP URL-ji. Vaše poverilnice so morda napačne, kamera morda ne podpira ONVIF ali pa metoda, ki se uporablja za pridobivanje RTSP URL-jev, ni podprta. Vrnite se nazaj in ročno vnesite RTSP URL.", - "candidateStreamTitle": "Kandidat{{number}}", + "rtspCandidates": "Možni RTSP URL-ji", + "rtspCandidatesDescription": "Preverjanje je našlo naslednje RTSP URL-je. Testiraj povezavo za ogled metapodatkov pretoka.", + "noRtspCandidates": "Preverjanje ni našlo nobenega RTSP URL-ja. Morda so poverilnice napačne ali pa kamera ne podpira ONVIF. Pojdi nazaj in vnesi RTSP URL ročno.", + "candidateStreamTitle": "Kandidat {{number}}", "useCandidate": "Uporabi", "uriCopy": "Kopiraj", "uriCopied": "URI kopiran v odložišče", - "testConnection": "Preveri Povezavo", - "toggleUriView": "Klikni za preklop na celoten prikaz URI-ja", + "testConnection": "Testiraj povezavo", + "toggleUriView": "Klikni za preklop polnega URI pogleda", "errors": { - "hostRequired": "Zahtevan je gostitelj / IP-naslov" + "hostRequired": "Naslov gostitelja/IP je obvezen" } }, "step3": { - "description": "Konfigurirajte vloge tokov in dodajte dodatne tokove za vašo kamero.", + "description": "Nastavi vloge pretokov in dodaj morebitne dodatne pretoke za svojo kamero.", "validationTitle": "Preverjanje pretoka", "connectAllStreams": "Poveži vse pretoke", "reconnectionSuccess": "Ponovna povezava uspešna.", @@ -385,42 +627,42 @@ "audioCodecGood": "Audio kodek je {{codec}}.", "resolutionHigh": "Resolucija {{resolution}} lahko povzroči povečano porabo virov." }, - "streamsTitle": "Toki Kamer", - "addStream": "Dodaj Pretok", + "streamsTitle": "Pretoki kamere", + "addStream": "Dodaj pretok", "addAnotherStream": "Dodaj še en pretok", - "streamUrl": "URL Pretoka", + "streamUrl": "URL pretoka", "streamUrlPlaceholder": "rtsp://uporabnik:geslo@gostitelj:vrata/pot", - "selectStream": "Izberi Pretok", - "searchCandidates": "Išči kandidate...", - "noStreamFound": "Noben pretok ni bil najden", + "selectStream": "Izberi pretok", + "searchCandidates": "Išči med kandidati...", + "noStreamFound": "Pretok ni bil najden", "url": "URL", - "resolution": "Resolucija", - "selectResolution": "Izberi resolucijo", - "quality": "Kvaliteta", - "selectQuality": "Izberi kvaliteto", + "resolution": "Ločljivost", + "selectResolution": "Izberi ločljivost", + "quality": "Kakovost", + "selectQuality": "Izberi kakovost", "roleLabels": { - "detect": "Zaznavanje predmetov", + "detect": "Zaznavanje objektov", "record": "Snemanje", "audio": "Zvok" }, - "testStream": "Preveri Povezave", + "testStream": "Testiraj povezavo", "testSuccess": "Test pretoka uspešen!", - "testFailed": "Test pretoka neuspešen", - "testFailedTitle": "Test neuspešen", - "connected": "Povezan", + "testFailed": "Test pretoka ni uspel", + "testFailedTitle": "Test ni uspel", + "connected": "Povezano", "notConnected": "Ni povezave", - "featuresTitle": "Zmožnosti", - "go2rtc": "Zmanjšaj število povezav na kamero", - "detectRoleWarning": "Vsaj en tok mora imeti vlogo »detect«, da lahko nadaljuješ.", + "featuresTitle": "Funkcije", + "go2rtc": "Zmanjšaj število povezav do kamere", + "detectRoleWarning": "Vsaj en pretok mora imeti vlogo \"detect\" za nadaljevanje.", "rolesPopover": { "title": "Vloge pretokov", - "detect": "Glavni pretok za zaznavanje predmetov.", - "record": "Shranjuje segmente video vira glede na nastavitve konfiguracije.", - "audio": "Tok za detekcijo na osnovi zvoka." + "detect": "Glavni vir za zaznavanje objektov.", + "record": "Shranjuje dele videa glede na nastavitve.", + "audio": "Vir za zaznavanje na podlagi zvoka." }, "featuresPopover": { - "title": "Zmožnosti Toka", - "description": "Uporabi go2rtc restreaming, da zmanjšaš število povezav do kamere." + "title": "Funkcije pretoka", + "description": "Uporabi go2rtc za ponovno pretakanje (restreaming), da zmanjšaš obremenitev kamere." } }, "step4": { @@ -429,93 +671,884 @@ "disconnectStream": "Prekini povezavo", "estimatedBandwidth": "Ocenjena pasovna širina", "roles": "Vloge", - "connectAllStreams": "Poveži Vse Pretoke", - "reconnectionSuccess": "Ponovna Povezava Uspešna.", - "reconnectionPartial": "Nekateri pretoki se niso ponovno povezali.", + "connectAllStreams": "Poveži vse pretoke", + "reconnectionSuccess": "Ponovna povezava uspešna.", + "reconnectionPartial": "Nekaterih pretokov ni bilo mogoče ponovno povezati.", "streamUnavailable": "Predogled pretoka ni na voljo", "reload": "Ponovno naloži", "connecting": "Povezovanje...", "streamTitle": "Pretok {{number}}", "valid": "Veljaven", - "failed": "Spodletel", + "failed": "Spodletelo", "notTested": "Ni testirano", - "description": "Končna validacija in analiza pred shranjevanjem nove kamere. Pred shranjevanjem povežite vsak tok." + "description": "Končna potrditev in analiza pred shranjevanjem. Pred shranjevanjem poveži vsak pretok.", + "validationTitle": "Potrditev pretoka", + "ffmpegModule": "Uporabi način za združljivost pretoka", + "ffmpegModuleDescription": "Če se pretok po več poskusih ne naloži, poskusi omogočiti to možnost. Frigate bo uporabil modul ffmpeg z go2rtc, kar lahko izboljša združljivost z nekaterimi kamerami.", + "none": "Brez", + "error": "Napaka", + "streamValidated": "Pretok {{number}} je bil uspešno potrjen", + "streamValidationFailed": "Potrditev pretoka {{number}} ni uspela", + "saveAndApply": "Shrani novo kamero", + "saveError": "Neveljavna konfiguracija. Preveri svoje nastavitve.", + "issues": { + "title": "Potrditev pretoka", + "videoCodecGood": "Video kodek je {{codec}}.", + "audioCodecGood": "Zvočni kodek je {{codec}}.", + "resolutionHigh": "Ločljivost {{resolution}} lahko povzroči povečano porabo virov.", + "resolutionLow": "Ločljivost {{resolution}} je morda prenizka za zanesljivo zaznavanje majhnih objektov.", + "noAudioWarning": "Na tem pretoku ni zaznanega zvoka, posnetki bodo brez zvoka.", + "audioCodecRecordError": "Za zvok v posnetkih je potreben zvočni kodek AAC.", + "audioCodecRequired": "Zvočni pretok je potreben za podporo zaznavanja zvoka.", + "restreamingWarning": "Zmanjševanje povezav do kamere za snemanje lahko rahlo poveča porabo procesorja.", + "brands": { + "reolink-rtsp": "Reolink RTSP ni priporočljiv. Omogoči HTTP v nastavitvah kamere in ponovno zaženi čarovnika.", + "reolink-http": "Za Reolink HTTP pretoke je priporočljiva uporaba FFmpeg. Omogoči 'Način za združljivost pretoka' za ta pretok." + }, + "dahua": { + "substreamWarning": "Podpretok 1 je zaklenjen na nizko ločljivost. Veliko kamer Dahua / Amcrest podpira dodatne podpretoce, ki jih je treba omogočiti v nastavitvah kamere. Priporočljivo je, da preveriš in uporabiš te pretoke, če so na voljo." + }, + "hikvision": { + "substreamWarning": "Podpretok 1 je zaklenjen na nizko ločljivost. Veliko kamer Hikvision podpira dodatne podpretoce, ki jih je treba omogočiti v nastavitvah kamere. Priporočljivo je, da preveriš in uporabiš te pretoke, če so na voljo." + } + } } }, "roles": { "toast": { "success": { - "userRolesUpdated_one": "{{count}} uporabnik, dodeljen tej vlogi, je bil posodobljen na »gledalec«, ki ima dostop do vseh kamer.", - "userRolesUpdated_two": "{{count}} uporabnika, dodeljena tej vlogi, sta bila posodobljena na »gledalec«, ki ima dostop do vseh kamer.", - "userRolesUpdated_few": "{{count}} uporabniki, dodeljeni tej vlogi, so bili posodobljeni na »gledalec«, ki ima dostop do vseh kamer.", - "userRolesUpdated_other": "{{count}} uporabnikov, dodeljenih tej vlogi, so bili posodobljeni na »gledalec«, ki ima dostop do vseh kamer." + "userRolesUpdated_one": "{{count}} uporabnik, ki je imel to vlogo, je bil posodobljen na vlogo 'viewer', ki ima dostop do vseh kamer.", + "userRolesUpdated_two": "", + "userRolesUpdated_few": "", + "userRolesUpdated_other": "{{count}} uporabniki, ki so imeli to vlogo, so bili posodobljeni na vlogo 'viewer', ki ima dostop do vseh kamer.", + "createRole": "Vloga {{role}} je bila uspešno ustvarjena", + "updateCameras": "Kamere za vlogo {{role}} so bile posodobljene", + "deleteRole": "Vloga {{role}} je bila uspešno izbrisana" + }, + "error": { + "createRoleFailed": "Ustvarjanje vloge ni uspelo: {{errorMessage}}", + "updateCamerasFailed": "Posodabljanje kamer ni uspelo: {{errorMessage}}", + "deleteRoleFailed": "Brisanje vloge ni uspelo: {{errorMessage}}", + "userUpdateFailed": "Posodabljanje vlog uporabnikov ni uspelo: {{errorMessage}}" + } + }, + "management": { + "title": "Upravljanje vlog gledalcev", + "desc": "Upravljaj z vlogami gledalcev po meri in njihovimi dovoljenji za dostop do kamer." + }, + "addRole": "Dodaj vlogo", + "table": { + "role": "Vloga", + "cameras": "Kamere", + "actions": "Dejanja", + "noRoles": "Ni najdenih vlog po meri.", + "editCameras": "Uredi kamere", + "deleteRole": "Izbriši vlogo" + }, + "dialog": { + "createRole": { + "title": "Ustvari novo vlogo", + "desc": "Dodaj novo vlogo in določi dovoljenja za dostop do kamer." + }, + "editCameras": { + "title": "Uredi kamere vloge", + "desc": "Posodobi dostop do kamer za vlogo {{role}}." + }, + "deleteRole": { + "title": "Izbriši vlogo", + "desc": "Tega dejanja ni mogoče razveljaviti. Vloga bo trajno izbrisana, vsi uporabniki s to vlogo pa bodo premaknjeni v vlogo 'viewer', ki ima dostop do vseh kamer.", + "warn": "Ali si prepričan, da želiš izbrisati vlogo {{role}}?", + "deleting": "Brisanje..." + }, + "form": { + "role": { + "title": "Ime vloge", + "placeholder": "Vnesi ime vloge", + "desc": "Dovoljene so le črke, številke, pike in podčrtaji.", + "roleIsRequired": "Ime vloge je obvezno", + "roleOnlyInclude": "Ime vloge lahko vsebuje le črke, številke, . ali _", + "roleExists": "Vloga s tem imenom že obstaja." + }, + "cameras": { + "title": "Kamere", + "desc": "Izberi kamere, do katerih ima ta vloga dostop. Izbrana mora biti vsaj ena kamera.", + "required": "Izbrati moraš vsaj eno kamoero." + } } } }, "triggers": { "toast": { "error": { - "createTriggerFailed": "Napaka pri ustvarjanju sprožilca: {{errorMessage}}" + "createTriggerFailed": "Ustvarjanje sprožilca ni uspelo: {{errorMessage}}", + "updateTriggerFailed": "Posodabljanje sprožilca ni uspelo: {{errorMessage}}", + "deleteTriggerFailed": "Brisanje sprožilca ni uspelo: {{errorMessage}}" }, "success": { - "deleteTrigger": "Sprožilec {{name}} je bil uspešno odstranjen.", + "deleteTrigger": "Sprožilec {{name}} je bil uspešno izbrisan.", "updateTrigger": "Sprožilec {{name}} je bil uspešno posodobljen.", "createTrigger": "Sprožilec {{name}} je bil uspešno ustvarjen." } }, "wizard": { "steps": { - "thresholdAndActions": "Mejne vrednosti in dejanja", - "configureData": "Nastavitve podatkov", + "thresholdAndActions": "Prag in dejanja", + "configureData": "Nastavitev podatkov", "nameAndType": "Ime in tip" }, "step3": { - "description": "Konfigurirajte mejno vrednost in dejanja za ta sprožilec." + "description": "Nastavi prag podobnosti in dejanja sprožilca." }, "step2": { - "description": "Nastavi vsebino, ki bo sprožila to dejanje." + "description": "Nastavi vsebino, ki bo aktivirala to dejanje." }, "step1": { - "description": "Konfigurirajte osnovne nastavitve sprožilca." + "description": "Nastavi osnovne parametre sprožilca." }, - "title": "Ustvarite sprožilec" + "title": "Ustvari sprožilec" }, "dialog": { "form": { "actions": { "error": { - "min": "Vsaj ena akcija mora biti izbrana." + "min": "Izbrano mora biti vsaj eno dejanje." }, - "desc": "Privzeto Frigate pošlje MQTT sporočilo za vse sprožilce. Podnalepke dodajo ime sprožilca oznaki objekta. Atributi so iskalni metapodatki, shranjeni ločeno v metapodatkih sledenega objekta.", - "title": "Akcije" + "desc": "Frigate privzeto pošlje MQTT sporočilo za vse sprožilce. 'Podoznake' dodajo ime sprožilca k oznaki objekta. 'Atributi' pa so metapodatki, ki se shranijo ločeno.", + "title": "Dejanja" }, "threshold": { "error": { - "max": "Mejna vrednost ne sme presegati 1", - "min": "Mena vrednost mora biti vsaj 0" + "max": "Prag je lahko največ 1", + "min": "Prag mora biti vsaj 0" }, - "desc": "Nastavite mejno vrednost podobnosti za ta sprožilec. Višja mejna vrednost pomeni, da je za sprožitev potrebna večja ujemanje.", - "title": "Mejna vrednost" + "desc": "Nastavi prag podobnosti. Višji prag pomeni, da je za sprožitev potrebno natančnejše ujemaje.", + "title": "Prag" }, "content": { "error": { - "required": "Vsebina je zahtevana." + "required": "Vsebina je obvezna." }, - "textDesc": "Vnesite besedilo, ki bo sprožilo to dejanje, ko bo zaznan opis podobnega sledenega objekta.", - "imageDesc": "Prikazanih je le zadnjih 100 sličic. Če ne najdete želene sličice, si oglejte starejše objekte v razdelku Razišči in tam nastavite sprožilec iz menija.", - "textPlaceholder": "Vnesite besedilo", - "imagePlaceholder": "Izberite sličico", + "textDesc": "Vnesi besedilo, ki bo sprožilo dejanje ob zaznavi podobnega opisa objekta.", + "imageDesc": "Prikazanih je le zadnjih 100 sličic. Če ne najdeš želene, preveri starejše objekte v zavihku 'Razišči' (Explore) in nastavi sprožilec tam prek menija.", + "textPlaceholder": "Vnesi besedilo", + "imagePlaceholder": "Izberi sličico", "title": "Vsebina" }, "type": { - "thumbnail": "Sproži, ko je zaznana podobna sličica sledenega objekta" + "thumbnail": "Sproži, ko je zaznana podobna sličica sledenega objekta", + "title": "Tip", + "placeholder": "Izberi tip sprožilca", + "description": "Sproži, ko je zaznan podoben opis sledenega objekta" + }, + "name": { + "title": "Ime", + "placeholder": "Poimenuj sprožilec", + "description": "Vnesi unikatno ime ali opis za identifikacijo tega sprožilca", + "error": { + "minLength": "Polje mora vsebovati vsaj 2 znaka.", + "invalidCharacters": "Polje lahko vsebuje le črke, številke, podčrtaje in vezaje.", + "alreadyExists": "Sprožilec s tem imenom za to kamero že obstaja." + } + }, + "enabled": { + "description": "Omogoči ali onemogoči ta sprožilec" } + }, + "createTrigger": { + "title": "Ustvari sprožilec", + "desc": "Ustvari sprožilec za kamero {{camera}}" + }, + "editTrigger": { + "title": "Uredi sprožilec", + "desc": "Uredi nastavitve sprožilca za kamero {{camera}}" + }, + "deleteTrigger": { + "title": "Izbriši sprožilec", + "desc": "Ali si prepričan, da želiš izbrisati sprožilec {{triggerName}}? Tega dejanja ni mogoče razveljaviti." } + }, + "documentTitle": "Sprožilci", + "semanticSearch": { + "title": "Semantično iskanje je onemogočeno", + "desc": "Za uporabo sprožilcev mora biti omogočeno semantično iskanje." + }, + "management": { + "title": "Sprožilci (Triggers)", + "desc": "Upravljaj sprožilce za kamero {{camera}}. Uporabi tip 'sličica' za sprožitev na podlagi podobnosti s sličico sledenega objekta, ali tip 'opis' za sprožitev na podlagi podobnosti besedilu, ki ga določiš." + }, + "addTrigger": "Dodaj sprožilec", + "table": { + "name": "Ime", + "type": "Tip", + "content": "Vsebina", + "threshold": "Prag", + "actions": "Dejanja", + "noTriggers": "Za to kamero ni nastavljenih sprožilcev.", + "edit": "Uredi", + "deleteTrigger": "Izbriši sprožilec", + "lastTriggered": "Zadnjič sproženo" + }, + "type": { + "thumbnail": "Sličica", + "description": "Opis" + }, + "actions": { + "notification": "Pošlji obvestilo", + "sub_label": "Dodaj podoznako", + "attribute": "Dodaj atribut" } }, "debug": { "zones": { - "title": "Cone" + "title": "Območja", + "desc": "Prikaži obrise vseh določenih območij" + }, + "title": "Razhroščevanje", + "detectorDesc": "Frigate uporablja tvoje detektorje ({{detectors}}) za zaznavanje objektov v video toku kamere.", + "desc": "Pogled za razhroščevanje prikazuje sledene objekte in njihovo statistiko v realnem času. Seznam objektov prikazuje povzetek zaznanih objektov s časovnim zamikom.", + "openCameraWebUI": "Odpri spletni vmesnik kamere {{camera}}", + "debugging": "Razhroščevanje", + "objectList": "Seznam objektov", + "noObjects": "Ni objektov", + "audio": { + "title": "Zvok", + "noAudioDetections": "Ni zaznav zvoka", + "score": "rezultat", + "currentRMS": "Trenutni RMS", + "currentdbFS": "Trenutni dbFS" + }, + "boundingBoxes": { + "title": "Okvirji (Bounding boxes)", + "desc": "Prikaži okvirje okoli sledenih objektov", + "colors": { + "label": "Barve okvirjev objektov", + "info": "
  • Ob zagonu se vsaki oznaki objekta dodeli svoja barva
  • Temno modra tanka črta pomeni, da objekt trenutno ni zaznan
  • Siva tanka črta pomeni, da je objekt zaznan kot mirujoč
  • Debela črta označuje objekt, ki mu sledi samodejno sledenje (če je omogočeno)
  • " + } + }, + "timestamp": { + "title": "Časovna značka", + "desc": "Prekrij sliko s časovno značko" + }, + "mask": { + "title": "Maske gibanja", + "desc": "Prikaži poligone mask gibanja" + }, + "motion": { + "title": "Okvirji gibanja", + "desc": "Prikaži okvirje okoli območij, kjer je zaznano gibanje", + "tips": "

    Okvirji gibanja


    Rdeči okvirji bodo prekrili dele slike, kjer se trenutno zaznava gibanje.

    " + }, + "regions": { + "title": "Regije", + "desc": "Prikaži okvir regije interesa, ki je poslana detektorju objektov", + "tips": "

    Okvirji regij


    Svetlo zeleni okvirji bodo prekrili območja interesa, ki so poslana v obdelavo detektorju objektov.

    " + }, + "paths": { + "title": "Poti", + "desc": "Prikaži pomembne točke poti sledenega objekta", + "tips": "

    Poti


    Črte in krogi prikazujejo pomembne točke, po katerih se je sledeni objekt premikal.

    " + }, + "objectShapeFilterDrawing": { + "title": "Risanje filtra oblike objekta", + "desc": "Nariši pravokotnik na sliki za prikaz podrobnosti o površini in razmerju", + "tips": "Omogoči to možnost, da na sliki narišeš pravokotnik in vidiš njegovo površino ter razmerje stranic. Te vrednosti lahko nato uporabiš za nastavitev filtrov oblike v konfiguraciji.", + "score": "Rezultat", + "ratio": "Razmerje", + "area": "Površina" } - } + }, + "saveAllPreview": { + "title": "Spremembe za shranjevanje", + "triggerLabel": "Preglej čakajoče spremembe", + "empty": "Ni čakajočih sprememb.", + "scope": { + "label": "Področje", + "global": "Globalno", + "camera": "Kamera: {{cameraName}}" + }, + "field": { + "label": "Polje" + }, + "value": { + "label": "Nova vrednost", + "reset": "Ponastavi" + } + }, + "cameraManagement": { + "title": "Upravljanje kamer", + "addCamera": "Dodaj novo kamero", + "deleteCamera": "Izbriši kamero", + "deleteCameraDialog": { + "title": "Izbriši kamero", + "description": "Brisanje kamere bo trajno odstranilo vse posnetke, sledene objekte in konfiguracijo za to kamero. Morebitne go2rtc pretoke, povezane s to kamero, bo morda še vedno treba odstraniti ročno.", + "selectPlaceholder": "Izberi kamero...", + "confirmTitle": "Ali si prepričan?", + "confirmWarning": "Brisanja kamere {{cameraName}} ni mogoče razveljaviti.", + "deleteExports": "Izbriši tudi izvožene posnetke za to kamero", + "confirmButton": "Trajno izbriši", + "success": "Kamera {{cameraName}} je bila uspešno izbrisana", + "error": "Brisanje kamere {{cameraName}} ni uspelo" + }, + "editCamera": "Uredi kamero:", + "selectCamera": "Izberi kamero", + "backToSettings": "Nazaj na nastavitve kamere", + "streams": { + "title": "Omogoči / Onemogoči kamere", + "enableLabel": "Omogočene kamere", + "enableDesc": "Začasno onemogoči omogočeno kamero do ponovnega zagona Frigate. Onemogočanje popolnoma ustavi obdelavo pretokov te kamere. Zaznavanje, snemanje in razhroščevanje ne bodo na voljo.
    Opomba: To ne onemogoči go2rtc ponovnega pretakanja.", + "disableLabel": "Onemogočene kamere", + "disableDesc": "Omogoči kamero, ki trenutno ni vidna v vmesniku in je onemogočena v konfiguraciji. Po omogočanju je potreben ponovni zagon Frigate.", + "enableSuccess": "Kamera {{cameraName}} je omogočena v konfiguraciji. Ponovno zaženi Frigate za uveljavitev sprememb." + }, + "cameraConfig": { + "add": "Dodaj kamero", + "edit": "Uredi kamero", + "description": "Nastavi parametre kamere, vključno z vhodnimi pretoki in vlogami.", + "name": "Ime kamere", + "nameRequired": "Ime kamere je obvezno", + "nameLength": "Ime kamere mora biti krajše od 64 znakov.", + "namePlaceholder": "npr. vhodna_vrata ali Zadnje dvorisce", + "enabled": "Omogočeno", + "ffmpeg": { + "inputs": "Vhodni pretoki", + "path": "Pot pretoka", + "pathRequired": "Pot pretoka je obvezna", + "pathPlaceholder": "rtsp://...", + "roles": "Vloge", + "rolesRequired": "Vsaj jedna vloga je obvezna", + "rolesUnique": "Vsaka vloga (audio, detect, record) je lahko dodeljena le enemu pretoku", + "addInput": "Dodaj vhodni pretok", + "removeInput": "Odstrani vhodni pretok", + "inputsRequired": "Vsaj en vhodni pretok je obvezen" + }, + "go2rtcStreams": "go2rtc pretoki", + "streamUrls": "URL-ji pretoka", + "addUrl": "Dodaj URL", + "addGo2rtcStream": "Dodaj go2rtc pretok", + "toast": { + "success": "Kamera {{cameraName}} je bila uspešno shranjena" + } + } + }, + "cameraReview": { + "title": "Nastavitve pregleda kamere", + "object_descriptions": { + "title": "Opisi objektov z generativno UI", + "desc": "Začasno omogoči/onemogoči opise objektov z generativno UI za to kamero do ponovnega zagona. Ko je onemogočeno, se za sledene objekte na tej kameri ne bodo zahtevali AI opisi." + }, + "review_descriptions": { + "title": "Opisi pregledov z generativno UI", + "desc": "Začasno omogoči/onemogoči opise pregledov z generativno UI za to kamero do ponovnega zagona. Ko je onemogočeno, se za elemente pregleda na tej kameri ne bodo zahtevali AI opisi." + }, + "review": { + "title": "Pregled", + "desc": "Začasno omogoči/onemogoči opozorila in zaznave za to kamero do ponovnega zagona. Ko je onemogočeno, se novi elementi za pregled ne bodo generirali. ", + "alerts": "Opozorila (Alerts) ", + "detections": "Zaznave (Detections) " + }, + "reviewClassification": { + "title": "Klasifikacija pregledov", + "desc": "Frigate razvršča elemente pregleda na Opozorila (Alerts) in Zaznave (Detections). Privzeto vsi objekti oseba in avto štejejo kot Opozorila. Razvrščanje lahko izboljšaš z določitvijo zahtevanih območij zanje.", + "noDefinedZones": "Za to kamero ni določenih območij (zones).", + "objectAlertsTips": "Vsi objekti {{alertsLabels}} na kameri {{cameraName}} bodo prikazani kot Opozorila.", + "zoneObjectAlertsTips": "Vsi objekti {{alertsLabels}}, zaznani v območju {{zone}} na kameri {{cameraName}}, bodo prikazani kot Opozorila.", + "objectDetectionsTips": "Vsi objekti {{detectionsLabels}}, ki niso razvrščeni, bodo na kameri {{cameraName}} prikazani kot Zaznave, ne glede na območje.", + "zoneObjectDetectionsTips": { + "text": "Vsi objekti {{detectionsLabels}}, ki niso razvrščeni v območju {{zone}} na kameri {{cameraName}}, bodo prikazani kot Zaznave.", + "notSelectDetections": "Vsi objekti {{detectionsLabels}}, zaznani v območju {{zone}} na kameri {{cameraName}}, ki niso razvrščeni kot Opozorila, bodo prikazani kot Zaznave ne glede na območje.", + "regardlessOfZoneObjectDetectionsTips": "Vsi objekti {{detectionsLabels}}, ki niso razvrščeni, bodo na kameri {{cameraName}} prikazani kot Zaznave ne glede na območje." + }, + "unsavedChanges": "Neshranjene spremembe klasifikacije pregledov za {{camera}}", + "selectAlertsZones": "Izberi območja za Opozorila", + "selectDetectionsZones": "Izberi območja za Zaznave", + "limitDetections": "Omeji zaznave na določena območja", + "toast": { + "success": "Konfiguracija klasifikacije pregledov je shranjena. Ponovno zaženi Frigate za uveljavitev sprememb." + } + } + }, + "motionDetectionTuner": { + "title": "Nastavljalnik zaznavanja gibanja", + "unsavedChanges": "Neshranjene spremembe nastavitev gibanja ({{camera}})", + "desc": { + "title": "Frigate uporablja zaznavanje gibanja kot prvi korak, da ugotovi, ali se v kadru dogaja kaj, kar bi bilo vredno preveriti z zaznavanjem objektov.", + "documentation": "Preberi vodič za nastavljanje gibanja" + }, + "Threshold": { + "title": "Prag (Threshold)", + "desc": "Vrednost praga določa, kolikšna sprememba svetilnosti piksla je potrebna, da se šteje za gibanje. Privzeto: 30" + }, + "contourArea": { + "title": "Površina konture", + "desc": "Vrednost površine konture določa, katere skupine spremenjenih pikslov se štejejo za gibanje. Privzeto: 10" + }, + "improveContrast": { + "title": "Izboljšaj kontrast", + "desc": "Izboljša kontrast za temnejše prizore. Privzeto: VKLOPLJENO" + }, + "toast": { + "success": "Nastavitve gibanja so bile shranjene." + } + }, + "users": { + "title": "Uporabniki", + "management": { + "title": "Upravljanje uporabnikov", + "desc": "Upravljaj z uporabniškimi računi te namestitve Frigate." + }, + "addUser": "Dodaj uporabnika", + "updatePassword": "Ponastavi geslo", + "toast": { + "success": { + "createUser": "Uporabnik {{user}} je bil uspešno ustvarjen", + "deleteUser": "Uporabnik {{user}} je bil uspešno izbrisan", + "updatePassword": "Geslo je bilo uspešno posodobljeno.", + "roleUpdated": "Vloga za uporabnika {{user}} je bila posodobljena" + }, + "error": { + "setPasswordFailed": "Shranjevanje gesla ni uspelo: {{errorMessage}}", + "createUserFailed": "Ustvarjanje uporabnika ni uspelo: {{errorMessage}}", + "deleteUserFailed": "Brisanje uporabnika ni uspelo: {{errorMessage}}", + "roleUpdateFailed": "Posodobitev vloge ni uspela: {{errorMessage}}" + } + }, + "table": { + "username": "Uporabniško ime", + "actions": "Dejanja", + "role": "Vloga", + "noUsers": "Uporabnikov ni bilo mogoče najti.", + "changeRole": "Spremeni vlogo uporabnika", + "password": "Ponastavi geslo", + "deleteUser": "Izbriši uporabnika" + }, + "dialog": { + "form": { + "user": { + "title": "Uporabniško ime", + "desc": "Dovoljene so samo črke, številke, pike in podčrtaji.", + "placeholder": "Vnesi uporabniško ime" + }, + "password": { + "title": "Geslo", + "placeholder": "Vnesi geslo", + "show": "Prikaži geslo", + "hide": "Skrij geslo", + "confirm": { + "title": "Potrdi geslo", + "placeholder": "Ponovno vnesi geslo" + }, + "strength": { + "title": "Moč gesla: ", + "weak": "Šibko", + "medium": "Srednje", + "strong": "Močno", + "veryStrong": "Zelo močno" + }, + "requirements": { + "title": "Zahteve za geslo:", + "length": "Vsaj 12 znakov" + }, + "match": "Gesli se ujemata", + "notMatch": "Gesli se ne ujemata" + }, + "newPassword": { + "title": "Novo geslo", + "placeholder": "Vnesi novo geslo", + "confirm": { + "placeholder": "Ponovno vnesi novo geslo" + } + }, + "currentPassword": { + "title": "Trenutno geslo", + "placeholder": "Vnesi svoje trenutno geslo" + }, + "usernameIsRequired": "Uporabniško ime je obvezno", + "passwordIsRequired": "Geslo je obvezno" + }, + "createUser": { + "title": "Ustvari novega uporabnika", + "desc": "Dodaj nov uporabniški račun in določi vlogo za dostop do delov vmesnika Frigate.", + "usernameOnlyInclude": "Uporabniško ime lahko vsebuje le črke, številke, . ali _", + "confirmPassword": "Prosim, potrdi geslo" + }, + "deleteUser": { + "title": "Izbriši uporabnika", + "desc": "Tega dejanja ni mogoče razveljaviti. S tem boš trajno izbrisal uporabniški račun in vse povezane podatke.", + "warn": "Ali si prepričan, da želiš izbrisati uporabnika {{username}}?" + }, + "passwordSetting": { + "cannotBeEmpty": "Geslo ne more biti prazno", + "doNotMatch": "Gesli se ne ujemata", + "currentPasswordRequired": "Trenutno geslo je obvezno", + "incorrectCurrentPassword": "Trenutno geslo je napačno", + "passwordVerificationFailed": "Preverjanje gesla ni uspelo", + "updatePassword": "Posodobi geslo za {{username}}", + "setPassword": "Nastavi geslo", + "desc": "Ustvari močno geslo za zaščito tega računa.", + "multiDeviceWarning": "Vse ostale naprave, kjer si prijavljen, bodo zahtevale ponovno prijavo v roku {{refresh_time}}.", + "multiDeviceAdmin": "Takojšnjo ponovno avtentikacijo vseh uporabnikov lahko izsiliš tudi z rotacijo JWT ključa." + }, + "changeRole": { + "title": "Spremeni vlogo uporabnika", + "select": "Izberi vlogo", + "desc": "Posodobi dovoljenja za uporabnika {{username}}", + "roleInfo": { + "intro": "Izberi ustrezno vlogo za tega uporabnika:", + "admin": "Administrator", + "adminDesc": "Popoln dostop do vseh funkcij.", + "viewer": "Gledalec (Viewer)", + "viewerDesc": "Omejeno na nadzorne plošče v živo, preglede, raziskovanje in izvoze.", + "customDesc": "Vloga po meri s specifičnim dostopom do kamer." + } + } + } + }, + "notification": { + "title": "Obvestila", + "notificationSettings": { + "title": "Nastavitve obvestil", + "desc": "Frigate lahko pošilja potisna obvestila (push) neposredno na tvojo napravo, ko teče v brskalniku ali je nameščen kot PWA." + }, + "notificationUnavailable": { + "title": "Obvestila niso na voljo", + "desc": "Spletna potisna obvestila zahtevajo varno povezavo (https://…). To je omejitev brskalnika. Za uporabo obvestil dostopaj do Frigate prek varne povezave." + }, + "globalSettings": { + "title": "Globalne nastavitve", + "desc": "Začasno prekini obvestila za določene kamere na vseh registriranih napravah." + }, + "email": { + "title": "E-pošta", + "placeholder": "npr. primer@email.com", + "desc": "Veljaven e-poštni naslov je obvezen in bo uporabljen za obveščanje v primeru težav s potisno storitvijo." + }, + "cameras": { + "title": "Kamere", + "noCameras": "Ni razpoložljivih kamer", + "desc": "Izberi, za katere kamere želiš omogočiti obvestila." + }, + "deviceSpecific": "Nastavitve za to napravo", + "registerDevice": "Registriraj to napravo", + "unregisterDevice": "Odstrani to napravo", + "sendTestNotification": "Pošlji testno obvestilo", + "unsavedRegistrations": "Neshranjene registracije obvestil", + "unsavedChanges": "Neshranjene spremembe obvestil", + "active": "Obvestila so aktivna", + "suspended": "Obvestila odložena do {{time}}", + "suspendTime": { + "suspend": "Prekini", + "5minutes": "Prekini za 5 minut", + "10minutes": "Prekini za 10 minut", + "30minutes": "Prekini za 30 minut", + "1hour": "Prekini za 1 uro", + "12hours": "Prekini za 12 ur", + "24hours": "Prekini za 24 ur", + "untilRestart": "Prekini do ponovnega zagona" + }, + "cancelSuspension": "Prekliči prekinitev", + "toast": { + "success": { + "registered": "Registracija na obvestila je bila uspešna. Preden se lahko pošljejo kakršna koli obvestila (vključno s testnim), je potreben ponovni zagon Frigate.", + "settingSaved": "Nastavitve obvestil so shranjene." + }, + "error": { + "registerFailed": "Registracija obvestil ni uspela." + } + } + }, + "frigatePlus": { + "title": "Nastavitve Frigate+", + "description": "Frigate+ je naročniška storitev, ki omogoča dostop do dodatnih funkcij, vključno z modeli za zaznavanje objektov po meri, ki so naučeni na tvojih lastnih podatkih. Tukaj lahko upravljaš s svojimi Frigate+ modeli.", + "cardTitles": { + "api": "API", + "currentModel": "Trenutni model", + "otherModels": "Ostali modeli", + "configuration": "Konfiguracija" + }, + "apiKey": { + "title": "Frigate+ API ključ", + "validated": "API ključ je zaznan in potrjen", + "notValidated": "API ključ ni zaznan ali ni veljaven", + "desc": "API ključ omogoča integracijo s storitvijo Frigate+.", + "plusLink": "Preberi več o Frigate+" + }, + "snapshotConfig": { + "title": "Konfiguracija slik (Snapshots)", + "desc": "Pošiljanje v Frigate+ zahteva, da sta v tvoji konfiguraciji omogočena tako snapshots kot clean_copy.", + "cleanCopyWarning": "Nekatere kamere imajo omogočene slike, vendar onemogočeno možnost 'clean copy'. Da bi lahko pošiljal slike v Frigate+, moraš v nastavitvah omogočiti clean_copy.", + "table": { + "camera": "Kamera", + "snapshots": "Slike (Snapshots)", + "cleanCopySnapshots": "clean_copy slike" + } + }, + "modelInfo": { + "title": "Informacije o modelu", + "modelType": "Tip modela", + "trainDate": "Datum učenja", + "baseModel": "Osnovni model", + "plusModelType": { + "baseModel": "Osnovni model", + "userModel": "Prilagojen model (Fine-Tuned)" + }, + "supportedDetectors": "Podprti detektorji", + "cameras": "Kamere", + "loading": "Nalaganje informacij o modelu…", + "error": "Nalaganje informacij o modelu ni uspelo", + "availableModels": "Razpoložljivi modeli", + "loadingAvailableModels": "Nalaganje razpoložljivih modelov…", + "modelSelect": "Tukaj lahko izbereš svoje modele, ki so na voljo v Frigate+. Izbereš lahko le modele, ki so združljivi s tvojo trenutno konfiguracijo detektorja." + }, + "unsavedChanges": "Neshranjene spremembe Frigate+ nastavitev", + "restart_required": "Potreben ponovni zagon (sprememba Frigate+ modela)", + "toast": { + "success": "Nastavitve Frigate+ so bile shranjene. Ponovno zaženi Frigate za uveljavitev sprememb.", + "error": "Napaka pri shranjevanju konfiguracije: {{errorMessage}}" + } + }, + "detectionModel": { + "plusActive": { + "title": "Upravljanje modelov Frigate+", + "label": "Trenutni vir modela", + "description": "Ta instanca uporablja Frigate+ model. Model lahko izbereš ali spremeniš v nastavitvah Frigate+.", + "goToFrigatePlus": "Pojdi na nastavitve Frigate+", + "showModelForm": "Ročno nastavi model" + } + }, + "maintenance": { + "title": "Vzdrževanje", + "sync": { + "title": "Sinhronizacija medijev", + "desc": "Frigate redno čisti medije glede na tvoje nastavitve hrambe. Občasno se lahko pojavijo osirotele datoteke. Uporabi to funkcijo za ročno odstranitev datotek, na katere baza podatkov ne referencira več.", + "started": "Sinhronizacija medijev se je začela.", + "alreadyRunning": "Sinhronizacija že poteka.", + "error": "Zagon sinhronizacije ni uspel", + "currentStatus": "Stanje", + "jobId": "ID opravila", + "startTime": "Čas začetka", + "endTime": "Čas konca", + "statusLabel": "Status", + "results": "Rezultati", + "errorLabel": "Napaka", + "mediaTypes": "Tipi medijev", + "allMedia": "Vsi mediji", + "dryRun": "Preizkus (Dry Run)", + "dryRunEnabled": "Nobena datoteka ne bo izbrisana", + "dryRunDisabled": "Datoteke bodo izbrisane", + "force": "Prisili (Force)", + "forceDesc": "Prezri varnostni prag in dokončaj sinhronizacijo, tudi če bi bilo izbrisanih več kot 50 % datotek.", + "running": "Sinhronizacija poteka...", + "start": "Zaženi sinhronizacijo", + "inProgress": "Sinhronizacija poteka. Ta stran je trenutno onemogočena.", + "status": { + "queued": "V čakalni vrsti", + "running": "Poteka", + "completed": "Zaključeno", + "failed": "Spodletelo", + "notRunning": "Ne teče" + }, + "resultsFields": { + "filesChecked": "Preverjene datoteke", + "orphansFound": "Najdenih sirot", + "orphansDeleted": "Izbrisanih sirot", + "aborted": "Prekinjeno. Brisanje bi preseglo varnostni prag.", + "error": "Napaka", + "totals": "Skupaj" + }, + "event_snapshots": "Slike sledenih objektov", + "event_thumbnails": "Sličice sledenih objektov", + "review_thumbnails": "Sličice pregledov", + "previews": "Predogledi", + "exports": "Izvozi", + "recordings": "Posnetki" + }, + "regionGrid": { + "title": "Mreža regij (Region Grid)", + "desc": "Mreža regij je optimizacija, s katero se sistem nauči, kje se na posamezni kameri običajno pojavljajo objekti določenih velikosti. To omogoča učinkovitejše določanje regij zaznavanja. Mreža se sčasoma zgradi samodejno.", + "clear": "Počisti mrežo regij", + "clearConfirmTitle": "Počisti mrežo regij", + "clearConfirmDesc": "Čiščenje mreže regij ni priporočljivo, razen če si pred kratkim spremenil velikost modela detektorja ali fizično premaknil kamero in imaš težave s sledenjem. Mreža se bo samodejno zgradila nazaj. Za uveljavitev je potreben ponovni zagon Frigate.", + "clearSuccess": "Mreža regij je bila uspešno očiščena", + "clearError": "Čiščenje mreže regij ni uspelo", + "restartRequired": "Za uveljavitev sprememb mreže regij je potreben ponovni zagon" + } + }, + "configForm": { + "global": { + "title": "Globalne nastavitve", + "description": "Te nastavitve veljajo za vse kamere, razen če so preglase v nastavitvah posamezne kamere." + }, + "camera": { + "title": "Nastavitve kamere", + "description": "Te nastavitve veljajo le za to kamero in preglasijo globalne nastavitve." + }, + "advancedSettingsCount": "Napredne nastavitve ({{count}})", + "advancedCount": "Napredno ({{count}})", + "showAdvanced": "Prikaži napredne nastavitve", + "tabs": { + "sharedDefaults": "Skupne privzete vrednosti", + "system": "Sistem", + "integrations": "Integracije" + }, + "additionalProperties": { + "keyLabel": "Ključ", + "valueLabel": "Vrednost", + "keyPlaceholder": "Nov ključ", + "remove": "Odstrani" + }, + "timezone": { + "defaultOption": "Uporabi časovni pas brskalnika" + }, + "roleMap": { + "empty": "Ni dodelitev vlog", + "roleLabel": "Vloga", + "groupsLabel": "Skupine", + "addMapping": "Dodaj dodelitev vloge", + "remove": "Odstrani" + }, + "ffmpegArgs": { + "preset": "Prednastavitev", + "manual": "Ročni argumenti", + "inherit": "Podeduj iz nastavitev kamere", + "selectPreset": "Izberi prednastavitev", + "manualPlaceholder": "Vnesi FFmpeg argumente" + }, + "cameraInputs": { + "itemTitle": "Tok (Stream) {{index}}" + }, + "restartRequiredField": "Potreben ponovni zagon", + "restartRequiredFooter": "Konfiguracija spremenjena - potreben ponovni zagon", + "sections": { + "detect": "Zaznavanje", + "record": "Snemanje", + "snapshots": "Slike (Snapshots)", + "motion": "Gibanje", + "objects": "Objekti", + "review": "Pregled", + "audio": "Zvok", + "notifications": "Obvestila", + "live": "Pogled v živo", + "timestamp_style": "Časovne značke", + "mqtt": "MQTT", + "database": "Baza podatkov", + "telemetry": "Telemetrija", + "auth": "Avtentikacija", + "tls": "TLS", + "proxy": "Proxy", + "go2rtc": "go2rtc", + "ffmpeg": "FFmpeg", + "detectors": "Detektorji", + "model": "Model", + "semantic_search": "Semantično iskanje", + "genai": "GenAI", + "face_recognition": "Prepoznava obrazov", + "lpr": "Prepoznava registrskih tablic", + "birdseye": "Birdseye" + }, + "detect": { + "title": "Nastavitve zaznavanja" + }, + "detectors": { + "title": "Nastavitve detektorjev", + "singleType": "Dovoljen je le en detektor tipa {{type}}.", + "keyRequired": "Ime detektorja je obvezno.", + "keyDuplicate": "Ime detektorja že obstaja.", + "noSchema": "Sheme detektorjev niso na voljo.", + "none": "Ni nastavljenih instanc detektorjev.", + "add": "Dodaj detektor" + }, + "record": { + "title": "Nastavitve snemanja" + }, + "snapshots": { + "title": "Nastavitve slik (Snapshots)" + }, + "motion": { + "title": "Nastavitve gibanja" + }, + "objects": { + "title": "Nastavitve objektov" + }, + "audioLabels": { + "summary": "Izbranih {{count}} oznak zvoka", + "empty": "Ni razpoložljivih oznak zvoka" + }, + "objectLabels": { + "summary": "Izbranih {{count}} tipov objektov", + "empty": "Ni razpoložljivih oznak objektov" + }, + "filters": { + "objectFieldLabel": "{{field}} za {{label}}" + }, + "zoneNames": { + "summary": "Izbrano: {{count}}", + "empty": "Ni razpoložljivih območij" + }, + "inputRoles": { + "summary": "Izbranih {{count}} vlog", + "empty": "Ni razpoložljivih vlog", + "options": { + "detect": "Zaznavanje (Detect)", + "record": "Snemanje (Record)", + "audio": "Zvok (Audio)" + } + }, + "review": { + "title": "Nastavitve pregleda" + }, + "audio": { + "title": "Nastavitve zvoka" + }, + "notifications": { + "title": "Nastavitve obvestil" + }, + "live": { + "title": "Nastavitve pogleda v živo" + }, + "timestamp_style": { + "title": "Nastavitve časovnih značk" + }, + "searchPlaceholder": "Išči..." + }, + "globalConfig": { + "title": "Globalna konfiguracija", + "description": "Nastavi globalne parametre, ki veljajo za vse kamere, razen če so preglasi.", + "toast": { + "success": "Globalne nastavitve so bile uspešno shranjene", + "error": "Shranjevanje globalnih nastavitev ni uspelo", + "validationError": "Validacija ni uspela" + } + }, + "cameraConfig": { + "title": "Konfiguracija kamere", + "description": "Nastavi parametre za posamezne kamere. Te nastavitve preglasijo globalne privzete vrednosti.", + "overriddenBadge": "Preglašeno", + "resetToGlobal": "Ponastavi na globalno", + "toast": { + "success": "Nastavitve kamere so bile uspešno shranjene", + "error": "Shranjevanje nastavitev kamere ni uspelo" + } + }, + "toast": { + "success": "Nastavitve so bile uspešno shranjene", + "applied": "Nastavitve so bile uspešno uveljavljene", + "successRestartRequired": "Nastavitve so shranjene. Ponovno zaženi Frigate, da uveljaviš spremembe.", + "error": "Shranjevanje nastavitev ni uspelo", + "validationError": "Validacija ni uspela: {{message}}", + "resetSuccess": "Ponastavljeno na globalne privzete vrednosti", + "resetError": "Ponastavitev nastavitev ni uspela", + "saveAllSuccess_one": "{{count}} sklop je bil uspešno shranjen.", + "saveAllSuccess_two": "", + "saveAllSuccess_few": "", + "saveAllSuccess_other": "Vseh {{count}} sklopov je bilo uspešno shranjenih.", + "saveAllPartial_one": "Shranjevanje uspelo za {{successCount}} od {{totalCount}} sklopa. {{failCount}} je spodletelo.", + "saveAllPartial_two": "", + "saveAllPartial_few": "", + "saveAllPartial_other": "Shranjevanje uspelo za {{successCount}} od {{totalCount}} sklopov. {{failCount}} je spodletelo.", + "saveAllFailure": "Shranjevanje vseh sklopov ni uspelo." + }, + "unsavedChanges": "Imaš neshranjene spremembe", + "confirmReset": "Potrdi ponastavitev", + "resetToDefaultDescription": "S tem boš vse nastavitve v tem sklopu ponastavil na njihove privzete vrednosti. Tega dejanja ni mogoče razveljaviti.", + "resetToGlobalDescription": "S tem boš nastavitve v tem sklopu ponastavil na globalne privzete vrednosti. Tega dejanja ni mogoče razveljaviti." } diff --git a/web/public/locales/sl/views/system.json b/web/public/locales/sl/views/system.json index 684492cf7..66dbc7827 100644 --- a/web/public/locales/sl/views/system.json +++ b/web/public/locales/sl/views/system.json @@ -1,14 +1,15 @@ { "documentTitle": { "cameras": "Statistika kamer - Frigate", - "storage": "Statistika prostora - Frigate", - "general": "Statistika - Frigate", + "storage": "Statistika shrambe - Frigate", + "general": "Splošna statistika - Frigate", "logs": { "frigate": "Frigate dnevniki - Frigate", "go2rtc": "Go2RTC dnevniki - Frigate", - "nginx": "Nginx dnevniki - Frigate" + "nginx": "Nginx dnevniki - Frigate", + "websocket": "Dnevniki sporočil - Frigate" }, - "enrichments": "Statistika Obogatitev - Frigate" + "enrichments": "Statistika obogatenih podatkov - Frigate" }, "logs": { "download": { @@ -17,11 +18,11 @@ "copy": { "label": "Kopiraj v odložišče", "success": "Dnevniki kopirani v odložišče", - "error": "Dnevnika ni bilo mogoče kopirati v odložišče" + "error": "Dnevnikov ni bilo mogoče kopirati" }, "type": { - "label": "Tip", - "timestamp": "Časovni žig", + "label": "Vrsta", + "timestamp": "Časovna značka", "message": "Sporočilo", "tag": "Oznaka" }, @@ -31,178 +32,222 @@ "fetchingLogsFailed": "Napaka pri pridobivanju dnevnikov: {{errorMessage}}", "whileStreamingLogs": "Napaka med pretakanjem dnevnikov: {{errorMessage}}" } + }, + "websocket": { + "label": "Sporočila", + "pause": "Premor", + "resume": "Nadaljuj", + "clear": "Počisti", + "filter": { + "all": "Vse teme", + "topics": "Teme", + "events": "Dogodki", + "reviews": "Pregledi", + "classification": "Klasifikacija", + "face_recognition": "Prepoznava obrazov", + "lpr": "Prepoznava tablic", + "camera_activity": "Aktivnost kamere", + "system": "Sistem", + "camera": "Kamera", + "all_cameras": "Vse kamere", + "cameras_count_one": "{{count}} kamera", + "cameras_count_other": "{{count}} kamer" + }, + "empty": "Ni še ujetih sporočil", + "expanded": { + "payload": "Tovor (payload)" + }, + "count": "{{count}} sporočil" } }, "storage": { "recordings": { "title": "Posnetki", - "tips": "Ta vrednost predstavlja velikost podatkovne zbirke posnetkov Frigate. Frigate ne spremlja velikost drugih datotek na disku.", - "earliestRecording": "Najstarejši posnetki:" + "tips": "Ta vrednost predstavlja skupno shrambo, ki jo zasedajo posnetki v podatkovni bazi Frigate. Frigate ne spremlja porabe shrambe za vse datoteke na tvojem disku.", + "earliestRecording": "Najstarejši razpoložljiv posnetek:" }, - "title": "Hramba", + "title": "Shramba", "overview": "Pregled", "cameraStorage": { - "title": "Hramba kamer", + "title": "Shramba kamer", "camera": "Kamera", - "unusedStorageInformation": "Informacija neporabljenega prostora", - "storageUsed": "Hramba", - "percentageOfTotalUsed": "Procent celote", + "unusedStorageInformation": "Informacije o neporabljeni shrambi", + "storageUsed": "Shramba", + "percentageOfTotalUsed": "Odstotek skupnega", "bandwidth": "Pasovna širina", "unused": { "title": "Neporabljeno", - "tips": "Ta vrednost ne predstavlja dejanske proste kapacitete za Frigate posnetke, če na disku shranjujete še druge datoteke. Frigate ne spremlja velikost drugih datotek na disku." + "tips": "Ta vrednost morda ne predstavlja natančno prostega prostora, ki je na voljo programu Frigate, če imaš na disku poleg posnetkov Frigate shranjene še druge datoteke. Frigate ne spremlja porabe shrambe izven svojih posnetkov." } }, "shm": { - "warning": "Trenutna SHM velikost {{total}}MB je premajhna. Povečajte jo na vsaj {{min_shm}}MB.", - "title": "SHM (deljen pomnilnik) razdelitev" + "warning": "Trenutna velikost SHM ({{total}} MB) je premajhna. Povečaj jo na vsaj {{min_shm}} MB.", + "title": "Dodelitev SHM (deljenega pomnilnika)", + "frameLifetime": { + "title": "Življenjska doba okvirja", + "description": "Vsaka kamera ima {{frames}} rež za okvirje v deljenem pomnilniku. Pri najvišji hitrosti sličic kamere je vsak okvir na voljo približno {{lifetime}} s, preden se prepiše." + } } }, "general": { "hardwareInfo": { - "npuMemory": "Pomnilnik NPE", - "title": "Podatki strojne opreme", - "gpuUsage": "Poraba GPE", - "gpuMemory": "Pomnilnik GPE", - "gpuEncoder": "GPE kodirnik", - "gpuDecoder": "GPE dekoder", + "npuMemory": "NPU pomnilnik", + "title": "Strojna oprema", + "gpuUsage": "Uporaba GPU", + "gpuMemory": "GPU pomnilnik", + "gpuEncoder": "GPU kodirnik", + "gpuDecoder": "GPU dekodirnik", "gpuInfo": { "vainfoOutput": { - "title": "Vainfo izpis", - "returnCode": "Povratna koda: {{code}}", - "processOutput": "Izpis procesa:", + "title": "Izhod Vainfo", + "returnCode": "Vrnjena koda: {{code}}", + "processOutput": "Izhod procesa:", "processError": "Napaka procesa:" }, "nvidiaSMIOutput": { - "title": "Nvidia SMI izpis", + "title": "Izhod Nvidia SMI", "name": "Ime: {{name}}", "driver": "Gonilnik: {{driver}}", - "cudaComputerCapability": "Zmožnost računanja CUDA: {{cuda_compute}}", - "vbios": "VBios info: {{vbios}}" + "cudaComputerCapability": "CUDA Compute Capability: {{cuda_compute}}", + "vbios": "Informacije VBios: {{vbios}}" }, "closeInfo": { - "label": "Zapri GPU info" + "label": "Zapri info o GPU" }, "copyInfo": { - "label": "Kopiraj GPU info" + "label": "Kopiraj info o GPU" }, "toast": { - "success": "GPU informacije kopirane v odložišče" + "success": "Informacije o GPU kopirane v odložišče" } }, - "npuUsage": "Poraba NPE", + "npuUsage": "Uporaba NPU", "intelGpuWarning": { - "message": "GPU status nerazpoložljiv", - "description": "To je znana napaka v orodjih za poročanje statistike Intelovega GPU-ja (intel_gpu_top), kjer se orodje pokvari in ponavljajoče javlja 0 % uporabe GPU-ja, tudi kadar strojna pospešitev in detekcija objektov pravilno tečeta na (i)GPU-ju. To ni napaka v Frigateu. Lahko ponovno zaženeš gostitelja (host), da začasno odpraviš težavo in potrdiš, da GPU dejansko deluje pravilno. Na zmogljivost to ne vpliva.", - "title": "Opozorilo statistike Intel GPU-ja" - } + "message": "Statistika GPU ni na voljo", + "description": "To je znana napaka v Intelovih orodjih za poročanje (intel_gpu_top), kjer orodje neha delovati in nenehno vrača 0 % porabo GPU, čeprav strojno pospeševanje in zaznavanje objektov pravilno delujeta na (i)GPU. To ni napaka programa Frigate. Za začasno rešitev in potrditev delovanja lahko ponovno zaženeš gostiteljski sistem. To ne vpliva na zmogljivost.", + "title": "Opozorilo za Intel GPU" + }, + "gpuTemperature": "Temperatura GPU", + "npuTemperature": "Temperatura NPU" }, "title": "Splošno", "detector": { "title": "Detektorji", "inferenceSpeed": "Hitrost sklepanja detektorja", "temperature": "Temperatura detektorja", - "cpuUsage": "Poraba CPE detektorja", + "cpuUsage": "Poraba procesorja detektorja", "memoryUsage": "Poraba pomnilnika detektorja", - "cpuUsageInformation": "CPU poraba pri pripravi vhodnih in izhodnih podatkov za / iz modelov za detekcijo. Ta vrednost ne meri porabe pri sami inferenci (izvajanju modela), tudi če uporabljaš GPU ali kakšen drug pospeševalnik." + "cpuUsageInformation": "Procesor, uporabljen za pripravo vhodnih in izhodnih podatkov v/iz modelov za zaznavanje. Ta vrednost ne meri uporabe sklepanja (inference), tudi če uporabljaš GPU ali pospeševalnik." }, "otherProcesses": { - "title": "Ostali procesi", - "processMemoryUsage": "Poraba pomnilnika", - "processCpuUsage": "Poraba CPE", + "title": "Drugi procesi", + "processMemoryUsage": "Poraba pomnilnika procesov", + "processCpuUsage": "Poraba procesorja procesov", "series": { "go2rtc": "go2rtc", "recording": "snemanje", "audio_detector": "detektor zvoka", - "review_segment": "preglej segment", + "review_segment": "segment pregleda", "embeddings": "vdelave" } } }, "title": "Sistem", - "metrics": "Sistemske meritve", + "metrics": "Sistemske metrike", "cameras": { "title": "Kamere", "overview": "Pregled", "info": { "aspectRatio": "razmerje stranic", - "cameraProbeInfo": "{{camera}} Podrobne Informacije Kamere", - "streamDataFromFFPROBE": "Podatki o pretoku se pridobijo z ukazom ffprobe.", - "fetching": "Pridobivanje Podatkov Kamere", + "cameraProbeInfo": "Informacije o viru kamere {{camera}}", + "streamDataFromFFPROBE": "Podatki o pretoku so pridobljeni s pomočjo ffprobe.", + "fetching": "Pridobivanje podatkov o kameri", "stream": "Pretok {{idx}}", "video": "Video:", "codec": "Kodek:", "resolution": "Ločljivost:", - "fps": "FPS:", + "fps": "Sličic na sekundo (FPS):", "unknown": "Neznano", "audio": "Zvok:", "error": "Napaka: {{error}}", "tips": { - "title": "Podrobne Informacije Kamere" + "title": "Informacije o viru kamere" } }, "framesAndDetections": "Okvirji / Zaznave", "label": { "camera": "kamera", - "detect": "zaznaj", + "detect": "zaznavanje", "skipped": "preskočeno", "ffmpeg": "FFmpeg", - "capture": "zajemanje", - "overallFramesPerSecond": "skupno število sličic na sekundo (FPS)", - "overallDetectionsPerSecond": "skupno število zaznav na sekundo", - "overallSkippedDetectionsPerSecond": "skupno število preskočenih zaznav na sekundo", + "capture": "zajem", + "overallFramesPerSecond": "skupno sličic na sekundo", + "overallDetectionsPerSecond": "skupno zaznav na sekundo", + "overallSkippedDetectionsPerSecond": "skupno preskočenih zaznav na sekundo", "cameraFfmpeg": "{{camName}} FFmpeg", "cameraCapture": "{{camName}} zajem", "cameraDetect": "{{camName}} zaznavanje", - "cameraFramesPerSecond": "{{camName}} sličic na sekundo (FPS)", - "cameraDetectionsPerSecond": "{{camName}} detekcij na sekundo", + "cameraFramesPerSecond": "{{camName}} sličic na sekundo", + "cameraDetectionsPerSecond": "{{camName}} zaznav na sekundo", "cameraSkippedDetectionsPerSecond": "{{camName}} preskočenih zaznav na sekundo" }, "toast": { "success": { - "copyToClipboard": "Podatki sonde so bili kopirani v odložišče." + "copyToClipboard": "Podatki o viru kopirani v odložišče." }, "error": { - "unableToProbeCamera": "Ni mogoče preveriti podrobnosti kamere: {{errorMessage}}" + "unableToProbeCamera": "Ni mogoče preveriti vira kamere: {{errorMessage}}" } + }, + "connectionQuality": { + "title": "Kakovost povezave", + "excellent": "Odlično", + "fair": "Zadovoljivo", + "poor": "Slabo", + "unusable": "Neuporabno", + "fps": "FPS", + "expectedFps": "Pričakovan FPS", + "reconnectsLastHour": "Ponovne povezave (zadnja ura)", + "stallsLastHour": "Zastoji (zadnja ura)" } }, "lastRefreshed": "Zadnja osvežitev: ", "stats": { "ffmpegHighCpuUsage": "{{camera}} ima visoko porabo procesorja FFmpeg ({{ffmpegAvg}} %)", "detectHighCpuUsage": "{{camera}} ima visoko porabo procesorja za zaznavanje ({{detectAvg}} %)", - "healthy": "Sistem je zdrav", - "reindexingEmbeddings": "Ponovno indeksiranje vdelanih elementov (embeddings) ({{processed}}% končano)", - "cameraIsOffline": "{{camera}} je nedosegljiva", - "detectIsSlow": "{{detect}} je počasen ({{speed}} ms)", - "detectIsVerySlow": "{{detect}} je zelo počasen ({{speed}} ms)", - "shmTooLow": "/dev/shm direktorij({{total}} MB) bi moral imeti vsaj {{min}} MB." + "healthy": "Sistem deluje brezhibno", + "reindexingEmbeddings": "Ponovno indeksiranje vdelav ({{processed}} % končano)", + "cameraIsOffline": "Kamera {{camera}} je brez povezave", + "detectIsSlow": "Zaznavanje ({{detect}}) je počasno ({{speed}} ms)", + "detectIsVerySlow": "Zaznavanje ({{detect}}) je zelo počasno ({{speed}} ms)", + "shmTooLow": "Dodelitev /dev/shm ({{total}} MB) bi morala biti povečana na vsaj {{min}} MB.", + "debugReplayActive": "Seja ponovnega predvajanja za razhroščevanje je aktivna" }, "enrichments": { "title": "Obogatitve", - "infPerSecond": "Inference Na Sekundo", + "infPerSecond": "Sklepanj na sekundo", "embeddings": { - "face_recognition": "Prepoznavanje Obrazov", - "plate_recognition": "Prepoznavanje Registrskih Tablic", - "face_recognition_speed": "Hitrost Prepoznavanja Obrazov", - "plate_recognition_speed": "Hitrost Prepoznavanja Registrskih Tablic", - "yolov9_plate_detection": "YOLOv9 Zaznavanje Registrskih Tablic", + "face_recognition": "Prepoznava obrazov", + "plate_recognition": "Prepoznava tablic", + "face_recognition_speed": "Hitrost prepoznave obrazov", + "plate_recognition_speed": "Hitrost prepoznave tablic", + "yolov9_plate_detection": "YOLOv9 zaznava tablic", "image_embedding": "Vdelava slik", "text_embedding": "Vdelava besedila", "image_embedding_speed": "Hitrost vdelave slik", - "yolov9_plate_detection_speed": "Hitrost zaznavanja tablic YOLOv9", - "review_description": "Opis pregleda", - "review_description_speed": "Preverite hitrost opisa", + "yolov9_plate_detection_speed": "YOLOv9 hitrost zaznave tablic", + "review_description": "Opis za pregled", + "review_description_speed": "Hitrost opisa za pregled", "classification": "Klasifikacija {{name}}", - "classification_speed": "Hitrost klasificiranja {{name}}", - "classification_events_per_second": "Hitrost klasificiranja dogodkov {{name}} na sekundo", + "classification_speed": "Hitrost klasifikacije {{name}}", + "classification_events_per_second": "Dogodki klasifikacije {{name}} na sekundo", "face_embedding_speed": "Hitrost vdelave obrazov", "text_embedding_speed": "Hitrost vdelave besedila", - "review_description_events_per_second": "Opis pregleda", + "review_description_events_per_second": "Dogodki opisa za pregled", "object_description": "Opis objekta", "object_description_speed": "Hitrost opisa objekta", - "object_description_events_per_second": "Opis objekta" + "object_description_events_per_second": "Dogodki opisa objekta" }, - "averageInf": "Povprečen čas inference" + "averageInf": "Povprečen čas sklepanja" } } From 838fba3603e52d9cb7308920ab65330d32001c2e Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 17 Mar 2026 00:32:33 +0100 Subject: [PATCH 13/13] Translated using Weblate (Chinese (Simplified Han script)) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (138 of 138 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (915 of 915 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (467 of 467 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (58 of 58 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (1084 of 1084 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 98.9% (462 of 467 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 82.8% (758 of 915 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (171 of 171 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (25 of 25 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 98.9% (462 of 467 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (230 of 230 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (23 of 23 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (1084 of 1084 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (62 of 62 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 71.4% (654 of 915 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (1084 of 1084 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (22 of 22 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 73.9% (17 of 23 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 82.8% (387 of 467 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 20.5% (96 of 467 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 8.6% (94 of 1084 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 7.2% (34 of 467 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 65.2% (15 of 23 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 3.1% (34 of 1084 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 71.3% (653 of 915 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 82.8% (140 of 169 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 54.5% (12 of 22 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 52.0% (13 of 25 strings) Co-authored-by: GuoQing Liu <842607283@qq.com> Co-authored-by: Hosted Weblate Co-authored-by: veberj.mark2c82ae088dda4760 Co-authored-by: 郁闷的太子 Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/zh_Hans/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/Config - Groups Translation: Frigate NVR/Config - Validation Translation: Frigate NVR/common Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-events Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/zh-CN/common.json | 41 +- .../locales/zh-CN/components/dialog.json | 4 + web/public/locales/zh-CN/views/events.json | 25 +- web/public/locales/zh-CN/views/explore.json | 4 + web/public/locales/zh-CN/views/exports.json | 18 +- web/public/locales/zh-CN/views/settings.json | 387 ++- web/public/locales/zh-CN/views/system.json | 53 +- .../locales/zh-Hans/config/validation.json | 33 +- .../locales/zh_Hans/config/cameras.json | 942 ++++++- web/public/locales/zh_Hans/config/global.json | 2193 ++++++++++++++++- web/public/locales/zh_Hans/config/groups.json | 74 +- 11 files changed, 3736 insertions(+), 38 deletions(-) diff --git a/web/public/locales/zh-CN/common.json b/web/public/locales/zh-CN/common.json index 28fa8bd48..44d326acf 100644 --- a/web/public/locales/zh-CN/common.json +++ b/web/public/locales/zh-CN/common.json @@ -23,17 +23,17 @@ "pm": "下午", "am": "上午", "yr": "{{time}}年", - "year_other": "{{time}}年", + "year_other": "{{time}} 年", "mo": "{{time}}月", - "month_other": "{{time}}月", + "month_other": "{{time}} 个月", "d": "{{time}}天", - "day_other": "{{time}}天", + "day_other": "{{time}} 天", "h": "{{time}}小时", - "hour_other": "{{time}}小时", + "hour_other": "{{time}} 小时", "m": "{{time}}分钟", - "minute_other": "{{time}}分钟", + "minute_other": "{{time}} 分钟", "s": "{{time}}秒", - "second_other": "{{time}}秒", + "second_other": "{{time}} 秒", "formattedTimestamp": { "12hour": "M月d日 ah:mm:ss", "24hour": "M月d日 HH:mm:ss" @@ -156,7 +156,18 @@ "next": "下一个", "cameraAudio": "摄像头音频", "twoWayTalk": "双向对话", - "continue": "继续" + "continue": "继续", + "add": "添加", + "applying": "应用中…", + "undo": "撤销", + "copiedToClipboard": "已复制到剪贴板", + "modified": "已修改", + "overridden": "已覆盖", + "resetToGlobal": "重置为全局", + "resetToDefault": "重置为默认", + "saveAll": "保存全部", + "savingAll": "保存全部中…", + "undoAll": "撤销全部" }, "menu": { "system": "系统", @@ -170,7 +181,7 @@ "en": "英语 (English)", "zhCN": "简体中文", "withSystem": { - "label": "使用系统语言设置" + "label": "使用系统的语言设置" }, "hi": "印地语 (हिन्दी)", "es": "西班牙语 (Español)", @@ -192,15 +203,15 @@ "he": "希伯来语 (עברית)", "el": "希腊语 (Ελληνικά)", "ro": "罗马尼亚语 (Română)", - "hu": "马扎尔语 (Magyar)", + "hu": "匈牙利语 (Magyar)", "fi": "芬兰语 (Suomi)", "da": "丹麦语 (Dansk)", - "sk": "斯拉夫语 (Slovenčina)", + "sk": "斯洛伐克语 (Slovenčina)", "ru": "俄语 (Русский)", "cs": "捷克语 (Čeština)", "yue": "粤语 (粵語)", - "th": "泰语(ไทย)", - "ca": "加泰罗尼亚语 (Català )", + "th": "泰语 (ไทย)", + "ca": "加泰罗尼亚语 (Català)", "ptBR": "巴西葡萄牙语 (Português brasileiro)", "sr": "塞尔维亚语 (Српски)", "sl": "斯洛文尼亚语 (Slovenščina)", @@ -209,7 +220,7 @@ "gl": "加利西亚语 (Galego)", "id": "印度尼西亚语 (Bahasa Indonesia)", "ur": "乌尔都语 (اردو)", - "hr": "克罗地亚语(Hrvatski)" + "hr": "克罗地亚语 (Hrvatski)" }, "appearance": "外观", "darkMode": { @@ -258,7 +269,9 @@ "title": "用户" }, "restart": "重启 Frigate", - "classification": "目标分类" + "classification": "目标分类", + "actions": "操作", + "chat": "聊天" }, "toast": { "copyUrlToClipboard": "已复制链接到剪贴板。", diff --git a/web/public/locales/zh-CN/components/dialog.json b/web/public/locales/zh-CN/components/dialog.json index 3aef61b5b..d2013adcd 100644 --- a/web/public/locales/zh-CN/components/dialog.json +++ b/web/public/locales/zh-CN/components/dialog.json @@ -71,6 +71,10 @@ "fromTimeline": { "saveExport": "保存导出", "previewExport": "预览导出" + }, + "case": { + "label": "合集", + "placeholder": "选择合集" } }, "streaming": { diff --git a/web/public/locales/zh-CN/views/events.json b/web/public/locales/zh-CN/views/events.json index 9c95ed1c4..3e479aa4a 100644 --- a/web/public/locales/zh-CN/views/events.json +++ b/web/public/locales/zh-CN/views/events.json @@ -64,5 +64,28 @@ "normalActivity": "正常", "needsReview": "需要核查", "securityConcern": "安全隐患", - "select_all": "所有" + "select_all": "所有", + "motionSearch": { + "menuItem": "画面变动搜索", + "openMenu": "摄像头选项" + }, + "motionPreviews": { + "menuItem": "查看画面变动预览", + "title": "画面变动预览:{{camera}}", + "mobileSettingsTitle": "画面变动预览设置", + "mobileSettingsDesc": "调整播放速度和变暗程度,并选择日期以仅查看画面变动的片段。", + "dim": "变暗", + "dimAria": "调整变暗强度", + "dimDesc": "增加变暗程度可以提高画面变动区域的可见性。", + "speed": "速度", + "speedAria": "选择预览播放速度", + "speedDesc": "选择预览片段的播放速度。", + "back": "返回", + "empty": "没有可用的预览", + "noPreview": "预览不可用", + "seekAria": "将 {{camera}} 播放器定位到 {{time}}", + "filter": "筛选", + "filterDesc": "选择区域以仅显示在这些区域中有画面变动的片段。", + "filterClear": "清除" + } } diff --git a/web/public/locales/zh-CN/views/explore.json b/web/public/locales/zh-CN/views/explore.json index 8e66f2255..63668057a 100644 --- a/web/public/locales/zh-CN/views/explore.json +++ b/web/public/locales/zh-CN/views/explore.json @@ -220,6 +220,10 @@ "downloadCleanSnapshot": { "label": "下载干净快照", "aria": "下载干净快照" + }, + "debugReplay": { + "label": "调试回放", + "aria": "在调试回放视图中查看此被追踪对象" } }, "dialog": { diff --git a/web/public/locales/zh-CN/views/exports.json b/web/public/locales/zh-CN/views/exports.json index 3270dc4e5..864283d3f 100644 --- a/web/public/locales/zh-CN/views/exports.json +++ b/web/public/locales/zh-CN/views/exports.json @@ -11,13 +11,27 @@ }, "toast": { "error": { - "renameExportFailed": "重命名导出失败:{{errorMessage}}" + "renameExportFailed": "重命名导出失败:{{errorMessage}}", + "assignCaseFailed": "更新合集分配失败:{{errorMessage}}" } }, "tooltip": { "shareExport": "分享导出", "downloadVideo": "下载视频", "editName": "编辑名称", - "deleteExport": "删除导出" + "deleteExport": "删除导出", + "assignToCase": "加入合集" + }, + "headings": { + "uncategorizedExports": "未分类导出项", + "cases": "合集" + }, + "caseDialog": { + "nameLabel": "合集名称", + "title": "加入合集", + "description": "选择现有合集或创建新合集。", + "selectLabel": "合集", + "newCaseOption": "创建新合集", + "descriptionLabel": "描述" } } diff --git a/web/public/locales/zh-CN/views/settings.json b/web/public/locales/zh-CN/views/settings.json index f4dd6108e..a5d78a01d 100644 --- a/web/public/locales/zh-CN/views/settings.json +++ b/web/public/locales/zh-CN/views/settings.json @@ -7,12 +7,15 @@ "masksAndZones": "遮罩和区域编辑器 - Frigate", "motionTuner": "画面变动调整 - Frigate", "object": "调试 - Frigate", - "general": "页面设置 - Frigate", + "general": "配置文件设置 - Frigate", "frigatePlus": "Frigate+ 设置 - Frigate", "notifications": "通知设置 - Frigate", "enrichments": "增强功能设置 - Frigate", "cameraManagement": "管理摄像头 - Frigate", - "cameraReview": "摄像头核查设置 - Frigate" + "cameraReview": "摄像头核查设置 - Frigate", + "globalConfig": "全局配置 - Frigate", + "cameraConfig": "摄像头配置 - Frigate", + "maintenance": "维护 - Frigate" }, "menu": { "ui": "界面设置", @@ -28,7 +31,63 @@ "triggers": "触发器", "roles": "权限组", "cameraManagement": "管理", - "cameraReview": "核查" + "cameraReview": "核查", + "globalDetect": "目标检测", + "general": "常规", + "globalConfig": "全局配置", + "system": "系统", + "integrations": "集成", + "profileSettings": "配置文件设置", + "globalRecording": "录制", + "globalSnapshots": "快照", + "globalFfmpeg": "FFmpeg", + "globalMotion": "画面变动检测", + "globalObjects": "目标", + "globalReview": "核查", + "globalAudioEvents": "音频事件", + "globalLivePlayback": "实时回放", + "globalTimestampStyle": "时间戳样式", + "systemDatabase": "数据库", + "systemTls": "TLS加密链接", + "systemAuthentication": "验证", + "systemNetworking": "网络", + "systemProxy": "代理", + "systemUi": "界面", + "systemLogging": "日志", + "systemEnvironmentVariables": "环境变量", + "systemTelemetry": "遥测", + "systemBirdseye": "鸟瞰图", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "检测器硬件", + "systemDetectionModel": "检测模型", + "systemMqtt": "MQTT", + "integrationSemanticSearch": "语义搜索", + "integrationGenerativeAi": "生成式 AI", + "integrationFaceRecognition": "人脸识别", + "integrationLpr": "车牌识别", + "integrationObjectClassification": "目标分类", + "integrationAudioTranscription": "音频转录", + "cameraDetect": "目标检测", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "录制", + "cameraSnapshots": "快照", + "cameraMotion": "画面变动检测", + "cameraObjects": "目标", + "cameraConfigReview": "核查", + "cameraAudioEvents": "音频事件", + "cameraAudioTranscription": "音频转录", + "cameraNotifications": "通知", + "cameraLivePlayback": "实时回放", + "cameraBirdseye": "鸟瞰图", + "cameraFaceRecognition": "人脸识别", + "cameraLpr": "车牌识别", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "摄像头管理页面", + "cameraTimestampStyle": "时间戳样式", + "cameraMqtt": "摄像头 MQTT", + "mediaSync": "媒体同步", + "regionGrid": "区域网格" }, "dialog": { "unsavedChanges": { @@ -41,7 +100,7 @@ "noCamera": "没有摄像头" }, "general": { - "title": "页面设置", + "title": "配置文件设置", "liveDashboard": { "title": "实时监控面板", "automaticLiveView": { @@ -350,6 +409,10 @@ }, "toast": { "success": "区域 ({{zoneName}}) 已保存。" + }, + "enabled": { + "title": "开启", + "description": "指示该区域在配置文件中是否处于激活并启用的状态。若被停用,则无法通过 MQTT 启用。禁用的区域在运行时会被忽略。" } }, "motionMasks": { @@ -377,6 +440,12 @@ "title": "{{polygonName}} 已保存。", "noName": "画面变动遮罩已保存。" } + }, + "defaultName": "画面变动遮罩 {{number}}", + "name": { + "title": "名称", + "description": "为该画面变动遮罩设置别名(可选)。", + "placeholder": "输入名称…" } }, "objectMasks": { @@ -401,11 +470,23 @@ "title": "{{polygonName}} 已保存。", "noName": "目标遮罩已保存。" } + }, + "name": { + "title": "名称", + "description": "为该目标遮罩设置别名(可选)。", + "placeholder": "输入名称…" } }, "restart_required": "需要重启(遮罩与区域已修改)", "motionMaskLabel": "画面变动遮罩 {{number}}", - "objectMaskLabel": "目标/物体遮罩 {{number}}({{label}})" + "objectMaskLabel": "目标/物体遮罩 {{number}}", + "disabledInConfig": "该项目已在配置文件中被禁用", + "masks": { + "enabled": { + "title": "开启", + "description": "指示该遮罩在配置文件中是否处于激活并启用的状态。若被禁用,则无法通过 MQTT 启用。禁用的遮罩在运行时会被忽略。" + } + } }, "motionDetectionTuner": { "title": "画面变动检测调整", @@ -517,7 +598,7 @@ "actions": "操作", "role": "权限组", "noUsers": "未找到用户。", - "changeRole": "更改用户角色", + "changeRole": "更改用户权限组", "password": "修改密码", "deleteUser": "删除用户" }, @@ -570,7 +651,7 @@ }, "createUser": { "title": "创建新用户", - "desc": "创建一个新用户账户,并指定一个角色以控制访问 Frigate UI 的权限。", + "desc": "创建一个新用户账户,并指定一个权限组以控制访问 Frigate 页面的权限。", "usernameOnlyInclude": "用户名只能包含字母、数字和 _", "confirmPassword": "请确认你的密码" }, @@ -704,7 +785,14 @@ "error": "配置更改保存失败:{{errorMessage}}" }, "restart_required": "需要重启(Frigate+模型已修改)", - "unsavedChanges": "未保存Frigate+变更设置" + "unsavedChanges": "未保存Frigate+变更设置", + "description": "Frigate+ 是一项订阅服务,可为你的 Frigate 实例提供额外的功能和能力,包括使用基于你自己的数据训练的自定义目标检测模型。你可以在此管理 Frigate+ 的模型设置。", + "cardTitles": { + "api": "API", + "currentModel": "当前模型", + "otherModels": "其他模型", + "configuration": "配置" + } }, "enrichments": { "title": "增强功能设置", @@ -934,7 +1022,7 @@ }, "deleteRole": { "title": "删除权限组", - "desc": "此操作无法撤销。这将永久删除该权限组,并将所有拥有此角色的用户分配到 “成员” 权限组,该权限组将赋予用户查看所有摄像头的权限。", + "desc": "此操作无法撤销。这将永久删除该权限组,并将所有拥有此权限组的用户分配到 “成员” (view)权限组,该权限组将赋予用户查看所有摄像头的权限。", "warn": "你确定要删除权限组 {{role}} 吗?", "deleting": "删除中…" }, @@ -1050,8 +1138,8 @@ "audio": "音频" }, "testStream": "测试连接", - "testSuccess": "连接测试通过!", - "testFailed": "连接测试失败,请检查输入项后重试。", + "testSuccess": "视频流测试成功!", + "testFailed": "视频流测试失败", "testFailedTitle": "测试失败", "connected": "已连接", "notConnected": "未连接", @@ -1239,7 +1327,12 @@ "backToSettings": "返回摄像头设置", "streams": { "title": "开启或关闭摄像头", - "desc": "将临时禁用摄像头,直到 Frigate 重启。禁用摄像头将完全停止 Frigate 对该摄像头视频流的处理,届时检测、录制及调试功能均不可用。
    注意:go2rtc 的转流服务不受影响。" + "desc": "将临时禁用摄像头,直到 Frigate 重启。禁用摄像头将完全停止 Frigate 对该摄像头视频流的处理,届时检测、录制及调试功能均不可用。
    注意:go2rtc 的转流服务不受影响。", + "enableLabel": "开启摄像头", + "enableDesc": "暂时禁用已开启的摄像头,直到 Frigate 重启。禁用摄像头会完全停止 Frigate 对该摄像头视频流的处理。检测、录像和调试功能将不可用。
    注意:这不会禁用 go2rtc 的转推流。", + "disableLabel": "关闭摄像头", + "disableDesc": "开启在当前在界面中不可见且在配置中被禁用的摄像头。启用后需要重启 Frigate 才能生效。", + "enableSuccess": "已在配置中启用 {{cameraName}}。请重启 Frigate 以应用更改。" }, "cameraConfig": { "add": "添加摄像头", @@ -1269,6 +1362,18 @@ "toast": { "success": "摄像头 {{cameraName}} 已保存" } + }, + "deleteCamera": "删除摄像头", + "deleteCameraDialog": { + "title": "删除摄像头", + "description": "删除摄像头将永久移除该摄像头的所有录像、跟踪目标以及配置。任何与该摄像头关联的 go2rtc 流可能仍需手动删除。", + "selectPlaceholder": "选择摄像头…", + "confirmTitle": "你确定吗?", + "confirmWarning": "删除 {{cameraName}} 后将无法撤销。", + "deleteExports": "同时删除该摄像头导出的视频", + "confirmButton": "永久删除", + "success": "摄像头 {{cameraName}} 删除完成", + "error": "删除摄像头 {{cameraName}} 失败" } }, "cameraReview": { @@ -1307,5 +1412,261 @@ "success": "核查分类设置已保存,重启后生效。" } } - } + }, + "saveAllPreview": { + "title": "未保存的更改", + "triggerLabel": "查看待处理的更改", + "empty": "没有待处理的更改。", + "scope": { + "label": "作用范围", + "global": "全局", + "camera": "摄像头:{{cameraName}}" + }, + "field": { + "label": "字段" + }, + "value": { + "label": "新值", + "reset": "重置" + } + }, + "detectionModel": { + "plusActive": { + "title": "Frigate+ 模型管理", + "label": "当前模型来源", + "description": "此实例正在运行 Frigate+ 模型。请在 Frigate+ 设置中选择或更改您的模型。", + "goToFrigatePlus": "前往 Frigate+ 设置", + "showModelForm": "手动配置模型" + } + }, + "configForm": { + "sections": { + "semantic_search": "语义搜索", + "model": "模型", + "detect": "检测", + "record": "录制", + "snapshots": "快照", + "motion": "画面变动", + "objects": "目标", + "review": "核查", + "audio": "音频", + "notifications": "通知", + "live": "实时查看", + "timestamp_style": "时间戳", + "mqtt": "MQTT", + "database": "数据库", + "telemetry": "遥测", + "auth": "身份验证", + "tls": "TLS", + "proxy": "代理", + "go2rtc": "go2rtc", + "ffmpeg": "FFmpeg", + "detectors": "检测器", + "genai": "生成式 AI", + "face_recognition": "人脸识别", + "lpr": "车牌识别", + "birdseye": "鸟瞰图" + }, + "global": { + "title": "全局设置", + "description": "这些设置适用于所有摄像头,除非在摄像头特定设置中被覆盖。" + }, + "camera": { + "title": "摄像头设置", + "description": "这些设置仅适用于此摄像头,并会覆盖全局设置。" + }, + "advancedSettingsCount": "高级设置 ({{count}})", + "advancedCount": "高级选项 ({{count}})", + "additionalProperties": { + "keyLabel": "键", + "valueLabel": "值", + "keyPlaceholder": "新键名", + "remove": "移除" + }, + "roleMap": { + "empty": "未配置角色映射。", + "addMapping": "添加角色映射", + "roleLabel": "角色", + "groupsLabel": "用户组", + "remove": "移除" + }, + "ffmpegArgs": { + "preset": "预设", + "manual": "手动参数", + "inherit": "继承摄像头设置", + "selectPreset": "选择预设", + "manualPlaceholder": "输入 FFmpeg 参数" + }, + "cameraInputs": { + "itemTitle": "视频流 {{index}}" + }, + "restartRequiredField": "需要重启", + "restartRequiredFooter": "配置已更改 - 需要重启", + "detect": { + "title": "检测设置" + }, + "detectors": { + "title": "检测器设置", + "singleType": "只允许一个 {{type}} 检测器。", + "keyRequired": "检测器名称为必填项。", + "keyDuplicate": "检测器名称已存在。", + "noSchema": "没有可用的检测器架构。", + "none": "未配置检测器实例。", + "add": "添加检测器" + }, + "record": { + "title": "录制设置" + }, + "snapshots": { + "title": "快照设置" + }, + "motion": { + "title": "画面变动设置" + }, + "objects": { + "title": "目标设置" + }, + "audioLabels": { + "summary": "已选择 {{count}} 个音频标签", + "empty": "无可用音频标签" + }, + "objectLabels": { + "summary": "已选择 {{count}} 个目标类型", + "empty": "无可用目标标签" + }, + "filters": { + "objectFieldLabel": "{{label}} 的 {{field}}" + }, + "inputRoles": { + "summary": "已选择 {{count}} 个功能", + "empty": "无可用功能", + "options": { + "detect": "检测", + "record": "录制", + "audio": "音频" + } + }, + "review": { + "title": "核查设置" + }, + "audio": { + "title": "音频设置" + }, + "notifications": { + "title": "通知设置" + }, + "live": { + "title": "实时查看设置" + }, + "showAdvanced": "显示高级设置", + "tabs": { + "sharedDefaults": "共享默认值", + "system": "系统", + "integrations": "集成" + }, + "timezone": { + "defaultOption": "使用浏览器时区" + }, + "zoneNames": { + "summary": "已选择 {{count}} 个", + "empty": "没有可用的区域" + }, + "timestamp_style": { + "title": "时间戳设置" + }, + "searchPlaceholder": "搜索…" + }, + "cameraConfig": { + "title": "摄像头配置", + "description": "配置单个摄像头的设置。这些设置会覆盖全局默认值。", + "overriddenBadge": "已覆盖", + "resetToGlobal": "重置为全局设置", + "toast": { + "success": "摄像头设置保存成功", + "error": "保存摄像头设置失败" + } + }, + "maintenance": { + "title": "维护", + "sync": { + "title": "媒体同步", + "desc": "Frigate 会根据您的保留配置定期清理媒体文件。出现少量孤立文件是正常现象。使用此功能可以删除磁盘上不再被数据库引用的孤立媒体文件。", + "started": "媒体同步已启动。", + "alreadyRunning": "同步任务已在运行中", + "error": "启动同步失败", + "currentStatus": "状态", + "jobId": "任务 ID", + "startTime": "开始时间", + "endTime": "结束时间", + "statusLabel": "状态", + "results": "结果", + "errorLabel": "错误", + "mediaTypes": "媒体类型", + "allMedia": "所有媒体", + "dryRun": "试运行", + "dryRunEnabled": "不会删除任何文件", + "dryRunDisabled": "将删除文件", + "force": "强制执行", + "forceDesc": "绕过安全阈值,即使删除超过 50% 的文件也完成同步。", + "running": "同步运行中…", + "start": "开始同步", + "inProgress": "同步正在进行中。此页面已禁用。", + "status": { + "queued": "已排队", + "running": "运行中", + "completed": "已完成", + "failed": "失败", + "notRunning": "未运行" + }, + "resultsFields": { + "filesChecked": "已检查文件", + "orphansFound": "发现孤立文件", + "orphansDeleted": "已删除孤立文件", + "aborted": "已中止。删除操作将超过安全阈值。", + "error": "错误", + "totals": "总计" + }, + "event_snapshots": "追踪目标快照", + "event_thumbnails": "追踪目标缩略图", + "review_thumbnails": "核查缩略图", + "previews": "预览", + "exports": "导出", + "recordings": "录像" + }, + "regionGrid": { + "title": "区域网格", + "desc": "区域网格是一种优化功能,它会学习不同大小的目标通常出现在每个摄像头视野中的位置。Frigate 利用这些数据来高效地确定检测区域的大小。该网格会根据追踪目标数据自动构建。", + "clear": "清除区域网格", + "clearConfirmTitle": "清除区域网格", + "clearConfirmDesc": "除非您最近更改了检测器模型大小或摄像头的物理位置,并且遇到了目标追踪问题,否则不建议清除区域网格。网格会随着目标的追踪自动重建。更改需要重启 Frigate 才能生效。", + "clearSuccess": "区域网格清除成功", + "clearError": "清除区域网格失败", + "restartRequired": "需要重启以使区域网格更改生效" + } + }, + "globalConfig": { + "title": "全局配置", + "description": "配置适用于所有摄像头的全局设置,除非被单独覆盖。", + "toast": { + "success": "全局设置保存成功", + "error": "保存全局设置失败", + "validationError": "验证失败" + } + }, + "toast": { + "success": "设置保存成功", + "applied": "设置应用成功", + "successRestartRequired": "设置保存成功。请重启 Frigate 以应用更改。", + "error": "保存设置失败", + "validationError": "验证失败:{{message}}", + "resetSuccess": "已重置为全局默认值", + "resetError": "重置设置失败", + "saveAllSuccess_other": "所有 {{count}} 个部分保存成功。", + "saveAllPartial_other": "已保存 {{successCount}} / {{totalCount}} 个部分。{{failCount}} 个失败。", + "saveAllFailure": "保存所有部分失败。" + }, + "unsavedChanges": "您有未保存的更改", + "confirmReset": "确认重置", + "resetToDefaultDescription": "这将把此部分的所有设置重置为默认值。此操作无法撤销。", + "resetToGlobalDescription": "这将把此部分的设置重置为全局默认值。此操作无法撤销。" } diff --git a/web/public/locales/zh-CN/views/system.json b/web/public/locales/zh-CN/views/system.json index 4d06a16bf..805560be1 100644 --- a/web/public/locales/zh-CN/views/system.json +++ b/web/public/locales/zh-CN/views/system.json @@ -7,7 +7,8 @@ "logs": { "frigate": "Frigate 日志 - Frigate", "go2rtc": "Go2RTC 日志 - Frigate", - "nginx": "Nginx 日志 - Frigate" + "nginx": "Nginx 日志 - Frigate", + "websocket": "消息日志 - Frigate" } }, "title": "系统", @@ -33,6 +34,32 @@ "fetchingLogsFailed": "获取日志出错:{{errorMessage}}", "whileStreamingLogs": "流式传输日志时出错:{{errorMessage}}" } + }, + "websocket": { + "label": "消息", + "pause": "暂停", + "filter": { + "lpr": "车牌识别", + "all": "全部主题", + "topics": "主题", + "events": "事件", + "reviews": "核查", + "classification": "分类", + "face_recognition": "人脸识别", + "camera_activity": "摄像头活动", + "system": "系统", + "camera": "摄像头", + "all_cameras": "所有摄像头", + "cameras_count_one": "{{count}} 个摄像头", + "cameras_count_other": "{{count}} 个摄像头" + }, + "resume": "继续", + "clear": "清除", + "empty": "未捕获到消息", + "count": "{{count}} 条消息", + "expanded": { + "payload": "Payload" + } } }, "general": { @@ -81,7 +108,9 @@ "title": "Intel GPU 处于警告状态", "message": "GPU 状态不可用", "description": "这是 Intel 的 GPU 状态报告工具(intel_gpu_top)的已知问题:该工具会失效并反复返回 GPU 使用率为 0%,即使在硬件加速和目标检测已在 (i)GPU 上正常运行的情况下也是如此,这并不是 Frigate 的 bug。你可以通过重启主机来临时修复该问题,并确认 GPU 正常工作。该问题并不会影响性能。" - } + }, + "gpuTemperature": "GPU 温度", + "npuTemperature": "NPU 温度" }, "otherProcesses": { "title": "其他进程", @@ -118,7 +147,11 @@ }, "shm": { "title": "共享内存(SHM)分配", - "warning": "当前共享内存(SHM)容量过小( {{total}}MB),请将其至少增加到 {{min_shm}}MB。" + "warning": "当前共享内存(SHM)容量过小( {{total}}MB),请将其至少增加到 {{min_shm}}MB。", + "frameLifetime": { + "title": "帧保留时间", + "description": "每个摄像头在共享内存中拥有 {{frames}} 个帧槽位。在最快摄像头的帧率下,每一帧在被覆盖前大约可保留 {{lifetime}} 秒。" + } } }, "cameras": { @@ -165,6 +198,17 @@ "error": { "unableToProbeCamera": "无法检测到摄像头:{{errorMessage}}" } + }, + "connectionQuality": { + "title": "连接质量", + "excellent": "优秀", + "fair": "一般", + "poor": "较差", + "unusable": "不可用", + "fps": "帧率", + "expectedFps": "预期帧率", + "reconnectsLastHour": "最近一小时重连次数", + "stallsLastHour": "最近一小时卡顿次数" } }, "lastRefreshed": "最后刷新时间: ", @@ -176,7 +220,8 @@ "detectIsSlow": "{{detect}} 运行缓慢({{speed}}毫秒)", "detectIsVerySlow": "{{detect}} 运行非常缓慢({{speed}}毫秒)", "cameraIsOffline": "{{camera}} 已离线", - "shmTooLow": "/dev/shm 的分配空间过低(当前 {{total}} MB),应至少增加到 {{min}} MB。" + "shmTooLow": "/dev/shm 的分配空间过低(当前 {{total}} MB),应至少增加到 {{min}} MB。", + "debugReplayActive": "调试回放会话正在进行" }, "enrichments": { "title": "增强功能", diff --git a/web/public/locales/zh-Hans/config/validation.json b/web/public/locales/zh-Hans/config/validation.json index 0967ef424..a926f2cce 100644 --- a/web/public/locales/zh-Hans/config/validation.json +++ b/web/public/locales/zh-Hans/config/validation.json @@ -1 +1,32 @@ -{} +{ + "minimum": "必须至少为 {{limit}}", + "maximum": "最大值不能超过 {{limit}}", + "exclusiveMinimum": "必须大于 {{limit}}", + "exclusiveMaximum": "必须小于 {{limit}}", + "minLength": "长度至少为 {{limit}} 个字符", + "maxLength": "长度最多为 {{limit}} 个字符", + "minItems": "至少包含 {{limit}} 项", + "maxItems": "最多包含 {{limit}} 项", + "pattern": "格式无效", + "required": "此字段为必填项", + "type": "值类型无效", + "ffmpeg": { + "inputs": { + "detectRequired": "必须至少有一个输入流分配为“检测”功能。", + "rolesUnique": "每个功能只能分配给一个输入流。", + "hwaccelDetectOnly": "只有分配了检测功能的输入流才能定义硬件加速参数。" + } + }, + "enum": "必须是允许的值之一", + "const": "值与预期的常量不匹配", + "uniqueItems": "所有项必须唯一", + "format": "格式无效", + "additionalProperties": "不允许未知属性", + "oneOf": "必须完全匹配一个允许的模式", + "anyOf": "必须至少匹配一个允许的模式", + "proxy": { + "header_map": { + "roleHeaderRequired": "配置权限组映射时需要的 role 请求头。" + } + } +} diff --git a/web/public/locales/zh_Hans/config/cameras.json b/web/public/locales/zh_Hans/config/cameras.json index 0967ef424..9bb156748 100644 --- a/web/public/locales/zh_Hans/config/cameras.json +++ b/web/public/locales/zh_Hans/config/cameras.json @@ -1 +1,941 @@ -{} +{ + "label": "摄像头配置", + "name": { + "label": "摄像头名称", + "description": "必须填写摄像头名称" + }, + "friendly_name": { + "label": "别名", + "description": "摄像头别名将用于展示在页面中" + }, + "enabled": { + "label": "开启", + "description": "开启" + }, + "audio": { + "label": "音频事件", + "description": "此摄像头的音频事件检测设置。", + "enabled": { + "label": "开启音频检测", + "description": "开启或禁用此摄像头的音频事件检测。" + }, + "max_not_heard": { + "label": "结束超时", + "description": "在结束音频事件之前,未检测到配置的音频类型的秒数。" + }, + "num_threads": { + "label": "检测线程", + "description": "用于音频检测处理的线程数量。" + }, + "min_volume": { + "label": "最小音量", + "description": "运行音频检测所需的最小 RMS 音量阈值;数值越低灵敏度越高(例如 200 高灵敏度,500 中等,1000 低灵敏度)。" + }, + "listen": { + "label": "监听类型", + "description": "要检测的音频事件类型列表(例如:bark、fire_alarm、scream、speech、yell)。" + }, + "filters": { + "label": "音频过滤器", + "description": "按音频类型的过滤器设置,如用于减少误报的置信度阈值。" + }, + "enabled_in_config": { + "label": "原始音频状态", + "description": "指示原始静态配置文件中是否启用了音频检测。" + } + }, + "audio_transcription": { + "label": "音频转录", + "description": "用于事件和实时字幕的实时和语音音频转录设置。", + "enabled": { + "label": "开启转录", + "description": "开启或关闭手动触发的音频事件转写。" + }, + "enabled_in_config": { + "label": "原始转写状态" + }, + "live_enabled": { + "label": "实时监控转写", + "description": "在接收到音频时开启实时监控持续转写。" + } + }, + "birdseye": { + "label": "鸟瞰图", + "description": "将多路摄像头画面合并为统一布局的鸟瞰合成视图设置。", + "enabled": { + "label": "开启鸟瞰图", + "description": "开启或关闭鸟瞰图功能。" + }, + "mode": { + "label": "追踪模式", + "description": "在鸟瞰视图中包含摄像头的模式:'objects'(目标)、'motion'(动作)或 'continuous'(持续)。" + }, + "order": { + "label": "排序位置", + "description": "用于控制摄像头在鸟瞰视图布局中排序位置的数值。" + } + }, + "detect": { + "label": "目标检测", + "description": "用于运行目标检测、初始化追踪器的检测模块设置。", + "enabled": { + "label": "开启检测", + "description": "开启或关闭该摄像头的目标检测。如需运行目标追踪,必须先开启检测。" + }, + "height": { + "label": "检测画面高度", + "description": "用于配置检测流的画面高度(像素);留空则使用原始视频流分辨率。" + }, + "width": { + "label": "检测画面宽度", + "description": "用于配置检测流的画面宽度(像素);留空则使用原始视频流分辨率。" + }, + "fps": { + "label": "检测帧率", + "description": "检测时希望使用的帧率;数值越低,CPU 占用越小(推荐值为 5,仅在追踪极高速运动的目标时才设置更高数值,最高不建议超过 10)。" + }, + "min_initialized": { + "label": "最小初始化帧数", + "description": "创建追踪目标前,需要连续检测到目标的次数。数值越大,错误触发的追踪越少。默认值为帧率除以 2。" + }, + "max_disappeared": { + "label": "最大消失帧数", + "description": "追踪目标在连续多少帧未被检测到时,将被判定为已消失。" + }, + "stationary": { + "label": "静止目标配置", + "description": "用于检测和管理长时间静止目标的相关设置。", + "interval": { + "label": "静止间隔", + "description": "设置每隔多少帧执行一次检测,用于确认目标是否处于静止状态。" + }, + "threshold": { + "label": "静止阈值", + "description": "目标需要连续多少帧位置不变,才会被标记为静止状态。" + }, + "max_frames": { + "label": "最大帧数", + "description": "限制静止目标最大追踪时长(以帧数为单位),超过将会停止追踪。", + "default": { + "label": "默认最大帧数", + "description": "停止追踪前,用于追踪静止目标的默认最大帧数。" + }, + "objects": { + "label": "目标最大帧数", + "description": "可对不同类型目标分别设置静止追踪的最大帧数(覆盖全局设置)。" + } + }, + "classifier": { + "label": "开启视觉分类器", + "description": "使用视觉分类器,即使检测框有轻微抖动,也能准确判断物体是真的静止。" + } + }, + "annotation_offset": { + "label": "标记偏移量", + "description": "检测标记的时间偏移量(毫秒),用于让时间轴上的检测框与录像画面更精准对齐;可设置为正数或负数。" + } + }, + "face_recognition": { + "label": "人脸识别", + "description": "该摄像头的人脸检测与识别设置。", + "enabled": { + "label": "开启人脸识别", + "description": "开启或关闭人脸识别。" + }, + "min_area": { + "label": "最小人脸区域", + "description": "需要尝试进行人脸识别的人脸检测框最小大小(像素)。" + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "FFmpeg 编解码相关设置,包含可执行文件路径、命令行参数、硬件加速选项,以及按不同功能划分的输出参数。", + "path": { + "label": "FFmpeg 路径", + "description": "要使用的 FFmpeg 可执行文件路径,或版本别名(如 \"5.0\" 或 \"7.0\")。" + }, + "global_args": { + "label": "FFmpeg 全局参数", + "description": "传递给 FFmpeg 进程的全局参数。" + }, + "hwaccel_args": { + "label": "硬件加速参数", + "description": "用于 FFmpeg 的硬件加速参数。建议使用对应硬件厂商的预设配置。" + }, + "input_args": { + "label": "输入参数", + "description": "应用于 FFmpeg 输入视频流的输入参数。" + }, + "output_args": { + "label": "输出参数", + "description": "用于不同 FFmpeg 功能(如检测、录制)的默认输出参数。", + "detect": { + "label": "检测输出参数", + "description": "检测功能视频流的默认输出参数。" + }, + "record": { + "label": "录制输出参数", + "description": "录制功能视频流的默认输出参数。" + } + }, + "retry_interval": { + "label": "FFmpeg 重试时间", + "description": "摄像头视频流异常断开后,重新连接前的等待时间。默认为 10 秒。" + }, + "apple_compatibility": { + "label": "Apple 兼容性", + "description": "录制 H.265 视频时启用 HEVC 标记,以提升对 Apple 设备播放的兼容性。" + }, + "gpu": { + "label": "GPU 索引", + "description": "在启用硬件加速时,默认使用的 GPU 索引。" + }, + "inputs": { + "label": "摄像头输入视频流", + "description": "该摄像头的所有输入流配置列表(包含路径和功能)。", + "path": { + "label": "输入路径", + "description": "摄像头输入视频流的地址或路径。" + }, + "roles": { + "label": "输入流功能", + "description": "定义该视频流的功能。" + }, + "global_args": { + "label": "FFmpeg 全局参数", + "description": "该输入视频流使用的 FFmpeg 全局通用参数。" + }, + "hwaccel_args": { + "label": "硬件加速参数", + "description": "该输入视频流的硬件加速参数。" + }, + "input_args": { + "label": "输入参数", + "description": "该视频流特定的输入参数。" + } + } + }, + "mqtt": { + "label": "MQTT", + "description": "MQTT 图像发布设置。", + "enabled": { + "label": "发送图像", + "description": "为此摄像头启用向 MQTT 主题发布目标图像快照。" + }, + "timestamp": { + "label": "添加时间戳", + "description": "在发布到 MQTT 的图像上叠加时间戳。" + }, + "bounding_box": { + "label": "添加边界框", + "description": "在通过 MQTT 发布的图像上绘制边界框。" + }, + "crop": { + "label": "裁剪图像", + "description": "将发布到 MQTT 的图像裁剪到检测到的目标边界框。" + }, + "height": { + "label": "图像高度", + "description": "通过 MQTT 发布的图像的调整高度(像素)。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入才能发布 MQTT 图像的区域。" + }, + "quality": { + "label": "JPEG 质量", + "description": "发布到 MQTT 的图像的 JPEG 质量(0-100)。" + } + }, + "notifications": { + "label": "通知", + "enabled": { + "label": "开启通知", + "description": "为此摄像头启用或禁用通知。" + }, + "email": { + "label": "通知邮箱", + "description": "用于推送通知或某些通知提供商要求的邮箱地址。" + }, + "cooldown": { + "label": "冷却时间", + "description": "通知之间的冷却时间(秒),以避免向收件人发送垃圾信息。" + }, + "enabled_in_config": { + "label": "原始通知状态", + "description": "指示原始静态配置中是否启用了通知。" + }, + "description": "为此摄像头启用和控制通知的设置。" + }, + "live": { + "label": "实时回放", + "streams": { + "label": "实时监控流名称", + "description": "配置的流名称到用于实时监控播放的 restream/go2rtc 名称的映射。" + }, + "height": { + "label": "实时监控高度", + "description": "在 Web UI 中渲染 jsmpeg 实时监控流的高度(像素);必须小于等于检测流高度。" + }, + "quality": { + "label": "实时监控质量", + "description": "jsmpeg 流的编码质量(1 最高,31 最低)。" + }, + "description": "用于控制实时流选择、分辨率和质量的 Web UI 设置。" + }, + "motion": { + "label": "画面变动检测", + "enabled": { + "label": "开启画面变动检测", + "description": "开启或关闭此摄像头的画面变动检测。" + }, + "threshold": { + "label": "画面变动阈值", + "description": "画面变动检测器使用的像素差异阈值;数值越高灵敏度越低(范围 1-255)。" + }, + "lightning_threshold": { + "label": "闪电阈值", + "description": "用于检测和忽略短暂闪电闪烁的阈值(数值越低越敏感,范围 0.3 到 1.0)。这不会完全阻止画面变动检测;只是当超过阈值时检测器会停止分析额外的帧。在此类事件期间仍会创建基于画面变动的录像。" + }, + "skip_motion_threshold": { + "label": "跳过画面变动阈值", + "description": "如果单帧中图像变化超过此比例,检测器将返回无画面变动框并立即重新校准。这可以节省 CPU 并减少闪电、风暴等情况下的误报,但可能会错过真实事件,如 PTZ 摄像头自动追踪目标。权衡的是丢弃几兆字节的录像与查看几个短片之间的取舍。范围 0.0 到 1.0。" + }, + "improve_contrast": { + "label": "改善对比度", + "description": "在画面变动分析之前对帧应用对比度改善以帮助检测。" + }, + "contour_area": { + "label": "轮廓区域", + "description": "画面变动轮廓被计入所需的最小轮廓区域(像素)。" + }, + "delta_alpha": { + "label": "Delta alpha", + "description": "用于画面变动计算的帧差异中使用的 alpha 混合因子。" + }, + "frame_alpha": { + "label": "画面 alpha 通道", + "description": "画面变动预处理时混合画面所使用的 alpha 值。" + }, + "frame_height": { + "label": "画面高度", + "description": "计算画面变动时缩放画面的高度(像素)。" + }, + "mask": { + "label": "遮罩坐标", + "description": "定义用于包含/排除区域的画面变动遮罩多边形的有序 x,y 坐标。" + }, + "mqtt_off_delay": { + "label": "MQTT 关闭延迟", + "description": "在发布 MQTT 'off' 状态之前,最后一次画面变动后等待的秒数。" + }, + "enabled_in_config": { + "label": "原始画面变动状态", + "description": "指示原始静态配置中是否启用了画面变动检测。" + }, + "raw_mask": { + "label": "原始遮罩" + }, + "description": "此摄像头的默认画面变动检测设置。" + }, + "objects": { + "label": "目标", + "description": "目标追踪默认设置,包括要追踪的标签和按目标的过滤器。", + "track": { + "label": "要追踪的目标", + "description": "此摄像头要追踪的目标标签列表。" + }, + "filters": { + "label": "目标过滤器", + "description": "应用于检测到的目标以减少误报的过滤器(区域、比例、置信度)。", + "min_area": { + "label": "最小目标区域", + "description": "此目标类型所需的最小边界框区域(像素或百分比)。可以是像素(整数)或百分比(0.000001 到 0.99 之间的浮点数)。" + }, + "max_area": { + "label": "最大目标区域", + "description": "此目标类型允许的最大边界框区域(像素或百分比)。可以是像素(整数)或百分比(0.000001 到 0.99 之间的浮点数)。" + }, + "min_ratio": { + "label": "最小纵横比", + "description": "边界框所需的最小宽高比。" + }, + "max_ratio": { + "label": "最大纵横比", + "description": "边界框允许的最大宽高比。" + }, + "threshold": { + "label": "置信度阈值", + "description": "目标被视为真正阳性所需的平均检测置信度阈值。" + }, + "min_score": { + "label": "最小置信度", + "description": "目标被计入所需的最小单帧检测置信度。" + }, + "mask": { + "label": "过滤器遮罩", + "description": "定义此过滤器在帧内应用位置的多边形坐标。" + }, + "raw_mask": { + "label": "原始遮罩" + } + }, + "mask": { + "label": "目标遮罩", + "description": "用于防止在指定区域进行目标检测的遮罩多边形。" + }, + "raw_mask": { + "label": "原始遮罩" + }, + "genai": { + "label": "GenAI 目标配置", + "description": "用于描述追踪目标和发送帧进行生成的 GenAI 选项。", + "enabled": { + "label": "开启 GenAI", + "description": "默认启用 GenAI 生成追踪目标的描述。" + }, + "use_snapshot": { + "label": "使用快照", + "description": "使用目标快照而不是缩略图进行 GenAI 描述生成。" + }, + "prompt": { + "label": "字幕提示", + "description": "使用 GenAI 生成描述时使用的默认提示模板。" + }, + "object_prompts": { + "label": "目标提示", + "description": "用于自定义特定标签的 GenAI 输出的按目标提示。" + }, + "objects": { + "label": "GenAI 目标", + "description": "默认发送给 GenAI 的目标标签列表。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入才能符合 GenAI 描述生成条件的区域。" + }, + "debug_save_thumbnails": { + "label": "保存缩略图", + "description": "保存发送给 GenAI 的缩略图用于调试和核查。" + }, + "send_triggers": { + "label": "GenAI 触发器", + "description": "定义何时应将帧发送给 GenAI(结束时、更新后等)。", + "tracked_object_end": { + "label": "结束时发送", + "description": "当追踪目标结束时向 GenAI 发送请求。" + }, + "after_significant_updates": { + "label": "早期 GenAI 触发器", + "description": "在追踪目标进行指定次数的重大更新后向 GenAI 发送请求。" + } + }, + "enabled_in_config": { + "label": "原始 GenAI 状态", + "description": "指示原始静态配置中是否启用了 GenAI。" + } + } + }, + "record": { + "label": "录像", + "enabled": { + "label": "开启录像", + "description": "开启或关闭此摄像头的录像。" + }, + "expire_interval": { + "label": "录像清理间隔", + "description": "清理过期录像片段的间隔分钟数。" + }, + "continuous": { + "label": "持续保留", + "description": "无论是否有追踪目标或动作,保留录像的天数。如果只想保留警报和检测的录像,请设置为 0。", + "days": { + "label": "保留天数", + "description": "保留录像的天数。" + } + }, + "motion": { + "label": "动作保留", + "description": "无论是否有追踪目标,由动作触发的录像保留天数。如果只想保留警报和检测的录像,请设置为 0。", + "days": { + "label": "保留天数", + "description": "保留录像的天数。" + } + }, + "detections": { + "label": "检测保留", + "description": "检测事件的录像保留设置,包括前后捕获时长。", + "pre_capture": { + "label": "前捕获秒数", + "description": "检测事件之前包含在录像中的秒数。" + }, + "post_capture": { + "label": "后捕获秒数", + "description": "检测事件之后包含在录像中的秒数。" + }, + "retain": { + "label": "事件保留", + "description": "检测事件录像的保留设置。", + "days": { + "label": "保留天数", + "description": "保留检测事件录像的天数。" + }, + "mode": { + "label": "保留模式", + "description": "保留模式:all(保存所有片段)、motion(保存有动作的片段)或 active_objects(保存有活动目标的片段)。" + } + } + }, + "alerts": { + "label": "警报保留", + "description": "警报事件的录像保留设置,包括前后捕获时长。", + "pre_capture": { + "label": "前捕获秒数", + "description": "检测事件之前包含在录像中的秒数。" + }, + "post_capture": { + "label": "后捕获秒数", + "description": "检测事件之后包含在录像中的秒数。" + }, + "retain": { + "label": "事件保留", + "description": "检测事件录像的保留设置。", + "days": { + "label": "保留天数", + "description": "保留检测事件录像的天数。" + }, + "mode": { + "label": "保留模式", + "description": "保留模式:all(保存所有片段)、motion(保存有动作的片段)或 active_objects(保存有活动目标的片段)。" + } + } + }, + "export": { + "label": "导出配置", + "description": "导出录像时使用的设置,如延时摄影和硬件加速。", + "hwaccel_args": { + "label": "导出硬件加速参数", + "description": "用于导出/转码操作的硬件加速参数。" + } + }, + "preview": { + "label": "预览配置", + "description": "控制 UI 中显示的录像预览质量的设置。", + "quality": { + "label": "预览质量", + "description": "预览质量级别(very_low、low、medium、high、very_high)。" + } + }, + "enabled_in_config": { + "label": "原始录像状态", + "description": "指示原始静态配置中是否启用了录像。" + }, + "description": "此摄像头的录像和保留设置。" + }, + "review": { + "label": "核查", + "alerts": { + "label": "警报配置", + "description": "哪些追踪目标生成警报以及如何保留警报的设置。", + "enabled": { + "label": "开启警报", + "description": "开启或关闭此摄像头的警报生成。" + }, + "labels": { + "label": "警报标签", + "description": "符合警报条件的目标标签列表(例如:car、person)。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入才能被视为警报的区域;留空则允许任何区域。" + }, + "enabled_in_config": { + "label": "原始警报状态", + "description": "追踪原始静态配置中是否启用了警报。" + }, + "cutoff_time": { + "label": "警报截止时间", + "description": "在没有引起警报的活动后等待多少秒后截止警报。" + } + }, + "detections": { + "label": "检测配置", + "description": "创建检测事件(非警报)以及保留多长时间的设置。", + "enabled": { + "label": "开启检测", + "description": "开启或关闭此摄像头的检测事件。" + }, + "labels": { + "label": "检测标签", + "description": "符合检测事件条件的目标标签列表。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入才能被视为检测的区域;留空则允许任何区域。" + }, + "cutoff_time": { + "label": "检测截止时间", + "description": "在没有引起检测的活动后等待多少秒后截止检测。" + }, + "enabled_in_config": { + "label": "原始检测状态", + "description": "追踪原始静态配置中是否启用了检测。" + } + }, + "genai": { + "label": "GenAI 配置", + "description": "控制使用生成式 AI 为核查项生成描述和摘要。", + "enabled": { + "label": "开启 GenAI 描述", + "description": "为核查项启用或禁用 GenAI 生成的描述和摘要。" + }, + "alerts": { + "label": "为警报开启 GenAI", + "description": "使用 GenAI 为警报项生成描述。" + }, + "detections": { + "label": "为检测开启 GenAI", + "description": "使用 GenAI 为检测项生成描述。" + }, + "image_source": { + "label": "核查图像来源", + "description": "发送给 GenAI 的图像来源('preview' 或 'recordings');'recordings' 使用更高质量的帧但消耗更多 token。" + }, + "additional_concerns": { + "label": "额外关注事项", + "description": "GenAI 在评估此摄像头活动时应考虑的额外关注事项或备注列表。" + }, + "debug_save_thumbnails": { + "label": "保存缩略图", + "description": "保存发送给 GenAI 提供商的缩略图用于调试和核查。" + }, + "enabled_in_config": { + "label": "原始 GenAI 状态", + "description": "追踪原始静态配置中是否启用了 GenAI 核查。" + }, + "preferred_language": { + "label": "首选语言", + "description": "向 GenAI 提供商请求生成响应的首选语言。" + }, + "activity_context_prompt": { + "label": "活动上下文提示", + "description": "描述什么是和什么不是可疑活动的自定义提示,为 GenAI 摘要提供上下文。" + } + }, + "description": "控制此摄像头的警报、检测和 GenAI 核查摘要的设置,用于 UI 和存储。" + }, + "snapshots": { + "label": "快照", + "enabled": { + "label": "开启快照", + "description": "开启或关闭此摄像头的快照保存。" + }, + "clean_copy": { + "label": "保存干净副本", + "description": "除了带注释的快照外,还保存一份不带注释的干净快照副本。" + }, + "timestamp": { + "label": "时间戳叠加", + "description": "在保存的快照上叠加时间戳。" + }, + "bounding_box": { + "label": "边界框叠加", + "description": "在保存的快照上绘制追踪目标的边界框。" + }, + "crop": { + "label": "裁剪快照", + "description": "将保存的快照裁剪到检测到的目标边界框。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入才能保存快照的区域。" + }, + "height": { + "label": "快照高度", + "description": "将保存的快照调整到的目标高度(像素);留空则保持原始大小。" + }, + "retain": { + "label": "快照保留", + "description": "保存快照的保留设置,包括默认天数和按目标覆盖。", + "default": { + "label": "默认保留", + "description": "保留快照的默认天数。" + }, + "mode": { + "label": "保留模式", + "description": "保留模式:all(保存所有片段)、motion(保存有动作的片段)或 active_objects(保存有活动目标的片段)。" + }, + "objects": { + "label": "目标保留", + "description": "按目标覆盖的快照保留天数。" + } + }, + "quality": { + "label": "JPEG 质量", + "description": "保存快照的 JPEG 编码质量(0-100)。" + }, + "description": "此摄像头保存的追踪目标 JPEG 快照设置。" + }, + "timestamp_style": { + "label": "时间戳样式", + "position": { + "label": "时间戳位置", + "description": "时间戳在图像上的位置(tl/tr/bl/br)。" + }, + "format": { + "label": "时间戳格式", + "description": "用于时间戳的日期时间格式字符串(Python 日期时间格式代码)。" + }, + "color": { + "label": "时间戳颜色", + "description": "时间戳文本的 RGB 颜色值(所有值 0-255)。", + "red": { + "label": "红色", + "description": "时间戳颜色的红色分量(0-255)。" + }, + "green": { + "label": "绿色", + "description": "时间戳颜色的绿色分量(0-255)。" + }, + "blue": { + "label": "蓝色", + "description": "时间戳颜色的蓝色分量(0-255)。" + } + }, + "thickness": { + "label": "时间戳粗细", + "description": "时间戳文本的线条粗细。" + }, + "effect": { + "label": "时间戳效果", + "description": "时间戳文本的视觉效果(none、solid、shadow)。" + }, + "description": "应用于录像和快照的实时监控流中时间戳的样式选项。" + }, + "semantic_search": { + "label": "语义搜索", + "triggers": { + "label": "触发器", + "description": "摄像头特定语义搜索触发器的操作和匹配条件。", + "friendly_name": { + "label": "友好名称", + "description": "在 UI 中为此触发器显示的可选友好名称。" + }, + "enabled": { + "label": "开启此触发器", + "description": "启用或禁用此语义搜索触发器。" + }, + "type": { + "label": "触发器类型", + "description": "触发器类型:'thumbnail'(与图像匹配)或 'description'(与文本匹配)。" + }, + "data": { + "label": "触发器内容", + "description": "要与追踪目标匹配的文本短语或缩略图 ID。" + }, + "threshold": { + "label": "触发器阈值", + "description": "激活此触发器所需的最小相似度分数(0-1)。" + }, + "actions": { + "label": "触发器操作", + "description": "触发器匹配时要执行的操作列表(通知、sub_label、属性)。" + } + }, + "description": "语义搜索设置,用于构建和查询目标嵌入以查找相似项目。" + }, + "lpr": { + "label": "车牌识别", + "description": "车牌识别设置,包括检测阈值、格式化和已知车牌。", + "enabled": { + "label": "开启 LPR", + "description": "在此摄像头上启用或禁用 LPR。" + }, + "min_area": { + "label": "最小车牌区域", + "description": "尝试识别所需的最小车牌区域(像素)。" + }, + "enhancement": { + "label": "增强级别", + "description": "在 OCR 之前应用于车牌裁剪的增强级别(0-10);较高的值可能不总是改善结果,5 以上的级别可能仅适用于夜间车牌,应谨慎使用。" + }, + "expire_time": { + "label": "过期秒数", + "description": "未见到的车牌从追踪器中过期的时间(秒)(仅适用于专用 LPR 摄像头)。" + } + }, + "onvif": { + "label": "ONVIF", + "description": "此摄像头的 ONVIF 连接和 PTZ 自动追踪设置。", + "host": { + "label": "ONVIF 主机", + "description": "此摄像头 ONVIF 服务的主机(和可选协议)。" + }, + "port": { + "label": "ONVIF 端口", + "description": "ONVIF 服务的端口号。" + }, + "user": { + "label": "ONVIF 用户名", + "description": "ONVIF 身份验证的用户名;某些设备需要管理员用户才能使用 ONVIF。" + }, + "password": { + "label": "ONVIF 密码", + "description": "ONVIF 身份验证的密码。" + }, + "tls_insecure": { + "label": "禁用 TLS 验证", + "description": "跳过 TLS 验证并禁用 ONVIF 的摘要认证(不安全;仅用于安全网络)。" + }, + "autotracking": { + "label": "自动追踪", + "description": "使用 PTZ 摄像头移动自动追踪移动目标并使其保持在画面中心。", + "enabled": { + "label": "开启自动追踪", + "description": "启用或禁用检测目标的自动 PTZ 摄像头追踪。" + }, + "calibrate_on_startup": { + "label": "启动时校准", + "description": "在启动时测量 PTZ 电机速度以提高追踪精度。Frigate 将在校准后用 movement_weights 更新配置。" + }, + "zooming": { + "label": "变焦模式", + "description": "控制变焦行为:disabled(仅平移/倾斜)、absolute(最兼容)或 relative(同时平移/倾斜/变焦)。" + }, + "zoom_factor": { + "label": "变焦因子", + "description": "控制追踪目标的变焦级别。数值越低保持更多场景可见;数值越高放大更近但可能丢失追踪。数值范围 0.1 到 0.75。" + }, + "track": { + "label": "追踪目标", + "description": "应触发自动追踪的目标类型列表。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入这些区域之一才能开始自动追踪。" + }, + "return_preset": { + "label": "返回预设", + "description": "追踪结束后返回的摄像头固件中配置的 ONVIF 预设名称。" + }, + "timeout": { + "label": "返回超时", + "description": "失去追踪后等待多少秒后将摄像头返回到预设位置。" + }, + "movement_weights": { + "label": "移动权重", + "description": "由摄像头校准自动生成的校准值。请勿手动修改。" + }, + "enabled_in_config": { + "label": "原始自动追踪状态", + "description": "用于追踪配置中是否启用自动追踪的内部字段。" + } + }, + "ignore_time_mismatch": { + "label": "忽略时间不匹配", + "description": "忽略 ONVIF 通信中摄像头和 Frigate 服务器之间的时间同步差异。" + } + }, + "ui": { + "label": "摄像头 UI", + "description": "此摄像头在 UI 中的显示顺序和可见性。顺序影响默认仪表板。如需更精细的控制,请使用摄像头组。", + "order": { + "label": "UI 顺序", + "description": "用于在 UI 中排序摄像头的数值顺序(默认仪表板和列表);数值越大出现越晚。" + }, + "dashboard": { + "label": "在 UI 中显示", + "description": "切换此摄像头在 Frigate UI 的所有位置是否可见。禁用此项将需要手动编辑配置才能在 UI 中再次查看此摄像头。" + } + }, + "best_image_timeout": { + "label": "最佳图像超时", + "description": "等待具有最高置信度分数的图像的时间。" + }, + "type": { + "label": "摄像头类型", + "description": "摄像头类型" + }, + "webui_url": { + "label": "摄像头 URL", + "description": "从系统页面直接访问摄像头的 URL" + }, + "zones": { + "label": "区域", + "description": "区域允许您定义帧的特定区域,以便确定目标是否在特定区域内。", + "friendly_name": { + "label": "区域名称", + "description": "区域的友好名称,显示在 Frigate UI 中。如果未设置,将使用区域名称的格式化版本。" + }, + "enabled": { + "label": "开启", + "description": "开启或关闭此区域。禁用的区域在运行时将被忽略。" + }, + "enabled_in_config": { + "label": "保持区域原始状态的跟踪。" + }, + "filters": { + "label": "区域过滤器", + "description": "应用于此区域内目标的过滤器。用于减少误报或限制哪些目标被认为存在于区域内。", + "min_area": { + "label": "最小目标区域", + "description": "此目标类型所需的最小边界框区域(像素或百分比)。可以是像素(整数)或百分比(0.000001 到 0.99 之间的浮点数)。" + }, + "max_area": { + "label": "最大目标区域", + "description": "此目标类型允许的最大边界框区域(像素或百分比)。可以是像素(整数)或百分比(0.000001 到 0.99 之间的浮点数)。" + }, + "min_ratio": { + "label": "最小纵横比", + "description": "边界框所需的最小宽高比。" + }, + "max_ratio": { + "label": "最大纵横比", + "description": "边界框允许的最大宽高比。" + }, + "threshold": { + "label": "置信度阈值", + "description": "目标被视为真正阳性所需的平均检测置信度阈值。" + }, + "min_score": { + "label": "最小置信度", + "description": "目标被计入所需的最小单帧检测置信度。" + }, + "mask": { + "label": "过滤器遮罩", + "description": "定义此过滤器在帧内应用位置的多边形坐标。" + }, + "raw_mask": { + "label": "原始遮罩" + } + }, + "coordinates": { + "label": "坐标", + "description": "定义区域区域的多边形坐标。可以是逗号分隔的字符串或坐标字符串列表。坐标应该是相对的(0-1)或绝对的(传统)。" + }, + "distances": { + "label": "真实世界距离", + "description": "区域四边形每边的可选真实世界距离,用于速度或距离计算。如果设置,必须恰好有 4 个值。" + }, + "inertia": { + "label": "惯性帧数", + "description": "目标必须在区域内被连续检测多少帧才能被认为存在。有助于过滤掉短暂检测。" + }, + "loitering_time": { + "label": "徘徊秒数", + "description": "目标必须在区域内停留多少秒才能被视为徘徊。设置为 0 可禁用徘徊检测。" + }, + "speed_threshold": { + "label": "最小速度", + "description": "目标被认为存在于区域所需的最小速度(如果设置了距离,则为真实世界单位)。用于基于速度的区域触发器。" + }, + "objects": { + "label": "触发目标", + "description": "可以触发此区域的目标类型列表(来自标签映射)。可以是字符串或字符串列表。如果为空,则考虑所有目标。" + } + }, + "enabled_in_config": { + "label": "原始摄像头状态", + "description": "保持摄像头的原始状态跟踪。" + } +} diff --git a/web/public/locales/zh_Hans/config/global.json b/web/public/locales/zh_Hans/config/global.json index 0967ef424..3ccb7423b 100644 --- a/web/public/locales/zh_Hans/config/global.json +++ b/web/public/locales/zh_Hans/config/global.json @@ -1 +1,2192 @@ -{} +{ + "version": { + "label": "当前配置版本", + "description": "用于标识当前生效配置的版本号(数字或字符串均可),帮助识别配置迁移或格式是否发生变更。" + }, + "safe_mode": { + "label": "安全模式", + "description": "启用后,Frigate 将以安全模式启动,将会关闭部分功能,以便排查问题。" + }, + "environment_vars": { + "label": "环境变量", + "description": "用于在 Home Assistant OS 中为 Frigate 进程设置的环境变量。非 HAOS 用户不能使用该配置项,而必须使用 Docker 的环境变量配置。" + }, + "logger": { + "label": "日志", + "description": "控制默认日志详细程度,以及各组件的日志级别覆盖。", + "default": { + "label": "日志等级", + "description": "默认全局日志详细程度(调试、信息、警告、错误)。" + }, + "logs": { + "label": "单进程日志级别", + "description": "按组件覆盖日志级别配置,用于提高或降低特定模块的日志详细程度。" + } + }, + "audio": { + "label": "音频事件", + "enabled": { + "label": "开启音频检测", + "description": "为所有摄像头启用或禁用音频事件检测;可按摄像头覆盖。" + }, + "max_not_heard": { + "label": "结束超时", + "description": "在结束音频事件之前,未检测到配置的音频类型的秒数。" + }, + "num_threads": { + "label": "检测线程", + "description": "用于音频检测处理的线程数量。" + }, + "description": "所有摄像头的基于音频的事件检测设置;可按摄像头覆盖。", + "min_volume": { + "label": "最小音量", + "description": "运行音频检测所需的最小 RMS 音量阈值;数值越低灵敏度越高(例如 200 高灵敏度,500 中等,1000 低灵敏度)。" + }, + "listen": { + "label": "监听类型", + "description": "要检测的音频事件类型列表(例如:bark、fire_alarm、scream、speech、yell)。" + }, + "filters": { + "label": "音频过滤器", + "description": "按音频类型的过滤器设置,如用于减少误报的置信度阈值。" + }, + "enabled_in_config": { + "label": "原始音频状态", + "description": "指示原始静态配置文件中是否启用了音频检测。" + } + }, + "auth": { + "cookie_secure": { + "label": "安全 Cookie 标志", + "description": "在身份验证 Cookie 上设置安全标志;使用 TLS 时应启用此选项。" + }, + "label": "身份验证", + "description": "身份验证和会话相关设置,包括 Cookie 和速率限制选项。", + "enabled": { + "label": "开启身份验证", + "description": "为 Frigate 页面开启原生身份验证。" + }, + "reset_admin_password": { + "label": "重置管理员密码", + "description": "启用后,启动时将重置管理员用户密码,并在日志中打印新密码。" + }, + "cookie_name": { + "label": "JWT Cookie 名称", + "description": "用于存储原生身份验证 JWT 令牌的 Cookie 名称。" + }, + "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": "启用后,UI 可能会在登录页面显示帮助链接,告知用户如何在管理员密码重置后登录。 " + } + }, + "audio_transcription": { + "label": "音频转录", + "description": "用于事件和实时字幕的实时和语音音频转录设置。", + "live_enabled": { + "label": "实时监控转写", + "description": "在接收到音频时开启实时监控持续转写。" + }, + "enabled": { + "label": "开启音频转录", + "description": "为所有摄像头启用或禁用自动音频转录;可按摄像头覆盖。" + }, + "language": { + "label": "转录语言", + "description": "用于转录/翻译的语言代码(例如 'en' 表示英语)。请参阅 https://whisper-api.com/docs/languages/ 了解支持的语言代码。" + }, + "device": { + "label": "转录设备", + "description": "运行转录模型的设备密钥(CPU/GPU)。目前仅支持 NVIDIA CUDA GPU 进行转录。" + }, + "model_size": { + "label": "模型大小", + "description": "用于离线音频事件转录的模型大小。" + } + }, + "birdseye": { + "label": "鸟瞰图", + "description": "将多路摄像头画面合并为统一布局的鸟瞰合成视图设置。", + "enabled": { + "label": "开启鸟瞰图", + "description": "开启或关闭鸟瞰图功能。" + }, + "mode": { + "label": "追踪模式", + "description": "在鸟瞰视图中包含摄像头的模式:'objects'(目标)、'motion'(动作)或 'continuous'(持续)。" + }, + "order": { + "label": "排序位置", + "description": "用于控制摄像头在鸟瞰视图布局中排序位置的数值。" + }, + "restream": { + "label": "转发 RTSP", + "description": "将鸟瞰图输出作为 RTSP 流重新转发;启用此功能将使鸟瞰图持续运行。" + }, + "width": { + "label": "宽度", + "description": "合成的鸟瞰帧的输出宽度(像素)。" + }, + "height": { + "label": "高度", + "description": "合成的鸟瞰帧的输出高度(像素)。" + }, + "quality": { + "label": "编码质量", + "description": "鸟瞰图 mpeg1 流的编码质量(1 最高质量,31 最低)。" + }, + "inactivity_threshold": { + "label": "非活动阈值", + "description": "摄像头停止在鸟瞰图中显示的非活动秒数。" + }, + "layout": { + "label": "布局", + "description": "鸟瞰图合成的布局选项。", + "scaling_factor": { + "label": "缩放因子", + "description": "布局计算器使用的缩放因子(范围 1.0 到 5.0)。" + }, + "max_cameras": { + "label": "最大摄像头数", + "description": "鸟瞰图中同时显示的最大摄像头数量;显示最近的摄像头。" + } + }, + "idle_heartbeat_fps": { + "label": "空闲心跳 FPS", + "description": "空闲时重新发送最后一个合成鸟瞰帧的每秒帧数;设为 0 则禁用。" + } + }, + "detect": { + "label": "目标检测", + "description": "用于运行目标检测、初始化追踪器的检测模块设置。", + "enabled": { + "label": "开启检测", + "description": "为所有摄像头启用或禁用目标检测;可按摄像头覆盖。必须启用检测才能运行目标追踪。" + }, + "height": { + "label": "检测画面高度", + "description": "用于配置检测流的画面高度(像素);留空则使用原始视频流分辨率。" + }, + "width": { + "label": "检测画面宽度", + "description": "用于配置检测流的画面宽度(像素);留空则使用原始视频流分辨率。" + }, + "fps": { + "label": "检测帧率", + "description": "检测时希望使用的帧率;数值越低,CPU 占用越小(推荐值为 5,仅在追踪极高速运动的目标时才设置更高数值,最高不建议超过 10)。" + }, + "min_initialized": { + "label": "最小初始化帧数", + "description": "创建追踪目标前,需要连续检测到目标的次数。数值越大,错误触发的追踪越少。默认值为帧率除以 2。" + }, + "max_disappeared": { + "label": "最大消失帧数", + "description": "追踪目标在连续多少帧未被检测到时,将被判定为已消失。" + }, + "stationary": { + "label": "静止目标配置", + "description": "用于检测和管理长时间静止目标的相关设置。", + "interval": { + "label": "静止间隔", + "description": "设置每隔多少帧执行一次检测,用于确认目标是否处于静止状态。" + }, + "threshold": { + "label": "静止阈值", + "description": "目标需要连续多少帧位置不变,才会被标记为静止状态。" + }, + "max_frames": { + "label": "最大帧数", + "description": "限制静止目标最大追踪时长(以帧数为单位),超过将会停止追踪。", + "default": { + "label": "默认最大帧数", + "description": "停止追踪前,用于追踪静止目标的默认最大帧数。" + }, + "objects": { + "label": "目标最大帧数", + "description": "可对不同类型目标分别设置静止追踪的最大帧数(覆盖全局设置)。" + } + }, + "classifier": { + "label": "开启视觉分类器", + "description": "使用视觉分类器,即使检测框有轻微抖动,也能准确判断物体是真的静止。" + } + }, + "annotation_offset": { + "label": "标记偏移量", + "description": "检测标记的时间偏移量(毫秒),用于让时间轴上的检测框与录像画面更精准对齐;可设置为正数或负数。" + } + }, + "face_recognition": { + "label": "人脸识别", + "enabled": { + "label": "开启人脸识别", + "description": "为所有摄像头启用或禁用人脸识别;可按摄像头覆盖。" + }, + "min_area": { + "label": "最小人脸区域", + "description": "需要尝试进行人脸识别的人脸检测框最小大小(像素)。" + }, + "description": "所有摄像头的人脸检测和识别设置;可按摄像头覆盖。", + "model_size": { + "label": "模型大小", + "description": "用于人脸嵌入的模型大小(small/large);较大的可能需要 GPU。" + }, + "unknown_score": { + "label": "未知分数阈值", + "description": "低于此距离阈值的人脸被视为潜在匹配(数值越高越严格)。" + }, + "detection_threshold": { + "label": "检测阈值", + "description": "将人脸检测视为有效所需的最小检测置信度。" + }, + "recognition_threshold": { + "label": "识别阈值", + "description": "将两张人脸视为匹配的人脸嵌入距离阈值。" + }, + "min_faces": { + "label": "最小人脸数", + "description": "在将识别的子标签应用于人员之前所需的最小人脸识别次数。" + }, + "save_attempts": { + "label": "保存尝试", + "description": "为最近识别 UI 保留的人脸识别尝试次数。" + }, + "blur_confidence_filter": { + "label": "模糊置信度过滤器", + "description": "根据图像模糊程度调整置信度分数,以减少低质量人脸的误报。" + }, + "device": { + "label": "设备", + "description": "这是一个覆盖选项,用于指定特定设备。请参阅 https://onnxruntime.ai/docs/execution-providers/ 了解更多信息" + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "FFmpeg 编解码相关设置,包含可执行文件路径、命令行参数、硬件加速选项,以及按不同功能划分的输出参数。", + "path": { + "label": "FFmpeg 路径", + "description": "要使用的 FFmpeg 可执行文件路径,或版本别名(如 \"5.0\" 或 \"7.0\")。" + }, + "global_args": { + "label": "FFmpeg 全局参数", + "description": "传递给 FFmpeg 进程的全局参数。" + }, + "hwaccel_args": { + "label": "硬件加速参数", + "description": "用于 FFmpeg 的硬件加速参数。建议使用对应硬件厂商的预设配置。" + }, + "input_args": { + "label": "输入参数", + "description": "应用于 FFmpeg 输入视频流的输入参数。" + }, + "output_args": { + "label": "输出参数", + "description": "用于不同 FFmpeg 功能(如检测、录制)的默认输出参数。", + "detect": { + "label": "检测输出参数", + "description": "检测功能视频流的默认输出参数。" + }, + "record": { + "label": "录制输出参数", + "description": "录制功能视频流的默认输出参数。" + } + }, + "retry_interval": { + "label": "FFmpeg 重试时间", + "description": "摄像头视频流异常断开后,重新连接前的等待时间。默认为 10 秒。" + }, + "apple_compatibility": { + "label": "Apple 兼容性", + "description": "录制 H.265 视频时启用 HEVC 标记,以提升对 Apple 设备播放的兼容性。" + }, + "gpu": { + "label": "GPU 索引", + "description": "在启用硬件加速时,默认使用的 GPU 索引。" + }, + "inputs": { + "label": "摄像头输入视频流", + "description": "该摄像头的所有输入流配置列表(包含路径和功能)。", + "path": { + "label": "输入路径", + "description": "摄像头输入视频流的地址或路径。" + }, + "roles": { + "label": "输入流功能", + "description": "定义该视频流的功能。" + }, + "global_args": { + "label": "FFmpeg 全局参数", + "description": "该输入视频流使用的 FFmpeg 全局通用参数。" + }, + "hwaccel_args": { + "label": "硬件加速参数", + "description": "该输入视频流的硬件加速参数。" + }, + "input_args": { + "label": "输入参数", + "description": "该视频流特定的输入参数。" + } + } + }, + "database": { + "label": "数据库", + "description": "Frigate 用于存储追踪目标和录像元数据的 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 代理的端口(普通 MQTT 通常为 1883)。" + }, + "topic_prefix": { + "label": "主题前缀", + "description": "所有 Frigate 主题的 MQTT 主题前缀;如果运行多个实例,必须唯一。" + }, + "client_id": { + "label": "客户端 ID", + "description": "连接到 MQTT 代理时使用的客户端标识符;每个实例应该唯一。" + }, + "stats_interval": { + "label": "统计信息间隔", + "description": "向 MQTT 发布系统和摄像头统计信息的时间间隔(秒)。" + }, + "user": { + "label": "MQTT 用户名", + "description": "可选的 MQTT 用户名;可以通过环境变量或密钥提供。" + }, + "password": { + "label": "MQTT 密码", + "description": "可选的 MQTT 密码;可以通过环境变量或密钥提供。" + }, + "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 发布/订阅的服务质量级别(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 支持。" + } + }, + "listen": { + "label": "监听端口配置", + "description": "内部和外部监听端口的配置。此选项适用于高级用户。对于大多数用例,建议在 Docker compose 文件的 ports 部分进行更改。", + "internal": { + "label": "内部端口", + "description": "Frigate 的内部监听端口(默认 5000)。" + }, + "external": { + "label": "外部端口", + "description": "Frigate 的外部监听端口(默认 8971)。" + } + } + }, + "proxy": { + "label": "代理", + "description": "用于将 Frigate 集成到传递已认证用户头的反向代理后面的设置。", + "header_map": { + "label": "请求头映射", + "description": "将传入的代理请求头映射到 Frigate 用户和权限组字段,用于基于代理的身份验证。", + "user": { + "label": "用户请求头", + "description": "包含上游代理提供的已认证用户名的请求头。" + }, + "role": { + "label": "权限组请求头", + "description": "包含来自上游代理的已认证用户权限组或用户组的请求头。" + }, + "role_map": { + "label": "权限组映射", + "description": "将上游组值映射到 Frigate 权限组(例如将管理员组映射到管理员权限组)。" + } + }, + "logout_url": { + "label": "登出 URL", + "description": "通过代理登出时重定向用户的 URL。" + }, + "auth_secret": { + "label": "代理密钥", + "description": "与 X-Proxy-Secret 请求头进行比对的可选密钥,用于验证受信任的代理。" + }, + "default_role": { + "label": "默认权限组", + "description": "当没有权限组映射适用时分配给代理认证用户的默认权限组(admin 或 viewer)。" + }, + "separator": { + "label": "分隔符", + "description": "用于分割代理请求头中多个值的字符。" + } + }, + "telemetry": { + "label": "遥测", + "description": "系统遥测和统计选项,包括 GPU 和网络带宽监控。", + "network_interfaces": { + "label": "网络接口", + "description": "要监控带宽统计信息的网络接口名称前缀列表。" + }, + "stats": { + "label": "系统统计", + "description": "用于启用/禁用各种系统和 GPU 统计信息收集的选项。", + "amd_gpu_stats": { + "label": "AMD GPU 统计", + "description": "如果存在 AMD GPU,则启用 AMD GPU 统计信息收集。" + }, + "intel_gpu_stats": { + "label": "Intel GPU 统计", + "description": "如果存在 Intel GPU,则启用 Intel GPU 统计信息收集。" + }, + "network_bandwidth": { + "label": "网络带宽", + "description": "为摄像头 ffmpeg 进程和检测器启用按进程网络带宽监控(需要权限)。" + }, + "intel_gpu_device": { + "label": "SR-IOV 设备", + "description": "将 Intel GPU 视为 SR-IOV 时使用的设备标识符,用于修复 GPU 统计信息。" + } + }, + "version_check": { + "label": "版本检查", + "description": "启用出站检查以检测是否有更新版本的 Frigate 可用。" + } + }, + "tls": { + "label": "TLS", + "description": "Frigate Web 端点(端口 8971)的 TLS 设置。", + "enabled": { + "label": "开启 TLS", + "description": "在配置的 TLS 端口上为 Frigate 的 Web UI 和 API 启用 TLS。" + } + }, + "ui": { + "label": "用户界面", + "description": "用户界面偏好设置,如时区、时间/日期格式和单位。", + "timezone": { + "label": "时区", + "description": "UI 中显示的可选时区(如果未设置,则默认为浏览器本地时间)。" + }, + "time_format": { + "label": "时间格式", + "description": "UI 中使用的时间格式(browser、12hour 或 24hour)。" + }, + "date_style": { + "label": "日期样式", + "description": "UI 中使用的日期样式(full、long、medium、short)。" + }, + "time_style": { + "label": "时间样式", + "description": "UI 中使用的时间样式(full、long、medium、short)。" + }, + "unit_system": { + "label": "单位系统", + "description": "UI 和 MQTT 中使用的显示单位系统(公制或英制)。" + } + }, + "detectors": { + "label": "检测器硬件", + "description": "目标检测器(CPU、GPU、ONNX 后端)的配置以及任何检测器特定的模型设置。", + "type": { + "label": "检测器类型", + "description": "用于目标检测的检测器类型(例如 'cpu'、'edgetpu'、'openvino')。" + }, + "cpu": { + "label": "CPU", + "description": "在主机 CPU 上运行 TensorFlow Lite 模型的 CPU TFLite 检测器,无硬件加速。不推荐使用。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + }, + "num_threads": { + "label": "检测线程数", + "description": "用于基于 CPU 的推理的线程数。" + } + }, + "deepstack": { + "label": "DeepStack", + "description": "将图像发送到远程 DeepStack HTTP API 进行推理的 DeepStack/CodeProject.AI 检测器。不推荐使用。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + }, + "api_url": { + "label": "DeepStack API URL", + "description": "DeepStack API 的 URL。" + }, + "api_timeout": { + "label": "DeepStack API 超时时间(秒)", + "description": "DeepStack API 请求允许的最长时间。" + }, + "api_key": { + "label": "DeepStack API 密钥(如需要)", + "description": "用于认证 DeepStack 服务的可选 API 密钥。" + } + }, + "degirum": { + "label": "DeGirum", + "description": "通过 DeGirum 云或本地推理服务运行模型的 DeGirum 检测器。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchg'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + }, + "location": { + "label": "推理位置", + "description": "DeGirum 推理引擎的位置(例如 '@cloud'、'127.0.0.1')。" + }, + "zoo": { + "label": "模型库", + "description": "DeGirum 模型库的路径或 URL。" + }, + "token": { + "label": "DeGirum 云令牌", + "description": "用于 DeGirum 云访问的令牌。" + } + }, + "edgetpu": { + "label": "EdgeTPU", + "description": "使用 EdgeTPU 委托运行为 Coral EdgeTPU 编译的 TensorFlow Lite 模型的 EdgeTPU 检测器。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + }, + "device": { + "label": "设备类型", + "description": "用于 EdgeTPU 推理的设备(例如 'usb'、'pci')。" + } + }, + "hailo8l": { + "label": "Hailo-8/Hailo-8L", + "description": "使用 HEF 模型和 HailoRT SDK 在 Hailo 硬件上进行推理的 Hailo-8/Hailo-8L 检测器。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + }, + "device": { + "label": "设备类型", + "description": "用于 Hailo 推理的设备(例如 'PCIe'、'M.2')。" + } + }, + "memryx": { + "label": "MemryX", + "description": "在 MemryX 加速器上运行编译的 DFP 模型的 MemryX MX3 检测器。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + }, + "device": { + "label": "设备路径", + "description": "用于 MemryX 推理的设备(例如 'PCIe')。" + } + }, + "onnx": { + "label": "ONNX", + "description": "运行 ONNX 模型的 ONNX 检测器;当可用时将使用可用的加速后端(CUDA/ROCm/OpenVINO)。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + }, + "device": { + "label": "设备类型", + "description": "用于 ONNX 推理的设备(例如 'AUTO'、'CPU'、'GPU')。" + } + }, + "openvino": { + "label": "OpenVINO", + "description": "适用于 AMD 和 Intel CPU、Intel GPU 和 Intel VPU 硬件的 OpenVINO 检测器。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + }, + "device": { + "label": "设备类型", + "description": "用于 OpenVINO 推理的设备(例如 'CPU'、'GPU'、'NPU')。" + } + }, + "rknn": { + "label": "RKNN", + "description": "用于 Rockchip NPU 的 RKNN 检测器;在 Rockchip 硬件上运行编译的 RKNN 模型。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + }, + "num_cores": { + "label": "使用的 NPU 核心数。", + "description": "要使用的 NPU 核心数(0 表示自动)。" + } + }, + "synaptics": { + "label": "Synaptics", + "description": "使用 Synap SDK 在 Synaptics 硬件上运行 .synap 格式模型的 Synaptics NPU 检测器。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + } + }, + "teflon_tfl": { + "label": "Teflon", + "description": "使用 Mesa Teflon 委托库在支持的 GPU 上加速推理的 TFLite Teflon 委托检测器。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + } + }, + "tensorrt": { + "label": "TensorRT", + "description": "使用序列化的 TensorRT 引擎进行加速推理的 Nvidia Jetson 设备 TensorRT 检测器。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + }, + "device": { + "label": "GPU 设备索引", + "description": "要使用的 GPU 设备索引。" + } + }, + "zmq": { + "label": "ZMQ IPC", + "description": "通过 ZeroMQ IPC 端点将推理卸载到外部进程的 ZMQ IPC 检测器。", + "type": { + "label": "类型" + }, + "model": { + "label": "检测器特定模型配置", + "description": "检测器特定的模型配置选项(路径、输入大小等)。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "model_path": { + "label": "检测器特定模型路径", + "description": "如果所选检测器需要,则为检测器模型二进制文件的路径。" + }, + "endpoint": { + "label": "ZMQ IPC 端点", + "description": "要连接的 ZMQ 端点。" + }, + "request_timeout_ms": { + "label": "ZMQ 请求超时(毫秒)", + "description": "ZMQ 请求的超时时间(毫秒)。" + }, + "linger_ms": { + "label": "ZMQ 套接字逗留时间(毫秒)", + "description": "套接字逗留时间(毫秒)。" + } + } + }, + "model": { + "label": "检测模型", + "description": "用于配置自定义目标检测模型及其输入形状的设置。", + "path": { + "label": "自定义目标检测模型路径", + "description": "自定义检测模型文件的路径(或 Frigate+ 模型的 plus://)。" + }, + "labelmap_path": { + "label": "自定义目标检测器的标签映射", + "description": "将数字类别映射到检测器字符串标签的标签映射文件路径。" + }, + "width": { + "label": "目标检测模型输入宽度", + "description": "模型输入张量的宽度(像素)。" + }, + "height": { + "label": "目标检测模型输入高度", + "description": "模型输入张量的高度(像素)。" + }, + "labelmap": { + "label": "标签映射自定义", + "description": "要合并到标准标签映射中的覆盖或重映射条目。" + }, + "attributes_map": { + "label": "目标标签到属性标签的映射", + "description": "从目标标签到属性标签的映射,用于附加元数据(例如 'car' -> ['license_plate'])。" + }, + "input_tensor": { + "label": "模型输入张量形状", + "description": "模型期望的张量格式:'nhwc' 或 'nchw'。" + }, + "input_pixel_format": { + "label": "模型输入像素颜色格式", + "description": "模型期望的像素色彩空间:'rgb'、'bgr' 或 'yuv'。" + }, + "input_dtype": { + "label": "模型输入数据类型", + "description": "模型输入张量的数据类型(例如 'float32')。" + }, + "model_type": { + "label": "目标检测模型类型", + "description": "某些检测器用于优化的检测器模型架构类型(ssd、yolox、yolonas)。" + } + }, + "genai": { + "label": "生成式 AI 配置(命名提供商)。", + "description": "用于生成目标描述和核查摘要的集成生成式 AI 提供商设置。", + "api_key": { + "label": "API 密钥", + "description": "某些提供商要求的 API 密钥(也可以通过环境变量设置)。" + }, + "base_url": { + "label": "基础 URL", + "description": "自托管或兼容提供商的基础 URL(例如 Ollama 实例)。" + }, + "model": { + "label": "模型", + "description": "用于生成描述或摘要的提供商模型。" + }, + "provider": { + "label": "提供商", + "description": "要使用的 GenAI 提供商(例如:ollama、gemini、openai)。" + }, + "roles": { + "label": "功能", + "description": "生成式 AI 功能(工具、视觉、嵌入);每个功能单独一个提供商。" + }, + "provider_options": { + "label": "提供商选项", + "description": "传递给 GenAI 客户端的附加提供商特定选项。" + }, + "runtime_options": { + "label": "运行时选项", + "description": "每次推理调用时传递给提供商的运行时选项。" + } + }, + "live": { + "label": "实时回放", + "description": "Web UI 用于控制实时监控流分辨率和质量的设置。", + "streams": { + "label": "实时监控流名称", + "description": "配置的流名称到用于实时监控播放的 restream/go2rtc 名称的映射。" + }, + "height": { + "label": "实时监控高度", + "description": "在 Web UI 中渲染 jsmpeg 实时监控流的高度(像素);必须小于等于检测流高度。" + }, + "quality": { + "label": "实时监控质量", + "description": "jsmpeg 流的编码质量(1 最高,31 最低)。" + } + }, + "motion": { + "label": "画面变动检测", + "description": "应用于摄像头的默认动作检测设置,除非按摄像头覆盖。", + "enabled": { + "label": "开启画面变动检测", + "description": "为所有摄像头启用或禁用动作检测;可按摄像头覆盖。" + }, + "threshold": { + "label": "画面变动阈值", + "description": "画面变动检测器使用的像素差异阈值;数值越高灵敏度越低(范围 1-255)。" + }, + "lightning_threshold": { + "label": "闪电阈值", + "description": "用于检测和忽略短暂闪电闪烁的阈值(数值越低越敏感,范围 0.3 到 1.0)。这不会完全阻止画面变动检测;只是当超过阈值时检测器会停止分析额外的帧。在此类事件期间仍会创建基于画面变动的录像。" + }, + "skip_motion_threshold": { + "label": "跳过画面变动阈值", + "description": "如果单帧中图像变化超过此比例,检测器将返回无画面变动框并立即重新校准。这可以节省 CPU 并减少闪电、风暴等情况下的误报,但可能会错过真实事件,如 PTZ 摄像头自动追踪目标。权衡的是丢弃几兆字节的录像与查看几个短片之间的取舍。范围 0.0 到 1.0。" + }, + "improve_contrast": { + "label": "改善对比度", + "description": "在画面变动分析之前对帧应用对比度改善以帮助检测。" + }, + "contour_area": { + "label": "轮廓区域", + "description": "画面变动轮廓被计入所需的最小轮廓区域(像素)。" + }, + "delta_alpha": { + "label": "Delta alpha", + "description": "用于画面变动计算的帧差异中使用的 alpha 混合因子。" + }, + "frame_alpha": { + "label": "画面 alpha 通道", + "description": "画面变动预处理时混合画面所使用的 alpha 值。" + }, + "frame_height": { + "label": "画面高度", + "description": "计算画面变动时缩放画面的高度(像素)。" + }, + "mask": { + "label": "遮罩坐标", + "description": "定义用于包含/排除区域的画面变动遮罩多边形的有序 x,y 坐标。" + }, + "mqtt_off_delay": { + "label": "MQTT 关闭延迟", + "description": "在发布 MQTT 'off' 状态之前,最后一次画面变动后等待的秒数。" + }, + "enabled_in_config": { + "label": "原始画面变动状态", + "description": "指示原始静态配置中是否启用了画面变动检测。" + }, + "raw_mask": { + "label": "原始遮罩" + } + }, + "objects": { + "label": "目标", + "description": "目标追踪默认设置,包括要追踪的标签和按目标的过滤器。", + "track": { + "label": "要追踪的目标", + "description": "所有摄像头要追踪的目标标签列表;可按摄像头覆盖。" + }, + "filters": { + "label": "目标过滤器", + "description": "应用于检测到的目标以减少误报的过滤器(区域、比例、置信度)。", + "min_area": { + "label": "最小目标区域", + "description": "此目标类型所需的最小边界框区域(像素或百分比)。可以是像素(整数)或百分比(0.000001 到 0.99 之间的浮点数)。" + }, + "max_area": { + "label": "最大目标区域", + "description": "此目标类型允许的最大边界框区域(像素或百分比)。可以是像素(整数)或百分比(0.000001 到 0.99 之间的浮点数)。" + }, + "min_ratio": { + "label": "最小纵横比", + "description": "边界框所需的最小宽高比。" + }, + "max_ratio": { + "label": "最大纵横比", + "description": "边界框允许的最大宽高比。" + }, + "threshold": { + "label": "置信度阈值", + "description": "目标被视为真正阳性所需的平均检测置信度阈值。" + }, + "min_score": { + "label": "最小置信度", + "description": "目标被计入所需的最小单帧检测置信度。" + }, + "mask": { + "label": "过滤器遮罩", + "description": "定义此过滤器在帧内应用位置的多边形坐标。" + }, + "raw_mask": { + "label": "原始遮罩" + } + }, + "mask": { + "label": "目标遮罩", + "description": "用于防止在指定区域进行目标检测的遮罩多边形。" + }, + "raw_mask": { + "label": "原始遮罩" + }, + "genai": { + "label": "GenAI 目标配置", + "description": "用于描述追踪目标和发送帧进行生成的 GenAI 选项。", + "enabled": { + "label": "开启 GenAI", + "description": "默认启用 GenAI 生成追踪目标的描述。" + }, + "use_snapshot": { + "label": "使用快照", + "description": "使用目标快照而不是缩略图进行 GenAI 描述生成。" + }, + "prompt": { + "label": "字幕提示", + "description": "使用 GenAI 生成描述时使用的默认提示模板。" + }, + "object_prompts": { + "label": "目标提示", + "description": "用于自定义特定标签的 GenAI 输出的按目标提示。" + }, + "objects": { + "label": "GenAI 目标", + "description": "默认发送给 GenAI 的目标标签列表。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入才能符合 GenAI 描述生成条件的区域。" + }, + "debug_save_thumbnails": { + "label": "保存缩略图", + "description": "保存发送给 GenAI 的缩略图用于调试和核查。" + }, + "send_triggers": { + "label": "GenAI 触发器", + "description": "定义何时应将帧发送给 GenAI(结束时、更新后等)。", + "tracked_object_end": { + "label": "结束时发送", + "description": "当追踪目标结束时向 GenAI 发送请求。" + }, + "after_significant_updates": { + "label": "早期 GenAI 触发器", + "description": "在追踪目标进行指定次数的重大更新后向 GenAI 发送请求。" + } + }, + "enabled_in_config": { + "label": "原始 GenAI 状态", + "description": "指示原始静态配置中是否启用了 GenAI。" + } + } + }, + "record": { + "label": "录像", + "description": "应用于摄像头的录像和保留设置,除非按摄像头覆盖。", + "enabled": { + "label": "开启录像", + "description": "为所有摄像头启用或禁用录像;可按摄像头覆盖。" + }, + "expire_interval": { + "label": "录像清理间隔", + "description": "清理过期录像片段的间隔分钟数。" + }, + "continuous": { + "label": "持续保留", + "description": "无论是否有追踪目标或动作,保留录像的天数。如果只想保留警报和检测的录像,请设置为 0。", + "days": { + "label": "保留天数", + "description": "保留录像的天数。" + } + }, + "motion": { + "label": "动作保留", + "description": "无论是否有追踪目标,由动作触发的录像保留天数。如果只想保留警报和检测的录像,请设置为 0。", + "days": { + "label": "保留天数", + "description": "保留录像的天数。" + } + }, + "detections": { + "label": "检测保留", + "description": "检测事件的录像保留设置,包括前后捕获时长。", + "pre_capture": { + "label": "前捕获秒数", + "description": "检测事件之前包含在录像中的秒数。" + }, + "post_capture": { + "label": "后捕获秒数", + "description": "检测事件之后包含在录像中的秒数。" + }, + "retain": { + "label": "事件保留", + "description": "检测事件录像的保留设置。", + "days": { + "label": "保留天数", + "description": "保留检测事件录像的天数。" + }, + "mode": { + "label": "保留模式", + "description": "保留模式:all(保存所有片段)、motion(保存有动作的片段)或 active_objects(保存有活动目标的片段)。" + } + } + }, + "alerts": { + "label": "警报保留", + "description": "警报事件的录像保留设置,包括前后捕获时长。", + "pre_capture": { + "label": "前捕获秒数", + "description": "检测事件之前包含在录像中的秒数。" + }, + "post_capture": { + "label": "后捕获秒数", + "description": "检测事件之后包含在录像中的秒数。" + }, + "retain": { + "label": "事件保留", + "description": "检测事件录像的保留设置。", + "days": { + "label": "保留天数", + "description": "保留检测事件录像的天数。" + }, + "mode": { + "label": "保留模式", + "description": "保留模式:all(保存所有片段)、motion(保存有动作的片段)或 active_objects(保存有活动目标的片段)。" + } + } + }, + "export": { + "label": "导出配置", + "description": "导出录像时使用的设置,如延时摄影和硬件加速。", + "hwaccel_args": { + "label": "导出硬件加速参数", + "description": "用于导出/转码操作的硬件加速参数。" + } + }, + "preview": { + "label": "预览配置", + "description": "控制 UI 中显示的录像预览质量的设置。", + "quality": { + "label": "预览质量", + "description": "预览质量级别(very_low、low、medium、high、very_high)。" + } + }, + "enabled_in_config": { + "label": "原始录像状态", + "description": "指示原始静态配置中是否启用了录像。" + } + }, + "review": { + "label": "核查", + "description": "控制 UI 和存储使用的警报、检测和 GenAI 核查摘要的设置。", + "alerts": { + "label": "警报配置", + "description": "哪些追踪目标生成警报以及如何保留警报的设置。", + "enabled": { + "label": "开启警报", + "description": "为所有摄像头启用或禁用警报生成;可按摄像头覆盖。" + }, + "labels": { + "label": "警报标签", + "description": "符合警报条件的目标标签列表(例如:car、person)。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入才能被视为警报的区域;留空则允许任何区域。" + }, + "enabled_in_config": { + "label": "原始警报状态", + "description": "追踪原始静态配置中是否启用了警报。" + }, + "cutoff_time": { + "label": "警报截止时间", + "description": "在没有引起警报的活动后等待多少秒后截止警报。" + } + }, + "detections": { + "label": "检测配置", + "description": "创建检测事件(非警报)以及保留多长时间的设置。", + "enabled": { + "label": "开启检测", + "description": "为所有摄像头启用或禁用检测事件;可按摄像头覆盖。" + }, + "labels": { + "label": "检测标签", + "description": "符合检测事件条件的目标标签列表。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入才能被视为检测的区域;留空则允许任何区域。" + }, + "cutoff_time": { + "label": "检测截止时间", + "description": "在没有引起检测的活动后等待多少秒后截止检测。" + }, + "enabled_in_config": { + "label": "原始检测状态", + "description": "追踪原始静态配置中是否启用了检测。" + } + }, + "genai": { + "label": "GenAI 配置", + "description": "控制使用生成式 AI 为核查项生成描述和摘要。", + "enabled": { + "label": "开启 GenAI 描述", + "description": "为核查项启用或禁用 GenAI 生成的描述和摘要。" + }, + "alerts": { + "label": "为警报开启 GenAI", + "description": "使用 GenAI 为警报项生成描述。" + }, + "detections": { + "label": "为检测开启 GenAI", + "description": "使用 GenAI 为检测项生成描述。" + }, + "image_source": { + "label": "核查图像来源", + "description": "发送给 GenAI 的图像来源('preview' 或 'recordings');'recordings' 使用更高质量的帧但消耗更多 token。" + }, + "additional_concerns": { + "label": "额外关注事项", + "description": "GenAI 在评估此摄像头活动时应考虑的额外关注事项或备注列表。" + }, + "debug_save_thumbnails": { + "label": "保存缩略图", + "description": "保存发送给 GenAI 提供商的缩略图用于调试和核查。" + }, + "enabled_in_config": { + "label": "原始 GenAI 状态", + "description": "追踪原始静态配置中是否启用了 GenAI 核查。" + }, + "preferred_language": { + "label": "首选语言", + "description": "向 GenAI 提供商请求生成响应的首选语言。" + }, + "activity_context_prompt": { + "label": "活动上下文提示", + "description": "描述什么是和什么不是可疑活动的自定义提示,为 GenAI 摘要提供上下文。" + } + } + }, + "snapshots": { + "label": "快照", + "description": "所有摄像头的追踪目标 JPEG 快照保存设置;可按摄像头覆盖。", + "enabled": { + "label": "开启快照", + "description": "为所有摄像头启用或禁用保存快照;可按摄像头覆盖。" + }, + "clean_copy": { + "label": "保存干净副本", + "description": "除了带注释的快照外,还保存一份不带注释的干净快照副本。" + }, + "timestamp": { + "label": "时间戳叠加", + "description": "在保存的快照上叠加时间戳。" + }, + "bounding_box": { + "label": "边界框叠加", + "description": "在保存的快照上绘制追踪目标的边界框。" + }, + "crop": { + "label": "裁剪快照", + "description": "将保存的快照裁剪到检测到的目标边界框。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入才能保存快照的区域。" + }, + "height": { + "label": "快照高度", + "description": "将保存的快照调整到的目标高度(像素);留空则保持原始大小。" + }, + "retain": { + "label": "快照保留", + "description": "保存快照的保留设置,包括默认天数和按目标覆盖。", + "default": { + "label": "默认保留", + "description": "保留快照的默认天数。" + }, + "mode": { + "label": "保留模式", + "description": "保留模式:all(保存所有片段)、motion(保存有动作的片段)或 active_objects(保存有活动目标的片段)。" + }, + "objects": { + "label": "目标保留", + "description": "按目标覆盖的快照保留天数。" + } + }, + "quality": { + "label": "JPEG 质量", + "description": "保存快照的 JPEG 编码质量(0-100)。" + } + }, + "timestamp_style": { + "label": "时间戳样式", + "description": "应用于调试视图和快照的帧内时间戳样式选项。", + "position": { + "label": "时间戳位置", + "description": "时间戳在图像上的位置(tl/tr/bl/br)。" + }, + "format": { + "label": "时间戳格式", + "description": "用于时间戳的日期时间格式字符串(Python 日期时间格式代码)。" + }, + "color": { + "label": "时间戳颜色", + "description": "时间戳文本的 RGB 颜色值(所有值 0-255)。", + "red": { + "label": "红色", + "description": "时间戳颜色的红色分量(0-255)。" + }, + "green": { + "label": "绿色", + "description": "时间戳颜色的绿色分量(0-255)。" + }, + "blue": { + "label": "蓝色", + "description": "时间戳颜色的蓝色分量(0-255)。" + } + }, + "thickness": { + "label": "时间戳粗细", + "description": "时间戳文本的线条粗细。" + }, + "effect": { + "label": "时间戳效果", + "description": "时间戳文本的视觉效果(none、solid、shadow)。" + } + }, + "classification": { + "label": "目标分类", + "description": "用于优化目标标签或状态分类的分类模型设置。", + "bird": { + "label": "鸟类分类配置", + "description": "鸟类分类模型特定的设置。", + "enabled": { + "label": "鸟类分类", + "description": "启用或禁用鸟类分类。" + }, + "threshold": { + "label": "最小分数", + "description": "接受鸟类分类所需的最小分类分数。" + } + }, + "custom": { + "label": "自定义分类模型", + "description": "用于目标或状态检测的自定义分类模型配置。", + "enabled": { + "label": "开启模型", + "description": "启用或禁用自定义分类模型。" + }, + "name": { + "label": "模型名称", + "description": "要使用的自定义分类模型的标识符。" + }, + "threshold": { + "label": "分数阈值", + "description": "用于更改分类状态的分数阈值。" + }, + "save_attempts": { + "label": "保存尝试", + "description": "为最近分类 UI 保存多少次分类尝试。" + }, + "object_config": { + "objects": { + "label": "分类目标", + "description": "要运行目标分类的目标类型列表。" + }, + "classification_type": { + "label": "分类类型", + "description": "应用的分类类型:'sub_label'(添加 sub_label)或其他支持的类型。" + } + }, + "state_config": { + "cameras": { + "label": "分类摄像头", + "description": "用于运行状态分类的按摄像头裁剪和设置。", + "crop": { + "label": "分类裁剪", + "description": "用于在此摄像头上运行分类的裁剪坐标。" + } + }, + "motion": { + "label": "动作时运行", + "description": "启用后,当在指定裁剪区域内检测到动作时运行分类。" + }, + "interval": { + "label": "分类间隔", + "description": "状态分类的定期分类运行间隔(秒)。" + } + } + } + }, + "semantic_search": { + "label": "语义搜索", + "description": "用于构建和查询目标嵌入以查找相似项的语义搜索设置。", + "enabled": { + "label": "开启语义搜索", + "description": "启用或禁用语义搜索功能。" + }, + "reindex": { + "label": "启动时重建索引", + "description": "触发将历史追踪目标完全重新索引到嵌入数据库。" + }, + "model": { + "label": "语义搜索模型", + "description": "用于语义搜索的嵌入模型(例如 'jinav1')。" + }, + "model_size": { + "label": "模型大小", + "description": "选择模型大小;'small' 在 CPU 上运行,'large' 通常需要 GPU。" + }, + "device": { + "label": "设备", + "description": "这是一个覆盖选项,用于指定特定设备。请参阅 https://onnxruntime.ai/docs/execution-providers/ 了解更多信息" + }, + "triggers": { + "label": "触发器", + "description": "摄像头特定语义搜索触发器的操作和匹配条件。", + "friendly_name": { + "label": "友好名称", + "description": "在 UI 中为此触发器显示的可选友好名称。" + }, + "enabled": { + "label": "开启此触发器", + "description": "启用或禁用此语义搜索触发器。" + }, + "type": { + "label": "触发器类型", + "description": "触发器类型:'thumbnail'(与图像匹配)或 'description'(与文本匹配)。" + }, + "data": { + "label": "触发器内容", + "description": "要与追踪目标匹配的文本短语或缩略图 ID。" + }, + "threshold": { + "label": "触发器阈值", + "description": "激活此触发器所需的最小相似度分数(0-1)。" + }, + "actions": { + "label": "触发器操作", + "description": "触发器匹配时要执行的操作列表(通知、sub_label、属性)。" + } + } + }, + "lpr": { + "label": "车牌识别", + "description": "车牌识别设置,包括检测阈值、格式化和已知车牌。", + "enabled": { + "label": "开启 LPR", + "description": "为所有摄像头启用或禁用车牌识别;可按摄像头覆盖。" + }, + "model_size": { + "label": "模型大小", + "description": "用于文本检测/识别的模型大小。大多数用户应使用 'small'。" + }, + "detection_threshold": { + "label": "检测阈值", + "description": "开始对疑似车牌运行 OCR 的检测置信度阈值。" + }, + "min_area": { + "label": "最小车牌区域", + "description": "尝试识别所需的最小车牌区域(像素)。" + }, + "recognition_threshold": { + "label": "识别阈值", + "description": "识别的车牌文本作为子标签附加所需的置信度阈值。" + }, + "min_plate_length": { + "label": "最小车牌长度", + "description": "识别的车牌被视为有效所需的最小字符数。" + }, + "format": { + "label": "车牌格式正则", + "description": "用于验证识别的车牌字符串是否符合预期格式的可选正则表达式。" + }, + "match_distance": { + "label": "匹配距离", + "description": "将检测到的车牌与已知车牌比较时允许的字符不匹配数。" + }, + "known_plates": { + "label": "已知车牌", + "description": "要特别追踪或报警的车牌或正则表达式列表。" + }, + "enhancement": { + "label": "增强级别", + "description": "在 OCR 之前应用于车牌裁剪的增强级别(0-10);较高的值可能不总是改善结果,5 以上的级别可能仅适用于夜间车牌,应谨慎使用。" + }, + "debug_save_plates": { + "label": "保存调试车牌", + "description": "保存车牌裁剪图像用于调试 LPR 性能。" + }, + "device": { + "label": "设备", + "description": "这是一个覆盖选项,用于指定特定设备。请参阅 https://onnxruntime.ai/docs/execution-providers/ 了解更多信息" + }, + "replace_rules": { + "label": "替换规则", + "description": "用于在匹配之前规范化检测到的车牌字符串的正则替换规则。", + "pattern": { + "label": "正则模式" + }, + "replacement": { + "label": "替换字符串" + } + }, + "expire_time": { + "label": "过期秒数", + "description": "未见到的车牌从追踪器中过期的时间(秒)(仅适用于专用 LPR 摄像头)。" + } + }, + "camera_groups": { + "label": "摄像头分组", + "description": "用于在 UI 中组织摄像头的命名摄像头分组配置。", + "cameras": { + "label": "摄像头列表", + "description": "此分组中包含的摄像头名称数组。" + }, + "icon": { + "label": "分组图标", + "description": "在 UI 中代表摄像头分组的图标。" + }, + "order": { + "label": "排序顺序", + "description": "用于在 UI 中对摄像头分组进行排序的数字顺序;数值越大越靠后。" + } + }, + "camera_mqtt": { + "label": "MQTT", + "description": "MQTT 图像发布设置。", + "enabled": { + "label": "发送图像", + "description": "为此摄像头启用将目标快照图像发布到 MQTT 主题。" + }, + "timestamp": { + "label": "添加时间戳", + "description": "在发布到 MQTT 的图像上叠加时间戳。" + }, + "bounding_box": { + "label": "添加边界框", + "description": "在通过 MQTT 发布的图像上绘制边界框。" + }, + "crop": { + "label": "裁剪图像", + "description": "将发布到 MQTT 的图像裁剪到检测到的目标边界框。" + }, + "height": { + "label": "图像高度", + "description": "通过 MQTT 发布的图像调整到的目标高度(像素)。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入才能发布 MQTT 图像的区域。" + }, + "quality": { + "label": "JPEG 质量", + "description": "发布到 MQTT 的图像的 JPEG 质量(0-100)。" + } + }, + "camera_ui": { + "label": "摄像头 UI", + "description": "此摄像头在 UI 中的显示顺序和可见性。顺序影响默认仪表板。如需更精细的控制,请使用摄像头分组。", + "order": { + "label": "UI 顺序", + "description": "用于在 UI 中对摄像头进行排序的数字顺序(默认仪表板和列表);数值越大越靠后。" + }, + "dashboard": { + "label": "在 UI 中显示", + "description": "切换此摄像头在 Frigate UI 中是否可见。禁用后需要手动编辑配置才能再次在 UI 中查看此摄像头。" + } + }, + "onvif": { + "label": "ONVIF", + "description": "此摄像头的 ONVIF 连接和 PTZ 自动追踪设置。", + "host": { + "label": "ONVIF 主机", + "description": "此摄像头 ONVIF 服务的主机(和可选协议)。" + }, + "port": { + "label": "ONVIF 端口", + "description": "ONVIF 服务的端口号。" + }, + "user": { + "label": "ONVIF 用户名", + "description": "ONVIF 身份验证的用户名;某些设备需要管理员用户才能使用 ONVIF。" + }, + "password": { + "label": "ONVIF 密码", + "description": "ONVIF 身份验证的密码。" + }, + "tls_insecure": { + "label": "禁用 TLS 验证", + "description": "跳过 TLS 验证并禁用 ONVIF 的摘要认证(不安全;仅用于安全网络)。" + }, + "autotracking": { + "label": "自动追踪", + "description": "使用 PTZ 摄像头移动自动追踪移动目标并使其保持在画面中心。", + "enabled": { + "label": "开启自动追踪", + "description": "启用或禁用检测目标的自动 PTZ 摄像头追踪。" + }, + "calibrate_on_startup": { + "label": "启动时校准", + "description": "在启动时测量 PTZ 电机速度以提高追踪精度。Frigate 将在校准后用 movement_weights 更新配置。" + }, + "zooming": { + "label": "变焦模式", + "description": "控制变焦行为:disabled(仅平移/倾斜)、absolute(最兼容)或 relative(同时平移/倾斜/变焦)。" + }, + "zoom_factor": { + "label": "变焦因子", + "description": "控制追踪目标的变焦级别。数值越低保持更多场景可见;数值越高放大更近但可能丢失追踪。数值范围 0.1 到 0.75。" + }, + "track": { + "label": "追踪目标", + "description": "应触发自动追踪的目标类型列表。" + }, + "required_zones": { + "label": "必需区域", + "description": "目标必须进入这些区域之一才能开始自动追踪。" + }, + "return_preset": { + "label": "返回预设", + "description": "追踪结束后返回的摄像头固件中配置的 ONVIF 预设名称。" + }, + "timeout": { + "label": "返回超时", + "description": "失去追踪后等待多少秒后将摄像头返回到预设位置。" + }, + "movement_weights": { + "label": "移动权重", + "description": "由摄像头校准自动生成的校准值。请勿手动修改。" + }, + "enabled_in_config": { + "label": "原始自动追踪状态", + "description": "用于追踪配置中是否启用自动追踪的内部字段。" + } + }, + "ignore_time_mismatch": { + "label": "忽略时间不匹配", + "description": "忽略 ONVIF 通信中摄像头和 Frigate 服务器之间的时间同步差异。" + } + } +} diff --git a/web/public/locales/zh_Hans/config/groups.json b/web/public/locales/zh_Hans/config/groups.json index 0967ef424..3311c1214 100644 --- a/web/public/locales/zh_Hans/config/groups.json +++ b/web/public/locales/zh_Hans/config/groups.json @@ -1 +1,73 @@ -{} +{ + "audio": { + "global": { + "detection": "全局检测", + "sensitivity": "全局灵敏度" + }, + "cameras": { + "detection": "检测", + "sensitivity": "灵敏度" + } + }, + "timestamp_style": { + "global": { + "appearance": "全局外观" + }, + "cameras": { + "appearance": "外观" + } + }, + "motion": { + "global": { + "sensitivity": "全局灵敏度", + "algorithm": "全局算法" + }, + "cameras": { + "sensitivity": "灵敏度", + "algorithm": "算法" + } + }, + "snapshots": { + "global": { + "display": "全局显示" + }, + "cameras": { + "display": "显示" + } + }, + "record": { + "global": { + "retention": "全局保留", + "events": "全局事件" + }, + "cameras": { + "retention": "保留", + "events": "事件" + } + }, + "detect": { + "global": { + "resolution": "全局分辨率", + "tracking": "全局追踪" + }, + "cameras": { + "resolution": "分辨率", + "tracking": "追踪" + } + }, + "objects": { + "global": { + "tracking": "全局追踪", + "filtering": "全局筛选" + }, + "cameras": { + "tracking": "追踪", + "filtering": "筛选" + } + }, + "ffmpeg": { + "cameras": { + "cameraFfmpeg": "摄像头特定的 FFmpeg 参数" + } + } +}