From 83cfd6be92e92d5c9bc2ab278658547985c4c86b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:08:50 +0200 Subject: [PATCH 01/16] Translated using Weblate (Turkish) Currently translated at 99.0% (108 of 109 strings) Translated using Weblate (Turkish) Currently translated at 99.0% (108 of 109 strings) Co-authored-by: Hosted Weblate Co-authored-by: Turhan Munis Co-authored-by: drol Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/tr/ Translation: Frigate NVR/components-dialog --- web/public/locales/tr/components/dialog.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/web/public/locales/tr/components/dialog.json b/web/public/locales/tr/components/dialog.json index 323fe5d331..676f00f85d 100644 --- a/web/public/locales/tr/components/dialog.json +++ b/web/public/locales/tr/components/dialog.json @@ -30,6 +30,9 @@ "label": "Bu etiketi Frigate+ için onaylayın", "ask_a": "Bu nesne bir {{label}} mi?", "ask_full": "Bu nesne bir {{untranslatedLabel}} ({{translatedLabel}}) nesnesi mi?" + }, + "toast": { + "error": "Frigate+'a gönderilemedi. Lütfen ağ bağlantınızı kontrol edin ve tekrar deneyin." } }, "submitToPlus": { @@ -62,7 +65,7 @@ "toast": { "success": "Dışa aktarma başarıyla başlatıldı. Dosyayı dışa aktarmalar sayfasında görüntüleyebilirsiniz.", "error": { - "failed": "Dışa aktarım başlatılamadı: {{error}}", + "failed": "Dışa aktarım sıraya alınamadı: {{error}}", "endTimeMustAfterStartTime": "Bitiş zamanı başlangıç zamanından sonra olmalıdır", "noVaildTimeSelected": "Geçerli bir zaman aralığı seçilmedi" }, From a49afc4fe29983ebc5485cf3bdab6bde8180a198 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:08:58 +0200 Subject: [PATCH 02/16] Translated using Weblate (Latvian) Currently translated at 27.1% (136 of 501 strings) Co-authored-by: Alex K Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/lv/ Translation: Frigate NVR/audio --- web/public/locales/lv/audio.json | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/web/public/locales/lv/audio.json b/web/public/locales/lv/audio.json index 56bab07d93..79b0e22c97 100644 --- a/web/public/locales/lv/audio.json +++ b/web/public/locales/lv/audio.json @@ -68,8 +68,8 @@ "choir": "Koris", "yodeling": "Jodelēšana", "mantra": "Mantra", - "rapping": "Repot", - "whistling": "Svilpot", + "rapping": "Repošana", + "whistling": "Svilpošana", "sniff": "Ošņāt", "hands": "Rokas", "animal": "Dzīvnieks", @@ -122,5 +122,17 @@ "fireworks": "Uguņošana", "glass": "Stikls", "white_noise": "Baltais troksnis", - "radio": "Radio" + "radio": "Radio", + "chant": "Piedziedājums", + "synthetic_singing": "Sintētiskā dziedāšana", + "groan": "Vaidēšana", + "grunt": "Rukšķēšana", + "breathing": "Elpošana", + "wheeze": "Gārgšana", + "snoring": "Krākšana", + "gasp": "Elsošana", + "pant": "Elšana", + "snort": "Šņaukt", + "cough": "Klepus", + "throat_clearing": "Kakla tīrīšana" } From 2d7a5a0af1af5aec8e3e4f689865b6c2e9471c81 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:04 +0200 Subject: [PATCH 03/16] Translated using Weblate (Portuguese (Brazil)) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 33.9% (274 of 808 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 58.2% (276 of 474 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 53.4% (69 of 129 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 39.6% (510 of 1287 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (109 of 109 strings) Co-authored-by: Hosted Weblate Co-authored-by: Rinaldo Pitzer Júnior Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pt_BR/ 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/views-classificationmodel/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt_BR/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-settings --- .../locales/pt-BR/components/dialog.json | 14 ++++++++++---- web/public/locales/pt-BR/config/cameras.json | 19 +++++++++++++++++-- web/public/locales/pt-BR/config/global.json | 19 +++++++++++++++++-- .../pt-BR/views/classificationModel.json | 12 ++++++------ web/public/locales/pt-BR/views/settings.json | 6 +++--- 5 files changed, 53 insertions(+), 17 deletions(-) diff --git a/web/public/locales/pt-BR/components/dialog.json b/web/public/locales/pt-BR/components/dialog.json index 7f877adadb..cb556d684c 100644 --- a/web/public/locales/pt-BR/components/dialog.json +++ b/web/public/locales/pt-BR/components/dialog.json @@ -19,8 +19,8 @@ "question": { "label": "Confirmar esse rótulo para Frigate Plus", "ask_a": "Este objeto é um {{label}}?", - "ask_an": "Este objeto é um{{label}}?", - "ask_full": "Este objeto é um{{untranslatedLabel}} ({{translatedLabel}})?" + "ask_an": "Este objeto é um {{label}}?", + "ask_full": "Este objeto é um {{untranslatedLabel}} ({{translatedLabel}})?" }, "state": { "submitted": "Enviado" @@ -71,7 +71,10 @@ "batchQueueFailed": "Falha ao enfileirar {{total}} exportações. Câmeras com falha: {{failedCameras}}", "batchPartial": "Iniciadas {{successful}} de {{total}} exportações. Câmeras com falha: {{failedCameras}}", "batchFailed": "Falha ao iniciar {{total}} exportações. Câmeras com falha: {{failedCameras}}", - "queued": "Exportação na fila. Acompanhe o progresso na página de exportações." + "queued": "Exportação na fila. Acompanhe o progresso na página de exportações.", + "batchSuccess_one": "1 exportação iniciada. Abrindo o caso agora.", + "batchSuccess_many": "{{count}} exportações iniciadas. Abrindo o caso agora.", + "batchSuccess_other": "{{count}} exportações iniciadas. Abrindo o caso agora." }, "fromTimeline": { "saveExport": "Salvar Exportação", @@ -132,7 +135,10 @@ "started_many": "Iniciadas {{count}} exportações. Abrindo o caso agora.", "started_other": "", "failed": "Falha ao iniciar {{total}} exportações. Falhas: {{failedItems}}", - "partial": "Iniciadas {{successful}} de {{total}} exportações. Falhas: {{failedItems}}" + "partial": "Iniciadas {{successful}} de {{total}} exportações. Falhas: {{failedItems}}", + "startedNoCase_one": "1 exportação iniciada.", + "startedNoCase_many": "{{count}} exportações iniciadas.", + "startedNoCase_other": "{{count}} exportações iniciadas." } } }, diff --git a/web/public/locales/pt-BR/config/cameras.json b/web/public/locales/pt-BR/config/cameras.json index 4be948c526..51222d7e51 100644 --- a/web/public/locales/pt-BR/config/cameras.json +++ b/web/public/locales/pt-BR/config/cameras.json @@ -215,7 +215,8 @@ "label": "Birdseye", "description": "Configurações para a visualização composta \"Birdseye\", que combina múltiplas transmissões de câmera em um único layout.", "enabled": { - "label": "Ativar Birdseye" + "label": "Ativar Birdseye", + "description": "Habilita ou desabilita a função Birdseye." } }, "live": { @@ -401,7 +402,9 @@ "enhancement": { "label": "Nível de aprimoramento", "description": "Nível de aprimoramento (0-10) a ser aplicado aos recortes da placa antes do OCR; valores mais altos nem sempre melhoram os resultados, e níveis acima de 5 podem funcionar apenas com placas noturnas, devendo ser utilizados com cautela." - } + }, + "label": "Reconhecimento de placa veicular", + "description": "Configurações de reconhecimento de placa veicular, incluindo limites de detecção, formatação e placas conhecidas." }, "record": { "label": "Gravação", @@ -539,6 +542,18 @@ "enabled": { "label": "Ativar detecções", "description": "Ative ou desative eventos de detecção para esta câmera." + }, + "labels": { + "label": "Rótulos de detecção", + "description": "Lista de rótulos de objetos que são considerados eventos de detecção." + }, + "required_zones": { + "label": "Zonas requeridas", + "description": "Zonas em que um objeto deve entrar para ser considerado detectado. Deixe em branco para permitir qualquer zona." + }, + "cutoff_time": { + "label": "Tempo limite de detecção", + "description": "Segundos a esperar após o fim da atividade antes de encerrar a detecção." } } } diff --git a/web/public/locales/pt-BR/config/global.json b/web/public/locales/pt-BR/config/global.json index 1cf4a289ef..50e82e81ce 100644 --- a/web/public/locales/pt-BR/config/global.json +++ b/web/public/locales/pt-BR/config/global.json @@ -239,7 +239,8 @@ "label": "Birdseye", "description": "Configurações para a visualização composta \"Birdseye\", que combina múltiplas transmissões de câmera em um único layout.", "enabled": { - "label": "Ativar Birdseye" + "label": "Ativar Birdseye", + "description": "Habilita ou desabilita a função Birdseye." } }, "live": { @@ -420,7 +421,9 @@ "enhancement": { "label": "Nível de aprimoramento", "description": "Nível de aprimoramento (0-10) a ser aplicado aos recortes da placa antes do OCR; valores mais altos nem sempre melhoram os resultados, e níveis acima de 5 podem funcionar apenas com placas noturnas, devendo ser utilizados com cautela." - } + }, + "label": "Reconhecimento de placa veicular", + "description": "Configurações de reconhecimento de placa veicular, incluindo limites de detecção, formatação e placas conhecidas." }, "record": { "label": "Gravação", @@ -553,6 +556,18 @@ "description": "Configurações que definem para quais objetos rastreados são geradas detecções (sem gerar alerta) e como essas detecções são retidas.", "enabled": { "label": "Ativar detecções" + }, + "labels": { + "label": "Rótulos de detecção", + "description": "Lista de rótulos de objetos que são considerados eventos de detecção." + }, + "required_zones": { + "label": "Zonas requeridas", + "description": "Zonas em que um objeto deve entrar para ser considerado detectado. Deixe em branco para permitir qualquer zona." + }, + "cutoff_time": { + "label": "Tempo limite de detecção", + "description": "Segundos a esperar após o fim da atividade antes de encerrar a detecção." } } } diff --git a/web/public/locales/pt-BR/views/classificationModel.json b/web/public/locales/pt-BR/views/classificationModel.json index 39bc880a87..b8fd6043bc 100644 --- a/web/public/locales/pt-BR/views/classificationModel.json +++ b/web/public/locales/pt-BR/views/classificationModel.json @@ -12,12 +12,12 @@ }, "toast": { "success": { - "deletedCategory_one": "Classe Apagada", - "deletedCategory_many": "Classes apagadas", - "deletedCategory_other": "", - "deletedImage_one": "Imagen Apagada", - "deletedImage_many": "Imagens Apagadas", - "deletedImage_other": "", + "deletedCategory_one": "{{count}} classe removida", + "deletedCategory_many": "{{count}} classes removidas", + "deletedCategory_other": "{{count}} classes removidas", + "deletedImage_one": "{{count}} imagem removida", + "deletedImage_many": "{{count}} imagens removidas", + "deletedImage_other": "{{count}} imagens removidas", "categorizedImage": "Imagem Classificada com Sucesso", "trainedModel": "Modelo treinado com sucesso.", "trainingModel": "Treinamento do modelo iniciado com sucesso.", diff --git a/web/public/locales/pt-BR/views/settings.json b/web/public/locales/pt-BR/views/settings.json index 00d86e28b1..f43a286b9f 100644 --- a/web/public/locales/pt-BR/views/settings.json +++ b/web/public/locales/pt-BR/views/settings.json @@ -296,7 +296,7 @@ } }, "motionMaskLabel": "Máscara de Movimento {{number}}", - "objectMaskLabel": "Máscara de Objeto {{number}} ({{label}})", + "objectMaskLabel": "Máscara de Objeto {{number}}", "form": { "zoneName": { "error": { @@ -437,7 +437,7 @@ "add": "Nova Máscara de Movimento", "edit": "Editar Máscara de Movimento", "context": { - "title": "Máscaras de movimento são usadas para prevenir tipos de movimento não desejados de ativarem uma detecção (exemplo: galhos de árvores, timestamps de câmeras). Máscaras de movimento devem ser usadas com moderação . Excesso de mascaramento tornará o rastreamento de objetos mais difícil.", + "title": "Máscaras de movimento são usadas para prevenir tipos de movimento não desejados de ativarem uma detecção (exemplo: galhos de árvores, timestamps de câmeras). Máscaras de movimento devem ser usadas com moderação. Excesso de mascaramento tornará o rastreamento de objetos mais difícil.", "documentation": "Leia a documentação" }, "point_one": "{{count}} ponto", @@ -723,7 +723,7 @@ "title": "Configuração de Captura de Imagem", "desc": "Envios ao Frigate+ requerem tanto a captura de imagem normais quanto a captura de imagem clean_copy estarem habilitadas na sua configuração.", "documentation": "Leia a documentação", - "cleanCopyWarning": "Algumas câmeras possuem captura de imagem habilitada porém têm a cópia limpa desabilitada. Você precisa habilitar a clean_copy nas suas configurações de captura de imagem para poder submeter imagems dessa câmera ao Frigate+.", + "cleanCopyWarning": "Algumas câmeras estão com os snapshots desativados", "table": { "camera": "Câmera", "snapshots": "Capturas de Imagem", From e31a6c11d0e3ae4e0b5bc6c2f1f25dce378d4e01 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:08 +0200 Subject: [PATCH 04/16] Translated using Weblate (Estonian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 20.2% (164 of 808 strings) Translated using Weblate (Estonian) Currently translated at 15.1% (72 of 474 strings) Translated using Weblate (Estonian) Currently translated at 28.5% (367 of 1287 strings) Translated using Weblate (Estonian) Currently translated at 100.0% (109 of 109 strings) Translated using Weblate (Estonian) Currently translated at 100.0% (60 of 60 strings) Translated using Weblate (Estonian) Currently translated at 100.0% (45 of 45 strings) Translated using Weblate (Estonian) Currently translated at 100.0% (62 of 62 strings) Translated using Weblate (Estonian) Currently translated at 100.0% (54 of 54 strings) Translated using Weblate (Estonian) Currently translated at 100.0% (54 of 54 strings) Translated using Weblate (Estonian) Currently translated at 20.2% (164 of 808 strings) Translated using Weblate (Estonian) Currently translated at 20.2% (164 of 808 strings) Translated using Weblate (Estonian) Currently translated at 14.9% (71 of 474 strings) Translated using Weblate (Estonian) Currently translated at 14.9% (71 of 474 strings) Translated using Weblate (Estonian) Currently translated at 80.8% (152 of 188 strings) Translated using Weblate (Estonian) Currently translated at 28.4% (366 of 1287 strings) Translated using Weblate (Estonian) Currently translated at 28.4% (366 of 1287 strings) Translated using Weblate (Estonian) Currently translated at 98.3% (59 of 60 strings) Translated using Weblate (Estonian) Currently translated at 61.6% (53 of 86 strings) Translated using Weblate (Estonian) Currently translated at 75.8% (110 of 145 strings) Translated using Weblate (Estonian) Currently translated at 14.7% (19 of 129 strings) Translated using Weblate (Estonian) Currently translated at 11.3% (92 of 808 strings) Translated using Weblate (Estonian) Currently translated at 8.2% (39 of 474 strings) Translated using Weblate (Estonian) Currently translated at 47.8% (90 of 188 strings) Translated using Weblate (Estonian) Currently translated at 100.0% (109 of 109 strings) Translated using Weblate (Estonian) Currently translated at 67.6% (339 of 501 strings) Co-authored-by: Hosted Weblate Co-authored-by: Priit Jõerüüt Co-authored-by: Rasmus Kuusmann Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-chat/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/et/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/et/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/audio Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-chat Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-motionSearch Translation: Frigate NVR/views-replay Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/et/audio.json | 66 ++- web/public/locales/et/components/dialog.json | 82 +++- web/public/locales/et/config/cameras.json | 179 +++++++- web/public/locales/et/config/global.json | 426 +++++++++++++++++- web/public/locales/et/views/chat.json | 64 ++- .../locales/et/views/classificationModel.json | 3 + web/public/locales/et/views/explore.json | 98 +++- web/public/locales/et/views/exports.json | 46 +- web/public/locales/et/views/faceLibrary.json | 69 ++- web/public/locales/et/views/motionSearch.json | 76 +++- web/public/locales/et/views/replay.json | 45 +- web/public/locales/et/views/settings.json | 195 +++++++- web/public/locales/et/views/system.json | 198 +++++++- 13 files changed, 1491 insertions(+), 56 deletions(-) diff --git a/web/public/locales/et/audio.json b/web/public/locales/et/audio.json index 541ffa88ce..42a98bbc3a 100644 --- a/web/public/locales/et/audio.json +++ b/web/public/locales/et/audio.json @@ -273,5 +273,69 @@ "sailboat": "Purjekas", "soundtrack_music": "Filmimuusika", "jingle": "Kõlisemine/tilisemine", - "theme_music": "Tunnusmuusika" + "theme_music": "Tunnusmuusika", + "steel_guitar": "Steel Kitarr", + "tapping": "Koputamine", + "strum": "Klimberdus", + "drum_machine": "Trummimasin", + "drum": "Trumm", + "maraca": "Marakas", + "bowed_string_instrument": "Poogenkeelpill", + "singing_bowl": "Helikauss", + "wind_noise": "Tuulemüra", + "rustling_leaves": "Sahisevad lehed", + "waves": "Lained", + "steam": "Aur", + "ship": "Laev", + "motor_vehicle": "Mootorsõiduk", + "rowboat": "Sõudepaat", + "motorboat": "Mootorpaat", + "waterfall": "Kosk", + "ocean": "Ookean", + "rain_on_surface": "Vihm pinnal", + "stream": "Oja", + "fire": "Tuli", + "crackle": "Praksumine", + "car_alarm": "Auto alarm", + "truck": "Veoauto", + "police_car": "Politseiauto", + "ambulance": "Kiirabi", + "fire_engine": "Tuletõrjeauto", + "aircraft": "Lennuk", + "aircraft_engine": "Lennukimootor", + "jet_engine": "Reaktiivmootor", + "propeller": "Propeller", + "helicopter": "Helikopter", + "fixed-wing_aircraft": "Fikseeritud tiivaga õhusõiduk", + "train_horn": "Rongisignaal", + "railroad_car": "Kaubavagun", + "lawn_mower": "Muruniiduk", + "chainsaw": "mootorsaag", + "engine": "Mootor", + "knock": "Koputus", + "alarm": "Häire", + "siren": "Sireen", + "fire_alarm": "Tulekahjuhäire", + "telephone": "Telefon", + "telephone_bell_ringing": "Helisev telefon", + "ringtone": "Telefonihelin", + "smoke_detector": "Suitsuandur", + "foghorn": "Udupasun", + "whistle": "Vile", + "printer": "Printer", + "drill": "Puur", + "explosion": "Plahvatus", + "hammer": "Haamer", + "air_conditioning": "Õhukonditsioneer", + "gunshot": "Püssilask", + "glass": "Klaas", + "boom": "Pauk", + "fireworks": "Ilutulestik", + "static": "Staatiline", + "white_noise": "Valge müra", + "radio": "Raadio", + "television": "Televiisor", + "scream": "Karjumine", + "pour": "Valamine", + "drip": "Tilkumine" } diff --git a/web/public/locales/et/components/dialog.json b/web/public/locales/et/components/dialog.json index e185d01c9e..bb80b643a2 100644 --- a/web/public/locales/et/components/dialog.json +++ b/web/public/locales/et/components/dialog.json @@ -37,6 +37,9 @@ "ask_an": "Kas see objekt on {{label}}?", "ask_full": "Kas see objekt on {{untranslatedLabel}} ({{translatedLabel}})?", "label": "Kinnita see silt Frigate+ teenuse jaoks" + }, + "toast": { + "error": "Frigate+ teenusesse saatmine ebaõnnestus. Palun kontrolli oma võrguühendust ja proovi uuesti." } }, "submitToPlus": { @@ -70,18 +73,79 @@ "success": "Eksportimise käivitamine õnnestus. Faili leiad eksportimise lehelt.", "view": "Vaata", "error": { - "failed": "Eksportimise käivitamine ei õnnestunud: {{error}}", + "failed": "Eksportimise järjekorda lisamine ei õnnestunud: {{error}}", "endTimeMustAfterStartTime": "Ajavahemiku lõpp peab olema peale algust", - "noVaildTimeSelected": "Ühtegi kehtivat ajavahemikku pole valitud" - } + "noVaildTimeSelected": "Ühtegi kehtivat ajavahemikku pole valitud", + "noValidTimeSelected": "Ühtegi korrektset ajavahemikku pole valitud" + }, + "queued": "Eksport on järjekorda lisatud. Vaata progressi eksportide lehelt.", + "batchSuccess_one": "Alustasin 1 ekspordiga. Avan juhtumi kohe.", + "batchSuccess_other": "Alustasin {{count}} ekspordiga. Avan juhtumi kohe.", + "batchPartial": "Alustasin {{successful}}/{{total}} ekspordiga. Ebaõnnestunud kaamerad: {{failedCameras}}", + "batchFailed": "{{total}} eksporti ebaõnnestus algatada. Ebaõnnestunud kaamerad: {{failedCameras}}", + "batchQueuedSuccess_one": "1 eksport järjekorda lisatud. Avan juhtumi kohe.", + "batchQueuedSuccess_other": "{{count}} eksporti järjekorda lisatud. Avan juhtumi kohe.", + "batchQueuedPartial": "{{successful}}/{{total}} ekspordist on järjekorda lisatud. Ebaõnnestunud kaamerad: {{failedCameras}}", + "batchQueueFailed": "{{total}} eksporti ebaõnnestus järjekorda lisada. Ebaõnnestunud kaamerad: {{failedCameras}}" }, "fromTimeline": { "saveExport": "Salvesta eksporditud sisu", - "previewExport": "Eksporditud sisu eelvaade" + "previewExport": "Eksporditud sisu eelvaade", + "queueingExport": "Ekspordi järjekorda lisamine...", + "useThisRange": "Kasuta seda vahemikku" }, "case": { "label": "Juhtum", - "placeholder": "Vali juhtum" + "placeholder": "Vali juhtum", + "newCaseOption": "Ava uus juhtum", + "newCaseNamePlaceholder": "Uue juhtumi nimi", + "newCaseDescriptionPlaceholder": "Juhtumi kirjeldus", + "nonAdminHelp": "Uus juhtum avatakse järnevatele eksportidele." + }, + "queueing": "Ekspordi järjekorda lisamine...", + "tabs": { + "export": "Üksik kaamera", + "multiCamera": "Mitu kaamerat" + }, + "multiCamera": { + "timeRange": "Ajavahemik", + "selectFromTimeline": "Vali ajajoonelt", + "cameraSelection": "Kaamerad", + "cameraSelectionHelp": "Selles ajavahemikus tuvastatud objektidega kaamerad on eelvalitud", + "searchOrSelectGroup": "Otsi või vali kaamera grupp...", + "selectAll": "Vali kõik kaamerad", + "clearSelection": "Tühista valik", + "selectWithActivity": "Jälgitud objektidega kaamerad", + "selectGroup": "Vali grupp", + "noMatchingCameras": "Ükski kaamera ei sobitunud otsinguga", + "selectedCount": "{{selected}} / {{total}} valitud", + "checkingActivity": "Kaamera aktiivsuse kontrollimine...", + "noCameras": "Ühtegi kaamerat pole saadaval", + "detectionCount_one": "1 jälgitav objekt", + "detectionCount_other": "{{count}} jälgitavat objekti", + "nameLabel": "Ekspordi nimi", + "namePlaceholder": "Valikuline baasnimi nendele eksportidele", + "queueingButton": "Ekspordi järjekorda lisamine...", + "exportButton_one": "Ekspordi 1 kaamera", + "exportButton_other": "Ekspordi {{count}} kaamerat" + }, + "multi": { + "title_one": "Ekspordi 1 ülevaade", + "title_other": "Espordi {{count}} ülevaadet", + "description": "Ekspordi valitud ülevaated. Kõik ekspordid on grupeeritud ühte juhtumisse.", + "descriptionNoCase": "Ekspordi kõik valitud juhtumid.", + "caseNamePlaceholder": "Ülevaate eksport - {{date}}", + "exportButton_one": "Ekspordi 1 ülevaade", + "exportButton_other": "Ekspordi {{count}} ülevaadet", + "exportingButton": "Ekspordin...", + "toast": { + "started_one": "Alustasin 1 eksporti. Avan juhtumi kohe.", + "started_other": "Alustasin {{count}} ekspordiga. Avan juhtumi kohe.", + "startedNoCase_one": "Alustasin 1 ekspordiga.", + "startedNoCase_other": "Alustasin {{count}} ekspordiga.", + "partial": "Alustasin {{successful}}/{{total}} ekspordiga. Ebaõnnestusid: {{failedItems}}", + "failed": "{{total}} ekspordi algatamine ebaõnnestus. Ebaõnnestunud: {{failedItems}}" + } } }, "streaming": { @@ -114,6 +178,14 @@ "success": "Selle ülevaadatava objektiga seotud videosisu on kustutatud.", "error": "Kustutamine ei õnnestunud: {{error}}" } + }, + "shareTimestamp": { + "label": "Jaotise ajatempel", + "title": "Jaotise ajatempel", + "description": "Jaga praeguse esituskoha ajatempliga URL-i või vali kohandatud ajatempel. Arvesta, et see ei ole avalik jagamislink ja on kättesaadav ainult kasutajatele, kellel on ligipääs Frigate'ile ja sellele kaamerale.", + "custom": "Kohandatud ajatempel", + "button": "Jaga ajatempliga linki", + "shareTitle": "Frigate ülevaate ajatempel: {{camera}}" } }, "imagePicker": { diff --git a/web/public/locales/et/config/cameras.json b/web/public/locales/et/config/cameras.json index 157daddb4c..beaf94b47f 100644 --- a/web/public/locales/et/config/cameras.json +++ b/web/public/locales/et/config/cameras.json @@ -12,11 +12,20 @@ "description": "Kasutusel" }, "audio": { - "label": "Helisündmused" + "label": "Heli tuvastus", + "min_volume": { + "label": "Minimaalne helitase" + }, + "filters": { + "label": "Audio filtrid" + } }, "birdseye": { "mode": { "label": "Jälgimisrežiim" + }, + "order": { + "label": "Positsioon" } }, "label": "Kaameraseadistus", @@ -25,7 +34,8 @@ "threshold": { "description": "Minimaalne sarnasuse punktiskoor (0-1), mis on vajalik selle päästiku käivitamiseks." } - } + }, + "label": "Semantiline otsing" }, "lpr": { "label": "Sõidukite numbrimärkide tuvastus", @@ -34,6 +44,171 @@ "review": { "genai": { "description": "Kontrollib generatiivse tehisaru kasutamist kirjelduste ja kokkuvõtete koostamiseks ülevaatamisele kuuluvate objektide jaoks." + }, + "alerts": { + "enabled": { + "label": "Luba häired" + } } + }, + "audio_transcription": { + "label": "Audio transkriptsioon", + "live_enabled": { + "label": "Reaalajas transkriptsioon" + }, + "enabled": { + "label": "Luba heli üleskirjutamine tekstina" + } + }, + "detect": { + "label": "Objekti tuvastus", + "enabled": { + "label": "Luba objektituvastus" + }, + "height": { + "label": "Tuvastamise kõrgus" + }, + "width": { + "label": "Tuvastamise laius" + }, + "fps": { + "label": "Tuvastamise kaadrisagedus" + }, + "stationary": { + "label": "Püsivate objektide sätted" + } + }, + "face_recognition": { + "label": "Näotuvastus" + }, + "ffmpeg": { + "path": { + "label": "FFmpeg asukoht" + }, + "gpu": { + "label": "GPU indeks" + }, + "inputs": { + "global_args": { + "label": "FFmpeg globaalsed argumendid" + } + } + }, + "live": { + "label": "Reaalajas mahamängimine", + "height": { + "label": "Otseülekande kõrgus" + }, + "quality": { + "label": "Otseülekande kvaliteet" + }, + "streams": { + "label": "Otseülekande voo nimed" + } + }, + "motion": { + "label": "Liikumistuvastus", + "frame_height": { + "label": "Kaadri kõrgus" + }, + "enabled": { + "label": "Luba liikumistuvastus" + } + }, + "objects": { + "label": "Objektid", + "filters": { + "min_area": { + "label": "Minimaalne objekti ala" + }, + "max_area": { + "label": "Maksimaalne objekti ala" + } + }, + "genai": { + "label": "GenAI objekti konfiguratsioon", + "required_zones": { + "label": "Nõutud tsoonid" + }, + "debug_save_thumbnails": { + "label": "Salvesta pisipildid" + }, + "enabled": { + "label": "Luba GenAI" + }, + "use_snapshot": { + "label": "Kasuta hetktõmmiseid" + } + } + }, + "mqtt": { + "label": "MQTT" + }, + "notifications": { + "enabled": { + "label": "Luba teavitused" + }, + "email": { + "label": "Teavituste email" + }, + "label": "Teavitused" + }, + "ui": { + "label": "Kaamera kasutajaliides" + }, + "record": { + "label": "Salvestus", + "enabled": { + "label": "Luba salvestamine" + } + }, + "snapshots": { + "enabled": { + "label": "Luba hetktõmmised" + } + }, + "timestamp_style": { + "color": { + "red": { + "label": "Punane", + "description": "Punase komponent (0–255) ajatempli värvi jaoks." + }, + "green": { + "label": "Roheline", + "description": "Rohelise komponent (0–255) ajatempli värvi jaoks." + }, + "blue": { + "label": "Sinine", + "description": "Sinise komponent (0–255) ajatempli värvi jaoks." + }, + "label": "Ajatempli värv", + "description": "Ajatempli teksti RGB värviväärtused (kõik väärtused 0–255)." + }, + "thickness": { + "label": "Ajatempli paksus", + "description": "Ajatempli teksti joone paksus." + }, + "effect": { + "label": "Ajatempli efekt", + "description": "Ajatempli teksti visuaalne efekt (puudub, ühtlane, vari)." + } + }, + "onvif": { + "user": { + "label": "ONVIF kasutajanimi" + }, + "password": { + "label": "ONVIF parool" + }, + "port": { + "label": "ONVIF port" + }, + "label": "ONVIF", + "host": { + "label": "ONVIF host" + } + }, + "profiles": { + "label": "Profiilid" } } diff --git a/web/public/locales/et/config/global.json b/web/public/locales/et/config/global.json index adb9777008..b2e7c5c87a 100644 --- a/web/public/locales/et/config/global.json +++ b/web/public/locales/et/config/global.json @@ -1,10 +1,31 @@ { "audio": { - "label": "Helisündmused" + "label": "Heli tuvastus", + "min_volume": { + "label": "Minimaalne helitase" + }, + "filters": { + "label": "Audio filtrid" + } }, "birdseye": { "mode": { "label": "Jälgimisrežiim" + }, + "order": { + "label": "Positsioon" + }, + "height": { + "label": "Kõrgus" + }, + "width": { + "label": "Laius" + }, + "layout": { + "label": "Paigutus", + "scaling_factor": { + "label": "Skaleerimistegur" + } } }, "version": { @@ -22,6 +43,15 @@ "threshold": { "label": "Punktiskoori lävend", "description": "Punktiskoori lävend, mida kasutatakse klassifitseerimise oleku muutmiseks." + }, + "enabled": { + "label": "Luba mudel" + }, + "name": { + "label": "Mudeli nimi" + }, + "save_attempts": { + "label": "Salvestamiskatsed" } } }, @@ -30,11 +60,25 @@ "threshold": { "description": "Minimaalne sarnasuse punktiskoor (0-1), mis on vajalik selle päästiku käivitamiseks." } + }, + "label": "Semantiline otsing", + "model_size": { + "label": "Mudeli suurus" + }, + "device": { + "label": "Seade" } }, "face_recognition": { "unknown_score": { "label": "Tundmatu punktiskoori lävend" + }, + "label": "Näotuvastus", + "model_size": { + "label": "Mudeli suurus" + }, + "device": { + "label": "Seade" } }, "lpr": { @@ -42,15 +86,393 @@ "description": "Sõidukite numbrimärkide tuvastuse seadistus sisaldab tuvastuse lävendeid, vormindust ja teadaolevaid numbrimärke.", "enabled": { "description": "Lülita sõidukite numbrimärkide tuvastus kõikide kaamerate jaoks sisse; seda saad kaamerakohaselt ka sürjutada." + }, + "model_size": { + "label": "Mudeli suurus" + }, + "device": { + "label": "Seade" } }, "genai": { "label": "Generatiivse tehisaru seadistus", - "description": "Seadistsued generatiivse tehisaru teenusepakkujate kasutamisel kirjelduste ja kokkuvõtete loomiseks ülevaatamisele kuuluvate objektide jaoks." + "description": "Seadistsued generatiivse tehisaru teenusepakkujate kasutamisel kirjelduste ja kokkuvõtete loomiseks ülevaatamisele kuuluvate objektide jaoks.", + "model": { + "label": "Mudel" + }, + "roles": { + "label": "Rollid" + }, + "api_key": { + "label": "API võti" + }, + "base_url": { + "label": "Baas-URL" + } }, "review": { "genai": { "description": "Kontrollib generatiivse tehisaru kasutamist kirjelduste ja kokkuvõtete koostamiseks ülevaatamisele kuuluvate objektide jaoks." + }, + "alerts": { + "enabled": { + "label": "Luba häired", + "description": "Luba või keela kõigi kaamerate häirete genereerimine; seda saab kaamerati eraldi muuta." + } } + }, + "audio_transcription": { + "label": "Audio transkriptsioon", + "live_enabled": { + "label": "Reaalajas transkriptsioon" + }, + "enabled": { + "label": "Luba heli üleskirjutamine tekstina", + "description": "Luba või keela automaatne heli üleskirjutamine tektina kõigi kaamerate jaoks; seda saad kaamerati eraldi muuta." + }, + "language": { + "label": "Üleskirjutuse keel", + "description": "Üleskirjutuse/tõlkimise jaoks kasutatav keelekood (näiteks „en” inglise keele puhul). Toetatud keelekoodid leiad lehelt https://whisper-api.com/docs/languages/." + }, + "device": { + "label": "Üleskirjutusseade" + }, + "model_size": { + "label": "Mudeli suurus" + } + }, + "detect": { + "label": "Objekti tuvastus", + "enabled": { + "label": "Luba objektituvastus" + }, + "height": { + "label": "Tuvastamise kõrgus" + }, + "width": { + "label": "Tuvastamise laius" + }, + "fps": { + "label": "Tuvastamise kaadrisagedus" + }, + "stationary": { + "label": "Püsivate objektide sätted" + } + }, + "ffmpeg": { + "path": { + "label": "FFmpeg asukoht" + }, + "gpu": { + "label": "GPU indeks" + }, + "inputs": { + "global_args": { + "label": "FFmpeg globaalsed argumendid" + } + }, + "label": "FFmpeg" + }, + "live": { + "label": "Reaalajas mahamängimine", + "height": { + "label": "Otseülekande kõrgus" + }, + "quality": { + "label": "Otseülekande kvaliteet" + }, + "streams": { + "label": "Otseülekande voo nimed" + } + }, + "motion": { + "label": "Liikumistuvastus", + "frame_height": { + "label": "Kaadri kõrgus" + }, + "enabled": { + "label": "Luba liikumistuvastus" + } + }, + "objects": { + "label": "Objektid", + "filters": { + "min_area": { + "label": "Minimaalne objekti ala" + }, + "max_area": { + "label": "Maksimaalne objekti ala" + } + }, + "genai": { + "label": "GenAI objekti konfiguratsioon", + "required_zones": { + "label": "Nõutud tsoonid" + }, + "debug_save_thumbnails": { + "label": "Salvesta pisipildid" + }, + "enabled": { + "label": "Luba GenAI" + }, + "use_snapshot": { + "label": "Kasuta hetktõmmiseid" + } + } + }, + "auth": { + "reset_admin_password": { + "label": "Lähtesta administraatori parool" + }, + "cookie_name": { + "label": "JWT küpsise nimi" + }, + "enabled": { + "label": "Luba autentimine" + }, + "label": "Autentimine", + "session_length": { + "label": "Sessiooni pikkus" + } + }, + "database": { + "label": "Andmebaas" + }, + "mqtt": { + "label": "MQTT", + "enabled": { + "label": "Luba MQTT" + }, + "user": { + "label": "MQTT kasutajanimi" + }, + "tls_ca_certs": { + "label": "TLS CA sertifikaat" + }, + "tls_client_cert": { + "label": "Kliendi sertifikaat" + }, + "host": { + "label": "MQTT host", + "description": "MQTT maakleri hostinimi või IP-aadress." + }, + "port": { + "label": "MQTT port" + }, + "client_id": { + "label": "Kliendi ID" + }, + "stats_interval": { + "label": "Statistika intervall" + }, + "tls_client_key": { + "label": "Kliendi võti" + }, + "qos": { + "label": "MQTT QoS" + } + }, + "go2rtc": { + "label": "go2rtc" + }, + "notifications": { + "enabled": { + "label": "Luba teavitused" + }, + "email": { + "label": "Teavituste email" + }, + "label": "Teavitused" + }, + "networking": { + "ipv6": { + "label": "IPv6 sätted", + "enabled": { + "label": "Luba IPv6" + } + }, + "label": "Võrguühendus", + "listen": { + "internal": { + "label": "Sisemine port" + }, + "external": { + "label": "Välimine port" + } + } + }, + "proxy": { + "label": "Vaheserver", + "logout_url": { + "label": "Väljalogimise url" + }, + "default_role": { + "label": "Vaikimisi roll" + } + }, + "telemetry": { + "stats": { + "label": "Süsteemi statistika", + "amd_gpu_stats": { + "label": "AMD GPU statistika" + }, + "intel_gpu_stats": { + "label": "Intel GPU statistika" + }, + "intel_gpu_device": { + "label": "Intel GPU seade" + }, + "network_bandwidth": { + "label": "Võrgu ribalaius" + } + }, + "label": "Telemeetria", + "network_interfaces": { + "label": "Võrguliides" + }, + "version_check": { + "label": "Versiooni kontroll", + "description": "Luba väljaminev ühendus, et kontrollida uuema Frigate versooni olemasolu." + } + }, + "tls": { + "label": "TLS", + "enabled": { + "label": "Luba TLS" + } + }, + "ui": { + "timezone": { + "label": "ajavöönd" + }, + "label": "Kasutajaliides", + "description": "Kasutajaliidese eelistused nagu ajavöönd, aja ja kuupäeva formaat ning ühikud.", + "unit_system": { + "label": "Ühikute süsteem" + } + }, + "detectors": { + "label": "Detektori riistvara", + "cpu": { + "label": "CPU" + }, + "deepstack": { + "label": "DeepStack" + }, + "edgetpu": { + "label": "EdgeTPU" + }, + "onnx": { + "label": "ONNX", + "device": { + "label": "Seadme tüüp" + } + }, + "rknn": { + "label": "RKNN" + }, + "openvino": { + "label": "OpenVINO" + }, + "tensorrt": { + "label": "TensorRT" + }, + "teflon_tfl": { + "label": "Teflon" + }, + "synaptics": { + "label": "Synaptics" + }, + "memryx": { + "device": { + "label": "Seadme asukoht" + }, + "label": "MemryX" + }, + "hailo8l": { + "label": "Hailo-8/Hailo-8L" + }, + "zmq": { + "label": "ZMQ IPC" + }, + "axengine": { + "label": "AXEngine NPU" + }, + "degirum": { + "label": "DeGirum" + } + }, + "logger": { + "label": "Logimine" + }, + "model": { + "label": "Tuvastusmudel" + }, + "record": { + "label": "Salvestus", + "enabled": { + "label": "Luba salvestamine", + "description": "Luba või keela salvestamine kõigi kaamerate jaoks; seda saab kaamerati eraldi muuta." + } + }, + "snapshots": { + "enabled": { + "label": "Luba hetktõmmised", + "description": "Luba või keela kõigi kaamerate hetktõmmiste salvestamine; seda saab kaamerati eraldi muuta." + } + }, + "timestamp_style": { + "color": { + "red": { + "label": "Punane", + "description": "Punase komponent (0–255) ajatempli värvi jaoks." + }, + "green": { + "label": "Roheline", + "description": "Rohelise komponent (0–255) ajatempli värvi jaoks." + }, + "blue": { + "label": "Sinine", + "description": "Sinise komponent (0–255) ajatempli värvi jaoks." + }, + "label": "Ajatempli värv", + "description": "Ajatempli teksti RGB värviväärtused (kõik väärtused 0–255)." + }, + "thickness": { + "label": "Ajatempli paksus", + "description": "Ajatempli teksti joone paksus." + }, + "effect": { + "label": "Ajatempli efekt", + "description": "Ajatempli teksti visuaalne efekt (puudub, ühtlane, vari)." + } + }, + "onvif": { + "user": { + "label": "ONVIF kasutajanimi" + }, + "password": { + "label": "ONVIF parool" + }, + "port": { + "label": "ONVIF port" + }, + "label": "ONVIF", + "host": { + "label": "ONVIF host" + } + }, + "camera_mqtt": { + "quality": { + "label": "JPEG kvaliteet", + "description": "MQTT-sse saadetud piltide JPEG-kvaliteet (0–100)." + }, + "enabled": { + "label": "Saada pilt" + }, + "label": "MQTT" + }, + "profiles": { + "label": "Profiilid" } } diff --git a/web/public/locales/et/views/chat.json b/web/public/locales/et/views/chat.json index ca3f7f6e4d..60e2749a9e 100644 --- a/web/public/locales/et/views/chat.json +++ b/web/public/locales/et/views/chat.json @@ -6,5 +6,67 @@ "error": "Midagi läks valesti. Palun proovi uuesti.", "processing": "Töötlen…", "toolsUsed": "Kasutatud: {{tools}}", - "similarity_score": "Sarnasus" + "similarity_score": "Sarnasus", + "showTools": "Näita tööriistu ({{count}})", + "hideTools": "Peida tööriistad", + "call": "Kutse", + "result": "Tulemus", + "arguments": "Argumendid:", + "response": "Vastus:", + "send": "Saada", + "new_chat": "Uus vestlus", + "settings": { + "title": "Vestluse sätted", + "show_stats": { + "title": "Näita statistikat", + "always": "Alati", + "desc": "Kuva vastuste genereerimise kiirus ja konteksti suurus.", + "while_generating": "Genereerimise ajal" + }, + "auto_scroll": { + "title": "Automaatne kerimine", + "desc": "Jälgi uusi sõnumeid kohe, kui need saabuvad." + } + }, + "stats": { + "context": "{{tokens}} tokenit", + "tokens_per_second": "{{rate}} t/s" + }, + "starting_requests_prompts": { + "recap": "Mis juhtus kui ma olin ära?", + "watch_camera": "Jälgi ust ja anna mulle teada kui keegi tuleb", + "show_camera_status": "Milline on minu kaamerate praegune seis?", + "show_recent_events": "Näita mulle viimase tunni viimaseid sündmusi" + }, + "starting_requests": { + "show_camera_status": "Näita kaamera olekut", + "show_recent_events": "Kuva hiljutised sündmused", + "recap": "Mis juhtus kui ma olin ära?", + "watch_camera": "Jälgi kaamerat aktiivsuse osas" + }, + "suggested_requests": "Proovi küsida:", + "semantic_search_required": "Sarnaste objektide leidmiseks peab olema lubatud semantiline otsing.", + "no_similar_objects_found": "Sarnaseid objekte ei leitud.", + "quick_reply_when_else": "Millal seda veel nähti?", + "quick_reply_find_similar_text": "Leia sarnaseid vaatepilte.", + "quick_reply_tell_me_more_text": "Räägi mulle sellest lähemalt.", + "quick_reply_when_else_text": "Millal seda veel nähtud on?", + "attach_event_aria": "Lisa sündmus {{eventId}}", + "attachment_picker_paste_label": "Või kleebi sündmuse ID", + "attachment_picker_attach": "Lisa", + "attachment_picker_placeholder": "Lisa sündmus", + "quick_reply_find_similar": "Leia sarnaseid vaatlusi", + "quick_reply_tell_me_more": "Räägi mulle sellest lähemalt", + "attachment_chip_remove": "Eemalda manus", + "attachment_chip_label": "{{label}} kaameras {{camera}}", + "open_in_explore": "Ava uurimisvaates", + "anchor": "Viide", + "reasoning": { + "active": "Otsin põhjendust…", + "show": "Näita põhjendust", + "hide": "Peida põhjendus" + }, + "thinking": { + "toggle": "Näita mõtlemise olekut või peida see" + } } diff --git a/web/public/locales/et/views/classificationModel.json b/web/public/locales/et/views/classificationModel.json index 36a4ef618c..c87e022c28 100644 --- a/web/public/locales/et/views/classificationModel.json +++ b/web/public/locales/et/views/classificationModel.json @@ -43,5 +43,8 @@ }, "tooltip": { "trainingInProgress": "Mudel on parasjagu õppimas" + }, + "train": { + "titleShort": "Hiljutised" } } diff --git a/web/public/locales/et/views/explore.json b/web/public/locales/et/views/explore.json index dee52f6e20..cccb04bd71 100644 --- a/web/public/locales/et/views/explore.json +++ b/web/public/locales/et/views/explore.json @@ -5,7 +5,8 @@ "noTrackedObjects": "Ühtegi jälgitavat objekti ei leidunud", "itemMenu": { "findSimilar": { - "aria": "Otsi sarnaseid jälgitavaid objekte" + "aria": "Otsi sarnaseid jälgitavaid objekte", + "label": "Leia sarnane" }, "downloadSnapshot": { "label": "Laadi hetkvõte alla", @@ -14,6 +15,14 @@ "downloadCleanSnapshot": { "label": "Laadi puhas hetkvõte alla", "aria": "Laadi puhas hetkvõte alla" + }, + "viewTrackingDetails": { + "label": "Vaata jälgimise üksikasju", + "aria": "Näita jälgimise üksikasju" + }, + "downloadVideo": { + "label": "Laadi video alla", + "aria": "Laadi video alla" } }, "trackingDetails": { @@ -21,11 +30,22 @@ "showAllZones": { "title": "Näita kõiki tsoone", "desc": "Kui objekt on sisenenud tsooni, siis alati näida tsooni märgistust." + }, + "title": "Annotatsioonide seaded", + "offset": { + "desc": "Need andmed pärinevad teie kaamera tuvastusvoost, kuid on salvestusvoo piltide peal. On ebatõenäoline, et need kaks voogu on ideaalselt sünkroonis. Seetõttu ei joondu piirav kast ja kaader ideaalselt. Selle säte abil saad annotatsioone ajas edasi või tagasi nihutada, et need salvestatud kaadriga paremini joonduks.", + "millisecondsToOffset": "Millisekundid annotatsioonide tuvastuse nihutamiseks. Vaikimisi: 0", + "tips": "Vähendage väärtust, kui video taasesitus on kastidest ja teekonnapunktidest ees, ning suurendage väärtust, kui video taasesitus on neist maas. See väärtus võib olla negatiivne.", + "toast": { + "success": "Kaamera '{{camera}}' annotatsiooni nihe on konfiguratsioonifaili salvestatud." + }, + "label": "Annotatsiooni nihe" } }, "lifecycleItemDesc": { "attribute": { - "other": "{{label}} on tuvastatud kui {{attribute}}" + "other": "{{label}} on tuvastatud kui {{attribute}}", + "faceOrLicense_plate": "{{attribute}} tuvastatud objektil {{label}}" }, "stationary": "{{label}} jäi paigale", "active": "{{label}} muutus aktiivseks", @@ -37,7 +57,8 @@ "area": "Ala", "score": "Punktiskoor", "computedScore": "Arvutatud punktiskoor", - "topScore": "Suuremad punktiskoorid" + "topScore": "Suuremad punktiskoorid", + "toggleAdvancedScores": "Täpsemate tulemuste sisse-/väljalülitamine" }, "external": "{{label}} on tuvastatud", "heard": "{{label}} on kuuldud", @@ -50,7 +71,11 @@ "previous": "Eelmine slaid", "next": "Järgmine slaid" }, - "count": "{{first}} / {{second}}" + "count": "{{first}} / {{second}}", + "adjustAnnotationSettings": "Korrigeeri annotatsioonide seadeid", + "scrollViewTips": "Klõpsake selle objekti elutsükli oluliste hetkede vaatamiseks.", + "autoTrackingTips": "Piirdekastide asukohad on automaatselt jälgivate kaamerate puhul ebatäpsed.", + "trackedPoint": "Jälgitav punkt" }, "documentTitle": "Avasta - Frigate", "generativeAI": "Generatiivne tehisaru", @@ -64,7 +89,22 @@ }, "startingUp": "Käivitun…", "estimatedTime": "Hinnanguliselt jäänud aega:", - "finishingShortly": "Lõpetan õige pea" + "finishingShortly": "Lõpetan õige pea", + "context": "Avastamist saab kasutada pärast seda, kui jälgitavate objektide manustamine on uuesti indekseerimise lõpetanud." + }, + "title": "Avastamine pole saadaval", + "downloadingModels": { + "context": "Frigate laadib alla semantilise otsingu funktsiooni toetamiseks vajalikke manustamismudeleid. See võib võtta mitu minutit, olenevalt teie võrguühenduse kiirusest.", + "setup": { + "visionModel": "Nägemismudel", + "visionModelFeatureExtractor": "Nägemismudeli tunnuste eraldaja", + "textModel": "Tekstimudel", + "textTokenizer": "Teksti tokenisaator" + }, + "tips": { + "context": "Pärast mudelite allalaadimist tuleks oma jälgitavate objektide manused uuesti indekseerida." + }, + "error": "Tekkis viga. Kontrollige Frigate'i logisid." } }, "type": { @@ -107,8 +147,52 @@ }, "recognizedLicensePlate": "Tuvastatud sõiduki numbrimärk", "description": { - "aiTips": "Frigate ei küsi sinu generatiivse tehisaru teenusepakkujalt kirjeldust enne, kui jälgitava objekti elutsükkel on lõppenud." + "aiTips": "Frigate ei küsi sinu generatiivse tehisaru teenusepakkujalt kirjeldust enne, kui jälgitava objekti elutsükkel on lõppenud.", + "label": "Kirjeldus", + "placeholder": "Jälgitava objekti kirjeldus" + }, + "label": "Silt", + "editSubLabel": { + "title": "Muuda alamsilti", + "desc": "Sisesta sildile '{{label}}' uus alamsilt", + "descNoLabel": "Sisesta sellele jälgitavale objektile uus alamsilt" + }, + "camera": "Kaamera", + "zones": "Tsoonid", + "title": { + "label": "Pealkiri" + }, + "button": { + "findSimilar": "Leia sarnane", + "regenerate": { + "title": "Taasloomine", + "label": "Jälgitava objekti kirjelduse uuesti genereerimine" + } + }, + "topScore": { + "label": "Parim punktiskoor", + "info": "Kõrgeim skoor on jälgitava objekti kõrgeim mediaanskoor, seega võib see erineda otsingutulemuste pisipildil kuvatavast skoorist." + }, + "objects": "Objektid", + "tips": { + "descriptionSaved": "Kirjeldus salvestati edukalt", + "saveDescriptionFailed": "Kirjelduse uuendamine ebaõnnestus: {{errorMessage}}" + }, + "attributes": "Klassifikatsiooni atribuudid", + "estimatedSpeed": "Hinnanguline kiirus", + "editAttributes": { + "title": "Atribuutide muutmine", + "desc": "Valige selle sildi '{{label}}' jaoks klassifikatsiooniatribuudid" } }, - "trackedObjectDetails": "Jälgitava objekti üksikasjad" + "trackedObjectDetails": "Jälgitava objekti üksikasjad", + "aiAnalysis": { + "title": "Tehisintellekti analüüs" + }, + "concerns": { + "label": "Mured" + }, + "objectLifecycle": { + "noImageFound": "Selle jälgitava objekti kohta ei leitud pilti." + } } diff --git a/web/public/locales/et/views/exports.json b/web/public/locales/et/views/exports.json index ed9a379781..81e66dcb3b 100644 --- a/web/public/locales/et/views/exports.json +++ b/web/public/locales/et/views/exports.json @@ -16,12 +16,15 @@ "downloadVideo": "Laadi video alla", "editName": "Muuda nime", "deleteExport": "Kustuta eksporditud sisu", - "assignToCase": "Lisa juhtumile" + "assignToCase": "Lisa juhtumile", + "removeFromCase": "Eemalda juhtumist" }, "toast": { "error": { "renameExportFailed": "Eksporditud sisu nime muutmine ei õnnestunud: {{errorMessage}}", - "assignCaseFailed": "Juhtumiga seose uuendamine ei õnnestunud: {{errorMessage}}" + "assignCaseFailed": "Juhtumiga seose uuendamine ei õnnestunud: {{errorMessage}}", + "caseSaveFailed": "Juhtumi salvestamine ei õnnestunud: {{errorMessage}}", + "caseDeleteFailed": "Juhtumi kustutamine ei õnnestunud: {{errorMessage}}" } }, "headings": { @@ -35,5 +38,44 @@ "nameLabel": "Juhtumi nimi", "descriptionLabel": "Kirjeldus", "description": "Vali olemasolev juhtum või lisa uus." + }, + "toolbar": { + "newCase": "Uus juhtum", + "addExport": "Lisa eksportimiseks", + "editCase": "Muuda juhtumit", + "deleteCase": "Kustuta juhtum" + }, + "deleteCase": { + "label": "Kustuta juhtum", + "desc": "Kas oled kindel, et soovid „{{caseName}}“ juhtumi kustutada?" + }, + "caseCard": { + "emptyCase": "Eksportimise veel pole" + }, + "jobCard": { + "defaultName": "Eksportimine kaamerast „{{camera}}“", + "queued": "Lisatud järjekorda", + "running": "Töös", + "preparing": "Ettevalmistamisel", + "copying": "Kopeerimisel", + "encoding": "Kodeerimisel", + "encodingRetry": "Kodeerimisel (uuesti)", + "finalizing": "Lõpetamisel" + }, + "caseView": { + "noDescription": "Kirjeldust pole", + "createdAt": "Loodud {{value}}", + "exportCount_one": "1 eksportimine", + "exportCount_other": "{{count}} eksportimist", + "cameraCount_one": "1 kaamera", + "cameraCount_other": "{{count}} kaamerat", + "showMore": "Näita rohkem", + "showLess": "Näita vähem", + "emptyTitle": "See juhtum on tühi" + }, + "caseEditor": { + "namePlaceholder": "Juhtumi nimi", + "editTitle": "Muuda juhtumit", + "createTitle": "Lisa juhtum" } } diff --git a/web/public/locales/et/views/faceLibrary.json b/web/public/locales/et/views/faceLibrary.json index 11a3fb104d..39b273eb4e 100644 --- a/web/public/locales/et/views/faceLibrary.json +++ b/web/public/locales/et/views/faceLibrary.json @@ -1,6 +1,11 @@ { "button": { - "uploadImage": "Laadi pilt üles" + "uploadImage": "Laadi pilt üles", + "deleteFaceAttempts": "Kustuta näod", + "addFace": "Lisa nägu", + "renameFace": "Nimeta nägu ümber", + "deleteFace": "Kustuta nägu", + "reprocessFace": "Käivita näotuvastus uuesti" }, "collections": "Kogumikud", "description": { @@ -11,28 +16,41 @@ }, "documentTitle": "Näoteek - Frigate", "createFaceLibrary": { - "new": "Lisa uus nägu" + "new": "Lisa uus nägu", + "nextSteps": "Tugeva tuvastusaluse loomiseks:
  • Kasuta vahekaarti \"Hiljutised tuvastused\", et valida pilte ja treenida isikutuvastust.
  • Parima tulemuse saavutamiseks keskendu otsepiltidele; väldi nurga all olevaid nägusid treenimiseks.
  • " }, "deleteFaceLibrary": { - "title": "Kustuta nimi" + "title": "Kustuta nimi", + "desc": "Kas oled kindel, et soovid isiku '{{name}}' kollektsiooni kustutada? See kustutab jäädavalt kõik seotud näod." }, "toast": { "error": { "addFaceLibraryFailed": "Näo sidumine nimega ei õnnestunud: {{errorMessage}}", - "updateFaceScoreFailed": "Näo punktiskoori uuendamine ei õnnestunud: {{errorMessage}}" + "updateFaceScoreFailed": "Näo punktiskoori uuendamine ei õnnestunud: {{errorMessage}}", + "uploadingImageFailed": "Pildi üleslaadimine ebaõnnestus: {{errorMessage}}", + "deleteFaceFailed": "Kustutamine ebaõnnestus: {{errorMessage}}", + "deleteNameFailed": "Nime kustutamine ebaõnnestus: {{errorMessage}}", + "renameFaceFailed": "Näo ümbernimetamine ebaõnnestus: {{errorMessage}}", + "trainFailed": "Treenimine ebaõnnestus: {{errorMessage}}", + "reclassifyFailed": "Näo ümberklassifitseerimine ebaõnnestus: {{errorMessage}}" }, "success": { - "addFaceLibrary": "Lisamine Näoteeki õnnestus: {{name}}!", + "addFaceLibrary": "Lisamine nägude kogusse õnnestus: {{name}}!", "deletedFace_one": "{{count}} näo kustutamine õnnestus.", "deletedFace_other": "{{count}} näo kustutamine õnnestus.", "deletedName_one": "{{count}} näo kustutamine õnnestus.", "deletedName_other": "{{count}} näo kustutamine õnnestus.", - "updatedFaceScore": "Näo punktiskoori uuendamine õnnestus: {{name}} ({{score}})." + "updatedFaceScore": "Näo punktiskoori uuendamine õnnestus: {{name}} ({{score}}).", + "uploadedImage": "Pildi üleslaadimine õnnestus.", + "renamedFace": "Näo ümbernimetamine õnnestus, uus nimi on {{name}}", + "trainedFace": "Edukalt treenitud nägu.", + "reclassifiedFace": "Näo ümberklassifitseerimine õnnestus." } }, "deleteFaceAttempts": { "desc_one": "Kas oled kindel, et soovid kustutada {{count}} näo? Seda tegevust ei saa tagasi pöörata.", - "desc_other": "Kas oled kindel, et soovid kustutada {{count}} nägu? Seda tegevust ei saa tagasi pöörata." + "desc_other": "Kas oled kindel, et soovid kustutada {{count}} nägu? Seda tegevust ei saa tagasi pöörata.", + "title": "Kustuta näod" }, "details": { "timestamp": "Ajatampel", @@ -42,5 +60,40 @@ "uploadFaceImage": { "title": "Laadi näopilt üles", "desc": "Laadi üles pilt, et otsida sellelt nägusid ja lisada see {{pageToggle}}'i jaoks" - } + }, + "steps": { + "faceName": "Lisa näole nimi", + "uploadFace": "Lae näopilt üles", + "nextSteps": "Järgmised sammud", + "description": { + "uploadFace": "Laadi üles pilt isikust '{{name}}', mis näitab tema nägu eestvaates. Ainult nägu ei pea pildilt välja lõikama." + } + }, + "train": { + "title": "Hiljutised tuvastamised", + "titleShort": "Hiljutised", + "aria": "Vali hiljutised tuvastamised", + "empty": "Hiljutisi näotuvastuse katseid pole", + "emptyNoLibrary": { + "title": "Laadi üles nägu", + "description": "Näotuvastuse toimimiseks peate lisama vähemalt ühe näo kogusse." + } + }, + "renameFace": { + "title": "Nimeta nägu ümber", + "desc": "Sisesta uus nimi isiku '{{name}}' jaoks" + }, + "imageEntry": { + "validation": { + "selectImage": "Palun vali pildifail." + }, + "dropActive": "Lohista pilt siia…", + "dropInstructions": "Lohistage või kleepige pilt siia või klõpsake valimiseks", + "maxSize": "Maksimum suurus: {{size}}MB" + }, + "nofaces": "Nägusid pole saadaval", + "trainFaceAs": "Treeni nägu kui:", + "trainFace": "Treeni nägu", + "reclassifyFaceAs": "Liigita nägu ümber järgmiselt:", + "reclassifyFace": "Näo ümberklassifitseerimine" } diff --git a/web/public/locales/et/views/motionSearch.json b/web/public/locales/et/views/motionSearch.json index 72d1bad347..ac00063dfb 100644 --- a/web/public/locales/et/views/motionSearch.json +++ b/web/public/locales/et/views/motionSearch.json @@ -1,4 +1,78 @@ { "documentTitle": "Liikumise tuvastus - Frigate", - "title": "Liikumise otsing" + "title": "Liikumise otsing", + "cancelSearch": "Tühista", + "startSearch": "Alusta otsingut", + "selectCamera": "Liikumisotsingut laaditakse", + "description": "Joonesta hulknurk, et määratleda huvipakkuv piirkond, ja määra ajavahemik, mille jooksul otsida liikumise muutusi selles piirkonnas.", + "searchStarted": "Otsing alustatud", + "searchCancelled": "Otsing tühistatud", + "searching": "Otsing on pooleli.", + "searchComplete": "Otsing lõpetatud", + "noResultsYet": "Käivita otsing valitud piirkonnas liikumise muutuste leidmiseks", + "noChangesFound": "Valitud piirkonnas ei tuvastatud pikslimuutusi", + "results": "Tulemused", + "polygonControls": { + "drawMode": "Joonista", + "moveMode": "Liiguta", + "reset": "Lähtesta hulknurk", + "undo": "Tühista viimane punkt", + "points_one": "{{count}} punkt", + "points_other": "{{count}} punkti" + }, + "newSearch": "Uus otsing", + "clearResults": "Tühista tulemused", + "clearROI": "Tühista hulknurk", + "dialog": { + "cameraLabel": "Kaamera", + "title": "Liikumisotsing", + "previewAlt": "Kaamera '{{camera}}' eelvaade" + }, + "timeRange": { + "title": "Otsinguvahemik", + "start": "Algusaeg", + "end": "Lõppaeg" + }, + "settings": { + "title": "Otsinguseaded", + "parallelMode": "Paralleelrežiim", + "parallelModeDesc": "Skanni mitut salvestusvahemikku korraga (kiirem; kasutab rohkem dekodeerimisressursse)", + "threshold": "Tundlikkuse lävi", + "thresholdDesc": "Väiksemad väärtused tuvastavad väiksemaid muutusi (1–255)", + "minArea": "Minimaalne muutusala", + "minAreaDesc": "Ühe liikuva piirkonna minimaalne suurus protsentides huvipakkuvast piirkonnast", + "maxResults": "Maksimaalselt tulemusi", + "maxResultsDesc": "Peata pärast nii paljude ajatemplite sobivust" + }, + "errors": { + "noCamera": "Palun vali kaamera", + "noROI": "Palun joonistage huvipakkuv piirkond", + "noTimeRange": "Palun valige ajavahemik", + "invalidTimeRange": "Lõppaeg peab olema pärast algusaega", + "searchFailed": "Otsing ebaõnnestus: {{message}}", + "polygonTooSmall": "Hulknurgal peab olema vähemalt 3 punkti", + "unknown": "Tundmatu viga" + }, + "changePercentage": "{{percentage}}% muutus", + "metrics": { + "title": "Otsingumõõdikud", + "segmentsScanned": "Skannitud segmente", + "segmentsProcessed": "Töödeldud", + "segmentsSkippedInactive": "Vahele jäetud (tegevust pole)", + "segmentsSkippedHeatmap": "Vahele jäetud (kattuvaid piirkondi pole)", + "fallbackFullRange": "Varurežiimis täisulatusega skaneerimine", + "framesDecoded": "Kaadreid dekodeeritud", + "wallTime": "Otsingu aeg", + "seconds": "{{seconds}}s", + "minutesSeconds": "{{minutes}}m {{seconds}}s", + "segmentErrors": "Segmendi vead", + "scanSummary": "{{segments}} segmenti · {{time}}" + }, + "jumpToTime": "Hüppa sellele ajale", + "framesProcessed": "{{count}} kaadrit töödeldud", + "changesFound_one": "Tuvastatud {{count}} liikumine", + "changesFound_other": "Tuvastatud {{count}} liikumist", + "motionHeatmapLabel": "Liikumise soojakaart", + "showSegmentHeatmap": "Soojakaart", + "scanning": "Skannimine {{time}}" } diff --git a/web/public/locales/et/views/replay.json b/web/public/locales/et/views/replay.json index 4ef29cd2b2..2d2b84a717 100644 --- a/web/public/locales/et/views/replay.json +++ b/web/public/locales/et/views/replay.json @@ -12,7 +12,48 @@ "selectFromTimeline": "Vali", "starting": "Käivitan kordust…", "startLabel": "Algus", - "endLabel": "Lõpp" + "endLabel": "Lõpp", + "title": "Alusta silumise taasesitust", + "description": "Looge ajutine taasesituskaamera, mis kordab ajaloolist salvestist objektide tuvastamise ja jälgimise probleemide silumiseks. Taasesituskaameral on sama tuvastusseadistus mis lähtekaameral. Valige algusaeg.", + "toast": { + "error": "Silumise taasesitus ebaõnnestus: {{error}}", + "alreadyActive": "Kordusseanss on juba aktiivne", + "stopError": "Silumise taasesituse peatamine ebaõnnestus: {{error}}", + "goToReplay": "Mine kordusesse" + } }, - "title": "Kordus veaotsinguks" + "title": "Kordus veaotsinguks", + "websocket_messages": "Sõnumid", + "description": "Mängi kaamera salvestisi veaotsinguks. Objektide loend näitab tuvastatud objektide ajalist viivitust ja vahekaart „Sõnumid” näitab Fregati sisemiste sõnumite voogu taasesituse materjalist.", + "page": { + "noSession": "Aktiivset silumis- ja taasesitusseanssi pole", + "noSessionDesc": "Alusta silumissalvestise taasesitust ajaloo vaates, klõpsates tööriistaribal nupul \"Toimingud\" ja valides silumissalvestise taasesituse.", + "goToRecordings": "Mine ajaloo vaatesse", + "preparingClip": "Klipi ettevalmistamine…", + "preparingClipDesc": "Frigate koondab valitud ajavahemiku salvestisi. Pikemate vahemike puhul võib see võtta kauem.", + "startingCamera": "Silumise taasesituse käivitamine…", + "startError": { + "title": "Silumise taasesituse käivitamine ebaõnnestus", + "back": "Tagasi ajaloo vaatesse" + }, + "sourceCamera": "Lähtekaamera", + "replayCamera": "Taasesituse kaamera", + "initializingReplay": "Silumise taasesituse initsialiseerimine...", + "stoppingReplay": "Silumise taasesituse peatamine...", + "stopReplay": "Peata kordusesitus", + "confirmStop": { + "title": "Peata silumise kordusesitus?", + "description": "See peatab seansi ja kustutab kõik ajutised andmed. Kas oled kindel?", + "confirm": "Peata kordusesitus", + "cancel": "Tühista" + }, + "activity": "Toimingud", + "objects": "Objekti loend", + "audioDetections": "Audio tuvastused", + "noActivity": "Ühtegi tegevust ei tuvastatud", + "activeTracking": "Aktiivne jälgimine", + "noActiveTracking": "Aktiivset jälgimist pole", + "configuration": "Seaded", + "configurationDesc": "Peenhäälesta liikumistuvastuse ja objektide jälgimise sätteid silumis- ja taasesituskaamera jaoks. Frigate'i konfiguratsiooni faili muudatusi ei salvestata." + } } diff --git a/web/public/locales/et/views/settings.json b/web/public/locales/et/views/settings.json index 4c2e46cd1a..c014e8053f 100644 --- a/web/public/locales/et/views/settings.json +++ b/web/public/locales/et/views/settings.json @@ -7,7 +7,28 @@ "connectionSettings": "Ühenduse seadistused", "port": "Port", "username": "Kasutajanimi", - "usernamePlaceholder": "Valikuline" + "usernamePlaceholder": "Valikuline", + "cameraName": "Kaamera nimi", + "cameraNamePlaceholder": "näiteks: eesmine_uks või Hoovi ülevaade", + "host": "Host/IP-aadress", + "cameraBrand": "Kaamera bränd", + "selectBrand": "Vali URL malli jaoks kaamera bränd", + "customUrl": "Kohandatud voo URL", + "brandInformation": "Brändi teave", + "brandUrlFormat": "Kaamerate puhul, mille RTSP URL-i vorming on järgmine: {{exampleUrl}}", + "selectTransport": "Valige transpordiprotokoll", + "description": "Sisestage oma kaamera andmed ja valige, kas soovite kaamerat tuvastada või valida tootja käsitsi.", + "onvifPort": "ONVIF port", + "probeMode": "Tuvasta kaamera", + "manualMode": "Manuaalne valik", + "errors": { + "nameRequired": "Kaamera nimi on kohustuslik", + "nameLength": "Kaamera nimi peab olema kuni 64 tähemärki pikk", + "invalidCharacters": "Kaamera nimi sisaldab sobimatuid märke", + "nameExists": "Kaamera nimi on juba olemas", + "brandOrCustomUrlRequired": "Valige kas kaamera bränd koos hosti/IP-aadressiga või valige „Muu” kohandatud URL-iga" + }, + "detectionMethod": "Vootuvastus meetod" }, "step3": { "streamUrlPlaceholder": "rtsp://kasutajanimi:salasõna@host:port/asukoht", @@ -17,17 +38,37 @@ "roles": "Rollid", "roleLabels": { "record": "Salvestamine", - "audio": "Heliriba" + "audio": "Heliriba", + "detect": "Objektituvastus" }, "connected": "Ühendatud", - "featuresTitle": "Funktsionaalsused" + "featuresTitle": "Funktsionaalsused", + "selectStream": "Vali voog", + "selectQuality": "Valige kvaliteet", + "notConnected": "Pole ühendatud", + "testFailedTitle": "Test ebaõnnestus", + "testStream": "Testi ühendust", + "testSuccess": "Voo test edukas!", + "testFailed": "Voo test ebaõnnestus", + "selectResolution": "Vali resolutsioon", + "noStreamFound": "Voogu ei leitud", + "addAnotherStream": "Lisa järgmine voog", + "streamTitle": "Voog {{number}}", + "streamUrl": "Voo URL", + "addStream": "Lisa voog", + "description": "Seadista voogedastusrolle ja lisa oma kaamerale täiendavaid vooge.", + "streamsTitle": "Kaamera vood" }, "steps": { - "probeOrSnapshot": "Võta proov või tee hetkvõte" + "probeOrSnapshot": "Võta proov või tee hetkvõte", + "nameAndConnection": "Nimi ja ühendus", + "streamConfiguration": "Voo seaded", + "validationAndTesting": "Valideerimine ja testimine" }, "step2": { "testing": { - "fetchingSnapshot": "Laadin kaamera hetkvõtet alla..." + "fetchingSnapshot": "Laadin kaamera hetkvõtet alla...", + "probingMetadata": "Tuvastan kaamera metaandmeid..." }, "retry": "Proovi uuesti", "manufacturer": "Tootja", @@ -37,7 +78,30 @@ "presets": "Eelseadistused", "useCandidate": "Kasuta", "uriCopy": "Kopeeri", - "connected": "Ühendatud" + "connected": "Ühendatud", + "testSuccess": "Ühenduse test õnnestus!", + "testFailed": "Ühenduse test ebaõnnestus. Palun kontrollige sisestatud andmeid ja proovige uuesti.", + "testFailedTitle": "Test ebaõnnestus", + "streamDetails": "Voo üksikasjad", + "probing": "Tuvastan kaamerat...", + "ptzSupport": "PTZ tugi", + "testConnection": "Testi ühendust", + "toggleUriView": "Klõpsake täieliku URI vaate sisse/välja lülitamiseks", + "notConnected": "Pole ühendatud", + "errors": { + "hostRequired": "Hosti/IP-aadress on kohustuslik" + }, + "candidateStreamTitle": "Kandidaat {{number}}", + "probeSuccessful": "Tuvastamine õnnestus", + "probeError": "Tuvastamise viga", + "probeNoSuccess": "Tuvastamine ebaõnnestus", + "deviceInfo": "Seadme info", + "autotrackingSupport": "Automaatse jälgimise tugi", + "uriCopied": "URI kopeeriti lõikelauale", + "rtspCandidates": "RTSP kandidaadid", + "probingDevice": "Tuvastan seadet...", + "description": "Tuvasta kaamera vooge või seadista käsitsi seaded vastavalt valitud tuvastusmeetodile.", + "probeFailed": "Kaamera tuvastamine ebaõnnestus: {{error}}" }, "testResultLabels": { "resolution": "Resolutsioon", @@ -56,7 +120,17 @@ "roles": "Rollid", "none": "Määramata", "error": "Viga" - } + }, + "commonErrors": { + "noUrl": "Palun sisestage kehtiv voogesituse URL", + "testFailed": "Voo test ebaõnnestus: {{error}}" + }, + "save": { + "success": "Uue kaamera '{{cameraName}}' salvestamine õnnestus.", + "failure": "Viga kaamera '{{cameraName}}' salvestamisel." + }, + "title": "Lisa kaamera", + "description": "Uue kaamera lisamiseks oma Frigate paigaldisesse järgige alltoodud samme." }, "users": { "updatePassword": "Lähtesta salasõna", @@ -172,24 +246,32 @@ }, "documentTitle": { "default": "Seadistused - Frigate", - "authentication": "Autentimise seadistused - Frigate", - "cameraReview": "Kaamerate kordusvaatuste seadistused - Frigate", - "general": "Profiili seadistused - Frigate", - "frigatePlus": "Frigate+ seadistused - Frigate", - "notifications": "Teavituste seadistused - Frigate", + "authentication": "Autentimise seaded - Frigate", + "cameraReview": "Kaamerate kordusvaatuste seaded - Frigate", + "general": "Profiili seaded - Frigate", + "frigatePlus": "Frigate+ seaded - Frigate", + "notifications": "Teavituste seaded - Frigate", "cameraManagement": "Kaamerate haldus - Frigate", "masksAndZones": "Maskide ja tsoonide haldus - Frigate", - "object": "Silumine ja veaotsing - Frigate" + "object": "Silumine ja veaotsing - Frigate", + "enrichments": "Rikastamise seaded - Frigate", + "motionTuner": "Liikumise häälestaja – Frigate", + "globalConfig": "Globaalsed seaded – Frigate", + "cameraConfig": "Kaamera seaded - Frigate", + "detectorsAndModel": "Detektorid ja mudel – Frigate", + "maintenance": "Hooldus – Frigate", + "profiles": "Profiilid - Frigate" }, "general": { - "title": "Profiili seadistused", + "title": "Kasutajaliidese seadistused", "cameraGroupStreaming": { "clearAll": "Kustuta kõik voogedastuse seadistused" }, "liveDashboard": { "title": "Töölaud reaalajas", "automaticLiveView": { - "label": "Automaatne otseülekande vaade" + "label": "Automaatne otseülekande vaade", + "desc": "Aktiveerib automaatselt kaamera reaalajas vaate, kui tuvastatakse tegevus. Selle valiku keelamisel uuendatakse kaamerapilti töölaual ainult üks kord minutis." } }, "calendar": { @@ -335,7 +417,7 @@ }, "menu": { "ui": "Kasutajaliides", - "cameraManagement": "Haldus", + "cameraManagement": "Kaamera haldus", "masksAndZones": "Maskid ja tsoonid", "triggers": "Päästikud", "debug": "Silumine ja veaotsing", @@ -373,7 +455,37 @@ "systemMqtt": "MQTT", "systemGo2rtcStreams": "go2rtc voogedastus", "integrationSemanticSearch": "Semantiline otsing", - "integrationGenerativeAi": "Generatiivne tehisaru" + "integrationGenerativeAi": "Generatiivne tehisaru", + "general": "Üldine", + "globalConfig": "Globaalsed seaded", + "system": "Süsteem", + "integrations": "Integratsioonid", + "cameras": "Kaamera seaded", + "integrationFaceRecognition": "Nöotuvastus", + "cameraDetect": "Objektituvastus", + "cameraFfmpeg": "Vood (FFmpeg)", + "cameraRecording": "Salvestus", + "cameraSnapshots": "Hetktõmmised", + "cameraMotion": "Liikumistuvastus", + "cameraObjects": "Objektid", + "cameraConfigReview": "Ülevaade", + "cameraAudioEvents": "audiotuvastus", + "cameraAudioTranscription": "Audio transkriptsioon", + "cameraNotifications": "Teated", + "cameraLivePlayback": "Otseülekanne", + "integrationAudioTranscription": "Audio transkriptsioon", + "integrationObjectClassification": "Objektide klassifitseerimine", + "cameraFaceRecognition": "Näotuvastus", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "Kaamera kasutajaliides", + "cameraTimestampStyle": "Ajatempli stiil", + "cameraMqtt": "Kaamera MQTT", + "maintenance": "Hooldus", + "mediaSync": "Meedia sünkroonimine", + "regionGrid": "Regioonide ruudustik", + "enrichments": "Andmete rikastamine", + "motionTuner": "Liikumistuvastuse seadistaja" }, "dialog": { "unsavedChanges": { @@ -389,7 +501,11 @@ "semanticSearch": { "reindexNow": { "confirmButton": "Indekseeri uuesti", - "label": "Indekseeri uuesti kohe" + "label": "Indekseeri kohe uuesti", + "alreadyInProgress": "Ümberindekseerimine on juba käimas.", + "error": "Uuesti indekseerimise alustamine ebaõnnestus: {{errorMessage}}", + "success": "Ümberindekseerimine algas edukalt.", + "confirmTitle": "Kinnita uuesti indekseerimine" }, "modelSize": { "small": { @@ -397,7 +513,9 @@ }, "large": { "title": "suur" - } + }, + "label": "Mudeli suurus", + "desc": "Semantilise otsingu manustamiseks kasutatava mudeli suurus." }, "title": "Semantiline otsing" }, @@ -408,14 +526,23 @@ }, "large": { "title": "suur" - } - } + }, + "label": "Mudeli suurus", + "desc": "Näotuvastuseks kasutatava mudeli suurus." + }, + "title": "Näotuvastus" }, "birdClassification": { "title": "Lindude klassifikatsioon" }, "licensePlateRecognition": { "title": "Sõidukite numbrimärkide tuvastus" + }, + "title": "Andmerikastuse seaded", + "restart_required": "Taaskäivitamine on vajalik (Andmerikastuse seadeid on muudetud)", + "toast": { + "success": "Andmerikastamise seaded on salvestatud. Muudatuste rakendamiseks taaskäivitage Frigate.", + "error": "Seadete muudatuste salvestamine ebaõnnestus: {{errorMessage}}" } }, "cameraReview": { @@ -497,5 +624,31 @@ "lpr": { "vehicleNotTracked": "Sõidukite numbrimärkide tuvastus eeldab, et auto või mootorratas on jälgitav. Lülita menüüst Objektid sell kaamera jaoks sisse valikud „auto“ või „mootorratas“." } + }, + "button": { + "overriddenGlobal": "Ülekirjutatud (Globaalne)", + "overriddenGlobalTooltip": "Käesolev kaamera kirjutab selles jaotises üle globaalsed seaded", + "overriddenGlobalHeading_one": "See kaamera sürjutab {{count}} üldise seadistuse välja:", + "overriddenGlobalHeading_other": "See kaamera sürjutab {{count}} üldise seadistuse välja:" + }, + "saveAllPreview": { + "title": "Salvestatavad muudatused", + "triggerLabel": "Vaadake üle ootel olevad muudatused", + "empty": "Ootel muudatusi pole.", + "scope": { + "label": "Ulatus", + "global": "Globaalne", + "camera": "Kaamera: {{cameraName}}" + }, + "profile": { + "label": "Profiil" + }, + "field": { + "label": "Väli" + }, + "value": { + "label": "Uus väärtus", + "reset": "Lähtesta" + } } } diff --git a/web/public/locales/et/views/system.json b/web/public/locales/et/views/system.json index 810899444f..59e409ca23 100644 --- a/web/public/locales/et/views/system.json +++ b/web/public/locales/et/views/system.json @@ -2,7 +2,14 @@ "documentTitle": { "general": "Üldine statistika - Frigate", "cameras": "Kaamerate statistika - Frigate", - "storage": "Andmeruumi statistika - Frigate" + "storage": "Andmeruumi statistika - Frigate", + "logs": { + "frigate": "Frigate logid - Frigate", + "go2rtc": "Go2RTC logid - Frigate", + "nginx": "Nginx logid - Frigate", + "websocket": "Sõnumite logid - Frigate" + }, + "enrichments": "Rikastus statistika - Frigate" }, "logs": { "download": { @@ -16,11 +23,29 @@ "websocket": { "filter": { "cameras_count_one": "{{count}} kaamera", - "cameras_count_other": "{{count}} kaamerat" + "cameras_count_other": "{{count}} kaamerat", + "camera": "Kaamera", + "all_cameras": "Kõik kaamerad", + "events": "Sündmused", + "reviews": "Ülevaated", + "system": "Süsteem", + "topics": "Teemad", + "all": "Kõik teemad", + "face_recognition": "Näotuvastus", + "classification": "Klassifikatsioon", + "camera_activity": "Kaamera aktiivsus", + "lpr": "Numbrimärgituvastus" }, "empty": "Ühtegi sõnumit pole veel hõivatud", "count_one": "{{count}} sõnum", - "count_other": "{{count}} sõnumit" + "count_other": "{{count}} sõnumit", + "pause": "Peata", + "resume": "Jätka", + "label": "Sõnumid", + "clear": "Tühista", + "expanded": { + "payload": "Last" + } }, "type": { "label": "Tüüp", @@ -36,5 +61,170 @@ } } }, - "title": "Süsteem" + "title": "Süsteem", + "enrichments": { + "embeddings": { + "object_description_events_per_second": "Objekti kirjeldus", + "face_recognition": "Näotuvastus", + "plate_recognition": "Numbrimärgi tuvastus", + "object_description": "Objekti kirjeldus", + "review_description_events_per_second": "Ülevaate kirjeldus", + "review_description": "Ülevaate kirjeldus", + "yolov9_plate_detection": "YOLOv9 numbrimärgi tuvastus", + "yolov9_plate_detection_speed": "YOLOv9 numbrimärgi tuvastuskiirus", + "plate_recognition_speed": "Numbrimärgituvastuse kiirus", + "face_recognition_speed": "Näotuvastuse kiirus" + }, + "title": "Andmerikastused" + }, + "cameras": { + "connectionQuality": { + "reconnectsLastHour": "Uuesti ühendumisi (viimase tunni jooksul)", + "stallsLastHour": "Seiskumisi (viimase tunni jooksul)", + "title": "Ühenduse kvaliteet", + "excellent": "Suurepärane", + "fair": "Rahuldav", + "poor": "Kehv", + "unusable": "Mittekasutatav", + "fps": "Kaadrisagedus", + "expectedFps": "Eeldatav kaadrisagedus (FPS)" + }, + "label": { + "camera": "kaamera", + "detect": "tuvasta", + "skipped": "vahele jäetud", + "ffmpeg": "FFmpeg", + "cameraFfmpeg": "{{camName}} FFmpeg", + "cameraGpu": "{{camName}} GPU", + "cameraDetect": "{{camName}} tuvastus", + "overallFramesPerSecond": "kaadreid sekundis kokku", + "overallDetectionsPerSecond": "kogutuvastusi sekundis", + "overallSkippedDetectionsPerSecond": "vahelejäänud tuvastusi sekundis kokku", + "cameraFramesPerSecond": "{{camName}} kaadreid sekundis", + "cameraDetectionsPerSecond": "{{camName}} tuvastusi sekundis", + "cameraSkippedDetectionsPerSecond": "{{camName}} vahelejäänud tuvastusi sekundis", + "capture": "jäädvustamine" + }, + "noCameras": { + "title": "Ühtegi kaamerat ei leitud" + }, + "framesAndDetections": "Kaadreid / Tuvastusi", + "info": { + "keyframes": { + "recordDisabled": "Selle kaamera salvestamine on välja lülitatud.", + "segmentLength": "Salvestuse segmendi pikkus:", + "recordStream": "Salvestusvoog:", + "keyframeCount": "Vaadeldud võtmekaadrid:", + "observedDuration": "Vaadeldud kestus:" + }, + "audio": "Audio:", + "error": "Viga: {{error}}", + "codec": "Koodek:", + "resolution": "Resolutsioon:", + "video": "Video:", + "aspectRatio": "kuvasuhe", + "unknown": "Tundmatu", + "fetching": "Kaameraandmete toomine", + "stream": "Voog {{idx}}", + "streamDataFromFFPROBE": "Vooandmed saadakse ffprobe abil.", + "fps": "Kaadrisagedus (FPS):" + }, + "title": "Kaamerad", + "overview": "Ülevaade" + }, + "lastRefreshed": "Viimati uuendatud: ", + "stats": { + "healthy": "Süsteem on töökorras", + "detectIsSlow": "{{detect}} on aeglane ({{speed}} ms)", + "detectIsVerySlow": "{{detect}} on väga aeglane ({{speed}} ms)", + "cameraIsOffline": "{{camera}} on ühenduseta" + }, + "storage": { + "cameraStorage": { + "camera": "Kaamera", + "unused": { + "title": "Kasutamata", + "tips": "See väärtus ei pruugi Frigate'i jaoks saadaolevat vaba ruumi täpselt kajastada, kui teie draivil on lisaks Frigate'i salvestistele ka muid faile. Frigate ei jälgi salvestusruumi kasutamist väljaspool oma salvestisi." + }, + "bandwidth": "Ribalaius", + "storageUsed": "Salvestusmaht", + "percentageOfTotalUsed": "protsent kogusummast", + "unusedStorageInformation": "Kasutamata salvestusmahu info", + "title": "Kaamera salvestusmaht" + }, + "title": "Säilitus", + "overview": "Ülevaade", + "recordings": { + "title": "Salvestused", + "earliestRecording": "Varaseim saadaolev salvestis:" + }, + "shm": { + "title": "SHM (jagatud mälu) eraldus", + "frameLifetime": { + "title": "Kaadri eluiga" + } + } + }, + "metrics": "Süsteemi mõõdikud", + "general": { + "title": "Üldine", + "hardwareInfo": { + "gpuUsage": "GPU kasutus", + "gpuMemory": "GPU mälu", + "gpuInfo": { + "vainfoOutput": { + "title": "Vainfo väljund", + "processOutput": "Protsessi väljund:", + "processError": "Protsessi viga:", + "returnCode": "Tagastuskood: {{code}}" + }, + "closeInfo": { + "label": "Sulge GPU info" + }, + "copyInfo": { + "label": "Kopeeri GPU info" + }, + "nvidiaSMIOutput": { + "title": "Nvidia SMI väljund", + "name": "Nimi: {{name}}", + "driver": "Draiver: {{driver}}", + "cudaComputerCapability": "CUDA arvutusvõimekus: {{cuda_compute}}", + "vbios": "VBios info: {{vbios}}" + }, + "toast": { + "success": "GPU info kopeeriti lõikelauale" + } + }, + "gpuDecoder": "GPU dekooder", + "gpuTemperature": "GPU temperatuur", + "gpuEncoder": "GPU kodeerija", + "gpuCompute": "GPU arvutus / kodeerimine", + "title": "Riistvara info", + "npuUsage": "NPU kasutus", + "npuMemory": "NPU mälu", + "npuTemperature": "NPU temperatuur", + "intelGpuWarning": { + "title": "Inteli GPU statistika hoiatus", + "message": "GPU statistika pole saadaval" + } + }, + "otherProcesses": { + "series": { + "go2rtc": "go2rtc", + "recording": "salvestus", + "review_segment": "Segmendi ülevaade", + "audio_detector": "audio detektor" + }, + "processCpuUsage": "Protsessi CPU kasutus", + "processMemoryUsage": "Protsessi mälukasutus" + }, + "detector": { + "title": "Detektorid", + "memoryUsage": "Detektori mälukasutus", + "cpuUsage": "Detektori CPU kasutus", + "temperature": "Detektori temperatuur", + "inferenceSpeed": "Detektori järelduskiirus", + "cpuUsageInformation": "Protsessori võimsus, mida kasutatakse tuvastusmudelite sisend- ja väljundandmete ettevalmistamisel. See väärtus ei mõõda järelduste kasutamist isegi siis, kui kasutatakse graafikaprotsessorit või kiirendit." + } + } } From fa6ebe3becc1ef096c4ef8c51e865ee319402f76 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:12 +0200 Subject: [PATCH 05/16] Translated using Weblate (Romanian) Currently translated at 100.0% (808 of 808 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (474 of 474 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (141 of 141 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (1294 of 1294 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (145 of 145 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (501 of 501 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (109 of 109 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (808 of 808 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (474 of 474 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (1287 of 1287 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (109 of 109 strings) Co-authored-by: Hosted Weblate Co-authored-by: lukasig Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ro/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/audio Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-settings --- web/public/locales/ro/audio.json | 2 +- web/public/locales/ro/components/dialog.json | 15 +++++++++++++-- web/public/locales/ro/config/cameras.json | 7 +++++-- web/public/locales/ro/config/global.json | 9 ++++++--- .../locales/ro/views/classificationModel.json | 18 ++++++++++++++++-- web/public/locales/ro/views/explore.json | 2 +- web/public/locales/ro/views/settings.json | 17 ++++++++++++++--- 7 files changed, 56 insertions(+), 14 deletions(-) diff --git a/web/public/locales/ro/audio.json b/web/public/locales/ro/audio.json index 56815c6188..58fa97f5b7 100644 --- a/web/public/locales/ro/audio.json +++ b/web/public/locales/ro/audio.json @@ -3,7 +3,7 @@ "machine_gun": "Mitraliera", "speech": "Vorbire", "babbling": "Murmur", - "yell": "Striga", + "yell": "Strigăt", "bellow": "Sub", "dog": "Câine", "horse": "Cal", diff --git a/web/public/locales/ro/components/dialog.json b/web/public/locales/ro/components/dialog.json index 56bee6587a..f1c3910d8b 100644 --- a/web/public/locales/ro/components/dialog.json +++ b/web/public/locales/ro/components/dialog.json @@ -32,6 +32,9 @@ "ask_a": "Este acest obiect un {{label}}?", "ask_an": "Este acest obiect un {{label}}?", "ask_full": "Este acest obiect un {{untranslatedLabel}} ({{translatedLabel}})?" + }, + "toast": { + "error": "Trimiterea către Frigate+ a eșuat. Te rog să verifici conexiunea la rețea și să încerci din nou." } }, "submitToPlus": { @@ -96,7 +99,8 @@ "error": { "failed": "Nu s-a putut adăuga exportul în coadă: {{error}}", "endTimeMustAfterStartTime": "Ora de sfârșit trebuie să fie după ora de început", - "noVaildTimeSelected": "Nu a fost selectat un interval de timp valid" + "noVaildTimeSelected": "Nu a fost selectat un interval de timp valid", + "noValidTimeSelected": "Niciun interval de timp valid selectat" }, "view": "Vizualizează", "queued": "Export pus la coadă. Vezi progresul pe pagina de exporturi.", @@ -145,7 +149,14 @@ "queueingButton": "Se adaugă exporturile la coadă...", "exportButton_one": "Exportă 1 cameră", "exportButton_few": "Exportă {{count}} camere", - "exportButton_other": "Exportă {{count}} de camere" + "exportButton_other": "Exportă {{count}} de camere", + "searchOrSelectGroup": "Caută sau selectează un grup de camere...", + "selectAll": "Selectează toate camerele", + "clearSelection": "Șterge selecția", + "selectWithActivity": "Camere cu obiecte urmărite", + "selectGroup": "Selectează grupul", + "noMatchingCameras": "Nicio cameră nu corespunde căutării tale", + "selectedCount": "{{selected}} / {{total}} selectate" }, "multi": { "title_one": "Exportă o revizuire", diff --git a/web/public/locales/ro/config/cameras.json b/web/public/locales/ro/config/cameras.json index 7c68458241..6f70a83f73 100644 --- a/web/public/locales/ro/config/cameras.json +++ b/web/public/locales/ro/config/cameras.json @@ -371,7 +371,7 @@ "description": "Folosește snapshot-urile obiectelor în loc de miniaturi pentru GenAI." }, "prompt": { - "label": "Prompt descriere", + "label": "Prompt de descriere", "description": "Șablonul de prompt implicit pentru descrierile GenAI." }, "object_prompts": { @@ -493,6 +493,9 @@ "max_concurrent": { "description": "Numărul maxim de sarcini de export de procesat în același timp.", "label": "Număr maxim de exporturi simultane" + }, + "chapters": { + "label": "Metadate de capitol de încorporat în înregistrările exportate" } }, "preview": { @@ -768,7 +771,7 @@ "description": "Adresa de email folosită pentru notificări push sau cerută de anumiți furnizori de notificări." }, "cooldown": { - "label": "Perioadă de răcire", + "label": "Perioadă de repaus", "description": "Timpul de așteptare (secunde) între notificări pentru a evita spamarea destinatarilor." }, "enabled_in_config": { diff --git a/web/public/locales/ro/config/global.json b/web/public/locales/ro/config/global.json index 1dca8a48ae..6cbde4c680 100644 --- a/web/public/locales/ro/config/global.json +++ b/web/public/locales/ro/config/global.json @@ -217,7 +217,7 @@ }, "ffmpeg": { "label": "FFmpeg", - "description": "Setări FFmpeg: cale binar, argumente, accelerare hardware și ieșiri per rol.", + "description": "Setări FFmpeg: inclusiv calea către binar, argumente, accelerare hardware și ieșiri per rol.", "path": { "label": "Cale FFmpeg", "description": "Calea către binarul FFmpeg sau un alias de versiune (\"7.0\" sau \"8.0\")." @@ -481,7 +481,7 @@ "description": "Folosește snapshot-urile obiectelor în loc de miniaturi pentru GenAI." }, "prompt": { - "label": "Prompt descriere", + "label": "Prompt de descriere", "description": "Șablonul de prompt implicit pentru descrierile GenAI." }, "object_prompts": { @@ -637,6 +637,9 @@ "max_concurrent": { "description": "Numărul maxim de sarcini de export de procesat în același timp.", "label": "Număr maxim de exporturi simultane" + }, + "chapters": { + "label": "Metadate de capitol de încorporat în înregistrările exportate" } }, "preview": { @@ -952,7 +955,7 @@ "description": "Adresa de email folosită pentru notificări push sau cerută de anumiți furnizori de notificări." }, "cooldown": { - "label": "Perioadă de răcire", + "label": "Perioadă de repaus", "description": "Timpul de așteptare (secunde) între notificări pentru a evita spamarea destinatarilor." }, "enabled_in_config": { diff --git a/web/public/locales/ro/views/classificationModel.json b/web/public/locales/ro/views/classificationModel.json index 8a7a077bea..374568f1b1 100644 --- a/web/public/locales/ro/views/classificationModel.json +++ b/web/public/locales/ro/views/classificationModel.json @@ -192,7 +192,20 @@ "title": "Editează modelul de clasificare", "descriptionState": "Editează clasele pentru acest model de clasificare a stării. Modificările vor necesita reantrenarea modelului.", "descriptionObject": "Editează tipul de obiect și tipul de clasificare pentru acest model de clasificare a obiectelor.", - "stateClassesInfo": "Notă: Modificarea claselor de stare necesită reantrenarea modelului cu clasele actualizate." + "stateClassesInfo": "Model actualizat. Reantrenează modelul pentru ca modificările claselor să aibă efect.", + "enabled": "Activat", + "enabledDesc": "Rulează acest model. Când este dezactivat, se oprește și nu mai clasifică.", + "saveAttempts": "Încercări de salvare", + "saveAttemptsDesc": "Numărul de imagini cu încercări de clasificare de păstrat pentru interfața de clasificări recente.", + "motion": "Rulează la mișcare", + "motionDesc": "Rulează clasificarea atunci când este detectată mișcare în decupajul configurat.", + "interval": "Interval", + "intervalDesc": "Secunde între rulările periodice de clasificare. Lasă necompletat pentru a rula doar la mișcare.", + "intervalPlaceholder": "Niciun interval", + "errors": { + "saveAttemptsInvalid": "Încercările de salvare trebuie să fie un număr întreg de 0 sau mai mare", + "intervalInvalid": "Intervalul trebuie să fie un număr întreg mai mare decât 0" + } }, "tooltip": { "trainingInProgress": "Modelul este în curs de antrenare", @@ -202,5 +215,6 @@ }, "none": "Niciuna", "reclassifyImageAs": "Reclasifică imaginea ca:", - "reclassifyImage": "Reclasifică imaginea" + "reclassifyImage": "Reclasifică imaginea", + "disabled": "Dezactivat" } diff --git a/web/public/locales/ro/views/explore.json b/web/public/locales/ro/views/explore.json index afdb9d8b65..c1114ff333 100644 --- a/web/public/locales/ro/views/explore.json +++ b/web/public/locales/ro/views/explore.json @@ -120,7 +120,7 @@ }, "editSubLabel": { "title": "Editează subeticheta", - "desc": "Introdu o sub-etichetă nouă pentru acest {{label}}", + "desc": "Introdu o sub-etichetă nouă pentru acest/această {{label}}", "descNoLabel": "Introduceți o nouă subetichetă pentru acest obiect urmărit" }, "editLPR": { diff --git a/web/public/locales/ro/views/settings.json b/web/public/locales/ro/views/settings.json index c47c028377..f6735831ad 100644 --- a/web/public/locales/ro/views/settings.json +++ b/web/public/locales/ro/views/settings.json @@ -122,7 +122,7 @@ "desc": "Arată întotdeauna numele camerelor într-un tag (chip) în dashboard-ul live multi-cameră." }, "liveFallbackTimeout": { - "label": "Timeout Rezecție Player Live", + "label": "Timp de expirare pentru player-ul live", "desc": "Când stream-ul live de înaltă calitate nu este disponibil, comută pe modul de bandă redusă după acest număr de secunde. Implicit: 3." } }, @@ -1337,7 +1337,7 @@ "reviewHelp": "Arată această cameră în revizuiri, inclusiv filtrul de camere, revizuirea mișcărilor și vizualizarea istoricului." }, "label": "Stare cameră", - "description": "Setează starea de funcționare pentru fiecare cameră.

    Pornit: stream-urile sunt procesate normal.
    Oprit: pune temporar pe pauză procesarea. Nu se menține după repornirile Frigate.
    Dezactivat: oprește procesarea și salvează modificarea în configurația ta. Este necesară o repornire pentru a reactiva o cameră dezactivată.

    Notă: Dezactivarea nu afectează restream-urile go2rtc.

    Trage de mâner pentru a reordona camerele active așa cum apar în interfață, inclusiv în panoul Live și în meniurile drop-down de selecție a camerei.", + "description": "Setează starea de funcționare pentru fiecare cameră.

    Pornit: stream-urile sunt procesate normal.
    Oprit: pune temporar pe pauză procesarea. Nu se menține după repornirile Frigate.
    Dezactivat: oprește procesarea și salvează modificarea în configurația ta. Este necesară o repornire pentru a reactiva o cameră dezactivată.

    Notă: Dezactivarea nu afectează restream-urile go2rtc.

    Trage⋮ pentru a reordona camerele active așa cum apar în interfață, inclusiv în panoul Live și în meniurile drop-down de selecție a camerei.", "disabledSubheading": "Dezactivat în configurație", "status": { "on": "Pornit", @@ -1643,7 +1643,14 @@ "keyLabel": "Cheie", "valueLabel": "Valoare", "keyPlaceholder": "Cheie nouă", - "remove": "Elimină" + "remove": "Elimină", + "providerNamePlaceholder": "de ex., openai", + "providerNameLabel": "Nume furnizor", + "variableNameLabel": "Nume variabilă", + "variableNamePlaceholder": "de ex., MY_VARIABLE", + "loggerNameLabel": "Nume logger", + "loggerNamePlaceholder": "de ex., frigate.record", + "keyPatternError": "Folosește doar litere, cifre, cratime și linii de subliniere (fără spații)" }, "timezone": { "defaultOption": "Folosește fusul orar al browserului" @@ -2098,6 +2105,10 @@ }, "ffmpeg": { "hwaccelManualNotRecommended": "Argumentele manuale pentru accelerarea hardware nu sunt recomandate. Dacă nu există o cerință specifică, selectează presetarea care se potrivește cu hardware-ul tău." + }, + "model": { + "optimizedFor320": "Frigate este optimizat pentru un model de 320x320, care este cea mai bună alegere pentru majoritatea configurațiilor. Un model de 640x640 este mai lent și ajută doar în scenarii specifice.", + "inputDimensionsNotDetectResolution": "Lățimea și înălțimea de intrare ale modelului reprezintă dimensiunile de intrare ale modelului de detectare a obiectelor, nu rezoluția de detecție a camerei tale. Acestea ar trebui să se potrivească cu dimensiunile modelului pe care îl folosești — de obicei o dimensiune pătrată, cum ar fi 320x320 sau 640x640." } }, "birdseye": { From 9d9c94035a5f02bfef4eb656d05863c6144229af Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:19 +0200 Subject: [PATCH 06/16] Translated using Weblate (Catalan) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (141 of 141 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (1294 of 1294 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (1287 of 1287 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (145 of 145 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (109 of 109 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (808 of 808 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (474 of 474 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/components-dialog/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ca/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-settings --- web/public/locales/ca/components/dialog.json | 3 ++- web/public/locales/ca/config/cameras.json | 3 +++ web/public/locales/ca/config/global.json | 3 +++ .../locales/ca/views/classificationModel.json | 18 ++++++++++++++++-- web/public/locales/ca/views/explore.json | 2 +- web/public/locales/ca/views/settings.json | 15 +++++++++++---- 6 files changed, 36 insertions(+), 8 deletions(-) diff --git a/web/public/locales/ca/components/dialog.json b/web/public/locales/ca/components/dialog.json index f63d47f74f..1aec787771 100644 --- a/web/public/locales/ca/components/dialog.json +++ b/web/public/locales/ca/components/dialog.json @@ -61,7 +61,8 @@ "error": { "endTimeMustAfterStartTime": "L'hora de finalització ha de ser posterior a l'hora d'inici", "noVaildTimeSelected": "No s'ha seleccionat un rang de temps vàlid", - "failed": "No s'ha pogut inciar l'exportació: {{error}}" + "failed": "No s'ha pogut inciar l'exportació: {{error}}", + "noValidTimeSelected": "No s'ha seleccionat cap interval de temps vàlid" }, "view": "Vista", "queued": "Exporta a la cua. Mostra el progrés a la pàgina d'exportacions.", diff --git a/web/public/locales/ca/config/cameras.json b/web/public/locales/ca/config/cameras.json index 1ba68b11cd..763a73f75d 100644 --- a/web/public/locales/ca/config/cameras.json +++ b/web/public/locales/ca/config/cameras.json @@ -493,6 +493,9 @@ "max_concurrent": { "label": "Màxim d'exportacions concurrents", "description": "Nombre màxim de treballs d'exportació a processar al mateix temps." + }, + "chapters": { + "label": "Metadades de capítol per incrustar en els enregistraments exportats" } }, "preview": { diff --git a/web/public/locales/ca/config/global.json b/web/public/locales/ca/config/global.json index 038deb4d41..52f2973039 100644 --- a/web/public/locales/ca/config/global.json +++ b/web/public/locales/ca/config/global.json @@ -380,6 +380,9 @@ "max_concurrent": { "label": "Màxim d'exportacions concurrents", "description": "Nombre màxim de treballs d'exportació a processar al mateix temps." + }, + "chapters": { + "label": "Metadades de capítol per incrustar en els enregistraments exportats" } }, "preview": { diff --git a/web/public/locales/ca/views/classificationModel.json b/web/public/locales/ca/views/classificationModel.json index e683939e39..f46bbb2fe0 100644 --- a/web/public/locales/ca/views/classificationModel.json +++ b/web/public/locales/ca/views/classificationModel.json @@ -192,7 +192,20 @@ "title": "Edita el model de classificació", "descriptionState": "Edita les classes per a aquest model de classificació d'estats. Els canvis requeriran tornar a entrenar el model.", "descriptionObject": "Edita el tipus d'objecte i el tipus de classificació per a aquest model de classificació d'objectes.", - "stateClassesInfo": "Nota: Canviar les classes d'estat requereix tornar a entrenar el model amb les classes actualitzades." + "stateClassesInfo": "S'ha actualitzat el model. Restringeix el model perquè els canvis de classe tinguin efecte.", + "enabled": "Habilitat", + "enabledDesc": "Executa aquest model. Quan està desactivat, deixa d'executar-se i ja no classifica.", + "saveAttempts": "Desa els intents", + "saveAttemptsDesc": "Nombre d'imatges de classificació que s'intenten mantenir per a les classificacions recents UI.", + "motion": "Executa en moviment", + "motionDesc": "Executa la classificació quan es detecta el moviment dins de l'escapçat configurat.", + "interval": "Interval", + "intervalDesc": "Segons entre les classificacions periòdiques. Deixeu-ho buit per a executar-se només en moviment.", + "intervalPlaceholder": "Sense interval", + "errors": { + "saveAttemptsInvalid": "Els intents de desar han de ser un nombre sencer de 0 o més", + "intervalInvalid": "L'interval ha de ser un nombre sencer més gran que 0" + } }, "tooltip": { "trainingInProgress": "El model s'està entrenant actualment", @@ -202,5 +215,6 @@ }, "none": "Cap", "reclassifyImageAs": "Reclassifica la imatge com a:", - "reclassifyImage": "Reclassifica la imatge" + "reclassifyImage": "Reclassifica la imatge", + "disabled": "Desactivat" } diff --git a/web/public/locales/ca/views/explore.json b/web/public/locales/ca/views/explore.json index a6a2844799..65eb6aa337 100644 --- a/web/public/locales/ca/views/explore.json +++ b/web/public/locales/ca/views/explore.json @@ -303,7 +303,7 @@ }, "offset": { "label": "Òfset d'Anotació", - "desc": "Aquestes dades provenen del flux de detecció de la càmera, però se superposen a les imatges del flux de gravació. És poc probable que els dos fluxos estiguin perfectament sincronitzats. Com a resultat, el quadre delimitador i les imatges no s'alinearan perfectament. Tanmateix, es pot utilitzar el camp annotation_offset per ajustar-ho.", + "desc": "Aquestes dades provenen del canal de detecció de la càmera, però estan sobreposades a les imatges del canal de registre. És poc probable que els dos corrents estiguin perfectament sincronitzats. Com a resultat, la caixa contenidora i les imatges no s'alinearan perfectament. Podeu utilitzar aquest paràmetre per a compensar les anotacions cap endavant o cap enrere en el temps per a alinear-les millor amb el metratge gravat.", "millisecondsToOffset": "Millisegons per l'òfset de detecció d'anotacions per. Per defecte: 0", "tips": "Reduïu el valor si la reproducció del vídeo es troba per davant dels quadres i els punts de ruta, i augmenteu-lo si es troba per darrere. Aquest valor pot ser negatiu.", "toast": { diff --git a/web/public/locales/ca/views/settings.json b/web/public/locales/ca/views/settings.json index 97905e75cc..fc1f5fb1e7 100644 --- a/web/public/locales/ca/views/settings.json +++ b/web/public/locales/ca/views/settings.json @@ -698,7 +698,7 @@ "title": "Crear un nou usuari", "confirmPassword": "Siusplau, confirma la contrasenya", "usernameOnlyInclude": "El nom d'usuari només pot contenir lletres, números, . o _", - "desc": "Afegeix un nou compte d'usuari i especifica un rol per accedir a àrees de la interfície de Frigate." + "desc": "Afegeix un compte d'usuari nou i especifica un rol per a l'accés a les àrees de la interfície d'usuari de Frigate." } }, "title": "Usuaris", @@ -1323,7 +1323,7 @@ "details": { "edit": "Edita els detalls de la càmera", "title": "Edita els detalls de la càmera", - "description": "Actualitza el nom de visualització, l'URL extern i la visibilitat utilitzada per a aquesta càmera a tota la interfície d'usuari de la Fragata.", + "description": "Actualitza el nom de visualització, l'URL extern i la visibilitat utilitzada per a aquesta càmera a tota la interfície d'usuari de Frigate.", "friendlyNameLabel": "Nom a mostrar", "friendlyNameHelp": "Nom amistós que es mostra per a aquesta càmera a tota la interfície d'usuari de Frigate. Deixeu-ho en blanc per utilitzar l'ID de la càmera.", "webuiUrlLabel": "URL de la interfície web de la càmera", @@ -1484,7 +1484,7 @@ "successMulti_other": "Configuració copiada a {{count}} càmeres", "successMultiWithRestart_one": "Configuració copiada a la càmera {{count}}. Reinicia Frigate per aplicar tots els canvis.", "successMultiWithRestart_many": "Configuració copiada a {{count}} càmeres. Reinicia Frigate per aplicar tots els canvis.", - "successMultiWithRestart_other": "Configuració copiada a {{count}} càmeres. Reinicia la fragata per aplicar tots els canvis.", + "successMultiWithRestart_other": "Configuració copiada a {{count}} càmeres. Reinicia Frigate per aplicar tots els canvis.", "partialFailure": "{{successCount}} seccions aplicades; «{{failedSection}}» ha fallat: {{errorMessage}}", "partialFailureMulti": "S'ha copiat a {{successCount}} càmera(es); ha fallat {{failed}}: {{errorMessage}}", "newCameraPartialFailure": "S'ha creat la càmera {{cameraName}} però no s'han pogut copiar alguns paràmetres: {{errorMessage}}", @@ -1641,7 +1641,14 @@ "keyLabel": "Clau", "valueLabel": "Valor", "keyPlaceholder": "Nou valor", - "remove": "Elimina" + "remove": "Elimina", + "providerNameLabel": "Nom del proveïdor", + "providerNamePlaceholder": "p. ex., openai", + "variableNameLabel": "Nom de la variable", + "variableNamePlaceholder": ". ex., La_Meva_Variable", + "loggerNameLabel": "Nom del registrador", + "loggerNamePlaceholder": "p. ex., friagte.registre", + "keyPatternError": "Utilitza només lletres, números, guions i guions baixos (sense espais)" }, "timezone": { "defaultOption": "Utilitza la zona horària del navegador" From cd5ce643169118ed1e08b17707c1bad5ae9af34b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:22 +0200 Subject: [PATCH 07/16] Translated using Weblate (Hungarian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 90.2% (452 of 501 strings) Co-authored-by: Hosted Weblate Co-authored-by: Martin Rácz Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/hu/ Translation: Frigate NVR/audio --- web/public/locales/hu/audio.json | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/web/public/locales/hu/audio.json b/web/public/locales/hu/audio.json index c16ebfdfc9..4dbd40a507 100644 --- a/web/public/locales/hu/audio.json +++ b/web/public/locales/hu/audio.json @@ -433,5 +433,22 @@ "trickle": "Csörgedezés", "gush": "Folyás", "stir": "Kavarás", - "thump": "Puffanás" + "thump": "Puffanás", + "arrow": "Nyíl", + "bouncing": "Pattog", + "vibration": "Vibrálás", + "inside": "Belül", + "outside": "Kívül", + "mains_hum": "Hálózati zaj", + "distortion": "Torzulás", + "throbbing": "Lüktetés", + "flap": "Csapkodás", + "scratch": "Kapar", + "scrape": "Karcolás", + "rub": "Dörzsölés", + "roll": "Gördül", + "crushing": "Összenyom", + "crumpling": "Gyűrődés", + "beep": "Sípolás", + "clang": "Csengés" } From e9466647518cc6fa883e526350823c486bbaed1b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:24 +0200 Subject: [PATCH 08/16] Translated using Weblate (Indonesian) Currently translated at 67.8% (74 of 109 strings) Co-authored-by: Hosted Weblate Co-authored-by: Surya Desktop Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/id/ Translation: Frigate NVR/components-dialog --- web/public/locales/id/components/dialog.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/web/public/locales/id/components/dialog.json b/web/public/locales/id/components/dialog.json index 6ec42c5759..e7516e3b7f 100644 --- a/web/public/locales/id/components/dialog.json +++ b/web/public/locales/id/components/dialog.json @@ -24,6 +24,9 @@ }, "state": { "submitted": "Terkirim" + }, + "toast": { + "error": "Gagal submit ke Frigate+. Harap periksa koneksi jaringan Anda dan coba lagi." } } }, @@ -57,7 +60,8 @@ "view": "Melihat", "batchSuccess_other": "{{count}} Ekspor dimulai. Membuka kasusnya sekarang.", "batchPartial": "Ekspor berhasil dimulai sebanyak {{successful}} dari total {{total}} ekspor. Kamera yang gagal: {{failedCameras}}", - "batchFailed": "Gagal memulai ekspor sebanyak {{total}}. Kamera yang gagal: {{failedCameras}}" + "batchFailed": "Gagal memulai ekspor sebanyak {{total}}. Kamera yang gagal: {{failedCameras}}", + "batchQueuedPartial": "Antrian ekspor berhasil sebanyak {{successful}} dari total {{total}} ekspor. Kamera yang gagal: {{failedCameras}}" }, "case": { "newCaseOption": "Membuat Kasus Baru", @@ -87,7 +91,9 @@ "selectGroup": "Pilih grup", "noMatchingCameras": "Tidak ada kamera yang sesuai dengan pencarian Anda", "selectedCount": "{{terpilih}} / {{total}} terpilih", - "namePlaceholder": "Nama dasar opsional untuk ekspor ini" + "namePlaceholder": "Nama dasar opsional untuk ekspor ini", + "searchOrSelectGroup": "Cari, atau pilih grup kamera...", + "selectAll": "Pilih semua kamera" }, "multi": { "title_other": "Ekspor {{count}} Ulasan", From bad88ad7c92090a8d97c41b890fc3e18e65aa543 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:28 +0200 Subject: [PATCH 09/16] Translated using Weblate (Dutch) Currently translated at 92.6% (101 of 109 strings) Co-authored-by: Hosted Weblate Co-authored-by: Mark Holtkamp Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nl/ Translation: Frigate NVR/components-dialog --- web/public/locales/nl/components/dialog.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/web/public/locales/nl/components/dialog.json b/web/public/locales/nl/components/dialog.json index a69f382f37..322157c059 100644 --- a/web/public/locales/nl/components/dialog.json +++ b/web/public/locales/nl/components/dialog.json @@ -34,6 +34,9 @@ "label": "Bevestig dit label voor Frigate Plus", "ask_a": "Is dit object een {{label}}?", "ask_full": "Is dit object een {{untranslatedLabel}} ({{translatedLabel}})?" + }, + "toast": { + "error": "Gefaald bij Frigate+ in te dienen. Controleer je netwerkverbinding en probeer opnieuw." } } }, @@ -104,7 +107,14 @@ "namePlaceholder": "Optionele basisnaam voor deze exporten", "queueingButton": "Exporten in wachtrij plaatsen...", "exportButton_one": "Export 1 Camera", - "exportButton_other": "{{count}} camera's exporteren" + "exportButton_other": "{{count}} camera's exporteren", + "searchOrSelectGroup": "Zoek of selecteer een cameragroep...", + "selectAll": "Selecteer alle camera's", + "clearSelection": "Wis selectie", + "selectWithActivity": "Camera's met gevolgde objecten", + "selectGroup": "Selecteer groep", + "noMatchingCameras": "Geen camera's komen overeen met je zoekopdracht", + "selectedCount": "{{selected}} / {{total}} geselecteerd" }, "multi": { "title_one": "Review 1 exporteren", From c78c4a2fe8eef58710ee41fb5fb1b88dfcf51ca1 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:34 +0200 Subject: [PATCH 10/16] Translated using Weblate (French) Currently translated at 91.7% (100 of 109 strings) Co-authored-by: Fabien LAMAISON Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/fr/ Translation: Frigate NVR/components-dialog --- web/public/locales/fr/components/dialog.json | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/web/public/locales/fr/components/dialog.json b/web/public/locales/fr/components/dialog.json index 4e0fa88431..104ed469ee 100644 --- a/web/public/locales/fr/components/dialog.json +++ b/web/public/locales/fr/components/dialog.json @@ -67,7 +67,8 @@ "error": { "failed": "Échec du démarrage de l'exportation : {{error}}", "endTimeMustAfterStartTime": "L'heure de fin doit être postérieure à l'heure de début.", - "noVaildTimeSelected": "La plage horaire sélectionnée n'est pas valide." + "noVaildTimeSelected": "La plage horaire sélectionnée n'est pas valide.", + "noValidTimeSelected": "Interval de temps invalide" }, "success": "Exportation démarrée avec succès. Consultez le fichier sur la page des exportations.", "view": "Vue", @@ -88,7 +89,9 @@ "export": "Exporter", "fromTimeline": { "saveExport": "Enregistrer l'exportation", - "previewExport": "Aperçu de l'exportation" + "previewExport": "Aperçu de l'exportation", + "queueingExport": "Traitement de l'export...", + "useThisRange": "Utiliser cet interval" }, "case": { "label": "Dossier", @@ -195,6 +198,10 @@ "markAsReviewed": "Marquer comme traité", "deleteNow": "Supprimer maintenant", "markAsUnreviewed": "Marquer comme non traité" + }, + "shareTimestamp": { + "label": "Partager cette date", + "title": "Partager cette date" } }, "imagePicker": { From c48412e0d52e73b4caa207acbd253bbeb703c026 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:40 +0200 Subject: [PATCH 11/16] Translated using Weblate (Swedish) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 2.2% (18 of 808 strings) Translated using Weblate (Swedish) Currently translated at 5.4% (26 of 474 strings) Translated using Weblate (Swedish) Currently translated at 100.0% (109 of 109 strings) Co-authored-by: Felix Boström Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/sv/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/components-dialog --- web/public/locales/sv/components/dialog.json | 8 +++++- web/public/locales/sv/config/cameras.json | 29 ++++++++++++++++++-- web/public/locales/sv/config/global.json | 29 ++++++++++++++++++-- 3 files changed, 61 insertions(+), 5 deletions(-) diff --git a/web/public/locales/sv/components/dialog.json b/web/public/locales/sv/components/dialog.json index 5fc3794bd9..7616b70f8e 100644 --- a/web/public/locales/sv/components/dialog.json +++ b/web/public/locales/sv/components/dialog.json @@ -24,6 +24,9 @@ }, "state": { "submitted": "Inskickad" + }, + "toast": { + "error": "Misslyckades att skicka till Frigate+. Kontrollera din nätverksanslutning och försök igen." } } }, @@ -106,7 +109,10 @@ "selectAll": "Välj alla kameror", "selectWithActivity": "Kameror med spårade objekt", "selectGroup": "Välj grupp", - "noMatchingCameras": "Ingen kamera matchar din sökning" + "noMatchingCameras": "Ingen kamera matchar din sökning", + "searchOrSelectGroup": "Sök, eller välj en kameragrupp...", + "clearSelection": "Rensa val", + "selectedCount": "{{selected}} / {{total}} valda" }, "multi": { "title_one": "Exportera 1 recension", diff --git a/web/public/locales/sv/config/cameras.json b/web/public/locales/sv/config/cameras.json index 6b59c41908..6bb2a48c5f 100644 --- a/web/public/locales/sv/config/cameras.json +++ b/web/public/locales/sv/config/cameras.json @@ -20,10 +20,35 @@ "description": "Aktivera eller avaktivera ljudbaserad detektering för denna kamera." }, "max_not_heard": { - "description": "Antal sekunder utan den konfigurerade ljudtypen innan en ljudbaserad händelse slutar." + "description": "Antal sekunder utan den konfigurerade ljudtypen innan en ljudbaserad händelse slutar.", + "label": "Avbryt paus" }, "min_volume": { - "label": "Minsta ljudvolym" + "label": "Minsta ljudvolym", + "description": "Lägsta RMS volym för ljuddetektion; lägre värde ökar känslighet (t.e.x. 200 högt, 500 medium, 1000 lågt)." + }, + "listen": { + "label": "Lyssningstyper", + "description": "Lista på typer av ljudevent att detektera (till exempel: skälla, brandlarm, tal, skrik)." + }, + "filters": { + "label": "Ljudfilter", + "description": "Filterinställningar per ljudtyp, till exempel konfidinströskel som används för att minska falska positiva resultat.", + "threshold": { + "label": "Lägsta ljud-konfidinströskel", + "description": "Lägsta konfidinströskel för att ljudhändelsen ska räknas." + } + }, + "enabled_in_config": { + "label": "Ursprungligt ljudtillstånd", + "description": "Indikerar om ljuddetektion ursprungligen var aktiverat i den statiska konfigurationsfilen." + }, + "num_threads": { + "label": "Detekteringstrådar", + "description": "Antal trådar att använda för bearbetning av ljuddetektering." } + }, + "audio_transcription": { + "label": "Ljudtranskribering" } } diff --git a/web/public/locales/sv/config/global.json b/web/public/locales/sv/config/global.json index ae266a8280..46829abf39 100644 --- a/web/public/locales/sv/config/global.json +++ b/web/public/locales/sv/config/global.json @@ -8,10 +8,35 @@ "label": "Aktivera ljuddetektering" }, "max_not_heard": { - "description": "Antal sekunder utan den konfigurerade ljudtypen innan en ljudbaserad händelse slutar." + "description": "Antal sekunder utan den konfigurerade ljudtypen innan en ljudbaserad händelse slutar.", + "label": "Avbryt paus" }, "min_volume": { - "label": "Minsta ljudvolym" + "label": "Minsta ljudvolym", + "description": "Lägsta RMS volym för ljuddetektion; lägre värde ökar känslighet (t.e.x. 200 högt, 500 medium, 1000 lågt)." + }, + "listen": { + "label": "Lyssningstyper", + "description": "Lista på typer av ljudevent att detektera (till exempel: skälla, brandlarm, tal, skrik)." + }, + "filters": { + "label": "Ljudfilter", + "description": "Filterinställningar per ljudtyp, till exempel konfidinströskel som används för att minska falska positiva resultat.", + "threshold": { + "label": "Lägsta ljud-konfidinströskel", + "description": "Lägsta konfidinströskel för att ljudhändelsen ska räknas." + } + }, + "enabled_in_config": { + "label": "Ursprungligt ljudtillstånd", + "description": "Indikerar om ljuddetektion ursprungligen var aktiverat i den statiska konfigurationsfilen." + }, + "num_threads": { + "label": "Detekteringstrådar", + "description": "Antal trådar att använda för bearbetning av ljuddetektering." } + }, + "audio_transcription": { + "label": "Ljudtranskribering" } } From d2e1d96706b5178fa1962c5a5ffca8cfcaa953e9 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:45 +0200 Subject: [PATCH 12/16] Translated using Weblate (Serbian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 96.7% (1245 of 1287 strings) Translated using Weblate (Serbian) Currently translated at 17.5% (42 of 239 strings) Co-authored-by: Dalibor Radovanović Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sr/ Translation: Frigate NVR/common Translation: Frigate NVR/views-settings --- web/public/locales/sr/common.json | 6 +- web/public/locales/sr/views/settings.json | 1845 ++++++++++++++++++++- 2 files changed, 1838 insertions(+), 13 deletions(-) diff --git a/web/public/locales/sr/common.json b/web/public/locales/sr/common.json index 1408ef405f..d5adb1c40d 100644 --- a/web/public/locales/sr/common.json +++ b/web/public/locales/sr/common.json @@ -75,5 +75,9 @@ "24hour": "MM-dd-yy-HH-mm-ss" } }, - "readTheDocumentation": "Прочитајте документацију" + "readTheDocumentation": "Прочитајте документацију", + "menu": { + "system": "Систем", + "profiles": "Профили" + } } diff --git a/web/public/locales/sr/views/settings.json b/web/public/locales/sr/views/settings.json index d3c55e6648..d4e1c02502 100644 --- a/web/public/locales/sr/views/settings.json +++ b/web/public/locales/sr/views/settings.json @@ -1,17 +1,22 @@ { "documentTitle": { "default": "Podešavanja - Frigate", - "authentication": "Podešavanja autentifikacije - Fregate", + "authentication": "Podešavanja autentifikacije - Frigate", "camera": "Podešavanje kamera - Frigate", "enrichments": "Podešavanja obogaćivanja - Frigate", "masksAndZones": "Uređivač maski i zona - Frigate", "motionTuner": "Tjuner pokreta - Frigate", - "general": "Подењавања UI - Фригејт", - "cameraManagement": "Управљање камерама - Фригејт", - "cameraReview": "Преглед подешавања камере - Фригејт", - "object": "Дебаговање - Фригејт", - "frigatePlus": "Подешавања за Фригејт+ - Фригејт", - "notifications": "Подешавања обавештавања - Фригејт" + "general": "Подешавања UI - Frigate", + "cameraManagement": "Управљање камерама - Frigate", + "cameraReview": "Преглед подешавања камере - Frigate", + "object": "Дебаговање - Frigate", + "frigatePlus": "Подешавања за Frigate+ - Frigate", + "notifications": "Подешавања обавештавања - Frigate", + "globalConfig": "Глобална конфигурација - Frigate", + "cameraConfig": "Конфигурација камере - Frigate", + "detectorsAndModel": "Детектори и модел - Frigate", + "maintenance": "Одржавање - Frigate", + "profiles": "Профили - Frigate" }, "menu": { "ui": "UI", @@ -24,8 +29,67 @@ "debug": "Дебаговање", "users": "Корисници", "roles": "Улоге", - "notifications": "Нотификације", - "frigateplus": "Фригејт+" + "notifications": "Обавештења", + "frigateplus": "Frigate+", + "general": "Опште", + "globalConfig": "Глобална конфигурација", + "system": "Систем", + "integrations": "Интеграције", + "cameras": "Конфигурација камере", + "uiSettings": "Подешавања корисничког интерфејса", + "profiles": "Профили", + "globalDetect": "Детекција објеката", + "globalRecording": "Снимање", + "globalSnapshots": "Снимци екрана", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Детекција покрета", + "globalObjects": "Објекти", + "globalReview": "Преглед", + "globalAudioEvents": "Детекција звука", + "globalLivePlayback": "Репродукција уживо", + "globalTimestampStyle": "Стил временске ознаке", + "systemDatabase": "База података", + "systemTls": "TLS", + "systemAuthentication": "Аутентификација", + "systemNetworking": "Мрежа", + "systemProxy": "Прокси", + "systemUi": "Кориснички интерфејс", + "systemLogging": "Евиденција", + "systemEnvironmentVariables": "Променљиве окружења", + "systemTelemetry": "Телеметрија", + "systemBirdseye": "Птичије око", + "systemFfmpeg": "FFmpeg", + "systemDetectorsAndModel": "Детектори и модел", + "systemMqtt": "MQTT", + "systemGo2rtcStreams": "go2rtc стримови", + "integrationSemanticSearch": "Семантичка претрага", + "integrationGenerativeAi": "Генеративна вештачка интелигенција", + "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 камере", + "maintenance": "Одржавање", + "mediaSync": "Синхронизација медија", + "regionGrid": "Мрежа региона" }, "dialog": { "unsavedChanges": { @@ -42,8 +106,8 @@ "liveDashboard": { "title": "Контролна табла уживо", "automaticLiveView": { - "label": "Аутоматси преглед уживо", - "desc": "Аутоматско пребацивање на преглед камере уживо када је активност детектована. Онемогућавање ове опције доводи до тога да се слике камере на контролној тапли ажурирају једном у минуту." + "label": "Аутоматски преглед уживо", + "desc": "Аутоматско пребацивање на преглед камере уживо када је активност детектована. Онемогућавање ове опције доводи до тога да се слике камере на контролној табли ажурирају једном у минуту." }, "playAlertVideos": { "label": "Репродукуј видео за узбуну", @@ -54,7 +118,8 @@ "desc": "Увек приказивати називе камера у чипу у репродукцији уживо више камера на контролној табли." }, "liveFallbackTimeout": { - "desc": "Када стрим високог квалитета није доступан за камеру, спусти се на режим споре мреже након оволико секунди. Подразумевано 3." + "desc": "Када стрим високог квалитета није доступан за камеру, спусти се на режим споре мреже након оволико секунди. Подразумевано 3.", + "label": "Временско ограничење за резервни плејер уживо" } }, "storedLayouts": { @@ -82,6 +147,1762 @@ "sunday": "Недеља", "monday": "Понедељак" } + }, + "toast": { + "success": { + "clearStoredLayout": "Обрисан сачувани распоред за {{cameraName}}", + "clearStreamingSettings": "Обрисана подешавања стримовања за све групе камера." + }, + "error": { + "clearStoredLayoutFailed": "Неуспешно брисање сачуваног распореда: {{errorMessage}}", + "clearStreamingSettingsFailed": "Неуспешно брисање подешавања стримовања: {{errorMessage}}" + } + } + }, + "button": { + "overriddenGlobal": "Замењено (глобално)", + "overriddenGlobalTooltip": "Ова камера замењује глобална подешавања конфигурације у овом одељку", + "overriddenGlobalNoDeltas": "Ова камера замењује глобалну конфигурацију, али се вредности поља не разликују.", + "overriddenBaseConfig": "Замењено (основна конфигурација)", + "overriddenBaseConfigTooltip": "Профил {{profile}} замењује подешавања конфигурације у овом одељку", + "overriddenBaseConfigNoDeltas": "Профил {{profile}} замењује овај одељак, али се вредности поља не разликују од основне конфигурације.", + "overriddenInCameras": { + "profilePrefix": "{{profile}} профил: {{fields}}" + } + }, + "menuDot": { + "overrideGlobal": "Овај одељак замењује глобалну конфигурацију", + "overrideProfile": "Овај одељак је замењен профилом {{profile}}", + "unsaved": "Овај одељак има несачуване измене" + }, + "saveAllPreview": { + "title": "Измене за чување", + "triggerLabel": "Прегледајте измене на чекању", + "empty": "Нема измена на чекању.", + "scope": { + "label": "Опсег", + "global": "Глобално", + "camera": "Камера: {{cameraName}}" + }, + "profile": { + "label": "Профил" + }, + "field": { + "label": "Поље" + }, + "value": { + "label": "Нова вредност", + "reset": "Ресетуј" + } + }, + "enrichments": { + "title": "Подешавања обогаћивања", + "unsavedChanges": "Несачуване измене подешавања обогаћивања", + "birdClassification": { + "title": "Класификација птица", + "desc": "Класификација птица идентификује познате птице користећи квантизовани Tensorflow модел. Када је позната птица препозната, њено уобичајено име биће додато као sub_label. Ова информација је укључена у кориснички интерфејс, филтере, као и у обавештења." + }, + "semanticSearch": { + "title": "Семантичка претрага", + "desc": "Семантичка претрага у Frigate омогућава проналажење праћених објеката у ставкама прегледа користећи саму слику, текстуални опис дефинисан од стране корисника или аутоматски генерисан опис.", + "reindexNow": { + "label": "Поново индексирај", + "desc": "Поновно индексирање ће регенерисати уграђивања за све праћене објекте. Овај процес се извршава у позадини и може максимално оптеретити CPU и потрајати значајно време у зависности од броја праћених објеката.", + "confirmTitle": "Потврдите поновно индексирање", + "confirmDesc": "Да ли сте сигурни да желите поново индексирати сва уграђивања праћених објеката? Овај процес ће се извршавати у позадини, али може максимално оптеретити CPU и потрајати значајно време. Можете пратити напредак на страници Истраживање.", + "confirmButton": "Поново индексирај", + "success": "Поновно индексирање је успешно покренуто.", + "alreadyInProgress": "Поновно индексирање је већ у току.", + "error": "Неуспешно покретање поновног индексирања: {{errorMessage}}" + }, + "modelSize": { + "label": "Величина модела", + "desc": "Величина модела који се користи за уграђивања семантичке претраге.", + "small": { + "title": "мали" + }, + "large": { + "title": "велики" + } + } + }, + "faceRecognition": { + "title": "Препознавање лица", + "desc": "Препознавање лица омогућава додељивање имена особама и када се лице препозна, Frigate ће доделити име особе као sub label. Ова информација је укључена у кориснички интерфејс, филтере, као и у обавештења.", + "modelSize": { + "label": "Величина модела", + "desc": "Величина модела који се користи за препознавање лица.", + "small": { + "title": "мали" + }, + "large": { + "title": "велики" + } + } + }, + "licensePlateRecognition": { + "title": "Препознавање регистарских таблица", + "desc": "Frigate може препознати регистарске таблице на возилима и аутоматски додати детектоване знакове у поље recognized_license_plate или познато име као sub_label за објекте типа car. Уобичајена употреба може бити читање регистарских таблица аутомобила који улазе у прилаз или пролазе улицом." + }, + "restart_required": "Потребно је рестартовање (измењена подешавања обогаћивања)", + "toast": { + "success": "Подешавања обогаћивања су сачувана. Рестартујте Frigate да бисте применили измене.", + "error": "Неуспешно чување измена конфигурације: {{errorMessage}}" + } + }, + "cameraWizard": { + "title": "Додај камеру", + "description": "Пратите кораке испод да бисте додали нову камеру у вашу Frigate инсталацију.", + "steps": { + "nameAndConnection": "Назив и веза", + "probeOrSnapshot": "Испитивање или снимак", + "streamConfiguration": "Конфигурација стрима", + "validationAndTesting": "Валидација и тестирање" + }, + "save": { + "success": "Нова камера {{cameraName}} је успешно сачувана.", + "failure": "Грешка при чувању {{cameraName}}." + }, + "testResultLabels": { + "resolution": "Резолуција", + "video": "Видео", + "audio": "Звук", + "fps": "FPS" + }, + "commonErrors": { + "noUrl": "Унесите важећу URL адресу стрима", + "testFailed": "Тест стрима неуспешан: {{error}}" + }, + "step1": { + "description": "Унесите детаље камере и изаберите да испитате камеру или ручно изаберете бренд.", + "cameraName": "Назив камере", + "cameraNamePlaceholder": "нпр. front_door или Преглед дворишта", + "host": "Хост/IP адреса", + "port": "Порт", + "username": "Корисничко име", + "usernamePlaceholder": "Опционо", + "password": "Лозинка", + "passwordPlaceholder": "Опционо", + "selectTransport": "Изаберите транспортни протокол", + "cameraBrand": "Бренд камере", + "selectBrand": "Изаберите бренд камере за URL шаблон", + "customUrl": "Прилагођена URL адреса стрима", + "brandInformation": "Информације о бренду", + "brandUrlFormat": "За камере са RTSP URL форматом: {{exampleUrl}}", + "customUrlPlaceholder": "rtsp://username:password@host:port/path", + "connectionSettings": "Подешавања везе", + "detectionMethod": "Метод детекције стрима", + "onvifPort": "ONVIF порт", + "probeMode": "Испитај камеру", + "manualMode": "Ручни избор", + "detectionMethodDescription": "Испитајте камеру путем ONVIF (ако је подржано) да бисте пронашли URL адресе стримова камере, или ручно изаберите бренд камере за коришћење унапред дефинисаних URL адреса. За унос прилагођене RTSP URL адресе, изаберите ручни метод и одаберите \"Остало\".", + "onvifPortDescription": "За камере које подржавају ONVIF, ово је обично 80 или 8080.", + "useDigestAuth": "Користи digest аутентификацију", + "useDigestAuthDescription": "Користи HTTP digest аутентификацију за ONVIF. Неке камере могу захтевати посебно ONVIF корисничко име/лозинку уместо стандардног администраторског корисника.", + "errors": { + "brandOrCustomUrlRequired": "Изаберите бренд камере са хостом/IP или изаберите 'Остало' са прилагођеном URL адресом", + "nameRequired": "Назив камере је обавезан", + "nameLength": "Назив камере мора имати 64 или мање знакова", + "invalidCharacters": "Назив камере садржи неважеће знакове", + "nameExists": "Назив камере већ постоји", + "customUrlRtspRequired": "Прилагођене URL адресе морају почињати са \"rtsp://\" или \"rtsps://\". Ручна конфигурација је потребна за стримове камера који нису RTSP." + } + }, + "step2": { + "description": "Испитајте камеру за доступне стримове или конфигуришите ручна подешавања на основу изабраног метода детекције.", + "testSuccess": "Тест везе успешан!", + "testFailed": "Тест везе неуспешан. Проверите унос и покушајте поново.", + "testFailedTitle": "Тест неуспешан", + "streamDetails": "Детаљи стрима", + "probing": "Испитивање камере...", + "retry": "Покушај поново", + "testing": { + "probingMetadata": "Испитивање метаподатака камере...", + "fetchingSnapshot": "Преузимање снимка камере..." + }, + "probeFailed": "Неуспешно испитивање камере: {{error}}", + "probingDevice": "Испитивање уређаја...", + "probeSuccessful": "Испитивање успешно", + "probeError": "Грешка испитивања", + "probeNoSuccess": "Испитивање неуспешно", + "deviceInfo": "Информације о уређају", + "manufacturer": "Произвођач", + "model": "Модел", + "firmware": "Фирмвер", + "profiles": "Профили", + "ptzSupport": "PTZ подршка", + "autotrackingSupport": "Подршка за аутоматско праћење", + "presets": "Претподешавања", + "rtspCandidates": "RTSP кандидати", + "rtspCandidatesDescription": "Следеће RTSP URL адресе су пронађене испитивањем камере. Тестирајте везу да бисте видели метаподатке стрима.", + "noRtspCandidates": "Нису пронађене RTSP URL адресе са камере. Ваши акредитиви могу бити нетачни, или камера можда не подржава ONVIF или метод коришћен за преузимање RTSP URL адреса. Вратите се и унесите RTSP URL ручно.", + "candidateStreamTitle": "Кандидат {{number}}", + "useCandidate": "Користи", + "uriCopy": "Копирај", + "uriCopied": "URI копиран у привремену меморију", + "testConnection": "Тестирај везу", + "toggleUriView": "Кликните за приказ целог URI", + "connected": "Повезано", + "notConnected": "Није повезано", + "errors": { + "hostRequired": "Хост/IP адреса је обавезна" + } + }, + "step3": { + "description": "Конфигуришите улоге стримова и додајте додатне стримове за вашу камеру.", + "streamsTitle": "Стримови камере", + "addStream": "Додај стрим", + "addAnotherStream": "Додај још један стрим", + "streamTitle": "Стрим {{number}}", + "streamUrl": "URL адреса стрима", + "streamUrlPlaceholder": "rtsp://username:password@host:port/path", + "selectStream": "Одаберите стрим", + "searchCandidates": "Претражи кандидате...", + "noStreamFound": "Стрим није пронађен", + "url": "URL", + "resolution": "Резолуција", + "selectResolution": "Одаберите резолуцију", + "quality": "Квалитет", + "selectQuality": "Одаберите квалитет", + "roles": "Улоге", + "roleLabels": { + "detect": "Детекција објеката", + "record": "Снимање", + "audio": "Звук" + }, + "testStream": "Тестирај везу", + "testSuccess": "Тест стрима успешан!", + "testFailed": "Тест стрима неуспешан", + "testFailedTitle": "Тест неуспешан", + "connected": "Повезано", + "notConnected": "Није повезано", + "featuresTitle": "Функције", + "go2rtc": "Смањи везе ка камери", + "detectRoleWarning": "Најмање један стрим мора имати улогу \"detect\" за наставак.", + "rolesPopover": { + "title": "Улоге стримова", + "detect": "Главни извор за детекцију објеката.", + "record": "Чува сегменте видео извора на основу подешавања конфигурације.", + "audio": "Извор за детекцију засновану на звуку." + }, + "featuresPopover": { + "title": "Функције стрима", + "description": "Користите go2rtc рестримовање за смањење веза ка камери." + } + }, + "step4": { + "description": "Завршна валидација и анализа пре чувања нове камере. Повежите сваки стрим пре чувања.", + "validationTitle": "Валидација стрима", + "connectAllStreams": "Повежи све стримове", + "reconnectionSuccess": "Поновно повезивање успешно.", + "reconnectionPartial": "Неки стримови нису успели да се поново повежу.", + "streamUnavailable": "Преглед стрима недоступан", + "reload": "Поново учитај", + "connecting": "Повезивање...", + "streamTitle": "Стрим {{number}}", + "valid": "Исправно", + "failed": "Неуспешно", + "notTested": "Није тестирано", + "connectStream": "Повежи", + "connectingStream": "Повезивање", + "disconnectStream": "Прекини везу", + "estimatedBandwidth": "Процењени пропусни опсег", + "roles": "Улоге", + "ffmpegModule": "Користи режим компатибилности стрима", + "ffmpegModuleDescription": "Ако се стрим не учита после неколико покушаја, покушајте да омогућите ово. Када је омогућено, Frigate ће користити FFmpeg модул са go2rtc. Ово може пружити бољу компатибилност са неким стримовима камера.", + "none": "Ништа", + "error": "Грешка", + "streamValidated": "Стрим {{number}} успешно валидиран", + "streamValidationFailed": "Валидација стрима {{number}} неуспешна", + "saveAndApply": "Сачувај нову камеру", + "saveError": "Неважећа конфигурација. Проверите подешавања.", + "issues": { + "title": "Валидација стрима", + "videoCodecGood": "Видео кодек је {{codec}}.", + "audioCodecGood": "Аудио кодек је {{codec}}.", + "resolutionHigh": "Резолуција од {{resolution}} може проузроковати повећану потрошњу ресурса.", + "resolutionLow": "Резолуција од {{resolution}} може бити прениска за поуздану детекцију малих објеката.", + "resolutionUnknown": "Резолуција овог стрима није могла бити испитана. Требало би да ручно подесите резолуцију детекције у Подешавањима или конфигурацији.", + "noAudioWarning": "Звук није детектован за овај стрим, снимци неће имати звук.", + "audioCodecRecordError": "AAC аудио кодек је потребан за подршку звука у снимцима.", + "audioCodecRequired": "Аудио стрим је потребан за подршку детекције звука.", + "restreamingWarning": "Смањење веза ка камери за стрим снимања може незнатно повећати коришћење CPU.", + "brands": { + "reolink-rtsp": "Reolink RTSP се не препоручује. Омогућите HTTP у подешавањима фирмвера камере и поново покрените чаробњак.", + "reolink-http": "Reolink HTTP стримови би требало да користе FFmpeg за бољу компатибилност. Омогућите 'Режим компатибилности стрима' за овај стрим." + }, + "dahua": { + "substreamWarning": "Подстрим 1 је закључан на ниској резолуцији. Многе Dahua / Amcrest / EmpireTech камере подржавају додатне подстримове које треба омогућити у подешавањима камере. Препоручује се да проверите и искористите те стримове ако су доступни." + }, + "hikvision": { + "substreamWarning": "Подстрим 1 је закључан на ниској резолуцији. Многе Hikvision камере подржавају додатне подстримове које треба омогућити у подешавањима камере. Препоручује се да проверите и искористите те стримове ако су доступни." + } + } + } + }, + "cameraManagement": { + "title": "Управљање камерама", + "description": "Додајте, уредите и обришите камере, контролишите стање сваке камере и конфигуришите замене по профилу и типу камере. За конфигурисање стримова, детекције, покрета и других подешавања специфичних за камеру, изаберите одговарајући одељак под Конфигурацијом камере.", + "addCamera": "Додај нову камеру", + "deleteCamera": "Обриши камеру", + "deleteCameraDialog": { + "title": "Обриши камеру", + "description": "Брисање камере ће трајно уклонити све снимке, праћене објекте и конфигурацију за ту камеру. Сви go2rtc стримови повезани са овом камером можда ће морати бити ручно уклоњени.", + "selectPlaceholder": "Изаберите камеру...", + "confirmTitle": "Да ли сте сигурни?", + "deleteExports": "Такође обриши извозе за ову камеру", + "confirmButton": "Трајно обриши", + "success": "Камера {{cameraName}} је успешно обрисана", + "error": "Неуспешно брисање камере {{cameraName}}" + }, + "editCamera": "Уреди камеру:", + "selectCamera": "Изаберите камеру", + "backToSettings": "Назад на подешавања камере", + "streams": { + "title": "Стање и детаљи камере", + "label": "Стање камере", + "disabledSubheading": "Онемогућено у конфигурацији", + "status": { + "on": "Укључено", + "off": "Искључено", + "disabled": "Онемогућено" + }, + "enableSuccess": "Омогућено {{cameraName}}. Рестартујте Frigate за примену.", + "disableSuccess": "Онемогућено {{cameraName}} и сачувано у конфигурацији.", + "reorderHandle": "Превуците за преуређивање", + "saving": "Чување…", + "saved": "Сачувано", + "details": { + "edit": "Уреди детаље камере", + "title": "Уреди детаље камере", + "description": "Ажурирајте приказно име, екстерну URL адресу и видљивост за ову камеру у целом Frigate корисничком интерфејсу.", + "friendlyNameLabel": "Приказно име", + "friendlyNameHelp": "Пријатељско име приказано за ову камеру у целом Frigate корисничком интерфејсу. Оставите празно за коришћење ID камере.", + "webuiUrlLabel": "URL веб интерфејса камере", + "webuiUrlHelp": "URL за посету веб интерфејсу камере директно из дебаг прегледа. Оставите празно да бисте онемогућили везу.", + "webuiUrlInvalid": "Мора бити важећа URL адреса (нпр. https://example.com).", + "dashboardLabel": "Прикажи на контролној табли уживо", + "dashboardHelp": "Прикажи ову камеру на контролној табли уживо.", + "reviewLabel": "Прикажи у прегледу", + "reviewHelp": "Прикажи ову камеру у прегледу, укључујући филтер камере, преглед покрета и преглед историје." + } + }, + "cameraConfig": { + "add": "Додај камеру", + "edit": "Уреди камеру", + "description": "Конфигуришите подешавања камере укључујући улазне стримове и улоге.", + "name": "Назив камере", + "nameRequired": "Назив камере је обавезан", + "nameLength": "Назив камере мора имати мање од 64 знака.", + "namePlaceholder": "нпр. front_door или Преглед дворишта", + "enabled": "Омогућено", + "ffmpeg": { + "inputs": "Улазни стримови", + "path": "Путања стрима", + "pathRequired": "Путања стрима је обавезна", + "pathPlaceholder": "rtsp://...", + "roles": "Улоге", + "rolesRequired": "Потребна је најмање једна улога", + "rolesUnique": "Свака улога (audio, detect, record) може бити додељена само једном стриму", + "addInput": "Додај улазни стрим", + "removeInput": "Уклони улазни стрим", + "inputsRequired": "Потребан је најмање један улазни стрим" + }, + "go2rtcStreams": "go2rtc стримови", + "streamUrls": "URL адресе стримова", + "addUrl": "Додај URL", + "addGo2rtcStream": "Додај go2rtc стрим", + "toast": { + "success": "Камера {{cameraName}} је успешно сачувана" + } + }, + "profiles": { + "title": "Замене камере по профилу", + "selectLabel": "Изаберите профил", + "description": "Конфигуришите које камере су укључене или искључене када се профил активира. Камере подешене на \"Наследи\" задржавају подразумевано стање.", + "inherit": "Наследи", + "on": "Укључено", + "off": "Искључено" + }, + "cameraType": { + "title": "Тип камере", + "label": "Тип камере", + "description": "Подесите тип за сваку камеру. Наменске LPR камере су једнонаменске камере са моћним оптичким зумом за снимање регистарских таблица удаљених возила. Већина камера треба да користи нормални тип камере осим ако камера није посебно за LPR и има уско фокусиран приказ на регистарске таблице.", + "normal": "Нормалан", + "dedicatedLpr": "Наменска LPR", + "saveSuccess": "Ажуриран тип камере за {{cameraName}}. Рестартујте Frigate за примену измена." + }, + "clone": { + "sectionTitle": "Клонирај подешавања", + "sectionDescription": "Копирајте конфигурацију са једне камере на другу камеру или нову.", + "button": "Клонирај подешавања", + "title": "Клонирај подешавања камере", + "description": "Копирајте конфигурацију камере на једну или више других камера или нову камеру. Идентитет (назив, пријатељско име, URL веб интерфејса, редослед приказа) се никада не копира.", + "source": { + "label": "Изворна камера", + "placeholder": "Изаберите изворну камеру", + "required": "Изаберите изворну камеру" + }, + "target": { + "legend": "Циљ", + "newRadio": "Нова камера", + "newNameLabel": "Назив камере", + "newNamePlaceholder": "нпр. back_door или Задња врата", + "newNameRequired": "Назив камере је обавезан", + "newNameInvalid": "Неважећи назив камере", + "newNameCollision": "Камера са овим називом већ постоји", + "newStreamsForced": "Стримови се увек копирају за нову камеру.", + "existingCamerasRadio": "Постојеће камере", + "allCameras": "Све камере", + "existingPlaceholder": "Изаберите најмање једну камеру", + "existingDisabled": "Нема других камера за копирање" + }, + "categories": { + "legend": "Подешавања за клонирање", + "description": "Изаберите која подешавања да копирате из изворне камере.", + "selectAll": "Изабери све", + "selectNone": "Не изабери ништа", + "resetDefaults": "Ресетуј на подразумевано", + "general": "Опште", + "spatial": "Просторна подешавања", + "streams": "Стримови", + "spatialWarningTitle": "Неподударање резолуције", + "spatialWarning": "Резолуција детекције изворне камере {{srcCamera}} ({{srcWidth}}×{{srcHeight}}) се разликује од: {{cameras}}. Полигони можда неће бити поравнати на тим камерама. Ова подразумевана подешавања су искључена; омогућите за копирање без измена.", + "restartHint": "Потребно је рестартовање", + "items": { + "record": "Снимање", + "snapshots": "Снимци екрана", + "review": "Преглед", + "motion": "Детекција покрета", + "objects": "Објекти", + "audio": "Детекција звука", + "audio_transcription": "Транскрипција звука", + "notifications": "Обавештења", + "birdseye": "Birdseye", + "mqtt": "MQTT", + "timestamp_style": "Стил временске ознаке", + "onvif": "ONVIF", + "lpr": "Препознавање регистарских таблица", + "face_recognition": "Препознавање лица", + "semantic_search": "Семантичка претрага", + "genai": "Генеративна вештачка интелигенција", + "type": "Тип камере (нормалан / наменска LPR)", + "profiles": "Профили", + "detect": "Димензије детекције", + "zones": "Зоне", + "motion_mask": "Маске покрета", + "object_masks": "Маске објеката", + "ffmpeg_live": "URL адресе и улоге стримова" + } + }, + "footer": { + "restartNeeded": "За неке измене биће потребно рестартовање.", + "liveOnly": "Све измене ће бити примењене уживо без рестартовања.", + "submit": "Клонирај", + "submitting": "Клонирање…" + }, + "toast": { + "success": "Подешавања копирана у {{cameraName}}", + "successWithRestart": "Подешавања копирана у {{cameraName}}. Рестартујте Frigate за примену свих измена.", + "partialFailure": "{{successCount}} одељака примењено; '{{failedSection}}' неуспешно: {{errorMessage}}", + "partialFailureMulti": "Копирано у {{successCount}} камеру/камера; неуспешно за {{failed}}: {{errorMessage}}", + "newCameraPartialFailure": "Камера {{cameraName}} је креирана, али нека подешавања нису успела да се копирају: {{errorMessage}}", + "sourceMissing": "Изворна камера више не постоји", + "submitError": "Неуспешно клонирање камере: {{errorMessage}}" + } + } + }, + "cameraReview": { + "title": "Подешавања прегледа камере", + "object_descriptions": { + "title": "Генеративни АИ описи објеката", + "desc": "Привремено омогућите/онемогућите генеративне АИ описе објеката за ову камеру до рестартовања Frigate. Када је онемогућено, АИ генерисани описи неће бити затражени за праћене објекте на овој камери." + }, + "review_descriptions": { + "title": "Генеративни АИ описи прегледа", + "desc": "Привремено омогућите/онемогућите генеративне АИ описе прегледа за ову камеру до рестартовања Frigate. Када је онемогућено, АИ генерисани описи неће бити затражени за ставке прегледа на овој камери." + }, + "review": { + "title": "Преглед", + "desc": "Привремено омогућите/онемогућите упозорења и детекције за ову камеру до рестартовања Frigate. Када је онемогућено, нове ставке прегледа неће бити генерисане. ", + "alerts": "Упозорења ", + "detections": "Детекције " + }, + "reviewClassification": { + "title": "Класификација прегледа", + "noDefinedZones": "Нису дефинисане зоне за ову камеру.", + "objectAlertsTips": "Сви {{alertsLabels}} објекти на {{cameraName}} биће приказани као Упозорења.", + "zoneObjectAlertsTips": "Сви {{alertsLabels}} објекти детектовани у зони {{zone}} на {{cameraName}} биће приказани као Упозорења.", + "objectDetectionsTips": "Сви {{detectionsLabels}} објекти некатегоризовани на {{cameraName}} биће приказани као Детекције без обзира на зону у којој се налазе.", + "zoneObjectDetectionsTips": { + "text": "Сви {{detectionsLabels}} објекти некатегоризовани у зони {{zone}} на {{cameraName}} биће приказани као Детекције.", + "notSelectDetections": "Сви {{detectionsLabels}} објекти детектовани у зони {{zone}} на {{cameraName}} некатегоризовани као Упозорења биће приказани као Детекције без обзира на зону у којој се налазе.", + "regardlessOfZoneObjectDetectionsTips": "Сви {{detectionsLabels}} објекти некатегоризовани на {{cameraName}} биће приказани као Детекције без обзира на зону у којој се налазе." + }, + "unsavedChanges": "Несачувана подешавања класификације прегледа за {{camera}}", + "selectAlertsZones": "Изаберите зоне за упозорења", + "selectDetectionsZones": "Изаберите зоне за детекције", + "limitDetections": "Ограничи детекције на одређене зоне", + "toast": { + "success": "Конфигурација класификације прегледа је сачувана. Рестартујте Frigate за примену измена." + } + } + }, + "masksAndZones": { + "filter": { + "all": "Све маске и зоне" + }, + "restart_required": "Потребно је рестартовање (маске/зоне измењене)", + "disabledInConfig": "Ставка је онемогућена у конфигурационом фајлу", + "addDisabledProfile": "Прво додајте у основну конфигурацију, затим замените у профилу", + "profileBase": "(основна)", + "profileOverride": "(замена)", + "toast": { + "success": { + "copyCoordinates": "Координате за {{polyName}} копиране у привремену меморију." + }, + "error": { + "copyCoordinatesFailed": "Није могуће копирати координате у привремену меморију." + } + }, + "motionMaskLabel": "Маска покрета {{number}}", + "objectMaskLabel": "Маска објеката {{number}}", + "form": { + "id": { + "error": { + "mustNotBeEmpty": "ID не сме бити празан.", + "alreadyExists": "Маска са овим ID већ постоји за ову камеру." + } + }, + "name": { + "error": { + "mustNotBeEmpty": "Назив не сме бити празан." + } + }, + "zoneName": { + "error": { + "mustBeAtLeastTwoCharacters": "Назив зоне мора имати најмање 2 знака.", + "mustNotBeSameWithCamera": "Назив зоне не сме бити исти као назив камере.", + "alreadyExists": "Зона са овим називом већ постоји за ову камеру.", + "mustNotContainPeriod": "Назив зоне не сме садржати тачке.", + "hasIllegalCharacter": "Назив зоне садржи недозвољене знакове.", + "mustHaveAtLeastOneLetter": "Назив зоне мора имати најмање једно слово." + } + }, + "distance": { + "error": { + "text": "Удаљеност мора бити већа или једнака 0,1.", + "mustBeFilled": "Сва поља удаљености морају бити попуњена за коришћење процене брзине." + } + }, + "inertia": { + "error": { + "mustBeAboveZero": "Инерција мора бити већа од 0." + } + }, + "loiteringTime": { + "error": { + "mustBeGreaterOrEqualZero": "Време задржавања мора бити веће или једнако 0." + } + }, + "speed": { + "error": { + "mustBeGreaterOrEqualTo": "Праг брзине мора бити већи или једнак 0,1." + } + }, + "polygonDrawing": { + "type": { + "zone": "зона", + "motion_mask": "маска покрета", + "object_mask": "маска објеката" + }, + "removeLastPoint": "Уклони последњу тачку", + "reset": { + "label": "Обриши све тачке" + }, + "snapPoints": { + "true": "Закачи тачке", + "false": "Не закачи тачке" + }, + "delete": { + "title": "Потврди брисање", + "success": "{{name}} је обрисан/а." + }, + "revertOverride": { + "title": "Врати на основну конфигурацију" + }, + "error": { + "mustBeFinished": "Цртање полигона мора бити завршено пре чувања." + } + } + }, + "zones": { + "label": "Зоне", + "documentTitle": "Уреди зону - Frigate", + "desc": { + "title": "Зоне вам омогућавају да дефинишете одређену област кадра тако да можете утврдити да ли се објекат налази у одређеној области.", + "documentation": "Документација" + }, + "add": "Додај зону", + "edit": "Уреди зону", + "clickDrawPolygon": "Кликните да нацртате полигон на слици.", + "name": { + "title": "Назив", + "inputPlaceHolder": "Унесите назив…", + "tips": "Назив мора имати најмање 2 знака, мора имати најмање једно слово и не сме бити назив камере или друге зоне на овој камери." + }, + "enabled": { + "title": "Омогућено", + "description": "Да ли је ова зона активна и омогућена у конфигурационом фајлу. Ако је онемогућена, не може се омогућити путем MQTT. Онемогућене зоне се игноришу при извршавању." + }, + "inertia": { + "title": "Инерција" + }, + "loiteringTime": { + "title": "Време задржавања" + }, + "objects": { + "title": "Објекти", + "desc": "Листа објеката који се примењују на ову зону." + }, + "allObjects": "Сви објекти", + "speedEstimation": { + "title": "Процена брзине", + "desc": "Омогући процену брзине за објекте у овој зони. Зона мора имати тачно 4 тачке.", + "lineADistance": "Удаљеност линије А ({{unit}})", + "lineBDistance": "Удаљеност линије Б ({{unit}})", + "lineCDistance": "Удаљеност линије В ({{unit}})", + "lineDDistance": "Удаљеност линије Г ({{unit}})" + }, + "speedThreshold": { + "title": "Праг брзине ({{unit}})", + "desc": "Одређује минималну брзину за објекте да би се сматрали у овој зони.", + "toast": { + "error": { + "pointLengthError": "Процена брзине је онемогућена за ову зону. Зоне са проценом брзине морају имати тачно 4 тачке.", + "loiteringTimeError": "Зоне са временом задржавања већим од 0 не би требало користити са проценом брзине." + } + } + }, + "toast": { + "success": "Зона ({{zoneName}}) је сачувана." + } + }, + "motionMasks": { + "label": "Маска покрета", + "documentTitle": "Уреди маску покрета - Frigate", + "desc": { + "title": "Маске покрета се користе за спречавање нежељених типова покрета да покрену детекцију. Прекомерно маскирање ће отежати праћење објеката.", + "documentation": "Документација" + }, + "add": "Нова маска покрета", + "edit": "Уреди маску покрета", + "defaultName": "Маска покрета {{number}}", + "clickDrawPolygon": "Кликните да нацртате полигон на слици.", + "name": { + "title": "Назив", + "description": "Опционо пријатељско име за ову маску покрета.", + "placeholder": "Унесите назив..." + }, + "polygonAreaTooLarge": { + "title": "Маска покрета покрива {{polygonArea}}% кадра камере. Велике маске покрета се не препоручују.", + "tips": "Маске покрета не спречавају детекцију објеката. Уместо тога, требало би да користите обавезну зону." + }, + "toast": { + "success": { + "title": "{{polygonName}} је сачуван/а.", + "noName": "Маска покрета је сачувана." + } + } + }, + "objectMasks": { + "label": "Маске објеката", + "documentTitle": "Уреди маску објеката - Frigate", + "desc": { + "title": "Маске филтера објеката се користе за филтрирање лажних позитива за одређени тип објекта на основу локације.", + "documentation": "Документација" + }, + "add": "Додај маску објеката", + "edit": "Уреди маску објеката", + "context": "Маске филтера објеката се користе за филтрирање лажних позитива за одређени тип објекта на основу локације.", + "clickDrawPolygon": "Кликните да нацртате полигон на слици.", + "name": { + "title": "Назив", + "description": "Опционо пријатељско име за ову маску објеката.", + "placeholder": "Унесите назив..." + }, + "objects": { + "title": "Објекти", + "desc": "Тип објекта који се примењује на ову маску објеката.", + "allObjectTypes": "Сви типови објеката" + }, + "toast": { + "success": { + "title": "{{polygonName}} је сачуван/а.", + "noName": "Маска објеката је сачувана." + } + } + }, + "masks": { + "enabled": { + "title": "Омогућено", + "description": "Да ли је ова маска омогућена у конфигурационом фајлу. Ако је онемогућена, не може се омогућити путем MQTT. Онемогућене маске се игноришу при извршавању." + } + } + }, + "motionDetectionTuner": { + "title": "Подешавач детекције покрета", + "unsavedChanges": "Несачуване измене подешавача покрета ({{camera}})", + "desc": { + "title": "Frigate користи детекцију покрета као прву проверу да ли се нешто дешава у кадру што вреди проверити детекцијом објеката.", + "documentation": "Прочитајте водич за подешавање покрета" + }, + "Threshold": { + "title": "Праг" + }, + "contourArea": { + "title": "Област контуре" + }, + "improveContrast": { + "title": "Побољшај контраст" + }, + "toast": { + "success": "Подешавања покрета су сачувана." + } + }, + "debug": { + "title": "Дебаговање", + "detectorDesc": "Frigate користи ваше детекторе ({{detectors}}) за детекцију објеката у видео стриму камере.", + "desc": "Дебаг приказ показује преглед праћених објеката и њихових статистика у реалном времену. Листа објеката приказује временски одложен преглед детектованих објеката.", + "openCameraWebUI": "Отвори веб интерфејс камере {{camera}}", + "debugging": "Дебаговање", + "objectList": "Листа објеката", + "noObjects": "Нема објеката", + "audio": { + "title": "Звук", + "noAudioDetections": "Нема детекција звука", + "score": "резултат", + "currentRMS": "Тренутни RMS", + "currentdbFS": "Тренутни dbFS" + }, + "boundingBoxes": { + "title": "Граничне кутије", + "desc": "Прикажи граничне кутије око праћених објеката", + "colors": { + "label": "Боје граничних кутија објеката" + } + }, + "timestamp": { + "title": "Временска ознака", + "desc": "Преклопи временску ознаку на слику" + }, + "zones": { + "title": "Зоне", + "desc": "Прикажи обрис свих дефинисаних зона" + }, + "mask": { + "title": "Маске покрета", + "desc": "Прикажи полигоне маске покрета" + }, + "motion": { + "title": "Кутије покрета", + "desc": "Прикажи кутије око области где је покрет детектован", + "tips": "

    Кутије покрета


    Црвене кутије ће бити преклопљене на областима кадра где се тренутно детектује покрет

    " + }, + "regions": { + "title": "Региони", + "desc": "Прикажи кутију региона од интереса послатог детектору објеката", + "tips": "

    Кутије региона


    Светлозелене кутије ће бити преклопљене на областима од интереса у кадру које се шаљу детектору објеката.

    " + }, + "paths": { + "title": "Путање", + "desc": "Прикажи значајне тачке путање праћеног објекта", + "tips": "

    Путање


    Линије и кругови ће означити значајне тачке кроз које се праћени објекат кретао током свог животног циклуса.

    " + }, + "objectShapeFilterDrawing": { + "title": "Цртање филтера облика објекта", + "desc": "Нацртајте правоугаоник на слици за приказ области и детаља односа", + "tips": "Омогућите ову опцију за цртање правоугаоника на слици камере за приказ области и односа. Ове вредности се затим могу користити за подешавање параметара филтера облика објекта у конфигурацији.", + "score": "Резултат", + "ratio": "Однос", + "area": "Област" + } + }, + "timestampPosition": { + "tl": "Горе лево", + "tr": "Горе десно", + "bl": "Доле лево", + "br": "Доле десно" + }, + "users": { + "title": "Корисници", + "management": { + "title": "Управљање корисницима", + "desc": "Управљајте корисничким налозима ове Frigate инстанце." + }, + "addUser": "Додај корисника", + "updatePassword": "Ресетуј лозинку", + "toast": { + "success": { + "createUser": "Корисник {{user}} је успешно креиран", + "deleteUser": "Корисник {{user}} је успешно обрисан", + "updatePassword": "Лозинка је успешно ажурирана.", + "roleUpdated": "Улога ажурирана за {{user}}" + }, + "error": { + "setPasswordFailed": "Неуспешно чување лозинке: {{errorMessage}}", + "createUserFailed": "Неуспешно креирање корисника: {{errorMessage}}", + "deleteUserFailed": "Неуспешно брисање корисника: {{errorMessage}}", + "roleUpdateFailed": "Неуспешно ажурирање улоге: {{errorMessage}}" + } + }, + "table": { + "username": "Корисничко име", + "actions": "Акције", + "role": "Улога", + "noUsers": "Корисници нису пронађени.", + "changeRole": "Промени улогу корисника", + "password": "Ресетуј лозинку", + "deleteUser": "Обриши корисника" + }, + "dialog": { + "form": { + "user": { + "title": "Корисничко име", + "desc": "Дозвољена су само слова, бројеви, тачке и доње црте.", + "placeholder": "Унесите корисничко име" + }, + "password": { + "title": "Лозинка", + "placeholder": "Унесите лозинку", + "show": "Прикажи лозинку", + "hide": "Сакриј лозинку", + "confirm": { + "title": "Потврди лозинку", + "placeholder": "Потврди лозинку" + }, + "strength": { + "title": "Јачина лозинке: ", + "weak": "Слаба", + "medium": "Средња", + "strong": "Јака", + "veryStrong": "Веома јака" + }, + "requirements": { + "title": "Захтеви за лозинку:", + "length": "Најмање 12 знакова" + }, + "match": "Лозинке се поклапају", + "notMatch": "Лозинке се не поклапају" + }, + "newPassword": { + "title": "Нова лозинка", + "placeholder": "Унесите нову лозинку", + "confirm": { + "placeholder": "Поново унесите нову лозинку" + } + }, + "currentPassword": { + "title": "Тренутна лозинка", + "placeholder": "Унесите тренутну лозинку" + }, + "usernameIsRequired": "Корисничко име је обавезно", + "passwordIsRequired": "Лозинка је обавезна" + }, + "createUser": { + "title": "Креирај новог корисника", + "desc": "Додајте нови кориснички налог и одредите улогу за приступ областима Frigate корисничког интерфејса.", + "usernameOnlyInclude": "Корисничко име може садржати само слова, бројеве, . или _", + "confirmPassword": "Потврдите лозинку" + }, + "deleteUser": { + "title": "Обриши корисника", + "desc": "Ова акција се не може поништити. Ово ће трајно обрисати кориснички налог и уклонити све повезане податке." + }, + "passwordSetting": { + "cannotBeEmpty": "Лозинка не може бити празна", + "doNotMatch": "Лозинке се не поклапају", + "currentPasswordRequired": "Тренутна лозинка је обавезна", + "incorrectCurrentPassword": "Тренутна лозинка је нетачна", + "passwordVerificationFailed": "Неуспешна верификација лозинке", + "updatePassword": "Ажурирај лозинку за {{username}}", + "setPassword": "Постави лозинку", + "desc": "Креирајте јаку лозинку за заштиту овог налога.", + "multiDeviceWarning": "Сви остали уређаји на којима сте пријављени ће морати поново да се пријаве у року од {{refresh_time}}.", + "multiDeviceAdmin": "Такође можете принудити све кориснике да се одмах поново аутентификују ротирањем JWT тајне." + }, + "changeRole": { + "title": "Промени улогу корисника", + "select": "Изаберите улогу", + "roleInfo": { + "intro": "Изаберите одговарајућу улогу за овог корисника:", + "admin": "Администратор", + "adminDesc": "Потпуни приступ свим функцијама.", + "viewer": "Прегледач", + "viewerDesc": "Ограничено на контролне табле уживо, Преглед, Истраживање и Извозе.", + "customDesc": "Прилагођена улога са одређеним приступом камерама." + } + } + } + }, + "roles": { + "management": { + "title": "Управљање улогама прегледача", + "desc": "Управљајте прилагођеним улогама прегледача и њиховим дозволама за приступ камерама за ову Frigate инстанцу." + }, + "addRole": "Додај улогу", + "table": { + "role": "Улога", + "cameras": "Камере", + "actions": "Акције", + "noRoles": "Прилагођене улоге нису пронађене.", + "editCameras": "Уреди камере", + "deleteRole": "Обриши улогу" + }, + "toast": { + "success": { + "createRole": "Улога {{role}} је успешно креирана", + "updateCameras": "Камере ажуриране за улогу {{role}}", + "deleteRole": "Улога {{role}} је успешно обрисана" + }, + "error": { + "createRoleFailed": "Неуспешно креирање улоге: {{errorMessage}}", + "updateCamerasFailed": "Неуспешно ажурирање камера: {{errorMessage}}", + "deleteRoleFailed": "Неуспешно брисање улоге: {{errorMessage}}", + "userUpdateFailed": "Неуспешно ажурирање улога корисника: {{errorMessage}}" + } + }, + "dialog": { + "createRole": { + "title": "Креирај нову улогу", + "desc": "Додајте нову улогу и одредите дозволе за приступ камерама." + }, + "editCameras": { + "title": "Уреди камере улоге" + }, + "deleteRole": { + "title": "Обриши улогу", + "desc": "Ова акција се не може поништити. Ово ће трајно обрисати улогу и доделити све кориснике са овом улогом улози 'прегледач', што ће дати приступ прегледача свим камерама.", + "deleting": "Брисање..." + }, + "form": { + "role": { + "title": "Назив улоге", + "placeholder": "Унесите назив улоге", + "desc": "Дозвољена су само слова, бројеви, тачке и доње црте.", + "roleIsRequired": "Назив улоге је обавезан", + "roleOnlyInclude": "Назив улоге може садржати само слова, бројеве, . или _", + "roleExists": "Улога са овим називом већ постоји." + }, + "cameras": { + "title": "Камере", + "desc": "Изаберите камере којима ова улога има приступ. Потребна је најмање једна камера.", + "required": "Мора бити изабрана најмање једна камера." + } + } + } + }, + "notification": { + "title": "Обавештења", + "notificationSettings": { + "title": "Подешавања обавештења", + "desc": "Frigate може директно слати push обавештења на ваш уређај када ради у прегледачу или је инсталиран као PWA." + }, + "notificationUnavailable": { + "title": "Обавештења недоступна" + }, + "globalSettings": { + "title": "Глобална подешавања", + "desc": "Привремено обуставите обавештења за одређене камере на свим регистрованим уређајима." + }, + "email": { + "title": "Е-пошта", + "placeholder": "нпр. example@email.com", + "desc": "Важећа е-пошта је обавезна и биће коришћена за обавештавање у случају проблема са push сервисом." + }, + "cameras": { + "title": "Камере", + "noCameras": "Нема доступних камера", + "desc": "Изаберите за које камере желите да омогућите обавештења." + }, + "deviceSpecific": "Подешавања специфична за уређај", + "registerDevice": "Региструјте овај уређај", + "unregisterDevice": "Одрегиструјте овај уређај", + "sendTestNotification": "Пошаљи тест обавештење", + "unsavedRegistrations": "Несачуване регистрације обавештења", + "unsavedChanges": "Несачуване измене обавештења", + "active": "Обавештења активна", + "suspended": "Обавештења обустављена {{time}}", + "suspendTime": { + "suspend": "Обустави", + "5minutes": "Обустави на 5 минута", + "10minutes": "Обустави на 10 минута", + "30minutes": "Обустави на 30 минута", + "1hour": "Обустави на 1 сат", + "12hours": "Обустави на 12 сати", + "24hours": "Обустави на 24 сата", + "untilRestart": "Обустави до рестартовања" + }, + "cancelSuspension": "Откажи обуставу", + "toast": { + "success": { + "registered": "Успешно регистровано за обавештења. Рестартовање Frigate је потребно пре него што се било која обавештења (укључујући тест обавештење) могу послати.", + "settingSaved": "Подешавања обавештења су сачувана." + }, + "error": { + "registerFailed": "Неуспешно чување регистрације обавештења." + } + } + }, + "frigatePlus": { + "title": "Подешавања Frigate+", + "description": "Frigate+ је претплатнички сервис који пружа приступ додатним функцијама и могућностима за вашу Frigate инстанцу, укључујући могућност коришћења прилагођених модела детекције објеката обучених на вашим сопственим подацима. Овде можете управљати подешавањима Frigate+ модела.", + "cardTitles": { + "api": "API", + "currentModel": "Тренутни модел", + "otherModels": "Остали модели", + "configuration": "Конфигурација" + }, + "apiKey": { + "title": "Frigate+ API кључ", + "validated": "Frigate+ API кључ је детектован и валидиран", + "notValidated": "Frigate+ API кључ није детектован или није валидиран", + "desc": "Frigate+ API кључ омогућава интеграцију са Frigate+ сервисом.", + "plusLink": "Прочитајте више о Frigate+" + }, + "snapshotConfig": { + "title": "Конфигурација снимака", + "desc": "Слање на Frigate+ захтева да снимци буду омогућени у конфигурацији.", + "cleanCopyWarning": "Неке камере имају онемогућене снимке", + "table": { + "camera": "Камера", + "snapshots": "Снимци екрана" + } + }, + "modelInfo": { + "title": "Информације о моделу", + "modelType": "Тип модела", + "trainDate": "Датум обуке", + "baseModel": "Основни модел", + "plusModelType": { + "baseModel": "Основни модел", + "userModel": "Фино подешен" + }, + "supportedDetectors": "Подржани детектори", + "cameras": "Камере", + "loading": "Учитавање информација о моделу…", + "error": "Неуспешно учитавање информација о моделу", + "noModelLoaded": "Ниједан Frigate+ модел тренутно није учитан.", + "availableModels": "Доступни Frigate+ модели", + "loadingAvailableModels": "Учитавање доступних модела…", + "selectModel": "Изаберите модел", + "noModelsAvailable": "Нема доступних модела", + "filter": { + "ariaLabel": "Филтрирај моделе по типу", + "baseModels": "Основни модели", + "fineTunedModels": "Фино подешени модели" + }, + "modelSelect": "Овде можете одабрати доступне моделе на Frigate+. Имајте на уму да се могу одабрати само модели компатибилни са тренутном конфигурацијом детектора." + }, + "changeInDetectorsAndModel": "Промени модел", + "unsavedChanges": "Несачуване измене подешавања Frigate+", + "restart_required": "Потребно је рестартовање (промењен Frigate+ модел)", + "toast": { + "success": "Подешавања Frigate+ су сачувана. Рестартујте Frigate за примену измена.", + "error": "Неуспешно чување измена конфигурације: {{errorMessage}}" + } + }, + "detectorsAndModel": { + "title": "Детектори и модел", + "description": "Конфигуришите позадински детектор који покреће детекцију објеката и модел који користи. Измене се чувају заједно тако да детектор и модел остану синхронизовани.", + "cardTitles": { + "detector": "Хардвер детектора", + "model": "Модел детекције" + }, + "tabs": { + "plus": "Frigate+", + "custom": "Прилагођени модел" + }, + "mismatch": { + "warning": "Тренутни Frigate+ модел \"{{model}}\" захтева {{required}} детектор. Изаберите компатибилан модел испод или пређите на Прилагођени модел пре чувања." + }, + "plusModel": { + "requiresDetector": "Захтева: {{detector}}", + "noModelSelected": "Изаберите Frigate+ модел" + }, + "toast": { + "saveSuccess": "Подешавања детектора и модела су сачувана. Рестартујте Frigate за примену измена.", + "saveError": "Неуспешно чување подешавања детектора и модела" + }, + "unsavedChanges": "Несачуване измене детектора и модела", + "restartRequired": "Потребно је рестартовање (промењен детектор или модел)" + }, + "triggers": { + "documentTitle": "Окидачи", + "semanticSearch": { + "title": "Семантичка претрага је онемогућена", + "desc": "Семантичка претрага мора бити омогућена за коришћење окидача." + }, + "management": { + "title": "Окидачи", + "desc": "Управљајте окидачима за {{camera}}. Користите тип сличице за окидање на сличне сличице изабраном праћеном објекту, и тип описа за окидање на сличне описе тексту који наведете." + }, + "addTrigger": "Додај окидач", + "table": { + "name": "Назив", + "type": "Тип", + "content": "Садржај", + "threshold": "Праг", + "actions": "Акције", + "noTriggers": "Нема конфигурисаних окидача за ову камеру.", + "edit": "Уреди", + "deleteTrigger": "Обриши окидач", + "lastTriggered": "Последњи пут окинут" + }, + "type": { + "thumbnail": "Сличица", + "description": "Опис" + }, + "actions": { + "notification": "Пошаљи обавештење", + "sub_label": "Додај под-ознаку", + "attribute": "Додај атрибут" + }, + "dialog": { + "createTrigger": { + "title": "Креирај окидач", + "desc": "Креирајте окидач за камеру {{camera}}" + }, + "editTrigger": { + "title": "Уреди окидач", + "desc": "Уредите подешавања окидача на камери {{camera}}" + }, + "deleteTrigger": { + "title": "Обриши окидач" + }, + "form": { + "name": { + "title": "Назив", + "placeholder": "Именујте овај окидач", + "description": "Унесите јединствено име или опис за идентификацију овог окидача", + "error": { + "minLength": "Поље мора имати најмање 2 знака.", + "invalidCharacters": "Поље може садржати само слова, бројеве, доње црте и цртице.", + "alreadyExists": "Окидач са овим именом већ постоји за ову камеру." + } + }, + "enabled": { + "description": "Омогућите или онемогућите овај окидач" + }, + "type": { + "title": "Тип", + "placeholder": "Изаберите тип окидача", + "description": "Окини када се детектује сличан опис праћеног објекта", + "thumbnail": "Окини када се детектује слична сличица праћеног објекта" + }, + "content": { + "title": "Садржај", + "imagePlaceholder": "Изаберите сличицу", + "textPlaceholder": "Унесите текстуални садржај", + "imageDesc": "Приказано је само најновијих 100 сличица. Ако не можете да пронађете жељену сличицу, прегледајте раније објекте у Истраживању и подесите окидач из менија тамо.", + "textDesc": "Унесите текст за окидање ове акције када се детектује сличан опис праћеног објекта.", + "error": { + "required": "Садржај је обавезан." + } + }, + "threshold": { + "title": "Праг", + "desc": "Подесите праг сличности за овај окидач. Виши праг значи да је потребно боље подударање за окидање.", + "error": { + "min": "Праг мора бити најмање 0", + "max": "Праг мора бити највише 1" + } + }, + "actions": { + "title": "Акције", + "desc": "Подразумевано, Frigate шаље MQTT поруку за све окидаче. Под-ознаке додају назив окидача ознаци објекта. Атрибути су претраживи метаподаци сачувани одвојено у метаподацима праћеног објекта.", + "error": { + "min": "Мора бити изабрана најмање једна акција." + } + } + } + }, + "wizard": { + "title": "Креирај окидач", + "step1": { + "description": "Конфигуришите основна подешавања за ваш окидач." + }, + "step2": { + "description": "Подесите садржај који ће покренути ову акцију." + }, + "step3": { + "description": "Конфигуришите праг и акције за овај окидач." + }, + "steps": { + "nameAndType": "Назив и тип", + "configureData": "Конфигуриши податке", + "thresholdAndActions": "Праг и акције" + } + }, + "toast": { + "success": { + "createTrigger": "Окидач {{name}} је успешно креиран.", + "updateTrigger": "Окидач {{name}} је успешно ажуриран.", + "deleteTrigger": "Окидач {{name}} је успешно обрисан." + }, + "error": { + "createTriggerFailed": "Неуспешно креирање окидача: {{errorMessage}}", + "updateTriggerFailed": "Неуспешно ажурирање окидача: {{errorMessage}}", + "deleteTriggerFailed": "Неуспешно брисање окидача: {{errorMessage}}" + } + } + }, + "maintenance": { + "title": "Одржавање", + "sync": { + "title": "Синхронизација медија", + "desc": "Frigate ће периодично чистити медије према редовном распореду у складу са конфигурацијом задржавања. Нормално је видети неколико осиротелих фајлова док Frigate ради. Користите ову функцију за уклањање осиротелих медија фајлова са диска који више нису референцирани у бази података.", + "started": "Синхронизација медија покренута.", + "alreadyRunning": "Посао синхронизације је већ у току", + "error": "Неуспешно покретање синхронизације", + "currentStatus": "Статус", + "jobId": "ID посла", + "startTime": "Време почетка", + "endTime": "Време завршетка", + "statusLabel": "Статус", + "results": "Резултати", + "errorLabel": "Грешка", + "mediaTypes": "Типови медија", + "allMedia": "Сви медији", + "dryRun": "Пробно покретање", + "dryRunEnabled": "Ниједан фајл неће бити обрисан", + "dryRunDisabled": "Фајлови ће бити обрисани", + "force": "Принудно", + "forceDesc": "Заобиђи безбедносни праг и заврши синхронизацију чак и ако би више од 50% фајлова било обрисано.", + "verbose": "Детаљно", + "verboseDesc": "Запиши комплетну листу осиротелих фајлова на диск за преглед.", + "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": "Потребно је рестартовање да би измене мреже региона ступиле на снагу" + } + }, + "configForm": { + "global": { + "title": "Глобална подешавања", + "description": "Ова подешавања се примењују на све камере осим ако нису замењена у подешавањима специфичним за камеру." + }, + "camera": { + "title": "Подешавања камере", + "description": "Ова подешавања се примењују само на ову камеру и замењују глобална подешавања.", + "noCameras": "Нема доступних камера" + }, + "advancedSettingsCount": "Напредна подешавања ({{count}})", + "advancedCount": "Напредно ({{count}})", + "showAdvanced": "Прикажи напредна подешавања", + "tabs": { + "sharedDefaults": "Дељени подразумевани", + "system": "Систем", + "integrations": "Интеграције" + }, + "additionalProperties": { + "keyLabel": "Кључ", + "valueLabel": "Вредност", + "keyPlaceholder": "Нови кључ", + "remove": "Уклони" + }, + "knownPlates": { + "namePlaceholder": "нпр. Женин аутомобил", + "platePlaceholder": "Број таблице или regex" + }, + "liveStreams": { + "streamNameLabel": "Назив стрима", + "streamNamePlaceholder": "нпр. Главни HD стрим", + "go2rtcStreamLabel": "go2rtc стрим", + "go2rtcStreamPlaceholder": "Изаберите go2rtc стрим", + "go2rtcStreamSearch": "Претражите или унесите назив стрима…", + "noGo2rtcStreams": "Нема конфигурисаних go2rtc стримова", + "availableStreams": "Доступни стримови", + "useCustom": "Користи \"{{value}}\"", + "addStream": "Додај стрим" + }, + "timezone": { + "defaultOption": "Користи временску зону прегледача" + }, + "roleMap": { + "empty": "Нема мапирања улога", + "roleLabel": "Улога", + "groupsLabel": "Групе", + "addMapping": "Додај мапирање улога", + "remove": "Уклони" + }, + "ffmpegArgs": { + "preset": "Претподешавање", + "manual": "Ручни аргументи", + "inherit": "Наследи из подешавања камере", + "none": "Ништа", + "useGlobalSetting": "Наследи из глобалног подешавања", + "selectPreset": "Изаберите претподешавање", + "manualPlaceholder": "Унесите FFmpeg аргументе", + "presetLabels": { + "preset-rpi-64-h264": "Raspberry Pi (H.264)", + "preset-rpi-64-h265": "Raspberry Pi (H.265)", + "preset-vaapi": "VAAPI (Intel/AMD GPU)", + "preset-intel-qsv-h264": "Intel QuickSync (H.264)", + "preset-intel-qsv-h265": "Intel QuickSync (H.265)", + "preset-nvidia": "NVIDIA GPU", + "preset-jetson-h264": "NVIDIA Jetson (H.264)", + "preset-jetson-h265": "NVIDIA Jetson (H.265)", + "preset-rkmpp": "Rockchip RKMPP", + "preset-http-jpeg-generic": "HTTP JPEG (генерички)", + "preset-http-mjpeg-generic": "HTTP MJPEG (генерички)", + "preset-http-reolink": "HTTP - Reolink камере", + "preset-rtmp-generic": "RTMP (генерички)", + "preset-rtsp-generic": "RTSP (генерички)", + "preset-rtsp-restream": "RTSP - рестрим из go2rtc", + "preset-rtsp-restream-low-latency": "RTSP - рестрим из go2rtc (ниска латенција)", + "preset-rtsp-udp": "RTSP - UDP", + "preset-rtsp-blue-iris": "RTSP - Blue Iris", + "preset-record-generic": "Снимање (генеричко, без звука)", + "preset-record-generic-audio-copy": "Снимање (генеричко + копирање звука)", + "preset-record-generic-audio-aac": "Снимање (генеричко + звук у AAC)", + "preset-record-mjpeg": "Снимање - MJPEG камере", + "preset-record-jpeg": "Снимање - JPEG камере", + "preset-record-ubiquiti": "Снимање - Ubiquiti камере" + } + }, + "cameraInputs": { + "itemTitle": "Стрим {{index}}", + "sourceMode": { + "restream": "Рестрим (go2rtc)", + "manual": "Ручна путања уноса", + "go2rtcStreamLabel": "go2rtc стрим", + "go2rtcStreamPlaceholder": "Изаберите go2rtc стрим", + "noGo2rtcStreams": "Нема конфигурисаних go2rtc стримова", + "go2rtcStreamSearch": "Претражи стримове...", + "availableStreams": "Доступни стримови", + "noMatchingStreams": "Нема одговарајућих стримова" + } + }, + "restartRequiredField": "Потребно је рестартовање", + "restartRequiredFooter": "Конфигурација промењена - потребно је рестартовање", + "sections": { + "detect": "Детекција", + "record": "Снимање", + "snapshots": "Снимци екрана", + "motion": "Покрет", + "objects": "Објекти", + "review": "Преглед", + "audio": "Звук", + "notifications": "Обавештења", + "live": "Приказ уживо", + "timestamp_style": "Временске ознаке", + "mqtt": "MQTT", + "database": "База података", + "telemetry": "Телеметрија", + "auth": "Аутентификација", + "tls": "TLS", + "proxy": "Прокси", + "go2rtc": "go2rtc", + "ffmpeg": "FFmpeg", + "detectors": "Детектори", + "model": "Модел", + "semantic_search": "Семантичка претрага", + "genai": "GenAI", + "face_recognition": "Препознавање лица", + "lpr": "Препознавање регистарских таблица", + "birdseye": "Birdseye", + "masksAndZones": "Маске / Зоне" + }, + "detect": { + "title": "Подешавања детекције" + }, + "detectors": { + "title": "Подешавања детектора", + "singleType": "Дозвољен је само један {{type}} детектор.", + "keyRequired": "Назив детектора је обавезан.", + "keyDuplicate": "Назив детектора већ постоји.", + "noSchema": "Нема доступних шема детектора.", + "none": "Нема конфигурисаних инстанци детектора.", + "add": "Додај детектор", + "addCustomKey": "Додај прилагођени кључ" + }, + "record": { + "title": "Подешавања снимања" + }, + "snapshots": { + "title": "Подешавања снимака" + }, + "motion": { + "title": "Подешавања покрета" + }, + "objects": { + "title": "Подешавања објеката" + }, + "audioLabels": { + "summary": "{{count}} аудио ознака изабрано", + "empty": "Нема доступних аудио ознака" + }, + "objectLabels": { + "summary": "{{count}} типова објеката изабрано", + "empty": "Нема доступних ознака објеката" + }, + "reviewLabels": { + "summary": "{{count}} ознака изабрано", + "empty": "Нема доступних ознака" + }, + "filters": { + "objectFieldLabel": "{{field}} за {{label}}" + }, + "zoneNames": { + "summary": "{{count}} изабрано", + "empty": "Нема доступних зона" + }, + "inputRoles": { + "summary": "{{count}} улога изабрано", + "empty": "Нема доступних улога", + "options": { + "detect": "Детекција", + "record": "Снимање", + "audio": "Звук" + } + }, + "genaiRoles": { + "options": { + "embeddings": "Уграђивање", + "descriptions": "Описи", + "chat": "Разговор" + } + }, + "semanticSearchModel": { + "placeholder": "Изаберите модел…", + "builtIn": "Уграђени модели", + "genaiProviders": "GenAI провајдери" + }, + "semanticSearchModelSize": { + "notApplicable": "Није применљиво за GenAI провајдере" + }, + "review": { + "title": "Подешавања прегледа" + }, + "audio": { + "title": "Подешавања звука" + }, + "notifications": { + "title": "Подешавања обавештења" + }, + "live": { + "title": "Подешавања приказа уживо" + }, + "timestamp_style": { + "title": "Подешавања временских ознака" + }, + "searchPlaceholder": "Претрага...", + "addCustomLabel": "Додај прилагођену ознаку...", + "genaiModel": { + "placeholder": "Изаберите или унесите модел…", + "search": "Претражите или унесите модел…", + "noModels": "Нема доступних модела", + "available": "Доступни модели", + "useCustom": "Користи \"{{value}}\"", + "refresh": "Освежи моделе", + "probeFailed": "Неуспешно испитивање модела", + "fetchedModels": "Листа модела успешно преузета" + }, + "ptzPresets": { + "placeholder": "Изаберите или унесите претподешавање...", + "search": "Претражите или унесите претподешавање...", + "noPresets": "Нема доступних претподешавања", + "available": "Претподешавања камере", + "useCustom": "Користи \"{{value}}\"" + }, + "defaultRole": { + "admin": "Администратор", + "viewer": "Прегледач" + } + }, + "globalConfig": { + "title": "Глобална конфигурација", + "description": "Конфигуришите глобална подешавања која се примењују на све камере осим ако нису замењена.", + "toast": { + "success": "Глобална подешавања успешно сачувана", + "error": "Неуспешно чување глобалних подешавања", + "validationError": "Валидација неуспешна" + } + }, + "cameraConfig": { + "title": "Конфигурација камере", + "description": "Конфигуришите подешавања за појединачне камере. Подешавања замењују глобалне подразумеване вредности.", + "overriddenBadge": "Замењено", + "resetToGlobal": "Ресетуј на глобалне вредности", + "toast": { + "success": "Подешавања камере успешно сачувана", + "error": "Неуспешно чување подешавања камере" + } + }, + "toast": { + "success": "Подешавања успешно сачувана", + "applied": "Подешавања успешно примењена", + "successRestartRequired": "Подешавања успешно сачувана. Рестартујте Frigate за примену измена.", + "error": "Неуспешно чување подешавања", + "validationError": "Валидација неуспешна: {{message}}", + "resetSuccess": "Ресетовано на глобалне подразумеване вредности", + "resetError": "Неуспешно ресетовање подешавања", + "saveAllFailure": "Неуспешно чување свих одељака." + }, + "profiles": { + "title": "Профили", + "activeProfile": "Активни профил", + "noActiveProfile": "Нема активног профила", + "active": "Активно", + "activated": "Профил '{{profile}}' активиран", + "activateFailed": "Неуспешно постављање профила", + "deactivated": "Профил деактивиран", + "noProfiles": "Нема дефинисаних профила.", + "noOverrides": "Нема замена", + "columnCamera": "Камера", + "columnOverrides": "Замене профила", + "baseConfig": "Основна конфигурација", + "addProfile": "Додај профил", + "newProfile": "Нови профил", + "profileNamePlaceholder": "нпр. Наоружан, Одсутан, Ноћни режим", + "friendlyNameLabel": "Назив профила", + "profileIdLabel": "ID профила", + "profileIdDescription": "Интерни идентификатор који се користи у конфигурацији и аутоматизацијама", + "nameInvalid": "Дозвољена су само мала слова, бројеви и доње црте", + "nameDuplicate": "Профил са овим називом већ постоји", + "error": { + "mustBeAtLeastTwoCharacters": "Мора имати најмање 2 знака", + "mustNotContainPeriod": "Не сме садржати тачке", + "alreadyExists": "Профил са овим ID већ постоји" + }, + "renameProfile": "Преименуј профил", + "renameSuccess": "Профил преименован у '{{profile}}'", + "deleteProfile": "Обриши профил", + "deleteProfileConfirm": "Обрисати профил \"{{profile}}\" са свих камера? Ово се не може поништити.", + "deleteSuccess": "Профил '{{profile}}' обрисан", + "createSuccess": "Профил '{{profile}}' креиран", + "removeOverride": "Уклони замену профила", + "deleteSection": "Обриши замене одељка", + "deleteSectionConfirm": "Уклонити замене одељка {{section}} за профил {{profile}} на {{camera}}?", + "deleteSectionSuccess": "Уклоњене замене одељка {{section}} за {{profile}}", + "enableSwitch": "Омогући профиле", + "enabledDescription": "Профили су омогућени. Креирајте нови профил испод, идите на одељак конфигурације камере да извршите измене и сачувајте да измене ступе на снагу.", + "disabledDescription": "Профили вам омогућавају да дефинишете именоване скупове замена конфигурације камере (нпр. наоружан, одсутан, ноћни) који се могу активирати по потреби." + }, + "unsavedChanges": "Имате несачуване измене", + "confirmReset": "Потврди ресетовање", + "resetToDefaultDescription": "Ово ће ресетовати сва подешавања у овом одељку на подразумеване вредности. Ова акција се не може поништити.", + "resetToGlobalDescription": "Ово ће ресетовати подешавања у овом одељку на глобалне подразумеване вредности. Ова акција се не може поништити.", + "go2rtcStreams": { + "title": "go2rtc стримови", + "description": "Управљајте конфигурацијама go2rtc стримова за рестримовање камере. Сваки стрим има назив и једну или више изворних URL адреса.", + "addStream": "Додај стрим", + "addStreamDesc": "Унесите назив за нови стрим. Овај назив ће се користити за референцирање стрима у конфигурацији камере.", + "addUrl": "Додај URL", + "sourceNumber": "Извор {{index}}", + "streamName": "Назив стрима", + "streamNamePlaceholder": "нпр. front_door", + "streamUrlPlaceholder": "нпр. rtsp://user:pass@192.168.1.100/stream", + "deleteStream": "Обриши стрим", + "deleteStreamConfirm": "Да ли сте сигурни да желите да обришете стрим \"{{streamName}}\"? Камере које референцирају овај стрим можда неће радити.", + "noStreams": "Нема конфигурисаних go2rtc стримова. Додајте стрим за почетак.", + "validation": { + "nameRequired": "Назив стрима је обавезан", + "nameDuplicate": "Стрим са овим називом већ постоји", + "nameInvalid": "Назив стрима може садржати само слова, бројеве, доње црте и цртице", + "urlRequired": "Потребна је најмање једна URL адреса" + }, + "renameStream": "Преименуј стрим", + "renameStreamDesc": "Унесите нови назив за овај стрим. Преименовање стрима може покварити камере или друге стримове који га референцирају по називу.", + "newStreamName": "Нови назив стрима", + "ffmpeg": { + "useFfmpegModule": "Користи режим компатибилности (FFmpeg)", + "video": "Видео", + "audio": "Звук", + "hardware": "Хардверска акцелерација", + "videoCopy": "Копирај", + "videoH264": "Транскодирај у H.264", + "videoH265": "Транскодирај у H.265", + "videoExclude": "Изузми", + "audioCopy": "Копирај", + "audioAac": "Транскодирај у AAC", + "audioOpus": "Транскодирај у Opus", + "audioPcmu": "PCM μ-law", + "audioPcma": "PCM A-law", + "audioPcm": "PCM", + "audioMp3": "MP3", + "audioExclude": "Изузми", + "hardwareNone": "Ништа", + "hardwareAuto": "Аутоматски", + "hardwareVaapi": "VAAPI", + "hardwareCuda": "CUDA", + "hardwareV4l2m2m": "V4L2 (M2M)", + "hardwareDxva2": "DXVA2", + "hardwareVideotoolbox": "VideoToolbox", + "addVideoCodec": "Додај видео кодек", + "addAudioCodec": "Додај аудио кодек", + "removeCodec": "Уклони кодек" + } + }, + "birdseye": { + "trackingMode": { + "objects": "Објекти", + "motion": "Покрет", + "continuous": "Континуирано" + }, + "cameraOrder": { + "label": "Редослед камера", + "description": "Превуците за промену редоследа камера у Birdseye приказу.", + "reorderHandle": "Превуците за преуређивање", + "saving": "Чување…", + "saved": "Сачувано" + } + }, + "retainMode": { + "all": "Сви сегменти", + "motion": "Покрет", + "active_objects": "Сегменти активних објеката" + }, + "previewQuality": { + "very_high": "Веома високо", + "high": "Високо", + "medium": "Средња", + "low": "Ниско", + "very_low": "Веома ниско" + }, + "ui": { + "timeFormat": { + "browser": "Прегледач", + "12hour": "12-часовни", + "24hour": "24-часовни" + }, + "unitSystem": { + "metric": "Метрички", + "imperial": "Империјални" + } + }, + "review": { + "imageSource": { + "recordings": "Снимци", + "previews": "Прегледи" + } + }, + "logger": { + "logLevel": { + "debug": "Дебаговање", + "info": "info", + "warning": "warning", + "error": "Грешка", + "critical": "critical" + } + }, + "onvif": { + "profileAuto": "Аутоматски", + "profileLoading": "Учитавање...", + "autotracking": { + "zooming": { + "disabled": "Онемогућено", + "absolute": "Апсолутно", + "relative": "Релативно" + } + } + }, + "modelSize": { + "small": "Мали", + "large": "Велики" + }, + "configMessages": { + "review": { + "recordDisabled": "Снимање је онемогућено. Ставке прегледа захтевају да снимање буде омогућено.", + "detectDisabled": "Детекција је онемогућена. Упозорења и детекције захтевају да детекција буде омогућена.", + "allNonAlertDetections": "Сви објекти који нису категоризовани као Упозорења биће приказани као Детекције.", + "genaiImageSourceRecordingsRecordDisabled": "Извор слике за GenAI је подешен на снимке, али снимање је онемогућено." + }, + "audio": { + "noAudioRole": "Ниједан улазни стрим нема улогу аудио. Додајте улогу аудио да бисте омогућили детекцију звука." + }, + "audioTranscription": { + "audioDetectionDisabled": "Детекција звука је онемогућена. Транскрипција звука захтева да детекција звука буде омогућена." + }, + "detect": { + "fpsGreaterThanFive": "FPS за детекцију је већи од 5. Виши FPS повећава коришћење CPU.", + "disabled": "Детекција је онемогућена за ову камеру.", + "resolutionShouldBeMultipleOfFour": "Резолуција детекције би требало да буде вишекратник броја 4 за оптималне перформансе.", + "aspectRatioMismatch": "Однос страница детекције не одговара односу страница стрима.", + "maxFramesSet": "max_frames је подешен. Ово ограничава колико дуго се објекти могу пратити.", + "squareResolution": "Квадратна резолуција детекције је неуобичајена и може указивати на грешку у конфигурацији.", + "resolutionHigh": "Резолуција детекције је висока и може повећати коришћење ресурса.", + "globalResolutionMultipleCameras": "Глобална резолуција детекције се примењује на више камера. Размислите о подешавању по камери." + }, + "model": { + "optimizedFor320": "Модел је оптимизован за улаз 320x320.", + "inputDimensionsNotDetectResolution": "Улазне димензије модела се не поклапају са резолуцијом детекције." + }, + "ffmpeg": { + "hwaccelManualNotRecommended": "Ручно подешавање хардверске акцелерације се не препоручује. Користите претподешавања." + }, + "objects": { + "genaiNoDescriptionsProvider": "GenAI провајдер за описе није конфигурисан." + }, + "faceRecognition": { + "globalDisabled": "Препознавање лица је глобално онемогућено.", + "personNotTracked": "Објекат 'person' се не прати на овој камери. Препознавање лица захтева праћење особа.", + "modelSizeLarge": "Велики модел за препознавање лица захтева GPU за оптималне перформансе." + }, + "lpr": { + "globalDisabled": "Препознавање регистарских таблица је глобално онемогућено.", + "vehicleNotTracked": "Објекат 'car' се не прати на овој камери. LPR захтева праћење возила.", + "modelSizeLarge": "Велики LPR модел захтева GPU за оптималне перформансе." + }, + "record": { + "noRecordRole": "Ниједан улазни стрим нема улогу снимања. Додајте улогу снимања да бисте омогућили снимање." + }, + "birdseye": { + "objectsModeDetectDisabled": "Birdseye режим објеката захтева да детекција буде омогућена." + }, + "snapshots": { + "detectDisabled": "Снимци захтевају да детекција буде омогућена." + }, + "detectors": { + "mixedTypes": "Мешовити типови детектора су детектовани.", + "mixedTypesSuggestion": "Размислите о коришћењу једног типа детектора за конзистентност." + }, + "semanticSearch": { + "jinav2SmallModelSize": "Мали модел величине користи квантизовану верзију Jina модела." + }, + "onvif": { + "autotrackingNoZones": "Аутоматско праћење захтева дефинисане зоне за правилно функционисање." } } } From 81cd323258eaabe60c4b1da0ea8d44a5eeb4d5af Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:50 +0200 Subject: [PATCH 13/16] Translated using Weblate (Slovak) Currently translated at 93.0% (120 of 129 strings) Translated using Weblate (Slovak) Currently translated at 93.0% (120 of 129 strings) Translated using Weblate (Slovak) Currently translated at 72.3% (136 of 188 strings) Translated using Weblate (Slovak) Currently translated at 49.0% (631 of 1287 strings) Translated using Weblate (Slovak) Currently translated at 60.9% (39 of 64 strings) Translated using Weblate (Slovak) Currently translated at 90.0% (54 of 60 strings) Translated using Weblate (Slovak) Currently translated at 61.4% (67 of 109 strings) Translated using Weblate (Slovak) Currently translated at 97.9% (234 of 239 strings) Co-authored-by: Hosted Weblate Co-authored-by: Hosted Weblate user 157871 Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sk/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sk/ Translation: Frigate NVR/common Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-events Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/sk/common.json | 48 +++++++++---------- web/public/locales/sk/components/dialog.json | 6 +-- .../locales/sk/views/classificationModel.json | 32 ++++++------- web/public/locales/sk/views/events.json | 4 +- web/public/locales/sk/views/faceLibrary.json | 20 ++++---- web/public/locales/sk/views/settings.json | 12 ++--- web/public/locales/sk/views/system.json | 41 ++++++++-------- 7 files changed, 83 insertions(+), 80 deletions(-) diff --git a/web/public/locales/sk/common.json b/web/public/locales/sk/common.json index f78c9109e7..8dfff7c292 100644 --- a/web/public/locales/sk/common.json +++ b/web/public/locales/sk/common.json @@ -1,9 +1,9 @@ { "time": { - "untilForTime": "Do{{time}}", + "untilForTime": "Do {{time}}", "untilForRestart": "Do reštartu Frigate.", "untilRestart": "Do reštartu", - "ago": "{{timeAgo}} pred časom", + "ago": "pred {{timeAgo}}", "justNow": "Práve teraz", "today": "Dnes", "yesterday": "Včera", @@ -23,32 +23,32 @@ "am": "ráno", "yr": "{{time}}r", "pm": "popoludní", - "year_one": "{{time}}rok", - "year_few": "{{time}}rokov", - "year_other": "{{time}}rokov", + "year_one": "{{time}} rok", + "year_few": "{{time}} roky", + "year_other": "{{time}} rokov", "mo": "{{time}}mes", - "month_one": "{{time}}mesiac", + "month_one": "{{time}} mesiac", "month_few": "{{time}} mesiace", - "month_other": "{{time}} mesiaca", + "month_other": "{{time}} mesiacov", "d": "{{time}}d", - "day_one": "{{time}}deň", - "day_few": "{{time}}dni", - "day_other": "{{time}}dni", + "day_one": "{{time}} deň", + "day_few": "{{time}} dni", + "day_other": "{{time}} dní", "h": "{{time}}h", - "hour_one": "{{time}}hodina", - "hour_few": "{{time}}hodiny", - "hour_other": "{{time}}hodin", + "hour_one": "{{time}} hodina", + "hour_few": "{{time}} hodiny", + "hour_other": "{{time}} hodín", "m": "{{time}} min", "s": "{{time}}s", - "minute_one": "{{time}}minuta", - "minute_few": "{{time}}minuty", - "minute_other": "{{time}}minut", - "second_one": "{{time}}sekunda", - "second_few": "{{time}}sekundy", - "second_other": "{{time}}sekund", + "minute_one": "{{time}} minúta", + "minute_few": "{{time}} minúty", + "minute_other": "{{time}} minút", + "second_one": "{{time}} sekunda", + "second_few": "{{time}} sekundy", + "second_other": "{{time}} sekúnd", "formattedTimestamp": { - "12hour": "Deň MMM, h:mm:ss aaa", - "24hour": "Deň MMM, HH:mm:ss" + "12hour": "d MMM, h:mm:ss aaa", + "24hour": "d MMM, HH:mm:ss" }, "formattedTimestamp2": { "12hour": "MM/dd h:mm:ssa", @@ -219,9 +219,9 @@ "allCameras": "Všetky kamery", "cameras": { "title": "Kamery", - "count_one": "{{count}}kamera", - "count_few": "{{count}}kamery", - "count_other": "{{count}}kamier" + "count_one": "{{count}} kamera", + "count_few": "{{count}} kamery", + "count_other": "{{count}} kamier" } }, "export": "Exportovať", diff --git a/web/public/locales/sk/components/dialog.json b/web/public/locales/sk/components/dialog.json index 6eab29150d..902be94606 100644 --- a/web/public/locales/sk/components/dialog.json +++ b/web/public/locales/sk/components/dialog.json @@ -43,9 +43,9 @@ "title": "Čas ukončenia", "label": "Vybrat čas ukončenia" }, - "lastHour_one": "Minulu hodinu", - "lastHour_few": "Minule{{count}}hodiny", - "lastHour_other": "Minulych{{count}}hodin" + "lastHour_one": "Posledná hodina", + "lastHour_few": "Posledné {{count}} hodiny", + "lastHour_other": "Posledných {{count}} hodín" }, "name": { "placeholder": "Pomenujte Export" diff --git a/web/public/locales/sk/views/classificationModel.json b/web/public/locales/sk/views/classificationModel.json index 8075240248..6264b65bdf 100644 --- a/web/public/locales/sk/views/classificationModel.json +++ b/web/public/locales/sk/views/classificationModel.json @@ -12,12 +12,12 @@ }, "toast": { "success": { - "deletedCategory_one": "Vymazaná Trieda", - "deletedCategory_few": "", - "deletedCategory_other": "", - "deletedImage_one": "Vymazané Obrázky", - "deletedImage_few": "", - "deletedImage_other": "", + "deletedCategory_one": "Vymazaná {{count}} trieda", + "deletedCategory_few": "Vymazané {{count}} triedy", + "deletedCategory_other": "Vymazaných {{count}} tried", + "deletedImage_one": "Vymazaný {{count}} obrázok", + "deletedImage_few": "Vymazané {{count}} obrázky", + "deletedImage_other": "Vymazaných {{count}} obrázkov", "categorizedImage": "Obrázok bol úspešne klasifikovaný", "trainedModel": "Úspešne vyškolený model.", "trainingModel": "Úspešne spustené trénovanie modelu.", @@ -81,7 +81,7 @@ "buttonText": "Vytvorte objektový model" }, "state": { - "title": "Žiadne modely klasifikácie štátov", + "title": "Žiadne modely klasifikácie stavov", "description": "Vytvorte si vlastný model na monitorovanie a klasifikáciu zmien stavu v špecifických oblastiach kamery.", "buttonText": "Vytvorte model stavu" } @@ -90,7 +90,7 @@ "title": "Vytvorte novú klasifikáciu", "steps": { "nameAndDefine": "Názov a definícia", - "stateArea": "Štátna oblasť", + "stateArea": "Oblasť stavu", "chooseExamples": "Vyberte Príklady" }, "step1": { @@ -98,7 +98,7 @@ "name": "Meno", "namePlaceholder": "Zadajte názov modelu...", "type": "Typ", - "typeState": "štátu", + "typeState": "Stav", "typeObject": "Objekt", "objectLabel": "Označenie objektu", "objectLabelPlaceholder": "Vyberte typ objektu...", @@ -118,12 +118,12 @@ "nameOnlyNumbers": "Názov modelu nemôže obsahovať iba čísla", "classRequired": "Vyžaduje sa aspoň 1 kurz", "classesUnique": "Názvy tried musia byť jedinečné", - "stateRequiresTwoClasses": "Modely štátov vyžadujú aspoň 2 triedy", + "stateRequiresTwoClasses": "Stavové modely vyžadujú aspoň 2 triedy", "objectLabelRequired": "Vyberte označenie objektu", "objectTypeRequired": "Vyberte typ klasifikácie", "noneNotAllowed": "Trieda 'none' nie je povolená" }, - "states": "Štátov" + "states": "Stavy" }, "step2": { "description": "Vyberte kamery a definujte oblasť, ktorú chcete pre každú kameru monitorovať. Model klasifikuje stav týchto oblastí.", @@ -134,7 +134,7 @@ }, "step3": { "selectImagesPrompt": "Vybrať všetky obrázky s: {{className}}", - "selectImagesDescription": "Kliknite na obrázky a vyberte ich. Po dokončení tejto hodiny kliknite na tlačidlo Pokračovať.", + "selectImagesDescription": "Kliknite na obrázky a vyberte ich. Po dokončení tejto triedy kliknite na tlačidlo Pokračovať.", "generating": { "title": "Generovanie vzorových obrázkov", "description": "Frigate načítava reprezentatívne obrázky z vašich nahrávok. Môže to chvíľu trvať..." @@ -155,9 +155,9 @@ "classifyFailed": "Nepodarilo sa klasifikovať obrázky: {{error}}" }, "generateSuccess": "Vzorové obrázky boli úspešne vygenerované", - "allImagesRequired_one": "Uveďte všetky obrázky. {{count}} obrázok zostáva.", - "allImagesRequired_few": "Uveďte všetky obrázky. {{count}} obrázky zostávajú.", - "allImagesRequired_other": "Uveďte všetky obrázky. {{count}} obrázkov zostávajú.", + "allImagesRequired_one": "Klasifikujte všetky obrázky. Zostáva {{count}} obrázok.", + "allImagesRequired_few": "Klasifikujte všetky obrázky. Zostávajú {{count}} obrázky.", + "allImagesRequired_other": "Klasifikujte všetky obrázky. Zostáva {{count}} obrázkov.", "modelCreated": "Model vytvorený úspešne. Použite aktuálne klasifikácie na pridanie obrázkov pre chýbajúce stavy a nasledne dajte trénovať model.", "missingStatesWarning": { "title": "Chýbajúce príklady stavov", @@ -174,7 +174,7 @@ }, "menu": { "objects": "Objekty", - "states": "Štátov" + "states": "Stavy" }, "details": { "scoreInfo": "Skóre predstavuje priemernú istotu klasifikácie naprieč všetkými detekciami tohoto objektu.", diff --git a/web/public/locales/sk/views/events.json b/web/public/locales/sk/views/events.json index fe86d41d5f..189d9e6ef5 100644 --- a/web/public/locales/sk/views/events.json +++ b/web/public/locales/sk/views/events.json @@ -40,8 +40,8 @@ "detail": { "noDataFound": "Žiadne podrobné údaje na kontrolu", "aria": "Prepnúť zobrazenie detailov", - "trackedObject_one": "objekt", - "trackedObject_other": "objekty", + "trackedObject_one": "{{count}} objekt", + "trackedObject_other": "{{count}} objektov", "noObjectDetailData": "Nie sú k dispozícii žiadne podrobné údaje o objekte.", "label": "Detail", "settings": "Nastavenia podrobného zobrazenia", diff --git a/web/public/locales/sk/views/faceLibrary.json b/web/public/locales/sk/views/faceLibrary.json index c10b44a6ea..d19e65eb8a 100644 --- a/web/public/locales/sk/views/faceLibrary.json +++ b/web/public/locales/sk/views/faceLibrary.json @@ -18,12 +18,12 @@ "title": "Nahrať obrázok tváre", "desc": "Nahrajte obrázok na skenovanie tvárí a zahrňte ho do {{pageToggle}}" }, - "collections": "Zbierky", + "collections": "Kolekcie", "createFaceLibrary": { "title": "Vytvoriť Zbierku", "desc": "Vytvoriť novú zbierku", "new": "Vytvoriť novú tvár", - "nextSteps": "Vybudovanie silného základu:
  • Použite kartu Nedávne rozpoznania na výber a trénovanie obrázkov pre každú rozpoznanú osobu.
  • Pre dosiahnutie najlepších výsledkov sa zamerajte na priame obrázky; vyhnite sa trénovaniu obrázkov, ktoré zachytávajú tváre pod uhlom.
  • " + "nextSteps": "Vybudovanie silného základu:
  • Použite kartu Nedávno rozpoznané tváre na výber a trénovanie obrázkov pre každú rozpoznanú osobu.
  • Pre dosiahnutie najlepších výsledkov sa zamerajte na priame obrázky; vyhnite sa trénovaniu obrázkov, ktoré zachytávajú tváre pod uhlom.
  • " }, "steps": { "faceName": "Zadajte Meno tváre", @@ -34,8 +34,8 @@ } }, "train": { - "title": "Nedávne uznania", - "aria": "Vyberte posledné rozpoznania", + "title": "Nedávno rozpoznané tváre", + "aria": "Vyberte nedávno rozpoznané tváre", "empty": "Neexistujú žiadne predchádzajúce pokusy o rozpoznávanie tváre" }, "selectItem": "Vyberte {{item}}", @@ -85,9 +85,10 @@ "deletedName_one": "{{count}} tvár bola úspešne odstránená.", "deletedName_few": "{{count}} tváre boli úspešne odstránené.", "deletedName_other": "{{count}} tvárí bolo úspešne odstránených.", - "renamedFace": "Úspešne premenovaná tvár na {{name}}", - "trainedFace": "Úspešne natrénovaná tvár.", - "updatedFaceScore": "Úspešne aktualizované skóre tváre." + "renamedFace": "Tvár bola úspešne premenovaná na {{name}}.", + "trainedFace": "Tvár bola úspešne natrénovaná.", + "updatedFaceScore": "Skóre tváre bolo úspešne aktualizované na {{name}} ({{score}}).", + "reclassifiedFace": "Tvár bola úspešne preklasifikovaná." }, "error": { "uploadingImageFailed": "Nepodarilo sa nahrať obrázok: {{errorMessage}}", @@ -95,8 +96,9 @@ "deleteFaceFailed": "Nepodarilo sa odstrániť: {{errorMessage}}", "deleteNameFailed": "Nepodarilo sa odstrániť meno: {{errorMessage}}", "renameFaceFailed": "Nepodarilo sa premenovať tvár: {{errorMessage}}", - "trainFailed": "Nepodarilo sa trénovať: {{errorMessage}}", - "updateFaceScoreFailed": "Nepodarilo sa aktualizovať skóre tváre: {{errorMessage}}" + "trainFailed": "Nepodarilo sa natrénovať tvár: {{errorMessage}}", + "updateFaceScoreFailed": "Nepodarilo sa aktualizovať skóre tváre: {{errorMessage}}", + "reclassifyFailed": "Nepodarilo sa preklasifikovať tvár: {{errorMessage}}" } } } diff --git a/web/public/locales/sk/views/settings.json b/web/public/locales/sk/views/settings.json index dbb8faf98a..a37ffc8850 100644 --- a/web/public/locales/sk/views/settings.json +++ b/web/public/locales/sk/views/settings.json @@ -339,9 +339,9 @@ }, "add": "Pridať zónu", "edit": "Upraviť zónu", - "point_one": "{{count}}bod", - "point_few": "{{count}}body", - "point_other": "{{count}}bodov" + "point_one": "{{count}} bod", + "point_few": "{{count}} body", + "point_other": "{{count}} bodov" }, "motionMasks": { "label": "Maska Detekcia pohybu", @@ -380,8 +380,8 @@ "add": "Pridať Masku Objektu", "edit": "Upraviť Masku Objektu", "context": "Masky filtrovania objektov slúžia na odfiltrovanie falošných poplachov konkrétneho typu objektu na základe jeho umiestnenia.", - "point_one": "{{count}}bod", - "point_few": "{{count}}body", + "point_one": "{{count}} bod", + "point_few": "{{count}} body", "point_other": "{{count}} bodov", "clickDrawPolygon": "Kliknutím nakreslite polygón do obrázku.", "objects": { @@ -397,7 +397,7 @@ } }, "motionMaskLabel": "Maska Detekcia pohybu {{number}}", - "objectMaskLabel": "Maska Objektu {{number}} {{label}}" + "objectMaskLabel": "Maska objektu {{number}}" }, "motionDetectionTuner": { "title": "Ladenie detekcie pohybu", diff --git a/web/public/locales/sk/views/system.json b/web/public/locales/sk/views/system.json index 6b4032927c..42698479a2 100644 --- a/web/public/locales/sk/views/system.json +++ b/web/public/locales/sk/views/system.json @@ -3,7 +3,7 @@ "cameras": "Štatistiky kamier - Frigate", "storage": "Štatistiky úložiska - Frigate", "general": "Všeobecné štatistiky - Frigate", - "enrichments": "Štatistiky obohatenia - Frigate", + "enrichments": "Štatistiky AI funkcií - Frigate", "logs": { "frigate": "Protokoly Frigate - Frigate", "go2rtc": "Protokoly Go2RTC - Frigate", @@ -36,7 +36,7 @@ } }, "general": { - "title": "Hlavný", + "title": "Všeobecné", "detector": { "title": "Detektory", "inferenceSpeed": "Detekčná rýchlosť", @@ -96,7 +96,7 @@ } }, "storage": { - "title": "Skladovanie", + "title": "Úložisko", "overview": "Prehľad", "recordings": { "title": "Nahrávky", @@ -108,11 +108,11 @@ "warning": "Aktuálna veľkosť SHM {{total}}MB je príliš malá. Zvýšte ju aspoň na {{min_shm}}MB." }, "cameraStorage": { - "title": "Úložisko kamery", + "title": "Úložisko kamier", "camera": "Kamera", - "unusedStorageInformation": "Nepoužité informácie o úložisku", - "storageUsed": "Skladovanie", - "percentageOfTotalUsed": "Percento z celkového počtu", + "unusedStorageInformation": "Informácie o nevyužitom úložisku", + "storageUsed": "Úložisko", + "percentageOfTotalUsed": "Percento z celku", "bandwidth": "Šírka pásma", "unused": { "title": "Nepoužité", @@ -125,7 +125,7 @@ "overview": "Prehľad", "info": { "aspectRatio": "pomer strán", - "cameraProbeInfo": "{{camera}} Informácie o sonde kamery", + "cameraProbeInfo": "Údaje o kamere {{camera}}", "streamDataFromFFPROBE": "Údaje zo streamu sa získavajú pomocou príkazu ffprobe.", "fetching": "Načítavajú sa údaje z kamery", "stream": "Stream {{idx}}", @@ -137,32 +137,33 @@ "audio": "Zvuk:", "error": "Chyba: {{error}}", "tips": { - "title": "Informácie o kamerovej sonde" + "title": "Údaje o kamere" } }, - "framesAndDetections": "Rámy / Detekcie", + "framesAndDetections": "Snímky / Detekcie", "label": { "camera": "kamera", - "detect": "odhaliť", + "detect": "detekcie", "skipped": "preskočené", "ffmpeg": "FFmpeg", - "capture": "zachytiť", + "capture": "zachytávanie", "cameraFfmpeg": "{{camName}} FFmpeg", - "cameraCapture": "zachytiť{{camName}}", - "cameraDetect": "Detekcia {{camName}}", + "cameraCapture": "{{camName}} zachytávanie", + "cameraDetect": "{{camName}} detekcie", "overallFramesPerSecond": "celkový počet snímok za sekundu", "overallDetectionsPerSecond": "celkový počet detekcií za sekundu", - "overallSkippedDetectionsPerSecond": "celkový počet vynechaných detekcií za sekundu", + "overallSkippedDetectionsPerSecond": "celkový počet preskočených detekcií za sekundu", "cameraFramesPerSecond": "{{camName}} snímky za sekundu", - "cameraDetectionsPerSecond": "{{camName}}detekcie za sekundu", - "cameraSkippedDetectionsPerSecond": "{{camName}} vynechaných detekcií za sekundu" + "cameraDetectionsPerSecond": "{{camName}} detekcie za sekundu", + "cameraSkippedDetectionsPerSecond": "{{camName}} preskočené detekcie za sekundu", + "cameraGpu": "{{camName}} GPU" }, "toast": { "success": { - "copyToClipboard": "Dáta sondy boli skopírované do schránky." + "copyToClipboard": "Údaje o kamere boli skopírované do schránky." }, "error": { - "unableToProbeCamera": "Nepodarilo sa overiť kameru: {{errorMessage}}" + "unableToProbeCamera": "Nepodarilo sa načítať údaje z kamery: {{errorMessage}}" } } }, @@ -178,7 +179,7 @@ "shmTooLow": "Alokácia /dev/shm ({{total}} MB) by sa mala zvýšiť aspoň na {{min}} MB." }, "enrichments": { - "title": "Obohatenia", + "title": "AI funkcie", "infPerSecond": "Inferencie za sekundu", "embeddings": { "image_embedding": "Vkladanie obrázkov", From 0ba19536400758e0d8cb0d3b3f570d8bda498680 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:55 +0200 Subject: [PATCH 14/16] Translated using Weblate (Chinese (Traditional Han script)) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (808 of 808 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (474 of 474 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (1294 of 1294 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 100.0% (109 of 109 strings) Co-authored-by: Hosted Weblate Co-authored-by: 莊凱鈞 Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/zh_Hant/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hant/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-settings --- web/public/locales/zh-Hant/components/dialog.json | 3 ++- web/public/locales/zh-Hant/config/cameras.json | 3 +++ web/public/locales/zh-Hant/config/global.json | 3 +++ web/public/locales/zh-Hant/views/settings.json | 9 ++++++++- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/web/public/locales/zh-Hant/components/dialog.json b/web/public/locales/zh-Hant/components/dialog.json index 4d294718c2..d46375cac4 100644 --- a/web/public/locales/zh-Hant/components/dialog.json +++ b/web/public/locales/zh-Hant/components/dialog.json @@ -59,7 +59,8 @@ "error": { "failed": "匯出失敗:{{error}}", "endTimeMustAfterStartTime": "結束時間必須要在開始時間之後", - "noVaildTimeSelected": "沒有選取有效的時間範圍" + "noVaildTimeSelected": "沒有選取有效的時間範圍", + "noValidTimeSelected": "未選擇有效的時間範圍" }, "view": "查看", "queued": "匯出已加入佇列。請在匯出頁面檢視進度。", diff --git a/web/public/locales/zh-Hant/config/cameras.json b/web/public/locales/zh-Hant/config/cameras.json index b9c9244212..55d7dea1cb 100644 --- a/web/public/locales/zh-Hant/config/cameras.json +++ b/web/public/locales/zh-Hant/config/cameras.json @@ -497,6 +497,9 @@ "max_concurrent": { "label": "最大併發匯出數", "description": "同時可處理的最大匯出任務數量。" + }, + "chapters": { + "label": "匯出錄影時要嵌入的章節資訊" } }, "preview": { diff --git a/web/public/locales/zh-Hant/config/global.json b/web/public/locales/zh-Hant/config/global.json index a71d8c6210..9e5c1b8ccb 100644 --- a/web/public/locales/zh-Hant/config/global.json +++ b/web/public/locales/zh-Hant/config/global.json @@ -1043,6 +1043,9 @@ "max_concurrent": { "label": "最大併發匯出數", "description": "同時可處理的最大匯出任務數量。" + }, + "chapters": { + "label": "匯出錄影時要嵌入的章節資訊" } }, "preview": { diff --git a/web/public/locales/zh-Hant/views/settings.json b/web/public/locales/zh-Hant/views/settings.json index 2d25590493..e1fa2d7eea 100644 --- a/web/public/locales/zh-Hant/views/settings.json +++ b/web/public/locales/zh-Hant/views/settings.json @@ -1484,7 +1484,14 @@ "keyLabel": "鍵", "valueLabel": "值", "keyPlaceholder": "新鍵名", - "remove": "移除" + "remove": "移除", + "providerNameLabel": "服務提供者名稱", + "providerNamePlaceholder": "例如:openai", + "variableNameLabel": "變數名稱", + "variableNamePlaceholder": "例如:MY_VARIABLE", + "loggerNameLabel": "日誌名稱", + "loggerNamePlaceholder": "例如:frigate.record", + "keyPatternError": "僅能使用英文字母、數字、連字號(-)和底線(_),且不得包含空格" }, "knownPlates": { "namePlaceholder": "例如:老婆的車", From 7027b5aa8df57d8be41cfc8821902b5471c35d29 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:09:59 +0200 Subject: [PATCH 15/16] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (1294 of 1294 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (74 of 74 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (808 of 808 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (474 of 474 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (141 of 141 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (239 of 239 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (1294 of 1294 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (109 of 109 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (808 of 808 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (474 of 474 strings) Co-authored-by: GuoQing Liu <842607283@qq.com> Co-authored-by: Hosted Weblate 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/components-filter/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/zh_Hans/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/Config - Global Translation: Frigate NVR/common Translation: Frigate NVR/components-dialog Translation: Frigate NVR/components-filter Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-settings --- web/public/locales/zh-CN/common.json | 2 +- .../locales/zh-CN/components/dialog.json | 3 ++- .../locales/zh-CN/components/filter.json | 2 +- web/public/locales/zh-CN/config/cameras.json | 18 ++++++------- web/public/locales/zh-CN/config/global.json | 26 +++++++++---------- .../zh-CN/views/classificationModel.json | 18 +++++++++++-- web/public/locales/zh-CN/views/settings.json | 11 ++++++-- 7 files changed, 51 insertions(+), 29 deletions(-) diff --git a/web/public/locales/zh-CN/common.json b/web/public/locales/zh-CN/common.json index ebb58cecfb..b61e808f0e 100644 --- a/web/public/locales/zh-CN/common.json +++ b/web/public/locales/zh-CN/common.json @@ -239,7 +239,7 @@ "label": "主题", "blue": "蓝色", "green": "绿色", - "nord": "Nord", + "nord": "极地蓝", "red": "红色", "contrast": "高对比度", "default": "默认", diff --git a/web/public/locales/zh-CN/components/dialog.json b/web/public/locales/zh-CN/components/dialog.json index 35e45b7926..4ef3e83feb 100644 --- a/web/public/locales/zh-CN/components/dialog.json +++ b/web/public/locales/zh-CN/components/dialog.json @@ -67,7 +67,8 @@ "error": { "failed": "未能加入导出队列:{{error}}", "endTimeMustAfterStartTime": "结束时间必须在开始时间之后", - "noVaildTimeSelected": "未选择有效的时间范围" + "noVaildTimeSelected": "未选择有效的时间范围", + "noValidTimeSelected": "未选择有效的时间范围" }, "view": "查看", "queued": "导出已加入队列。请在导出页面查看进度。", diff --git a/web/public/locales/zh-CN/components/filter.json b/web/public/locales/zh-CN/components/filter.json index 9bf90d2918..19ac04011e 100644 --- a/web/public/locales/zh-CN/components/filter.json +++ b/web/public/locales/zh-CN/components/filter.json @@ -99,7 +99,7 @@ "label": "日志级别筛选", "filterBySeverity": "按严重程度筛选日志", "loading": { - "title": "加载中", + "title": "实时加载", "desc": "当日志面板滚动到底部时,新的日志会自动流式加载。" }, "disableLogStreaming": "禁用日志流式加载", diff --git a/web/public/locales/zh-CN/config/cameras.json b/web/public/locales/zh-CN/config/cameras.json index 93d82d6825..f9896133b3 100644 --- a/web/public/locales/zh-CN/config/cameras.json +++ b/web/public/locales/zh-CN/config/cameras.json @@ -314,12 +314,12 @@ "description": "画面变动轮廓被计入所需的最小轮廓区域(像素)。" }, "delta_alpha": { - "label": "Delta alpha", - "description": "用于画面变动计算的帧差异中使用的 alpha 混合因子。" + "label": "变化量权重", + "description": "该值用于调节帧间差异计算时的混合比例,影响运动检测的灵敏度。" }, "frame_alpha": { - "label": "画面 alpha 通道", - "description": "画面变动预处理时混合画面所使用的 alpha 值。" + "label": "背景更新速度", + "description": "该值在运动检测前对画面进行预处理,控制帧混合程度,影响后续检测的输入质量。" }, "frame_height": { "label": "画面高度", @@ -452,15 +452,15 @@ }, "continuous": { "label": "持续保留", - "description": "无论是否有追踪目标或动作,保留录像的天数。如果只想保留警报和检测的录像,请设置为 0。", + "description": "无论是否有追踪目标或画面变动,保留录像的天数。如果只想保留警报和检测的录制,请设置为 0。", "days": { "label": "保留天数", "description": "保留录像的天数。" } }, "motion": { - "label": "动作保留", - "description": "无论是否有追踪目标,由动作触发的录像保留天数。如果只想保留警报和检测的录像,请设置为 0。", + "label": "画面变动录制保留", + "description": "无论是否有追踪目标,只要画面变动触发保存的录制保留天数。如果只想保留警报和检测的录制,请设置为 0。", "days": { "label": "保留天数", "description": "保留录像的天数。" @@ -486,7 +486,7 @@ }, "mode": { "label": "保留模式", - "description": "保留模式:all(保存所有片段)、motion(保存有动作的片段)或 active_objects(保存有活动目标的片段)。" + "description": "保留模式:全部(保存所有片段)、画面变动(保存有画面变动的片段)或 活动目标(保存有活动目标的片段)。" } } }, @@ -510,7 +510,7 @@ }, "mode": { "label": "保留模式", - "description": "保留模式:all(保存所有片段)、motion(保存有动作的片段)或 active_objects(保存有活动目标的片段)。" + "description": "保留模式:全部(保存所有片段)、画面变动(保存有画面变动的片段)或 活动目标(保存有活动目标的片段)。" } } }, diff --git a/web/public/locales/zh-CN/config/global.json b/web/public/locales/zh-CN/config/global.json index 96f45f9601..a6aabaeb13 100644 --- a/web/public/locales/zh-CN/config/global.json +++ b/web/public/locales/zh-CN/config/global.json @@ -1507,10 +1507,10 @@ }, "motion": { "label": "画面变动检测", - "description": "应用于摄像头的默认动作检测设置,除非按摄像头覆盖。", + "description": "默认情况下,画面变动检测配置统一应用于各摄像头,除非对特定摄像头单独进行自定义。", "enabled": { "label": "开启画面变动检测", - "description": "为所有摄像头启用或禁用动作检测;可按摄像头覆盖。" + "description": "为所有摄像头启用或禁用画面变动检测。可以给指定摄像头单独覆盖此设置。" }, "threshold": { "label": "画面变动阈值", @@ -1533,12 +1533,12 @@ "description": "画面变动轮廓被计入所需的最小轮廓区域(像素)。" }, "delta_alpha": { - "label": "Delta alpha", - "description": "用于画面变动计算的帧差异中使用的 alpha 混合因子。" + "label": "变化量权重", + "description": "该值用于调节帧间差异计算时的混合比例,影响运动检测的灵敏度。" }, "frame_alpha": { - "label": "画面 alpha 通道", - "description": "画面变动预处理时混合画面所使用的 alpha 值。" + "label": "背景更新速度", + "description": "该值在运动检测前对画面进行预处理,控制帧混合程度,影响后续检测的输入质量。" }, "frame_height": { "label": "画面高度", @@ -1706,15 +1706,15 @@ }, "continuous": { "label": "持续保留", - "description": "无论是否有追踪目标或动作,保留录像的天数。如果只想保留警报和检测的录像,请设置为 0。", + "description": "无论是否有追踪目标或画面变动,保留录像的天数。如果只想保留警报和检测的录制,请设置为 0。", "days": { "label": "保留天数", "description": "保留录像的天数。" } }, "motion": { - "label": "动作保留", - "description": "无论是否有追踪目标,由动作触发的录像保留天数。如果只想保留警报和检测的录像,请设置为 0。", + "label": "画面变动录制保留", + "description": "无论是否有追踪目标,只要画面变动触发保存的录制保留天数。如果只想保留警报和检测的录制,请设置为 0。", "days": { "label": "保留天数", "description": "保留录像的天数。" @@ -1740,7 +1740,7 @@ }, "mode": { "label": "保留模式", - "description": "保留模式:all(保存所有片段)、motion(保存有动作的片段)或 active_objects(保存有活动目标的片段)。" + "description": "保留模式:全部(保存所有片段)、画面变动(保存有画面变动的片段)或 活动目标(保存有活动目标的片段)。" } } }, @@ -1764,7 +1764,7 @@ }, "mode": { "label": "保留模式", - "description": "保留模式:all(保存所有片段)、motion(保存有动作的片段)或 active_objects(保存有活动目标的片段)。" + "description": "保留模式:全部(保存所有片段)、画面变动(保存有画面变动的片段)或 活动目标(保存有活动目标的片段)。" } } }, @@ -2030,8 +2030,8 @@ } }, "motion": { - "label": "动作时运行", - "description": "启用后,当在指定裁剪区域内检测到动作时运行分类。" + "label": "画面变动时运行", + "description": "启用后,当在指定裁剪区域内检测到画面变动时进行分类。" }, "interval": { "label": "分类间隔", diff --git a/web/public/locales/zh-CN/views/classificationModel.json b/web/public/locales/zh-CN/views/classificationModel.json index ea106839bd..87a165dc11 100644 --- a/web/public/locales/zh-CN/views/classificationModel.json +++ b/web/public/locales/zh-CN/views/classificationModel.json @@ -178,7 +178,20 @@ "title": "编辑分类模型", "descriptionState": "编辑此状态分类模型的类别;更改后需要重新训练模型。", "descriptionObject": "编辑此目标分类模型的目标类型和分类类型。", - "stateClassesInfo": "注意:更改状态类别后需使用更新后的类别重新训练模型。" + "stateClassesInfo": "模型已更新。请重新训练模型以使类别更改生效。", + "enabled": "开启", + "enabledDesc": "运行此模型。禁用后,它将停止运行且不再进行分类。", + "saveAttempts": "保存尝试", + "saveAttemptsDesc": "保存在近期分类记录界面中显示的分类快照数量。", + "motion": "画面变动时运行", + "motionDesc": "检测到配置的裁剪区域内发生移动时,运行分类。", + "interval": "间隔", + "intervalDesc": "定期分类运行之间的间隔秒数。留空则仅在检测到移动时运行。", + "intervalPlaceholder": "无间隔", + "errors": { + "saveAttemptsInvalid": "保存在近期分类记录数量必须是大于或等于 0 的整数", + "intervalInvalid": "间隔必须是大于 0 的整数" + } }, "tooltip": { "trainingInProgress": "模型正在训练中", @@ -188,5 +201,6 @@ }, "none": "无标签", "reclassifyImageAs": "重新分类图片为:", - "reclassifyImage": "重新分类图片" + "reclassifyImage": "重新分类图片", + "disabled": "关闭" } diff --git a/web/public/locales/zh-CN/views/settings.json b/web/public/locales/zh-CN/views/settings.json index 9a6dbc592c..0e6fc63d60 100644 --- a/web/public/locales/zh-CN/views/settings.json +++ b/web/public/locales/zh-CN/views/settings.json @@ -1655,7 +1655,14 @@ "keyLabel": "键", "valueLabel": "值", "keyPlaceholder": "新键名", - "remove": "移除" + "remove": "移除", + "providerNameLabel": "提供商名称", + "providerNamePlaceholder": "例如:openai、deepseek", + "variableNameLabel": "变量名", + "variableNamePlaceholder": "例如:MY_VARIABLE", + "loggerNameLabel": "日志模块名称", + "loggerNamePlaceholder": "例如:frigate.record", + "keyPatternError": "只能使用字母、数字、连字符和下划线(不包含空格)" }, "roleMap": { "empty": "未配置权限组映射", @@ -2174,7 +2181,7 @@ }, "review": { "imageSource": { - "recordings": "录制文件", + "recordings": "录制", "previews": "预览" } }, From 8ee745a63f098c5e9a61c05d395943a96e15873f Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 17 Jul 2026 13:10:06 +0200 Subject: [PATCH 16/16] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (109 of 109 strings) Co-authored-by: Hosted Weblate Co-authored-by: OverTheHillsAndFarAway Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nb_NO/ Translation: Frigate NVR/components-dialog --- web/public/locales/nb-NO/components/dialog.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/public/locales/nb-NO/components/dialog.json b/web/public/locales/nb-NO/components/dialog.json index cdb09308a3..64c34e4b2f 100644 --- a/web/public/locales/nb-NO/components/dialog.json +++ b/web/public/locales/nb-NO/components/dialog.json @@ -64,7 +64,8 @@ "error": { "failed": "Kunne ikke legge eksport i kø: {{error}}", "noVaildTimeSelected": "Ingen gyldig tidsperiode valgt", - "endTimeMustAfterStartTime": "Sluttid må være etter starttid" + "endTimeMustAfterStartTime": "Sluttid må være etter starttid", + "noValidTimeSelected": "Ingen gyldig tidsperiode valgt" }, "view": "Vis", "queued": "Eksport lagt i kø. Se fremdrift på eksportsiden.",