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": {