From 2675fec16a33cfbfe1d72fa91c8f0a3c8ed30ab9 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:24:50 +0100 Subject: [PATCH 01/46] Added translation using Weblate (Galician) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/gl/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/gl/config/cameras.json diff --git a/web/public/locales/gl/config/cameras.json b/web/public/locales/gl/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/gl/config/cameras.json @@ -0,0 +1 @@ +{} From 1eaaa9b64ed2364505567bb092c5eadaf67e1526 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:46 +0100 Subject: [PATCH 02/46] Added translation using Weblate (Turkish) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/tr/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/tr/config/cameras.json diff --git a/web/public/locales/tr/config/cameras.json b/web/public/locales/tr/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/tr/config/cameras.json @@ -0,0 +1 @@ +{} From 8b670bf577bfb2d1d384f0b03ab5bda047a00e70 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:47 +0100 Subject: [PATCH 03/46] Added translation using Weblate (Latvian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/lv/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/lv/config/cameras.json diff --git a/web/public/locales/lv/config/cameras.json b/web/public/locales/lv/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/lv/config/cameras.json @@ -0,0 +1 @@ +{} From 9868d497638c5f2590e3399309303a8deaf45367 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:47 +0100 Subject: [PATCH 04/46] Added translation using Weblate (Lithuanian) Translated using Weblate (Lithuanian) Currently translated at 62.1% (556 of 895 strings) Translated using Weblate (Lithuanian) Currently translated at 96.5% (56 of 58 strings) Translated using Weblate (Lithuanian) Currently translated at 100.0% (23 of 23 strings) Translated using Weblate (Lithuanian) Currently translated at 100.0% (54 of 54 strings) Co-authored-by: Hosted Weblate Co-authored-by: Karolis Jeicenas Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/lt/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/lt/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/lt/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/lt/ Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-settings --- web/public/locales/lt/components/dialog.json | 3 ++- web/public/locales/lt/config/cameras.json | 1 + web/public/locales/lt/views/exports.json | 18 ++++++++++++++++-- web/public/locales/lt/views/faceLibrary.json | 3 ++- web/public/locales/lt/views/settings.json | 12 +++++++----- 5 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 web/public/locales/lt/config/cameras.json diff --git a/web/public/locales/lt/components/dialog.json b/web/public/locales/lt/components/dialog.json index ae5760132..fe2235a62 100644 --- a/web/public/locales/lt/components/dialog.json +++ b/web/public/locales/lt/components/dialog.json @@ -6,7 +6,8 @@ "title": "Frigate Persikrauna", "content": "Šis puslapis persikraus už {{countdown}} sekundžių.", "button": "Priverstinai Perkrauti Dabar" - } + }, + "description": "Frigate laikinai sustabdoma, iki kol programa persikraus." }, "explore": { "plus": { diff --git a/web/public/locales/lt/config/cameras.json b/web/public/locales/lt/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/lt/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/lt/views/exports.json b/web/public/locales/lt/views/exports.json index dbb5483b7..32c2f6aeb 100644 --- a/web/public/locales/lt/views/exports.json +++ b/web/public/locales/lt/views/exports.json @@ -11,13 +11,27 @@ }, "toast": { "error": { - "renameExportFailed": "Nepavyko pervadinti eksportuojamo įrašo: {{errorMessage}}" + "renameExportFailed": "Nepavyko pervadinti eksportuojamo įrašo: {{errorMessage}}", + "assignCaseFailed": "Nepavyko atnaujinti atvėjo užduoties: {{errorMessage}}" } }, "tooltip": { "shareExport": "Pasidalinti įrašu", "downloadVideo": "Atsisiųsti video", "editName": "Koreguoti pavadinimą", - "deleteExport": "Ištrinti eksportus" + "deleteExport": "Ištrinti eksportus", + "assignToCase": "Pridėti prie atvėjo" + }, + "headings": { + "cases": "Atvėjai", + "uncategorizedExports": "Nekategorizuoti eksportai" + }, + "caseDialog": { + "title": "Pridėti prie atvėjo", + "selectLabel": "Atvėjis", + "newCaseOption": "Sukurti naują atvėjį", + "descriptionLabel": "Aprašymas", + "nameLabel": "Atvėjo pavadinimas", + "description": "Pasirinkite jau egzisutojantį atvėjį arba sukurkite naują." } } diff --git a/web/public/locales/lt/views/faceLibrary.json b/web/public/locales/lt/views/faceLibrary.json index cd7307a27..7122bfbfd 100644 --- a/web/public/locales/lt/views/faceLibrary.json +++ b/web/public/locales/lt/views/faceLibrary.json @@ -2,7 +2,8 @@ "description": { "addFace": "Pridėkite naują kolekciją į Veidų Kolekciją įkeldami savo pirmą nuotrauką.", "placeholder": "Įveskite pavadinimą šiai kolekcijai", - "invalidName": "Netinkamas vardas. Vardas gali būti sudarytas tik iš raidžiū, skaičių, tarpų, apostrofų, pabraukimų ar brūkšnelių." + "invalidName": "Netinkamas vardas. Vardas gali būti sudarytas tik iš raidžiū, skaičių, tarpų, apostrofų, pabraukimų ar brūkšnelių.", + "nameCannotContainHash": "Pavadinime negali būti #." }, "details": { "person": "Žmogus", diff --git a/web/public/locales/lt/views/settings.json b/web/public/locales/lt/views/settings.json index 360f78d49..5914d3f8b 100644 --- a/web/public/locales/lt/views/settings.json +++ b/web/public/locales/lt/views/settings.json @@ -4,21 +4,23 @@ "authentication": "Autentifikavimo Nustatymai - Frigate", "camera": "Kameros Nustatymai - Frigate", "object": "Debug - Frigate", - "general": "Vizualiniai Nustatymai - Frigate", + "general": "Išvaizdos Parametrai - Frigate", "frigatePlus": "Frigate+ Nustatymai - Frigate", "notifications": "Pranešimų Nustatymai - Frigate", "motionTuner": "Judesio Derinimas - Frigate", "enrichments": "Patobulinimų Nustatymai - Frigate", "masksAndZones": "Maskavimo ir Zonų redaktorius - Frigate", "cameraManagement": "Valdyti Kameras - Frigate", - "cameraReview": "Kameros Peržiūros Nustatymai - Frigate" + "cameraReview": "Kameros Peržiūros Nustatymai - Frigate", + "globalConfig": "Visuotiniai Parametrai — Frigate", + "cameraConfig": "Kameros Parametrai — Frigate" }, "menu": { "ui": "UI", "enrichments": "Patobulinimai", "cameras": "Kameros Nustatymai", "masksAndZones": "Maskavimai / Zonos", - "motionTuner": "Judesio Derintojas", + "motionTuner": "Judesio Derinimas", "debug": "Debug", "users": "Vartotojai", "notifications": "Pranešimai", @@ -345,7 +347,7 @@ } }, "motionMaskLabel": "Judesio Maskuotė {{number}}", - "objectMaskLabel": "Obejkto Maskuotė {{number}} {{label}}", + "objectMaskLabel": "Obejkto Maskuotė {{number}}", "form": { "zoneName": { "error": { @@ -440,7 +442,7 @@ "desc": "Rodyti apribojančius stačiakampius aplink sekamus objektus", "colors": { "label": "Objektus Apribojančių Stačiakampių Spalvos", - "info": "
  • Pradžioje, skirtingos spalvos bus priskirtos kiekvienai objekto etiketei
  • Tamsiai mėlyna plona linija simbolizuoja, kad objektas esamu momentu dar nėra aptiktas
  • Pilka linija nurodo kad objektas yra aptiktas kaip nejudantis
  • Stora linija nurodo kad objektas yra automatiškai sekamas (kai įjungta)
  • " + "info": "
  • Pradžioje, skirtingos spalvos bus priskirtos kiekvienai objekto etiketei
  • Tamsiai mėlyna plona linija simbolizuoja, kad objektas esamu momentu dar nėra aptiktas
  • Pilka linija nurodo kad objektas yra aptiktas kaip nejudantis
  • Stora linija nurodo kad objektas yra automatiškai sekamas (kai įjungta)
  • " } }, "timestamp": { From 67d324d3b0c655913a5cd57bd68ad5e0bc6c023a Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:47 +0100 Subject: [PATCH 05/46] Added translation using Weblate (Thai) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/th/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/th/config/cameras.json diff --git a/web/public/locales/th/config/cameras.json b/web/public/locales/th/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/th/config/cameras.json @@ -0,0 +1 @@ +{} From 0190daec35cd7c6f03f3638c086f6904f945eb23 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:47 +0100 Subject: [PATCH 06/46] Translated using Weblate (Portuguese (Brazil)) Currently translated at 96.5% (56 of 58 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (54 of 54 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (98 of 98 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (228 of 228 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (23 of 23 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 2.3% (11 of 464 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 50.5% (452 of 895 strings) Added translation using Weblate (Portuguese (Brazil)) Co-authored-by: Hellyson Rodrigo Parteka Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/pt_BR/ 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/views-exports/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/pt_BR/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/common Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-live Translation: Frigate NVR/views-settings --- web/public/locales/pt-BR/common.json | 42 ++++++++++++++++--- .../locales/pt-BR/components/dialog.json | 6 ++- web/public/locales/pt-BR/views/exports.json | 20 +++++++-- .../locales/pt-BR/views/faceLibrary.json | 3 +- web/public/locales/pt-BR/views/live.json | 16 ++++++- web/public/locales/pt-BR/views/settings.json | 10 +++-- web/public/locales/pt_BR/config/cameras.json | 23 ++++++++++ 7 files changed, 105 insertions(+), 15 deletions(-) create mode 100644 web/public/locales/pt_BR/config/cameras.json diff --git a/web/public/locales/pt-BR/common.json b/web/public/locales/pt-BR/common.json index d9f30b3de..632155ddd 100644 --- a/web/public/locales/pt-BR/common.json +++ b/web/public/locales/pt-BR/common.json @@ -79,7 +79,10 @@ "12hour": "dd-MM-yy-hh-mm-ss", "24hour": "dd-MM-yy-HH-mm-ss" }, - "never": "Nunca" + "never": "Nunca", + "inProgress": "Em progresso", + "invalidStartTime": "Horário de início inválido", + "invalidEndTime": "Horário de término inválido" }, "selectItem": "Selecionar {{item}}", "unit": { @@ -101,7 +104,13 @@ } }, "label": { - "back": "Voltar" + "back": "Voltar", + "hide": "Esconder {{item}}", + "show": "Mostrar {{item}}", + "ID": "ID", + "none": "Nenhum", + "all": "Todos", + "other": "Outros" }, "button": { "apply": "Aplicar", @@ -138,7 +147,18 @@ "unselect": "Deselecionar", "export": "Exportar", "deleteNow": "Deletar Agora", - "next": "Próximo" + "next": "Próximo", + "add": "Adicionar", + "undo": "Desfazer", + "copiedToClipboard": "Copiado para a área de transferência", + "continue": "Continuar", + "modified": "Modificado", + "overridden": "Substituído", + "resetToGlobal": "Redefinir para o Global", + "resetToDefault": "Redefinir para o Padrão", + "saveAll": "Salvar Tudo", + "savingAll": "Salvando Tudo…", + "undoAll": "Desfazer Tudo" }, "menu": { "system": "Sistema", @@ -186,7 +206,8 @@ "bg": "Български (Búlgaro)", "gl": "Galego (Galego)", "id": "Bahasa Indonesia (Indonésio)", - "ur": "اردو (Urdu)" + "ur": "اردو (Urdu)", + "hr": "Hrvatski (Croata)" }, "systemLogs": "Logs de sistema", "settings": "Configurações", @@ -239,7 +260,9 @@ "anonymous": "anônimo", "logout": "Sair", "setPassword": "Definir Senha" - } + }, + "classification": "Classificação", + "chat": "Chat" }, "toast": { "copyUrlToClipboard": "URL copiada para a área de transferência.", @@ -282,5 +305,14 @@ "readTheDocumentation": "Leia a documentação", "information": { "pixels": "{{area}}px" + }, + "list": { + "two": "{{0}} e {{1}}", + "many": "{{items}} e {{last}}", + "separatorWithSpace": ", " + }, + "field": { + "optional": "Opcional", + "internalID": "O ID interno que o Frigate usa na configuração e banco de dados" } } diff --git a/web/public/locales/pt-BR/components/dialog.json b/web/public/locales/pt-BR/components/dialog.json index c21361f85..22f891023 100644 --- a/web/public/locales/pt-BR/components/dialog.json +++ b/web/public/locales/pt-BR/components/dialog.json @@ -6,7 +6,8 @@ "title": "Frigate está Reiniciando", "content": "Essa página vai recarregar em {{countdown}} segundos.", "button": "Forçar Recarregar Agora" - } + }, + "description": "Isto irá parar brevemente o Frigate enquanto reinicia." }, "explore": { "plus": { @@ -118,6 +119,7 @@ "search": { "placeholder": "Pesquisar por rótulo ou sub-rótulo…" }, - "noImages": "Nenhuma miniatura encontrada para essa câmera" + "noImages": "Nenhuma miniatura encontrada para essa câmera", + "unknownLabel": "Imagem de Gatilho Salva" } } diff --git a/web/public/locales/pt-BR/views/exports.json b/web/public/locales/pt-BR/views/exports.json index 12a6dce45..29edc2cb5 100644 --- a/web/public/locales/pt-BR/views/exports.json +++ b/web/public/locales/pt-BR/views/exports.json @@ -5,19 +5,33 @@ "deleteExport": "Deletar Exportação", "deleteExport.desc": "Você tem certeza que quer apagar {{exportName}}?", "editExport": { - "title": "Exportar Renomear", + "title": "Renomear Exportação", "desc": "Entre um novo nome para essa exportação.", "saveExport": "Salvar exportação" }, "toast": { "error": { - "renameExportFailed": "Falha ao renomear exportação: {{errorMessage}}" + "renameExportFailed": "Falha ao renomear exportação: {{errorMessage}}", + "assignCaseFailed": "Falha ao atualizar atribuição ao caso: {{errorMessage}}" } }, "tooltip": { "shareExport": "Compartilhar exportação", "downloadVideo": "Baixar vídeo", "editName": "Editar nome", - "deleteExport": "Apagar exportação" + "deleteExport": "Apagar exportação", + "assignToCase": "Adicionar ao caso" + }, + "headings": { + "uncategorizedExports": "Exportações não categorizadas", + "cases": "Casos" + }, + "caseDialog": { + "title": "Adicionar ao caso", + "description": "Escolha um caso existente ou crie um novo.", + "selectLabel": "Caso", + "newCaseOption": "Criar novo caso", + "nameLabel": "Nome do caso", + "descriptionLabel": "Descrição" } } diff --git a/web/public/locales/pt-BR/views/faceLibrary.json b/web/public/locales/pt-BR/views/faceLibrary.json index 1e3ac330c..dded9cf19 100644 --- a/web/public/locales/pt-BR/views/faceLibrary.json +++ b/web/public/locales/pt-BR/views/faceLibrary.json @@ -59,7 +59,8 @@ "description": { "placeholder": "Informe um nome para esta coleção", "addFace": "Adicione uma nova coleção à Biblioteca Facial subindo a sua primeira imagem.", - "invalidName": "Nome inválido. Nomes podem conter letras, números, espacos, apóstrofos, sublinhado e hífens." + "invalidName": "Nome inválido. Nomes podem conter letras, números, espacos, apóstrofos, sublinhado e hífens.", + "nameCannotContainHash": "Nome não pode conter #." }, "documentTitle": "Biblioteca de rostos - Frigate", "uploadFaceImage": { diff --git a/web/public/locales/pt-BR/views/live.json b/web/public/locales/pt-BR/views/live.json index d60cddaa8..0c58e2137 100644 --- a/web/public/locales/pt-BR/views/live.json +++ b/web/public/locales/pt-BR/views/live.json @@ -174,7 +174,21 @@ "noCameras": { "title": "Nenhuma Câmera Configurada", "description": "Inicie conectando uma câmera ao Frigate.", - "buttonText": "Adicionar Câmera" + "buttonText": "Adicionar Câmera", + "restricted": { + "title": "Nenhuma Câmera Disponível", + "description": "Você não tem permissão para ver quaisquer câmeras neste grupo." + }, + "default": { + "title": "Nenhuma Câmera Configurada", + "description": "Comece conectando uma câmera ao Frigate.", + "buttonText": "Adicionar Câmera" + }, + "group": { + "title": "Nenhuma Câmera no Grupo", + "description": "Este grupo de câmeras não tem nenhuma câmera atribuída ou habilitada.", + "buttonText": "Gerenciar Grupos" + } }, "snapshot": { "takeSnapshot": "Baixar captura de imagem instantânea", diff --git a/web/public/locales/pt-BR/views/settings.json b/web/public/locales/pt-BR/views/settings.json index ec3c4a836..d3443e3e4 100644 --- a/web/public/locales/pt-BR/views/settings.json +++ b/web/public/locales/pt-BR/views/settings.json @@ -11,7 +11,9 @@ "frigatePlus": "Frigate+ Configurações- Frigate", "notifications": "Configurações de notificação - Frigate", "cameraManagement": "Gerenciar Câmeras - Frigate", - "cameraReview": "Configurações de Revisão de Câmera - Frigate" + "cameraReview": "Configurações de Revisão de Câmera - Frigate", + "globalConfig": "Configuração Global - Frigate", + "cameraConfig": "Configuração da Câmera - Frigate" }, "menu": { "ui": "UI", @@ -385,7 +387,7 @@ "add": "Nova Máscara de Movimento", "edit": "Editar Máscara de Movimento", "context": { - "title": "Máscaras de movimento são usadas para prevenir typos 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 muita parcimônia, excesso de mascaramento tornará mais difícil de objetos serem rastreados.", + "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", @@ -900,7 +902,9 @@ "errors": { "brandOrCustomUrlRequired": "Selecione a marca da câmera com o host/IP or selecione 'Outro' com uma URL customizada", "nameRequired": "Nome para a câmera requerido", - "nameLength": "O nome da câmera deve ter 64 caracteres ou menos" + "nameLength": "O nome da câmera deve ter 64 caracteres ou menos", + "invalidCharacters": "Nome da câmera contém caracteres inválidos", + "nameExists": "Nome da câmera já existe" }, "testing": { "probingMetadata": "Inferindo o metadata da câmera...", diff --git a/web/public/locales/pt_BR/config/cameras.json b/web/public/locales/pt_BR/config/cameras.json new file mode 100644 index 000000000..09dbea3ac --- /dev/null +++ b/web/public/locales/pt_BR/config/cameras.json @@ -0,0 +1,23 @@ +{ + "name": { + "label": "Nome da câmera", + "description": "Nome da câmera é obrigatório" + }, + "friendly_name": { + "label": "Nome amigável", + "description": "Nome amigável da câmera utilizado na Interface de Usuário do Frigate" + }, + "enabled": { + "label": "Habilitado", + "description": "Habilitado" + }, + "audio": { + "label": "Eventos de áudio", + "description": "Configurações para detecção de eventos baseados em áudio para esta câmera.", + "enabled": { + "label": "Habilitar detecção de áudio", + "description": "Habilitar ou desabilitar o evento de detecção de áudio para esta câmera." + } + }, + "label": "Configuração da Câmera" +} From 9ac535f2abe36601128e86563758590f1b1b1f63 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:48 +0100 Subject: [PATCH 07/46] Added translation using Weblate (German) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/de/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/de/config/cameras.json diff --git a/web/public/locales/de/config/cameras.json b/web/public/locales/de/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/de/config/cameras.json @@ -0,0 +1 @@ +{} From 7fe9058bc6f11eefbe70c5707ebed6bb5e67023c Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:48 +0100 Subject: [PATCH 08/46] Added translation using Weblate (Danish) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/da/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/da/config/cameras.json diff --git a/web/public/locales/da/config/cameras.json b/web/public/locales/da/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/da/config/cameras.json @@ -0,0 +1 @@ +{} From 696c59cdcfce6a930ea6b7457cb906689288f863 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:48 +0100 Subject: [PATCH 09/46] Added translation using Weblate (Greek) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/el/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/el/config/cameras.json diff --git a/web/public/locales/el/config/cameras.json b/web/public/locales/el/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/el/config/cameras.json @@ -0,0 +1 @@ +{} From 0708d2adaf6919600f58ff9af0abdacf2bb3e2d4 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:48 +0100 Subject: [PATCH 10/46] Added translation using Weblate (Estonian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Translated using Weblate (Estonian) Currently translated at 100.0% (228 of 228 strings) Translated using Weblate (Estonian) Currently translated at 99.5% (227 of 228 strings) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: Priit Jõerüüt Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/et/ Translation: Frigate NVR/common --- web/public/locales/et/common.json | 15 +++++++++++++-- web/public/locales/et/config/cameras.json | 1 + 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 web/public/locales/et/config/cameras.json diff --git a/web/public/locales/et/common.json b/web/public/locales/et/common.json index 8f68c3cb8..8e4d3442b 100644 --- a/web/public/locales/et/common.json +++ b/web/public/locales/et/common.json @@ -178,7 +178,8 @@ "export": "Ekspordi", "uiPlayground": "Leht kasutajaliidese katsetamiseks", "faceLibrary": "Näoteek", - "classification": "Klassifikatsioon" + "classification": "Klassifikatsioon", + "chat": "Vestlus" }, "unit": { "speed": { @@ -234,7 +235,17 @@ "export": "Ekspordi", "deleteNow": "Kustuta kohe", "next": "Järgmine", - "continue": "Jätka" + "continue": "Jätka", + "add": "Lisa", + "undo": "Võta tegevus tagasi", + "copiedToClipboard": "Kopeeritud lõikelauale", + "modified": "Muudetud", + "overridden": "Sürjutatud", + "resetToDefault": "Lähtesta vaikimisi väärtusteks", + "saveAll": "Salvesta kõik", + "resetToGlobal": "Lähtesta üldiseks väärtusteks", + "savingAll": "Salvestan kõiki…", + "undoAll": "Pööra kõik tegevused tagasi" }, "label": { "back": "Mine tagasi", diff --git a/web/public/locales/et/config/cameras.json b/web/public/locales/et/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/et/config/cameras.json @@ -0,0 +1 @@ +{} From c35b016f47bc1887c9691addc4706801517bab99 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:49 +0100 Subject: [PATCH 11/46] Added translation using Weblate (Russian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/ru/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/ru/config/cameras.json diff --git a/web/public/locales/ru/config/cameras.json b/web/public/locales/ru/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ru/config/cameras.json @@ -0,0 +1 @@ +{} From 4374f49abfe023a4989f11e15230aeb468a86c2a Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:49 +0100 Subject: [PATCH 12/46] Added translation using Weblate (Romanian) Added translation using Weblate (Romanian) Added translation using Weblate (Romanian) Added translation using Weblate (Romanian) Translated using Weblate (Romanian) Currently translated at 100.0% (23 of 23 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (98 of 98 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (46 of 46 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (74 of 74 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (49 of 49 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (147 of 147 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (228 of 228 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (58 of 58 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (136 of 136 strings) Translated using Weblate (Romanian) Currently translated at 100.0% (895 of 895 strings) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: lukasig Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ro/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ro/ Translation: Frigate NVR/common Translation: Frigate NVR/components-camera Translation: Frigate NVR/components-dialog Translation: Frigate NVR/components-filter Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-live Translation: Frigate NVR/views-search Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/ro/common.json | 15 +- web/public/locales/ro/components/camera.json | 2 +- web/public/locales/ro/components/dialog.json | 4 + web/public/locales/ro/components/filter.json | 2 +- web/public/locales/ro/config/cameras.json | 1 + web/public/locales/ro/config/global.json | 1 + web/public/locales/ro/config/validation.json | 1 + web/public/locales/ro/views/explore.json | 8 +- web/public/locales/ro/views/exports.json | 34 +- web/public/locales/ro/views/live.json | 2 +- web/public/locales/ro/views/search.json | 2 +- web/public/locales/ro/views/settings.json | 1183 +++++++++++------- web/public/locales/ro/views/system.json | 189 +-- 13 files changed, 915 insertions(+), 529 deletions(-) create mode 100644 web/public/locales/ro/config/cameras.json create mode 100644 web/public/locales/ro/config/global.json create mode 100644 web/public/locales/ro/config/validation.json diff --git a/web/public/locales/ro/common.json b/web/public/locales/ro/common.json index 1148d60c8..47ff5dcc5 100644 --- a/web/public/locales/ro/common.json +++ b/web/public/locales/ro/common.json @@ -185,7 +185,8 @@ "withSystem": "Modul sistemului", "restart": "Repornește Frigate", "review": "Revizuire", - "classification": "Clasificare" + "classification": "Clasificare", + "chat": "Chat" }, "button": { "cameraAudio": "Sunet cameră", @@ -223,7 +224,17 @@ "export": "Exportă", "deleteNow": "Șterge acum", "next": "Următorul", - "continue": "Continuă" + "continue": "Continuă", + "add": "Adaugă", + "undo": "Anulează", + "copiedToClipboard": "Copiat în clipboard", + "modified": "Modificat", + "overridden": "Suprascris", + "resetToGlobal": "Resetare la valori Globale", + "resetToDefault": "Resetare la valori implicite", + "saveAll": "Salvează toate", + "savingAll": "Se salvează toate…", + "undoAll": "Anulează toate" }, "unit": { "speed": { diff --git a/web/public/locales/ro/components/camera.json b/web/public/locales/ro/components/camera.json index 55396367d..093ff4532 100644 --- a/web/public/locales/ro/components/camera.json +++ b/web/public/locales/ro/components/camera.json @@ -67,7 +67,7 @@ "desc": "Activează această opțiune doar dacă stream-ul live al camerei afișează artefacte de culoare și are o linie diagonală pe partea dreaptă a imaginii." } }, - "birdseye": "Vedere de ansamblu" + "birdseye": "Birdseye" } }, "debug": { diff --git a/web/public/locales/ro/components/dialog.json b/web/public/locales/ro/components/dialog.json index 5d478f76a..ec929c023 100644 --- a/web/public/locales/ro/components/dialog.json +++ b/web/public/locales/ro/components/dialog.json @@ -95,6 +95,10 @@ "fromTimeline": { "saveExport": "Salvează exportul", "previewExport": "Previzualizează exportul" + }, + "case": { + "label": "Caz", + "placeholder": "Selectează caz" } }, "streaming": { diff --git a/web/public/locales/ro/components/filter.json b/web/public/locales/ro/components/filter.json index 74a65aa62..a0438b56e 100644 --- a/web/public/locales/ro/components/filter.json +++ b/web/public/locales/ro/components/filter.json @@ -106,7 +106,7 @@ }, "trackedObjectDelete": { "title": "Confirmă ștergerea", - "desc": "Ștergerea acestor {{objectLength}} obiecte urmărite elimină snapshot-ul, orice încorporări salvate și orice înregistrări asociate ciclului de viață al obiectului. Filmările înregistrate ale acestor obiecte urmărite în vizualizarea Istoric NU vor fi șterse.

    Ești sigur că dorești să continui?

    Țineți apăsată tasta Shift pentru a sări peste acest dialog în viitor.", + "desc": "Ștergerea acestor {{objectLength}} obiecte urmărite elimină snapshot-ul, orice înglobări salvate și orice înregistrări asociate ciclului de viață al obiectului. Filmările înregistrate ale acestor obiecte urmărite în vizualizarea Istoric NU vor fi șterse.

    Ești sigur că dorești să continui?

    Țineți apăsată tasta Shift pentru a sări peste acest dialog în viitor.", "toast": { "success": "Obiectele urmărite au fost șterse cu succes.", "error": "Ștergerea obiectelor urmărite a eșuat: {{errorMessage}}" diff --git a/web/public/locales/ro/config/cameras.json b/web/public/locales/ro/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ro/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ro/config/global.json b/web/public/locales/ro/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ro/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ro/config/validation.json b/web/public/locales/ro/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ro/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ro/views/explore.json b/web/public/locales/ro/views/explore.json index d76f9191d..dfad32eec 100644 --- a/web/public/locales/ro/views/explore.json +++ b/web/public/locales/ro/views/explore.json @@ -12,10 +12,10 @@ "trackedObjectsProcessed": "Obiecte urmărite procesate: ", "thumbnailsEmbedded": "Miniaturi încorporate: " }, - "context": "Funcția de căutare poate fi utilizată după ce reindexarea obiectelor urmărite este finalizată." + "context": "Funcția de căutare poate fi utilizată după ce reindexarea obiectelor înglobate este finalizată." }, "downloadingModels": { - "context": "Frigate descarcă modelele de încorporare necesare pentru a susține funcția de Căutare Semantică. Acest lucru poate dura câteva minute, în funcție de viteza conexiunii rețelei dvs.", + "context": "Frigate descarcă modelele de înglobare necesare pentru a susține funcția de Căutare Semantică. Acest lucru poate dura câteva minute, în funcție de viteza conexiunii rețelei dvs.", "setup": { "visionModel": "Model viziune", "visionModelFeatureExtractor": "Extractor de caracteristici pentru modelul de viziune", @@ -23,7 +23,7 @@ "textTokenizer": "Tokenizer text" }, "tips": { - "context": "S-ar putea să dorești să reindexezi încorporările obiectelor urmărite odată ce modelele sunt descărcate.", + "context": "S-ar putea să dorești să reindexezi înglobările obiectelor urmărite odată ce modelele sunt descărcate.", "documentation": "Citește documentația" }, "error": "A apărut o eroare. Verifică jurnalele Frigate." @@ -231,7 +231,7 @@ "dialog": { "confirmDelete": { "title": "Confirmă ștergerea", - "desc": "Ștergerea acestui obiect urmărit elimină snapshot-ul, orice încorporări salvate și orice intrări asociate detaliilor de urmărire. Materialul video înregistrat al acestui obiect urmărit în vizualizarea Istoric NU va fi șters.

    Ești sigur că vrei să continui?" + "desc": "Ștergerea acestui obiect urmărit elimină snapshot-ul, orice înglobări salvate și orice intrări asociate detaliilor de urmărire. Materialul video înregistrat al acestui obiect urmărit în vizualizarea Istoric NU va fi șters.

    Ești sigur că vrei să continui?" } }, "noTrackedObjects": "Nu au fost găsite obiecte urmărite", diff --git a/web/public/locales/ro/views/exports.json b/web/public/locales/ro/views/exports.json index fa9077459..7b93af723 100644 --- a/web/public/locales/ro/views/exports.json +++ b/web/public/locales/ro/views/exports.json @@ -1,23 +1,37 @@ { - "search": "Caută", - "documentTitle": "Export - Frigate", - "noExports": "Nu au fost gasite exporturi", + "search": "Căutare", + "documentTitle": "Exporturi - Frigate", + "noExports": "Nu s-au găsit exporturi", "deleteExport": "Șterge exportul", - "deleteExport.desc": "Ești sigur că vrei să ștergi {{exportName}}?", + "deleteExport.desc": "Sigur vrei să ștergi {{exportName}}?", "editExport": { - "title": "Redenumeste Exportul", - "saveExport": "Salveaza Export", - "desc": "Introdu un nume nou pentru acest Export." + "title": "Redenumire export", + "saveExport": "Salvează exportul", + "desc": "Introdu un nume nou pentru acest export." }, "toast": { "error": { - "renameExportFailed": "Eroare redenumire export: {{errorMessage}}" + "renameExportFailed": "Redenumirea exportului a eșuat: {{errorMessage}}", + "assignCaseFailed": "Actualizarea atribuirii cazului a eșuat: {{errorMessage}}" } }, "tooltip": { "shareExport": "Partajează exportul", - "downloadVideo": "Descarcă videoclipul", + "downloadVideo": "Descarcă video", "editName": "Editează numele", - "deleteExport": "Șterge exportul" + "deleteExport": "Șterge exportul", + "assignToCase": "Adaugă la un caz" + }, + "headings": { + "cases": "Cazuri", + "uncategorizedExports": "Exporturi necategorizate" + }, + "caseDialog": { + "title": "Adaugă la un caz", + "description": "Alege un caz existent sau creează unul nou.", + "selectLabel": "Caz", + "newCaseOption": "Creează un caz nou", + "nameLabel": "Numele cazului", + "descriptionLabel": "Descriere" } } diff --git a/web/public/locales/ro/views/live.json b/web/public/locales/ro/views/live.json index bb2c958ea..45f8a68f2 100644 --- a/web/public/locales/ro/views/live.json +++ b/web/public/locales/ro/views/live.json @@ -71,7 +71,7 @@ }, "snapshots": { "disable": "Dezactivează snapshoturile", - "enable": "Activează snapshoturile" + "enable": "Activează snapshot-urile" }, "audioDetect": { "enable": "Activează detectarea audio", diff --git a/web/public/locales/ro/views/search.json b/web/public/locales/ro/views/search.json index 5c5f391e8..81304ace5 100644 --- a/web/public/locales/ro/views/search.json +++ b/web/public/locales/ro/views/search.json @@ -1,5 +1,5 @@ { - "search": "Caută", + "search": "Căutare", "savedSearches": "Căutări salvate", "searchFor": "Caută {{inputValue}}", "button": { diff --git a/web/public/locales/ro/views/settings.json b/web/public/locales/ro/views/settings.json index 813f50537..e01f13b24 100644 --- a/web/public/locales/ro/views/settings.json +++ b/web/public/locales/ro/views/settings.json @@ -1,33 +1,91 @@ { "documentTitle": { - "authentication": "Setări de autentificare - Frigate", + "authentication": "Setări Autentificare - Frigate", "camera": "Setări cameră - Frigate", "default": "Setări - Frigate", "classification": "Setări de clasificare - Frigate", - "masksAndZones": "Editor Zonă si Mască - Frigate", - "notifications": "Setări notificări - Frigate", - "motionTuner": "Ajustare mișcare - Frigate", + "masksAndZones": "Editor Mască și Zonă - Frigate", + "notifications": "Setări Notificări - Frigate", + "motionTuner": "Reglaj Mișcare - Frigate", "object": "Depanare - Frigate", - "general": "Setări interfață - Frigate", + "general": "Setări Profil - Frigate", "frigatePlus": "Setări Frigate+ - Frigate", - "enrichments": "Setări de Îmbogățiri - Frigate", - "cameraManagement": "Gestionează Camerele - Frigate", - "cameraReview": "Setări Revizuire Cameră - Frigate" + "enrichments": "Setări Îmbunătățiri - Frigate", + "cameraManagement": "Gestionare Camere - Frigate", + "cameraReview": "Setări Review Cameră - Frigate", + "globalConfig": "Configurație Globală - Frigate", + "cameraConfig": "Configurație Cameră - Frigate", + "maintenance": "Mentenanță - Frigate" }, "menu": { - "ui": "Interfață utilizator", - "cameras": "Setări cameră", + "ui": "Interfață (UI)", + "cameras": "Configurație cameră", "masksAndZones": "Măști / Zone", "motionTuner": "Reglaj mișcare", - "enrichments": "Îmbogățiri", + "enrichments": "Îmbunătățiri", "debug": "Depanare", "users": "Utilizatori", "notifications": "Notificări", "frigateplus": "Frigate+", - "triggers": "Declanșatoare", + "triggers": "Declanșatori", "roles": "Roluri", - "cameraManagement": "Administrare", - "cameraReview": "Revizuire" + "cameraManagement": "Gestionare", + "cameraReview": "Recenzie", + "general": "General", + "globalConfig": "Configurație globală", + "system": "Sistem", + "integrations": "Integrări", + "profileSettings": "Setări profil", + "globalDetect": "Detecție obiecte", + "globalRecording": "Înregistrare", + "globalSnapshots": "Snapshot-uri", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Detecție mișcare", + "globalObjects": "Obiecte", + "globalReview": "Recenzie", + "globalAudioEvents": "Evenimente audio", + "globalLivePlayback": "Redare live", + "globalTimestampStyle": "Stil timestamp", + "systemDatabase": "Bază de date", + "systemTls": "TLS", + "systemAuthentication": "Autentificare", + "systemNetworking": "Rețea", + "systemProxy": "Proxy", + "systemUi": "Interfață (UI)", + "systemLogging": "Jurnale (Logging)", + "systemEnvironmentVariables": "Variabile de mediu", + "systemTelemetry": "Telemetrie", + "systemBirdseye": "Birdseye", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "Hardware detector", + "systemDetectionModel": "Model detecție", + "systemMqtt": "MQTT", + "integrationSemanticSearch": "Căutare semantică", + "integrationGenerativeAi": "AI Generativ", + "integrationFaceRecognition": "Recunoaștere facială", + "integrationLpr": "Recunoaștere numere înmatriculare", + "integrationObjectClassification": "Clasificare obiecte", + "integrationAudioTranscription": "Transcriere audio", + "cameraDetect": "Detecție obiecte", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "Înregistrare", + "cameraSnapshots": "Snapshot-uri", + "cameraMotion": "Detecție mișcare", + "cameraObjects": "Obiecte", + "cameraConfigReview": "Recenzie", + "cameraAudioEvents": "Evenimente audio", + "cameraAudioTranscription": "Transcriere audio", + "cameraNotifications": "Notificări", + "cameraLivePlayback": "Redare live", + "cameraBirdseye": "Birdseye", + "cameraFaceRecognition": "Recunoaștere facială", + "cameraLpr": "Recunoaștere numere înmatriculare", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "Interfață cameră", + "cameraTimestampStyle": "Stil timestamp", + "cameraMqtt": "MQTT Cameră", + "maintenance": "Mentenanță" }, "dialog": { "unsavedChanges": { @@ -40,60 +98,60 @@ "noCamera": "Nicio cameră" }, "general": { - "title": "Setări interfață", + "title": "Setări Profil", "liveDashboard": { - "title": "Tabloul de bord live", + "title": "Dashboard Live", "automaticLiveView": { - "desc": "Comută automat la vizualizarea live a unei camere când este detectată activitate. Dezactivarea acestei opțiuni face ca imaginile statice ale camerelor din panoul Live să se actualizeze doar o dată pe minut.", + "desc": "Comută automat la vizualizarea live a unei camere când este detectată activitate. Dezactivarea acestei opțiuni face ca imaginile statice din dashboard-ul Live să se actualizeze doar o dată pe minut.", "label": "Vizualizare Live Automată" }, "playAlertVideos": { - "label": "Redă videoclipurile de alertă", - "desc": "În mod implicit, alertele recente din panoul Live se redau ca videoclipuri mici, ce ruleaza repetat. Dezactivează această opțiune pentru a afișa doar o imagine statică a alertelor recente pe acest dispozitiv/browser." + "label": "Redă Clipuri de Alertă", + "desc": "Implicit, alertele recente din dashboard-ul Live rulează ca mici clipuri video în buclă. Dezactivează această opțiune pentru a afișa doar o imagine statică a alertelor recente pe acest dispozitiv/browser." }, "displayCameraNames": { - "label": "Afișează întotdeauna numele camerelor", - "desc": "Afișează întotdeauna numele camerelor într-un indicator în tabloul de bord cu vizualizare live pe mai multe camere." + "label": "Arată mereu numele camerelor", + "desc": "Arată întotdeauna numele camerelor într-un tag (chip) în dashboard-ul live multi-cameră." }, "liveFallbackTimeout": { - "label": "Timp de expirare pentru redarea live", - "desc": "Când stream-ul live de înaltă calitate al unei camere nu este disponibil, revino la modul cu lățime de bandă scăzută după acest număr de secunde. Implicit: 3." + "label": "Timeout Rezecție Player 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." } }, "storedLayouts": { - "title": "Layout-uri salvate", - "desc": "Aranjamentul camerelor într-un grup de camere poate fi tras și redimensionat. Pozițiile sunt salvate în stocarea locală a browserului tău.", + "title": "Layout-uri Salvate", + "desc": "Aranjamentul camerelor într-un grup poate fi tras sau redimensionat. Pozițiile sunt stocate în memoria locală a browserului tău.", "clearAll": "Șterge toate layout-urile" }, "cameraGroupStreaming": { - "title": "Setări de streaming pentru grupul de camere", + "title": "Setări Streaming Grup Camere", "desc": "Setările de streaming pentru fiecare grup de camere sunt stocate în memoria locală a browserului tău.", "clearAll": "Șterge toate setările de streaming" }, "recordingsViewer": { - "title": "Vizualizator înregistrări", + "title": "Vizualizator Înregistrări", "defaultPlaybackRate": { - "desc": "Viteza implicită de redare pentru înregistrări.", - "label": "Viteza implicită de redare" + "desc": "Viteza de redare implicită pentru vizionarea înregistrărilor.", + "label": "Viteză de redare implicită" } }, "calendar": { "title": "Calendar", "firstWeekday": { "label": "Prima zi a săptămânii", - "desc": "Ziua cu care încep săptămânile calendarului de revizuire.", + "desc": "Ziua cu care încep săptămânile în calendarul de recenzii.", "sunday": "Duminică", "monday": "Luni" } }, "toast": { "success": { - "clearStoredLayout": "Aspectul salvat pentru {{cameraName}} a fost șters", - "clearStreamingSettings": "Setările de streaming pentru toate grupurile de camere au fost resetate." + "clearStoredLayout": "S-a șters layout-ul salvat pentru {{cameraName}}", + "clearStreamingSettings": "S-au șters setările de streaming pentru toate grupurile de camere." }, "error": { - "clearStoredLayoutFailed": "Eroare la ștergerea layout-ului salvat: {{errorMessage}}", - "clearStreamingSettingsFailed": "Nu s-au putut șterge setările de streaming: {{errorMessage}}" + "clearStoredLayoutFailed": "Eșec la ștergerea layout-ului salvat: {{errorMessage}}", + "clearStreamingSettingsFailed": "Eșec la ștergerea setărilor de streaming: {{errorMessage}}" } } }, @@ -101,62 +159,62 @@ "faceRecognition": { "modelSize": { "large": { - "desc": "Utilizarea variantei mari folosește un model ArcFace pentru încorporarea fețelor și va rula automat pe GPU, dacă este disponibil.", - "title": "mare" + "desc": "Opțiunea mare folosește un model de înglobări faciale ArcFace și va rula automat pe GPU dacă este disponibil.", + "title": "mare (large)" }, - "desc": "Dimensiunea modelului utilizat pentru recunoașterea facială.", + "desc": "Mărimea modelului folosit pentru recunoașterea facială.", "small": { - "title": "mic", - "desc": "Utilizarea variantei mici folosește un model FaceNet pentru încorporarea fețelor, care rulează eficient pe majoritatea tipurilor de procesoare." + "title": "mic (small)", + "desc": "Opțiunea mic folosește un model de înglobări faciale FaceNet care rulează eficient pe majoritatea procesoarelor." }, - "label": "Dimensiunea modelului" + "label": "Mărime Model" }, - "title": "Recunoaștere facială", - "desc": "Recunoașterea facială permite atribuirea de nume persoanelor, iar când fața lor este recunoscută, Frigate va atribui numele persoanei ca sub-etichetă. Această informație este inclusă în interfața utilizatorului, filtre și în notificări.", + "title": "Recunoaștere Facială", + "desc": "Recunoașterea facială permite alocarea de nume persoanelor; când o față este recunoscută, Frigate va asocia numele ca sub-etichetă. Informația apare în UI, filtre și notificări.", "readTheDocumentation": "Citește documentația" }, "semanticSearch": { "reindexNow": { - "confirmDesc": "Ești sigur că vrei să reindexezi încorporările pentru toate obiectele urmărite? Acest proces va rula în fundal, dar poate folosi la maxim procesorul și poate dura ceva timp. Poți urmări progresul pe pagina de explorare.", + "confirmDesc": "Sigur vrei să reindexezi toate înglobările obiectelor urmărite? Procesul va rula în fundal, dar poate solicita procesorul la maximum. Poți urmări progresul pe pagina Explore.", "label": "Reindexează acum", - "desc": "Reindexarea va regenera încorporările pentru toate obiectele urmărite. Acest proces rulează în fundal și poate utiliza la maxim procesorul, durând o perioadă considerabilă în funcție de numărul de obiecte urmărite pe care le ai.", + "desc": "Reindexarea va regenera înglobările pentru toate obiectele urmărite. Acest proces rulează în fundal, poate solicita procesorul la maximum și poate dura destul de mult în funcție de numărul de obiecte.", "confirmTitle": "Confirmă reindexarea", "confirmButton": "Reindexează", - "success": "Reindexarea a început cu succes.", - "alreadyInProgress": "Reindexarea este deja în curs de desfășurare.", - "error": "Eroare la pornirea reindexării: {{errorMessage}}" + "success": "Reindexarea a pornit cu succes.", + "alreadyInProgress": "Reindexarea este deja în curs.", + "error": "Eșec la pornirea reindexării: {{errorMessage}}" }, - "title": "Căutare semantică", - "desc": "Căutarea semantică în Frigate îți permite să găsești obiecte urmărite în elementele tale de revizuire folosind fie imaginea în sine, o descriere text definită de utilizator, sau una generată automat.", + "title": "Căutare Semantică", + "desc": "Căutarea semantică în Frigate îți permite să găsești obiecte urmărite folosind fie imaginea în sine, o descriere text definită de utilizator, sau una generată automat.", "readTheDocumentation": "Citește documentația", "modelSize": { - "label": "Dimensiunea modelului", - "desc": "Dimensiunea modelului utilizat pentru încorporările de căutare semantică.", + "label": "Mărime Model", + "desc": "Mărimea modelului folosit pentru înglobarea căutării semantice.", "small": { - "title": "mic", - "desc": "Utilizarea variantei mici folosește o versiune cuantificată a modelului care consumă mai puțină memorie RAM și rulează mai rapid pe CPU, cu o diferență foarte mică în calitatea încorporărilor." + "title": "mic (small)", + "desc": "Opțiunea mic folosește o versiune cuantizată a modelului care ocupă mai puțin RAM și rulează mai rapid pe procesor, cu o diferență neglijabilă de calitate." }, "large": { - "title": "mare", - "desc": "Utilizarea variantei mari folosește modelul complet Jina și va rula automat pe GPU, dacă este disponibil." + "title": "mare (large)", + "desc": "Opțiunea mare folosește modelul Jina complet și va rula automat pe placa video (GPU) dacă este disponibilă." } } }, "licensePlateRecognition": { - "desc": "Frigate poate recunoaște numerele de înmatriculare ale vehiculelor și poate adăuga automat caracterele detectate în câmpul recognized_license_plate sau un nume cunoscut ca sub_etichetă pentru obiectele de tip mașină. Un caz de utilizare comun poate fi citirea numerelor de înmatriculare ale mașinilor care intră într-o curte sau ale celor care trec pe stradă.", - "title": "Recunoaștere numere de înmatriculare", + "desc": "Frigate poate recunoaște plăcuțele de înmatriculare și poate adăuga caracterele detectate în câmpul recognized_license_plate sau un nume cunoscut ca sub-etichetă pentru obiectele de tip mașină. Util pentru mașini care intră pe alee sau trec pe stradă.", + "title": "Recunoaștere Numere Înmatriculare", "readTheDocumentation": "Citește documentația" }, - "title": "Setări îmbogățiri", - "unsavedChanges": "Modificările nesalvate ale setărilor de îmbogățiri", + "title": "Setări Îmbunătățiri", + "unsavedChanges": "Modificări nesalvate la setările de îmbunătățiri", "birdClassification": { - "title": "Clasificarea păsărilor", - "desc": "Clasificarea păsărilor identifică păsările cunoscute folosind un model TensorFlow cuantificat. Când o pasăre recunoscută este identificată, numele său comun va fi adăugat ca sub_etichetă. Această informație este inclusă în interfața utilizator, filtre și în notificări." + "title": "Clasificare Păsări", + "desc": "Clasificarea păsărilor identifică speciile cunoscute folosind un model Tensorflow cuantizat. Când o pasăre este recunoscută, numele său comun va fi adăugat ca sub-etichetă (sub_label). Această informație este inclusă în interfață, filtre și notificări." }, - "restart_required": "Este necesară repornirea (setările de îmbogățiri au fost modificate)", + "restart_required": "Repornire necesară (setările de îmbunătățiri s-au modificat)", "toast": { - "success": "Setările de îmbogățiri au fost salvate. Repornește Frigate pentru a aplica modificările.", - "error": "Nu s-au putut salva modificările configurației: {{errorMessage}}" + "success": "Setările de îmbunătățiri au fost salvate. Repornește Frigate pentru a aplica modificările.", + "error": "Eșec la salvarea modificărilor de configurare: {{errorMessage}}" } }, "camera": { @@ -237,45 +295,45 @@ "point_few": "{{count}} puncte", "point_other": "{{count}} de puncte", "loiteringTime": { - "title": "Timp de ședere", - "desc": "Setează o durată minimă în secunde în care obiectul trebuie să fie în zonă pentru ca aceasta să se activeze. Implicit: 0" + "title": "Timp de staționare", + "desc": "Setează timpul minim în secunde pe care un obiect trebuie să îl petreacă în zonă pentru ca aceasta să se activeze. Implicit: 0" }, "speedEstimation": { - "desc": "Activează estimarea vitezei pentru obiectele din această zonă. Atenție: Pentru ca estimarea vitezei să funcționeze corect, zona trebuie să aibă exact 4 puncte.", + "desc": "Activează estimarea vitezei pentru obiectele din această zonă. Zona trebuie să aibă exact 4 puncte.", "title": "Estimare viteză", "docs": "Citește documentația", - "lineADistance": "Distanța liniei A ({{unit}})", - "lineBDistance": "Distanța liniei B ({{unit}})", - "lineCDistance": "Distanța liniei C ({{unit}})", - "lineDDistance": "Distanța liniei D ({{unit}})" + "lineADistance": "Distanța Liniei A ({{unit}})", + "lineBDistance": "Distanța Liniei B ({{unit}})", + "lineCDistance": "Distanța Liniei C ({{unit}})", + "lineDDistance": "Distanța Liniei D ({{unit}})" }, - "add": "Adaugă zonă", + "add": "Adaugă Zonă", "desc": { - "title": "Zonele îți permit să definești o anumită zonă din cadrul vizual al camerei. Astfel, poți determina dacă un obiect se află sau nu într-o anumită arie de interes.", + "title": "Zonele îți permit să definești arii specifice în cadru pentru a determina dacă un obiect se află sau nu într-un anumit loc.", "documentation": "Documentație" }, - "edit": "Editează zona", + "edit": "Editează Zona", "name": { "inputPlaceHolder": "Introdu un nume…", "title": "Nume", - "tips": "Numele trebuie să aibă cel puțin 2 caractere, să conțină cel puțin o literă și să nu fie numele unei camere sau al unei alte zone din această cameră." + "tips": "Numele trebuie să aibă cel puțin 2 caractere, să conțină cel puțin o literă și să nu coincidă cu numele unei camere sau al altei zone de pe această cameră." }, "inertia": { "title": "Inerție", - "desc": "Specifică câte cadre trebuie să fie un obiect într-o zonă înainte de a fi considerat prezent în zonă. Implicit: 3" + "desc": "Specifică în câte cadre trebuie să apară un obiect într-o zonă înainte de a fi considerat ca fiind în acea zonă. Implicit: 3" }, "speedThreshold": { "toast": { "error": { - "pointLengthError": "Estimarea vitezei a fost dezactivată pentru această zonă. Zonele cu estimare a vitezei trebuie să aibă exact 4 puncte.", - "loiteringTimeError": "Zonele cu un timp de staționare mai mare de 0 nu ar trebui utilizate împreună cu estimarea vitezei." + "pointLengthError": "Estimarea vitezei a fost dezactivată pentru această zonă. Zonele cu estimare de viteză trebuie să aibă exact 4 puncte.", + "loiteringTimeError": "Zonele cu timpi de staționare mai mari de 0 nu ar trebui folosite împreună cu estimarea vitezei." } }, - "title": "Prag de viteză ({{unit}})", - "desc": "Specifică o viteză minimă pe care trebuie să o aibă obiectele pentru a fi considerate în această zonă." + "title": "Prag viteză ({{unit}})", + "desc": "Specifică viteza minimă pentru ca obiectele să fie luate în considerare în această zonă." }, - "documentTitle": "Editează zone - Frigate", - "clickDrawPolygon": "Apasă pentru a desena un poligon pe imagine.", + "documentTitle": "Editare Zonă - Frigate", + "clickDrawPolygon": "Click pentru a desena un poligon pe imagine.", "toast": { "success": "Zona ({{zoneName}}) a fost salvată." }, @@ -284,62 +342,77 @@ "title": "Obiecte", "desc": "Lista de obiecte care se aplică acestei zone." }, - "allObjects": "Toate obiectele" + "allObjects": "Toate obiectele", + "enabled": { + "title": "Activată", + "description": "Specifică dacă această zonă este activă și activată în fișierul de configurare. Dacă este dezactivată, nu poate fi activată prin MQTT. Zonele dezactivate sunt ignorate la rulare." + } }, "motionMasks": { "point_one": "{{count}} punct", "point_few": "{{count}} puncte", "point_other": "{{count}} de puncte", - "clickDrawPolygon": "Fă clic pentru a desena un poligon pe imagine.", - "label": "Măști de mișcare", - "documentTitle": "Editează masca de mișcare - Frigate", + "clickDrawPolygon": "Click pentru a desena un poligon pe imagine.", + "label": "Mască de mișcare", + "documentTitle": "Editare mască de mișcare - Frigate", "desc": { "documentation": "Documentație", - "title": "Măștile de mișcare sunt folosite pentru a preveni ca anumite tipuri de mișcare nedorită să declanșeze detecția. Mascare excesivă va îngreuna urmărirea obiectelor." + "title": "Măștile de mișcare sunt folosite pentru a preveni declanșarea detecției de către tipuri de mișcare nedorite. Mascarea excesivă va îngreuna urmărirea obiectelor." }, - "add": "Adaugă mască de mișcare", + "add": "Mască de mișcare nouă", "edit": "Editează masca de mișcare", "context": { "documentation": "Citește documentația", - "title": "Măștile de mișcare sunt folosite pentru a preveni declanșarea detecțiilor din cauza tipurilor nedorite de mișcare (de exemplu: ramuri de copaci, timestamp-uri ale camerei). Măștile de mișcare ar trebui folosite cu mare prudență, deoarece supramascarea va îngreuna urmărirea obiectelor." + "title": "Măștile de mișcare sunt folosite pentru a preveni declanșarea detecției de către mișcări nedorite (exemplu: ramuri de copaci, marcaje de timp ale camerei). Măștile de mișcare ar trebui folosite cu moderație; mascarea excesivă va îngreuna urmărirea obiectelor." }, "toast": { "success": { - "title": "{{polygonName}} a fost salvat.", + "title": "{{polygonName}} a fost salvată.", "noName": "Masca de mișcare a fost salvată." } }, "polygonAreaTooLarge": { - "tips": "Măștile de mișcare nu împiedică detectarea obiectelor. Ele doar previn ca mișcarea nedorită să declanșeze o detecție.", - "title": "Masca de mișcare acoperă {{polygonArea}}% din cadrul camerei. Măștile mari de mișcare nu sunt recomandate.", + "tips": "Măștile de mișcare nu previn detectarea obiectelor. Ar trebui să folosești o zonă obligatorie în schimb.", + "title": "Masca de mișcare acoperă {{polygonArea}}% din cadrul camerei. Măștile de mișcare mari nu sunt recomandate.", "documentation": "Citește documentația" + }, + "defaultName": "Mască de mișcare {{number}}", + "name": { + "title": "Nume", + "description": "Un nume opțional pentru această mască de mișcare.", + "placeholder": "Introdu un nume..." } }, "objectMasks": { "point_one": "{{count}} punct", "point_few": "{{count}} puncte", "point_other": "{{count}} de puncte", - "documentTitle": "Editează masca de obiecte - Frigate", - "add": "Adaugă mască de obiecte", - "edit": "Editează masca de obiecte", + "documentTitle": "Editare mască de obiect - Frigate", + "add": "Adaugă mască de obiect", + "edit": "Editează masca de obiect", "desc": { "documentation": "Documentație", - "title": "Măștile de filtrare a obiectelor sunt folosite pentru a filtra falsele pozitive pentru un anumit tip de obiect, în funcție de locație." + "title": "Măștile de filtrare a obiectelor sunt folosite pentru a elimina alertele false pentru un anumit tip de obiect, în funcție de locație." }, - "label": "Măști obiecte", + "label": "Măști de obiecte", "objects": { - "desc": "Tipul de obiect căruia i se aplică această mască de obiecte.", + "desc": "Tipul de obiect care se aplică acestei măști de obiect.", "allObjectTypes": "Toate tipurile de obiecte", "title": "Obiecte" }, "toast": { "success": { - "noName": "Masca de obiecte a fost salvată.", - "title": "{{polygonName}} a fost salvat." + "noName": "Masca de obiect a fost salvată.", + "title": "{{polygonName}} a fost salvată." } }, - "clickDrawPolygon": "Fă clic pentru a desena un poligon pe imagine.", - "context": "Măștile de filtrare a obiectelor sunt folosite pentru a elimina falsele pozitive pentru un anumit tip de obiect, în funcție de locația acestuia." + "clickDrawPolygon": "Click pentru a desena un poligon pe imagine.", + "context": "Măștile de filtrare a obiectelor sunt folosite pentru a elimina alertele false pentru un anumit tip de obiect, în funcție de locație.", + "name": { + "title": "Nume", + "description": "Un nume opțional pentru această mască de obiect.", + "placeholder": "Introdu un nume..." + } }, "restart_required": "Repornire necesară (măști/zone modificate)", "toast": { @@ -347,51 +420,51 @@ "copyCoordinates": "Coordonatele pentru {{polyName}} au fost copiate." }, "error": { - "copyCoordinatesFailed": "Nu s-au putut copia coordonatele." + "copyCoordinatesFailed": "Nu am putut copia coordonatele." } }, "filter": { - "all": "Toate măștile și zonele" + "all": "Toate Măștile și Zonele" }, - "motionMaskLabel": "Masca de mișcare {{number}}", - "objectMaskLabel": "Mască obiect {{number}} ({{label}})", + "motionMaskLabel": "Mască Mișcare {{number}}", + "objectMaskLabel": "Mască Obiect {{number}}", "form": { "zoneName": { "error": { "mustBeAtLeastTwoCharacters": "Numele zonei trebuie să aibă cel puțin 2 caractere.", "mustNotContainPeriod": "Numele zonei nu trebuie să conțină puncte.", "hasIllegalCharacter": "Numele zonei conține caractere nepermise.", - "mustNotBeSameWithCamera": "Numele zonei nu trebuie să fie identic cu numele camerei.", + "mustNotBeSameWithCamera": "Numele zonei nu poate fi același cu numele camerei.", "alreadyExists": "O zonă cu acest nume există deja pentru această cameră.", - "mustHaveAtLeastOneLetter": "Numele zonei trebuie să aibă cel puțin o literă." + "mustHaveAtLeastOneLetter": "Numele zonei trebuie să conțină cel puțin o literă." } }, "polygonDrawing": { "delete": { - "desc": "Ești sigur că vrei să ștergi {{type}} {{name}}?", + "desc": "Sigur vrei să ștergi {{type}} {{name}}?", "success": "{{name}} a fost șters.", - "title": "Confirmă ștergerea" + "title": "Confirmă Ștergerea" }, "removeLastPoint": "Elimină ultimul punct", "reset": { "label": "Șterge toate punctele" }, "snapPoints": { - "false": "Nu fixa punctele", - "true": "Fixează punctele" + "false": "Atragere puncte inactivă", + "true": "Atragere puncte activă" }, "error": { "mustBeFinished": "Desenul poligonului trebuie finalizat înainte de salvare." }, "type": { "zone": "zonă", - "motion_mask": "mască de mișcare", - "object_mask": "mască de obiect" + "motion_mask": "mască mișcare", + "object_mask": "mască obiect" } }, "distance": { "error": { - "mustBeFilled": "Toate câmpurile de distanță trebuie completate pentru a putea folosi estimarea vitezei.", + "mustBeFilled": "Toate câmpurile de distanță trebuie completate pentru estimarea vitezei.", "text": "Distanța trebuie să fie mai mare sau egală cu 0.1." } }, @@ -410,36 +483,43 @@ "mustBeGreaterOrEqualTo": "Pragul de viteză trebuie să fie mai mare sau egal cu 0.1." } } + }, + "disabledInConfig": "Elementul este dezactivat în fișierul de configurare", + "masks": { + "enabled": { + "title": "Activată", + "description": "Specifică dacă această mască este activată în fișierul de configurare. Dacă este dezactivată, nu poate fi activată prin MQTT. Măștile dezactivate sunt ignorate la rulare." + } } }, "debug": { "motion": { - "tips": "

    Casete de mișcare


    Casetele roșii vor fi suprapuse pe zonele din cadru unde este detectată în prezent mișcare

    ", - "title": "Casete de mișcare", - "desc": "Arată chenarele în jurul zonelor unde este detectată mișcare" + "tips": "

    Chenare de mișcare


    Chenare roșii vor fi suprapuse pe zonele din cadru unde este detectată mișcare în prezent

    ", + "title": "Chenare de mișcare", + "desc": "Afișează chenare în zonele unde este detectată mișcare" }, "regions": { - "tips": "

    Casete de regiune


    Casetele verde deschis vor fi suprapuse pe zonele de interes din cadru care sunt trimise către detectorul de obiecte.

    ", + "tips": "

    Chenare de regiune


    Chenare verzi aprinse vor fi suprapuse pe zonele de interes din cadru care sunt trimise către detectorul de obiecte.

    ", "title": "Regiuni", - "desc": "Arată o casetă a regiunii de interes trimise detectorului de obiecte" + "desc": "Afișează regiunea de interes trimisă către detectorul de obiecte" }, - "desc": "Vizualizarea de depanare îți arată o vizualizare în timp real a obiectelor urmărite și a statisticilor acestora. Lista de obiecte afișează un rezumat întârziat al obiectelor detectate.", + "desc": "Vizualizarea de depanare arată în timp real obiectele urmărite și statisticile lor. Lista de obiecte arată un rezumat al obiectelor detectate.", "objectShapeFilterDrawing": { "document": "Citește documentația ", - "area": "Suprafață", + "area": "Arie", "title": "Desenare filtru formă obiect", - "desc": "Desenează un dreptunghi pe imagine pentru a vizualiza detaliile zonei și ale raportului", - "tips": "Activează această opțiune pentru a desena un dreptunghi pe imaginea camerei, pentru a-i arăta zona și raportul. Aceste valori pot fi apoi utilizate pentru a seta parametrii de filtrare a formei obiectelor în configurația ta.", + "desc": "Desenază un dreptunghi pe imagine pentru a vedea detaliile despre arie și raport", + "tips": "Activează această opțiune pentru a desena un dreptunghi pe imaginea camerei și a vedea aria și raportul acestuia. Aceste valori pot fi folosite ulterior pentru a seta parametrii filtrului de formă în configurație.", "score": "Scor", "ratio": "Raport" }, - "noObjects": "Nici un obiect", + "noObjects": "Niciun obiect", "boundingBoxes": { - "title": "Casete de delimitare", - "desc": "Afișează casete de delimitare în jurul obiectelor urmărite", + "title": "Chenare de încadrare", + "desc": "Afișează chenarele de încadrare în jurul obiectelor urmărite", "colors": { - "label": "Culori pentru casetele de delimitare ale obiectelor", - "info": "
  • La pornire, fiecărei etichete de obiect i se vor atribui culori diferite
  • O linie subțire albastru închis indică faptul că obiectul nu este detectat în acest moment
  • O linie subțire gri indică faptul că obiectul este detectat ca fiind staționar
  • O linie groasă indică faptul că obiectul este subiectul urmării automate (când este activată)
  • " + "label": "Culori chenare obiecte", + "info": "
  • La pornire, culori diferite vor fi atribuite fiecărei etichete de obiect
  • O linie subțire albastru închis indică faptul că obiectul nu este detectat în acest moment
  • O linie subțire gri indică faptul că obiectul este detectat ca fiind staționar
  • O linie groasă indică faptul că obiectul este subiectul urmăririi automate (când este activată)
  • " } }, "title": "Depanare", @@ -449,45 +529,45 @@ "desc": "Afișează poligoanele măștilor de mișcare", "title": "Măști de mișcare" }, - "detectorDesc": "Frigate folosește detectorii ({{detectors}}) pentru a detecta obiecte în stream-ul video al camerei tale.", + "detectorDesc": "Frigate folosește detectoarele tale ({{detectors}}) pentru a detecta obiecte în stream-ul video al camerei.", "timestamp": { "title": "Marcaj temporal", "desc": "Suprapune un marcaj temporal pe imagine" }, "zones": { "title": "Zone", - "desc": "Afișează conturul oricăror zone definite" + "desc": "Afișează conturul oricărei zone definite" }, "paths": { - "title": "Căi", + "title": "Trasee", "desc": "Afișează punctele semnificative ale traseului obiectului urmărit", - "tips": "

    Căi


    Liniile și cercurile vor indica punctele semnificative prin care obiectul urmărit s-a deplasat pe parcursul ciclului său de viață.

    " + "tips": "

    Trasee


    Liniile și cercurile vor indica punctele semnificative prin care obiectul urmărit a trecut în timpul existenței sale.

    " }, "audio": { "title": "Audio", "noAudioDetections": "Nicio detecție audio", "score": "scor", - "currentRMS": "RMS curent", - "currentdbFS": "dbFS curent" + "currentRMS": "RMS actual", + "currentdbFS": "dbFS actual" }, - "openCameraWebUI": "Deschide interfața web pentru {{camera}}" + "openCameraWebUI": "Deschide interfața web a camerei {{camera}}" }, "users": { "dialog": { "deleteUser": { - "warn": "Ești sigur că vrei să ștergi utilizatorul {{username}}?", - "title": "Șterge utilizatorul", - "desc": "Această acțiune nu poate fi anulată. Aceasta va șterge definitiv contul de utilizator și va elimina toate datele asociate." + "warn": "Sigur vrei să ștergi utilizatorul {{username}}?", + "title": "Șterge utilizator", + "desc": "Această acțiune nu poate fi anulată. Contul va fi șters definitiv împreună cu toate datele asociate." }, "changeRole": { "desc": "Actualizează permisiunile pentru {{username}}", "roleInfo": { - "intro": "Selectează rolul potrivit pentru acest utilizator:", + "intro": "Selectează rolul corespunzător pentru acest utilizator:", "admin": "Administrator", "adminDesc": "Acces complet la toate funcțiile.", "viewer": "Vizualizator", - "viewerDesc": "Limitat doar la tablourile de bord Live, Revizuire, Explorare și Exporturi.", - "customDesc": "Rol personalizat cu acces specific la cameră." + "viewerDesc": "Limitat la tablouri de bord Live, Recenzii, Explorare și Exporturi.", + "customDesc": "Rol personalizat cu acces la camere specifice." }, "select": "Selectează un rol", "title": "Schimbă rolul utilizatorului" @@ -496,7 +576,7 @@ "password": { "strength": { "weak": "Slabă", - "title": "Putere parolă: ", + "title": "Complexitate parolă: ", "veryStrong": "Foarte puternică", "medium": "Medie", "strong": "Puternică" @@ -509,7 +589,7 @@ "title": "Parolă", "match": "Parolele se potrivesc", "notMatch": "Parolele nu se potrivesc", - "show": "Afișează parola", + "show": "Arată parola", "hide": "Ascunde parola", "requirements": { "title": "Cerințe parolă:", @@ -519,48 +599,48 @@ "special": "Cel puțin un caracter special (!@#$%^&*(),.?\":{}|<>)" } }, - "passwordIsRequired": "Este nevoie de parolă", + "passwordIsRequired": "Parola este obligatorie", "user": { - "placeholder": "Introdu nume utilizator", + "placeholder": "Introdu numele de utilizator", "title": "Nume utilizator", - "desc": "Sunt permise doar litere, cifre, puncte și subliniere." + "desc": "Sunt permise doar litere, cifre, puncte și sublinieri." }, "newPassword": { "title": "Parolă nouă", - "placeholder": "Introdu parola nouă", + "placeholder": "Introdu noua parolă", "confirm": { - "placeholder": "Re-introdu parola nouă" + "placeholder": "Introdu din nou noua parolă" } }, - "usernameIsRequired": "Este nevoie de numele de utilizator", + "usernameIsRequired": "Numele de utilizator este obligatoriu", "currentPassword": { - "title": "Parola curentă", - "placeholder": "Introduceți parola curentă" + "title": "Parola actuală", + "placeholder": "Introdu parola actuală" } }, "createUser": { - "confirmPassword": "Te rog să confirmi parola", - "title": "Crează un utilizator nou", - "desc": "Adaugă un cont de utilizator nou și specifică un rol pentru accesul la anumite zone ale interfeței Frigate.", - "usernameOnlyInclude": "Numele de utilizator poate conține doar litere, cifre, . sau _" + "confirmPassword": "Te rugăm să confirmi parola", + "title": "Creează utilizator nou", + "desc": "Adaugă un cont nou și specifică un rol pentru accesul în interfața Frigate.", + "usernameOnlyInclude": "Numele de utilizator poate conține doar litere, cifre, puncte (.) sau sublinieri (_)" }, "passwordSetting": { "cannotBeEmpty": "Parola nu poate fi goală", "doNotMatch": "Parolele nu se potrivesc", "updatePassword": "Actualizează parola pentru {{username}}", - "setPassword": "Schimbă parola", + "setPassword": "Setează parola", "desc": "Creează o parolă puternică pentru a securiza acest cont.", - "currentPasswordRequired": "Parola curentă este obligatorie", - "incorrectCurrentPassword": "Parola curentă incorectă", - "passwordVerificationFailed": "Nu s-a putut verifica parola", - "multiDeviceWarning": "Orice alte dispozitive pe care ești autentificat vor trebui să se autentifice din nou în termen de {{refresh_time}}.", - "multiDeviceAdmin": "De asemenea, poți forța toți utilizatorii să se reautentifice imediat prin rotirea secretului tău JWT." + "currentPasswordRequired": "Parola actuală este obligatorie", + "incorrectCurrentPassword": "Parola actuală este incorectă", + "passwordVerificationFailed": "Verificarea parolei a eșuat", + "multiDeviceWarning": "Orice alt dispozitiv pe care ești autentificat va necesita reautentificarea în {{refresh_time}}.", + "multiDeviceAdmin": "Poți de asemenea să forțezi toți utilizatorii să se reautentifice imediat prin rotirea secretului JWT." } }, "addUser": "Adaugă utilizator", "management": { "desc": "Gestionează conturile de utilizator ale acestei instanțe Frigate.", - "title": "Gestionare utilizatori" + "title": "Administrare utilizatori" }, "toast": { "success": { @@ -570,10 +650,10 @@ "deleteUser": "Utilizatorul {{user}} a fost șters cu succes" }, "error": { - "setPasswordFailed": "Salvarea parolei a eșuat: {{errorMessage}}", - "createUserFailed": "Crearea utilizatorului a eșuat: {{errorMessage}}", - "roleUpdateFailed": "Actualizarea rolului a eșuat: {{errorMessage}}", - "deleteUserFailed": "Ștergerea utilizatorului a eșuat: {{errorMessage}}" + "setPasswordFailed": "Eroare la salvarea parolei: {{errorMessage}}", + "createUserFailed": "Eroare la crearea utilizatorului: {{errorMessage}}", + "roleUpdateFailed": "Eroare la actualizarea rolului: {{errorMessage}}", + "deleteUserFailed": "Eroare la ștergerea utilizatorului: {{errorMessage}}" } }, "updatePassword": "Resetează parola", @@ -582,7 +662,7 @@ "username": "Nume utilizator", "actions": "Acțiuni", "role": "Rol", - "noUsers": "Nu a fost găsit niciun utilizator.", + "noUsers": "Niciun utilizator găsit.", "changeRole": "Schimbă rolul utilizatorului", "deleteUser": "Șterge utilizatorul", "password": "Resetează parola" @@ -590,120 +670,127 @@ }, "notification": { "notificationSettings": { - "title": "Setări pentru notificări", - "desc": "Frigate poate trimite nativ notificări push către dispozitivul tău atunci când rulează în browser sau este instalat ca PWA.", + "title": "Setări Notificări", + "desc": "Frigate poate trimite notificări push direct pe dispozitivul tău când rulează în browser sau este instalat ca PWA.", "documentation": "Citește documentația" }, "globalSettings": { - "desc": "Suspendă temporar notificările pentru camerele specifice pe toate dispozitivele înregistrate.", - "title": "Setări globale" + "desc": "Suspendă temporar notificările pentru anumite camere pe toate dispozitivele înregistrate.", + "title": "Setări Globale" }, "email": { - "placeholder": "ex. exemplu@email.com", - "desc": "Este necesar un email valid, care va fi folosit pentru a te notifica în cazul în care apar probleme cu serviciul de push.", + "placeholder": "ex: exemplu@email.com", + "desc": "E necesară o adresă de email validă pentru a te anunța dacă apar probleme cu serviciul de push.", "title": "Email" }, "notificationUnavailable": { "documentation": "Citește documentația", - "desc": "Notificările push web necesită un context securizat (https://…). Aceasta este o limitare a browserului. Accesează Frigate în mod securizat pentru a putea folosi notificările.", - "title": "Notificările nu sunt disponibile" + "desc": "Notificările push web necesită un context securizat (https://…). Aceasta este o limitare a browserului. Accesează Frigate în mod securizat pentru a utiliza notificările.", + "title": "Notificări Indisponibile" }, "cameras": { "title": "Camere", - "desc": "Selectează camerele pentru care dorești să activezi notificările.", - "noCameras": "Nu există camere disponibile" + "desc": "Alege camerele pentru care vrei să activezi notificările.", + "noCameras": "Nicio cameră disponibilă" }, - "deviceSpecific": "Setări specifice dispozitivului", - "registerDevice": "Înregistrează acest dispozitiv", - "unregisterDevice": "Deregistrează acest dispozitiv", + "deviceSpecific": "Setări Specifice Dispozitivului", + "registerDevice": "Înregistrează acest Dispozitiv", + "unregisterDevice": "Anulează Înregistrarea Dispozitivului", "sendTestNotification": "Trimite o notificare de test", "suspendTime": { "12hours": "Suspendă pentru 12 ore", "suspend": "Suspendă", "5minutes": "Suspendă pentru 5 minute", "10minutes": "Suspendă pentru 10 minute", - "24hours": "Suspendă pentru 24 de ore", - "untilRestart": "Suspendă până la restart", - "1hour": "Suspendă pentru 1 oră", + "24hours": "Suspendă pentru 24 ore", + "untilRestart": "Suspendă până la repornire", + "1hour": "Suspendă pentru o oră", "30minutes": "Suspendă pentru 30 minute" }, "toast": { "success": { - "registered": "Înregistrarea pentru notificări a fost realizată cu succes. Este necesară repornirea Frigate înainte ca orice notificare (inclusiv o notificare de test) să poată fi trimisă.", - "settingSaved": "Setările notificărilor au fost salvate." + "registered": "Înregistrarea pentru notificări a reușit. Este necesară repornirea Frigate înainte de a putea trimite orice notificare (inclusiv cea de test).", + "settingSaved": "Setările pentru notificări au fost salvate." }, "error": { - "registerFailed": "Eroare la salvarea înregistrării notificării." + "registerFailed": "Eroare la salvarea înregistrării notificărilor." } }, "suspended": "Notificări suspendate {{time}}", - "active": "Notificări active", - "unsavedRegistrations": "Înregistrări notificări nesalvate", - "unsavedChanges": "Modificări ale notificărilor nesalvate", + "active": "Notificări Active", + "unsavedRegistrations": "Înregistrări de notificări nesalvate", + "unsavedChanges": "Modificări de notificări nesalvate", "title": "Notificări", - "cancelSuspension": "Anulează suspendarea" + "cancelSuspension": "Anulează Suspendarea" }, "frigatePlus": { "apiKey": { - "plusLink": "Citește mai mult despre Frigate+", + "plusLink": "Citește mai multe despre Frigate+", "desc": "Cheia API Frigate+ permite integrarea cu serviciul Frigate+.", - "validated": "Frigate+ API key a fost detectată și validată", - "title": "Frigate+ API Key", - "notValidated": "Frigate+ API key nu a fost detectată sau nu a fost validată" + "validated": "Cheia API Frigate+ a fost detectată și validată", + "title": "Cheie API Frigate+", + "notValidated": "Cheia API Frigate+ nu este detectată sau validată" }, "snapshotConfig": { - "title": "Configurație snapshot-uri", + "title": "Configurare snapshot-uri", "table": { "snapshots": "Snapshot-uri", "cleanCopySnapshots": "Snapshot-uri clean_copy", "camera": "Cameră" }, "documentation": "Citește documentația", - "cleanCopyWarning": "Unele camere au snapshot-uri activate, dar copia curată (clean_copy) este dezactivată. Trebuie să activați clean_copy în configurația instantaneelor pentru a putea trimite imagini de la aceste camere către Frigate+.", - "desc": "Trimiterea către Frigate+ necesită ca atât snapshot-urile, cât și snapshot-urile clean_copy să fie activate în configurația ta." + "cleanCopyWarning": "Unele camere au snapshot-uri activate, dar au copia curată dezactivată. Trebuie să activezi clean_copy în configurația snapshot-urilor pentru a putea trimite imagini de la aceste camere către Frigate+.", + "desc": "Trimiterea către Frigate+ necesită ca ambele opțiuni, snapshot-uri și clean_copy, să fie activate în configurație." }, "modelInfo": { - "title": "Informații model", - "supportedDetectors": "Detectoare suportate", + "title": "Informații Model", + "supportedDetectors": "Detectoare Suportate", "plusModelType": { - "baseModel": "Model de bază", - "userModel": "Reglat-fin" + "baseModel": "Model de Bază", + "userModel": "Reglat fin" }, "loadingAvailableModels": "Se încarcă modelele disponibile…", - "modelSelect": "Modelele disponibile pe Frigate+ pot fi selectate aici. Rețineți că pot fi selectate doar modelele compatibile cu configurația actuală a detectorului dumneavoastră.", - "baseModel": "Model de bază", - "loading": "Se încarcă informațiile modelului…", - "error": "Încărcarea informațiilor modelului a eșuat", - "availableModels": "Modele disponibile", - "modelType": "Tip model", - "trainDate": "Dată antrenare", + "modelSelect": "Poți selecta modelele tale disponibile pe Frigate+ aici. Reține că pot fi selectate doar modelele compatibile cu configurația actuală a detectorului.", + "baseModel": "Model de Bază", + "loading": "Se încarcă informațiile despre model…", + "error": "Eroare la încărcarea informațiilor despre model", + "availableModels": "Modele Disponibile", + "modelType": "Tip Model", + "trainDate": "Data Antrenării", "cameras": "Camere" }, "toast": { - "error": "Nu s-au putut salva modificările configurației: {{errorMessage}}", - "success": "Setările Frigate+ au fost salvate. Reporniti Frigate pentru a aplica modificările." + "error": "Eroare la salvarea modificărilor de config: {{errorMessage}}", + "success": "Setările Frigate+ au fost salvate. Repornește Frigate pentru a aplica modificările." }, - "restart_required": "Repornire necesară (model Frigate+ schimbat)", - "unsavedChanges": "Modificări nesalvate ale setărilor Frigate+", - "title": "Setări Frigate+" + "restart_required": "Repornire necesară (modelul Frigate+ a fost schimbat)", + "unsavedChanges": "Modificări Frigate+ nesalvate", + "title": "Setări Frigate+", + "description": "Frigate+ este un serviciu pe bază de abonament care oferă funcții suplimentare, inclusiv posibilitatea de a folosi modele personalizate de detecție obiecte, antrenate pe propriile date. Poți gestiona setările modelului Frigate+ aici.", + "cardTitles": { + "api": "API", + "currentModel": "Model Actual", + "otherModels": "Alte Modele", + "configuration": "Configurație" + } }, "motionDetectionTuner": { - "unsavedChanges": "Modificări nesalvate la reglajul de mișcare pentru {{camera}}", + "unsavedChanges": "Modificări nesalvate la reglajul de mișcare ({{camera}})", "Threshold": { "title": "Prag", - "desc": "Valoarea pragului determină cât de mare trebuie să fie schimbarea luminozității unui pixel pentru a fi considerată mișcare. Implicit: 30" + "desc": "Valoarea pragului dictează cât de mult trebuie să se schimbe luminanța unui pixel pentru a fi considerat mișcare. Implicit: 30" }, "contourArea": { - "desc": "Valoarea suprafeței conturului este folosită pentru a decide care grupuri de pixeli modificați se califică ca mișcare. Implicit: 10", - "title": "Suprafața conturului" + "desc": "Valoarea ariei conturului este folosită pentru a decide care grupuri de pixeli modificați se califică drept mișcare. Implicit: 10", + "title": "Aria conturului" }, "improveContrast": { "title": "Îmbunătățire contrast", - "desc": "Îmbunătățește contrastul pentru scene întunecate. Implicit: ACTIVAT" + "desc": "Îmbunătățește contrastul pentru scenele întunecate. Implicit: ACTIVAT" }, "desc": { - "title": "Frigate utilizează detecția mișcării ca o primă verificare, pentru a vedea dacă există ceva semnificativ în cadru care merită verificat cu detecția de obiecte.", - "documentation": "Citește ghidul pentru reglajul mișcării" + "title": "Frigate folosește detecția de mișcare ca prim pas pentru a verifica dacă se întâmplă ceva în cadru ce merită verificat cu detecția de obiecte.", + "documentation": "Citește Ghidul de reglare a mișcării" }, "toast": { "success": "Setările de mișcare au fost salvate." @@ -711,21 +798,21 @@ "title": "Reglaj detecție mișcare" }, "triggers": { - "documentTitle": "Declanșatoare", + "documentTitle": "Triggere", "management": { - "title": "Declanșatoare", - "desc": "Gestionează declanșatoarele pentru {{camera}}. Folosește tipul miniatură pentru a declanșa pe miniaturi similare cu obiectul urmărit selectat și tipul descriere pentru a declanșa pe descrieri similare textului pe care îl specifici." + "title": "Triggere", + "desc": "Gestionează triggerele pentru {{camera}}. Folosește tipul „thumbnail” pentru a declanșa la miniaturi similare cu obiectul urmărit, și tipul „descriere” pentru a declanșa la descrieri similare cu textul specificat." }, - "addTrigger": "Adaugă declanșator", + "addTrigger": "Adaugă Trigger", "table": { "name": "Nume", "type": "Tip", "content": "Conținut", "threshold": "Prag", "actions": "Acțiuni", - "noTriggers": "Nu sunt configurate declanșatoare pentru această cameră.", + "noTriggers": "Nu există triggere configurate pentru această cameră.", "edit": "Editează", - "deleteTrigger": "Elimină declanșatorul", + "deleteTrigger": "Șterge Trigger", "lastTriggered": "Ultima declanșare" }, "type": { @@ -734,64 +821,64 @@ }, "actions": { "alert": "Marchează ca alertă", - "notification": "Trimite notificare", - "sub_label": "Adaugă subeticheta", - "attribute": "Adaugă atribut" + "notification": "Trimite Notificare", + "sub_label": "Adaugă Sub-etichetă", + "attribute": "Adaugă Atribut" }, "dialog": { "createTrigger": { - "title": "Crează declanșator", - "desc": "Creează un declanșator pentru camera {{camera}}" + "title": "Creează Trigger", + "desc": "Creează un trigger pentru camera {{camera}}" }, "editTrigger": { - "title": "Editează declanșatorul", - "desc": "Editează setările pentru declanșatorul de pe camera {{camera}}" + "title": "Editează Trigger", + "desc": "Editează setările pentru triggerul de pe camera {{camera}}" }, "deleteTrigger": { - "title": "Elimină declanșatorul", - "desc": "Ești sigur că vrei să ștergi declanșatorul {{triggerName}}? Această acțiune nu poate fi anulată." + "title": "Șterge Trigger", + "desc": "Sigur vrei să ștergi triggerul {{triggerName}}? Această acțiune nu poate fi anulată." }, "form": { "name": { "title": "Nume", - "placeholder": "Denumește acest declanșator", + "placeholder": "Pune un nume acestui trigger", "error": { "minLength": "Câmpul trebuie să aibă cel puțin 2 caractere.", - "invalidCharacters": "Câmpul poate conține doar litere, cifre, underscore-uri și cratime.", - "alreadyExists": "Un declanșator cu acest nume există deja pentru această cameră." + "invalidCharacters": "Câmpul poate conține doar litere, cifre, underscore (_) și cratime (-).", + "alreadyExists": "Un trigger cu acest nume există deja pentru această cameră." }, - "description": "Introduceți un nume sau o descriere unică pentru a identifica acest declanșator" + "description": "Introdu un nume unic sau o descriere pentru a identifica acest trigger" }, "enabled": { - "description": "Activează sau dezactivează acest declanșator" + "description": "Activează sau dezactivează acest trigger" }, "type": { "title": "Tip", - "placeholder": "Selectează tipul de declanșator", - "description": "Declanșează atunci când este detectată o descriere de obiect urmărit similară", - "thumbnail": "Declanșează atunci când este detectată o miniatură de obiect urmărit similară" + "placeholder": "Selectează tipul triggerului", + "description": "Declanșează când este detectată o descriere similară a obiectului urmărit", + "thumbnail": "Declanșează când este detectată o miniatură similară a obiectului urmărit" }, "content": { "title": "Conținut", "imagePlaceholder": "Selectează o miniatură", - "textPlaceholder": "Introdu conținutul textului", - "imageDesc": "Sunt afișate doar ultimele 100 de miniaturi. Dacă nu găsiți miniatura dorită, vă rugăm să verificați obiectele anterioare în Explorator și să configurați un declanșator din meniul de acolo.", - "textDesc": "Introduceți textul pentru a declanșa această acțiune atunci când este detectată o descriere de obiect urmărit similară.", + "textPlaceholder": "Introdu textul", + "imageDesc": "Sunt afișate doar cele mai recente 100 de miniaturi. Dacă nu găsești miniatura dorită, verifică obiectele anterioare în secțiunea Explore și configurează un trigger de acolo.", + "textDesc": "Introdu textul pentru a declanșa acțiunea atunci când este detectată o descriere similară a obiectului urmărit.", "error": { "required": "Conținutul este obligatoriu." } }, "threshold": { - "title": "Prag", + "title": "Prag (Threshold)", "error": { "min": "Pragul trebuie să fie cel puțin 0", - "max": "Pragul trebuie să fie cel mult 1" + "max": "Pragul trebuie să fie maxim 1" }, - "desc": "Setați pragul de similitudine pentru acest declanșator. Un prag mai mare înseamnă că este necesară o potrivire mai apropiată pentru declanșarea acestuia." + "desc": "Setează pragul de similitudine. Un prag mai mare înseamnă că este necesară o potrivire mai exactă pentru a declanșa." }, "actions": { "title": "Acțiuni", - "desc": "În mod implicit, Frigate trimite un mesaj MQTT pentru toate declanșatoarele. Subetichetele adaugă numele declanșatorului la eticheta obiectului. Atributele sunt metadate căutabile, stocate separat în metadatele obiectului urmărit.", + "desc": "În mod implicit, Frigate trimite un mesaj MQTT pentru toate triggerele. Sub-etichetele adaugă numele triggerului la eticheta obiectului. Atributele sunt metadate căutabile stocate separat.", "error": { "min": "Trebuie selectată cel puțin o acțiune." } @@ -805,66 +892,66 @@ }, "toast": { "success": { - "createTrigger": "Declanșatorul {{name}} a fost creat cu succes.", - "updateTrigger": "Declanșatorul {{name}} a fost actualizat cu succes.", - "deleteTrigger": "Declanșatorul {{name}} a fost eliminat cu succes." + "createTrigger": "Triggerul {{name}} a fost creat cu succes.", + "updateTrigger": "Triggerul {{name}} a fost actualizat cu succes.", + "deleteTrigger": "Triggerul {{name}} a fost șters." }, "error": { - "createTriggerFailed": "Crearea declanșatorului a eșuat: {{errorMessage}}", - "updateTriggerFailed": "Actualizarea declanșatorului a eșuat: {{errorMessage}}", - "deleteTriggerFailed": "Eliminarea declanșatorului a eșuat: {{errorMessage}}" + "createTriggerFailed": "Eroare la crearea triggerului: {{errorMessage}}", + "updateTriggerFailed": "Eroare la actualizarea triggerului: {{errorMessage}}", + "deleteTriggerFailed": "Eroare la ștergerea triggerului: {{errorMessage}}" } }, "semanticSearch": { - "title": "Căutarea semantică este dezactivată", - "desc": "Căutarea semantică trebuie să fie activată pentru a utiliza declanșatoarele." + "title": "Căutarea Semantică este dezactivată", + "desc": "Căutarea Semantică trebuie să fie activată pentru a folosi Triggere." }, "wizard": { - "title": "Creează declanșator", + "title": "Creează Trigger", "step1": { - "description": "Configurează setările de bază pentru declanșatorul tău." + "description": "Configurează setările de bază pentru trigger." }, "step2": { - "description": "Configurează conținutul care va declanșa această acțiune." + "description": "Setează conținutul care va declanșa această acțiune." }, "step3": { - "description": "Configurează pragul și acțiunile pentru acest declanșator." + "description": "Configurează pragul și acțiunile pentru acest trigger." }, "steps": { "nameAndType": "Nume și Tip", - "configureData": "Configurează datele", + "configureData": "Configurare Date", "thresholdAndActions": "Prag și Acțiuni" } } }, "roles": { "management": { - "title": "Gestionare rol vizualizator", - "desc": "Gestionează rolurile personalizate de vizualizator și permisiunile lor de acces la cameră pentru această instanță Frigate." + "title": "Administrare roluri vizualizator", + "desc": "Gestionează rolurile de vizualizator personalizate și permisiunile de acces la camere pentru această instanță Frigate." }, "addRole": "Adaugă rol", "table": { "role": "Rol", "cameras": "Camere", "actions": "Acțiuni", - "noRoles": "Nu au fost găsite roluri personalizate.", + "noRoles": "Nu s-au găsit roluri personalizate.", "editCameras": "Editează camerele", - "deleteRole": "Șterge rol" + "deleteRole": "Șterge rolul" }, "toast": { "success": { "createRole": "Rolul {{role}} a fost creat cu succes", "updateCameras": "Camerele au fost actualizate pentru rolul {{role}}", "deleteRole": "Rolul {{role}} a fost șters cu succes", - "userRolesUpdated_one": "{{count}} utilizator atribuit acestui rol a fost actualizat la „vizualizator”, care are acces la toate camerele.", - "userRolesUpdated_few": "{{count}} utilizatori atribuiți acestui rol au fost actualizați la „vizualizatori”, care are acces la toate camerele.", - "userRolesUpdated_other": "{{count}} de utilizatori atribuiți acestui rol au fost actualizați la „vizualizatori”, care are acces la toate camerele." + "userRolesUpdated_one": "{{count}} utilizator atribuit acestui rol a fost actualizat la 'vizualizator', care are acces la toate camerele.", + "userRolesUpdated_few": "{{count}} utilizatori atribuiți acestui rol au fost actualizați la 'vizualizator', care are acces la toate camerele.", + "userRolesUpdated_other": "{{count}} de utilizatori atribuiți acestui rol au fost actualizați la 'vizualizator', care are acces la toate camerele." }, "error": { - "createRoleFailed": "Crearea rolului a eșuat: {{errorMessage}}", - "updateCamerasFailed": "Actualizarea camerelor a eșuat: {{errorMessage}}", - "deleteRoleFailed": "Ștergerea rolului a eșuat: {{errorMessage}}", - "userUpdateFailed": "Actualizarea rolurilor utilizatorilor a eșuat: {{errorMessage}}" + "createRoleFailed": "Eroare la crearea rolului: {{errorMessage}}", + "updateCamerasFailed": "Eroare la actualizarea camerelor: {{errorMessage}}", + "deleteRoleFailed": "Eroare la ștergerea rolului: {{errorMessage}}", + "userUpdateFailed": "Eroare la actualizarea rolurilor utilizatorilor: {{errorMessage}}" } }, "dialog": { @@ -877,39 +964,39 @@ "desc": "Actualizează accesul la camere pentru rolul {{role}}." }, "deleteRole": { - "title": "Șterge rolul", - "desc": "Această acțiune nu poate fi anulată. Aceasta va șterge permanent rolul și va atribui orice utilizatori cu acest rol la rolul „vizualizator”, care va oferi acces vizualizator la toate camerele.", - "warn": "Ești sigur că vrei să ștergi {{role}}?", + "title": "Șterge Rolul", + "desc": "Această acțiune este ireversibilă. Rolul va fi șters definitiv, iar utilizatorii cu acest rol vor primi rolul de „viewer”, având acces de vizualizare la toate camerele.", + "warn": "Sigur vrei să ștergi {{role}}?", "deleting": "Se șterge..." }, "form": { "role": { - "title": "Nume rol", - "placeholder": "Introduceți numele rolului", - "desc": "Sunt permise doar litere, cifre, puncte și linii de subliniere.", + "title": "Nume Rol", + "placeholder": "Introdu numele rolului", + "desc": "Sunt permise doar litere, cifre, puncte și caractere de subliniere (_).", "roleIsRequired": "Numele rolului este obligatoriu", - "roleOnlyInclude": "Numele rolului poate include doar litere, cifre, . sau _", - "roleExists": "Un rol cu acest nume există deja." + "roleOnlyInclude": "Numele rolului poate conține doar litere, cifre, . sau _", + "roleExists": "Există deja un rol cu acest nume." }, "cameras": { "title": "Camere", - "desc": "Selectați camerele la care acest rol are acces. Este necesară cel puțin o cameră.", + "desc": "Selectează camerele la care are acces acest rol. Este necesară cel puțin o cameră.", "required": "Trebuie selectată cel puțin o cameră." } } } }, "cameraWizard": { - "title": "Adaugă cameră", - "description": "Urmează pașii de mai jos pentru a adăuga o cameră nouă la sistemul tău Frigate.", + "title": "Adaugă Cameră", + "description": "Urmează pașii de mai jos pentru a adăuga o cameră nouă în instalația Frigate.", "steps": { "nameAndConnection": "Nume și Conexiune", - "streamConfiguration": "Configurare streaming", + "streamConfiguration": "Configurare Stream", "validationAndTesting": "Validare și Testare", - "probeOrSnapshot": "Sondează sau fă snapshot" + "probeOrSnapshot": "Sondare sau snapshot" }, "save": { - "success": "Camera nouă {{cameraName}} a fost salvată cu succes.", + "success": "Camera {{cameraName}} a fost salvată cu succes.", "failure": "Eroare la salvarea {{cameraName}}." }, "testResultLabels": { @@ -919,26 +1006,26 @@ "fps": "FPS" }, "commonErrors": { - "noUrl": "Te rog să furnizezi un URL de streaming valid", - "testFailed": "Testul de streaming a eșuat: {{error}}" + "noUrl": "Te rog introdu un URL de stream valid", + "testFailed": "Testul stream-ului a eșuat: {{error}}" }, "step1": { - "description": "Introduceți detaliile camerei și alegeți să testați camera sau să selectați manual marca.", - "cameraName": "Nume cameră", - "cameraNamePlaceholder": "ex. usă_intrare sau Vedere Curte Spate", - "host": "Gazdă/Adresă IP", + "description": "Introdu detaliile camerei și alege să o scanezi automat sau să selectezi manual marca.", + "cameraName": "Nume Cameră", + "cameraNamePlaceholder": "ex: usa_intrare sau Curte Spate", + "host": "Host/Adresă IP", "port": "Port", - "username": "Nume de utilizator", + "username": "Utilizator", "usernamePlaceholder": "Opțional", "password": "Parolă", "passwordPlaceholder": "Opțional", "selectTransport": "Selectează protocolul de transport", - "cameraBrand": "Brand cameră", - "selectBrand": "Selectează marca camerei pentru șablonul de URL", - "customUrl": "URL Streaming Personalizat", - "brandInformation": "Informații despre brand", - "brandUrlFormat": "Pentru camere cu formatul URL RTSP ca: {{exampleUrl}}", - "customUrlPlaceholder": "rtsp://utilizator:parolă@gazdă:port/cale", + "cameraBrand": "Marca Camerei", + "selectBrand": "Alege marca pentru șablonul de URL", + "customUrl": "URL Stream Personalizat", + "brandInformation": "Informații marcă", + "brandUrlFormat": "Pentru camere cu formatul de URL RTSP: {{exampleUrl}}", + "customUrlPlaceholder": "rtsp://utilizator:parola@host:port/cale", "testConnection": "Testează Conexiunea", "testSuccess": "Testul de conexiune a reușit!", "testFailed": "Testul de conexiune a eșuat. Te rog să verifici datele introduse și să încerci din nou.", @@ -947,15 +1034,15 @@ "noSnapshot": "Nu se poate obține un snapshot de pe stream-ul configurat." }, "errors": { - "brandOrCustomUrlRequired": "Ori selectează un brand de cameră cu adresă gazdă/IP, ori alege „Alta” cu un URL personalizat", + "brandOrCustomUrlRequired": "Selectează o marcă cu host/IP sau alege 'Other' cu un URL personalizat", "nameRequired": "Numele camerei este obligatoriu", - "nameLength": "Numele camerei trebuie să aibă 64 de caractere sau mai puțin", - "invalidCharacters": "Numele camerei conține caractere nevalide", + "nameLength": "Numele camerei trebuie să aibă maxim 64 de caractere", + "invalidCharacters": "Numele camerei conține caractere nepermise", "nameExists": "Numele camerei există deja", "brands": { "reolink-rtsp": "RTSP Reolink nu este recomandat. Activează HTTP în setările firmware ale camerei și repornește asistentul." }, - "customUrlRtspRequired": "URL-urile personalizate trebuie să înceapă cu \"rtsp://\". Este necesară configurare manuală pentru stream-urile de cameră non-RTSP." + "customUrlRtspRequired": "URL-urile personalizate trebuie să înceapă cu „rtsp://”. Configurarea manuală este necesară pentru stream-urile care nu sunt RTSP." }, "docs": { "reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras" @@ -964,18 +1051,18 @@ "probingMetadata": "Sondare metadate cameră...", "fetchingSnapshot": "Preluare snapshot cameră..." }, - "connectionSettings": "Setări conexiune", - "detectionMethod": "Metoda de detecție stream", + "connectionSettings": "Setări Conexiune", + "detectionMethod": "Metodă Detecție Stream", "onvifPort": "Port ONVIF", - "probeMode": "Sondare cameră", + "probeMode": "Scanează camera", "manualMode": "Selecție manuală", - "detectionMethodDescription": "Sondează camera cu ONVIF (dacă este suportat) pentru a găsi URL-urile de stream ale camerei, sau selectează manual marca camerei pentru a utiliza URL-uri predefinite. Pentru a introduce un URL RTSP personalizat, alege metoda manuală și selectează \"Altele\".", - "onvifPortDescription": "Pentru camerele care suportă ONVIF, acesta este de obicei 80 sau 8080.", - "useDigestAuth": "Utilizați autentificarea digest", - "useDigestAuthDescription": "Utilizați autentificarea HTTP digest pentru ONVIF. Unele camere pot necesita un nume de utilizator/parolă ONVIF dedicat în locul utilizatorului standard de administrare." + "detectionMethodDescription": "Scanează camera prin ONVIF (dacă e suportat) pentru a găsi URL-urile stream-urilor, sau alege manual marca pentru a folosi URL-uri predefinite. Pentru un URL RTSP personalizat, alege metoda manuală și selectează \"Other\".", + "onvifPortDescription": "Pentru camerele cu suport ONVIF, acesta este de obicei 80 sau 8080.", + "useDigestAuth": "Folosește autentificare digest", + "useDigestAuthDescription": "Folosește autentificarea HTTP digest pentru ONVIF. Unele camere pot necesita un utilizator/parolă dedicat pentru ONVIF, diferit de cel de admin." }, "step2": { - "description": "Testează camera pentru fluxurile disponibile sau configurează setările manuale pe baza metodei de detectare selectate.", + "description": "Testează camera pentru stream-uri disponibile sau configurează manual setările în funcție de metoda de detecție aleasă.", "streamsTitle": "Stream-uri cameră", "addStream": "Adaugă stream", "addAnotherStream": "Adaugă un alt stream", @@ -994,9 +1081,9 @@ "audio": "Audio" }, "testStream": "Testează conexiunea", - "testSuccess": "Testul de conexiune a fost realizat cu succes!", + "testSuccess": "Testul de conexiune a reușit!", "testFailed": "Testul de conexiune a eșuat. Verifică datele introduse și încearcă din nou.", - "testFailedTitle": "Test eșuat", + "testFailedTitle": "Test Eșuat", "connected": "Conectat", "notConnected": "Neconectat", "featuresTitle": "Funcționalități", @@ -1013,40 +1100,40 @@ "description": "Folosește restreaming go2rtc pentru a reduce conexiunile la cameră." }, "streamDetails": "Detalii stream", - "probing": "Se sondează camera...", - "retry": "Reîncercare", + "probing": "Se testează camera...", + "retry": "Reîncearcă", "testing": { - "probingMetadata": "Se sondează metadatele camerei...", - "fetchingSnapshot": "Se aduce snapshot cameră..." + "probingMetadata": "Se extrag metadatele camerei...", + "fetchingSnapshot": "Se preia snapshot-ul..." }, - "probeFailed": "Sondarea camerei a eșuat: {{error}}", - "probingDevice": "Se sondează dispozitivul...", - "probeSuccessful": "Sondare reușită", - "probeError": "Eroare la sondare", - "probeNoSuccess": "Sondare nereușită", - "deviceInfo": "Informații dispozitiv", + "probeFailed": "Eșec la testarea camerei: {{error}}", + "probingDevice": "Se testează dispozitivul...", + "probeSuccessful": "Test reușit", + "probeError": "Eroare la testare", + "probeNoSuccess": "Testul nu a avut succes", + "deviceInfo": "Informații Dispozitiv", "manufacturer": "Producător", "model": "Model", "firmware": "Firmware", "profiles": "Profiluri", "ptzSupport": "Suport PTZ", - "autotrackingSupport": "Suport autourmărire", + "autotrackingSupport": "Suport Auto-tracking", "presets": "Presetări", - "rtspCandidates": "Candidați RTSP", - "rtspCandidatesDescription": "Următoarele URL-uri RTSP au fost găsite în urma sondării camerei. Testați conexiunea pentru a vizualiza metadatele stream-ului.", - "noRtspCandidates": "Nu au fost găsite URL-uri RTSP de la cameră. Este posibil ca datele dumneavoastră de autentificare să fie incorecte, sau este posibil ca aparatul foto să nu suporte ONVIF sau metoda utilizată pentru a prelua URL-urile RTSP. Întoarceți-vă și introduceți URL-ul RTSP manual.", + "rtspCandidates": "Candidate RTSP", + "rtspCandidatesDescription": "Următoarele URL-uri RTSP au fost găsite în urma testării camerei. Testează conexiunea pentru a vedea metadatele stream-ului.", + "noRtspCandidates": "Nu au fost găsite URL-uri RTSP pentru această cameră. E posibil ca datele de autentificare să fie greșite sau camera să nu suporte ONVIF. Mergi înapoi și introdu URL-ul RTSP manual.", "candidateStreamTitle": "Candidat {{number}}", "useCandidate": "Folosește", "uriCopy": "Copiază", "uriCopied": "URI copiat în clipboard", - "testConnection": "Testează conexiunea", - "toggleUriView": "Click pentru a comuta vizualizarea URI completă", + "testConnection": "Testează Conexiunea", + "toggleUriView": "Click pentru a vedea URI-ul complet", "errors": { - "hostRequired": "Gazdă/adresaIP este necesară" + "hostRequired": "Adresa Host/IP este obligatorie" } }, "step3": { - "description": "Configurează rolurile stream-ului și adaugă stream-uri suplimentare pentru camera ta.", + "description": "Configurează rolurile stream-urilor și adaugă stream-uri suplimentare pentru camera ta.", "validationTitle": "Validare stream", "connectAllStreams": "Conectează toate stream-urile", "reconnectionSuccess": "Reconectare reușită.", @@ -1054,7 +1141,7 @@ "streamUnavailable": "Previzualizare streaming indisponibilă", "reload": "Reîncarcă", "connecting": "Conectare...", - "streamTitle": "Stream {{number}}", + "streamTitle": "Stream-ul {{number}}", "valid": "Valid", "failed": "Eșuat", "notTested": "Netestat", @@ -1089,12 +1176,12 @@ "ffmpegModule": "Folosește modul de compatibilitate pentru stream-uri", "ffmpegModuleDescription": "Dacă fluxul nu se încarcă după mai multe încercări, activați această opțiune. Când este activată, Frigate va folosi modulul ffmpeg împreună cu go2rtc. Aceasta poate oferi o compatibilitate mai bună cu unele fluxuri de camere.", "streamsTitle": "Stream-uri cameră", - "addStream": "Adaugă stream", - "addAnotherStream": "Adaugă alt stream", + "addStream": "Adaugă un stream", + "addAnotherStream": "Mai adaugă un stream", "streamUrl": "URL stream", - "streamUrlPlaceholder": "rtsp://utilizator:parolă@adresaIP:port/cale", - "selectStream": "Selectați un flux", - "searchCandidates": "Căutați candidați...", + "streamUrlPlaceholder": "rtsp://utilizator:parola@host:port/cale", + "selectStream": "Selectează un stream", + "searchCandidates": "Caută candidați...", "noStreamFound": "Niciun stream găsit", "url": "URL", "resolution": "Rezoluție", @@ -1102,154 +1189,408 @@ "selectResolution": "Selectează rezoluția", "selectQuality": "Selectează calitatea", "roleLabels": { - "detect": "Detecție Obiect", + "detect": "Detecție Obiecte", "record": "Înregistrare", "audio": "Audio" }, - "testStream": "Testează conexiunea", - "testSuccess": "Testul stream-ului a avut succes!", + "testStream": "Testează Conexiunea", + "testSuccess": "Testul stream-ului a reușit!", "testFailed": "Testul stream-ului a eșuat", - "testFailedTitle": "Testul a eșuat", + "testFailedTitle": "Test Eșuat", "connected": "Conectat", "notConnected": "Neconectat", - "featuresTitle": "Funcționalități", - "go2rtc": "Reduceți conexiunile la cameră", - "detectRoleWarning": "Cel puțin un stream trebuie să aibă rolul \"detect\" pentru a continua.", + "featuresTitle": "Funcții", + "go2rtc": "Redu conexiunile către cameră", + "detectRoleWarning": "Cel puțin un stream trebuie să aibă rolul „detect” pentru a continua.", "rolesPopover": { - "title": "Roluri stream", - "detect": "Stream principal pentru detecția obiectelor.", - "record": "Salvează segmente ale stream-ului video pe baza setărilor de configurare.", - "audio": "Stream pentru detecția bazată pe audio." + "title": "Roluri de stream", + "detect": "Fluxul principal pentru detecția obiectelor.", + "record": "Salvează segmente video conform setărilor de configurare.", + "audio": "Flux pentru detecția bazată pe sunet." }, "featuresPopover": { - "title": "Funcționalități stream", - "description": "Utilizați go2rtc restreaming pentru a reduce conexiunile la cameră." + "title": "Caracteristici stream", + "description": "Folosește restreaming prin go2rtc pentru a reduce numărul de conexiuni directe către cameră." } }, "step4": { - "description": "Validare finală și analiză înainte de a salva noua cameră. Conectați fiecare stream înainte de a salva.", + "description": "Validare finală și analiză înainte de salvare. Conectează fiecare stream înainte de a salva.", "validationTitle": "Validare stream", - "connectAllStreams": "Conectează toate stream-urile", + "connectAllStreams": "Conectează Toate stream-urile", "reconnectionSuccess": "Reconectare reușită.", - "reconnectionPartial": "Unele stream-uri nu au reușit să se reconecteze.", - "streamUnavailable": "Previzualizare flux indisponibilă", + "reconnectionPartial": "Unele stream-uri nu s-au putut reconecta.", + "streamUnavailable": "Previzualizarea stream-ului este indisponibilă", "reload": "Reîncarcă", - "connecting": "Conectare...", - "streamTitle": "Stream {{number}}", + "connecting": "Se conectează...", + "streamTitle": "stream-ul {{number}}", "valid": "Valid", "failed": "Eșuat", "notTested": "Netestat", - "connectStream": "Conectare", + "connectStream": "Conectează", "connectingStream": "Se conectează", - "disconnectStream": "Deconectare", + "disconnectStream": "Deconectează", "estimatedBandwidth": "Lățime de bandă estimată", "roles": "Roluri", - "ffmpegModule": "Utilizează modul de compatibilitate stream", - "ffmpegModuleDescription": "Dacă stream-ul nu se încarcă după câteva încercări, activați această opțiune. Când este activată, Frigate va utiliza modulul ffmpeg cu go2rtc. Acest lucru poate oferi o compatibilitate mai bună cu unele stream-uri de cameră.", - "none": "Niciuna", + "ffmpegModule": "Folosește modul de compatibilitate de stream-uri", + "ffmpegModuleDescription": "Dacă stream-ul nu se încarcă după mai multe încercări, activează asta. Frigate va folosi modulul ffmpeg cu go2rtc, ceea ce poate ajuta la compatibilitatea cu anumite camere.", + "none": "Niciunul", "error": "Eroare", - "streamValidated": "Stream-ul {{number}} validat cu succes", + "streamValidated": "Stream-ul {{number}} a fost validat cu succes", "streamValidationFailed": "Validarea stream-ului {{number}} a eșuat", - "saveAndApply": "Salvează camera nouă", - "saveError": "Configurație nevalidă. Vă rugăm să vă verificați setările.", + "saveAndApply": "Salvează Camera Nouă", + "saveError": "Configurație nevalidă. Verifică setările.", "issues": { "title": "Validare stream", - "videoCodecGood": "Codecul video: {{codec}}.", - "audioCodecGood": "Codecul audio: {{codec}}.", - "resolutionHigh": "O rezoluție de {{resolution}} poate cauza o utilizare crescută a resurselor.", - "resolutionLow": "O rezoluție de {{resolution}} ar putea fi prea mică pentru detectarea fiabilă a obiectelor mici.", - "noAudioWarning": "Nu a fost detectat audio pentru acest stream, înregistrările nu vor avea audio.", - "audioCodecRecordError": "Codec-ul audio AAC este necesar pentru a suporta audio în înregistrări.", - "audioCodecRequired": "Este necesar un stream audio pentru a suporta detecția audio.", - "restreamingWarning": "Reducerea conexiunilor la cameră pentru stream-ul de înregistrare poate crește ușor utilizarea procesorului (CPU).", + "videoCodecGood": "Codecul video este {{codec}}.", + "audioCodecGood": "Codecul audio este {{codec}}.", + "resolutionHigh": "O rezoluție de {{resolution}} poate crește consumul de resurse.", + "resolutionLow": "O rezoluție de {{resolution}} ar putea fi prea mică pentru detecția sigură a obiectelor mici.", + "noAudioWarning": "Nu s-a detectat audio pentru acest stream; înregistrările nu vor avea sunet.", + "audioCodecRecordError": "Codecul audio AAC este necesar pentru a avea sunet în înregistrări.", + "audioCodecRequired": "Un stream audio este necesar pentru suportul detecției audio.", + "restreamingWarning": "Reducerea conexiunilor către cameră pentru stream-ul de înregistrare poate crește ușor utilizarea procesorului (CPU).", "brands": { - "reolink-rtsp": "RTSP Reolink nu este recomandat. Activați HTTP în setările de firmware ale camerei și reporniți asistentul.", - "reolink-http": "Stream-urile HTTP Reolink ar trebui să folosească FFmpeg pentru o compatibilitate mai bună. Activează 'Use stream compatibility mode' pentru acest stream." + "reolink-rtsp": "Reolink RTSP nu este recomandat. Activează HTTP în setările camerei și repornește asistentul.", + "reolink-http": "Stream-urile Reolink HTTP ar trebui să folosească FFmpeg pentru o mai bună compatibilitate. Activează „Folosește modul de compatibilitate de stream” pentru acest stream." }, "dahua": { - "substreamWarning": "Substream-ul 1 este blocat la o rezoluție scăzută. Multe camere Dahua / Amcrest / EmpireTech suportă stream-uri secundare suplimentare care trebuie activate în setările camerei. Se recomandă să verificați și să utilizați aceste stream-uri dacă sunt disponibile." + "substreamWarning": "Substream 1 este limitat la o rezoluție mică. Multe camere Dahua / Amcrest / EmpireTech suportă substream-uri adiționale care trebuie activate din setările camerei. Se recomandă verificarea și utilizarea acestora." }, "hikvision": { - "substreamWarning": "Substream-ul 1 este blocat la o rezoluție scăzută. Multe camere Hikvision suportă stream-uri secundare suplimentare care trebuie activate în setările camerei. Se recomandă să verificați și să utilizați aceste stream-uri dacă sunt disponibile." + "substreamWarning": "Substream 1 este limitat la o rezoluție mică. Multe camere Hikvision suportă substream-uri adiționale care trebuie activate din setările camerei. Se recomandă verificarea și utilizarea acestora." } } } }, "cameraManagement": { - "title": "Administrează Camerele", - "addCamera": "Adaugă cameră nouă", - "editCamera": "Editează cameră:", - "selectCamera": "Selectează o cameră", - "backToSettings": "Înapoi la setările camerei", + "title": "Gestionare Camere", + "addCamera": "Adaugă Cameră Nouă", + "editCamera": "Editează Camera:", + "selectCamera": "Selectează o Cameră", + "backToSettings": "Înapoi la Setări Cameră", "streams": { - "title": "Activează / dezactivează camere", - "desc": "Dezactivează temporar o cameră până la repornirea Frigate. Dezactivarea unei camere oprește complet procesarea streamingului acestei camere de către Frigate. Detecția, înregistrarea și depanarea vor fi indisponibile.
    Notă: Aceasta nu dezactivează restreamingul go2rtc." + "title": "Activează / Dezactivează Camere", + "desc": "Dezactivează temporar o cameră până la repornirea Frigate. Dezactivarea unei camere oprește complet procesarea streamingului acestei camere de către Frigate. Detecția, înregistrarea și depanarea vor fi indisponibile.
    Notă: Aceasta nu dezactivează restreamingul go2rtc.", + "enableLabel": "Camere activate", + "enableDesc": "Dezactivează temporar o cameră până la repornirea Frigate. Dezactivarea oprește procesarea stream-urilor pentru această cameră. Detecția, înregistrarea și depanarea vor fi indisponibile.
    Notă: Acest lucru nu dezactivează restream-urile go2rtc.", + "disableLabel": "Camere dezactivate", + "disableDesc": "Activează o cameră care este ascunsă în interfață și dezactivată în configurație. Este necesară repornirea Frigate după activare.", + "enableSuccess": "Am activat {{cameraName}} în configurație. Repornește Frigate pentru a aplica modificările." }, "cameraConfig": { - "add": "Adaugă cameră", - "edit": "Editează cameră", - "description": "Configurează setările camerei, inclusiv intrările și rolurile de streaming.", - "name": "Nume cameră", + "add": "Adaugă Cameră", + "edit": "Editează Camera", + "description": "Configurează setările camerei, inclusiv stream-urile de intrare și rolurile acestora.", + "name": "Nume Cameră", "nameRequired": "Numele camerei este obligatoriu", - "nameLength": "Numele camerei trebuie să fie mai scurt de 64 de caractere.", - "namePlaceholder": "ex. ușă_intrare sau Vedere Curte Spate", + "nameLength": "Numele camerei trebuie să aibă sub 64 de caractere.", + "namePlaceholder": "ex: usa_fata sau Curte Spate", "enabled": "Activat", "ffmpeg": { "inputs": "Stream-uri de intrare", - "path": "Cale streaming", - "pathRequired": "Calea streaming este obligatorie", + "path": "Cale stream", + "pathRequired": "Calea stream-ului este obligatorie", "pathPlaceholder": "rtsp://...", "roles": "Roluri", "rolesRequired": "Este necesar cel puțin un rol", - "rolesUnique": "Fiecare rol (audio, detectare, înregistrare) poate fi atribuit unui singur stream", - "addInput": "Adaugă stream de intrare", - "removeInput": "Elimină stream-ul de intrare", + "rolesUnique": "Fiecare rol (audio, detect, record) poate fi atribuit unui singur stream", + "addInput": "Adaugă stream de Intrare", + "removeInput": "Elimină stream de Intrare", "inputsRequired": "Este necesar cel puțin un stream de intrare" }, - "go2rtcStreams": "Streamuri go2rtc", - "streamUrls": "URL-uri streaming", + "go2rtcStreams": "Stream-uri go2rtc", + "streamUrls": "URL-uri de stream", "addUrl": "Adaugă URL", "addGo2rtcStream": "Adaugă stream go2rtc", "toast": { - "success": "Camera {{cameraName}} salvată cu succes" + "success": "Camera {{cameraName}} a fost salvată cu succes" } } }, "cameraReview": { - "title": "Setări de Revizuire a Camerei", + "title": "Setări Review Cameră", "object_descriptions": { - "title": "Descrieri de Obiecte cu AI Generativ", - "desc": "Activează/dezactivează temporar descrierile de obiecte cu AI Generativ pentru această cameră până la repornirea Frigate. Când este dezactivată, descrierile generate de AI nu vor fi solicitate pentru obiectele urmărite pe această cameră." + "title": "Descrieri Obiecte cu AI Generativ", + "desc": "Activează/dezactivează temporar descrierile AI pentru această cameră. Când sunt dezactivate, nu se vor solicita descrieri AI pentru obiectele urmărite." }, "review_descriptions": { - "title": "Descrieri de revizuire cu AI Generativ", - "desc": "Activează/dezactivează temporar descrierile de revizuire cu AI Generativ pentru această cameră până la repornirea Frigate. Când este dezactivat, descrierile generate de AI nu vor fi solicitate pentru elementele de revizuire de pe această cameră." + "title": "Descrieri Review cu AI Generativ", + "desc": "Activează/dezactivează temporar descrierile AI pentru elementele de review. Când sunt dezactivate, nu se vor genera descrieri AI pentru acestea." }, "review": { "title": "Revizuire", - "desc": "Activează/dezactivează temporar alertele și detecțiile pentru această cameră până la repornirea Frigate. Când este dezactivat, nu vor fi generate elemente de revizuire noi. ", + "desc": "Activează/dezactivează temporar alertele și detecțiile pentru această cameră până la repornirea Frigate. Când sunt dezactivate, nu se vor genera elemente noi de review. ", "alerts": "Alerte ", "detections": "Detecții " }, "reviewClassification": { - "title": "Clasificare revizuire", - "desc": "Frigate clasifică elementele de revizuire ca Alerte și Detecții. În mod implicit, toate obiectele de tip persoană și mașină sunt considerate Alerte. Poți rafina clasificarea elementelor tale de revizuire prin configurarea zonelor necesare pentru acestea.", - "noDefinedZones": "Nu sunt definite zone pentru această cameră.", - "objectAlertsTips": "Toate obiectele {{alertsLabels}} de pe {{cameraName}} vor fi afișate ca Alerte.", - "zoneObjectAlertsTips": "Toate obiectele {{alertsLabels}} detectate în {{zone}} pe {{cameraName}} vor fi afișate ca Alerte.", - "objectDetectionsTips": "Toate obiectele {{detectionsLabels}} necategorizate pe {{cameraName}} vor fi afișate ca Detecții indiferent de zona în care se află.", + "title": "Clasificare Review", + "desc": "Frigate clasifică elementele de review ca Alerte sau Detecții. Implicit, toate obiectele de tip persoană și mașină sunt considerate Alerte. Poți rafina clasificarea configurând zone obligatorii.", + "noDefinedZones": "Nu există zone definite pentru această cameră.", + "objectAlertsTips": "Toate obiectele {{alertsLabels}} de pe {{cameraName}} vor apărea ca Alerte.", + "zoneObjectAlertsTips": "Toate obiectele {{alertsLabels}} detectate în {{zone}} pe {{cameraName}} vor apărea ca Alerte.", + "objectDetectionsTips": "Toate obiectele {{detectionsLabels}} neclasificate pe {{cameraName}} vor apărea ca Detecții, indiferent de zonă.", "zoneObjectDetectionsTips": { - "text": "Toate obiectele {{detectionsLabels}} necategorizate în {{zone}} pe {{cameraName}} vor fi afișate ca Detecții.", - "notSelectDetections": "Toate obiectele {{detectionsLabels}} detectate în {{zone}} pe {{cameraName}} și necategorizate ca Alerte vor fi afișate ca Detecții indiferent de zona în care se află.", - "regardlessOfZoneObjectDetectionsTips": "Toate obiectele {{detectionsLabels}} necategorizate pe {{cameraName}} vor fi afișate ca Detecții indiferent de zona în care se află." + "text": "Toate obiectele {{detectionsLabels}} neclasificate în {{zone}} pe {{cameraName}} vor apărea ca Detecții.", + "notSelectDetections": "Toate obiectele {{detectionsLabels}} detectate în {{zone}} pe {{cameraName}} care nu sunt Alerte vor apărea ca Detecții, indiferent de zonă.", + "regardlessOfZoneObjectDetectionsTips": "Toate obiectele {{detectionsLabels}} neclasificate pe {{cameraName}} vor apărea ca Detecții, indiferent de zonă." }, - "unsavedChanges": "Setări de Clasificare Revizuire nesalvate pentru {{camera}}", - "selectAlertsZones": "Selectați zonele pentru Alerte", - "selectDetectionsZones": "Selectați zonele pentru Detecții", - "limitDetections": "Limitați detecțiile la zone specifice", + "unsavedChanges": "Modificări nesalvate la Clasificarea Review pentru {{camera}}", + "selectAlertsZones": "Selectează zonele pentru Alerte", + "selectDetectionsZones": "Selectează zonele pentru Detecții", + "limitDetections": "Limitează detecțiile la anumite zone", "toast": { - "success": "Configurația Clasificare Revizuire a fost salvată. Reporniți Frigate pentru a aplica modificările." + "success": "Configurația Clasificării Review a fost salvată. Repornește Frigate pentru aplicare." } } - } + }, + "saveAllPreview": { + "title": "Modificări de salvat", + "triggerLabel": "Revizuiește modificările în așteptare", + "empty": "Nicio modificare în așteptare.", + "scope": { + "label": "Domeniu", + "global": "Global", + "camera": "Cameră: {{cameraName}}" + }, + "field": { + "label": "Câmp" + }, + "value": { + "label": "Valoare nouă", + "reset": "Resetare" + } + }, + "detectionModel": { + "plusActive": { + "title": "Gestionare model Frigate+", + "label": "Sursa modelului curent", + "description": "Această instanță rulează un model Frigate+. Selectează sau schimbă modelul în setările Frigate+.", + "goToFrigatePlus": "Mergi la setările Frigate+", + "showModelForm": "Configurează manual un model" + } + }, + "maintenance": { + "title": "Mentenanță", + "sync": { + "title": "Sincronizare Media", + "desc": "Frigate va curăța periodic fișierele media conform setărilor de retenție. Este normal să apară câteva fișiere orfane în timp ce Frigate rulează. Folosește această funcție pentru a șterge fișierele media de pe disc care nu mai sunt referențiate în baza de date.", + "started": "Sincronizarea media a început.", + "alreadyRunning": "O sarcină de sincronizare rulează deja", + "error": "Eroare la pornirea sincronizării", + "currentStatus": "Stare", + "jobId": "ID Job", + "startTime": "Oră Start", + "endTime": "Oră Final", + "statusLabel": "Status", + "results": "Rezultate", + "errorLabel": "Eroare", + "mediaTypes": "Tipuri Media", + "allMedia": "Toate fișierele", + "dryRun": "Mod Simulare (Dry Run)", + "dryRunEnabled": "Niciun fișier nu va fi șters", + "dryRunDisabled": "Fișierele vor fi șterse", + "force": "Forțează", + "forceDesc": "Ignoră pragul de siguranță și finalizează sincronizarea chiar dacă mai mult de 50% din fișiere ar urma să fie șterse.", + "running": "Sincronizare în curs...", + "start": "Pornește Sincronizarea", + "inProgress": "Sincronizarea este în curs. Această pagină este dezactivată.", + "status": { + "queued": "În așteptare", + "running": "Rulează", + "completed": "Finalizat", + "failed": "Eșuat", + "notRunning": "Nu rulează" + }, + "resultsFields": { + "filesChecked": "Fișiere Verificate", + "orphansFound": "Fișiere Orfane Găsite", + "orphansDeleted": "Fișiere Orfane Șterse", + "aborted": "Abandonat. Ștergerea ar depăși pragul de siguranță.", + "error": "Eroare", + "totals": "Totaluri" + }, + "event_snapshots": "Snapshot-uri Obiecte Urmărite", + "event_thumbnails": "Miniaturi Obiecte Urmărite", + "review_thumbnails": "Miniaturi Review", + "previews": "Previzualizări", + "exports": "Exporturi", + "recordings": "Înregistrări" + } + }, + "configForm": { + "global": { + "title": "Setări Globale", + "description": "Aceste setări se aplică tuturor camerelor, cu excepția cazului în care sunt suprascrise în setările specifice ale unei camere." + }, + "camera": { + "title": "Setări Cameră", + "description": "Aceste setări se aplică doar pentru această cameră și suprascriu setările globale." + }, + "advancedSettingsCount": "Setări Avansate ({{count}})", + "advancedCount": "Avansat ({{count}})", + "showAdvanced": "Afișează Setările Avansate", + "tabs": { + "sharedDefaults": "Valori Implicite Comune", + "system": "Sistem", + "integrations": "Integrări" + }, + "additionalProperties": { + "keyLabel": "Cheie", + "valueLabel": "Valoare", + "keyPlaceholder": "Cheie nouă", + "remove": "Elimină" + }, + "timezone": { + "defaultOption": "Folosește fusul orar al browserului" + }, + "roleMap": { + "empty": "Nu există asocieri de roluri", + "roleLabel": "Rol", + "groupsLabel": "Grupuri", + "addMapping": "Adaugă asociere de rol", + "remove": "Elimină" + }, + "ffmpegArgs": { + "preset": "Presetare", + "manual": "Argumente manuale", + "inherit": "Moștenește de la setările camerei", + "selectPreset": "Selectează presetarea", + "manualPlaceholder": "Introdu argumentele FFmpeg" + }, + "cameraInputs": { + "itemTitle": "Stream-ul {{index}}" + }, + "restartRequiredField": "Necesită repornire", + "restartRequiredFooter": "Configurația a fost modificată - Necesită repornire", + "sections": { + "detect": "Detecție", + "record": "Înregistrare", + "snapshots": "Snapshot-uri", + "motion": "Mișcare", + "objects": "Obiecte", + "review": "Revizuire", + "audio": "Audio", + "notifications": "Notificări", + "live": "Vizualizare Live", + "timestamp_style": "Timestamp-uri", + "mqtt": "MQTT", + "database": "Bază de date", + "telemetry": "Telemetrie", + "auth": "Autentificare", + "tls": "TLS", + "proxy": "Proxy", + "go2rtc": "go2rtc", + "ffmpeg": "FFmpeg", + "detectors": "Detectoare", + "model": "Model", + "semantic_search": "Căutare Semantică", + "genai": "GenAI", + "face_recognition": "Recunoaștere Facială", + "lpr": "Recunoaștere Numere Înmatriculare", + "birdseye": "Birdseye" + }, + "detect": { + "title": "Setări Detecție" + }, + "detectors": { + "title": "Setări Detector", + "singleType": "Este permis un singur detector de tip {{type}}.", + "keyRequired": "Numele detectorului este obligatoriu.", + "keyDuplicate": "Numele detectorului există deja.", + "noSchema": "Nu sunt disponibile scheme de detectoare.", + "none": "Nicio instanță de detector configurată.", + "add": "Adaugă detector" + }, + "record": { + "title": "Setări Înregistrare" + }, + "snapshots": { + "title": "Setări snapshot-uri" + }, + "motion": { + "title": "Setări Mișcare" + }, + "objects": { + "title": "Setări Obiecte" + }, + "audioLabels": { + "summary": "{{count}} etichete audio selectate", + "empty": "Nu există etichete audio disponibile" + }, + "objectLabels": { + "summary": "{{count}} tipuri de obiecte selectate", + "empty": "Nu există etichete de obiecte disponibile" + }, + "filters": { + "objectFieldLabel": "{{field}} pentru {{label}}" + }, + "zoneNames": { + "summary": "{{count}} selectate", + "empty": "Nu există zone disponibile" + }, + "inputRoles": { + "summary": "{{count}} roluri selectate", + "empty": "Nu există roluri disponibile", + "options": { + "detect": "Detecție", + "record": "Înregistrare", + "audio": "Audio" + } + }, + "review": { + "title": "Setări Revizuire" + }, + "audio": { + "title": "Setări Audio" + }, + "notifications": { + "title": "Setări Notificări" + }, + "live": { + "title": "Setări Vizualizare Live" + }, + "timestamp_style": { + "title": "Setări Timestamp" + }, + "searchPlaceholder": "Caută..." + }, + "globalConfig": { + "title": "Configurare Globală", + "description": "Configurează setările globale care se aplică tuturor camerelor, cu excepția celor suprascrie.", + "toast": { + "success": "Setările globale au fost salvate cu succes", + "error": "Eroare la salvarea setărilor globale", + "validationError": "Validarea a eșuat" + } + }, + "cameraConfig": { + "title": "Configurare Cameră", + "description": "Configurează setările pentru camere individuale. Aceste setări suprascriu valorile globale.", + "overriddenBadge": "Suprascris", + "resetToGlobal": "Resetează la Global", + "toast": { + "success": "Setările camerei au fost salvate cu succes", + "error": "Eroare la salvarea setărilor camerei" + } + }, + "toast": { + "success": "Setările au fost salvate cu succes", + "successRestartRequired": "Setările au fost salvate cu succes. Repornește Frigate pentru a aplica modificările.", + "error": "Eroare la salvarea setărilor", + "validationError": "Validarea a eșuat: {{message}}", + "resetSuccess": "Resetat la valorile globale implicite", + "resetError": "Eroare la resetarea setărilor", + "saveAllSuccess_one": "S-a salvat cu succes {{count}} secțiune.", + "saveAllSuccess_few": "Cele {{count}} secțiuni au fost salvate cu succes.", + "saveAllSuccess_other": "Toate cele {{count}} de secțiuni au fost salvate cu succes.", + "saveAllPartial_one": "{{successCount}} din {{totalCount}} secțiune salvată. {{failCount}} eșuate.", + "saveAllPartial_few": "{{successCount}} din {{totalCount}} secțiuni salvate. {{failCount}} eșuate.", + "saveAllPartial_other": "{{successCount}} din {{totalCount}} de secțiuni salvate. {{failCount}} eșuate.", + "saveAllFailure": "Eroare la salvarea tuturor secțiunilor." + }, + "unsavedChanges": "Ai modificări nesalvate", + "confirmReset": "Confirmă Resetarea", + "resetToDefaultDescription": "Această acțiune va reseta toate setările din această secțiune la valorile implicite. Acțiunea este ireversibilă.", + "resetToGlobalDescription": "Această acțiune va reseta setările din această secțiune la valorile globale implicite. Acțiunea este ireversibilă." } diff --git a/web/public/locales/ro/views/system.json b/web/public/locales/ro/views/system.json index 6966f124f..1e6469774 100644 --- a/web/public/locales/ro/views/system.json +++ b/web/public/locales/ro/views/system.json @@ -4,67 +4,69 @@ "cameras": "Statistici Camere - Frigate", "general": "Statistici Generale - Frigate", "logs": { - "go2rtc": "Jurnal Go2RTC - Frigate", - "nginx": "Jurnal Nginx - Frigate", - "frigate": "Jurnal Frigate - Frigate" + "go2rtc": "Jurnale Go2RTC - Frigate", + "nginx": "Jurnale Nginx - Frigate", + "frigate": "Jurnale Frigate - Frigate" }, - "enrichments": "Statistici îmbogățiri - Frigate" + "enrichments": "Statistici Procesări Avansate - Frigate" }, "general": { "hardwareInfo": { "npuUsage": "Utilizare NPU", "npuMemory": "Memorie NPU", "gpuUsage": "Utilizare GPU", - "gpuMemory": "Utilizare Memorie", - "title": "Informații hardware", - "gpuEncoder": "Codificator GPU", - "gpuDecoder": "Decodificator GPU", + "gpuMemory": "Memorie GPU", + "title": "Informații Hardware", + "gpuEncoder": "Encoder GPU", + "gpuDecoder": "Decoder GPU", "gpuInfo": { "vainfoOutput": { "returnCode": "Cod de retur: {{code}}", - "processOutput": "Rezultatul procesului:", - "title": "Rezultat vainfo", - "processError": "Eroare de procesare:" + "processOutput": "Ieșire proces:", + "title": "Ieșire Vainfo", + "processError": "Eroare proces:" }, "nvidiaSMIOutput": { - "title": "Rezultat Nvidia SMI", + "title": "Ieșire Nvidia SMI", "name": "Nume: {{name}}", "driver": "Driver: {{driver}}", - "cudaComputerCapability": "Capacitate de calcul CUDA: {{cuda_compute}}", - "vbios": "Informații VBios: {{vbios}}" + "cudaComputerCapability": "Capacitate calcul CUDA: {{cuda_compute}}", + "vbios": "Info VBios: {{vbios}}" }, "copyInfo": { - "label": "Copiază informațiile GPU" + "label": "Copiază info GPU" }, "toast": { - "success": "Informațiile GPU au fost copiate" + "success": "Am copiat informațiile GPU în clipboard" }, "closeInfo": { - "label": "Închide informațiile GPU" + "label": "Închide info GPU" } }, "intelGpuWarning": { "title": "Avertisment statistici GPU Intel", - "message": "Statistici GPU indisponibile", - "description": "Aceasta este o eroare cunoscută în instrumentele Intel pentru raportarea statisticilor GPU (intel_gpu_top), unde acestea se blochează și returnează repetat o utilizare GPU de 0%, chiar și în cazurile în care accelerarea hardware și detectarea obiectelor rulează corect pe (i)GPU. Aceasta nu este o eroare Frigate. Poți reporni gazda pentru a remedia temporar problema și pentru a confirma că GPU-ul funcționează corect. Aceasta nu afectează performanța." - } + "message": "Statisticile GPU sunt indisponibile", + "description": "Acesta este un bug cunoscut în instrumentele de raportare GPU Intel (intel_gpu_top), unde acestea se blochează și returnează repetat o utilizare GPU de 0% chiar și atunci când accelerarea hardware și detecția obiectelor rulează corect pe (i)GPU. Aceasta nu este o problemă Frigate. Poți reporni host-ul pentru a remedia temporar problema și a confirma că GPU-ul funcționează corect. Performanța nu este afectată." + }, + "gpuTemperature": "Temperatură GPU", + "npuTemperature": "Temperatură NPU" }, "detector": { - "temperature": "Temperatura Detectorului", - "title": "Detectori", - "cpuUsage": "Utilizarea procesorului", - "inferenceSpeed": "Viteza de inferență", + "temperature": "Temperatură detector", + "title": "Detectoare", + "cpuUsage": "Utilizare CPU detector", + "inferenceSpeed": "Viteză inferență detector", "memoryUsage": "Utilizare memorie detector", - "cpuUsageInformation": "Procesorul utilizat pentru pregătirea datelor de intrare și ieșire către/dinspre modelele de detecție. Această valoare nu măsoară utilizarea în timpul inferenței, chiar dacă este folosit un GPU sau un accelerator." + "cpuUsageInformation": "CPU utilizat pentru pregătirea datelor de intrare și ieșire către/dinspre modelele de detecție. Această valoare nu măsoară utilizarea inferenței, chiar dacă se folosește un GPU sau un accelerator." }, "otherProcesses": { - "title": "Alte Procese", - "processCpuUsage": "Utilizare CPU", - "processMemoryUsage": "Utilizare memorie", + "title": "Alte procese", + "processCpuUsage": "Utilizare CPU procese", + "processMemoryUsage": "Utilizare memorie procese", "series": { "go2rtc": "go2rtc", "recording": "înregistrare", - "review_segment": "segment de revizuire", + "review_segment": "segment recenzie", "embeddings": "înglobări", "audio_detector": "detector audio" } @@ -74,113 +76,113 @@ "storage": { "recordings": { "title": "Înregistrări", - "earliestRecording": "Prima înregistrare disponibilă:", - "tips": "Această valoare reprezintă spațiul total de stocare utilizat de înregistrările din baza de date a Frigate. Frigate nu urmărește utilizarea spațiului pentru toate fișierele de pe discul tău." + "earliestRecording": "Cea mai veche înregistrare disponibilă:", + "tips": "Această valoare reprezintă stocarea totală folosită de înregistrări în baza de date Frigate. Frigate nu monitorizează utilizarea stocării pentru toate fișierele de pe disc." }, - "title": "Spațiu stocare", + "title": "Stocare", "cameraStorage": { - "title": "Spațiu stocare camere", - "camera": "Camera", - "unusedStorageInformation": "Informații despre stocarea neutilizată", - "storageUsed": "Spațiu stocare", + "title": "Stocare Cameră", + "camera": "Cameră", + "unusedStorageInformation": "Informații stocare neutilizată", + "storageUsed": "Stocare", "percentageOfTotalUsed": "Procent din total", "unused": { - "title": "Nefolosit", - "tips": "Această valoare este posibil să nu reprezinte cu acuratețe spațiul liber disponibil pentru Frigate dacă ai și alte fișiere stocate pe disc, în afara înregistrărilor Frigate. Frigate nu monitorizează utilizarea spațiului pentru fișiere din afara propriilor sale înregistrări." + "title": "Neutilizat", + "tips": "Este posibil ca această valoare să nu reprezinte cu precizie spațiul liber disponibil pentru Frigate dacă ai și alte fișiere pe disc în afara înregistrărilor Frigate. Frigate nu urmărește utilizarea stocării în afara propriilor înregistrări." }, "bandwidth": "Lățime de bandă" }, "overview": "Prezentare generală", "shm": { - "title": "Alocare SHM (memorie partajată)", - "warning": "Dimensiunea curentă a SHM de {{total}}MB este prea mică. Măriți-o la cel puțin {{min_shm}}MB.", + "title": "Alocare SHM (shared memory)", + "warning": "Dimensiunea actuală SHM de {{total}}MB este prea mică. Crește-o la cel puțin {{min_shm}}MB.", "readTheDocumentation": "Citește documentația" } }, "title": "Sistem", "logs": { "download": { - "label": "Jurnal Descărcări" + "label": "Descarcă jurnalele" }, "copy": { - "label": "Copiază", - "success": "Jurnalul a fost copiat", - "error": "Jurnalul nu s-a putut copia" + "label": "Copiază în clipboard", + "success": "Am copiat jurnalele în clipboard", + "error": "Nu am putut copia jurnalele în clipboard" }, "type": { "label": "Tip", - "timestamp": "Data / ora", + "timestamp": "Ștampilă de timp", "tag": "Etichetă", "message": "Mesaj" }, - "tips": "Jurnalele se transmit de pe server", + "tips": "Jurnalele sunt transmise în timp real de la server", "toast": { "error": { "fetchingLogsFailed": "Eroare la preluarea jurnalelor: {{errorMessage}}", - "whileStreamingLogs": "Eroare la transmiterea jurnalelor: {{errorMessage}}" + "whileStreamingLogs": "Eroare în timpul transmiterii jurnalelor: {{errorMessage}}" } } }, - "metrics": "Metrici de sistem", + "metrics": "Metrici sistem", "enrichments": { - "title": "Îmbogățiri", + "title": "Procesări Avansate", "embeddings": { - "image_embedding": "Încorporare imagini", - "text_embedding": "Încorporare text", - "plate_recognition": "Recunoaștere numere de înmatriculare", - "image_embedding_speed": "Viteză încorporare imagini", - "face_recognition": "Recunoaștere facială", - "face_recognition_speed": "Viteză recunoaștere facială", - "plate_recognition_speed": "Viteză recunoaștere numere de înmatriculare", - "face_embedding_speed": "Viteză încorporare fețe", - "yolov9_plate_detection_speed": "Viteza detecției numerelor de înmatriculare YOLOv9", - "text_embedding_speed": "Viteză încorporare text", - "yolov9_plate_detection": "Detectare numere de înmatriculare YOLOv9", - "review_description": "Descriere Revizuire", - "review_description_speed": "Viteză Descriere Revizuire", - "review_description_events_per_second": "Descriere Revizuire", + "image_embedding": "Înglobări de imagini", + "text_embedding": "Înglobări de text", + "plate_recognition": "Recunoaștere Numere Înmatriculare", + "image_embedding_speed": "Viteză înglobări de imagini", + "face_recognition": "Recunoaștere Facială", + "face_recognition_speed": "Viteză Recunoaștere Facială", + "plate_recognition_speed": "Viteză Recunoaștere Numere", + "face_embedding_speed": "Viteză înglobări faciale", + "yolov9_plate_detection_speed": "Viteză Detecție Numere YOLOv9", + "text_embedding_speed": "Viteză înglobări de text", + "yolov9_plate_detection": "Detecție Numere YOLOv9", + "review_description": "Descriere Recenzie", + "review_description_speed": "Viteză Descriere Recenzie", + "review_description_events_per_second": "Descriere Recenzie", "object_description": "Descriere Obiect", "object_description_speed": "Viteză Descriere Obiect", "object_description_events_per_second": "Descriere Obiect", - "classification": "{{name}} Clasificare", - "classification_speed": "{{name}} Viteză de clasificare", - "classification_events_per_second": "{{name}} Evenimente de clasificare pe secundă" + "classification": "Clasificare {{name}}", + "classification_speed": "Viteză Clasificare {{name}}", + "classification_events_per_second": "Evenimente Clasificare {{name}} pe secundă" }, "infPerSecond": "Inferențe pe secundă", - "averageInf": "Timp Mediu de Inferență" + "averageInf": "Timp mediu de inferență" }, "cameras": { "info": { "codec": "Codec:", "resolution": "Rezoluție:", - "cameraProbeInfo": "Informații testare cameră {{camera}}", + "cameraProbeInfo": "Info Sondă Cameră {{camera}}", "streamDataFromFFPROBE": "Datele stream-ului sunt obținute cu ffprobe.", "aspectRatio": "raport aspect", "fetching": "Se preiau datele camerei", "stream": "Stream {{idx}}", "video": "Video:", - "audio": "Sunet:", - "error": "Eroare:{{error}}", + "audio": "Audio:", + "error": "Eroare: {{error}}", "tips": { - "title": "Informații test cameră" + "title": "Info Sondă Cameră" }, - "fps": "Cadre/s:", + "fps": "FPS:", "unknown": "Necunoscut" }, "label": { - "capture": "capturare", - "skipped": "sărite", - "overallSkippedDetectionsPerSecond": "Detecții totale sărite pe secundă", + "capture": "captură", + "skipped": "sărit", + "overallSkippedDetectionsPerSecond": "detecții sărite pe secundă total", "cameraCapture": "captură {{camName}}", - "cameraDetect": "detectare {{camName}}", + "cameraDetect": "detecție {{camName}}", "cameraFramesPerSecond": "cadre pe secundă {{camName}}", "cameraDetectionsPerSecond": "detecții pe secundă {{camName}}", "cameraSkippedDetectionsPerSecond": "detecții sărite pe secundă {{camName}}", - "overallFramesPerSecond": "Cadre totale pe secundă", - "overallDetectionsPerSecond": "Detecții totale pe secundă", - "detect": "detectare", - "cameraFfmpeg": "{{camName}} FFmpeg", - "camera": "camere", + "overallFramesPerSecond": "cadre pe secundă total", + "overallDetectionsPerSecond": "detecții pe secundă total", + "detect": "detectează", + "cameraFfmpeg": "FFmpeg {{camName}}", + "camera": "cameră", "ffmpeg": "FFmpeg" }, "title": "Camere", @@ -188,22 +190,33 @@ "framesAndDetections": "Cadre / Detecții", "toast": { "success": { - "copyToClipboard": "Datele testului au fost copiate." + "copyToClipboard": "Am copiat datele sondei în clipboard." }, "error": { - "unableToProbeCamera": "Testarea camerei nu a fost posibilă: {{errorMessage}}" + "unableToProbeCamera": "Nu s-a putut sonda camera: {{errorMessage}}" } + }, + "connectionQuality": { + "title": "Calitate Conexiune", + "excellent": "Excelentă", + "fair": "Acceptabilă", + "poor": "Slabă", + "unusable": "Inutilizabilă", + "fps": "FPS", + "expectedFps": "FPS așteptat", + "reconnectsLastHour": "Reconectări (ultima oră)", + "stallsLastHour": "Blocaje (ultima oră)" } }, "stats": { - "reindexingEmbeddings": "Reindexare încorporări ({{processed}}% completă)", + "reindexingEmbeddings": "Se reindexează înglobările ({{processed}}% gata)", "detectIsVerySlow": "{{detect}} este foarte lent ({{speed}} ms)", "detectIsSlow": "{{detect}} este lent ({{speed}} ms)", - "detectHighCpuUsage": "Camera {{camera}} are o utilizare ridicată a procesorului pentru detecție ({{detectAvg}}%)", - "ffmpegHighCpuUsage": "Camera {{camera}} are o utilizare ridicată a procesorului FFmpeg ({{ffmpegAvg}}%)", + "detectHighCpuUsage": "{{camera}} are o utilizare ridicată CPU detecție ({{detectAvg}}%)", + "ffmpegHighCpuUsage": "{{camera}} are o utilizare ridicată CPU FFmpeg ({{ffmpegAvg}}%)", "cameraIsOffline": "{{camera}} este offline", - "healthy": "Sistemul funcționează normal", + "healthy": "Sistemul este sănătos", "shmTooLow": "Alocarea /dev/shm ({{total}} MB) ar trebui mărită la cel puțin {{min}} MB." }, - "lastRefreshed": "Ultima reîmprospătare: " + "lastRefreshed": "Ultima actualizare: " } From 7737a05e3e03877daa887f3a526ade06cabf99a1 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:49 +0100 Subject: [PATCH 13/46] Added translation using Weblate (Bulgarian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/bg/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/bg/config/cameras.json diff --git a/web/public/locales/bg/config/cameras.json b/web/public/locales/bg/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/bg/config/cameras.json @@ -0,0 +1 @@ +{} From 9810be193371827d6807c4ff7d95e736facabf9d Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:50 +0100 Subject: [PATCH 14/46] Added translation using Weblate (Ukrainian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/uk/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/uk/config/cameras.json diff --git a/web/public/locales/uk/config/cameras.json b/web/public/locales/uk/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uk/config/cameras.json @@ -0,0 +1 @@ +{} From 4697d9d7b86ec344811d61e6226d7b28d4fcfef7 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:50 +0100 Subject: [PATCH 15/46] Added translation using Weblate (Japanese) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/ja/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/ja/config/cameras.json diff --git a/web/public/locales/ja/config/cameras.json b/web/public/locales/ja/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ja/config/cameras.json @@ -0,0 +1 @@ +{} From 76ed2dad1ba100f2acab6f504cb981cd129a1e7a Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:50 +0100 Subject: [PATCH 16/46] Update translation files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated by "Squash Git commits" add-on in Weblate. Added translation using Weblate (Catalan) Added translation using Weblate (Catalan) Added translation using Weblate (Catalan) Translated using Weblate (Catalan) Currently translated at 100.0% (464 of 464 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (136 of 136 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (895 of 895 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (118 of 118 strings) Added translation using Weblate (Catalan) Translated using Weblate (Catalan) Currently translated at 100.0% (895 of 895 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (228 of 228 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (23 of 23 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (58 of 58 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (122 of 122 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (883 of 883 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (147 of 147 strings) Co-authored-by: Eduardo Pastor Fernández <123eduardoneko123@gmail.com> Co-authored-by: Hosted Weblate Co-authored-by: Josh Hawkins Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ca/ 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/objects/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-exports/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ca/ Translation: Frigate NVR/Config - Cameras Translation: Frigate NVR/common Translation: Frigate NVR/components-dialog Translation: Frigate NVR/objects Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/ca/common.json | 15 +- web/public/locales/ca/components/dialog.json | 4 + web/public/locales/ca/config/cameras.json | 936 ++++++++++++++++++ web/public/locales/ca/config/global.json | 1 + web/public/locales/ca/config/groups.json | 1 + web/public/locales/ca/config/validation.json | 1 + web/public/locales/ca/objects.json | 2 +- .../locales/ca/views/classificationModel.json | 2 +- web/public/locales/ca/views/explore.json | 2 +- web/public/locales/ca/views/exports.json | 18 +- web/public/locales/ca/views/settings.json | 365 ++++++- web/public/locales/ca/views/system.json | 17 +- 12 files changed, 1343 insertions(+), 21 deletions(-) create mode 100644 web/public/locales/ca/config/cameras.json create mode 100644 web/public/locales/ca/config/global.json create mode 100644 web/public/locales/ca/config/groups.json create mode 100644 web/public/locales/ca/config/validation.json diff --git a/web/public/locales/ca/common.json b/web/public/locales/ca/common.json index c5dd5434f..70c48fadc 100644 --- a/web/public/locales/ca/common.json +++ b/web/public/locales/ca/common.json @@ -106,7 +106,8 @@ "logout": "Tanca la sessió", "current": "Usuari actual: {{user}}" }, - "classification": "Classificació" + "classification": "Classificació", + "chat": "Xat" }, "pagination": { "previous": { @@ -268,7 +269,17 @@ "unselect": "Desseleccionar", "enable": "Habilitar", "enabled": "Habilitat", - "continue": "Continua" + "continue": "Continua", + "add": "Afegeix", + "undo": "Desfés", + "copiedToClipboard": "S'ha copiat al porta-retalls", + "modified": "Modificat", + "overridden": "Sobreescrit", + "resetToGlobal": "Restableix a global", + "resetToDefault": "Restableix al valor predeterminat", + "saveAll": "Desa-ho tot", + "savingAll": "S'està desant tot…", + "undoAll": "Desfés-ho tot" }, "toast": { "copyUrlToClipboard": "URL copiada al porta-retalls.", diff --git a/web/public/locales/ca/components/dialog.json b/web/public/locales/ca/components/dialog.json index fb5640d6b..9e2900d8a 100644 --- a/web/public/locales/ca/components/dialog.json +++ b/web/public/locales/ca/components/dialog.json @@ -65,6 +65,10 @@ "fromTimeline": { "saveExport": "Guardar exportació", "previewExport": "Previsualitzar exportació" + }, + "case": { + "label": "Cas", + "placeholder": "Selecciona un cas" } }, "streaming": { diff --git a/web/public/locales/ca/config/cameras.json b/web/public/locales/ca/config/cameras.json new file mode 100644 index 000000000..eb3bbf647 --- /dev/null +++ b/web/public/locales/ca/config/cameras.json @@ -0,0 +1,936 @@ +{ + "label": "ConfiguracióDeLaCcàmera", + "name": { + "label": "Nom de la càmera", + "description": "Es requereix el nom de la càmera" + }, + "friendly_name": { + "label": "Nom amistós", + "description": "Nom amigable de la càmera utilitzat a la interfície d'usuari de la Frigate" + }, + "enabled": { + "label": "Habilitat", + "description": "Habilitat" + }, + "audio": { + "label": "Esdeveniments d'àudio", + "description": "Configuració per a la detecció d'esdeveniments basats en àudio per a aquesta càmera.", + "enabled": { + "label": "Habilita la detecció d'àudio", + "description": "Activa o desactiva la detecció d'esdeveniments d'àudio per a aquesta càmera." + }, + "max_not_heard": { + "label": "Temps d'espera final", + "description": "Quantitat de segons sense el tipus d'àudio configurat abans que acabi l'esdeveniment d'àudio." + }, + "min_volume": { + "label": "Volum mínim", + "description": "Llindar mínim de volum RMS necessari per executar la detecció d'àudio; els valors més baixos augmenten la sensibilitat (p. ex., 200 alta, 500 mitjana, 1000 baixa)." + }, + "listen": { + "label": "Tipus d'escoltes", + "description": "Llista de tipus d'esdeveniment d'àudio a detectar (per exemple: escorça, focarmalarma, crit, parla, crida)." + }, + "filters": { + "label": "Filtres d'àudio", + "description": "Paràmetres de filtre per-àudio-tipus, com ara llindars de confiança utilitzats per reduir falsos positius." + }, + "enabled_in_config": { + "label": "Estat d'àudio original", + "description": "Indica si la detecció d'àudio s'ha activat originalment al fitxer de configuració estàtic." + }, + "num_threads": { + "label": "Fils de detecció", + "description": "Nombre de fils a utilitzar per al processament de detecció d'àudio." + } + }, + "audio_transcription": { + "label": "Transcripció d'àudio", + "description": "Configuració per a la transcripció d'àudio en viu i de veu utilitzada per a esdeveniments i llegendes en directe.", + "enabled": { + "label": "Habilita la transcripció", + "description": "Activa o desactiva la transcripció d'esdeveniments d'àudio activada manualment." + }, + "enabled_in_config": { + "label": "Estat de transcripció original" + }, + "live_enabled": { + "label": "Transcripció en viu", + "description": "Habilita la transcripció en directe per a l'àudio a mesura que es rep." + } + }, + "birdseye": { + "label": "Birdseye", + "description": "Arranjament per a la vista composta Birdseye que compon múltiples canals de càmera en una única disposició.", + "enabled": { + "label": "Habilita Birdseye", + "description": "Activa o desactiva la funció de vista Birdseye." + }, + "mode": { + "label": "Mode de seguiment", + "description": "Mode per a incloure càmeres en Birdseye: 'objectes', 'motion' o 'continuous'." + }, + "order": { + "label": "Posició", + "description": "Posició numèrica que controla l'ordenació de la càmera en la disposició Birdseye." + } + }, + "detect": { + "label": "Detecció d'objectes", + "description": "Configuració del rol de detecció utilitzat per executar la detecció d'objectes i inicialitzar els rastrejadors.", + "enabled": { + "label": "Detecció activada", + "description": "Activa o desactiva la detecció d'objectes per a aquesta càmera. La detecció s'ha d'activar perquè s'executi el seguiment d'objectes." + }, + "height": { + "label": "Detecta l'alçada", + "description": "Alçada (píxels) dels fotogrames utilitzats per al flux de detecció; deixeu-ho buit per a utilitzar la resolució nativa del flux." + }, + "width": { + "label": "Detecta l'amplada", + "description": "Amplada (píxels) dels fotogrames utilitzats per al flux de detecció; deixeu-ho buit per a utilitzar la resolució nativa del flux." + }, + "fps": { + "label": "Detecta FPS", + "description": "Fotogrames desitjats per segon per executar la detecció; els valors més baixos redueixen l'ús de la CPU (el valor recomanat és 5, només estableix més alt - com a màxim 10 - si el seguiment d'objectes en moviment extremadament ràpid)." + }, + "min_initialized": { + "label": "Fotogrames d'inicialització mínims", + "description": "Nombre d'incidències de detecció consecutives necessàries abans de crear un objecte rastrejat. Incrementa per a reduir les falses inicialitzacions. El valor per defecte és fps dividit per 2." + }, + "max_disappeared": { + "label": "Màxim de fotogrames desapareguts", + "description": "Nombre de fotogrames sense detecció abans que es consideri que un objecte rastrejat ha desaparegut." + }, + "stationary": { + "label": "Configuració d'objectes estacionaris", + "description": "Configuració per detectar i gestionar objectes que romanen estacionaris durant un període de temps.", + "interval": { + "label": "Interval estacionari", + "description": "Amb quina freqüència (en fotogrames) s'executa una comprovació de detecció per confirmar un objecte estacionari." + }, + "threshold": { + "label": "Llindar estacionari", + "description": "Nombre de fotogrames sense cap canvi de posició necessari per a marcar un objecte com a estacionari." + }, + "max_frames": { + "label": "Fotogrames màxims", + "description": "Limita quant de temps es segueixen els objectes estacionaris abans de descartar-los.", + "default": { + "label": "Fotogrames màxims predeterminats", + "description": "Fotogrames màxims predeterminats per a fer el seguiment d'un objecte estacionari abans d'aturar-se." + }, + "objects": { + "label": "Fotogrames màxims de l'objecte", + "description": "Sobreescriu l'objecte per als fotogrames màxims per fer un seguiment dels objectes estacionaris." + } + }, + "classifier": { + "label": "Habilita el classificador visual", + "description": "Utilitza un classificador visual per detectar objectes realment estàtics, fins i tot quan els quadres de delimitació tremolen." + } + }, + "annotation_offset": { + "label": "Desplaçament de l'anotació", + "description": "Mil·lisegons per a desplaçar detecta anotacions per a alinear millor els límits de la línia de temps amb els enregistraments; pot ser positiu o negatiu." + } + }, + "face_recognition": { + "label": "Reconeixement de cares", + "description": "Configuració per a la detecció de la cara i el reconeixement d'aquesta càmera.", + "enabled": { + "label": "Habilita el reconeixement facial", + "description": "Activa o desactiva el reconeixement facial." + }, + "min_area": { + "label": "Àrea mínima de la cara", + "description": "Àrea mínima (píxels) d'un quadre facial detectat requerit per intentar el reconeixement." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Paràmetres del FFmpeg que inclouen camins binaris, args, opcions de hwaccel i args de sortida per rol.", + "path": { + "label": "Ruta FFmpeg", + "description": "Camí al binari FFmpeg a usar o un àlies de versió («5.0» o «7.0»)." + }, + "global_args": { + "label": "Arguments globals del FFmpeg", + "description": "Arguments globals passats als processos FFmpeg." + }, + "hwaccel_args": { + "label": "Arguments d'acceleració del maquinari", + "description": "Arguments d'acceleració de maquinari per a FFmpeg. Es recomanen predefinits específics del proveïdor." + }, + "input_args": { + "label": "Arguments d'entrada", + "description": "Arguments d'entrada aplicats als fluxos d'entrada del FFmpeg." + }, + "output_args": { + "label": "Arguments de sortida", + "description": "Arguments de sortida predeterminats utilitzats per a diferents rols FFmpeg com detecta i registra.", + "detect": { + "label": "Detecta els arguments de sortida", + "description": "Arguments de sortida predeterminats per a detectar fluxos de rol." + }, + "record": { + "label": "Registra els arguments de sortida", + "description": "Arguments de sortida predeterminats per a enregistrar fluxos de rols." + } + }, + "retry_interval": { + "label": "Temps de reintent del FFmpeg", + "description": "Segons a esperar abans d'intentar tornar a connectar un flux de càmera després d'un error. Per defecte és 10." + }, + "apple_compatibility": { + "label": "Compatibilitat d'Apple", + "description": "Activa l'etiquetatge HEVC per a una millor compatibilitat amb el reproductor d'Apple en gravar H.265." + }, + "gpu": { + "label": "Índex de GPU", + "description": "Índex de GPU predeterminat utilitzat per a l'acceleració de maquinari si està disponible." + }, + "inputs": { + "label": "Entrada de la càmera", + "description": "Llista de definicions de flux d'entrada (camins i rols) per a aquesta càmera.", + "path": { + "label": "Ruta d'entrada", + "description": "URL o ruta del flux d'entrada de la càmera." + }, + "roles": { + "label": "Rols d'entrada", + "description": "Rols per a aquest flux d'entrada." + }, + "global_args": { + "label": "Arguments globals del FFmpeg", + "description": "Arguments globals del FFmpeg per a aquest flux d'entrada." + }, + "hwaccel_args": { + "label": "Arguments d'acceleració del maquinari", + "description": "Arguments d'acceleració del maquinari per a aquest flux d'entrada." + }, + "input_args": { + "label": "Arguments d'entrada", + "description": "Arguments d'entrada específics d'aquest flux." + } + } + }, + "live": { + "label": "Reproducció en directe", + "description": "Configuració utilitzada per la interfície d'usuari web per controlar la selecció, resolució i qualitat del flux en viu.", + "streams": { + "label": "Noms de flux en viu", + "description": "Assignació de noms de flux configurats per a restream/go2rtc noms utilitzats per a la reproducció en viu." + }, + "height": { + "label": "Alçada del directe", + "description": "Alçada (píxels) per a renderitzar el flux en viu jsmpeg a la interfície d'usuari web; ha de ser . detecta l'alçada del flux." + }, + "quality": { + "label": "Qualitat del directe", + "description": "Qualitat de codificació per al flux jsmpeg (1 més alt, 31 més baix)." + } + }, + "lpr": { + "label": "Reconeixement de matrícules", + "description": "Paràmetres de reconeixement de la matrícula de la llicència, inclosos els llindars de detecció, el format i les plaques conegudes.", + "enabled": { + "label": "Habilita el LPR", + "description": "Activa o desactiva LPR en aquesta càmera." + }, + "expire_time": { + "label": "Segons de caducitat", + "description": "Temps en segons després del qual una matrícules no vista expira del rastrejador (només per a càmeres LPR dedicades)." + }, + "min_area": { + "label": "Àrea mínima de la matrícula", + "description": "Àrea mínima de matrícula (píxels) necessària per intentar el reconeixement." + }, + "enhancement": { + "label": "Nivell de millora", + "description": "Nivell de millora (0-10) per aplicar als cultius de plaques abans de l'OCR; els valors més alts no sempre poden millorar els resultats, els nivells superiors a 5 només poden funcionar amb plaques nocturnes i s'han d'utilitzar amb precaució." + } + }, + "motion": { + "label": "Detecció de moviment", + "enabled": { + "label": "Habilita la detecció de moviment", + "description": "Activa o desactiva la detecció de moviment d'aquesta càmera." + }, + "description": "Configuració predeterminada de detecció de moviment per a aquesta càmera.", + "threshold": { + "label": "Llindar del moviment", + "description": "Llindar de diferència de píxels utilitzat pel detector de moviment; els valors més alts redueixen la sensibilitat (interval 1-255)." + }, + "lightning_threshold": { + "label": "Llindar del llamp", + "description": "Llindar per detectar i ignorar les puntes d'il·luminació breu (més baixes són més sensibles, valors entre 0,3 i 1,0)." + }, + "improve_contrast": { + "label": "Millora el contrast", + "description": "Aplicar la millora del contrast als fotogrames abans de l'anàlisi del moviment per ajudar a la detecció." + }, + "contour_area": { + "label": "Àrea de la vora", + "description": "Àrea mínima de contorn en píxels necessària per a comptar un contorn de moviment." + }, + "delta_alpha": { + "label": "Delta alfa", + "description": "Factor de barreja alfa utilitzat en la diferència de fotogrames per al càlcul del moviment." + }, + "frame_alpha": { + "label": "Alfa del fotograma", + "description": "Valor alfa utilitzat en la barreja de fotogrames per al preprocessament del moviment." + }, + "frame_height": { + "label": "Alçada del fotograma", + "description": "Alçada en píxels per a escalar els fotogrames quan es computa el moviment." + }, + "mask": { + "label": "Coordenades de la màscara", + "description": "Coordenades x,y que defineixen el polígon de màscara de moviment utilitzat per incloure/excloure àrees." + }, + "mqtt_off_delay": { + "label": "Retard MQTT desactivat", + "description": "Segons a esperar després de l'última moció abans de publicar un estat MQTT 'off'." + }, + "enabled_in_config": { + "label": "Estat del moviment original", + "description": "Indica si la detecció de moviment s'ha activat en la configuració estàtica original." + }, + "raw_mask": { + "label": "Màscara en brut" + } + }, + "objects": { + "label": "Objectes", + "description": "Object tracking defaults incloent quines etiquetes rastrejar i per objecte filtres.", + "track": { + "label": "Objectes a seguir", + "description": "Llista d'etiquetes d'objectes a seguir per a aquesta càmera." + }, + "filters": { + "label": "Filtres d'objectes", + "description": "Filtres aplicats als objectes detectats per reduir falsos positius (àrea, relació, confiança).", + "min_area": { + "label": "Àrea mínima de l'objecte", + "description": "Es requereix una àrea de caixa contenidora mínima (píxels o percentatge) per a aquest tipus d'objecte. Pot ser píxels (int) o percentatge (float entre 0,000001 i 0.99)." + }, + "max_area": { + "label": "Àrea màxima de l'objecte", + "description": "Es permet l'àrea màxima de la caixa contenidora (píxels o percentatge) per a aquest tipus d'objecte. Pot ser píxels (int) o percentatge (float entre 0,000001 i 0.99)." + }, + "min_ratio": { + "label": "Relació mínima d'aspecte", + "description": "Relació mínima d'amplada/alçada requerida per a la casella contenidora a qualificar." + }, + "max_ratio": { + "description": "Es permet la relació màxima d'amplada/alçada per a la casella contenidora a qualificar.", + "label": "Relació màxima d'aspecte" + }, + "threshold": { + "label": "Llindar de confiança", + "description": "Es requereix un llindar de confiança mitjà per a la detecció perquè l'objecte es consideri un veritable positiu." + }, + "min_score": { + "label": "Confiança mínima", + "description": "Es requereix una confiança mínima de detecció d'un sol fotograma per a comptar l'objecte." + }, + "mask": { + "label": "Màscara de filtre", + "description": "Coordenades de polígon que defineixen on s'aplica aquest filtre dins del marc." + }, + "raw_mask": { + "label": "Màscara en brut" + } + }, + "mask": { + "label": "Màscara d'objecte", + "description": "Polígon de màscara utilitzat per evitar la detecció d'objectes en àrees especificades." + }, + "raw_mask": { + "label": "Màscara en brut" + }, + "genai": { + "label": "Configuració de l'objecte GenAI", + "description": "Opcions de GenAI per descriure objectes rastrejats i enviar fotogrames per a la generació.", + "enabled": { + "label": "Habilita el GenAI", + "description": "Habilita la generació de descripcions de GenAI per als objectes rastrejats de manera predeterminada." + }, + "use_snapshot": { + "label": "Utilitza instantànies", + "description": "Usa instantànies d'objecte en lloc de miniatures per a la generació de descripcions de GenAI." + }, + "prompt": { + "label": "Indicació de la llegenda", + "description": "Plantilla de pregunta predeterminada utilitzada en generar descripcions amb GenAI." + }, + "object_prompts": { + "label": "Peticions d'objecte", + "description": "Per objecte demana personalitzar les sortides de GenAI per a etiquetes específiques." + }, + "objects": { + "label": "Objectes GenAI", + "description": "Llista d'etiquetes d'objectes a enviar a GenAI per defecte." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que s'han d'introduir perquè els objectes es puguin classificar per a la generació de descripcions de GenAI." + }, + "debug_save_thumbnails": { + "label": "Desa les miniatures", + "description": "Desa les miniatures enviades a GenAI per a la depuració i la revisió." + }, + "send_triggers": { + "label": "Activadors de GenAI", + "description": "Defineix quan s'han d'enviar fotogrames a GenAI (al final, després de les actualitzacions, etc.).", + "tracked_object_end": { + "label": "Envia al final", + "description": "Envia una sol·licitud a GenAI quan acabi l'objecte rastrejat." + }, + "after_significant_updates": { + "label": "Activador de GenAI primerenc", + "description": "Envia una sol·licitud a GenAI després d'un nombre especificat d'actualitzacions significatives per a l'objecte rastrejat." + } + }, + "enabled_in_config": { + "label": "Estat original de GenAI", + "description": "Indica si el GenAI s'ha activat a la configuració estàtica original." + } + } + }, + "record": { + "label": "Enregistrament", + "description": "Configuració d'enregistrament i retenció d'aquesta càmera.", + "enabled": { + "label": "Habilita l'enregistrament", + "description": "Activa o desactiva l'enregistrament d'aquesta càmera." + }, + "expire_interval": { + "label": "Interval de neteja de l'enregistrament", + "description": "Minuts entre passades de neteja que eliminen segments d'enregistrament caducats." + }, + "continuous": { + "label": "Retenció contínua", + "description": "Nombre de dies per a retenir els enregistraments independentment dels objectes rastrejats o del moviment. Establiu-ho a 0 si només voleu retenir enregistraments d'alertes i deteccions.", + "days": { + "label": "Dies de retenció", + "description": "Dies per retenir enregistraments." + } + }, + "motion": { + "label": "Retenció del moviment", + "description": "Nombre de dies per a retenir els enregistraments activats pel moviment independentment dels objectes rastrejats. Establiu-ho a 0 si només voleu retenir enregistraments d'alertes i deteccions.", + "days": { + "label": "Dies de retenció", + "description": "Dies per retenir enregistraments." + } + }, + "detections": { + "label": "Retenció de detecció", + "description": "Configuració de retenció de l'enregistrament per a esdeveniments de detecció, incloent-hi la durada de la captura anterior a la publicació.", + "pre_capture": { + "label": "Segons de precaptura", + "description": "Nombre de segons abans de l'esdeveniment de detecció a incloure en l'enregistrament." + }, + "post_capture": { + "label": "Segons de postcaptura", + "description": "Nombre de segons després de l'esdeveniment de detecció que s'inclourà a l'enregistrament." + }, + "retain": { + "label": "Retenció d'esdeveniments", + "description": "Configuració de retenció per a enregistraments d'esdeveniments de detecció.", + "days": { + "label": "Dies de retenció", + "description": "Nombre de dies per a retenir enregistraments d'esdeveniments de detecció." + }, + "mode": { + "label": "Mode de retenció", + "description": "Mode de retenció: tot (desa tots els segments), moviment (desa els segments amb moviment), o actiuobobjectes (desa els segments amb objectes actius)." + } + } + }, + "alerts": { + "label": "Retenció d'alerta", + "description": "Configuració de retenció de l'enregistrament per a esdeveniments d'alerta, incloses les durades de captura anteriors a la publicació.", + "pre_capture": { + "label": "Segons de precaptura", + "description": "Nombre de segons abans de l'esdeveniment de detecció a incloure en l'enregistrament." + }, + "post_capture": { + "label": "Segons de postcaptura", + "description": "Nombre de segons després de l'esdeveniment de detecció que s'inclourà a l'enregistrament." + }, + "retain": { + "label": "Retenció d'esdeveniments", + "description": "Configuració de retenció per a enregistraments d'esdeveniments de detecció.", + "days": { + "label": "Dies de retenció", + "description": "Nombre de dies per a retenir enregistraments d'esdeveniments de detecció." + }, + "mode": { + "label": "Mode de retenció", + "description": "Mode de retenció: tot (desa tots els segments), moviment (desa els segments amb moviment), o actiuobobjectes (desa els segments amb objectes actius)." + } + } + }, + "export": { + "label": "Exporta la configuració", + "description": "Paràmetres utilitzats en exportar enregistraments com el timelapse i l'acceleració del maquinari.", + "hwaccel_args": { + "label": "Exporta els arguments de l'hwaccel", + "description": "Args d'acceleració de maquinari a utilitzar per a operacions d'exportació/transcodificació." + } + }, + "preview": { + "label": "Configuració de la vista prèvia", + "description": "Paràmetres que controlen la qualitat de les vistes prèvies de l'enregistrament que es mostren a la interfície d'usuari.", + "quality": { + "label": "Qualitat de la vista prèvia", + "description": "Nivell de qualitat de la vista prèvia (moltlowbaix, baix, mitjà, alt, molt).alt)." + } + }, + "enabled_in_config": { + "label": "Estat de l'enregistrament original", + "description": "Indica si l'enregistrament s'ha activat en la configuració estàtica original." + } + }, + "review": { + "label": "Revisió", + "description": "Configuració que controla les alertes, les deteccions i els resums de revisió de GenAI utilitzats per la interfície d'usuari i l'emmagatzematge d'aquesta càmera.", + "alerts": { + "label": "Configuració d'alertes", + "description": "Paràmetres per als quals els objectes rastrejats generen alertes i com es mantenen les alertes.", + "enabled": { + "label": "Habilita les alertes", + "description": "Activa o desactiva la generació d'alertes per a aquesta càmera." + }, + "labels": { + "label": "Etiquetes d'alerta", + "description": "Llista d'etiquetes d'objectes que qualifiquen d'alertes (per exemple: cotxe, persona)." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que un objecte ha d'introduir per a ser considerat una alerta; deixeu-ho buit per a permetre qualsevol zona." + }, + "enabled_in_config": { + "label": "Estat de les alertes originals", + "description": "Fa un seguiment de si les alertes es van habilitar originalment a la configuració estàtica." + }, + "cutoff_time": { + "label": "Temps de tall d'alertes", + "description": "Segons a esperar després de no provocar activitat d'alerta abans de tallar una alerta." + } + }, + "detections": { + "label": "Configuració de les deteccions", + "description": "Paràmetres per a crear esdeveniments de detecció (no-alerta) i quant de temps conservar-los.", + "enabled": { + "label": "Habilita les deteccions", + "description": "Activa o desactiva els esdeveniments de detecció d'aquesta càmera." + }, + "labels": { + "label": "Etiquetes de detecció", + "description": "Llista d'etiquetes d'objectes que es qualifiquen com a esdeveniments de detecció." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que un objecte ha d'introduir per a ser considerat una detecció; deixeu-ho buit per a permetre qualsevol zona." + }, + "cutoff_time": { + "label": "Temps de tall de detecció", + "description": "Segons a esperar després de no haver-hi activitat de detecció abans de tallar una detecció." + }, + "enabled_in_config": { + "label": "Estat de les deteccions originals", + "description": "Fa un seguiment de si les deteccions es van habilitar originalment a la configuració estàtica." + } + }, + "genai": { + "label": "Configuració del GenAI", + "description": "Controla l'ús de la IA generativa per a la producció de descripcions i resums d'articles de revisió.", + "enabled": { + "label": "Habilita les descripcions del GenAI", + "description": "Activa o desactiva les descripcions i resums generats per GenAI per als elements de revisió." + }, + "alerts": { + "label": "Habilita el GenAI per a alertes", + "description": "Utilitzeu GenAI per a generar descripcions per als elements d'alerta." + }, + "detections": { + "label": "Habilita el GenAI per a les deteccions", + "description": "Utilitzeu GenAI per generar descripcions per als elements de detecció." + }, + "image_source": { + "label": "Revisa l'origen de la imatge", + "description": "Font d'imatges enviades a GenAI ('previsualització' o 'enregistraments'); 'enregistraments' utilitza Fotogrames de més qualitat però més tokens." + }, + "additional_concerns": { + "label": "Altres preocupacions", + "description": "Una llista de preocupacions o notes addicionals que el GenAI ha de tenir en compte a l'hora d'avaluar l'activitat en aquesta càmera." + }, + "debug_save_thumbnails": { + "label": "Desa les miniatures", + "description": "Desa les miniatures que s'envien al proveïdor GenAI per a la depuració i la revisió." + }, + "enabled_in_config": { + "label": "Estat original de GenAI", + "description": "Fa un seguiment de si la revisió de GenAI es va habilitar originalment a la configuració estàtica." + }, + "preferred_language": { + "label": "Idioma preferit", + "description": "Idioma preferit per sol·licitar al proveïdor GenAI respostes generades." + }, + "activity_context_prompt": { + "label": "Indicador de context de l'activitat", + "description": "Pregunta personalitzada que descriu el que és i no és una activitat sospitosa per proporcionar context per als resums de GenAI." + } + } + }, + "semantic_search": { + "label": "Cerca semàntica", + "description": "Paràmetres per a la cerca semàntica que construeix i consulta incrustacions d'objectes per a trobar elements similars.", + "triggers": { + "label": "Activadors", + "description": "Accions i criteris coincidents per als desencadenants de cerca semàntica específics de la càmera.", + "friendly_name": { + "label": "Nom amistós", + "description": "Nom opcional amistós que es mostra a la interfície d'usuari per a aquest activador." + }, + "enabled": { + "label": "Habilita aquest activador", + "description": "Activa o desactiva aquest activador de cerca semàntica." + }, + "type": { + "label": "Tipus d'activador", + "description": "Tipus d'activador: «miniatures» (match contra imatge) o «descripció» (match contra text)." + }, + "data": { + "label": "Contingut del disparador", + "description": "Frase de text o ID de miniatures per a coincidir amb els objectes rastrejats." + }, + "threshold": { + "label": "Llindar d'activació", + "description": "Puntuació mínima de similitud (0-1) necessària per activar aquest activador." + }, + "actions": { + "label": "Accions d'activació", + "description": "Llista d'accions a executar quan coincideixi l'activador (notificació, sublabeletiqueta, atribut)." + } + } + }, + "snapshots": { + "label": "Instantànies", + "description": "Configuració per a les instantànies JPEG desades dels objectes seguits per a aquesta càmera.", + "enabled": { + "label": "Instantànies habilitades", + "description": "Activa o desactiva el desament de les instantànies d'aquesta càmera." + }, + "clean_copy": { + "label": "Desa la còpia neta", + "description": "Desa una còpia neta no anotada de les instantànies a més de les anotades." + }, + "timestamp": { + "label": "Superposició de marca horària", + "description": "Superposa una marca horària a les instantànies desades." + }, + "bounding_box": { + "label": "Superposició de la caixa contenidora", + "description": "Dibuixa caixes delimitadores per als objectes seguits en les instantànies desades." + }, + "crop": { + "label": "Retalla la instantània", + "description": "Retalla les instantànies desades a la caixa delimitadora de l'objecte detectat." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que ha d'introduir un objecte perquè es desi una instantània." + }, + "height": { + "label": "Alçada de la instantània", + "description": "Alçada (píxels) per a canviar la mida de les instantànies desades; deixeu-ho buit per a preservar la mida original." + }, + "retain": { + "label": "Retenció de la instantània", + "description": "Paràmetres de retenció per a les instantànies desades, inclosos els dies predeterminats i les anul·lacions per objecte.", + "default": { + "label": "Retenció predeterminada", + "description": "Nombre predeterminat de dies per a retenir les instantànies." + }, + "mode": { + "label": "Mode de retenció", + "description": "Mode de retenció: tot (desa tots els segments), moviment (desa els segments amb moviment), o actiuobobjectes (desa els segments amb objectes actius)." + }, + "objects": { + "label": "Retenció d'objectes", + "description": "Anul·lació per objecte per dies de retenció d'instantànies." + } + }, + "quality": { + "label": "Qualitat JPEG", + "description": "Qualitat del codi JPEG per a les instantànies desades (0-100)." + } + }, + "timestamp_style": { + "label": "Estil de la marca horària", + "description": "Opcions d'estilització per a marques de temps d'alimentació aplicades a enregistraments i instantànies.", + "position": { + "label": "Posició de la marca horària", + "description": "Posició de la marca horària a la imatge (tl/tr/bl/br)." + }, + "format": { + "label": "Format de la marca horària", + "description": "Cadena de format de data i hora utilitzada per a marques horàries (codis de format de data i hora de Python)." + }, + "color": { + "label": "Color de la marca horària", + "description": "Valors de color RGB per al text de la marca de temps (tots els valors 0-255).", + "red": { + "label": "Vermell", + "description": "Component vermell (0-255) per al color de la marca horària." + }, + "green": { + "label": "Verd", + "description": "Component verd (0-255) per al color de la marca horària." + }, + "blue": { + "label": "Blau", + "description": "Component blau (0-255) per al color de la marca horària." + } + }, + "thickness": { + "label": "Gruix de la marca de temps", + "description": "Gruix de la línia del text de la marca de temps." + }, + "effect": { + "label": "Efecte de marca horària", + "description": "Efecte visual per al text de la marca de temps (cap, sòlid, ombra)." + } + }, + "best_image_timeout": { + "label": "Temps d'espera de la millor imatge", + "description": "Quant de temps s'espera per a la imatge amb la puntuació de confiança més alta." + }, + "mqtt": { + "label": "MQTT", + "description": "Configuració de la publicació d'imatges MQTT.", + "enabled": { + "label": "Envia la imatge", + "description": "Habilita la publicació d'instantànies d'imatges per a objectes als temes MQTT d'aquesta càmera." + }, + "timestamp": { + "label": "Afegeix una marca horària", + "description": "Superposa una marca horària a les imatges publicades a MQTT." + }, + "bounding_box": { + "label": "Afegeix el quadre de delimitació", + "description": "Dibuixa caixes delimitadores en imatges publicades sobre MQTT." + }, + "crop": { + "label": "Retalla la imatge", + "description": "Retalla les imatges publicades a MQTT a la caixa contenidora de l'objecte detectat." + }, + "height": { + "label": "Alçada de la imatge", + "description": "Alçada (píxels) per a canviar la mida de les imatges publicades sobre MQTT." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que ha d'introduir un objecte perquè es publiqui una imatge MQTT." + }, + "quality": { + "label": "Qualitat JPEG", + "description": "Qualitat JPEG per a les imatges publicades a MQTT (0-100)." + } + }, + "notifications": { + "label": "Notificacions", + "description": "Configuració per a habilitar i controlar les notificacions d'aquesta càmera.", + "enabled": { + "label": "Habilita les notificacions", + "description": "Activa o desactiva les notificacions d'aquesta càmera." + }, + "email": { + "label": "Correu electrònic de notificació", + "description": "Adreça de correu electrònic utilitzada per a notificacions push o requerides per determinats proveïdors de notificacions." + }, + "cooldown": { + "label": "Període de reducció", + "description": "Retirada (segons) entre notificacions per evitar els destinataris de correu brossa." + }, + "enabled_in_config": { + "label": "Estat de les notificacions originals", + "description": "Indica si les notificacions s'han activat en la configuració estàtica original." + } + }, + "onvif": { + "label": "ONVIF", + "description": "Connexió ONVIF i configuració de seguiment automàtic PTZ per a aquesta càmera.", + "host": { + "label": "Servidor ONVIF", + "description": "Host (i esquema opcional) per al servei ONVIF per a aquesta càmera." + }, + "port": { + "label": "Port ONVIF", + "description": "Número de port del servei ONVIF." + }, + "user": { + "label": "Nom d'usuari ONVIF", + "description": "Nom d'usuari per a l'autenticació ONVIF; alguns dispositius requereixen l'usuari administrador per a ONVIF." + }, + "password": { + "label": "Contrasenya ONVIF", + "description": "Contrasenya per a l'autenticació ONVIF." + }, + "tls_insecure": { + "label": "Inhabilita la verificació TLS", + "description": "Omet la verificació TLS i desactiva l'autenticació de resum per a ONVIF (no segur; només s'utilitza en xarxes segures)." + }, + "autotracking": { + "label": "Seguiment automàtic", + "description": "Segueix automàticament els objectes en moviment i els manté centrats en el marc utilitzant els moviments de la càmera PTZ.", + "enabled": { + "label": "Habilita el seguiment automàtic", + "description": "Activa o desactiva el seguiment automàtic de la càmera PTZ dels objectes detectats." + }, + "calibrate_on_startup": { + "label": "Calibra a l'inici", + "description": "Mesura les velocitats del motor PTZ a l'inici per millorar la precisió del seguiment. Frigate actualitzarà la configuració amb «movtion.weights» després del calibratge." + }, + "zooming": { + "label": "Mode de zoom", + "description": "Comportament de zoom de control: desactivat (només pan/tilt), absolut (més compatible) o relatiu (pa/tilt/zoom concurrent)." + }, + "zoom_factor": { + "label": "Factor de zoom", + "description": "Controla el nivell d'ampliació dels objectes rastrejats. Els valors més baixos mantenen més escena a la vista; els valors més alts s'apropen, però poden perdre el seguiment. Valors entre 0,1 i 0,75." + }, + "track": { + "label": "Objectes rastrejats", + "description": "Llista de tipus d'objectes que haurien d'activar el seguiment automàtic." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Els objectes han d'entrar en una d'aquestes zones abans que comenci el seguiment automàtic." + }, + "return_preset": { + "label": "Retorna la predefinició", + "description": "Nom predefinit ONVIF configurat al microprogramari de la càmera per tornar després de finalitzar el seguiment." + }, + "timeout": { + "label": "Temps d'espera de retorn", + "description": "Espereu tants segons després de perdre el seguiment abans de tornar la càmera a la posició preestablerta." + }, + "movement_weights": { + "label": "Pes del moviment", + "description": "Valors de calibratge generats automàticament pel calibratge de la càmera. No modifiquis manualment." + }, + "enabled_in_config": { + "label": "Estat d'autoseguiment original", + "description": "Camp intern per a fer el seguiment de si s'ha habilitat el seguiment automàtic a la configuració." + } + }, + "ignore_time_mismatch": { + "label": "Ignora el desajust de temps", + "description": "Ignora les diferències de sincronització de temps entre càmera i servidor Frigate per a la comunicació ONVIF." + } + }, + "type": { + "label": "Tipus de càmera", + "description": "Tipus de càmera" + }, + "ui": { + "label": "Interfície d'usuari de la càmera", + "description": "Mostra l'ordre i la visibilitat d'aquesta càmera a la interfície d'usuari. La comanda afecta el tauler predeterminat. Per a un control més granular, utilitzeu grups de càmera.", + "order": { + "label": "Ordre de la interfície", + "description": "Ordre numèric utilitzat per ordenar la càmera a la interfície d'usuari (taulell de control i llistes per defecte); els nombres més grans apareixen més tard." + }, + "dashboard": { + "label": "Mostra a l'interfície d'usuari", + "description": "Estableix si aquesta càmera és visible a tot arreu a la interfície d'usuari de la Frigate. Desactivar això requerirà editar manualment la configuració per tornar a veure aquesta càmera a la interfície d'usuari." + } + }, + "webui_url": { + "label": "URL de la càmera", + "description": "URL per visitar la càmera directament des de la pàgina del sistema" + }, + "zones": { + "label": "Zones", + "description": "Les zones permeten definir una àrea específica del marc perquè pugueu determinar si un objecte es troba dins d'una àrea determinada.", + "friendly_name": { + "label": "Nom de la zona", + "description": "Un nom fàcil d'utilitzar per a la zona, que es mostra a la interfície d'usuari de la fragata. Si no s'estableix, s'utilitzarà una versió amb format del nom de la zona." + }, + "enabled": { + "label": "Si aquesta zona està activa. Les zones inhabilitades s'ignoren en temps d'execució." + }, + "enabled_in_config": { + "label": "Feu un seguiment de l'estat original de la zona." + }, + "filters": { + "label": "Filtres de zona", + "description": "Filtres que s'aplicaran als objectes d'aquesta zona. S'utilitza per reduir falsos positius o restringir quins objectes es consideren presents a la zona.", + "min_area": { + "label": "Àrea mínima de l'objecte", + "description": "Es requereix una àrea de caixa contenidora mínima (píxels o percentatge) per a aquest tipus d'objecte. Pot ser píxels (int) o percentatge (float entre 0,000001 i 0.99)." + }, + "max_area": { + "label": "Àrea màxima de l'objecte", + "description": "Es permet l'àrea màxima de la caixa contenidora (píxels o percentatge) per a aquest tipus d'objecte. Pot ser píxels (int) o percentatge (float entre 0,000001 i 0.99)." + }, + "min_ratio": { + "label": "Relació mínima d'aspecte", + "description": "Relació mínima d'amplada/alçada requerida per a la casella contenidora a qualificar." + }, + "max_ratio": { + "label": "Relació màxima d'aspecte", + "description": "Es permet la relació màxima d'amplada/alçada per a la casella contenidora a qualificar." + }, + "threshold": { + "label": "Llindar de confiança", + "description": "Es requereix un llindar de confiança mitjà per a la detecció perquè l'objecte es consideri un veritable positiu." + }, + "min_score": { + "label": "Confiança mínima", + "description": "Es requereix una confiança mínima de detecció d'un sol fotograma per a comptar l'objecte." + }, + "mask": { + "label": "Màscara de filtre", + "description": "Coordenades de polígon que defineixen on s'aplica aquest filtre dins del marc." + }, + "raw_mask": { + "label": "Màscara en brut" + } + }, + "objects": { + "description": "Llista de tipus d'objectes (des del mapa d'etiquetes) que poden activar aquesta zona. Pot ser una cadena o una llista de cadenes. Si està buit, es consideraran tots els objectes.", + "label": "Objectes d'activació" + }, + "coordinates": { + "label": "Coordenades", + "description": "Coordenades de polígon que defineixen l'àrea de zona. Pot ser una cadena separada per comes o una llista de cadenes de coordenades. Les coordenades han de ser relatives (0-1) o absolutes (antic)." + }, + "distances": { + "label": "Distàncies del món real", + "description": "Distàncies opcionals del món real per a cada costat del quadrilàter de la zona, utilitzades per a càlculs de velocitat o distància. Si s'estableix, ha de tenir exactament 4 valors." + }, + "inertia": { + "label": "Fotogrames d'inèrcia", + "description": "Nombre de fotogrames consecutius que s'ha de detectar un objecte a la zona abans de considerar-lo present. Ajuda a filtrar les deteccions transitòries." + }, + "loitering_time": { + "label": "Segons flotants", + "description": "Nombre de segons que un objecte ha de romandre a la zona a considerar com a errant. Establiu-ho a 0 per a desactivar la detecció de la itinerància." + }, + "speed_threshold": { + "label": "Velocitat mínima", + "description": "Velocitat mínima (en unitats del món real si s'estableixen distàncies) necessària perquè un objecte es consideri present a la zona. S'utilitza per a activadors de zona basats en velocitat." + } + }, + "enabled_in_config": { + "label": "Estat original de la càmera", + "description": "Feu un seguiment de l'estat original de la càmera." + } +} diff --git a/web/public/locales/ca/config/global.json b/web/public/locales/ca/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ca/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ca/config/groups.json b/web/public/locales/ca/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ca/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ca/config/validation.json b/web/public/locales/ca/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ca/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ca/objects.json b/web/public/locales/ca/objects.json index 253e27540..06cac2028 100644 --- a/web/public/locales/ca/objects.json +++ b/web/public/locales/ca/objects.json @@ -39,7 +39,7 @@ "surfboard": "Taula de surf", "tennis_racket": "Raqueta de tenis", "bottle": "Ampolla", - "plate": "Placa", + "plate": "Matrícula", "wine_glass": "Got de vi", "cup": "Copa", "fork": "Forquilla", diff --git a/web/public/locales/ca/views/classificationModel.json b/web/public/locales/ca/views/classificationModel.json index 7a9a7571d..8c1a24791 100644 --- a/web/public/locales/ca/views/classificationModel.json +++ b/web/public/locales/ca/views/classificationModel.json @@ -27,7 +27,7 @@ "deleteImageFailed": "No s'ha pogut suprimir: {{errorMessage}}", "deleteCategoryFailed": "No s'ha pogut suprimir la classe: {{errorMessage}}", "categorizeFailed": "No s'ha pogut categoritzar la imatge: {{errorMessage}}", - "trainingFailed": "Ha fallat l'entrenament del model. Comproveu els registres de fragata per a més detalls.", + "trainingFailed": "Ha fallat l'entrenament del model. Comproveu els registres de Frigate per a més detalls.", "deleteModelFailed": "No s'ha pogut suprimir el model: {{errorMessage}}", "updateModelFailed": "No s'ha pogut actualitzar el model: {{errorMessage}}", "renameCategoryFailed": "No s'ha pogut canviar el nom de la classe: {{errorMessage}}", diff --git a/web/public/locales/ca/views/explore.json b/web/public/locales/ca/views/explore.json index 2c94e50f5..0b2adba5c 100644 --- a/web/public/locales/ca/views/explore.json +++ b/web/public/locales/ca/views/explore.json @@ -285,7 +285,7 @@ "title": "Configuració d'anotacions", "showAllZones": { "title": "Mostra totes les Zones", - "desc": "Mostra sempre les zones amb marcs on els objectes hagin entrat a la zona." + "desc": "Mostra sempre les zones amb fotogrames on els objectes hagin entrat a la zona." }, "offset": { "label": "Òfset d'Anotació", diff --git a/web/public/locales/ca/views/exports.json b/web/public/locales/ca/views/exports.json index dec2726ff..1778cffc4 100644 --- a/web/public/locales/ca/views/exports.json +++ b/web/public/locales/ca/views/exports.json @@ -11,13 +11,27 @@ }, "toast": { "error": { - "renameExportFailed": "Error al canviar el nom de l’exportació: {{errorMessage}}" + "renameExportFailed": "Error al canviar el nom de l’exportació: {{errorMessage}}", + "assignCaseFailed": "No s'ha pogut actualitzar l'assignació de cas:{{errorMessage}}" } }, "tooltip": { "shareExport": "Comparteix l'exportació", "downloadVideo": "Baixa el vídeo", "editName": "Edita el nom", - "deleteExport": "Suprimeix l'exportació" + "deleteExport": "Suprimeix l'exportació", + "assignToCase": "Afegeix al cas" + }, + "headings": { + "cases": "Casos", + "uncategorizedExports": "Exportacions sense categoria" + }, + "caseDialog": { + "title": "Afegeix al cas", + "description": "Trieu un cas existent o creeu-ne un de nou.", + "selectLabel": "Cas", + "newCaseOption": "Crea un cas nou", + "nameLabel": "Nom del cas", + "descriptionLabel": "Descripció" } } diff --git a/web/public/locales/ca/views/settings.json b/web/public/locales/ca/views/settings.json index 13f8d2bd6..d984ed93f 100644 --- a/web/public/locales/ca/views/settings.json +++ b/web/public/locales/ca/views/settings.json @@ -7,17 +7,20 @@ "authentication": "Configuració d'autenticació - Frigate", "camera": "Paràmetres de càmera - Frigate", "masksAndZones": "Editor de màscares i zones - Frigate", - "general": "Configuració de la interfície d'usuari - Fragata", + "general": "Configuració del perfil - Frigate", "frigatePlus": "Paràmetres de Frigate+ - Frigate", "notifications": "Paràmetres de notificació - Frigate", "cameraManagement": "Gestionar càmeres - Frigate", - "cameraReview": "Configuració Revisió de Càmeres - Frigate" + "cameraReview": "Configuració Revisió de Càmeres - Frigate", + "globalConfig": "Configuració global - Frigate", + "cameraConfig": "Configuració de la càmera - Frigate", + "maintenance": "Manteniment - Frigate" }, "menu": { "ui": "Interfície d'usuari", "cameras": "Paràmetres de la càmera", "masksAndZones": "Màscares / Zones", - "motionTuner": "Ajust de detecció de moviment", + "motionTuner": "Afinador de moviment", "users": "Usuaris", "notifications": "Notificacions", "debug": "Depuració", @@ -26,7 +29,62 @@ "triggers": "Disparadors", "cameraManagement": "Gestió", "cameraReview": "Revisió", - "roles": "Rols" + "roles": "Rols", + "general": "General", + "globalConfig": "Configuració global", + "system": "Sistema", + "integrations": "Integracions", + "profileSettings": "Configuració del perfil", + "globalDetect": "Detecció d'objectes", + "globalRecording": "Enregistrament", + "globalSnapshots": "Instantànies", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Detecció de moviment", + "globalObjects": "Objectes", + "globalReview": "Revisió", + "globalAudioEvents": "Esdeveniments d'àudio", + "globalLivePlayback": "Reproducció en directe", + "globalTimestampStyle": "Estil de la marca horària", + "systemDatabase": "Base de dades", + "systemTls": "TLS", + "systemAuthentication": "Autenticació", + "systemNetworking": "Xarxa", + "systemProxy": "Proxy", + "systemUi": "UI", + "systemLogging": "Registre", + "systemEnvironmentVariables": "Variables d'entorn", + "systemTelemetry": "Telemetria", + "systemBirdseye": "Birdseye", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "Hardware del detector", + "systemDetectionModel": "Model de detecció", + "systemMqtt": "MQTT", + "integrationSemanticSearch": "Cerca semàntica", + "integrationGenerativeAi": "IA generativa", + "integrationFaceRecognition": "Reconeixement de cares", + "integrationLpr": "Reconeixement de la matrícula", + "integrationObjectClassification": "Classificació de l'objecte", + "integrationAudioTranscription": "Transcripció d'àudio", + "cameraDetect": "Detecció d'objectes", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "Enregistrament", + "cameraSnapshots": "Instantànies", + "cameraMotion": "Detecció de moviment", + "cameraObjects": "Objectes", + "cameraConfigReview": "Revisió", + "cameraAudioEvents": "Esdeveniments d'àudio", + "cameraAudioTranscription": "Transcripció d'àudio", + "cameraNotifications": "Notificacions", + "cameraLivePlayback": "Reproducció en directe", + "cameraBirdseye": "Birdseye", + "cameraFaceRecognition": "Reconeixement de cares", + "cameraLpr": "Reconeixement de la matrícula", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "UI de la càmera", + "cameraTimestampStyle": "Estil de la marca horària", + "cameraMqtt": "Càmera MQTT", + "maintenance": "Manteniment" }, "dialog": { "unsavedChanges": { @@ -39,7 +97,7 @@ "noCamera": "Cap càmera" }, "general": { - "title": "Paràmetres de la interfície d'usuari", + "title": "Configuració del perfil", "liveDashboard": { "title": "Panell en directe", "automaticLiveView": { @@ -205,6 +263,10 @@ "clickDrawPolygon": "Fes click per a dibuixar un polígon a la imatge.", "toast": { "success": "S'ha desat la zona ({{zoneName}})." + }, + "enabled": { + "title": "Habilitat", + "description": "Si aquesta zona està activa i activada al fitxer de configuració. Si està desactivat, no pot ser habilitat per MQTT. Les zones inhabilitades s'ignoren en temps d'execució." } }, "filter": { @@ -237,6 +299,12 @@ "title": "{{polygonName}} s'ha desat.", "noName": "La màscara de moviment ha estat desada." } + }, + "defaultName": "Màscara de moviment {{number}}", + "name": { + "title": "Nom", + "description": "Un nom opcional per a aquesta màscara de moviment.", + "placeholder": "Introduïu un nom..." } }, "objectMasks": { @@ -263,11 +331,16 @@ "noName": "La màscara d'objectes ha estat desada." } }, - "context": "Les màscares de filtratge d’objectes s’utilitzen per descartar falsos positius d’un tipus d’objecte concret segons la seva ubicació." + "context": "Les màscares de filtratge d’objectes s’utilitzen per descartar falsos positius d’un tipus d’objecte concret segons la seva ubicació.", + "name": { + "title": "Nom", + "description": "Un nom opcional per a aquesta màscara d'objecte.", + "placeholder": "Introduïu un nom..." + } }, "restart_required": "Reinici necessari (canvi de màscares o zones)", "motionMaskLabel": "Màscara de moviment {{number}}", - "objectMaskLabel": "Màscara d'objecte {{number}} ({{label}})", + "objectMaskLabel": "Màscara d'objecte {{number}}", "toast": { "success": { "copyCoordinates": "S'han copiat les coordenades per a {{polyName}} al porta-retalls." @@ -275,6 +348,13 @@ "error": { "copyCoordinatesFailed": "No s'han pogut copiar les coordenades al porta-retalls." } + }, + "disabledInConfig": "L'element està desactivat al fitxer de configuració", + "masks": { + "enabled": { + "title": "Habilitat", + "description": "Si aquesta màscara està activada al fitxer de configuració. Si està desactivat, no pot ser habilitat per MQTT. Les màscares desactivades s'ignoren en temps d'execució." + } } }, "notification": { @@ -644,7 +724,14 @@ "error": "No s'han pogut guardar els canvis de configuració: {{errorMessage}}", "success": "Els paràmetres de Frigate+ han estat desats. Reincia Frigate per aplicar els canvis." }, - "restart_required": "Es necessari un reinici (El model de Frigate+ ha cambiat)" + "restart_required": "Es necessari un reinici (El model de Frigate+ ha cambiat)", + "description": "Frigate+ és un servei de subscripció que proporciona accés a funcions i capacitats addicionals per a la vostra instància de Frigate, inclosa la capacitat d'utilitzar models de detecció d'objectes personalitzats entrenats en les vostres pròpies dades. Podeu gestionar la configuració del model Frigate+ aquí.", + "cardTitles": { + "api": "API", + "currentModel": "Model actual", + "otherModels": "Altres models", + "configuration": "Configuració" + } }, "enrichments": { "semanticSearch": { @@ -665,7 +752,7 @@ "success": "La reindexació ha començat amb èxit.", "label": "Reindexar ara", "confirmTitle": "Confirmar la reindexació", - "desc": "La reindexació regenerarà les incrustacions (embeddings) de tots els objectes seguits. Aquest procés s’executa en segon pla i pot arribar a saturar la CPU, així com trigar una bona estona depenent del nombre d’objectes seguits que tinguis.", + "desc": "La reindexació regenerarà les incrustacions per a tots els objectes rastrejats. Aquest procés s'executa en segon pla i pot treure el màxim de la CPU i prendre una quantitat de temps raonable depenent del nombre d'objectes rastrejats que tingueu.", "confirmDesc": "Estàs segur que vols reindexar totes les incrustacions (embeddings) dels objectes seguits? Aquest procés s’executarà en segon pla, però pot arribar a saturar la CPU i trigar bastant temps. Pots seguir-ne el progrés a la pàgina d’Explora.", "alreadyInProgress": "La reindexació ja està en curs.", "error": "Error en iniciar la reindexació: {{errorMessage}}" @@ -1181,7 +1268,12 @@ "backToSettings": "Torna a la configuració de la càmera", "streams": { "title": "Habilita / Inhabilita les càmeres", - "desc": "Inhabilita temporalment una càmera fins que es reiniciï la fragata. La inhabilitació d'una càmera atura completament el processament de Frigate dels fluxos d'aquesta càmera. La detecció, l'enregistrament i la depuració no estaran disponibles.
    Nota: això no desactiva les retransmissions de go2rtc." + "desc": "Inhabilita temporalment una càmera fins que es reiniciï la fragata. La inhabilitació d'una càmera atura completament el processament de Frigate dels fluxos d'aquesta càmera. La detecció, l'enregistrament i la depuració no estaran disponibles.
    Nota: això no desactiva les retransmissions de go2rtc.", + "enableLabel": "Càmeres habilitades", + "enableDesc": "Inhabilita temporalment una càmera habilitada fins que es reiniciï Frigate. La inhabilitació d'una càmera atura completament el processament de Frigate dels fluxos d'aquesta càmera. La detecció, l'enregistrament i la depuració no estaran disponibles.
    Nota: això no desactiva les retransmissions de go2rtc.", + "disableLabel": "Càmeres inhabilitades", + "disableDesc": "Habilita una càmera que actualment no és visible a la interfície d'usuari i està desactivada a la configuració. Es requereix un reinici de Frigate després d'activar-la.", + "enableSuccess": "{{cameraName}} activat a la configuració. Reinicia Frigate per aplicar els canvis." }, "cameraConfig": { "add": "Afegeix una càmera", @@ -1236,7 +1328,7 @@ "selectDetectionsZones": "Selecció de zones per a les deteccions", "limitDetections": "Limita les deteccions a zones específiques", "toast": { - "success": "S'ha desat la configuració de la classificació de la revisió. Reinicia la fragata per aplicar canvis." + "success": "S'ha desat la configuració de la classificació de la revisió. Reinicia Frigate per aplicar canvis." }, "unsavedChanges": "Paràmetres de classificació de revisions sense desar per {{camera}}", "objectAlertsTips": "Totes els objectes {{alertsLabels}} de {{cameraName}} es mostraran com avisos.", @@ -1249,5 +1341,254 @@ } }, "title": "Paràmetres de Revisió de la Càmera" - } + }, + "saveAllPreview": { + "title": "Canvis a desar", + "triggerLabel": "Revisa els canvis pendents", + "empty": "No hi ha canvis pendents.", + "scope": { + "label": "Àmbit", + "global": "Global", + "camera": "Càmara:{{cameraName}}" + }, + "field": { + "label": "Camp" + }, + "value": { + "label": "Valor nou", + "reset": "Restableix" + } + }, + "detectionModel": { + "plusActive": { + "title": "Gestió del model Frigate+", + "label": "Font del model actual", + "description": "Aquesta instància està executant un model Frigate+. Seleccioneu o canvieu el vostre model a la configuració de Frigate+.", + "goToFrigatePlus": "Ves a la configuració de Frigate+", + "showModelForm": "Configuració manual d'un model" + } + }, + "maintenance": { + "title": "Manteniment", + "sync": { + "title": "Sincronització multimèdia", + "desc": "Frigate netejarà periòdicament els mitjans en un horari regular segons la configuració de la seva retenció. És normal veure alguns arxius orfes mentre corre Frigate. Utilitzeu aquesta característica per eliminar fitxers multimèdia orfes del disc que ja no estan referenciats a la base de dades.", + "started": "S'ha iniciat la sincronització del mitjà.", + "alreadyRunning": "Ja s'està executant una tasca de sincronització", + "error": "No s'ha pogut iniciar la sincronització", + "currentStatus": "Estat", + "jobId": "ID de la tasca", + "startTime": "Hora d'inici", + "endTime": "Hora final", + "statusLabel": "Estat", + "results": "Resultats", + "errorLabel": "Error", + "mediaTypes": "Tipus de suport", + "allMedia": "Tots els suports", + "dryRun": "Executa en sec", + "dryRunEnabled": "No s'eliminarà cap fitxer", + "dryRunDisabled": "S'eliminaran els fitxers", + "force": "Força", + "forceDesc": "Evita el llindar de seguretat i completa la sincronització fins i tot si més del 50% dels fitxers s'eliminarien.", + "running": "Sincronització en execució...", + "start": "Inicia la sincronització", + "inProgress": "La sincronització està en curs. Aquesta pàgina està desactivada.", + "status": { + "queued": "En cua", + "running": "En execució", + "completed": "Completat", + "failed": "Ha fallat", + "notRunning": "No s'està executant" + }, + "resultsFields": { + "filesChecked": "Fitxers comprovats", + "orphansFound": "Orfes trobades", + "orphansDeleted": "Orfes eliminats", + "aborted": "Avortat. La supressió superaria el llindar de seguretat.", + "error": "Error", + "totals": "Totals" + }, + "event_snapshots": "Instantànies de l'objecte rastrejat", + "event_thumbnails": "Miniatures d'objecte rastrejat", + "review_thumbnails": "Revisa les miniatures", + "previews": "Previsualitzacions", + "exports": "Exporta", + "recordings": "Enregistraments" + } + }, + "configForm": { + "global": { + "title": "Configuració global", + "description": "Aquestes opcions de configuració s'apliquen a totes les càmeres, llevat que se substitueixin en la configuració específica de la càmera." + }, + "camera": { + "title": "Configuració de la càmera", + "description": "Aquests paràmetres només s'apliquen a aquesta càmera i substitueixen els paràmetres globals." + }, + "advancedSettingsCount": "Configuració avançada ({{count}})", + "advancedCount": "Avançat ({{count}})", + "showAdvanced": "Mostra la configuració avançada", + "tabs": { + "sharedDefaults": "Per defecte compartit", + "system": "Sistema", + "integrations": "Integracions" + }, + "additionalProperties": { + "keyLabel": "Clau", + "valueLabel": "Valor", + "keyPlaceholder": "Nou valor", + "remove": "Elimina" + }, + "timezone": { + "defaultOption": "Utilitza la zona horària del navegador" + }, + "roleMap": { + "empty": "No hi ha assignacions de rols", + "roleLabel": "Rol", + "groupsLabel": "Grups", + "addMapping": "Afegeix un mapatge de rol", + "remove": "Elimina" + }, + "ffmpegArgs": { + "preset": "Predefinit", + "manual": "Arguments manuals", + "inherit": "Hereta de la configuració de la càmera", + "selectPreset": "Selecció de valors predefinits", + "manualPlaceholder": "ntroduïu els arguments FFmpeg" + }, + "cameraInputs": { + "itemTitle": "Flux {{index}}" + }, + "restartRequiredField": "Reinicia requerit", + "restartRequiredFooter": "S'ha canviat la configuració - es requereix reiniciar", + "sections": { + "detect": "Detecció", + "record": "Enregistrament", + "snapshots": "Instantànies", + "motion": "Moviment", + "objects": "Objectes", + "review": "Revisió", + "audio": "Àudio", + "notifications": "Notificacions", + "live": "Vista en viu", + "timestamp_style": "Marques temporals", + "mqtt": "MQTT", + "database": "Base de dades", + "telemetry": "Telemetria", + "auth": "Autenticació", + "tls": "TLS", + "proxy": "Proxy", + "go2rtc": "go2rtc", + "ffmpeg": "FFmpeg", + "detectors": "Detectors", + "model": "Model", + "semantic_search": "Cerca semàntica", + "genai": "GenAI", + "face_recognition": "Reconeixement de cares", + "lpr": "Reconeixement de matrícules", + "birdseye": "Birdseye" + }, + "detect": { + "title": "Configuració de detecció" + }, + "detectors": { + "title": "Configuració del detector", + "singleType": "Només es permet un detector {{type}}.", + "keyRequired": "Es requereix el nom del detector.", + "keyDuplicate": "El nom del detector ja existeix.", + "noSchema": "No hi ha esquemes de detector disponibles.", + "none": "No s'ha configurat cap instància de detector.", + "add": "Afegeix un detector" + }, + "record": { + "title": "Configuració de l'enregistrament" + }, + "snapshots": { + "title": "Configuració de la instantània" + }, + "motion": { + "title": "Configuració del moviment" + }, + "objects": { + "title": "Configuració de l'objecte" + }, + "audioLabels": { + "summary": "{{count}} etiquetes d'àudio seleccionades", + "empty": "No hi ha etiquetes d'àudio disponibles" + }, + "objectLabels": { + "summary": "{{count}} tipus d'objectes seleccionats", + "empty": "No hi ha cap etiqueta d'objecte disponible" + }, + "filters": { + "objectFieldLabel": "{{field}} per {{label}}" + }, + "zoneNames": { + "summary": "{{count}} seleccionats", + "empty": "No hi ha zones disponibles" + }, + "inputRoles": { + "summary": "{{count}} rols seleccionats", + "empty": "No hi ha cap rol disponible", + "options": { + "detect": "Detecta", + "record": "Registre", + "audio": "Àudio" + } + }, + "review": { + "title": "Configuració de la revisió" + }, + "audio": { + "title": "Configuració de l'àudio" + }, + "notifications": { + "title": "Configuració de notificacions" + }, + "live": { + "title": "Configuració de la vista en viu" + }, + "timestamp_style": { + "title": "Configuració de la marca horària" + }, + "searchPlaceholder": "Cerca..." + }, + "globalConfig": { + "title": "Configuració global", + "description": "Configura la configuració global que s'aplica a totes les càmeres llevat que se sobreescriti.", + "toast": { + "success": "La configuració global s'ha desat correctament", + "error": "No s'ha pogut desar la configuració global", + "validationError": "Ha fallat la validació" + } + }, + "cameraConfig": { + "title": "Configuració de la càmera", + "description": "Configura la configuració per a les càmeres individuals. La configuració substitueix els valors predeterminats globals.", + "overriddenBadge": "Sobreescrit", + "resetToGlobal": "Restableix a global", + "toast": { + "success": "La configuració de la càmera s'ha desat correctament", + "error": "Ha fallat en desar la configuració de la càmera" + } + }, + "toast": { + "success": "La configuració s'ha desat correctament", + "successRestartRequired": "La configuració s'ha desat correctament. Reinicia Frigate per aplicar els canvis.", + "error": "No s'ha pogut desar la configuració", + "validationError": "Ha fallat la validació: {{message}}", + "resetSuccess": "Restableix als valors predeterminats globals", + "resetError": "No s'ha pogut restablir la configuració", + "saveAllSuccess_one": "S'ha desat la secció {{count}} correctament.", + "saveAllSuccess_many": "Totes les {{count}} seccions s'han desat correctament.", + "saveAllSuccess_other": "Totes les {{count}} seccions s'han desat correctament.", + "saveAllPartial_one": "{{successCount}} de la secció {{totalCount}} desada. {{failCount}} ha fallat.", + "saveAllPartial_many": "{{successCount}} de {{totalCount}} seccions desades. {{failCount}} ha fallat.", + "saveAllPartial_other": "{{successCount}} de {{totalCount}} seccions desades. {{failCount}} ha fallat.", + "saveAllFailure": "Ha fallat en desar totes les seccions." + }, + "unsavedChanges": "Teniu canvis sense desar", + "confirmReset": "Confirma el restabliment", + "resetToDefaultDescription": "Això restablirà tots els paràmetres d'aquesta secció als seus valors predeterminats. Aquesta acció no es pot desfer.", + "resetToGlobalDescription": "Això restablirà la configuració d'aquesta secció als valors predeterminats globals. Aquesta acció no es pot desfer." } diff --git a/web/public/locales/ca/views/system.json b/web/public/locales/ca/views/system.json index 312f3c299..1ab73a56f 100644 --- a/web/public/locales/ca/views/system.json +++ b/web/public/locales/ca/views/system.json @@ -80,8 +80,10 @@ "intelGpuWarning": { "title": "Avís d'estadístiques de la GPU d'Intel", "message": "Estadístiques de GPU no disponibles", - "description": "Aquest és un error conegut en les eines d'informació de les estadístiques de GPU d'Intel (intel.gpu.top) on es trencarà i retornarà repetidament un ús de GPU del 0% fins i tot en els casos en què l'acceleració del maquinari i la detecció d'objectes s'executen correctament a la (i)GPU. Això no és un error de fragata. Podeu reiniciar l'amfitrió per a corregir temporalment el problema i confirmar que la GPU funciona correctament. Això no afecta el rendiment." - } + "description": "Aquest és un error conegut en les eines d'informació de les estadístiques de GPU d'Intel (intel.gpu.top) on es trencarà i retornarà repetidament un ús de GPU del 0% fins i tot en els casos en què l'acceleració del maquinari i la detecció d'objectes s'executen correctament a la (i)GPU. Això no és un error de Frigate. Podeu reiniciar l'amfitrió per a corregir temporalment el problema i confirmar que la GPU funciona correctament. Això no afecta el rendiment." + }, + "gpuTemperature": "Temperatura de la GPU", + "npuTemperature": "Temperatura NPU" }, "otherProcesses": { "title": "Altres processos", @@ -165,6 +167,17 @@ "error": { "unableToProbeCamera": "No s'ha pogut sondejar la càmera: {{errorMessage}}" } + }, + "connectionQuality": { + "title": "Qualitat de la connexió", + "excellent": "Excel·lent", + "fair": "Fira", + "poor": "Pobre", + "unusable": "No utilitzable", + "fps": "FPS", + "expectedFps": "FPS esperat", + "reconnectsLastHour": "Reconnecta (última hora)", + "stallsLastHour": "Parades (última hora)" } }, "lastRefreshed": "Darrera actualització: ", From c90cd65496a9069d07136f49cc4d6a4d546891a8 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:50 +0100 Subject: [PATCH 17/46] Added translation using Weblate (Czech) Translated using Weblate (Czech) Currently translated at 100.0% (217 of 217 strings) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: vaclav Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/cs/ Translation: Frigate NVR/common --- web/public/locales/cs/common.json | 21 +++++++++++---------- web/public/locales/cs/config/cameras.json | 1 + 2 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 web/public/locales/cs/config/cameras.json diff --git a/web/public/locales/cs/common.json b/web/public/locales/cs/common.json index 480f03e7b..257bb8bd3 100644 --- a/web/public/locales/cs/common.json +++ b/web/public/locales/cs/common.json @@ -133,7 +133,7 @@ }, "unit": { "speed": { - "kph": "Km/h", + "kph": "km/h", "mph": "míle/h" }, "length": { @@ -177,7 +177,7 @@ "fi": "Suomi (Finština)", "sk": "Slovenčina (Slovenština)", "withSystem": { - "label": "Použít systémové nastavení pro jazyk" + "label": "Použít systémové nastavení jazyka" }, "zhCN": "简体中文 (Zjednodušená čínština)", "es": "Español (Španělština)", @@ -205,14 +205,15 @@ "pl": "Polski (Polština)", "th": "ไทย (Thaiština)", "ca": "Català (Katalánština)", - "sl": "Slovinština (Slovinsko)", - "ptBR": "Português brasileiro (Brazilian Portuguese)", - "sr": "Српски (Serbian)", - "lt": "Lietuvių (Lithuanian)", - "bg": "Български (Bulgarian)", - "gl": "Galego (Galician)", - "id": "Bahasa Indonesia (Indonesian)", - "ur": "اردو (Urdu)" + "sl": "Slovinština (Slovinština)", + "ptBR": "Português brasileiro (Brazilská Portugalština)", + "sr": "Српски (Srbština)", + "lt": "Lietuvių (Litevština)", + "bg": "Български (Bulharština)", + "gl": "Galego (Galicijština)", + "id": "Bahasa Indonesia (Indonéština)", + "ur": "اردو (Urdština)", + "hr": "Hrvatski (Chorvatština)" }, "theme": { "highcontrast": "Vysoký kontrast", diff --git a/web/public/locales/cs/config/cameras.json b/web/public/locales/cs/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/cs/config/cameras.json @@ -0,0 +1 @@ +{} From 41ecc646cc6b9397f149b6756805158867338c57 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:51 +0100 Subject: [PATCH 18/46] Translated using Weblate (Portuguese) Currently translated at 89.6% (52 of 58 strings) Added translation using Weblate (Portuguese) Translated using Weblate (Portuguese) Currently translated at 89.6% (52 of 58 strings) Translated using Weblate (Portuguese) Currently translated at 90.7% (49 of 54 strings) Translated using Weblate (Portuguese) Currently translated at 29.5% (36 of 122 strings) Translated using Weblate (Portuguese) Currently translated at 43.4% (10 of 23 strings) Co-authored-by: Abel Nunes Co-authored-by: Hellyson Rodrigo Parteka Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/pt/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/pt/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/pt/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/pt/ Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-facelibrary --- web/public/locales/pt/components/dialog.json | 3 ++- web/public/locales/pt/config/cameras.json | 1 + web/public/locales/pt/views/classificationModel.json | 5 ++++- web/public/locales/pt/views/exports.json | 3 +++ web/public/locales/pt/views/faceLibrary.json | 5 +++-- 5 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 web/public/locales/pt/config/cameras.json diff --git a/web/public/locales/pt/components/dialog.json b/web/public/locales/pt/components/dialog.json index b1aeb06c1..2efa3d2b5 100644 --- a/web/public/locales/pt/components/dialog.json +++ b/web/public/locales/pt/components/dialog.json @@ -6,7 +6,8 @@ "content": "Esta página será recarregada em {{countdown}} segundos.", "button": "Forçar Recarregar Agora" }, - "title": "Tem a certeza que deseja reiniciar o Frigate?" + "title": "Tem a certeza que deseja reiniciar o Frigate?", + "description": "Isto irá parar brevemente o Frigate enquanto reinicia." }, "explore": { "plus": { diff --git a/web/public/locales/pt/config/cameras.json b/web/public/locales/pt/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt/views/classificationModel.json b/web/public/locales/pt/views/classificationModel.json index 2bd713a09..5aba72a91 100644 --- a/web/public/locales/pt/views/classificationModel.json +++ b/web/public/locales/pt/views/classificationModel.json @@ -47,5 +47,8 @@ "minClassesTitle": "Não é possível excluir a classe", "minClassesDesc": "Um modelo de classificação deve ter pelo menos duas classes. Adicione outra classe antes de excluir esta." }, - "documentTitle": "Modelos de Classificação – Frigate" + "documentTitle": "Modelos de Classificação – Frigate", + "description": { + "invalidName": "Nome inválido. Os nomes podem incluir apenas letras, números, espaços, apóstrofos, sublinhados e hífens." + } } diff --git a/web/public/locales/pt/views/exports.json b/web/public/locales/pt/views/exports.json index 82f79bd4e..d8cc40fc3 100644 --- a/web/public/locales/pt/views/exports.json +++ b/web/public/locales/pt/views/exports.json @@ -16,5 +16,8 @@ "deleteExport.desc": "Tem a certeza de que deseja excluir {{exportName}}?", "tooltip": { "shareExport": "Partilhar exportação" + }, + "headings": { + "uncategorizedExports": "Exportações sem categoria" } } diff --git a/web/public/locales/pt/views/faceLibrary.json b/web/public/locales/pt/views/faceLibrary.json index 24e7e14f9..9b19549da 100644 --- a/web/public/locales/pt/views/faceLibrary.json +++ b/web/public/locales/pt/views/faceLibrary.json @@ -1,8 +1,9 @@ { "description": { - "placeholder": "Digite um nome para esta coleção", + "placeholder": "Introduza um nome para esta coleção", "addFace": "Veja como adicionar uma nova coleção à biblioteca de rostos.", - "invalidName": "Nome inválido. Os nomes podem incluir apenas letras, números, espaços, apóstrofos, sublinhados e hífens." + "invalidName": "Nome inválido. Os nomes podem incluir apenas letras, números, espaços, apóstrofos, sublinhados e hífens.", + "nameCannotContainHash": "O nome não pode conter #." }, "details": { "person": "Pessoa", From 395602394c7990d80405078359c89ec8947734c6 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:51 +0100 Subject: [PATCH 19/46] Added translation using Weblate (Vietnamese) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/vi/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/vi/config/cameras.json diff --git a/web/public/locales/vi/config/cameras.json b/web/public/locales/vi/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/vi/config/cameras.json @@ -0,0 +1 @@ +{} From 353df1715ca10396ce0702ff73b651785228b74e Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:52 +0100 Subject: [PATCH 20/46] Added translation using Weblate (Icelandic) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/is/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/is/config/cameras.json diff --git a/web/public/locales/is/config/cameras.json b/web/public/locales/is/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/is/config/cameras.json @@ -0,0 +1 @@ +{} From 820582fdf1f258dae3d68473db402010873cd328 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:52 +0100 Subject: [PATCH 21/46] Added translation using Weblate (Croatian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/hr/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/hr/config/cameras.json diff --git a/web/public/locales/hr/config/cameras.json b/web/public/locales/hr/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hr/config/cameras.json @@ -0,0 +1 @@ +{} From 305c0802764419b5376c32ab6af41caf67239356 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:52 +0100 Subject: [PATCH 22/46] Added translation using Weblate (Hungarian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/hu/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/hu/config/cameras.json diff --git a/web/public/locales/hu/config/cameras.json b/web/public/locales/hu/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hu/config/cameras.json @@ -0,0 +1 @@ +{} From 31a789ec2c55780373b5fd754970a4ffcf811339 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:52 +0100 Subject: [PATCH 23/46] Added translation using Weblate (Hindi) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/hi/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/hi/config/cameras.json diff --git a/web/public/locales/hi/config/cameras.json b/web/public/locales/hi/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/hi/config/cameras.json @@ -0,0 +1 @@ +{} From b7daa81e3963ee8af29d6ed9b2c87b0f9e387942 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:53 +0100 Subject: [PATCH 24/46] Added translation using Weblate (Hebrew) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/he/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/he/config/cameras.json diff --git a/web/public/locales/he/config/cameras.json b/web/public/locales/he/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/he/config/cameras.json @@ -0,0 +1 @@ +{} From eb052fa0d4232ba3649ead7a320f1cbf00db194e Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:53 +0100 Subject: [PATCH 25/46] Added translation using Weblate (Malayalam) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/ml/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/ml/config/cameras.json diff --git a/web/public/locales/ml/config/cameras.json b/web/public/locales/ml/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ml/config/cameras.json @@ -0,0 +1 @@ +{} From 1c05e9f242c6e473bd23553a391cce5b09516f72 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:53 +0100 Subject: [PATCH 26/46] Translated using Weblate (Polish) Currently translated at 16.5% (77 of 464 strings) Added translation using Weblate (Polish) Co-authored-by: Hosted Weblate Co-authored-by: J P Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/pl/ Translation: Frigate NVR/Config - Cameras --- web/public/locales/pl/config/cameras.json | 165 ++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 web/public/locales/pl/config/cameras.json diff --git a/web/public/locales/pl/config/cameras.json b/web/public/locales/pl/config/cameras.json new file mode 100644 index 000000000..bdadbc182 --- /dev/null +++ b/web/public/locales/pl/config/cameras.json @@ -0,0 +1,165 @@ +{ + "objects": { + "genai": { + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, które należy wprowadzić, aby obiekty kwalifikowały się do generowania opisu GenAI." + }, + "debug_save_thumbnails": { + "label": "Zapisz miniatury", + "description": "Zapisz miniatury wysłane do GenAI w celu debugowania i przeglądu." + }, + "send_triggers": { + "label": "Wyzwalacze GenAI", + "description": "Określa, kiedy ramki powinny być wysyłane do GenAI (na końcu, po aktualizacjach itp.).", + "tracked_object_end": { + "label": "Wyślij na koniec", + "description": "Wyślij żądanie do GenAI, gdy śledzony obiekt się zakończy." + }, + "after_significant_updates": { + "label": "Wczesny wyzwalacz GenAI", + "description": "Wyślij żądanie do GenAI po określonej liczbie istotnych aktualizacji dla śledzonego obiektu." + } + }, + "enabled_in_config": { + "label": "Oryginalny stan GenAI", + "description": "Wskazuje, czy GenAI było włączone w oryginalnej konfiguracji statycznej." + } + } + }, + "record": { + "label": "Nagrywanie", + "enabled": { + "label": "Włącz nagrywanie" + }, + "expire_interval": { + "label": "Częstotliwość usuwania nagrań", + "description": "Minuty między kolejnymi operacjami czyszczenia, które usuwają nieaktualne segmenty nagrań." + }, + "continuous": { + "label": "Ciągłe przechowywanie", + "description": "Liczba dni przechowywania nagrań niezależnie od śledzonych obiektów lub ruchu. Ustaw wartość 0, jeśli chcesz przechowywać tylko nagrania alertów i wykrytych zdarzeń.", + "days": { + "label": "Ilość dni przechowywania", + "description": "Dni przechowywania nagrań." + } + }, + "motion": { + "label": "Przechowywanie ruchu", + "description": "Liczba dni przechowywania nagrań wywołanych ruchem, niezależnie od śledzonych obiektów. Ustaw wartość 0, jeśli chcesz przechowywać tylko nagrania alertów i wykrytych zdarzeń.", + "days": { + "label": "Dni przechowywania", + "description": "Dni przechowywania nagrań." + } + }, + "detections": { + "label": "Przechowywanie detekcji", + "description": "Ustawienia przechowywania nagrań dla zdarzeń wykrywania, w tym czas przed i po przechwyceniu.", + "pre_capture": { + "label": "Sekundy pre-alarmu", + "description": "Liczba sekund przed zdarzeniem wykrycia, które ma zostać uwzględnione w nagraniu." + }, + "post_capture": { + "label": "Sekundy post-alarmu", + "description": "Liczba sekund po wykryciu zdarzenia, które ma zostać uwzględnione w nagraniu." + }, + "retain": { + "label": "Przechowywanie zdarzeń", + "description": "Ustawienia przechowywania nagrań zdarzeń wykrytych.", + "days": { + "label": "Dni przechowywania", + "description": "Liczba dni przechowywania nagrań zdarzeń wykrytych." + }, + "mode": { + "label": "Tryb przechowywania", + "description": "Tryb przechowywania: wszystkie (zapisz wszystkie segmenty), ruch (zapisz segmenty z ruchem) lub aktywne obiekty (zapisz segmenty z aktywnymi obiektami)." + } + } + }, + "alerts": { + "label": "Przechowywanie alarmów", + "description": "Ustawienia przechowywania nagrań dla zdarzeń alarmowych, w tym czas przed i po przechwyceniu.", + "pre_capture": { + "label": "Długość pre-alarmu", + "description": "Liczba sekund przed zdarzeniem wykrycia, które ma zostać uwzględnione w nagraniu." + }, + "post_capture": { + "label": "Długość post-alarmu", + "description": "Liczba sekund po wykryciu zdarzenia, które ma zostać uwzględnione w nagraniu." + }, + "retain": { + "label": "Przechowywanie zdarzeń", + "description": "Ustawienia przechowywania nagrań zdarzeń wykrytych.", + "days": { + "label": "Dni przechowywania", + "description": "Liczba dni przechowywania nagrań zdarzeń wykrytych." + }, + "mode": { + "label": "Tryb przechowywania", + "description": "Tryb przechowywania: wszystkie (zapisz wszystkie segmenty), ruch (zapisz segmenty z ruchem) lub aktywne obiekty (zapisz segmenty z aktywnymi obiektami)." + } + } + }, + "export": { + "label": "Eksport konfiguracji", + "description": "Ustawienia używane podczas eksportowania nagrań, takie jak przyspieszenie czasu i przyspieszenie sprzętowe.", + "hwaccel_args": { + "label": "Eksportuj argumenty akceleracji sprzętowej", + "description": "Argumenty przyspieszenia sprzętowego do wykorzystania podczas operacji eksportu/transkodowania." + } + }, + "preview": { + "label": "Podgląd konfiguracji", + "description": "Ustawienia kontrolujące jakość podglądu nagrań wyświetlanych w interfejsie użytkownika.", + "quality": { + "label": "Jakość podglądu", + "description": "Poziom jakości podglądu (bardzo_niski, niski, średni, wysoki, bardzo_wysoki)." + } + }, + "enabled_in_config": { + "label": "Oryginalny stan nagrania", + "description": "Wskazuje, czy nagrywanie było włączone w oryginalnej konfiguracji statycznej." + } + }, + "review": { + "label": "Recenzja", + "alerts": { + "label": "Konfiguracja alarmów", + "description": "Ustawienia dotyczące obiektów śledzonych, które generują alerty, oraz sposobu przechowywania alertów.", + "enabled": { + "label": "Włącz alarmy" + }, + "labels": { + "label": "Etykiety alarmów", + "description": "Lista etykiet obiektów, które kwalifikują się jako alerty (na przykład: samochód, osoba)." + }, + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, do których obiekt musi wejść, aby zostać uznanym za alarm; pozostaw puste, aby zezwolić na dowolną strefę." + }, + "enabled_in_config": { + "label": "Oryginalny stan alarmów", + "description": "Śledzi, czy alarmy były pierwotnie włączone w konfiguracji statycznej." + }, + "cutoff_time": { + "label": "Czas wyłączenia alarmów", + "description": "Sekundy, które należy odczekać po zakończeniu czynności powodującej alarm, zanim alarm zostanie wyłączony." + } + }, + "detections": { + "label": "Konfiguracja detekcji", + "description": "Ustawienia dotyczące tworzenia zdarzeń wykrywania (niebędących alertami) oraz czasu ich przechowywania.", + "enabled": { + "label": "Włącz detekcje" + }, + "labels": { + "label": "Etykiety detekcji", + "description": "Lista etykiet(klas) obiektów, które kwalifikują się jako zdarzenia wykrycia." + }, + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, do których obiekt musi wejść, aby zostać wykryty; pozostaw puste, aby zezwolić na dowolną strefę." + } + } + } +} From cf88791463fef391d67390c28f9c71776040daef Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:53 +0100 Subject: [PATCH 27/46] Added translation using Weblate (Italian) Translated using Weblate (Italian) Currently translated at 100.0% (228 of 228 strings) Translated using Weblate (Italian) Currently translated at 100.0% (58 of 58 strings) Translated using Weblate (Italian) Currently translated at 100.0% (23 of 23 strings) Translated using Weblate (Italian) Currently translated at 100.0% (147 of 147 strings) Co-authored-by: Gringo Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/it/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/it/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/it/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/it/ Translation: Frigate NVR/common Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-system --- web/public/locales/it/common.json | 15 +++++++++++++-- web/public/locales/it/components/dialog.json | 4 ++++ web/public/locales/it/config/cameras.json | 1 + web/public/locales/it/views/exports.json | 18 ++++++++++++++++-- web/public/locales/it/views/system.json | 15 ++++++++++++++- 5 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 web/public/locales/it/config/cameras.json diff --git a/web/public/locales/it/common.json b/web/public/locales/it/common.json index feb570ae9..7a7edb48c 100644 --- a/web/public/locales/it/common.json +++ b/web/public/locales/it/common.json @@ -129,7 +129,17 @@ "pictureInPicture": "Immagine nell'immagine", "twoWayTalk": "Comunicazione bidirezionale", "cameraAudio": "Audio della telecamera", - "continue": "Continua" + "continue": "Continua", + "add": "Aggiungi", + "undo": "Annulla", + "copiedToClipboard": "Copiato negli appunti", + "modified": "Modificato", + "overridden": "Sovrascritto", + "resetToGlobal": "Ripristina impostazioni globali", + "resetToDefault": "Ripristina impostazioni predefinite", + "saveAll": "Salva tutto", + "savingAll": "Salvataggio di tutto…", + "undoAll": "Annulla tutto" }, "unit": { "speed": { @@ -260,7 +270,8 @@ }, "withSystem": "Sistema", "faceLibrary": "Raccolta volti", - "classification": "Classificazione" + "classification": "Classificazione", + "chat": "Chat" }, "pagination": { "next": { diff --git a/web/public/locales/it/components/dialog.json b/web/public/locales/it/components/dialog.json index dd1753ee4..d0b09d38c 100644 --- a/web/public/locales/it/components/dialog.json +++ b/web/public/locales/it/components/dialog.json @@ -77,6 +77,10 @@ "select": "Seleziona", "name": { "placeholder": "Assegna un nome all'esportazione" + }, + "case": { + "label": "Caso", + "placeholder": "Seleziona un caso" } }, "streaming": { diff --git a/web/public/locales/it/config/cameras.json b/web/public/locales/it/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/it/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/it/views/exports.json b/web/public/locales/it/views/exports.json index 186647521..232ac8254 100644 --- a/web/public/locales/it/views/exports.json +++ b/web/public/locales/it/views/exports.json @@ -11,13 +11,27 @@ }, "toast": { "error": { - "renameExportFailed": "Impossibile rinominare l'esportazione: {{errorMessage}}" + "renameExportFailed": "Impossibile rinominare l'esportazione: {{errorMessage}}", + "assignCaseFailed": "Impossibile aggiornare l'assegnazione del caso: {{errorMessage}}" } }, "tooltip": { "shareExport": "Condividi esportazione", "downloadVideo": "Scarica video", "editName": "Modifica nome", - "deleteExport": "Elimina esportazione" + "deleteExport": "Elimina esportazione", + "assignToCase": "Aggiungi al caso" + }, + "headings": { + "cases": "Casi", + "uncategorizedExports": "Esportazioni non categorizzate" + }, + "caseDialog": { + "title": "Aggiungi al caso", + "description": "Scegli un caso esistente o creane uno nuovo.", + "selectLabel": "Caso", + "newCaseOption": "Crea un nuovo caso", + "nameLabel": "Nome del caso", + "descriptionLabel": "Descrizione" } } diff --git a/web/public/locales/it/views/system.json b/web/public/locales/it/views/system.json index d5e92543b..6883fc397 100644 --- a/web/public/locales/it/views/system.json +++ b/web/public/locales/it/views/system.json @@ -70,7 +70,9 @@ "title": "Avviso statistiche GPU Intel", "message": "Statistiche GPU non disponibili", "description": "Si tratta di un problema noto negli strumenti di reportistica delle statistiche GPU di Intel (intel_gpu_top), che si interrompe e restituisce ripetutamente un utilizzo della GPU pari a 0% anche nei casi in cui l'accelerazione hardware e il rilevamento degli oggetti funzionano correttamente sulla (i)GPU. Non si tratta di un problema di Frigate. È possibile riavviare il sistema per risolvere temporaneamente il problema e verificare che la GPU funzioni correttamente. Ciò non influisce sulle prestazioni." - } + }, + "gpuTemperature": "Temperatura GPU", + "npuTemperature": "Temperatura NPU" }, "detector": { "inferenceSpeed": "Velocità inferenza rilevatore", @@ -165,6 +167,17 @@ "error": { "unableToProbeCamera": "Impossibile analizzare la telecamera: {{errorMessage}}" } + }, + "connectionQuality": { + "title": "Qualità connessione", + "excellent": "Ottima", + "fair": "Discreta", + "poor": "Scarsa", + "unusable": "Inutilizzabile", + "fps": "FPS", + "expectedFps": "FPS previsti", + "reconnectsLastHour": "Riconnessioni (ultima ora)", + "stallsLastHour": "Blocchi (ultima ora)" } }, "stats": { From 02ff89a20f243ea9ea6d0878996f007612644c85 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:54 +0100 Subject: [PATCH 28/46] Added translation using Weblate (Arabic) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/ar/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/ar/config/cameras.json diff --git a/web/public/locales/ar/config/cameras.json b/web/public/locales/ar/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ar/config/cameras.json @@ -0,0 +1 @@ +{} From 8e57faca4b90af1db5a2077868caf758d5ebd1d0 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:54 +0100 Subject: [PATCH 29/46] Added translation using Weblate (Indonesian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/id/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/id/config/cameras.json diff --git a/web/public/locales/id/config/cameras.json b/web/public/locales/id/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/id/config/cameras.json @@ -0,0 +1 @@ +{} From 4f32a53bd9c7656f1d373542f97f7fec956f5928 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:55 +0100 Subject: [PATCH 30/46] Added translation using Weblate (Dutch) Translated using Weblate (Dutch) Currently translated at 100.0% (58 of 58 strings) Translated using Weblate (Dutch) Currently translated at 100.0% (23 of 23 strings) Translated using Weblate (Dutch) Currently translated at 74.9% (671 of 895 strings) Translated using Weblate (Dutch) Currently translated at 93.1% (137 of 147 strings) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: Marijn <168113859+Marijn0@users.noreply.github.com> Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/nl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/nl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nl/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/nl/ Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/nl/components/dialog.json | 6 ++++- web/public/locales/nl/config/cameras.json | 1 + web/public/locales/nl/views/exports.json | 18 +++++++++++-- web/public/locales/nl/views/settings.json | 27 +++++++++++++++++--- web/public/locales/nl/views/system.json | 3 ++- 5 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 web/public/locales/nl/config/cameras.json diff --git a/web/public/locales/nl/components/dialog.json b/web/public/locales/nl/components/dialog.json index eec72a3fb..0f8cc9052 100644 --- a/web/public/locales/nl/components/dialog.json +++ b/web/public/locales/nl/components/dialog.json @@ -74,7 +74,11 @@ "previewExport": "Export vooraf bekijken" }, "export": "Exporteren", - "selectOrExport": "Selecteren of exporteren" + "selectOrExport": "Selecteren of exporteren", + "case": { + "label": "Dossier", + "placeholder": "Selecteer een dossier" + } }, "streaming": { "label": "Stream", diff --git a/web/public/locales/nl/config/cameras.json b/web/public/locales/nl/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nl/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/nl/views/exports.json b/web/public/locales/nl/views/exports.json index b4223a612..d14ca9dbc 100644 --- a/web/public/locales/nl/views/exports.json +++ b/web/public/locales/nl/views/exports.json @@ -3,7 +3,8 @@ "search": "Zoek", "toast": { "error": { - "renameExportFailed": "Het is niet gelukt om de export te hernoemen: {{errorMessage}}" + "renameExportFailed": "Het is niet gelukt om de export te hernoemen: {{errorMessage}}", + "assignCaseFailed": "Kan toewijzing aan dossier niet bijwerken: {{errorMessage}}" } }, "editExport": { @@ -18,6 +19,19 @@ "shareExport": "Deel export", "downloadVideo": "Download video", "editName": "Naam bewerken", - "deleteExport": "Verwijder export" + "deleteExport": "Verwijder export", + "assignToCase": "Toevoegen aan dossier" + }, + "headings": { + "cases": "Gevallen", + "uncategorizedExports": "Ongecategoriseerde exporten" + }, + "caseDialog": { + "title": "Toevoegen aan dossier", + "description": "Kies een bestaand dossier of maak een nieuw dossier aan.", + "selectLabel": "Dossier", + "newCaseOption": "Nieuw dossier aanmaken", + "nameLabel": "Dossiernaam", + "descriptionLabel": "Beschrijving" } } diff --git a/web/public/locales/nl/views/settings.json b/web/public/locales/nl/views/settings.json index ba3684fe4..348003af7 100644 --- a/web/public/locales/nl/views/settings.json +++ b/web/public/locales/nl/views/settings.json @@ -7,12 +7,15 @@ "classification": "Classificatie-instellingen - Frigate", "masksAndZones": "Masker- en zone-editor - Frigate", "object": "Foutopsporing Frigate", - "general": "Gebruikersinterface-instellingen - Frigate", + "general": "Profielinstellingen - Frigate", "frigatePlus": "Frigate+ Instellingen - Frigate", "notifications": "Meldingsinstellingen - Frigate", "enrichments": "Verrijkingsinstellingen - Frigate", "cameraManagement": "Camera's beheren - Frigate", - "cameraReview": "Camera Review Instellingen - Frigate" + "cameraReview": "Camera Review Instellingen - Frigate", + "globalConfig": "Globale configuratie - Frigate", + "cameraConfig": "Camera-instellingen - Frigate", + "maintenance": "Onderhoud - Frigate" }, "menu": { "ui": "Gebruikersinterface", @@ -28,7 +31,25 @@ "triggers": "Triggers", "roles": "Rollen", "cameraManagement": "Beheer", - "cameraReview": "Beoordeel" + "cameraReview": "Beoordeel", + "general": "Algemeen", + "globalConfig": "Globale configuratie", + "system": "Systeem", + "integrations": "Integraties", + "profileSettings": "Profielinstellingen", + "globalDetect": "Objectdetectie", + "globalRecording": "Opname", + "globalSnapshots": "Snapshots", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Bewegingsdetectie", + "globalObjects": "Objecten", + "globalReview": "Beoordelen", + "globalAudioEvents": "Geluidsgebeurtenissen", + "globalLivePlayback": "Live afspelen", + "globalTimestampStyle": "Tijdstempelstijl", + "systemDatabase": "Database", + "systemTls": "TLS", + "systemAuthentication": "Authenticatie" }, "dialog": { "unsavedChanges": { diff --git a/web/public/locales/nl/views/system.json b/web/public/locales/nl/views/system.json index 73ba194d0..fcf821187 100644 --- a/web/public/locales/nl/views/system.json +++ b/web/public/locales/nl/views/system.json @@ -80,7 +80,8 @@ "title": "Waarschuwing Intel GPU-statistieken", "message": "GPU-statistieken niet beschikbaar", "description": "Dit is een bekend probleem in de GPU-statistiekentools van Intel (intel_gpu_top). Deze raken defect en geven herhaaldelijk een GPU-gebruik van 0% weer, zelfs wanneer hardware-acceleratie en objectdetectie correct draaien op de (i)GPU. Dit is geen bug in Frigate. Je kunt de host opnieuw opstarten om het tijdelijk op te lossen en te controleren dat de GPU goed werkt. Dit heeft geen invloed op de prestaties." - } + }, + "gpuTemperature": "GPU Temperatuur" }, "otherProcesses": { "processMemoryUsage": "Process Geheugen Gebruik", From e409e2755433ce88d04291c1653594b3300ea5ba Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:56 +0100 Subject: [PATCH 31/46] Added translation using Weblate (Spanish) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/es/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/es/config/cameras.json diff --git a/web/public/locales/es/config/cameras.json b/web/public/locales/es/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/es/config/cameras.json @@ -0,0 +1 @@ +{} From bec4692f9254531fa3e41fa9f69751bda7f3c0d8 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:56 +0100 Subject: [PATCH 32/46] Added translation using Weblate (French) Translated using Weblate (French) Currently translated at 100.0% (58 of 58 strings) Translated using Weblate (French) Currently translated at 100.0% (23 of 23 strings) Translated using Weblate (French) Currently translated at 93.8% (138 of 147 strings) Translated using Weblate (French) Currently translated at 96.4% (220 of 228 strings) Translated using Weblate (French) Currently translated at 81.0% (716 of 883 strings) Co-authored-by: Apocoloquintose Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/fr/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/fr/ Translation: Frigate NVR/common Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-exports Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/fr/common.json | 5 +- web/public/locales/fr/components/dialog.json | 4 + web/public/locales/fr/config/cameras.json | 1 + web/public/locales/fr/views/exports.json | 18 ++++- web/public/locales/fr/views/settings.json | 80 +++++++++++++++++++- web/public/locales/fr/views/system.json | 4 +- 6 files changed, 105 insertions(+), 7 deletions(-) create mode 100644 web/public/locales/fr/config/cameras.json diff --git a/web/public/locales/fr/common.json b/web/public/locales/fr/common.json index 39820367c..9377bd862 100644 --- a/web/public/locales/fr/common.json +++ b/web/public/locales/fr/common.json @@ -129,7 +129,10 @@ "deleteNow": "Supprimer maintenant", "download": "Télécharger", "done": "Terminé", - "continue": "Continuer" + "continue": "Continuer", + "add": "Ajouter", + "undo": "Annuler", + "copiedToClipboard": "Copié dans le presse-papiers" }, "menu": { "configuration": "Configuration", diff --git a/web/public/locales/fr/components/dialog.json b/web/public/locales/fr/components/dialog.json index 5b3cf0242..a2accb930 100644 --- a/web/public/locales/fr/components/dialog.json +++ b/web/public/locales/fr/components/dialog.json @@ -77,6 +77,10 @@ "fromTimeline": { "saveExport": "Enregistrer l'exportation", "previewExport": "Aperçu de l'exportation" + }, + "case": { + "label": "Dossier", + "placeholder": "Sélectionner un dossier" } }, "search": { diff --git a/web/public/locales/fr/config/cameras.json b/web/public/locales/fr/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fr/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/fr/views/exports.json b/web/public/locales/fr/views/exports.json index 3b698d003..fae8186f3 100644 --- a/web/public/locales/fr/views/exports.json +++ b/web/public/locales/fr/views/exports.json @@ -11,13 +11,27 @@ }, "toast": { "error": { - "renameExportFailed": "Échec du renommage de l'exportation : {{errorMessage}}" + "renameExportFailed": "Échec du renommage de l'exportation : {{errorMessage}}", + "assignCaseFailed": "Échec de la mise à jour de l'affectation au dossier : {{errorMessage}}" } }, "tooltip": { "shareExport": "Partager l'exportation", "downloadVideo": "Télécharger la vidéo", "editName": "Modifier le nom", - "deleteExport": "Supprimer l'exportation" + "deleteExport": "Supprimer l'exportation", + "assignToCase": "Ajouter à un dossier" + }, + "headings": { + "cases": "Dossiers", + "uncategorizedExports": "Exportations non classées" + }, + "caseDialog": { + "title": "Ajouter à un dossier", + "description": "Choisissez un dossier existant ou créez en un nouveau.", + "selectLabel": "Dossier", + "newCaseOption": "Créer un nouveau dossier", + "nameLabel": "Nom du dossier", + "descriptionLabel": "Description" } } diff --git a/web/public/locales/fr/views/settings.json b/web/public/locales/fr/views/settings.json index 6fe3c03a7..4c2fa3631 100644 --- a/web/public/locales/fr/views/settings.json +++ b/web/public/locales/fr/views/settings.json @@ -5,14 +5,17 @@ "camera": "Paramètres des caméras - Frigate", "classification": "Paramètres de classification - Frigate", "motionTuner": "Réglage de la détection de mouvement - Frigate", - "general": "Paramètres de l'interface utilisateur - Frigate", + "general": "Paramètres du profil - Frigate", "masksAndZones": "Éditeur de masques et de zones - Frigate", "object": "Débogage - Frigate", "frigatePlus": "Paramètres Frigate+ - Frigate", "notifications": "Paramètres de notification - Frigate", "enrichments": "Paramètres d'enrichissements - Frigate", "cameraManagement": "Gestion des caméras - Frigate", - "cameraReview": "Paramètres des activités caméra - Frigate" + "cameraReview": "Paramètres des activités caméra - Frigate", + "globalConfig": "Configuration globale - Frigate", + "cameraConfig": "Configuration de la caméra - Frigate", + "maintenance": "Maintenance - Frigate" }, "menu": { "ui": "Interface utilisateur", @@ -28,7 +31,62 @@ "triggers": "Déclencheurs", "roles": "Rôles", "cameraManagement": "Gestion", - "cameraReview": "Activités" + "cameraReview": "Activités", + "general": "Général", + "globalConfig": "Configuration globale", + "system": "Système", + "integrations": "Intégrations", + "profileSettings": "Paramètres du profil", + "globalDetect": "Détection d'objets", + "globalRecording": "Enregistrement", + "globalSnapshots": "Instantanés", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Détection de mouvement", + "globalObjects": "Objets", + "globalReview": "Activités", + "globalAudioEvents": "Événements audio", + "globalLivePlayback": "Lecture en direct", + "globalTimestampStyle": "Format d'horodatage", + "systemDatabase": "Base de données", + "systemTls": "TLS", + "systemAuthentication": "Authentification", + "systemNetworking": "Réseau", + "systemProxy": "Proxy", + "systemUi": "Interface", + "systemLogging": "Journalisation", + "systemEnvironmentVariables": "Variables d'environnement", + "systemTelemetry": "Télémétrie", + "systemBirdseye": "Birdseye", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "Matériel de détection", + "systemDetectionModel": "Modèle de détection", + "systemMqtt": "MQTT", + "integrationSemanticSearch": "Recherche sémantique", + "integrationGenerativeAi": "IA générative", + "integrationFaceRecognition": "Reconnaissance faciale", + "integrationLpr": "Lecture de plaques d'immatriculation", + "integrationObjectClassification": "Classification d'objets", + "integrationAudioTranscription": "Transcription audio", + "cameraDetect": "Détection d'objets", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "Enregistrement", + "cameraSnapshots": "Instantanés", + "cameraMotion": "Détection de mouvement", + "cameraObjects": "Objets", + "cameraConfigReview": "Activités", + "cameraAudioEvents": "Évènements audio", + "cameraAudioTranscription": "Transcription audio", + "cameraNotifications": "Notifications", + "cameraLivePlayback": "Lecture en direct", + "cameraBirdseye": "Birdseye", + "cameraFaceRecognition": "Reconnaissance faciale", + "cameraLpr": "Lecture de plaques d'immatriculation", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "Interface de la caméra", + "cameraTimestampStyle": "Style d'horodatage", + "cameraMqtt": "MQTT de la caméra", + "maintenance": "Maintenance" }, "dialog": { "unsavedChanges": { @@ -1315,5 +1373,21 @@ "success": "La configuration de la classification des activités a été enregistrée. Redémarrez Frigate pour appliquer les modifications." } } + }, + "saveAllPreview": { + "title": "Modifications à enregistrer", + "triggerLabel": "Examiner les modifications en attente", + "empty": "Aucune modification en attente", + "scope": { + "label": "Portée", + "global": "Global", + "camera": "Caméra : {{cameraName}}" + }, + "field": { + "label": "Champ" + }, + "value": { + "label": "Nouvelle valeur" + } } } diff --git a/web/public/locales/fr/views/system.json b/web/public/locales/fr/views/system.json index 38babfe8d..47bbc506d 100644 --- a/web/public/locales/fr/views/system.json +++ b/web/public/locales/fr/views/system.json @@ -81,7 +81,9 @@ "title": "Avertissement relatif aux statistiques du GPU Intel", "message": "Statistiques du GPU non disponibles", "description": "Il s'agit d'un bug connu de l'outil de statistiques GPU d'Intel (intel_gpu_top) : il peut afficher à tort une utilisation de 0 %, même lorsque l'accélération matérielle et la détection d'objets fonctionnent correctement sur l'iGPU. Ce problème ne vient pas de Frigate. Vous pouvez redémarrer l'hôte pour rétablir temporairement l'affichage et confirmer le fonctionnement du GPU. Les performances ne sont pas affectées." - } + }, + "gpuTemperature": "Température du GPU", + "npuTemperature": "Température du NPU" }, "otherProcesses": { "title": "Autres processus", From ac5e59af7e32a329a43f4a9b7623771fe1d35c1c Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:56 +0100 Subject: [PATCH 33/46] Added translation using Weblate (Swedish) Translated using Weblate (Swedish) Currently translated at 96.5% (56 of 58 strings) Translated using Weblate (Swedish) Currently translated at 92.5% (136 of 147 strings) Translated using Weblate (Swedish) Currently translated at 95.1% (217 of 228 strings) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: ThomasW Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sv/ Translation: Frigate NVR/common Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-system --- web/public/locales/sv/common.json | 4 ++-- web/public/locales/sv/components/dialog.json | 2 +- web/public/locales/sv/config/cameras.json | 1 + web/public/locales/sv/views/system.json | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 web/public/locales/sv/config/cameras.json diff --git a/web/public/locales/sv/common.json b/web/public/locales/sv/common.json index d6c185dff..a60cfb2af 100644 --- a/web/public/locales/sv/common.json +++ b/web/public/locales/sv/common.json @@ -43,7 +43,7 @@ "minute_other": "{{time}} minuter", "s": "{{time}}s", "formattedTimestamp": { - "12hour": "d MMM, kl. h:mm:ss a", + "12hour": "d MMM, 'kl.' h:mm:ss a", "24hour": "d MMM, HH:mm:ss" }, "formattedTimestamp2": { @@ -51,7 +51,7 @@ "24hour": "d MMM HH:mm:ss" }, "formattedTimestampHourMinute": { - "12hour": "kl. h:mm a", + "12hour": "'kl.' h:mm a", "24hour": "HH:mm" }, "formattedTimestampHourMinuteSecond": { diff --git a/web/public/locales/sv/components/dialog.json b/web/public/locales/sv/components/dialog.json index 66d8503b9..4b8899a2c 100644 --- a/web/public/locales/sv/components/dialog.json +++ b/web/public/locales/sv/components/dialog.json @@ -7,7 +7,7 @@ "button": "Tvinga omladdning nu" }, "title": "Är du säker på att du vill starta om Frigate?", - "description": "Detta kommer att stoppa Frigate kort medan det startar om." + "description": "Frigate stoppas tillfälligt under omstarten." }, "explore": { "plus": { diff --git a/web/public/locales/sv/config/cameras.json b/web/public/locales/sv/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sv/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sv/views/system.json b/web/public/locales/sv/views/system.json index 27eb9b844..0d6eac76a 100644 --- a/web/public/locales/sv/views/system.json +++ b/web/public/locales/sv/views/system.json @@ -39,10 +39,10 @@ "title": "Generellt", "detector": { "title": "Detektorer", - "inferenceSpeed": "Detektorns inferenshastighet", + "inferenceSpeed": "Detektorns inferenstid", "temperature": "Detektor temperatur", "cpuUsage": "Detektorns CPU-användning", - "memoryUsage": "Detektor minnes användning", + "memoryUsage": "Detektorns minnesanvändning", "cpuUsageInformation": "CPU som används för att förbereda in- och utdata till/från detekteringsmodeller. Detta värde mäter inte inferensanvändning, även om en GPU eller accelerator används." }, "hardwareInfo": { From fbc41ae39abee348a3ee39eaf085d75f61f48d46 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:56 +0100 Subject: [PATCH 34/46] Added translation using Weblate (Persian) Translated using Weblate (Persian) Currently translated at 99.0% (215 of 217 strings) Co-authored-by: Amir reza Irani ali poor Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/fa/ Translation: Frigate NVR/common --- web/public/locales/fa/common.json | 3 ++- web/public/locales/fa/config/cameras.json | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 web/public/locales/fa/config/cameras.json diff --git a/web/public/locales/fa/common.json b/web/public/locales/fa/common.json index 3b9e02617..ba8ea99bc 100644 --- a/web/public/locales/fa/common.json +++ b/web/public/locales/fa/common.json @@ -75,7 +75,8 @@ }, "inProgress": "در حال انجام", "invalidStartTime": "زمان شروع نامعتبر است", - "invalidEndTime": "زمان پایان نامعتبر است" + "invalidEndTime": "زمان پایان نامعتبر است", + "never": "هرگز" }, "unit": { "length": { diff --git a/web/public/locales/fa/config/cameras.json b/web/public/locales/fa/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fa/config/cameras.json @@ -0,0 +1 @@ +{} From 11e401340ba524dfd75553b57be4bc09b04031d6 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:57 +0100 Subject: [PATCH 35/46] Added translation using Weblate (Finnish) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/fi/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/fi/config/cameras.json diff --git a/web/public/locales/fi/config/cameras.json b/web/public/locales/fi/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/fi/config/cameras.json @@ -0,0 +1 @@ +{} From 53b03018b3b37ca47a6bc6bddb634d0b3fafe931 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:57 +0100 Subject: [PATCH 36/46] Added translation using Weblate (Serbian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/sr/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/sr/config/cameras.json diff --git a/web/public/locales/sr/config/cameras.json b/web/public/locales/sr/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sr/config/cameras.json @@ -0,0 +1 @@ +{} From f774e33d1fb70e4809d3ace2645aa6f916a98998 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:57 +0100 Subject: [PATCH 37/46] Added translation using Weblate (Korean) Translated using Weblate (Korean) Currently translated at 86.2% (50 of 58 strings) Translated using Weblate (Korean) Currently translated at 99.5% (227 of 228 strings) Co-authored-by: Hosted Weblate Co-authored-by: John Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ko/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ko/ Translation: Frigate NVR/common Translation: Frigate NVR/components-dialog --- web/public/locales/ko/common.json | 131 ++++++++++++------- web/public/locales/ko/components/dialog.json | 32 ++++- web/public/locales/ko/config/cameras.json | 1 + 3 files changed, 109 insertions(+), 55 deletions(-) create mode 100644 web/public/locales/ko/config/cameras.json diff --git a/web/public/locales/ko/common.json b/web/public/locales/ko/common.json index e5c8ef9a9..b7632271e 100644 --- a/web/public/locales/ko/common.json +++ b/web/public/locales/ko/common.json @@ -11,7 +11,7 @@ "5minutes": "5분", "untilRestart": "재시작 될 때까지", "ago": "{{timeAgo}} 전", - "justNow": "지금 막", + "justNow": "방금", "today": "오늘", "yesterday": "어제", "last7": "최근 7일", @@ -67,7 +67,11 @@ "formattedTimestampFilename": { "12hour": "MM-dd-yy-h-mm-ss-a", "24hour": "MM-dd-yy-HH-mm-ss" - } + }, + "never": "한 번도 없음", + "inProgress": "진행 중", + "invalidStartTime": "잘못된 시작 시간", + "invalidEndTime": "잘못된 종료 시간" }, "notFound": { "title": "404", @@ -96,48 +100,49 @@ "configurationEditor": "설정 편집기", "languages": "언어", "language": { - "en": "English (English)", - "es": "Español (Spanish)", - "zhCN": "简体中文 (Simplified Chinese)", - "hi": "हिन्दी (Hindi)", - "fr": "Français (French)", - "ar": "العربية (Arabic)", - "pt": "Português (Portuguese)", - "ptBR": "Português brasileiro (Brazilian Portuguese)", - "ru": "Русский (Russian)", - "de": "Deutsch (German)", - "ja": "日本語 (Japanese)", - "tr": "Türkçe (Turkish)", - "it": "Italiano (Italian)", - "nl": "Nederlands (Dutch)", - "sv": "Svenska (Swedish)", - "cs": "Čeština (Czech)", - "nb": "Norsk Bokmål (Norwegian Bokmål)", - "ko": "한국어 (Korean)", - "vi": "Tiếng Việt (Vietnamese)", - "fa": "فارسی (Persian)", - "pl": "Polski (Polish)", - "uk": "Українська (Ukrainian)", - "he": "עברית (Hebrew)", - "el": "Ελληνικά (Greek)", - "ro": "Română (Romanian)", - "hu": "Magyar (Hungarian)", + "en": "English (영어)", + "es": "Español (스페인어)", + "zhCN": "简体中文 (중국어 간체)", + "hi": "हिन्दी (힌두어)", + "fr": "Français (프랑스어)", + "ar": "العربية (아랍어)", + "pt": "Português (포르투갈어)", + "ptBR": "Português brasileiro (브라질 포르투갈어)", + "ru": "Русский (러시아어)", + "de": "Deutsch (독일어)", + "ja": "日本語 (일본어)", + "tr": "Türkçe (튀르키예어)", + "it": "Italiano (이탈리아어)", + "nl": "Nederlands (네덜란드어)", + "sv": "Svenska (스웨덴어)", + "cs": "Čeština (체코어)", + "nb": "Norsk Bokmål (노르웨이어 보크몰)", + "ko": "한국어", + "vi": "Tiếng Việt (베트남어)", + "fa": "فارسی (페르시아어)", + "pl": "Polski (폴란드어)", + "uk": "Українська (우크라이나어)", + "he": "עברית (히브리어)", + "el": "Ελληνικά (그리스어)", + "ro": "Română (루마니아어)", + "hu": "Magyar (헝가리어)", "fi": "Suomi (Finnish)", - "da": "Dansk (Danish)", - "sk": "Slovenčina (Slovak)", - "yue": "粵語 (Cantonese)", - "th": "ไทย (Thai)", - "ca": "Català (Catalan)", - "sr": "Српски (Serbian)", - "sl": "Slovenščina (Slovenian)", - "lt": "Lietuvių (Lithuanian)", - "bg": "Български (Bulgarian)", - "gl": "Galego (Galician)", - "id": "Bahasa Indonesia (Indonesian)", - "ur": "اردو (Urdu)", + "da": "Dansk (덴마크어)", + "sk": "Slovenčina (슬로바키아어)", + "yue": "粵語 (광둥어)", + "th": "ไทย (태국어)", + "ca": "Català (카탈로니아어)", + "sr": "Српски (세르비아어)", + "sl": "Slovenščina (슬로베니아어)", + "lt": "Lietuvių (리투아니아어)", + "bg": "Български (불가리아어)", + "gl": "Galego (갈리시아어)", + "id": "Bahasa Indonesia (인도네시아어)", + "ur": "اردو (우르두어)", "withSystem": { "label": "시스템 설정 언어 사용" - } + }, + "hr": "Hrvatski (크로아티아어)" }, "appearance": "화면 설정", "darkMode": { @@ -175,8 +180,10 @@ "review": "다시보기", "explore": "탐색", "export": "내보내기", - "uiPlayground": "UI 실험장", - "faceLibrary": "얼굴 라이브러리" + "uiPlayground": "UI 실험실", + "faceLibrary": "얼굴 라이브러리", + "classification": "분류", + "chat": "채팅" }, "unit": { "speed": { @@ -191,13 +198,19 @@ "kbps": "kB/s", "mbps": "MB/s", "gbps": "GB/s", - "kbph": "kB/hour", - "mbph": "MB/hour", - "gbph": "GB/hour" + "kbph": "kB/시간", + "mbph": "MB/시간", + "gbph": "GB/시간" } }, "label": { - "back": "뒤로" + "back": "뒤로", + "hide": "{{item}} 숨기기", + "show": "{{item}} 표시", + "ID": "아이디", + "none": "없음", + "all": "전체", + "other": "그 외" }, "button": { "apply": "적용", @@ -216,7 +229,7 @@ "history": "히스토리", "fullscreen": "전체화면", "exitFullscreen": "전체화면 나가기", - "pictureInPicture": "Picture in Picture", + "pictureInPicture": "화면 속 화면", "twoWayTalk": "양방향 말하기", "cameraAudio": "카메라 오디오", "on": "켜기", @@ -234,7 +247,18 @@ "unselect": "선택 해제", "export": "내보내기", "deleteNow": "바로 삭제하기", - "next": "다음" + "next": "다음", + "add": "추가", + "undo": "실행 취소", + "copiedToClipboard": "클립보드에 복사", + "continue": "계속하기", + "modified": "수정됨", + "overridden": "재정의됨", + "resetToGlobal": "글로벌 설정으로 재설정", + "resetToDefault": "기본값으로 재설정", + "saveAll": "모두 저장", + "savingAll": "모두 저장 중. …", + "undoAll": "모두 실행 취소" }, "toast": { "copyUrlToClipboard": "클립보드에 URL이 복사되었습니다.", @@ -267,5 +291,14 @@ "selectItem": "{{item}} 선택", "information": { "pixels": "{{area}}px" + }, + "list": { + "two": "{{0}}과 {{1}}", + "many": "{{items}} 그리고 {{last}}", + "separatorWithSpace": ", " + }, + "field": { + "optional": "선택", + "internalID": "Frigate 내부 ID는 구성 및 데이터베이스에서 사용됩니다" } } diff --git a/web/public/locales/ko/components/dialog.json b/web/public/locales/ko/components/dialog.json index f701526ef..af6c16556 100644 --- a/web/public/locales/ko/components/dialog.json +++ b/web/public/locales/ko/components/dialog.json @@ -6,7 +6,8 @@ "title": "Frigate이 재시작 중입니다", "content": "이 페이지는 {{countdown}} 뒤에 새로 고침 됩니다.", "button": "강제 재시작" - } + }, + "description": "이 작업은 Frigate가 재시작 되는 동안 잠시 작동이 중지됩니다." }, "explore": { "plus": { @@ -15,7 +16,13 @@ }, "review": { "question": { - "label": "Frigate +에 이 레이블 등록하기" + "label": "Frigate +에 이 레이블 등록하기", + "ask_a": "이 것은 {{label}} 인가요?", + "ask_an": "이 것은 {{label}} 인가요?", + "ask_full": "이 것은 {{untranslatedLabel}} ({{translatedLabel}}) 인가요?" + }, + "state": { + "submitted": "제출됨" } } }, @@ -26,7 +33,7 @@ "export": { "time": { "fromTimeline": "타임라인에서 선택하기", - "lastHour_other": "지난 시간", + "lastHour_other": "지난 {{count}} 시간­", "custom": "커스텀", "start": { "title": "시작 시간", @@ -44,12 +51,13 @@ "export": "내보내기", "selectOrExport": "선택 또는 내보내기", "toast": { - "success": "내보내기가 성공적으로 시작되었습니다. /exports 폴더에서 파일을 보실 수 있습니다.", + "success": "내보내기가 성공적으로 시작되었습니다. 내보내기 페이지에서 파일을 보실 수 있습니다.", "error": { "failed": "내보내기 시작 실패:{{error}}", "endTimeMustAfterStartTime": "종료 시간은 시작 시간보다 뒤에 있어야합니다", "noVaildTimeSelected": "유효한 시간 범위가 선택되지 않았습니다" - } + }, + "view": "보기" }, "fromTimeline": { "saveExport": "내보내기 저장", @@ -86,7 +94,19 @@ }, "recording": { "confirmDelete": { - "title": "삭제 확인" + "title": "삭제 확인", + "desc": { + "selected": "이 리뷰 항목과 관련된 모든 녹화된 영상을 삭제하시겠습니까?

    다음에 이 팝업을 건너뛰려면 Shift 키를 누르고 삭제하세요." + }, + "toast": { + "success": "선택한 리뷰 항목과 관련된 동영상 파일이 성공적으로 삭제되었습니다.", + "error": "삭제 실패: {{error}}" + } + }, + "button": { + "export": "내보내기", + "markAsReviewed": "검토 완료로 표시", + "markAsUnreviewed": "검토 안 함 표시" } } } diff --git a/web/public/locales/ko/config/cameras.json b/web/public/locales/ko/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ko/config/cameras.json @@ -0,0 +1 @@ +{} From 0158c5f37be039b404ef1743414dc69863cec471 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:58 +0100 Subject: [PATCH 38/46] Added translation using Weblate (Slovak) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/sk/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/sk/config/cameras.json diff --git a/web/public/locales/sk/config/cameras.json b/web/public/locales/sk/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sk/config/cameras.json @@ -0,0 +1 @@ +{} From 724cabee38d18499f2214ca9cd3a19aef61cf9c4 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:58 +0100 Subject: [PATCH 39/46] Added translation using Weblate (Slovenian) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/sl/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/sl/config/cameras.json diff --git a/web/public/locales/sl/config/cameras.json b/web/public/locales/sl/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sl/config/cameras.json @@ -0,0 +1 @@ +{} From 3ef60cc15cf12b1fb3c85f8dcc6d0220dc891a65 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:58 +0100 Subject: [PATCH 40/46] Added translation using Weblate (Urdu) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/ur/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/ur/config/cameras.json diff --git a/web/public/locales/ur/config/cameras.json b/web/public/locales/ur/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ur/config/cameras.json @@ -0,0 +1 @@ +{} From cd26d99b524e459ff42e19b8dcfd8d0b50a9f1f5 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:58 +0100 Subject: [PATCH 41/46] Added translation using Weblate (Uzbek) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/uz/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/uz/config/cameras.json diff --git a/web/public/locales/uz/config/cameras.json b/web/public/locales/uz/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uz/config/cameras.json @@ -0,0 +1 @@ +{} From 131b3b5a7ba4c1a975498f3b1b66463032cfeceb Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:58 +0100 Subject: [PATCH 42/46] Added translation using Weblate (Chinese (Traditional Han script)) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/zh_Hant/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/zh_Hant/config/cameras.json diff --git a/web/public/locales/zh_Hant/config/cameras.json b/web/public/locales/zh_Hant/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hant/config/cameras.json @@ -0,0 +1 @@ +{} From 6296f0acd1541d34b4f76d5a580b8d7568ec97ed Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:59 +0100 Subject: [PATCH 43/46] Added translation using Weblate (Chinese (Simplified Han script)) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/zh_Hans/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/zh_Hans/config/cameras.json diff --git a/web/public/locales/zh_Hans/config/cameras.json b/web/public/locales/zh_Hans/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hans/config/cameras.json @@ -0,0 +1 @@ +{} From 91385ce65258ddb11d863255b70163efd2a24ffb Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:26:59 +0100 Subject: [PATCH 44/46] =?UTF-8?q?Added=20translation=20using=20Weblate=20(?= =?UTF-8?q?Norwegian=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on --- web/public/locales/nb_NO/config/cameras.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 web/public/locales/nb_NO/config/cameras.json diff --git a/web/public/locales/nb_NO/config/cameras.json b/web/public/locales/nb_NO/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nb_NO/config/cameras.json @@ -0,0 +1 @@ +{} From 962c042e70b25eadb3baa8f64c142082c30585be Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:27:00 +0100 Subject: [PATCH 45/46] Translated using Weblate (Cantonese (Traditional Han script)) Currently translated at 0.2% (1 of 464 strings) Added translation using Weblate (Cantonese (Traditional Han script)) Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Co-authored-by: beginner2047 Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/yue_Hant/ Translation: Frigate NVR/Config - Cameras --- web/public/locales/yue_Hant/config/cameras.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 web/public/locales/yue_Hant/config/cameras.json diff --git a/web/public/locales/yue_Hant/config/cameras.json b/web/public/locales/yue_Hant/config/cameras.json new file mode 100644 index 000000000..670d37015 --- /dev/null +++ b/web/public/locales/yue_Hant/config/cameras.json @@ -0,0 +1,5 @@ +{ + "zones": { + "label": "區域" + } +} From b8089fa8f0a60349f46ab97ddf1e51b2f045d6da Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 4 Mar 2026 09:27:00 +0100 Subject: [PATCH 46/46] Update translation files Updated by "Squash Git commits" add-on in Weblate. Translation: Frigate NVR/common Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ --- web/public/locales/ab/common.json | 1 - web/public/locales/ab/components/auth.json | 1 - web/public/locales/ab/components/camera.json | 1 - web/public/locales/ab/components/dialog.json | 1 - web/public/locales/ab/components/filter.json | 1 - web/public/locales/ab/components/icons.json | 1 - web/public/locales/ab/components/input.json | 1 - web/public/locales/ab/components/player.json | 1 - web/public/locales/ab/objects.json | 1 - web/public/locales/ab/views/classificationModel.json | 1 - web/public/locales/ab/views/configEditor.json | 1 - web/public/locales/ab/views/events.json | 1 - web/public/locales/ab/views/explore.json | 1 - web/public/locales/ab/views/exports.json | 1 - web/public/locales/ab/views/faceLibrary.json | 1 - web/public/locales/ab/views/live.json | 1 - web/public/locales/ab/views/recording.json | 1 - web/public/locales/ab/views/search.json | 1 - web/public/locales/ab/views/settings.json | 1 - web/public/locales/ab/views/system.json | 1 - web/public/locales/ka/audio.json | 1 - web/public/locales/ka/common.json | 1 - web/public/locales/ka/components/auth.json | 1 - web/public/locales/ka/components/camera.json | 1 - web/public/locales/ka/components/dialog.json | 1 - web/public/locales/ka/components/filter.json | 1 - web/public/locales/ka/components/icons.json | 1 - web/public/locales/ka/components/input.json | 1 - web/public/locales/ka/components/player.json | 1 - web/public/locales/ka/objects.json | 1 - web/public/locales/ka/views/classificationModel.json | 1 - web/public/locales/ka/views/configEditor.json | 1 - web/public/locales/ka/views/events.json | 1 - web/public/locales/ka/views/explore.json | 1 - web/public/locales/ka/views/exports.json | 1 - web/public/locales/ka/views/faceLibrary.json | 1 - web/public/locales/ka/views/live.json | 1 - web/public/locales/ka/views/recording.json | 1 - web/public/locales/ka/views/search.json | 1 - web/public/locales/ka/views/settings.json | 1 - web/public/locales/ka/views/system.json | 1 - web/public/locales/peo/audio.json | 1 - web/public/locales/peo/common.json | 1 - web/public/locales/peo/components/auth.json | 1 - web/public/locales/peo/components/camera.json | 1 - web/public/locales/peo/components/dialog.json | 1 - web/public/locales/peo/components/filter.json | 1 - web/public/locales/peo/components/icons.json | 1 - web/public/locales/peo/components/input.json | 1 - web/public/locales/peo/components/player.json | 1 - web/public/locales/peo/objects.json | 1 - web/public/locales/peo/views/classificationModel.json | 1 - web/public/locales/peo/views/configEditor.json | 1 - web/public/locales/peo/views/events.json | 1 - web/public/locales/peo/views/explore.json | 1 - web/public/locales/peo/views/exports.json | 1 - web/public/locales/peo/views/faceLibrary.json | 1 - web/public/locales/peo/views/live.json | 1 - web/public/locales/peo/views/recording.json | 1 - web/public/locales/peo/views/search.json | 1 - web/public/locales/peo/views/settings.json | 1 - web/public/locales/peo/views/system.json | 1 - web/public/locales/{ab/audio.json => ro/config/groups.json} | 0 web/public/locales/ta/audio.json | 1 - web/public/locales/ta/common.json | 1 - web/public/locales/ta/components/auth.json | 1 - web/public/locales/ta/components/camera.json | 1 - web/public/locales/ta/components/dialog.json | 1 - web/public/locales/ta/components/filter.json | 1 - web/public/locales/ta/components/icons.json | 1 - web/public/locales/ta/components/input.json | 1 - web/public/locales/ta/components/player.json | 1 - web/public/locales/ta/objects.json | 1 - web/public/locales/ta/views/classificationModel.json | 1 - web/public/locales/ta/views/configEditor.json | 1 - web/public/locales/ta/views/events.json | 1 - web/public/locales/ta/views/explore.json | 1 - web/public/locales/ta/views/exports.json | 1 - web/public/locales/ta/views/faceLibrary.json | 1 - web/public/locales/ta/views/live.json | 1 - web/public/locales/ta/views/recording.json | 1 - web/public/locales/ta/views/search.json | 1 - web/public/locales/ta/views/settings.json | 1 - web/public/locales/ta/views/system.json | 1 - 84 files changed, 83 deletions(-) delete mode 100644 web/public/locales/ab/common.json delete mode 100644 web/public/locales/ab/components/auth.json delete mode 100644 web/public/locales/ab/components/camera.json delete mode 100644 web/public/locales/ab/components/dialog.json delete mode 100644 web/public/locales/ab/components/filter.json delete mode 100644 web/public/locales/ab/components/icons.json delete mode 100644 web/public/locales/ab/components/input.json delete mode 100644 web/public/locales/ab/components/player.json delete mode 100644 web/public/locales/ab/objects.json delete mode 100644 web/public/locales/ab/views/classificationModel.json delete mode 100644 web/public/locales/ab/views/configEditor.json delete mode 100644 web/public/locales/ab/views/events.json delete mode 100644 web/public/locales/ab/views/explore.json delete mode 100644 web/public/locales/ab/views/exports.json delete mode 100644 web/public/locales/ab/views/faceLibrary.json delete mode 100644 web/public/locales/ab/views/live.json delete mode 100644 web/public/locales/ab/views/recording.json delete mode 100644 web/public/locales/ab/views/search.json delete mode 100644 web/public/locales/ab/views/settings.json delete mode 100644 web/public/locales/ab/views/system.json delete mode 100644 web/public/locales/ka/audio.json delete mode 100644 web/public/locales/ka/common.json delete mode 100644 web/public/locales/ka/components/auth.json delete mode 100644 web/public/locales/ka/components/camera.json delete mode 100644 web/public/locales/ka/components/dialog.json delete mode 100644 web/public/locales/ka/components/filter.json delete mode 100644 web/public/locales/ka/components/icons.json delete mode 100644 web/public/locales/ka/components/input.json delete mode 100644 web/public/locales/ka/components/player.json delete mode 100644 web/public/locales/ka/objects.json delete mode 100644 web/public/locales/ka/views/classificationModel.json delete mode 100644 web/public/locales/ka/views/configEditor.json delete mode 100644 web/public/locales/ka/views/events.json delete mode 100644 web/public/locales/ka/views/explore.json delete mode 100644 web/public/locales/ka/views/exports.json delete mode 100644 web/public/locales/ka/views/faceLibrary.json delete mode 100644 web/public/locales/ka/views/live.json delete mode 100644 web/public/locales/ka/views/recording.json delete mode 100644 web/public/locales/ka/views/search.json delete mode 100644 web/public/locales/ka/views/settings.json delete mode 100644 web/public/locales/ka/views/system.json delete mode 100644 web/public/locales/peo/audio.json delete mode 100644 web/public/locales/peo/common.json delete mode 100644 web/public/locales/peo/components/auth.json delete mode 100644 web/public/locales/peo/components/camera.json delete mode 100644 web/public/locales/peo/components/dialog.json delete mode 100644 web/public/locales/peo/components/filter.json delete mode 100644 web/public/locales/peo/components/icons.json delete mode 100644 web/public/locales/peo/components/input.json delete mode 100644 web/public/locales/peo/components/player.json delete mode 100644 web/public/locales/peo/objects.json delete mode 100644 web/public/locales/peo/views/classificationModel.json delete mode 100644 web/public/locales/peo/views/configEditor.json delete mode 100644 web/public/locales/peo/views/events.json delete mode 100644 web/public/locales/peo/views/explore.json delete mode 100644 web/public/locales/peo/views/exports.json delete mode 100644 web/public/locales/peo/views/faceLibrary.json delete mode 100644 web/public/locales/peo/views/live.json delete mode 100644 web/public/locales/peo/views/recording.json delete mode 100644 web/public/locales/peo/views/search.json delete mode 100644 web/public/locales/peo/views/settings.json delete mode 100644 web/public/locales/peo/views/system.json rename web/public/locales/{ab/audio.json => ro/config/groups.json} (100%) delete mode 100644 web/public/locales/ta/audio.json delete mode 100644 web/public/locales/ta/common.json delete mode 100644 web/public/locales/ta/components/auth.json delete mode 100644 web/public/locales/ta/components/camera.json delete mode 100644 web/public/locales/ta/components/dialog.json delete mode 100644 web/public/locales/ta/components/filter.json delete mode 100644 web/public/locales/ta/components/icons.json delete mode 100644 web/public/locales/ta/components/input.json delete mode 100644 web/public/locales/ta/components/player.json delete mode 100644 web/public/locales/ta/objects.json delete mode 100644 web/public/locales/ta/views/classificationModel.json delete mode 100644 web/public/locales/ta/views/configEditor.json delete mode 100644 web/public/locales/ta/views/events.json delete mode 100644 web/public/locales/ta/views/explore.json delete mode 100644 web/public/locales/ta/views/exports.json delete mode 100644 web/public/locales/ta/views/faceLibrary.json delete mode 100644 web/public/locales/ta/views/live.json delete mode 100644 web/public/locales/ta/views/recording.json delete mode 100644 web/public/locales/ta/views/search.json delete mode 100644 web/public/locales/ta/views/settings.json delete mode 100644 web/public/locales/ta/views/system.json diff --git a/web/public/locales/ab/common.json b/web/public/locales/ab/common.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/common.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/components/auth.json b/web/public/locales/ab/components/auth.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/components/auth.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/components/camera.json b/web/public/locales/ab/components/camera.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/components/camera.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/components/dialog.json b/web/public/locales/ab/components/dialog.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/components/dialog.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/components/filter.json b/web/public/locales/ab/components/filter.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/components/filter.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/components/icons.json b/web/public/locales/ab/components/icons.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/components/icons.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/components/input.json b/web/public/locales/ab/components/input.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/components/input.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/components/player.json b/web/public/locales/ab/components/player.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/components/player.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/objects.json b/web/public/locales/ab/objects.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/objects.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/views/classificationModel.json b/web/public/locales/ab/views/classificationModel.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/views/classificationModel.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/views/configEditor.json b/web/public/locales/ab/views/configEditor.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/views/configEditor.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/views/events.json b/web/public/locales/ab/views/events.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/views/events.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/views/explore.json b/web/public/locales/ab/views/explore.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/views/explore.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/views/exports.json b/web/public/locales/ab/views/exports.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/views/exports.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/views/faceLibrary.json b/web/public/locales/ab/views/faceLibrary.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/views/faceLibrary.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/views/live.json b/web/public/locales/ab/views/live.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/views/live.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/views/recording.json b/web/public/locales/ab/views/recording.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/views/recording.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/views/search.json b/web/public/locales/ab/views/search.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/views/search.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/views/settings.json b/web/public/locales/ab/views/settings.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/views/settings.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/views/system.json b/web/public/locales/ab/views/system.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ab/views/system.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/audio.json b/web/public/locales/ka/audio.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/audio.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/common.json b/web/public/locales/ka/common.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/common.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/components/auth.json b/web/public/locales/ka/components/auth.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/components/auth.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/components/camera.json b/web/public/locales/ka/components/camera.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/components/camera.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/components/dialog.json b/web/public/locales/ka/components/dialog.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/components/dialog.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/components/filter.json b/web/public/locales/ka/components/filter.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/components/filter.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/components/icons.json b/web/public/locales/ka/components/icons.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/components/icons.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/components/input.json b/web/public/locales/ka/components/input.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/components/input.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/components/player.json b/web/public/locales/ka/components/player.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/components/player.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/objects.json b/web/public/locales/ka/objects.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/objects.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/views/classificationModel.json b/web/public/locales/ka/views/classificationModel.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/views/classificationModel.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/views/configEditor.json b/web/public/locales/ka/views/configEditor.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/views/configEditor.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/views/events.json b/web/public/locales/ka/views/events.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/views/events.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/views/explore.json b/web/public/locales/ka/views/explore.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/views/explore.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/views/exports.json b/web/public/locales/ka/views/exports.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/views/exports.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/views/faceLibrary.json b/web/public/locales/ka/views/faceLibrary.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/views/faceLibrary.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/views/live.json b/web/public/locales/ka/views/live.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/views/live.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/views/recording.json b/web/public/locales/ka/views/recording.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/views/recording.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/views/search.json b/web/public/locales/ka/views/search.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/views/search.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/views/settings.json b/web/public/locales/ka/views/settings.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/views/settings.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ka/views/system.json b/web/public/locales/ka/views/system.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ka/views/system.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/audio.json b/web/public/locales/peo/audio.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/audio.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/common.json b/web/public/locales/peo/common.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/common.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/components/auth.json b/web/public/locales/peo/components/auth.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/components/auth.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/components/camera.json b/web/public/locales/peo/components/camera.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/components/camera.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/components/dialog.json b/web/public/locales/peo/components/dialog.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/components/dialog.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/components/filter.json b/web/public/locales/peo/components/filter.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/components/filter.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/components/icons.json b/web/public/locales/peo/components/icons.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/components/icons.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/components/input.json b/web/public/locales/peo/components/input.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/components/input.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/components/player.json b/web/public/locales/peo/components/player.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/components/player.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/objects.json b/web/public/locales/peo/objects.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/objects.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/views/classificationModel.json b/web/public/locales/peo/views/classificationModel.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/views/classificationModel.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/views/configEditor.json b/web/public/locales/peo/views/configEditor.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/views/configEditor.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/views/events.json b/web/public/locales/peo/views/events.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/views/events.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/views/explore.json b/web/public/locales/peo/views/explore.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/views/explore.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/views/exports.json b/web/public/locales/peo/views/exports.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/views/exports.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/views/faceLibrary.json b/web/public/locales/peo/views/faceLibrary.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/views/faceLibrary.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/views/live.json b/web/public/locales/peo/views/live.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/views/live.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/views/recording.json b/web/public/locales/peo/views/recording.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/views/recording.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/views/search.json b/web/public/locales/peo/views/search.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/views/search.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/views/settings.json b/web/public/locales/peo/views/settings.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/views/settings.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/peo/views/system.json b/web/public/locales/peo/views/system.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/peo/views/system.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ab/audio.json b/web/public/locales/ro/config/groups.json similarity index 100% rename from web/public/locales/ab/audio.json rename to web/public/locales/ro/config/groups.json diff --git a/web/public/locales/ta/audio.json b/web/public/locales/ta/audio.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/audio.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/common.json b/web/public/locales/ta/common.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/common.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/components/auth.json b/web/public/locales/ta/components/auth.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/components/auth.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/components/camera.json b/web/public/locales/ta/components/camera.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/components/camera.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/components/dialog.json b/web/public/locales/ta/components/dialog.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/components/dialog.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/components/filter.json b/web/public/locales/ta/components/filter.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/components/filter.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/components/icons.json b/web/public/locales/ta/components/icons.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/components/icons.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/components/input.json b/web/public/locales/ta/components/input.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/components/input.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/components/player.json b/web/public/locales/ta/components/player.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/components/player.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/objects.json b/web/public/locales/ta/objects.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/objects.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/views/classificationModel.json b/web/public/locales/ta/views/classificationModel.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/views/classificationModel.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/views/configEditor.json b/web/public/locales/ta/views/configEditor.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/views/configEditor.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/views/events.json b/web/public/locales/ta/views/events.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/views/events.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/views/explore.json b/web/public/locales/ta/views/explore.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/views/explore.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/views/exports.json b/web/public/locales/ta/views/exports.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/views/exports.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/views/faceLibrary.json b/web/public/locales/ta/views/faceLibrary.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/views/faceLibrary.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/views/live.json b/web/public/locales/ta/views/live.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/views/live.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/views/recording.json b/web/public/locales/ta/views/recording.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/views/recording.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/views/search.json b/web/public/locales/ta/views/search.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/views/search.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/views/settings.json b/web/public/locales/ta/views/settings.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/views/settings.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/web/public/locales/ta/views/system.json b/web/public/locales/ta/views/system.json deleted file mode 100644 index 0967ef424..000000000 --- a/web/public/locales/ta/views/system.json +++ /dev/null @@ -1 +0,0 @@ -{}