From c53f5ee9a62f677e561fd9c0749e0d73a0715e18 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 29 Oct 2025 15:44:41 +0100 Subject: [PATCH] Translated using Weblate (Catalan) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (124 of 124 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (53 of 53 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (501 of 501 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (87 of 87 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (585 of 585 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (51 of 51 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (124 of 124 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (34 of 34 strings) Added translation using Weblate (Catalan) Translated using Weblate (Catalan) Currently translated at 100.0% (585 of 585 strings) Translated using Weblate (Catalan) Currently translated at 99.2% (497 of 501 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (582 of 582 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (90 of 90 strings) Translated using Weblate (Catalan) Currently translated at 93.0% (466 of 501 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (580 of 580 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (10 of 10 strings) Translated using Weblate (Catalan) Currently translated at 89.8% (450 of 501 strings) Translated using Weblate (Catalan) Currently translated at 97.0% (563 of 580 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (90 of 90 strings) Translated using Weblate (Catalan) Currently translated at 98.3% (59 of 60 strings) Translated using Weblate (Catalan) Currently translated at 100.0% (33 of 33 strings) Translated using Weblate (Catalan) Currently translated at 85.2% (427 of 501 strings) Co-authored-by: Eduardo Pastor Fernández <123eduardoneko123@gmail.com> Co-authored-by: Gerard Ricart Castells Co-authored-by: Hosted Weblate Co-authored-by: Languages add-on Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ca/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ca/ Translation: Frigate NVR/audio Translation: Frigate NVR/components-auth Translation: Frigate NVR/components-dialog Translation: Frigate NVR/views-classificationmodel Translation: Frigate NVR/views-events Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-live Translation: Frigate NVR/views-settings --- web/public/locales/ca/audio.json | 76 +++++- web/public/locales/ca/components/auth.json | 3 +- web/public/locales/ca/components/dialog.json | 2 +- .../locales/ca/views/classificationModel.json | 135 ++++++++++ web/public/locales/ca/views/events.json | 14 +- web/public/locales/ca/views/explore.json | 60 ++++- web/public/locales/ca/views/faceLibrary.json | 10 +- web/public/locales/ca/views/live.json | 8 +- web/public/locales/ca/views/settings.json | 233 +++++++++++++++++- 9 files changed, 523 insertions(+), 18 deletions(-) create mode 100644 web/public/locales/ca/views/classificationModel.json 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" } }