diff --git a/web/public/locales/ca/common.json b/web/public/locales/ca/common.json
index b3a5344d6..fa5ce3b62 100644
--- a/web/public/locales/ca/common.json
+++ b/web/public/locales/ca/common.json
@@ -218,7 +218,10 @@
}
},
"label": {
- "back": "Torna enrere"
+ "back": "Torna enrere",
+ "hide": "Oculta {{item}}",
+ "show": "Mostra {{item}}",
+ "ID": "ID"
},
"button": {
"apply": "Aplicar",
@@ -281,5 +284,14 @@
"readTheDocumentation": "Llegir la documentació",
"information": {
"pixels": "{{area}}px"
+ },
+ "list": {
+ "two": "{{0}} i {{1}}",
+ "many": "{{items}}, i {{last}}",
+ "separatorWithSpace": ",· "
+ },
+ "field": {
+ "optional": "Opcional",
+ "internalID": "L'ID intern que Frigate s'utilitza a la configuració i a la base de dades"
}
}
diff --git a/web/public/locales/ca/components/dialog.json b/web/public/locales/ca/components/dialog.json
index 6f38c7c13..0fa89afbe 100644
--- a/web/public/locales/ca/components/dialog.json
+++ b/web/public/locales/ca/components/dialog.json
@@ -117,6 +117,7 @@
"search": {
"placeholder": "Cerca per etiqueta o subetiqueta..."
},
- "noImages": "No s'han trobat miniatures per a aquesta càmera"
+ "noImages": "No s'han trobat miniatures per a aquesta càmera",
+ "unknownLabel": "Imatge activadora desada"
}
}
diff --git a/web/public/locales/ca/views/classificationModel.json b/web/public/locales/ca/views/classificationModel.json
index 78897acb4..b64214a89 100644
--- a/web/public/locales/ca/views/classificationModel.json
+++ b/web/public/locales/ca/views/classificationModel.json
@@ -5,7 +5,10 @@
"renameCategory": "Reanomena la classe",
"deleteCategory": "Suprimeix la classe",
"deleteImages": "Suprimeix les imatges",
- "trainModel": "Model de tren"
+ "trainModel": "Model de tren",
+ "addClassification": "Afegeix una classificació",
+ "deleteModels": "Suprimeix els models",
+ "editModel": "Edita el model"
},
"toast": {
"success": {
@@ -13,13 +16,19 @@
"deletedImage": "Imatges suprimides",
"categorizedImage": "Imatge classificada amb èxit",
"trainedModel": "Model entrenat amb èxit.",
- "trainingModel": "S'ha iniciat amb èxit la formació de models."
+ "trainingModel": "S'ha iniciat amb èxit la formació de models.",
+ "deletedModel_one": "S'ha suprimit correctament el model {{count}}",
+ "deletedModel_many": "S'han suprimit correctament {{count}} models",
+ "deletedModel_other": "",
+ "updatedModel": "S'ha actualitzat correctament la configuració del model"
},
"error": {
"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": "No s'ha pogut iniciar l'entrenament del model: {{errorMessage}}"
+ "trainingFailed": "No s'ha pogut iniciar l'entrenament del model: {{errorMessage}}",
+ "deleteModelFailed": "No s'ha pogut suprimir el model: {{errorMessage}}",
+ "updateModelFailed": "No s'ha pogut actualitzar el model: {{errorMessage}}"
}
},
"deleteCategory": {
@@ -43,7 +52,8 @@
},
"train": {
"title": "Classificacions recents",
- "aria": "Selecciona les classificacions recents"
+ "aria": "Selecciona les classificacions recents",
+ "titleShort": "Recent"
},
"categories": "Classes",
"createCategory": {
@@ -98,7 +108,8 @@
"stateRequiresTwoClasses": "Els models d'estat requereixen almenys 2 classes",
"objectLabelRequired": "Seleccioneu una etiqueta d'objecte",
"objectTypeRequired": "Seleccioneu un tipus de classificació"
- }
+ },
+ "states": "Estats"
},
"step2": {
"description": "Seleccioneu les càmeres i definiu l'àrea a monitoritzar per a cada càmera. El model classificarà l'estat d'aquestes àrees.",
@@ -131,5 +142,23 @@
},
"generateSuccess": "Imatges de mostra generades amb èxit"
}
+ },
+ "deleteModel": {
+ "title": "Suprimeix el model de classificació",
+ "single": "Esteu segur que voleu suprimir {{name}}? Això suprimirà permanentment totes les dades associades, incloses les imatges i les dades d'entrenament. Aquesta acció no es pot desfer.",
+ "desc": "Esteu segur que voleu suprimir {{count}} model(s)? Això suprimirà permanentment totes les dades associades, incloses les imatges i les dades d'entrenament. Aquesta acció no es pot desfer."
+ },
+ "menu": {
+ "objects": "Objectes",
+ "states": "Estats"
+ },
+ "details": {
+ "scoreInfo": "La puntuació representa la confiança mitjana de la classificació en totes les deteccions d'aquest objecte."
+ },
+ "edit": {
+ "title": "Edita el model de classificació",
+ "descriptionState": "Edita les classes per a aquest model de classificació d'estats. Els canvis requeriran tornar a entrenar el model.",
+ "descriptionObject": "Edita el tipus d'objecte i el tipus de classificació per a aquest model de classificació d'objectes.",
+ "stateClassesInfo": "Nota: Canviar les classes d'estat requereix tornar a entrenar el model amb les classes actualitzades."
}
}
diff --git a/web/public/locales/ca/views/events.json b/web/public/locales/ca/views/events.json
index 412955efa..2bb9bc0e1 100644
--- a/web/public/locales/ca/views/events.json
+++ b/web/public/locales/ca/views/events.json
@@ -43,10 +43,17 @@
"aria": "Canvia la vista de detall",
"trackedObject_other": "objectes",
"noObjectDetailData": "No hi ha dades de detall d'objecte disponibles.",
- "label": "Detall"
+ "label": "Detall",
+ "settings": "Configuració de la vista detallada",
+ "alwaysExpandActive": {
+ "title": "Expandeix sempre actiu",
+ "desc": "Expandeix sempre els detalls de l'objecte de la revisió activa quan estigui disponible."
+ }
},
"objectTrack": {
"clickToSeek": "Feu clic per cercar aquesta hora",
"trackedPoint": "Punt de seguiment"
- }
+ },
+ "zoomIn": "Amplia",
+ "zoomOut": "Redueix"
}
diff --git a/web/public/locales/ca/views/explore.json b/web/public/locales/ca/views/explore.json
index 08bd84758..d45f92665 100644
--- a/web/public/locales/ca/views/explore.json
+++ b/web/public/locales/ca/views/explore.json
@@ -84,7 +84,8 @@
"details": "detalls",
"snapshot": "instantània",
"video": "vídeo",
- "object_lifecycle": "cicle de vida de l'objecte"
+ "object_lifecycle": "cicle de vida de l'objecte",
+ "thumbnail": "miniatura"
},
"details": {
"timestamp": "Marca temporal",
@@ -240,7 +241,7 @@
"noImageFound": "No s'ha trobat cap imatge amb aquesta hora.",
"createObjectMask": "Crear màscara d'objecte",
"adjustAnnotationSettings": "Ajustar configuració d'anotacions",
- "scrollViewTips": "Desplaça per veure els moments significants del cicle de vida d'aquest objecte.",
+ "scrollViewTips": "Feu clic per veure els moments significatius del cicle de vida d'aquest objecte.",
"autoTrackingTips": "Limitar les posicións de la caixa serà inacurat per càmeras de seguiment automàtic.",
"count": "{{first}} de {{second}}",
"trackedPoint": "Punt Seguit",
@@ -270,7 +271,7 @@
},
"offset": {
"label": "Òfset d'Anotació",
- "desc": "Aquestes dades provenen del flux de detecció de la càmera, però se superposen a les imatges del flux de gravació. És poc probable que els dos fluxos estiguin perfectament sincronitzats. Com a resultat, el quadre delimitador i el metratge no s'alinearan perfectament. Tanmateix, es pot utilitzar el camp annotation_offset per ajustar-ho.",
+ "desc": "Aquestes dades provenen del flux de detecció de la càmera, però se superposen a les imatges del flux de gravació. És poc probable que els dos fluxos estiguin perfectament sincronitzats. Com a resultat, el quadre delimitador i les imatges no s'alinearan perfectament. Tanmateix, es pot utilitzar el camp annotation_offset per ajustar-ho.",
"millisecondsToOffset": "Millisegons per l'òfset de detecció d'anotacions per. Per defecte: 0",
"tips": "CONSELL: Imagineu-vos que hi ha un clip d'esdeveniment amb una persona caminant d'esquerra a dreta. Si el quadre delimitador de la cronologia de l'esdeveniment està constantment a l'esquerra de la persona, aleshores s'hauria de disminuir el valor. De la mateixa manera, si una persona camina d'esquerra a dreta i el quadre delimitador està constantment per davant de la persona, aleshores s'hauria d'augmentar el valor.",
"toast": {
diff --git a/web/public/locales/ca/views/exports.json b/web/public/locales/ca/views/exports.json
index dfe5de963..dec2726ff 100644
--- a/web/public/locales/ca/views/exports.json
+++ b/web/public/locales/ca/views/exports.json
@@ -13,5 +13,11 @@
"error": {
"renameExportFailed": "Error al canviar el nom de l’exportació: {{errorMessage}}"
}
+ },
+ "tooltip": {
+ "shareExport": "Comparteix l'exportació",
+ "downloadVideo": "Baixa el vídeo",
+ "editName": "Edita el nom",
+ "deleteExport": "Suprimeix l'exportació"
}
}
diff --git a/web/public/locales/ca/views/search.json b/web/public/locales/ca/views/search.json
index 3f5940348..dec453728 100644
--- a/web/public/locales/ca/views/search.json
+++ b/web/public/locales/ca/views/search.json
@@ -55,12 +55,12 @@
"searchFor": "Buscar {{inputValue}}",
"button": {
"clear": "Netejar cerca",
- "save": "Desar la cerca",
- "delete": "Suprimeix la recerca desada",
- "filterInformation": "Informació de filtre",
+ "save": "Desa la cerca",
+ "delete": "Elimina la recerca desada",
+ "filterInformation": "Informació del filtre",
"filterActive": "Filtres actius"
},
- "trackedObjectId": "ID d'objecte rastrejat",
+ "trackedObjectId": "ID de l'objecte rastrejat",
"placeholder": {
"search": "Cercar…"
},
diff --git a/web/public/locales/ca/views/settings.json b/web/public/locales/ca/views/settings.json
index 794b6d759..36a041510 100644
--- a/web/public/locales/ca/views/settings.json
+++ b/web/public/locales/ca/views/settings.json
@@ -49,6 +49,10 @@
"playAlertVideos": {
"label": "Reproduir vídeos d’alerta",
"desc": "Per defecte, les alertes recents al tauler en directe es reprodueixen com a vídeos petits en bucle. Desactiva aquesta opció per mostrar només una imatge estàtica de les alertes recents en aquest dispositiu/navegador."
+ },
+ "displayCameraNames": {
+ "label": "Mostra sempre els noms de la càmera",
+ "desc": "Mostra sempre els noms de les càmeres en un xip al tauler de visualització en directe multicàmera."
}
},
"storedLayouts": {
@@ -695,7 +699,9 @@
},
"actions": {
"alert": "Marcar com Alerta",
- "notification": "Enviar Notificació"
+ "notification": "Enviar Notificació",
+ "sub_label": "Afegeix una subetiqueta",
+ "attribute": "Afegeix un atribut"
},
"dialog": {
"createTrigger": {
@@ -713,25 +719,28 @@
"form": {
"name": {
"title": "Nom",
- "placeholder": "Entrar el nom del disparador",
+ "placeholder": "Anomena aquest activador",
"error": {
- "minLength": "El nom ha de tenir almenys 2 caràcters de llargada.",
- "invalidCharacters": "El nom només pot contenir lletres, números, guions i guinons baixos.",
+ "minLength": "El camp ha de tenir almenys 2 caràcters.",
+ "invalidCharacters": "El camp només pot contenir lletres, números, guions baixos i guions.",
"alreadyExists": "El disparador amb aquest nom ja existeix per aquesta càmera."
- }
+ },
+ "description": "Introduïu un nom o una descripció únics per a identificar aquest activador"
},
"enabled": {
"description": "Activar o desactivar aquest disparador"
},
"type": {
"title": "Tipus",
- "placeholder": "Selecciona un tipus de disparador"
+ "placeholder": "Selecciona un tipus de disparador",
+ "description": "Activa quan es detecta una descripció similar d'un objecte rastrejat",
+ "thumbnail": "Activa quan es detecti una miniatura d'objecte rastrejada similar"
},
"content": {
"title": "Contingut",
- "imagePlaceholder": "Selecciona una imatge",
+ "imagePlaceholder": "Selecciona una miniatura",
"textPlaceholder": "Entra el contingut de text",
- "imageDesc": "Selecciona una imatge per disparar aquesta acció quan una imatge similar sigui detectada.",
+ "imageDesc": "Només es mostren les 100 miniatures més recents. Si no podeu trobar la miniatura desitjada, reviseu els objectes anteriors a Explora i configureu un activador des del menú.",
"textDesc": "Entra el text per disparar aquesta acció quan es detecti una descripció d'objecte a rastrejar similar.",
"error": {
"required": "Contigunt requerit."
@@ -742,11 +751,12 @@
"error": {
"min": "El llindar ha de ser mínim 0",
"max": "El llindar ha de ser máxim 1"
- }
+ },
+ "desc": "Estableix el llindar de similitud per a aquest activador. Un llindar més alt significa que es requereix una coincidència més propera per disparar el disparador."
},
"actions": {
"title": "Accions",
- "desc": "Per defecte, Frigate dispara un missatge MQTT per tots els disparadors. Tria una acció adicional per realitzar quan aquest disparador dispari.",
+ "desc": "Per defecte, Frigate dispara un missatge MQTT per a tots els activadors. Subetiquetes afegeix el nom de l'activador a l'etiqueta de l'objecte. Els atributs són metadades cercables emmagatzemades per separat a les metadades de l'objecte rastrejat.",
"error": {
"min": "S'ha de seleccionar una acció com a mínim."
}
@@ -772,13 +782,30 @@
},
"documentTitle": "Disparadors",
"management": {
- "title": "Gestió de disparadors",
+ "title": "Activadors",
"desc": "Gestionar els disparadors de {{camera}}. Usa les tipus de miniatures per disparar miniatures similars a l'objecte a seguir seleccionat, i el tipus de descripció per disparar en cas de descripcions similars a l'especificada."
},
"addTrigger": "Afegir disaprador",
"semanticSearch": {
"desc": "La cerca semàntica ha d'estar activada per a utilitzar els activadors.",
"title": "La cerca semàntica està desactivada"
+ },
+ "wizard": {
+ "title": "Crea un activador",
+ "step1": {
+ "description": "Configura la configuració bàsica per al vostre activador."
+ },
+ "step2": {
+ "description": "Configura el contingut que activarà aquesta acció."
+ },
+ "step3": {
+ "description": "Configura el llindar i les accions d'aquest activador."
+ },
+ "steps": {
+ "nameAndType": "Nom i tipus",
+ "configureData": "Configura les dades",
+ "thresholdAndActions": "Llindar i accions"
+ }
}
},
"roles": {
@@ -831,7 +858,9 @@
"createRole": "Rol {{role}} creat exitosament",
"updateCameras": "Càmeres actualitzades per al rol {{role}}",
"deleteRole": "Rol {{role}} eliminat exitosament",
- "userRolesUpdated": "{{count}} usuari(s) asignats a aquest rol s'han actualitzat a 'visor', i tenen accés a totes les càmeres."
+ "userRolesUpdated_one": "{{count}} usuari(s) asignats a aquest rol s'han actualitzat a 'visor', i tenen accés a totes les càmeres.",
+ "userRolesUpdated_many": "",
+ "userRolesUpdated_other": ""
},
"error": {
"createRoleFailed": "Error al crear el rol: {{errorMessage}}",
@@ -985,7 +1014,9 @@
"estimatedBandwidth": "Amplada de banda estimad",
"roles": "Rols",
"streamValidated": "El flux {{number}} s'ha validat correctament",
- "streamValidationFailed": "Ha fallat la validació del flux {{number}}"
+ "streamValidationFailed": "Ha fallat la validació del flux {{number}}",
+ "ffmpegModule": "Usa el mode de compatibilitat del flux",
+ "ffmpegModuleDescription": "Si el flux no es carrega després de diversos intents, proveu d'activar-ho. Quan està activat, Frigate utilitzarà el mòdul ffmpeg amb go2rtc. Això pot proporcionar una millor compatibilitat amb alguns fluxos de càmera."
}
},
"cameraManagement": {