diff --git a/web/public/locales/ca/audio.json b/web/public/locales/ca/audio.json
index 1af579479..27c44b40e 100644
--- a/web/public/locales/ca/audio.json
+++ b/web/public/locales/ca/audio.json
@@ -425,5 +425,79 @@
"radio": "Ràdio",
"pink_noise": "Soroll rosa",
"power_windows": "Finestres elèctriques",
- "artillery_fire": "Foc d'artilleria"
+ "artillery_fire": "Foc d'artilleria",
+ "sodeling": "Cant a la tirolesa",
+ "vibration": "Vibració",
+ "throbbing": "Palpitant",
+ "cacophony": "Cacofonia",
+ "sidetone": "To local",
+ "distortion": "Distorsió",
+ "mains_hum": "brunzit",
+ "noise": "Soroll",
+ "echo": "Echo",
+ "reverberation": "Reverberació",
+ "inside": "Interior",
+ "pulse": "Pols",
+ "outside": "Fora",
+ "chirp_tone": "To de grinyol",
+ "harmonic": "Harmònic",
+ "sine_wave": "Ona sinus",
+ "crunch": "Cruixit",
+ "hum": "Taral·lejar",
+ "plop": "Chof",
+ "clickety_clack": "Clic-Clac",
+ "clicking": "Clicant",
+ "clatter": "Soroll",
+ "chird": "Piular",
+ "liquid": "Líquid",
+ "splash": "Xof",
+ "slosh": "Xip-xap",
+ "boing": "Boing",
+ "zing": "Fiu",
+ "rumble": "Bum-bum",
+ "sizzle": "Xiu-xiu",
+ "whir": "Brrrm",
+ "rustle": "Fru-Fru",
+ "creak": "Clic-clac",
+ "clang": "Clang",
+ "squish": "Xaf",
+ "drip": "Plic-plic",
+ "pour": "Glug-glug",
+ "trickle": "Xiulet",
+ "gush": "Xuuuix",
+ "fill": "Glug-glug",
+ "ding": "Ding",
+ "ping": "Ping",
+ "beep": "Bip",
+ "squeal": "Xiscle",
+ "crumpling": "Arrugant-se",
+ "rub": "Fregar",
+ "scrape": "Raspar",
+ "scratch": "Rasca",
+ "whip": "Fuet",
+ "bouncing": "Rebotant",
+ "breaking": "Trencant",
+ "smash": "Aixafar",
+ "whack": "Cop",
+ "slap": "Bufetada",
+ "bang": "Bang",
+ "basketball_bounce": "Rebot de bàsquet",
+ "chorus_effect": "Efecte de cor",
+ "effects_unit": "Unitat d'Efectes",
+ "electronic_tuner": "Afinador electrònic",
+ "thunk": "Bruix",
+ "thump": "Cop fort",
+ "whoosh": "Xiuxiueig",
+ "arrow": "Fletxa",
+ "sonar": "Sonar",
+ "boiling": "Bullint",
+ "stir": "Remenar",
+ "pump": "Bomba",
+ "spray": "Esprai",
+ "shofar": "Xofar",
+ "crushing": "Aixafament",
+ "change_ringing": "Toc de campanes",
+ "flap": "Cop de peu",
+ "roll": "Rodament",
+ "tearing": "Esquinçat"
}
diff --git a/web/public/locales/ca/components/auth.json b/web/public/locales/ca/components/auth.json
index 6cbe2877c..1ca91ee7a 100644
--- a/web/public/locales/ca/components/auth.json
+++ b/web/public/locales/ca/components/auth.json
@@ -10,6 +10,7 @@
"loginFailed": "Error en l'inici de sessió",
"unknownError": "Error desconegut. Comproveu els registres.",
"webUnknownError": "Error desconegut. Comproveu els registres de la consola."
- }
+ },
+ "firstTimeLogin": "Intentar iniciar sessió per primera vegada? Les credencials s'imprimeixen als registres de Frigate."
}
}
diff --git a/web/public/locales/ca/components/dialog.json b/web/public/locales/ca/components/dialog.json
index acadbfcb3..6f38c7c13 100644
--- a/web/public/locales/ca/components/dialog.json
+++ b/web/public/locales/ca/components/dialog.json
@@ -53,7 +53,7 @@
"export": "Exportar",
"selectOrExport": "Seleccionar o exportar",
"toast": {
- "success": "Exportació inciada amb èxit. Pots veure l'arxiu a la carpeta /exports.",
+ "success": "Exportació inciada amb èxit. Pots veure l'arxiu a la pàgina d'exportacions.",
"error": {
"endTimeMustAfterStartTime": "L'hora de finalització ha de ser posterior a l'hora d'inici",
"noVaildTimeSelected": "No s'ha seleccionat un rang de temps vàlid",
diff --git a/web/public/locales/ca/views/classificationModel.json b/web/public/locales/ca/views/classificationModel.json
new file mode 100644
index 000000000..78897acb4
--- /dev/null
+++ b/web/public/locales/ca/views/classificationModel.json
@@ -0,0 +1,135 @@
+{
+ "documentTitle": "Models de classificació",
+ "button": {
+ "deleteClassificationAttempts": "Suprimeix les imatges de classificació",
+ "renameCategory": "Reanomena la classe",
+ "deleteCategory": "Suprimeix la classe",
+ "deleteImages": "Suprimeix les imatges",
+ "trainModel": "Model de tren"
+ },
+ "toast": {
+ "success": {
+ "deletedCategory": "Classe suprimida",
+ "deletedImage": "Imatges suprimides",
+ "categorizedImage": "Imatge classificada amb èxit",
+ "trainedModel": "Model entrenat amb èxit.",
+ "trainingModel": "S'ha iniciat amb èxit la formació de models."
+ },
+ "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}}"
+ }
+ },
+ "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."
+ },
+ "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."
+ },
+ "deleteTrainImages": {
+ "title": "Suprimeix les imatges del tren",
+ "desc": "Esteu segur que voleu suprimir {{count}} imatges? Aquesta acció no es pot desfer."
+ },
+ "renameCategory": {
+ "title": "Reanomena la classe",
+ "desc": "Introduïu un nom nou per {{name}}. Se us requerirà que torneu a entrenar el model per al canvi de nom a afectar."
+ },
+ "description": {
+ "invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guions."
+ },
+ "train": {
+ "title": "Classificacions recents",
+ "aria": "Selecciona les classificacions recents"
+ },
+ "categories": "Classes",
+ "createCategory": {
+ "new": "Crea una classe nova"
+ },
+ "categorizeImageAs": "Classifica la imatge com a:",
+ "categorizeImage": "Classifica la imatge",
+ "noModels": {
+ "object": {
+ "title": "No hi ha models de classificació d'objectes",
+ "description": "Crea un model personalitzat per classificar els objectes detectats.",
+ "buttonText": "Crea un model d'objecte"
+ },
+ "state": {
+ "title": "Cap model de classificació d'estat",
+ "description": "Crea un model personalitzat per a monitoritzar i classificar els canvis d'estat en àrees de càmera específiques.",
+ "buttonText": "Crea un model d'estat"
+ }
+ },
+ "wizard": {
+ "title": "Crea una classificació nova",
+ "steps": {
+ "nameAndDefine": "Nom i definició",
+ "stateArea": "Àrea estatal",
+ "chooseExamples": "Trieu exemples"
+ },
+ "step1": {
+ "description": "Els models estatals monitoritzen àrees de càmera fixes per als canvis (p. ex., porta oberta/tancada). Els models d'objectes afegeixen classificacions als objectes detectats (per exemple, animals coneguts, persones de lliurament, etc.).",
+ "name": "Nom",
+ "namePlaceholder": "Introduïu el nom del model...",
+ "type": "Tipus",
+ "typeState": "Estat",
+ "typeObject": "Objecte",
+ "objectLabel": "Etiqueta de l'objecte",
+ "objectLabelPlaceholder": "Selecciona el tipus d'objecte...",
+ "classificationType": "Tipus de classificació",
+ "classificationTypeTip": "Apreneu sobre els tipus de classificació",
+ "classificationTypeDesc": "Les subetiquetes afegeixen text addicional a l'etiqueta de l'objecte (p. ex., 'Person: UPS'). Els atributs són metadades cercables emmagatzemades per separat a les metadades de l'objecte.",
+ "classificationSubLabel": "Subetiqueta",
+ "classificationAttribute": "Atribut",
+ "classes": "Classes",
+ "classesTip": "Aprèn sobre les classes",
+ "classesStateDesc": "Defineix els diferents estats en què pot estar la teva àrea de càmera. Per exemple: \"obert\" i \"tancat\" per a una porta de garatge.",
+ "classesObjectDesc": "Defineix les diferents categories en què classificar els objectes detectats. Per exemple: 'lliuramentpersonpersona', 'resident', 'amenaça' per a la classificació de persones.",
+ "classPlaceholder": "Introduïu el nom de la classe...",
+ "errors": {
+ "nameRequired": "Es requereix el nom del model",
+ "nameLength": "El nom del model ha de tenir 64 caràcters o menys",
+ "nameOnlyNumbers": "El nom del model no pot contenir només números",
+ "classRequired": "Es requereix com a mínim 1 classe",
+ "classesUnique": "Els noms de classe han de ser únics",
+ "stateRequiresTwoClasses": "Els models d'estat requereixen almenys 2 classes",
+ "objectLabelRequired": "Seleccioneu una etiqueta d'objecte",
+ "objectTypeRequired": "Seleccioneu un tipus de classificació"
+ }
+ },
+ "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.",
+ "cameras": "Càmeres",
+ "selectCamera": "Selecciona la càmera",
+ "noCameras": "Feu clic a + per a afegir càmeres",
+ "selectCameraPrompt": "Seleccioneu una càmera de la llista per definir la seva àrea de monitoratge"
+ },
+ "step3": {
+ "selectImagesPrompt": "Selecciona totes les imatges amb: {{className}}",
+ "selectImagesDescription": "Feu clic a les imatges per a seleccionar-les. Feu clic a Continua quan hàgiu acabat amb aquesta classe.",
+ "generating": {
+ "title": "S'estan generant imatges de mostra",
+ "description": "Frigate està traient imatges representatives dels vostres enregistraments. Això pot trigar un moment..."
+ },
+ "training": {
+ "title": "Model d'entrenament",
+ "description": "El teu model s'està entrenant en segon pla. Tanqueu aquest diàleg i el vostre model començarà a funcionar tan aviat com s'hagi completat l'entrenament."
+ },
+ "retryGenerate": "Torna a provar la generació",
+ "noImages": "No s'ha generat cap imatge de mostra",
+ "classifying": "Classificació i formació...",
+ "trainingStarted": "L'entrenament s'ha iniciat amb èxit",
+ "errors": {
+ "noCameras": "No s'ha configurat cap càmera",
+ "noObjectLabel": "No s'ha seleccionat cap etiqueta d'objecte",
+ "generateFailed": "No s'han pogut generar exemples: {{error}}",
+ "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"
+ }
+ }
+}
diff --git a/web/public/locales/ca/views/events.json b/web/public/locales/ca/views/events.json
index 99d56c1d9..412955efa 100644
--- a/web/public/locales/ca/views/events.json
+++ b/web/public/locales/ca/views/events.json
@@ -36,5 +36,17 @@
"selected_one": "{{count}} seleccionats",
"selected_other": "{{count}} seleccionats",
"suspiciousActivity": "Activitat sospitosa",
- "threateningActivity": "Activitat amenaçadora"
+ "threateningActivity": "Activitat amenaçadora",
+ "detail": {
+ "noDataFound": "No hi ha dades detallades a revisar",
+ "trackedObject_one": "objecte",
+ "aria": "Canvia la vista de detall",
+ "trackedObject_other": "objectes",
+ "noObjectDetailData": "No hi ha dades de detall d'objecte disponibles.",
+ "label": "Detall"
+ },
+ "objectTrack": {
+ "clickToSeek": "Feu clic per cercar aquesta hora",
+ "trackedPoint": "Punt de seguiment"
+ }
}
diff --git a/web/public/locales/ca/views/explore.json b/web/public/locales/ca/views/explore.json
index 3b79a696f..08bd84758 100644
--- a/web/public/locales/ca/views/explore.json
+++ b/web/public/locales/ca/views/explore.json
@@ -206,13 +206,23 @@
"audioTranscription": {
"label": "Transcriu",
"aria": "Demanar una transcripció d'audio"
+ },
+ "showObjectDetails": {
+ "label": "Mostra la ruta de l'objecte"
+ },
+ "hideObjectDetails": {
+ "label": "Amaga la ruta de l'objecte"
+ },
+ "viewTrackingDetails": {
+ "label": "Veure detalls de seguiment",
+ "aria": "Mostra els detalls de seguiment"
}
},
"noTrackedObjects": "No s'han trobat objectes rastrejats",
"dialog": {
"confirmDelete": {
"title": "Confirmar la supressió",
- "desc": "Eliminant aquest objecte seguit borrarà l'snapshot, qualsevol embedding gravat, i qualsevol objecte associat. Les imatges gravades d'aquest objecte seguit en l'historial NO seràn eliminades.
Estas segur que vols continuar?"
+ "desc": "Eliminant aquest objecte seguit borrarà l'snapshot, qualsevol embedding gravat, i qualsevol detall de seguiment. Les imatges gravades d'aquest objecte seguit en l'historial NO seràn eliminades.
Estas segur que vols continuar?"
}
},
"fetchingTrackedObjectsFailed": "Error al obtenir objectes rastrejats: {{errorMessage}}",
@@ -224,5 +234,53 @@
},
"concerns": {
"label": "Preocupacions"
+ },
+ "trackingDetails": {
+ "title": "Detalls de seguiment",
+ "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.",
+ "autoTrackingTips": "Limitar les posicións de la caixa serà inacurat per càmeras de seguiment automàtic.",
+ "count": "{{first}} de {{second}}",
+ "trackedPoint": "Punt Seguit",
+ "lifecycleItemDesc": {
+ "visible": "{{label}} detectat",
+ "entered_zone": "{{label}} ha entrat a {{zones}}",
+ "active": "{{label}} ha esdevingut actiu",
+ "stationary": "{{label}} ha esdevingut estacionari",
+ "attribute": {
+ "faceOrLicense_plate": "{{attribute}} detectat per {{label}}",
+ "other": "{{label}} reconegut com a {{attribute}}"
+ },
+ "gone": "{{label}} esquerra",
+ "heard": "{{label}} sentit",
+ "external": "{{label}} detectat",
+ "header": {
+ "zones": "Zones",
+ "ratio": "Ràtio",
+ "area": "Àrea"
+ }
+ },
+ "annotationSettings": {
+ "title": "Configuració d'anotacions",
+ "showAllZones": {
+ "title": "Mostra totes les Zones",
+ "desc": "Mostra sempre les zones amb marcs on els objectes hagin entrat a la zona."
+ },
+ "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.",
+ "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": {
+ "success": "L'Òfset d'anotació per a {{camera}} s'ha desat al fitxer de configuració. Reinicieu Frigate per aplicar els canvis."
+ }
+ }
+ },
+ "carousel": {
+ "previous": "Diapositiva anterior",
+ "next": "Dispositiva posterior"
+ }
}
}
diff --git a/web/public/locales/ca/views/faceLibrary.json b/web/public/locales/ca/views/faceLibrary.json
index 356691315..f99629bdb 100644
--- a/web/public/locales/ca/views/faceLibrary.json
+++ b/web/public/locales/ca/views/faceLibrary.json
@@ -12,13 +12,13 @@
"collections": "Col·leccions",
"train": {
"empty": "No hi ha intents recents de reconeixement de rostres",
- "title": "Entrenar",
- "aria": "Seleccionar entrenament"
+ "title": "Reconeixements recents",
+ "aria": "Selecciona els reconeixements recents"
},
"description": {
- "addFace": "Guia per a agregar una nova colecció a la biblioteca de rostres.",
+ "addFace": "Afegiu una col·lecció nova a la biblioteca de cares pujant la vostra primera imatge.",
"placeholder": "Introduïu un nom per a aquesta col·lecció",
- "invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guionets."
+ "invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guions."
},
"documentTitle": "Biblioteca de rostres - Frigate",
"uploadFaceImage": {
@@ -54,7 +54,7 @@
"selectImage": "Siusplau, selecciona un fixer d'imatge."
},
"maxSize": "Mida màxima: {{size}}MB",
- "dropInstructions": "Arrastra una imatge aquí, o fes clic per a selccionar-ne una"
+ "dropInstructions": "Arrossegueu i deixeu anar o enganxeu una imatge aquí, o feu clic per seleccionar"
},
"button": {
"uploadImage": "Pujar imatge",
diff --git a/web/public/locales/ca/views/live.json b/web/public/locales/ca/views/live.json
index 51638092c..f98b33d62 100644
--- a/web/public/locales/ca/views/live.json
+++ b/web/public/locales/ca/views/live.json
@@ -86,8 +86,8 @@
"disable": "Amaga estadístiques de la transmissió"
},
"manualRecording": {
- "title": "Gravació sota demanda",
- "tips": "Iniciar un event manual basat en els paràmetres de retenció de gravació per aquesta càmera.",
+ "title": "Sota demanda",
+ "tips": "Baixeu una instantània o inicieu un esdeveniment manual basat en la configuració de retenció d'enregistrament d'aquesta càmera.",
"playInBackground": {
"label": "Reproduir en segon pla",
"desc": "Habilita aquesta opció per a continuar la transmissió quan el reproductor està amagat."
@@ -178,6 +178,8 @@
"downloadStarted": "Inici de baixada d'instantània."
},
"noCameras": {
- "title": "Sense càmeres per configurar"
+ "title": "No s'ha configurat cap càmera",
+ "description": "Comenceu connectant una càmera a Frigate.",
+ "buttonText": "Afegeix una càmera"
}
}
diff --git a/web/public/locales/ca/views/settings.json b/web/public/locales/ca/views/settings.json
index 01d146df8..794b6d759 100644
--- a/web/public/locales/ca/views/settings.json
+++ b/web/public/locales/ca/views/settings.json
@@ -114,7 +114,8 @@
"mustBeAtLeastTwoCharacters": "El nom de la zona ha de contenir com a mínim 2 caràcters.",
"mustNotContainPeriod": "El nom de la zona no pot contenir punts.",
"alreadyExists": "Ja existeix una zona amb aquest nom per a aquesta càmera.",
- "mustNotBeSameWithCamera": "El nom de la zona no pot ser el mateix que el nom de la càmera."
+ "mustNotBeSameWithCamera": "El nom de la zona no pot ser el mateix que el nom de la càmera.",
+ "mustHaveAtLeastOneLetter": "El nom de la zona ha de tenir almenys una lletra."
}
},
"inertia": {
@@ -163,7 +164,7 @@
"name": {
"inputPlaceHolder": "Introduïu un nom…",
"title": "Nom",
- "tips": "El nom ha de tenir almenys 2 caràcters i no pot coincidir amb el nom d'una càmera ni amb el d'una altra zona."
+ "tips": "El nom ha de tenir almenys 2 caràcters, ha de tenir almenys una lletra, i no ha de ser el nom d'una càmera o una altra zona."
},
"label": "Zones",
"desc": {
@@ -749,6 +750,11 @@
"error": {
"min": "S'ha de seleccionar una acció com a mínim."
}
+ },
+ "friendly_name": {
+ "title": "Nom amistós",
+ "placeholder": "Nom o descripció d'aquest disparador",
+ "description": "Un nom opcional amistós o text descriptiu per a aquest activador."
}
}
},
@@ -769,7 +775,11 @@
"title": "Gestió de disparadors",
"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"
+ "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"
+ }
},
"roles": {
"dialog": {
@@ -836,10 +846,223 @@
"description": "Seguiu els passos de sota per afegir una nova càmera a la instal·lació.",
"steps": {
"nameAndConnection": "Nom i connexió",
- "streamConfiguration": "Configuració de stream"
+ "streamConfiguration": "Configuració de stream",
+ "validationAndTesting": "Validació i proves"
},
"step1": {
- "cameraBrand": "Marca de la càmera"
+ "cameraBrand": "Marca de la càmera",
+ "description": "Introduïu els detalls de la càmera i proveu la connexió.",
+ "cameraName": "Nom de la càmera",
+ "cameraNamePlaceholder": "p. ex., vista general de la porta davantera o de la barra posterior",
+ "host": "Adreça de l'amfitrió/IP",
+ "port": "Port",
+ "username": "Nom d'usuari",
+ "usernamePlaceholder": "Opcional",
+ "password": "Contrasenya",
+ "passwordPlaceholder": "Opcional",
+ "selectTransport": "Selecciona el protocol de transport",
+ "brandInformation": "Informació de marca",
+ "brandUrlFormat": "Per a càmeres amb el format d'URL RTSP com: {{exampleUrl}}",
+ "customUrlPlaceholder": "rtsp://usuari:contrasenya@host:port/ruta",
+ "testConnection": "Prova la connexió",
+ "testSuccess": "Prova de connexió correcta!",
+ "testFailed": "Ha fallat la prova de connexió. Si us plau, comproveu la vostra entrada i torneu-ho a provar.",
+ "streamDetails": "Detalls del flux",
+ "warnings": {
+ "noSnapshot": "No s'ha pogut obtenir una instantània del flux configurat."
+ },
+ "errors": {
+ "brandOrCustomUrlRequired": "Seleccioneu una marca de càmera amb host/IP o trieu 'Altres' amb un URL personalitzat",
+ "nameRequired": "Es requereix el nom de la càmera",
+ "nameLength": "El nom de la càmera ha de tenir 64 caràcters o menys",
+ "invalidCharacters": "El nom de la càmera conté caràcters no vàlids",
+ "nameExists": "El nom de la càmera ja existeix",
+ "brands": {
+ "reolink-rtsp": "No es recomana Reolink RST. Es recomana habilitar HTTP a la configuració de la càmera i reiniciar l'assistent de la càmera."
+ },
+ "customUrlRtspRequired": "Els URL personalitzats han de començar amb \"rtsp://\". Es requereix configuració manual per a fluxos de càmera no RTSP."
+ },
+ "selectBrand": "Seleccioneu la marca de la càmera per a la plantilla d'URL",
+ "customUrl": "URL de flux personalitzat",
+ "docs": {
+ "reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
+ },
+ "testing": {
+ "probingMetadata": "S'estan provant les metadades de la càmera...",
+ "fetchingSnapshot": "S'està recuperant la instantània de la càmera..."
+ }
+ },
+ "save": {
+ "failure": "SS'ha produït un error en desar {{cameraName}}.",
+ "success": "S'ha desat correctament la càmera nova {{cameraName}}."
+ },
+ "testResultLabels": {
+ "resolution": "Resolució",
+ "video": "Vídeo",
+ "audio": "Àudio",
+ "fps": "FPS"
+ },
+ "commonErrors": {
+ "noUrl": "Proporcioneu un URL de flux vàlid",
+ "testFailed": "Ha fallat la prova de flux: {{error}}"
+ },
+ "step2": {
+ "description": "Configura els rols de flux i afegeix fluxos addicionals per a la càmera.",
+ "streamsTitle": "Fluxos de la càmera",
+ "addStream": "Afegeix un flux",
+ "addAnotherStream": "Afegeix un altre flux",
+ "streamTitle": "Flux {{number}}",
+ "streamUrl": "URL del flux",
+ "url": "URL",
+ "resolution": "Resolució",
+ "selectResolution": "Selecciona la resolució",
+ "quality": "Qualitat",
+ "selectQuality": "Selecciona la qualitat",
+ "roleLabels": {
+ "detect": "Detecció d'objectes",
+ "record": "Enregistrament",
+ "audio": "Àudio"
+ },
+ "testStream": "Prova la connexió",
+ "testSuccess": "Prova de flux amb èxit!",
+ "testFailed": "Ha fallat la prova del flux",
+ "testFailedTitle": "Ha fallat la prova",
+ "connected": "Connectat",
+ "notConnected": "No connectat",
+ "featuresTitle": "Característiques",
+ "go2rtc": "Redueix les connexions a la càmera",
+ "detectRoleWarning": "Almenys un flux ha de tenir el rol de \"detecte\" per continuar.",
+ "rolesPopover": {
+ "title": "Rols de flux",
+ "detect": "Canal principal per a la detecció d'objectes.",
+ "record": "Desa els segments del canal de vídeo basats en la configuració.",
+ "audio": "Canal per a la detecció basada en àudio."
+ },
+ "featuresPopover": {
+ "title": "Característiques del flux",
+ "description": "Utilitzeu el restreaming go2rtc per reduir les connexions a la càmera."
+ },
+ "roles": "Rols",
+ "streamUrlPlaceholder": "rtsp://usuari:contrasenya@host:port/ruta"
+ },
+ "step3": {
+ "none": "Cap",
+ "error": "Error",
+ "saveAndApply": "Desa una càmera nova",
+ "saveError": "Configuració no vàlida. Si us plau, comproveu la configuració.",
+ "issues": {
+ "title": "Validació del flux",
+ "videoCodecGood": "El còdec de vídeo és {{codec}}.",
+ "audioCodecGood": "El còdec d'àudio és {{codec}}.",
+ "noAudioWarning": "No s'ha detectat cap àudio per a aquest flux, els enregistraments no tindran àudio.",
+ "audioCodecRecordError": "El còdec d'àudio AAC és necessari per a suportar l'àudio en els enregistraments.",
+ "audioCodecRequired": "Es requereix un flux d'àudio per admetre la detecció d'àudio.",
+ "restreamingWarning": "Reduir les connexions a la càmera per al flux de registre pot augmentar lleugerament l'ús de la CPU.",
+ "dahua": {
+ "substreamWarning": "El substream 1 està bloquejat a una resolució baixa. Moltes càmeres Dahua / Amcrest / EmpireTech suporten subfluxos addicionals que han d'estar habilitats a la configuració de la càmera. Es recomana comprovar i utilitzar aquests corrents si estan disponibles."
+ },
+ "hikvision": {
+ "substreamWarning": "El substream 1 està bloquejat a una resolució baixa. Moltes càmeres Hikvision suporten subfluxos addicionals que han d'estar habilitats a la configuració de la càmera. Es recomana comprovar i utilitzar aquests corrents si estan disponibles."
+ },
+ "resolutionHigh": "Una resolució de {{resolution}} pot causar un ús més gran dels recursos.",
+ "resolutionLow": "Una resolució de {{resolution}} pot ser massa baixa per a la detecció fiable d'objectes petits."
+ },
+ "description": "Validació i anàlisi final abans de desar la nova càmera. Connecta cada flux abans de desar-lo.",
+ "validationTitle": "Validació del flux",
+ "connectAllStreams": "Connecta tots els fluxos",
+ "reconnectionSuccess": "S'ha reconnectat correctament.",
+ "reconnectionPartial": "Alguns fluxos no s'han pogut tornar a connectar.",
+ "streamUnavailable": "La vista prèvia del flux no està disponible",
+ "reload": "Torna a carregar",
+ "connecting": "Connectant...",
+ "streamTitle": "Flux {{number}}",
+ "valid": "Vàlid",
+ "failed": "Ha fallat",
+ "notTested": "No provat",
+ "connectStream": "Connecta",
+ "connectingStream": "Connectant",
+ "disconnectStream": "Desconnecta",
+ "estimatedBandwidth": "Amplada de banda estimad",
+ "roles": "Rols",
+ "streamValidated": "El flux {{number}} s'ha validat correctament",
+ "streamValidationFailed": "Ha fallat la validació del flux {{number}}"
}
+ },
+ "cameraManagement": {
+ "title": "Gestiona les càmeres",
+ "addCamera": "Afegeix una càmera nova",
+ "editCamera": "Edita la càmera:",
+ "selectCamera": "Selecciona una càmera",
+ "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."
+ },
+ "cameraConfig": {
+ "add": "Afegeix una càmera",
+ "edit": "Edita la càmera",
+ "description": "Configura la configuració de la càmera, incloses les entrades i els rols de flux.",
+ "name": "Nom de la càmera",
+ "nameRequired": "Es requereix el nom de la càmera",
+ "nameLength": "El nom de la càmera ha de tenir menys de 64 caràcters.",
+ "namePlaceholder": "p. ex., vista general de la porta davantera o de la barra posterior",
+ "enabled": "Habilitat",
+ "ffmpeg": {
+ "inputs": "Fluxos d'entrada",
+ "path": "Camí del flux",
+ "pathRequired": "Es requereix un camí de flux",
+ "pathPlaceholder": "rtsp://...",
+ "rolesRequired": "Es requereix almenys un rol",
+ "rolesUnique": "Cada rol (àudio, detecta, registra) només es pot assignar a un flux",
+ "addInput": "Afegeix un flux d'entrada",
+ "removeInput": "Elimina el flux d'entrada",
+ "inputsRequired": "Es requereix com a mínim un flux d'entrada",
+ "roles": "Rols"
+ },
+ "go2rtcStreams": "go2rtc Fluxos",
+ "streamUrls": "URL de flux",
+ "addUrl": "Afegeix un URL",
+ "addGo2rtcStream": "Afegeix go2rtc flux",
+ "toast": {
+ "success": "La càmera {{cameraName}} s'ha desat correctament"
+ }
+ }
+ },
+ "cameraReview": {
+ "object_descriptions": {
+ "title": "Descripcions d'objectes generadors d'IA",
+ "desc": "Activa/desactiva temporalment les descripcions d'objectes generatius d'IA per a aquesta càmera. Quan està desactivat, les descripcions generades per IA no se sol·licitaran per als objectes rastrejats en aquesta càmera."
+ },
+ "review_descriptions": {
+ "title": "Descripcions de la IA generativa",
+ "desc": "Activa/desactiva temporalment les descripcions de revisió de la IA generativa per a aquesta càmera. Quan està desactivat, les descripcions generades per IA no se sol·licitaran per als elements de revisió d'aquesta càmera."
+ },
+ "review": {
+ "title": "Revisió",
+ "desc": "Activa/desactiva temporalment les alertes i deteccions d'aquesta càmera fins que es reiniciï Frigate. Si està desactivat, no es generaran nous elements de revisió. ",
+ "alerts": "Alertes. ",
+ "detections": "Deteccions. "
+ },
+ "reviewClassification": {
+ "title": "Revisió de la classificació",
+ "desc": "Frigate categoritza els articles de revisió com Alertes i Deteccions. Per defecte, tots els objectes persona i cotxe es consideren Alertes. Podeu refinar la categorització dels elements de revisió configurant-los les zones requerides.",
+ "noDefinedZones": "No hi ha zones definides per a aquesta càmera.",
+ "selectAlertsZones": "Selecciona zones per a les alertes",
+ "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."
+ },
+ "unsavedChanges": "Paràmetres de classificació de revisions sense desar per {{camera}}",
+ "objectAlertsTips": "Totes els objectes {{alertsLabels}} de {{cameraName}} es mostraran com avisos.",
+ "zoneObjectAlertsTips": "Tots els objectes{{alertsLabels}} detectats en {{zone}} de {{cameraName}} es mostraran com a avisos.",
+ "objectDetectionsTips": "Tots els objectes {{detectionsLabels}} que no estiguin categoritzats de {{cameraName}} es mostraran com a Deteccions independentment de la zona on es trobin.",
+ "zoneObjectDetectionsTips": {
+ "text": "Tots els objectes {{detectionsLabels}} no categoritzats a {{zone}} de {{cameraName}} es mostraran com a Deteccions.",
+ "notSelectDetections": "Tots els objectes {{detectionsLabels}} detectats a {{zone}} de{{cameraName}} no categoritzats com a alertes es mostraran com a Deteccions independentment de la zona on es trobin.",
+ "regardlessOfZoneObjectDetectionsTips": "Tots els objectes {{detectionsLabels}} que no estiguin categoritzats de {{cameraName}} es mostraran com a Deteccions independentment de la zona on es trobin."
+ }
+ },
+ "title": "Paràmetres de Revisió de la Càmera"
}
}