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}}",