diff --git a/web/public/locales/ca/common.json b/web/public/locales/ca/common.json
index fa5ce3b62..c8e188d20 100644
--- a/web/public/locales/ca/common.json
+++ b/web/public/locales/ca/common.json
@@ -221,7 +221,9 @@
"back": "Torna enrere",
"hide": "Oculta {{item}}",
"show": "Mostra {{item}}",
- "ID": "ID"
+ "ID": "ID",
+ "none": "Cap",
+ "all": "Tots"
},
"button": {
"apply": "Aplicar",
diff --git a/web/public/locales/ca/views/classificationModel.json b/web/public/locales/ca/views/classificationModel.json
index b64214a89..09702648f 100644
--- a/web/public/locales/ca/views/classificationModel.json
+++ b/web/public/locales/ca/views/classificationModel.json
@@ -17,31 +17,40 @@
"categorizedImage": "Imatge classificada amb èxit",
"trainedModel": "Model entrenat amb èxit.",
"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"
+ "deletedModel_one": "S'ha suprimit correctament {{count}} model",
+ "deletedModel_many": "S'han suprimit correctament els {{count}} models",
+ "deletedModel_other": "S'han suprimit correctament els {{count}} models",
+ "updatedModel": "S'ha actualitzat correctament la configuració del model",
+ "renamedCategory": "S'ha canviat el nom de la classe a {{name}}"
},
"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": "Ha fallat l'entrenament del model. Comproveu els registres de fragata per a més detalls.",
"deleteModelFailed": "No s'ha pogut suprimir el model: {{errorMessage}}",
- "updateModelFailed": "No s'ha pogut actualitzar el model: {{errorMessage}}"
+ "updateModelFailed": "No s'ha pogut actualitzar el model: {{errorMessage}}",
+ "renameCategoryFailed": "No s'ha pogut canviar el nom de la classe: {{errorMessage}}",
+ "trainingFailedToStart": "Errar en arrencar l'entrenament del model: {{errorMessage}}"
}
},
"deleteCategory": {
"title": "Suprimeix la classe",
- "desc": "Esteu segur que voleu suprimir la classe {{name}}? Això suprimirà permanentment totes les imatges associades i requerirà tornar a entrenar el model."
+ "desc": "Esteu segur que voleu suprimir la classe {{name}}? Això suprimirà permanentment totes les imatges associades i requerirà tornar a entrenar el model.",
+ "minClassesTitle": "No es pot suprimir la classe",
+ "minClassesDesc": "Un model de classificació ha de tenir almenys 2 classes. Afegeix una altra classe abans d'eliminar aquesta."
},
"deleteDatasetImages": {
"title": "Suprimeix les imatges del conjunt de dades",
- "desc": "Esteu segur que voleu suprimir {{count}} imatges de {{dataset}}? Aquesta acció no es pot desfer i requerirà tornar a entrenar el model."
+ "desc_one": "Esteu segur que voleu suprimir {{count}} imatge de {{dataset}}? Aquesta acció no es pot desfer i requerirà tornar a entrenar el model.",
+ "desc_many": "Esteu segur que voleu suprimir {{count}} imatges de {{dataset}}? Aquesta acció no es pot desfer i requerirà tornar a entrenar el model.",
+ "desc_other": "Esteu segur que voleu suprimir {{count}} imatges de {{dataset}}? Aquesta acció no es pot desfer i requerirà tornar a entrenar el model."
},
"deleteTrainImages": {
"title": "Suprimeix les imatges del tren",
- "desc": "Esteu segur que voleu suprimir {{count}} imatges? Aquesta acció no es pot desfer."
+ "desc_one": "Esteu segur que voleu suprimir {{count}} imatge? Aquesta acció no es pot desfer.",
+ "desc_many": "Esteu segur que voleu suprimir {{count}} imatges? Aquesta acció no es pot desfer.",
+ "desc_other": "Esteu segur que voleu suprimir {{count}} imatges? Aquesta acció no es pot desfer."
},
"renameCategory": {
"title": "Reanomena la classe",
@@ -140,13 +149,18 @@
"generationFailed": "Ha fallat la generació. Torneu-ho a provar.",
"classifyFailed": "No s'han pogut classificar les imatges: {{error}}"
},
- "generateSuccess": "Imatges de mostra generades amb èxit"
+ "generateSuccess": "Imatges de mostra generades amb èxit",
+ "allImagesRequired_one": "Classifiqueu totes les imatges. Queda {{count}} imatge.",
+ "allImagesRequired_many": "Classifiqueu totes les imatges. Queden {{count}} imatges.",
+ "allImagesRequired_other": "Classifiqueu totes les imatges. Queden {{count}} imatges."
}
},
"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."
+ "desc_one": "Esteu segur que voleu suprimir el model {{count}}? Això suprimirà permanentment totes les dades associades, incloses les imatges i les dades d'entrenament. Aquesta acció no es pot desfer.",
+ "desc_many": "Esteu segur que voleu suprimir {{count}} models? Això suprimirà permanentment totes les dades associades, incloses les imatges i les dades d'entrenament. Aquesta acció no es pot desfer.",
+ "desc_other": "Esteu segur que voleu suprimir {{count}} models? Això suprimirà permanentment totes les dades associades, incloses les imatges i les dades d'entrenament. Aquesta acció no es pot desfer."
},
"menu": {
"objects": "Objectes",
@@ -160,5 +174,11 @@
"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."
+ },
+ "tooltip": {
+ "trainingInProgress": "El model s'està entrenant actualment",
+ "noNewImages": "Sense noves imatges per entrenar. Classifica més imatges primer.",
+ "modelNotReady": "El model no está preparat per entrenar",
+ "noChanges": "No hi ha canvis al conjunt de dades des de l'última formació."
}
}
diff --git a/web/public/locales/ca/views/explore.json b/web/public/locales/ca/views/explore.json
index d45f92665..ea9dfcfdb 100644
--- a/web/public/locales/ca/views/explore.json
+++ b/web/public/locales/ca/views/explore.json
@@ -170,7 +170,9 @@
"success": "L'objectes amb seguiment s'ha suprimit correctament.",
"error": "No s'ha pogut suprimir l'objecte rastrejat: {{errorMessage}}"
}
- }
+ },
+ "nextTrackedObject": "Següent objecte rastrejat",
+ "previousTrackedObject": "Objecte rastrejat anterior"
},
"itemMenu": {
"downloadVideo": {
@@ -273,7 +275,7 @@
"label": "Òfset d'Anotació",
"desc": "Aquestes dades provenen del flux de detecció de la càmera, però se superposen a les imatges del flux de gravació. És poc probable que els dos fluxos estiguin perfectament sincronitzats. Com a resultat, el quadre delimitador i les imatges no s'alinearan perfectament. Tanmateix, es pot utilitzar el camp annotation_offset per ajustar-ho.",
"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.",
+ "tips": "Reduïu el valor si la reproducció del vídeo es troba per davant dels quadres i els punts de ruta, i augmenteu-lo si es troba per darrere. Aquest valor pot ser negatiu.",
"toast": {
"success": "L'Òfset d'anotació per a {{camera}} s'ha desat al fitxer de configuració. Reinicieu Frigate per aplicar els canvis."
}
diff --git a/web/public/locales/ca/views/faceLibrary.json b/web/public/locales/ca/views/faceLibrary.json
index f99629bdb..c00be3516 100644
--- a/web/public/locales/ca/views/faceLibrary.json
+++ b/web/public/locales/ca/views/faceLibrary.json
@@ -67,7 +67,7 @@
"toast": {
"success": {
"trainedFace": "Rostre entrenat amb èxit.",
- "updatedFaceScore": "Puntació de rostre actualitzada amb èxit.",
+ "updatedFaceScore": "S'ha actualitzat correctament la puntuació de la cara a {{name}} ({{score}}).",
"uploadedImage": "Imatge pujada amb èxit.",
"addFaceLibrary": "{{name}} s'ha afegit amb èxit a la biblioteca de rostres!",
"deletedName_one": "{{count}} rostre s'ha suprimit amb èxit.",
diff --git a/web/public/locales/ca/views/settings.json b/web/public/locales/ca/views/settings.json
index 36a041510..58dca8472 100644
--- a/web/public/locales/ca/views/settings.json
+++ b/web/public/locales/ca/views/settings.json
@@ -858,9 +858,9 @@
"createRole": "Rol {{role}} creat exitosament",
"updateCameras": "Càmeres actualitzades per al rol {{role}}",
"deleteRole": "Rol {{role}} eliminat exitosament",
- "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": ""
+ "userRolesUpdated_one": "{{count}} l'usuari assignat a aquest rol s'ha actualitzat a 'visor', que té accés a totes les càmeres.",
+ "userRolesUpdated_many": "{{count}} usuaris assignats a aquest rol s'han actualitzat a 'visor', que té accés a totes les càmeres.",
+ "userRolesUpdated_other": "{{count}} usuaris assignats a aquest rol s'han actualitzat a 'visor', que té accés a totes les càmeres."
},
"error": {
"createRoleFailed": "Error al crear el rol: {{errorMessage}}",