diff --git a/web/public/locales/ab/config/cameras.json b/web/public/locales/ab/config/cameras.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/ab/config/cameras.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/audio.json b/web/public/locales/af/audio.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/audio.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/common.json b/web/public/locales/af/common.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/common.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/components/auth.json b/web/public/locales/af/components/auth.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/components/auth.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/components/camera.json b/web/public/locales/af/components/camera.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/components/camera.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/components/dialog.json b/web/public/locales/af/components/dialog.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/components/dialog.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/components/filter.json b/web/public/locales/af/components/filter.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/components/filter.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/components/icons.json b/web/public/locales/af/components/icons.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/components/icons.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/components/input.json b/web/public/locales/af/components/input.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/components/input.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/components/player.json b/web/public/locales/af/components/player.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/components/player.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/config/cameras.json b/web/public/locales/af/config/cameras.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/config/cameras.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/objects.json b/web/public/locales/af/objects.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/objects.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/views/classificationModel.json b/web/public/locales/af/views/classificationModel.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/views/classificationModel.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/views/configEditor.json b/web/public/locales/af/views/configEditor.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/views/configEditor.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/views/events.json b/web/public/locales/af/views/events.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/views/events.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/views/explore.json b/web/public/locales/af/views/explore.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/views/explore.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/views/exports.json b/web/public/locales/af/views/exports.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/views/exports.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/views/faceLibrary.json b/web/public/locales/af/views/faceLibrary.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/views/faceLibrary.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/views/live.json b/web/public/locales/af/views/live.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/views/live.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/views/recording.json b/web/public/locales/af/views/recording.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/views/recording.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/views/search.json b/web/public/locales/af/views/search.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/views/search.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/views/settings.json b/web/public/locales/af/views/settings.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/views/settings.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/af/views/system.json b/web/public/locales/af/views/system.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/af/views/system.json
@@ -0,0 +1 @@
+{}
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 @@
+{}
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 @@
+{}
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..0967ef424
--- /dev/null
+++ b/web/public/locales/ca/config/cameras.json
@@ -0,0 +1 @@
+{}
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/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..eaab2bc91 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 la placa de llicència",
+ "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ó: ",
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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",
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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": {
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 @@
+{}
diff --git a/web/public/locales/ka/config/cameras.json b/web/public/locales/ka/config/cameras.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/ka/config/cameras.json
@@ -0,0 +1 @@
+{}
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 @@
+{}
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": "
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": "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.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: "
}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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": {
diff --git a/web/public/locales/ta/config/cameras.json b/web/public/locales/ta/config/cameras.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/ta/config/cameras.json
@@ -0,0 +1 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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 @@
+{}
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..0967ef424
--- /dev/null
+++ b/web/public/locales/yue_Hant/config/cameras.json
@@ -0,0 +1 @@
+{}
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 @@
+{}
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 @@
+{}