diff --git a/web/public/locales/ab/audio.json b/web/public/locales/ar/config/cameras.json similarity index 100% rename from web/public/locales/ab/audio.json rename to web/public/locales/ar/config/cameras.json diff --git a/web/public/locales/ab/common.json b/web/public/locales/ar/config/global.json similarity index 100% rename from web/public/locales/ab/common.json rename to web/public/locales/ar/config/global.json diff --git a/web/public/locales/ab/components/auth.json b/web/public/locales/ar/config/groups.json similarity index 100% rename from web/public/locales/ab/components/auth.json rename to web/public/locales/ar/config/groups.json diff --git a/web/public/locales/ab/components/camera.json b/web/public/locales/ar/config/validation.json similarity index 100% rename from web/public/locales/ab/components/camera.json rename to web/public/locales/ar/config/validation.json diff --git a/web/public/locales/ab/components/dialog.json b/web/public/locales/bg/config/cameras.json similarity index 100% rename from web/public/locales/ab/components/dialog.json rename to web/public/locales/bg/config/cameras.json diff --git a/web/public/locales/ab/components/filter.json b/web/public/locales/bg/config/global.json similarity index 100% rename from web/public/locales/ab/components/filter.json rename to web/public/locales/bg/config/global.json diff --git a/web/public/locales/ab/components/icons.json b/web/public/locales/bg/config/groups.json similarity index 100% rename from web/public/locales/ab/components/icons.json rename to web/public/locales/bg/config/groups.json diff --git a/web/public/locales/ab/components/input.json b/web/public/locales/bg/config/validation.json similarity index 100% rename from web/public/locales/ab/components/input.json rename to web/public/locales/bg/config/validation.json diff --git a/web/public/locales/ca/common.json b/web/public/locales/ca/common.json index c5dd5434f..b583d02bb 100644 --- a/web/public/locales/ca/common.json +++ b/web/public/locales/ca/common.json @@ -106,7 +106,9 @@ "logout": "Tanca la sessió", "current": "Usuari actual: {{user}}" }, - "classification": "Classificació" + "classification": "Classificació", + "chat": "Xat", + "actions": "Accions" }, "pagination": { "previous": { @@ -268,7 +270,18 @@ "unselect": "Desseleccionar", "enable": "Habilitar", "enabled": "Habilitat", - "continue": "Continua" + "continue": "Continua", + "add": "Afegeix", + "undo": "Desfés", + "copiedToClipboard": "S'ha copiat al porta-retalls", + "modified": "Modificat", + "overridden": "Sobreescrit", + "resetToGlobal": "Restableix a global", + "resetToDefault": "Restableix al valor predeterminat", + "saveAll": "Desa-ho tot", + "savingAll": "S'està desant tot…", + "undoAll": "Desfés-ho tot", + "applying": "S'està aplicant…" }, "toast": { "copyUrlToClipboard": "URL copiada al porta-retalls.", diff --git a/web/public/locales/ca/components/dialog.json b/web/public/locales/ca/components/dialog.json index fb5640d6b..9e2900d8a 100644 --- a/web/public/locales/ca/components/dialog.json +++ b/web/public/locales/ca/components/dialog.json @@ -65,6 +65,10 @@ "fromTimeline": { "saveExport": "Guardar exportació", "previewExport": "Previsualitzar exportació" + }, + "case": { + "label": "Cas", + "placeholder": "Selecciona un cas" } }, "streaming": { diff --git a/web/public/locales/ca/config/cameras.json b/web/public/locales/ca/config/cameras.json new file mode 100644 index 000000000..d88f3c81a --- /dev/null +++ b/web/public/locales/ca/config/cameras.json @@ -0,0 +1,941 @@ +{ + "label": "ConfiguracióDeLaCcàmera", + "name": { + "label": "Nom de la càmera", + "description": "Es requereix el nom de la càmera" + }, + "friendly_name": { + "label": "Nom amistós", + "description": "Nom amigable de la càmera utilitzat a la interfície d'usuari de la Frigate" + }, + "enabled": { + "label": "Habilitat", + "description": "Habilitat" + }, + "audio": { + "label": "Esdeveniments d'àudio", + "description": "Configuració per a la detecció d'esdeveniments basats en àudio per a aquesta càmera.", + "enabled": { + "label": "Habilita la detecció d'àudio", + "description": "Activa o desactiva la detecció d'esdeveniments d'àudio per a aquesta càmera." + }, + "max_not_heard": { + "label": "Temps d'espera final", + "description": "Quantitat de segons sense el tipus d'àudio configurat abans que acabi l'esdeveniment d'àudio." + }, + "min_volume": { + "label": "Volum mínim", + "description": "Llindar mínim de volum RMS necessari per executar la detecció d'àudio; els valors més baixos augmenten la sensibilitat (p. ex., 200 alta, 500 mitjana, 1000 baixa)." + }, + "listen": { + "label": "Tipus d'escoltes", + "description": "Llista de tipus d'esdeveniment d'àudio a detectar (per exemple: escorça, focarmalarma, crit, parla, crida)." + }, + "filters": { + "label": "Filtres d'àudio", + "description": "Paràmetres de filtre per-àudio-tipus, com ara llindars de confiança utilitzats per reduir falsos positius." + }, + "enabled_in_config": { + "label": "Estat d'àudio original", + "description": "Indica si la detecció d'àudio s'ha activat originalment al fitxer de configuració estàtic." + }, + "num_threads": { + "label": "Fils de detecció", + "description": "Nombre de fils a utilitzar per al processament de detecció d'àudio." + } + }, + "audio_transcription": { + "label": "Transcripció d'àudio", + "description": "Configuració per a la transcripció d'àudio en viu i de veu utilitzada per a esdeveniments i llegendes en directe.", + "enabled": { + "label": "Habilita la transcripció", + "description": "Activa o desactiva la transcripció d'esdeveniments d'àudio activada manualment." + }, + "enabled_in_config": { + "label": "Estat de transcripció original" + }, + "live_enabled": { + "label": "Transcripció en viu", + "description": "Habilita la transcripció en directe per a l'àudio a mesura que es rep." + } + }, + "birdseye": { + "label": "Birdseye", + "description": "Arranjament per a la vista composta Birdseye que compon múltiples canals de càmera en una única disposició.", + "enabled": { + "label": "Habilita Birdseye", + "description": "Activa o desactiva la funció de vista Birdseye." + }, + "mode": { + "label": "Mode de seguiment", + "description": "Mode per a incloure càmeres en Birdseye: 'objectes', 'motion' o 'continuous'." + }, + "order": { + "label": "Posició", + "description": "Posició numèrica que controla l'ordenació de la càmera en la disposició Birdseye." + } + }, + "detect": { + "label": "Detecció d'objectes", + "description": "Configuració del rol de detecció utilitzat per executar la detecció d'objectes i inicialitzar els rastrejadors.", + "enabled": { + "label": "Detecció activada", + "description": "Activa o desactiva la detecció d'objectes per a aquesta càmera. La detecció s'ha d'activar perquè s'executi el seguiment d'objectes." + }, + "height": { + "label": "Detecta l'alçada", + "description": "Alçada (píxels) dels fotogrames utilitzats per al flux de detecció; deixeu-ho buit per a utilitzar la resolució nativa del flux." + }, + "width": { + "label": "Detecta l'amplada", + "description": "Amplada (píxels) dels fotogrames utilitzats per al flux de detecció; deixeu-ho buit per a utilitzar la resolució nativa del flux." + }, + "fps": { + "label": "Detecta FPS", + "description": "Fotogrames desitjats per segon per executar la detecció; els valors més baixos redueixen l'ús de la CPU (el valor recomanat és 5, només estableix més alt - com a màxim 10 - si el seguiment d'objectes en moviment extremadament ràpid)." + }, + "min_initialized": { + "label": "Fotogrames d'inicialització mínims", + "description": "Nombre d'incidències de detecció consecutives necessàries abans de crear un objecte rastrejat. Incrementa per a reduir les falses inicialitzacions. El valor per defecte és fps dividit per 2." + }, + "max_disappeared": { + "label": "Màxim de fotogrames desapareguts", + "description": "Nombre de fotogrames sense detecció abans que es consideri que un objecte rastrejat ha desaparegut." + }, + "stationary": { + "label": "Configuració d'objectes estacionaris", + "description": "Configuració per detectar i gestionar objectes que romanen estacionaris durant un període de temps.", + "interval": { + "label": "Interval estacionari", + "description": "Amb quina freqüència (en fotogrames) s'executa una comprovació de detecció per confirmar un objecte estacionari." + }, + "threshold": { + "label": "Llindar estacionari", + "description": "Nombre de fotogrames sense cap canvi de posició necessari per a marcar un objecte com a estacionari." + }, + "max_frames": { + "label": "Fotogrames màxims", + "description": "Limita quant de temps es segueixen els objectes estacionaris abans de descartar-los.", + "default": { + "label": "Fotogrames màxims predeterminats", + "description": "Fotogrames màxims predeterminats per a fer el seguiment d'un objecte estacionari abans d'aturar-se." + }, + "objects": { + "label": "Fotogrames màxims de l'objecte", + "description": "Sobreescriu l'objecte per als fotogrames màxims per fer un seguiment dels objectes estacionaris." + } + }, + "classifier": { + "label": "Habilita el classificador visual", + "description": "Utilitzeu un classificador visual per detectar objectes realment estacionaris, fins i tot quan les caixes contenidores tremolen." + } + }, + "annotation_offset": { + "label": "Desplaçament de l'anotació", + "description": "Mil·lisegons per a desplaçar detecta anotacions per a alinear millor els límits de la línia de temps amb els enregistraments; pot ser positiu o negatiu." + } + }, + "face_recognition": { + "label": "Reconeixement de cares", + "description": "Configuració per a la detecció de la cara i el reconeixement d'aquesta càmera.", + "enabled": { + "label": "Habilita el reconeixement facial", + "description": "Activa o desactiva el reconeixement facial." + }, + "min_area": { + "label": "Àrea mínima de la cara", + "description": "Àrea mínima (píxels) d'un quadre facial detectat requerit per intentar el reconeixement." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Paràmetres del FFmpeg que inclouen camins binaris, args, opcions de hwaccel i args de sortida per rol.", + "path": { + "label": "Ruta FFmpeg", + "description": "Ruta al binari FFmpeg a usar o un àlies de versió («5.0» o «7.0»)." + }, + "global_args": { + "label": "Arguments globals del FFmpeg", + "description": "Arguments globals passats als processos FFmpeg." + }, + "hwaccel_args": { + "label": "Arguments d'acceleració del maquinari", + "description": "Arguments d'acceleració de maquinari per a FFmpeg. Es recomanen predefinits específics del proveïdor." + }, + "input_args": { + "label": "Arguments d'entrada", + "description": "Arguments d'entrada aplicats als fluxos d'entrada del FFmpeg." + }, + "output_args": { + "label": "Arguments de sortida", + "description": "Arguments de sortida predeterminats utilitzats per a diferents rols FFmpeg com detecta i registra.", + "detect": { + "label": "Detecta els arguments de sortida", + "description": "Arguments de sortida predeterminats per a detectar fluxos de rol." + }, + "record": { + "label": "Registra els arguments de sortida", + "description": "Arguments de sortida predeterminats per a enregistrar fluxos de rols." + } + }, + "retry_interval": { + "label": "Temps de reintent del FFmpeg", + "description": "Segons a esperar abans d'intentar tornar a connectar un flux de càmera després d'un error. Per defecte és 10." + }, + "apple_compatibility": { + "label": "Compatibilitat d'Apple", + "description": "Activa l'etiquetatge HEVC per a una millor compatibilitat amb el reproductor d'Apple en gravar H.265." + }, + "gpu": { + "label": "Índex de GPU", + "description": "Índex de GPU predeterminat utilitzat per a l'acceleració de maquinari si està disponible." + }, + "inputs": { + "label": "Entrada de la càmera", + "description": "Llista de definicions de flux d'entrada (camins i rols) per a aquesta càmera.", + "path": { + "label": "Ruta d'entrada", + "description": "URL o camí del flux d'entrada de la càmera." + }, + "roles": { + "label": "Rols d'entrada", + "description": "Rols per a aquest flux d'entrada." + }, + "global_args": { + "label": "Arguments globals del FFmpeg", + "description": "Arguments globals del FFmpeg per a aquest flux d'entrada." + }, + "hwaccel_args": { + "label": "Arguments d'acceleració del maquinari", + "description": "Arguments d'acceleració del maquinari per a aquest flux d'entrada." + }, + "input_args": { + "label": "Arguments d'entrada", + "description": "Arguments d'entrada específics d'aquest flux." + } + } + }, + "live": { + "label": "Reproducció en directe", + "description": "Configuració utilitzada per la interfície d'usuari web per controlar la selecció, resolució i qualitat del flux en viu.", + "streams": { + "label": "Noms de flux en viu", + "description": "Assignació de noms de flux configurats per a restream/go2rtc noms utilitzats per a la reproducció en viu." + }, + "height": { + "label": "Alçada del directe", + "description": "Alçada (píxels) per a renderitzar el flux en viu jsmpeg a la interfície d'usuari web; ha de ser . detecta l'alçada del flux." + }, + "quality": { + "label": "Qualitat del directe", + "description": "Qualitat de codificació per al flux jsmpeg (1 més alt, 31 més baix)." + } + }, + "lpr": { + "label": "Reconeixement de la placa de llicència", + "description": "Paràmetres de reconeixement de la matrícula de la llicència, inclosos els llindars de detecció, el format i les plaques conegudes.", + "enabled": { + "label": "Habilita el LPR", + "description": "Activa o desactiva LPR en aquesta càmera." + }, + "expire_time": { + "label": "Caduca els segons", + "description": "Temps en segons després del qual una placa no vista expira del rastrejador (només per a càmeres LPR dedicades)." + }, + "min_area": { + "label": "Àrea mínima de la placa", + "description": "Àrea mínima de placa (píxels) necessària per intentar el reconeixement." + }, + "enhancement": { + "label": "Nivell de millora", + "description": "Nivell de millora (0-10) per aplicar als cultius de plaques abans de l'OCR; els valors més alts no sempre poden millorar els resultats, els nivells superiors a 5 només poden funcionar amb plaques nocturnes i s'han d'utilitzar amb precaució." + } + }, + "motion": { + "label": "Detecció de moviment", + "enabled": { + "label": "Habilita la detecció de moviment", + "description": "Activa o desactiva la detecció de moviment d'aquesta càmera." + }, + "description": "Configuració predeterminada de detecció de moviment per a aquesta càmera.", + "threshold": { + "label": "Llindar del moviment", + "description": "Llindar de diferència de píxels utilitzat pel detector de moviment; els valors més alts redueixen la sensibilitat (interval 1-255)." + }, + "lightning_threshold": { + "label": "Llindar del llamp", + "description": "Llindar per detectar i ignorar les puntes d'il·luminació breu (més baixes són més sensibles, valors entre 0,3 i 1,0). Això no impedeix la detecció de moviment per complet; simplement fa que el detector deixi d'analitzar fotogrames addicionals una vegada que el llindar s'excedeix. Els enregistraments basats en moviment encara es creen durant aquests esdeveniments." + }, + "improve_contrast": { + "label": "Millora el contrast", + "description": "Aplicar la millora del contrast als fotogrames abans de l'anàlisi del moviment per ajudar a la detecció." + }, + "contour_area": { + "label": "Àrea de la vora", + "description": "Àrea mínima de contorn en píxels necessària per a comptar un contorn de moviment." + }, + "delta_alpha": { + "label": "Delta alfa", + "description": "Factor de barreja alfa utilitzat en la diferència de fotogrames per al càlcul del moviment." + }, + "frame_alpha": { + "label": "Alfa del fotograma", + "description": "Valor alfa utilitzat en la barreja de fotogrames per al preprocessament del moviment." + }, + "frame_height": { + "label": "Alçada del marc", + "description": "Alçada en píxels per a escalar els fotogrames quan es computa el moviment." + }, + "mask": { + "label": "Coordenades de la màscara", + "description": "Coordenades x,y que defineixen el polígon de màscara de moviment utilitzat per incloure/excloure àrees." + }, + "mqtt_off_delay": { + "label": "Retard MQTT desactivat", + "description": "Segons a esperar després de l'última moció abans de publicar un estat MQTT 'off'." + }, + "enabled_in_config": { + "label": "Estat del moviment original", + "description": "Indica si la detecció de moviment s'ha activat en la configuració estàtica original." + }, + "raw_mask": { + "label": "Màscara en brut" + }, + "skip_motion_threshold": { + "label": "Omet el llindar de moviment", + "description": "Si més d'aquesta fracció de la imatge canvia en un sol fotograma, el detector no retornarà cap caixa de moviment i recalibrarà immediatament. Això pot estalviar CPU i reduir falsos positius durant el llamp, tempestes, etc., però pot perdre esdeveniments reals com una càmera PTZ que fa un seguiment automàtic d'un objecte. La compensació es troba entre deixar caure uns quants megabytes d'enregistraments versus revisar un parell de clips curts. Interval de 0,0 a 1,0." + } + }, + "objects": { + "label": "Objectes", + "description": "Object tracking defaults incloent quines etiquetes rastrejar i per objecte filtres.", + "track": { + "label": "Objectes a seguir", + "description": "Llista d'etiquetes d'objectes a seguir per a aquesta càmera." + }, + "filters": { + "label": "Filtres d'objectes", + "description": "Filtres aplicats als objectes detectats per reduir falsos positius (àrea, relació, confiança).", + "min_area": { + "label": "Àrea mínima de l'objecte", + "description": "Es requereix una àrea de caixa contenidora mínima (píxels o percentatge) per a aquest tipus d'objecte. Pot ser píxels (int) o percentatge (float entre 0,000001 i 0.99)." + }, + "max_area": { + "label": "Àrea màxima de l'objecte", + "description": "Es permet l'àrea màxima de la caixa contenidora (píxels o percentatge) per a aquest tipus d'objecte. Pot ser píxels (int) o percentatge (float entre 0,000001 i 0.99)." + }, + "min_ratio": { + "label": "Relació mínima d'aspecte", + "description": "Relació mínima d'amplada/alçada requerida per a la casella contenidora a qualificar." + }, + "max_ratio": { + "description": "Es permet la relació màxima d'amplada/alçada per a la casella contenidora a qualificar.", + "label": "Relació màxima d'aspecte" + }, + "threshold": { + "label": "Llindar de confiança", + "description": "Es requereix un llindar de confiança mitjà per a la detecció perquè l'objecte es consideri un veritable positiu." + }, + "min_score": { + "label": "Confiança mínima", + "description": "Es requereix una confiança mínima de detecció d'un sol fotograma per a comptar l'objecte." + }, + "mask": { + "label": "Màscara de filtre", + "description": "Coordenades de polígon que defineixen on s'aplica aquest filtre dins del marc." + }, + "raw_mask": { + "label": "Màscara en brut" + } + }, + "mask": { + "label": "Màscara d'objecte", + "description": "Polígon de màscara utilitzat per evitar la detecció d'objectes en àrees especificades." + }, + "raw_mask": { + "label": "Màscara en brut" + }, + "genai": { + "label": "Configuració de l'objecte GenAI", + "description": "Opcions de GenAI per descriure objectes rastrejats i enviar fotogrames per a la generació.", + "enabled": { + "label": "Habilita el GenAI", + "description": "Habilita la generació de descripcions de GenAI per als objectes rastrejats de manera predeterminada." + }, + "use_snapshot": { + "label": "Utilitza instantànies", + "description": "Usa instantànies d'objecte en lloc de miniatures per a la generació de descripcions de GenAI." + }, + "prompt": { + "label": "Indicació de la llegenda", + "description": "Plantilla de pregunta predeterminada utilitzada en generar descripcions amb GenAI." + }, + "object_prompts": { + "label": "Peticions d'objecte", + "description": "Per objecte demana personalitzar les sortides de GenAI per a etiquetes específiques." + }, + "objects": { + "label": "Objectes GenAI", + "description": "Llista d'etiquetes d'objectes a enviar a GenAI per defecte." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que s'han d'introduir perquè els objectes es puguin classificar per a la generació de descripcions de GenAI." + }, + "debug_save_thumbnails": { + "label": "Desa les miniatures", + "description": "Desa les miniatures enviades a GenAI per a la depuració i la revisió." + }, + "send_triggers": { + "label": "Activadors de GenAI", + "description": "Defineix quan s'han d'enviar fotogrames a GenAI (al final, després de les actualitzacions, etc.).", + "tracked_object_end": { + "label": "Envia al final", + "description": "Envia una sol·licitud a GenAI quan acabi l'objecte rastrejat." + }, + "after_significant_updates": { + "label": "Activador de GenAI primerenc", + "description": "Envia una sol·licitud a GenAI després d'un nombre especificat d'actualitzacions significatives per a l'objecte rastrejat." + } + }, + "enabled_in_config": { + "label": "Estat original de GenAI", + "description": "Indica si el GenAI s'ha activat a la configuració estàtica original." + } + } + }, + "record": { + "label": "Enregistrament", + "description": "Configuració d'enregistrament i retenció d'aquesta càmera.", + "enabled": { + "label": "Habilita l'enregistrament", + "description": "Activa o desactiva l'enregistrament d'aquesta càmera." + }, + "expire_interval": { + "label": "Interval de neteja de l'enregistrament", + "description": "Minuts entre passades de neteja que eliminen segments d'enregistrament caducats." + }, + "continuous": { + "label": "Retenció contínua", + "description": "Nombre de dies per a retenir els enregistraments independentment dels objectes rastrejats o del moviment. Establiu-ho a 0 si només voleu retenir enregistraments d'alertes i deteccions.", + "days": { + "label": "Dies de retenció", + "description": "Dies per retenir enregistraments." + } + }, + "motion": { + "label": "Retenció del moviment", + "description": "Nombre de dies per a retenir els enregistraments activats pel moviment independentment dels objectes rastrejats. Establiu-ho a 0 si només voleu retenir enregistraments d'alertes i deteccions.", + "days": { + "label": "Dies de retenció", + "description": "Dies per retenir enregistraments." + } + }, + "detections": { + "label": "Retenció de detecció", + "description": "Configuració de retenció de l'enregistrament per a esdeveniments de detecció, incloent-hi la durada de la captura anterior a la publicació.", + "pre_capture": { + "label": "Segons de precaptura", + "description": "Nombre de segons abans de l'esdeveniment de detecció a incloure en l'enregistrament." + }, + "post_capture": { + "label": "Segons de postcaptura", + "description": "Nombre de segons després de l'esdeveniment de detecció que s'inclourà a l'enregistrament." + }, + "retain": { + "label": "Retenció d'esdeveniments", + "description": "Configuració de retenció per a enregistraments d'esdeveniments de detecció.", + "days": { + "label": "Dies de retenció", + "description": "Nombre de dies per a retenir enregistraments d'esdeveniments de detecció." + }, + "mode": { + "label": "Mode de retenció", + "description": "Mode de retenció: tot (desa tots els segments), moviment (desa els segments amb moviment), o actiuobobjectes (desa els segments amb objectes actius)." + } + } + }, + "alerts": { + "label": "Retenció d'alerta", + "description": "Configuració de retenció de l'enregistrament per a esdeveniments d'alerta, incloses les durades de captura anteriors a la publicació.", + "pre_capture": { + "label": "Segons de precaptura", + "description": "Nombre de segons abans de l'esdeveniment de detecció a incloure en l'enregistrament." + }, + "post_capture": { + "label": "Segons de postcaptura", + "description": "Nombre de segons després de l'esdeveniment de detecció que s'inclourà a l'enregistrament." + }, + "retain": { + "label": "Retenció d'esdeveniments", + "description": "Configuració de retenció per a enregistraments d'esdeveniments de detecció.", + "days": { + "label": "Dies de retenció", + "description": "Nombre de dies per a retenir enregistraments d'esdeveniments de detecció." + }, + "mode": { + "label": "Mode de retenció", + "description": "Mode de retenció: tot (desa tots els segments), moviment (desa els segments amb moviment), o actiuobobjectes (desa els segments amb objectes actius)." + } + } + }, + "export": { + "label": "Exporta la configuració", + "description": "Paràmetres utilitzats en exportar enregistraments com el timelapse i l'acceleració del maquinari.", + "hwaccel_args": { + "label": "Exporta els arguments de l'hwaccel", + "description": "Args d'acceleració de maquinari a utilitzar per a operacions d'exportació/transcodificació." + } + }, + "preview": { + "label": "Configuració de la vista prèvia", + "description": "Paràmetres que controlen la qualitat de les vistes prèvies de l'enregistrament que es mostren a la interfície d'usuari.", + "quality": { + "label": "Qualitat de la vista prèvia", + "description": "Nivell de qualitat de la vista prèvia (moltlowbaix, baix, mitjà, alt, molt).alt)." + } + }, + "enabled_in_config": { + "label": "Estat de l'enregistrament original", + "description": "Indica si l'enregistrament s'ha activat en la configuració estàtica original." + } + }, + "review": { + "label": "Revisió", + "description": "Configuració que controla les alertes, les deteccions i els resums de revisió de GenAI utilitzats per la interfície d'usuari i l'emmagatzematge d'aquesta càmera.", + "alerts": { + "label": "Configuració d'alertes", + "description": "Paràmetres per als quals els objectes rastrejats generen alertes i com es mantenen les alertes", + "enabled": { + "label": "Habilita les alertes", + "description": "Activa o desactiva la generació d'alertes per a aquesta càmera." + }, + "labels": { + "label": "Etiquetes d'alerta", + "description": "Llista d'etiquetes d'objectes que qualifiquen d'alertes (per exemple: cotxe, persona)." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que un objecte ha d'introduir per a ser considerat una alerta; deixeu-ho buit per a permetre qualsevol zona." + }, + "enabled_in_config": { + "label": "Estat de les alertes originals", + "description": "Fa un seguiment de si les alertes es van habilitar originalment a la configuració estàtica." + }, + "cutoff_time": { + "label": "Temps de tall d'alertes", + "description": "Segons a esperar després de no provocar activitat d'alerta abans de tallar una alerta." + } + }, + "detections": { + "label": "Configuració de les deteccions", + "description": "Paràmetres per a crear esdeveniments de detecció (no-alerta) i quant de temps conservar-los.", + "enabled": { + "label": "Habilita les deteccions", + "description": "Activa o desactiva els esdeveniments de detecció d'aquesta càmera." + }, + "labels": { + "label": "Etiquetes de detecció", + "description": "Llista d'etiquetes d'objectes que es qualifiquen com a esdeveniments de detecció." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que un objecte ha d'introduir per a ser considerat una detecció; deixeu-ho buit per a permetre qualsevol zona." + }, + "cutoff_time": { + "label": "Temps de tall de detecció", + "description": "Segons a esperar després de no haver-hi activitat de detecció abans de tallar una detecció" + }, + "enabled_in_config": { + "label": "Estat de les deteccions originals", + "description": "Fa un seguiment de si les deteccions es van habilitar originalment a la configuració estàtica." + } + }, + "genai": { + "label": "Configuració del GenAI", + "description": "Controla l'ús de la IA generativa per a la producció de descripcions i resums d'articles de revisió.", + "enabled": { + "label": "Habilita les descripcions del GenAI", + "description": "Activa o desactiva les descripcions i resums generats per GenAI per als elements de revisió." + }, + "alerts": { + "label": "Habilita el GenAI per a alertes", + "description": "Utilitzeu GenAI per a generar descripcions per als elements d'alerta." + }, + "detections": { + "label": "Habilita el GenAI per a les deteccions", + "description": "Utilitzeu GenAI per generar descripcions per als elements de detecció." + }, + "image_source": { + "label": "Revisa l'origen de la imatge", + "description": "Font d'imatges enviades a GenAI ('previsualització' o 'enregistraments'); 'enregistraments' utilitza Fotogrames de més qualitat però més tokens." + }, + "additional_concerns": { + "label": "Altres preocupacions", + "description": "Una llista de preocupacions o notes addicionals que el GenAI ha de tenir en compte a l'hora d'avaluar l'activitat en aquesta càmera." + }, + "debug_save_thumbnails": { + "label": "Desa les miniatures", + "description": "Desa les miniatures que s'envien al proveïdor GenAI per a la depuració i la revisió." + }, + "enabled_in_config": { + "label": "Estat original de GenAI", + "description": "Fa un seguiment de si la revisió de GenAI es va habilitar originalment a la configuració estàtica." + }, + "preferred_language": { + "label": "Idioma preferit", + "description": "Idioma preferit per sol·licitar al proveïdor GenAI respostes generades." + }, + "activity_context_prompt": { + "label": "Indicador de context de l'activitat", + "description": "Pregunta personalitzada que descriu el que és i no és una activitat sospitosa per proporcionar context per als resums de GenAI." + } + } + }, + "semantic_search": { + "label": "Cerca semàntica", + "description": "Paràmetres per a la cerca semàntica que construeix i consulta incrustacions d'objectes per a trobar elements similars.", + "triggers": { + "label": "Activadors", + "description": "Accions i criteris coincidents per als desencadenants de cerca semàntica específics de la càmera.", + "friendly_name": { + "label": "Nom amistós", + "description": "Nom opcional amistós que es mostra a la interfície d'usuari per a aquest activador." + }, + "enabled": { + "label": "Habilita aquest activador", + "description": "Activa o desactiva aquest activador de cerca semàntica." + }, + "type": { + "label": "Tipus d'activador", + "description": "Tipus d'activador: «miniatures» (match contra imatge) o «descripció» (match contra text)." + }, + "data": { + "label": "Contingut del disparador", + "description": "Frase de text o ID de miniatures per a coincidir amb els objectes rastrejats." + }, + "threshold": { + "label": "Llindar d'activació", + "description": "Puntuació mínima de similitud (0-1) necessària per activar aquest activador." + }, + "actions": { + "label": "Accions d'activació", + "description": "Llista d'accions a executar quan coincideixi l'activador (notificació, sublabeletiqueta, atribut)." + } + } + }, + "snapshots": { + "label": "Instantànies", + "description": "Configuració per a les instantànies JPEG desades dels objectes seguits per a aquesta càmera.", + "enabled": { + "label": "Instantànies habilitades", + "description": "Activa o desactiva el desament de les instantànies d'aquesta càmera." + }, + "clean_copy": { + "label": "Desa la còpia neta", + "description": "Desa una còpia neta no anotada de les instantànies a més de les anotades." + }, + "timestamp": { + "label": "Superposició de marca horària", + "description": "Superposa una marca horària a les instantànies desades." + }, + "bounding_box": { + "label": "Superposició de la caixa contenidora", + "description": "Dibuixa caixes contenidores per als objectes seguits en les instantànies desades." + }, + "crop": { + "label": "Retalla la instantània", + "description": "Retalla les instantànies desades a la caixa contenidora de l'objecte detectat." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que ha d'introduir un objecte perquè es desi una instantània." + }, + "height": { + "label": "Alçada de la instantània", + "description": "Alçada (píxels) per a canviar la mida de les instantànies desades; deixeu-ho buit per a preservar la mida original." + }, + "retain": { + "label": "Retenció de la instantània", + "description": "Paràmetres de retenció per a les instantànies desades, inclosos els dies predeterminats i les anul·lacions per objecte.", + "default": { + "label": "Retenció predeterminada", + "description": "Nombre predeterminat de dies per a retenir les instantànies." + }, + "mode": { + "label": "Mode de retenció", + "description": "Mode de retenció: tot (desa tots els segments), moviment (desa els segments amb moviment), o actiuobobjectes (desa els segments amb objectes actius)." + }, + "objects": { + "label": "Retenció d'objectes", + "description": "Anul·lació per objecte per dies de retenció d'instantànies." + } + }, + "quality": { + "label": "Qualitat JPEG", + "description": "Qualitat del codi JPEG per a les instantànies desades (0-100)." + } + }, + "timestamp_style": { + "label": "Estil de la marca horària", + "description": "Opcions d'estilització per a marques de temps d'alimentació aplicades a enregistraments i instantànies.", + "position": { + "label": "Posició de la marca horària", + "description": "Posició de la marca horària a la imatge (tl/tr/bl/br)." + }, + "format": { + "label": "Format de la marca horària", + "description": "Cadena de format de data i hora utilitzada per a marques horàries (codis de format de data i hora de Python)." + }, + "color": { + "label": "Color de la marca horària", + "description": "Valors de color RGB per al text de la marca de temps (tots els valors 0-255).", + "red": { + "label": "Vermell", + "description": "Component vermell (0-255) per al color de la marca horària." + }, + "green": { + "label": "Verd", + "description": "Component verd (0-255) per al color de la marca horària." + }, + "blue": { + "label": "Blau", + "description": "Component blau (0-255) per al color de la marca horària." + } + }, + "thickness": { + "label": "Gruix de la marca de temps", + "description": "Gruix de la línia del text de la marca de temps." + }, + "effect": { + "label": "Efecte de marca horària", + "description": "Efecte visual per al text de la marca de temps (cap, sòlid, ombra)." + } + }, + "best_image_timeout": { + "label": "Temps d'espera de la millor imatge", + "description": "Quant de temps s'espera per a la imatge amb la puntuació de confiança més alta." + }, + "mqtt": { + "label": "MQTT", + "description": "Configuració de la publicació d'imatges MQTT.", + "enabled": { + "label": "Envia la imatge", + "description": "Habilita la publicació d'instantànies d'imatges per a objectes als temes MQTT d'aquesta càmera." + }, + "timestamp": { + "label": "Afegeix una marca horària", + "description": "Superposa una marca horària a les imatges publicades a MQTT." + }, + "bounding_box": { + "label": "Afegeix el quadre de delimitació", + "description": "Dibuixa caixes delimitadores en imatges publicades sobre MQTT." + }, + "crop": { + "label": "Retalla la imatge", + "description": "Retalla les imatges publicades a MQTT a la caixa contenidora de l'objecte detectat." + }, + "height": { + "label": "Alçada de la imatge", + "description": "Alçada (píxels) per a canviar la mida de les imatges publicades sobre MQTT." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que ha d'introduir un objecte perquè es publiqui una imatge MQTT." + }, + "quality": { + "label": "Qualitat JPEG", + "description": "Qualitat JPEG per a les imatges publicades a MQTT (0-100)." + } + }, + "notifications": { + "label": "Notificacions", + "description": "Configuració per a habilitar i controlar les notificacions d'aquesta càmera.", + "enabled": { + "label": "Habilita les notificacions", + "description": "Activa o desactiva les notificacions d'aquesta càmera." + }, + "email": { + "label": "Correu electrònic de notificació", + "description": "Adreça de correu electrònic utilitzada per a notificacions push o requerides per determinats proveïdors de notificacions." + }, + "cooldown": { + "label": "Període de reducció", + "description": "Retirada (segons) entre notificacions per evitar els destinataris de correu brossa." + }, + "enabled_in_config": { + "label": "Estat de les notificacions originals", + "description": "Indica si les notificacions s'han activat en la configuració estàtica original." + } + }, + "onvif": { + "label": "ONVIF", + "description": "Connexió ONVIF i configuració de seguiment automàtic PTZ per a aquesta càmera.", + "host": { + "label": "Servidor ONVIF", + "description": "Host (i esquema opcional) per al servei ONVIF per a aquesta càmera." + }, + "port": { + "label": "Port ONVIF", + "description": "Número de port del servei ONVIF." + }, + "user": { + "label": "Nom d'usuari ONVIF", + "description": "Nom d'usuari per a l'autenticació ONVIF; alguns dispositius requereixen l'usuari administrador per a ONVIF." + }, + "password": { + "label": "Contrasenya ONVIF", + "description": "Contrasenya per a l'autenticació ONVIF." + }, + "tls_insecure": { + "label": "Inhabilita la verificació TLS", + "description": "Omet la verificació TLS i desactiva l'autenticació de resum per a ONVIF (no segur; només s'utilitza en xarxes segures)." + }, + "autotracking": { + "label": "Aeguiment automàtic", + "description": "Segueix automàticament els objectes en moviment i els manté centrats en el marc utilitzant els moviments de la càmera PTZ.", + "enabled": { + "label": "Habilita el seguiment automàtic", + "description": "Activa o desactiva el seguiment automàtic de la càmera PTZ dels objectes detectats." + }, + "calibrate_on_startup": { + "label": "Calibra a l'inici", + "description": "Mesura les velocitats del motor PTZ a l'inici per millorar la precisió del seguiment. Frigate actualitzarà la configuració amb «movtion.weights» després del calibratge." + }, + "zooming": { + "label": "Mode de zoom", + "description": "Comportament de zoom de control: desactivat (només pan/tilt), absolut (més compatible) o relatiu (pa/tilt/zoom concurrent)." + }, + "zoom_factor": { + "label": "Factor de zoom", + "description": "Controla el nivell d'ampliació dels objectes rastrejats. Els valors més baixos mantenen més escena a la vista; els valors més alts s'apropen, però poden perdre el seguiment. Valors entre 0,1 i 0,75." + }, + "track": { + "label": "Objectes rastrejats", + "description": "Llista de tipus d'objectes que haurien d'activar el seguiment automàtic." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Els objectes han d'entrar en una d'aquestes zones abans que comenci el seguiment automàtic." + }, + "return_preset": { + "label": "Retorna la predefinició", + "description": "Nom predefinit ONVIF configurat al microprogramari de la càmera per tornar després de finalitzar el seguiment." + }, + "timeout": { + "label": "Temps d'espera de retorn", + "description": "Espereu tants segons després de perdre el seguiment abans de tornar la càmera a la posició preestablerta." + }, + "movement_weights": { + "label": "Pes del moviment", + "description": "Valors de calibratge generats automàticament pel calibratge de la càmera. No modifiquis manualment." + }, + "enabled_in_config": { + "label": "Estat de la pista automàtica original", + "description": "Camp intern per a fer el seguiment de si s'ha habilitat el seguiment automàtic a la configuració." + } + }, + "ignore_time_mismatch": { + "label": "Ignora el desajust de temps", + "description": "Ignora les diferències de sincronització de temps entre càmera i servidor Frigate per a la comunicació ONVIF." + } + }, + "type": { + "label": "Tipus de càmera", + "description": "Tipus de càmera" + }, + "ui": { + "label": "Interfície d'usuari de la càmera", + "description": "Mostra l'ordre i la visibilitat d'aquesta càmera a la interfície d'usuari. La comanda afecta el tauler predeterminat. Per a un control més granular, utilitzeu grups de càmera.", + "order": { + "label": "Ordre de la interfície", + "description": "Ordre numèric utilitzat per ordenar la càmera a la interfície d'usuari (taulell de control i llistes per defecte); els nombres més grans apareixen més tard." + }, + "dashboard": { + "label": "Mostra a l'interfície d'usuari", + "description": "Estableix si aquesta càmera és visible a tot arreu a la interfície d'usuari de la Frigate. Desactivar això requerirà editar manualment la configuració per tornar a veure aquesta càmera a la interfície d'usuari." + } + }, + "webui_url": { + "label": "URL de la càmera", + "description": "URL per visitar la càmera directament des de la pàgina del sistema" + }, + "zones": { + "label": "Zones", + "description": "Les zones permeten definir una àrea específica del marc perquè pugueu determinar si un objecte es troba dins d'una àrea determinada.", + "friendly_name": { + "label": "Nom de la zona", + "description": "Un nom fàcil d'utilitzar per a la zona, que es mostra a la interfície d'usuari de la fragata. Si no s'estableix, s'utilitzarà una versió amb format del nom de la zona." + }, + "enabled": { + "label": "Habilitat", + "description": "Activa o desactiva aquesta zona. Les zones inhabilitades s'ignoren en temps d'execució." + }, + "enabled_in_config": { + "label": "Feu un seguiment de l'estat original de la zona." + }, + "filters": { + "label": "Filtres de zona", + "description": "Filtres que s'aplicaran als objectes d'aquesta zona. S'utilitza per reduir falsos positius o restringir quins objectes es consideren presents a la zona.", + "min_area": { + "label": "Àrea mínima de l'objecte", + "description": "Es requereix una àrea de caixa contenidora mínima (píxels o percentatge) per a aquest tipus d'objecte. Pot ser píxels (int) o percentatge (float entre 0,000001 i 0.99)." + }, + "max_area": { + "label": "Àrea màxima de l'objecte", + "description": "Es permet l'àrea màxima de la caixa contenidora (píxels o percentatge) per a aquest tipus d'objecte. Pot ser píxels (int) o percentatge (float entre 0,000001 i 0.99)." + }, + "min_ratio": { + "label": "Relació mínima d'aspecte", + "description": "Relació mínima d'amplada/alçada requerida per a la casella contenidora a qualificar." + }, + "max_ratio": { + "label": "Relació màxima d'aspecte", + "description": "Es permet la relació màxima d'amplada/alçada per a la casella contenidora a qualificar." + }, + "threshold": { + "label": "Llindar de confiança", + "description": "Es requereix un llindar de confiança mitjà per a la detecció perquè l'objecte es consideri un veritable positiu." + }, + "min_score": { + "label": "Confiança mínima", + "description": "Es requereix una confiança mínima de detecció d'un sol fotograma per a comptar l'objecte." + }, + "mask": { + "label": "Màscara de filtre", + "description": "Coordenades de polígon que defineixen on s'aplica aquest filtre dins del marc." + }, + "raw_mask": { + "label": "Màscara en brut" + } + }, + "objects": { + "description": "Llista de tipus d'objectes (des del mapa d'etiquetes) que poden activar aquesta zona. Pot ser una cadena o una llista de cadenes. Si està buit, es consideraran tots els objectes.", + "label": "Objectes d'activació" + }, + "coordinates": { + "label": "Coordenades", + "description": "Coordenades de polígon que defineixen l'àrea de zona. Pot ser una cadena separada per comes o una llista de cadenes de coordenades. Les coordenades han de ser relatives (0-1) o absolutes (antic)." + }, + "distances": { + "label": "Distàncies del món real", + "description": "Distàncies opcionals del món real per a cada costat del quadrilàter de la zona, utilitzades per a càlculs de velocitat o distància. Si s'estableix, ha de tenir exactament 4 valors." + }, + "inertia": { + "label": "Fotogrames d'inèrcia", + "description": "Nombre de fotogrames consecutius que s'ha de detectar un objecte a la zona abans de considerar-lo present. Ajuda a filtrar les deteccions transitòries." + }, + "loitering_time": { + "label": "Segons flotants", + "description": "Nombre de segons que un objecte ha de romandre a la zona a considerar com a errant. Establiu-ho a 0 per a desactivar la detecció de la itinerància." + }, + "speed_threshold": { + "label": "Velocitat mínima", + "description": "Velocitat mínima (en unitats del món real si s'estableixen distàncies) necessària perquè un objecte es consideri present a la zona. S'utilitza per a activadors de zona basats en velocitat." + } + }, + "enabled_in_config": { + "label": "Estat original de la càmera", + "description": "Feu un seguiment de l'estat original de la càmera." + } +} diff --git a/web/public/locales/ca/config/global.json b/web/public/locales/ca/config/global.json new file mode 100644 index 000000000..6b0210364 --- /dev/null +++ b/web/public/locales/ca/config/global.json @@ -0,0 +1,2192 @@ +{ + "ffmpeg": { + "apple_compatibility": { + "description": "Activa l'etiquetatge HEVC per a una millor compatibilitat amb el reproductor d'Apple en gravar H.265.", + "label": "Compatibilitat d'Apple" + }, + "description": "Paràmetres del FFmpeg que inclouen camins binaris, args, opcions de hwaccel i args de sortida per rol.", + "path": { + "label": "Ruta FFmpeg", + "description": "Ruta al binari FFmpeg a usar o un àlies de versió («5.0» o «7.0»)." + }, + "global_args": { + "label": "Arguments globals del FFmpeg", + "description": "Arguments globals passats als processos FFmpeg." + }, + "hwaccel_args": { + "label": "Arguments d'acceleració del maquinari", + "description": "Arguments d'acceleració de maquinari per a FFmpeg. Es recomanen predefinits específics del proveïdor." + }, + "input_args": { + "label": "Arguments d'entrada", + "description": "Arguments d'entrada aplicats als fluxos d'entrada del FFmpeg." + }, + "output_args": { + "label": "Arguments de sortida", + "description": "Arguments de sortida predeterminats utilitzats per a diferents rols FFmpeg com detecta i registra.", + "detect": { + "label": "Detecta els arguments de sortida", + "description": "Arguments de sortida predeterminats per a detectar fluxos de rol." + }, + "record": { + "label": "Registra els arguments de sortida", + "description": "Arguments de sortida predeterminats per a enregistrar fluxos de rols." + } + }, + "retry_interval": { + "label": "Temps de reintent del FFmpeg", + "description": "Segons a esperar abans d'intentar tornar a connectar un flux de càmera després d'un error. Per defecte és 10." + }, + "gpu": { + "label": "Índex de GPU", + "description": "Índex de GPU predeterminat utilitzat per a l'acceleració de maquinari si està disponible." + }, + "inputs": { + "label": "Entrada de la càmera", + "description": "Llista de definicions de flux d'entrada (camins i rols) per a aquesta càmera.", + "path": { + "label": "Ruta d'entrada", + "description": "URL o camí del flux d'entrada de la càmera." + }, + "roles": { + "label": "Rols d'entrada", + "description": "Rols per a aquest flux d'entrada." + }, + "global_args": { + "label": "Arguments globals del FFmpeg", + "description": "Arguments globals del FFmpeg per a aquest flux d'entrada." + }, + "hwaccel_args": { + "label": "Arguments d'acceleració del maquinari", + "description": "Arguments d'acceleració del maquinari per a aquest flux d'entrada." + }, + "input_args": { + "label": "Arguments d'entrada", + "description": "Arguments d'entrada específics d'aquest flux." + } + }, + "label": "FFmpeg" + }, + "live": { + "height": { + "description": "Alçada (píxels) per a renderitzar el flux en viu jsmpeg a la interfície d'usuari web; ha de ser . detecta l'alçada del flux.", + "label": "Alçada del directe" + }, + "label": "Reproducció en directe", + "description": "Configuració utilitzada per la interfície d'usuari web per controlar la resolució i la qualitat del flux en viu.", + "streams": { + "label": "Noms de flux en viu", + "description": "Assignació de noms de flux configurats per a restream/go2rtc noms utilitzats per a la reproducció en viu." + }, + "quality": { + "label": "Qualitat del directe", + "description": "Qualitat de codificació per al flux jsmpeg (1 més alt, 31 més baix)." + } + }, + "ui": { + "label": "Interfície", + "description": "Preferències de la interfície d'usuari com ara la zona horària, el format de l'hora/data i les unitats.", + "timezone": { + "label": "Zona horària", + "description": "Zona horària opcional que es mostrarà a través de la interfície d'usuari (per defecte al navegador hora local si no s'estableix)." + }, + "time_format": { + "label": "Format de l'hora", + "description": "Format d'hora a utilitzar a la interfície d'usuari (navegador, 12 hores o 24 hores)." + }, + "date_style": { + "label": "Estil de data", + "description": "Estil de data a utilitzar a la interfície d'usuari (complet, llarg, mitjà, curt)." + }, + "time_style": { + "label": "Estil de temps", + "description": "Estil de temps a utilitzar a la interfície d'usuari (complet, llarg, mitjà, curt)." + }, + "unit_system": { + "label": "Sistema d'unitat", + "description": "Sistema d'unitats per a la visualització (mètrica o imperial) utilitzat en la IU i MQTT." + } + }, + "motion": { + "improve_contrast": { + "description": "Aplicar la millora del contrast als fotogrames abans de l'anàlisi del moviment per ajudar a la detecció.", + "label": "Millora el contrast" + }, + "label": "Detecció de moviment", + "description": "Paràmetres de detecció de moviment per defecte aplicats a les càmeres llevat que se substitueixin per càmera.", + "enabled": { + "label": "Habilita la detecció de moviment", + "description": "Activa o desactiva la detecció de moviment per a totes les càmeres; es pot sobreescriure per càmera." + }, + "threshold": { + "label": "Llindar del moviment", + "description": "Llindar de diferència de píxels utilitzat pel detector de moviment; els valors més alts redueixen la sensibilitat (interval 1-255)." + }, + "lightning_threshold": { + "label": "Llindar del llamp", + "description": "Llindar per detectar i ignorar les puntes d'il·luminació breu (més baixes són més sensibles, valors entre 0,3 i 1,0). Això no impedeix la detecció de moviment per complet; simplement fa que el detector deixi d'analitzar fotogrames addicionals una vegada que el llindar s'excedeix. Els enregistraments basats en moviment encara es creen durant aquests esdeveniments." + }, + "contour_area": { + "label": "Àrea de la vora", + "description": "Àrea mínima de contorn en píxels necessària per a comptar un contorn de moviment." + }, + "delta_alpha": { + "label": "Delta alfa", + "description": "Factor de barreja alfa utilitzat en la diferència de fotogrames per al càlcul del moviment." + }, + "frame_alpha": { + "label": "Alfa del fotograma", + "description": "Valor alfa utilitzat en la barreja de fotogrames per al preprocessament del moviment." + }, + "frame_height": { + "label": "Alçada del marc", + "description": "Alçada en píxels per a escalar els fotogrames quan es computa el moviment." + }, + "mask": { + "label": "Coordenades de la màscara", + "description": "Coordenades x,y que defineixen el polígon de màscara de moviment utilitzat per incloure/excloure àrees." + }, + "mqtt_off_delay": { + "label": "Retard MQTT desactivat", + "description": "Segons a esperar després de l'última moció abans de publicar un estat MQTT 'off'." + }, + "enabled_in_config": { + "label": "Estat del moviment original", + "description": "Indica si la detecció de moviment s'ha activat en la configuració estàtica original." + }, + "raw_mask": { + "label": "Màscara en brut" + }, + "skip_motion_threshold": { + "label": "Omet el llindar de moviment", + "description": "Si més d'aquesta fracció de la imatge canvia en un sol fotograma, el detector no retornarà cap caixa de moviment i recalibrarà immediatament. Això pot estalviar CPU i reduir falsos positius durant el llamp, tempestes, etc., però pot perdre esdeveniments reals com una càmera PTZ que fa un seguiment automàtic d'un objecte. La compensació es troba entre deixar caure uns quants megabytes d'enregistraments versus revisar un parell de clips curts. Interval de 0,0 a 1,0." + } + }, + "objects": { + "filters": { + "label": "Filtres d'objectes", + "description": "Filtres aplicats als objectes detectats per reduir falsos positius (àrea, relació, confiança).", + "min_area": { + "label": "Àrea mínima de l'objecte", + "description": "Es requereix una àrea de caixa contenidora mínima (píxels o percentatge) per a aquest tipus d'objecte. Pot ser píxels (int) o percentatge (float entre 0,000001 i 0.99)." + }, + "max_area": { + "label": "Àrea màxima de l'objecte", + "description": "Es permet l'àrea màxima de la caixa contenidora (píxels o percentatge) per a aquest tipus d'objecte. Pot ser píxels (int) o percentatge (float entre 0,000001 i 0.99)." + }, + "min_ratio": { + "label": "Relació mínima d'aspecte", + "description": "Relació mínima d'amplada/alçada requerida per a la casella contenidora a qualificar." + }, + "max_ratio": { + "label": "Relació màxima d'aspecte", + "description": "Es permet la relació màxima d'amplada/alçada per a la casella contenidora a qualificar." + }, + "threshold": { + "label": "Llindar de confiança", + "description": "Es requereix un llindar de confiança mitjà per a la detecció perquè l'objecte es consideri un veritable positiu." + }, + "min_score": { + "label": "Confiança mínima", + "description": "Es requereix una confiança mínima de detecció d'un sol fotograma per a comptar l'objecte." + }, + "mask": { + "label": "Màscara de filtre", + "description": "Coordenades de polígon que defineixen on s'aplica aquest filtre dins del marc." + }, + "raw_mask": { + "label": "Màscara en brut" + } + }, + "genai": { + "required_zones": { + "label": "Zones requerides", + "description": "Zones que s'han d'introduir perquè els objectes es puguin classificar per a la generació de descripcions de GenAI." + }, + "label": "Configuració de l'objecte GenAI", + "description": "Opcions de GenAI per descriure objectes rastrejats i enviar fotogrames per a la generació.", + "enabled": { + "label": "Habilita el GenAI", + "description": "Habilita la generació de descripcions de GenAI per als objectes rastrejats de manera predeterminada." + }, + "use_snapshot": { + "label": "Utilitza instantànies", + "description": "Usa instantànies d'objecte en lloc de miniatures per a la generació de descripcions de GenAI." + }, + "prompt": { + "label": "Indicació de la llegenda", + "description": "Plantilla de pregunta predeterminada utilitzada en generar descripcions amb GenAI." + }, + "object_prompts": { + "label": "Peticions d'objecte", + "description": "Per objecte demana personalitzar les sortides de GenAI per a etiquetes específiques." + }, + "objects": { + "label": "Objectes GenAI", + "description": "Llista d'etiquetes d'objectes a enviar a GenAI per defecte." + }, + "debug_save_thumbnails": { + "label": "Desa les miniatures", + "description": "Desa les miniatures enviades a GenAI per a la depuració i la revisió." + }, + "send_triggers": { + "label": "Activadors de GenAI", + "description": "Defineix quan s'han d'enviar fotogrames a GenAI (al final, després de les actualitzacions, etc.).", + "tracked_object_end": { + "label": "Envia al final", + "description": "Envia una sol·licitud a GenAI quan acabi l'objecte rastrejat." + }, + "after_significant_updates": { + "label": "Activador de GenAI primerenc", + "description": "Envia una sol·licitud a GenAI després d'un nombre especificat d'actualitzacions significatives per a l'objecte rastrejat." + } + }, + "enabled_in_config": { + "label": "Estat original de GenAI", + "description": "Indica si el GenAI s'ha activat a la configuració estàtica original." + } + }, + "label": "Objectes", + "description": "Object tracking defaults incloent quines etiquetes rastrejar i per objecte filtres.", + "track": { + "label": "Objectes a seguir", + "description": "Llista d'etiquetes d'objectes a rastrejar per a totes les càmeres; es poden sobreescriure per càmera." + }, + "mask": { + "label": "Màscara d'objecte", + "description": "Polígon de màscara utilitzat per evitar la detecció d'objectes en àrees especificades." + }, + "raw_mask": { + "label": "Màscara en brut" + } + }, + "record": { + "detections": { + "retain": { + "days": { + "label": "Dies de retenció", + "description": "Nombre de dies per a retenir enregistraments d'esdeveniments de detecció." + }, + "label": "Retenció d'esdeveniments", + "description": "Configuració de retenció per a enregistraments d'esdeveniments de detecció.", + "mode": { + "label": "Mode de retenció", + "description": "Mode de retenció: tot (desa tots els segments), moviment (desa els segments amb moviment), o actiuobobjectes (desa els segments amb objectes actius)." + } + }, + "label": "Retenció de detecció", + "description": "Configuració de retenció de l'enregistrament per a esdeveniments de detecció, incloent-hi la durada de la captura anterior a la publicació.", + "pre_capture": { + "label": "Segons de precaptura", + "description": "Nombre de segons abans de l'esdeveniment de detecció a incloure en l'enregistrament." + }, + "post_capture": { + "label": "Segons de postcaptura", + "description": "Nombre de segons després de l'esdeveniment de detecció que s'inclourà a l'enregistrament." + } + }, + "alerts": { + "post_capture": { + "label": "Segons de postcaptura", + "description": "Nombre de segons després de l'esdeveniment de detecció que s'inclourà a l'enregistrament." + }, + "label": "Retenció d'alerta", + "description": "Configuració de retenció de l'enregistrament per a esdeveniments d'alerta, incloses les durades de captura anteriors a la publicació.", + "pre_capture": { + "label": "Segons de precaptura", + "description": "Nombre de segons abans de l'esdeveniment de detecció a incloure en l'enregistrament." + }, + "retain": { + "label": "Retenció d'esdeveniments", + "description": "Configuració de retenció per a enregistraments d'esdeveniments de detecció.", + "days": { + "label": "Dies de retenció", + "description": "Nombre de dies per a retenir enregistraments d'esdeveniments de detecció." + }, + "mode": { + "label": "Mode de retenció", + "description": "Mode de retenció: tot (desa tots els segments), moviment (desa els segments amb moviment), o actiuobobjectes (desa els segments amb objectes actius)." + } + } + }, + "label": "Enregistrament", + "description": "Configuració d'enregistrament i retenció aplicada a les càmeres llevat que se substitueixi per càmera.", + "enabled": { + "label": "Habilita l'enregistrament", + "description": "Activa o desactiva l'enregistrament per a totes les càmeres; es pot substituir per càmera." + }, + "expire_interval": { + "label": "Interval de neteja de l'enregistrament", + "description": "Minuts entre passades de neteja que eliminen segments d'enregistrament caducats." + }, + "continuous": { + "label": "Retenció contínua", + "description": "Nombre de dies per a retenir els enregistraments independentment dels objectes rastrejats o del moviment. Establiu-ho a 0 si només voleu retenir enregistraments d'alertes i deteccions.", + "days": { + "label": "Dies de retenció", + "description": "Dies per retenir enregistraments." + } + }, + "motion": { + "label": "Retenció del moviment", + "description": "Nombre de dies per a retenir els enregistraments activats pel moviment independentment dels objectes rastrejats. Establiu-ho a 0 si només voleu retenir enregistraments d'alertes i deteccions.", + "days": { + "label": "Dies de retenció", + "description": "Dies per retenir enregistraments." + } + }, + "export": { + "label": "Exporta la configuració", + "description": "Paràmetres utilitzats en exportar enregistraments com el timelapse i l'acceleració del maquinari.", + "hwaccel_args": { + "label": "Exporta els arguments de l'hwaccel", + "description": "Args d'acceleració de maquinari a utilitzar per a operacions d'exportació/transcodificació." + } + }, + "preview": { + "label": "Configuració de la vista prèvia", + "description": "Paràmetres que controlen la qualitat de les vistes prèvies de l'enregistrament que es mostren a la interfície d'usuari.", + "quality": { + "label": "Qualitat de la vista prèvia", + "description": "Nivell de qualitat de la vista prèvia (moltlowbaix, baix, mitjà, alt, molt).alt)." + } + }, + "enabled_in_config": { + "label": "Estat de l'enregistrament original", + "description": "Indica si l'enregistrament s'ha activat en la configuració estàtica original." + } + }, + "review": { + "detections": { + "required_zones": { + "description": "Zones que un objecte ha d'introduir per a ser considerat una detecció; deixeu-ho buit per a permetre qualsevol zona.", + "label": "Zones requerides" + }, + "label": "Configuració de les deteccions", + "description": "Paràmetres per a crear esdeveniments de detecció (no-alerta) i quant de temps conservar-los.", + "enabled": { + "label": "Habilita les deteccions", + "description": "Habilita o inhabilita els esdeveniments de detecció per a totes les càmeres; es poden sobreescriure per càmera." + }, + "labels": { + "label": "Etiquetes de detecció", + "description": "Llista d'etiquetes d'objectes que es qualifiquen com a esdeveniments de detecció." + }, + "cutoff_time": { + "label": "Temps de tall de detecció", + "description": "Segons a esperar després de no haver-hi activitat de detecció abans de tallar una detecció" + }, + "enabled_in_config": { + "label": "Estat de les deteccions originals", + "description": "Fa un seguiment de si les deteccions es van habilitar originalment a la configuració estàtica." + } + }, + "genai": { + "image_source": { + "description": "Font d'imatges enviades a GenAI ('previsualització' o 'enregistraments'); 'enregistraments' utilitza Fotogrames de més qualitat però més tokens.", + "label": "Revisa l'origen de la imatge" + }, + "enabled_in_config": { + "description": "Fa un seguiment de si la revisió de GenAI es va habilitar originalment a la configuració estàtica.", + "label": "Estat original de GenAI" + }, + "label": "Configuració del GenAI", + "description": "Controla l'ús de la IA generativa per a la producció de descripcions i resums d'articles de revisió.", + "enabled": { + "label": "Habilita les descripcions del GenAI", + "description": "Activa o desactiva les descripcions i resums generats per GenAI per als elements de revisió." + }, + "alerts": { + "label": "Habilita el GenAI per a alertes", + "description": "Utilitzeu GenAI per a generar descripcions per als elements d'alerta." + }, + "detections": { + "label": "Habilita el GenAI per a les deteccions", + "description": "Utilitzeu GenAI per generar descripcions per als elements de detecció." + }, + "additional_concerns": { + "label": "Altres preocupacions", + "description": "Una llista de preocupacions o notes addicionals que el GenAI ha de tenir en compte a l'hora d'avaluar l'activitat en aquesta càmera." + }, + "debug_save_thumbnails": { + "label": "Desa les miniatures", + "description": "Desa les miniatures que s'envien al proveïdor GenAI per a la depuració i la revisió." + }, + "preferred_language": { + "label": "Idioma preferit", + "description": "Idioma preferit per sol·licitar al proveïdor GenAI respostes generades." + }, + "activity_context_prompt": { + "label": "Indicador de context de l'activitat", + "description": "Pregunta personalitzada que descriu el que és i no és una activitat sospitosa per proporcionar context per als resums de GenAI." + } + }, + "label": "Revisió", + "description": "Configuració que controla les alertes, les deteccions i els resums de revisió de GenAI utilitzats per la IU i l'emmagatzematge.", + "alerts": { + "label": "Configuració d'alertes", + "description": "Paràmetres per als quals els objectes rastrejats generen alertes i com es mantenen les alertes", + "enabled": { + "label": "Habilita les alertes", + "description": "Activa o desactiva la generació d'alertes per a totes les càmeres; es pot substituir per càmera." + }, + "labels": { + "label": "Etiquetes d'alerta", + "description": "Llista d'etiquetes d'objectes que qualifiquen d'alertes (per exemple: cotxe, persona)." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que un objecte ha d'introduir per a ser considerat una alerta; deixeu-ho buit per a permetre qualsevol zona." + }, + "enabled_in_config": { + "label": "Estat de les alertes originals", + "description": "Fa un seguiment de si les alertes es van habilitar originalment a la configuració estàtica." + }, + "cutoff_time": { + "label": "Temps de tall d'alertes", + "description": "Segons a esperar després de no provocar activitat d'alerta abans de tallar una alerta." + } + } + }, + "semantic_search": { + "triggers": { + "enabled": { + "description": "Activa o desactiva aquest activador de cerca semàntica.", + "label": "Habilita aquest activador" + }, + "label": "Activadors", + "description": "Accions i criteris coincidents per als desencadenants de cerca semàntica específics de la càmera.", + "friendly_name": { + "label": "Nom amistós", + "description": "Nom opcional amistós que es mostra a la interfície d'usuari per a aquest activador." + }, + "type": { + "label": "Tipus d'activador", + "description": "Tipus d'activador: «miniatures» (match contra imatge) o «descripció» (match contra text)." + }, + "data": { + "label": "Contingut del disparador", + "description": "Frase de text o ID de miniatures per a coincidir amb els objectes rastrejats." + }, + "threshold": { + "label": "Llindar d'activació", + "description": "Puntuació mínima de similitud (0-1) necessària per activar aquest activador." + }, + "actions": { + "label": "Accions d'activació", + "description": "Llista d'accions a executar quan coincideixi l'activador (notificació, sublabeletiqueta, atribut)." + } + }, + "label": "Cerca semàntica", + "description": "Configuració de la cerca semàntica que construeix i consulta incrustacions d'objectes per trobar elements similars.", + "enabled": { + "label": "Habilita la cerca semàntica", + "description": "Activa o desactiva la funció de cerca semàntica." + }, + "reindex": { + "label": "Reindexa en iniciar", + "description": "Activa un reíndex complet d'objectes rastrejats històrics a la base de dades d'incrustacions." + }, + "model": { + "label": "Model de cerca semàntic", + "description": "El model d'incrustació a utilitzar per a la cerca semàntica (per exemple 'jinav1')." + }, + "model_size": { + "label": "Mida del model", + "description": "Seleccioneu la mida del model; «petit» s'executa a la CPU i «gran» normalment requereix GPU." + }, + "device": { + "label": "Dispositiu", + "description": "Això és una sobreescriptura, per dirigir-se a un dispositiu específic. Vegeu https://onnxruntime.ai/docs/execution-providers/ per a més informació" + } + }, + "snapshots": { + "label": "Instantànies", + "description": "Arranjament per a les instantànies JPEG desades dels objectes rastrejats per a totes les càmeres; es pot sobreescriure per càmera.", + "enabled": { + "label": "Instantànies habilitades", + "description": "Habilita o inhabilita les instantànies de desament per a totes les càmeres; es pot sobreescriure per càmera." + }, + "clean_copy": { + "label": "Desa la còpia neta", + "description": "Desa una còpia neta no anotada de les instantànies a més de les anotades." + }, + "timestamp": { + "label": "Superposició de marca horària", + "description": "Superposa una marca horària a les instantànies desades." + }, + "bounding_box": { + "label": "Superposició de la caixa contenidora", + "description": "Dibuixa caixes contenidores per als objectes seguits en les instantànies desades." + }, + "crop": { + "label": "Retalla la instantània", + "description": "Retalla les instantànies desades a la caixa contenidora de l'objecte detectat." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que ha d'introduir un objecte perquè es desi una instantània." + }, + "height": { + "label": "Alçada de la instantània", + "description": "Alçada (píxels) per a canviar la mida de les instantànies desades; deixeu-ho buit per a preservar la mida original." + }, + "retain": { + "label": "Retenció de la instantània", + "description": "Paràmetres de retenció per a les instantànies desades, inclosos els dies predeterminats i les anul·lacions per objecte.", + "default": { + "label": "Retenció predeterminada", + "description": "Nombre predeterminat de dies per a retenir les instantànies." + }, + "mode": { + "label": "Mode de retenció", + "description": "Mode de retenció: tot (desa tots els segments), moviment (desa els segments amb moviment), o actiuobobjectes (desa els segments amb objectes actius)." + }, + "objects": { + "label": "Retenció d'objectes", + "description": "Anul·lació per objecte per dies de retenció d'instantànies." + } + }, + "quality": { + "label": "Qualitat JPEG", + "description": "Qualitat del codi JPEG per a les instantànies desades (0-100)." + } + }, + "timestamp_style": { + "format": { + "label": "Format de la marca horària", + "description": "Cadena de format de data i hora utilitzada per a marques horàries (codis de format de data i hora de Python)." + }, + "color": { + "blue": { + "label": "Blau", + "description": "Component blau (0-255) per al color de la marca horària." + }, + "label": "Color de la marca horària", + "description": "Valors de color RGB per al text de la marca de temps (tots els valors 0-255).", + "red": { + "label": "Vermell", + "description": "Component vermell (0-255) per al color de la marca horària." + }, + "green": { + "label": "Verd", + "description": "Component verd (0-255) per al color de la marca horària." + } + }, + "label": "Estil de la marca horària", + "description": "Opcions d'estilització per a marques horàries d'alimentació aplicades a la vista de depuració i instantànies.", + "position": { + "label": "Posició de la marca horària", + "description": "Posició de la marca horària a la imatge (tl/tr/bl/br)." + }, + "thickness": { + "label": "Gruix de la marca de temps", + "description": "Gruix de la línia del text de la marca de temps." + }, + "effect": { + "label": "Efecte de marca horària", + "description": "Efecte visual per al text de la marca de temps (cap, sòlid, ombra)." + } + }, + "onvif": { + "autotracking": { + "enabled_in_config": { + "description": "Camp intern per a fer el seguiment de si s'ha habilitat el seguiment automàtic a la configuració.", + "label": "Estat de la pista automàtica original" + }, + "label": "Aeguiment automàtic", + "description": "Segueix automàticament els objectes en moviment i els manté centrats en el marc utilitzant els moviments de la càmera PTZ.", + "enabled": { + "label": "Habilita el seguiment automàtic", + "description": "Activa o desactiva el seguiment automàtic de la càmera PTZ dels objectes detectats." + }, + "calibrate_on_startup": { + "label": "Calibra a l'inici", + "description": "Mesura les velocitats del motor PTZ a l'inici per millorar la precisió del seguiment. Frigate actualitzarà la configuració amb «movtion.weights» després del calibratge." + }, + "zooming": { + "label": "Mode de zoom", + "description": "Comportament de zoom de control: desactivat (només pan/tilt), absolut (més compatible) o relatiu (pa/tilt/zoom concurrent)." + }, + "zoom_factor": { + "label": "Factor de zoom", + "description": "Controla el nivell d'ampliació dels objectes rastrejats. Els valors més baixos mantenen més escena a la vista; els valors més alts s'apropen, però poden perdre el seguiment. Valors entre 0,1 i 0,75." + }, + "track": { + "label": "Objectes rastrejats", + "description": "Llista de tipus d'objectes que haurien d'activar el seguiment automàtic." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Els objectes han d'entrar en una d'aquestes zones abans que comenci el seguiment automàtic." + }, + "return_preset": { + "label": "Retorna la predefinició", + "description": "Nom predefinit ONVIF configurat al microprogramari de la càmera per tornar després de finalitzar el seguiment." + }, + "timeout": { + "label": "Temps d'espera de retorn", + "description": "Espereu tants segons després de perdre el seguiment abans de tornar la càmera a la posició preestablerta." + }, + "movement_weights": { + "label": "Pes del moviment", + "description": "Valors de calibratge generats automàticament pel calibratge de la càmera. No modifiquis manualment." + } + }, + "label": "ONVIF", + "description": "Connexió ONVIF i configuració de seguiment automàtic PTZ per a aquesta càmera.", + "host": { + "label": "Servidor ONVIF", + "description": "Host (i esquema opcional) per al servei ONVIF per a aquesta càmera." + }, + "port": { + "label": "Port ONVIF", + "description": "Número de port del servei ONVIF." + }, + "user": { + "label": "Nom d'usuari ONVIF", + "description": "Nom d'usuari per a l'autenticació ONVIF; alguns dispositius requereixen l'usuari administrador per a ONVIF." + }, + "password": { + "label": "Contrasenya ONVIF", + "description": "Contrasenya per a l'autenticació ONVIF." + }, + "tls_insecure": { + "label": "Inhabilita la verificació TLS", + "description": "Omet la verificació TLS i desactiva l'autenticació de resum per a ONVIF (no segur; només s'utilitza en xarxes segures)." + }, + "ignore_time_mismatch": { + "label": "Ignora el desajust de temps", + "description": "Ignora les diferències de sincronització de temps entre càmera i servidor Frigate per a la comunicació ONVIF." + } + }, + "audio_transcription": { + "enabled": { + "label": "Habilita la transcripció d'àudio", + "description": "Activa o desactiva la transcripció automàtica d'àudio per a totes les càmeres; es pot substituir per càmera." + }, + "label": "Transcripció d'àudio", + "description": "Configuració per a la transcripció d'àudio en viu i de veu utilitzada per a esdeveniments i llegendes en directe.", + "language": { + "label": "Idioma de transcripció", + "description": "Codi d'idioma utilitzat per a la transcripció/traducció (per exemple 'en' per a l'anglès). Vegeu https://whisper-api.com/docs/languages/ per als codis de llengua compatibles." + }, + "device": { + "label": "Dispositiu de transcripció", + "description": "Tecla de dispositiu (CPU/GPU) per a executar el model de transcripció. Actualment només les GPU CUDA NVIDIA estan admeses per a la transcripció." + }, + "model_size": { + "label": "Mida del model", + "description": "Mida del model a utilitzar per a la transcripció d'esdeveniments d'àudio fora de línia." + }, + "live_enabled": { + "label": "Transcripció en viu", + "description": "Habilita la transcripció en directe per a l'àudio a mesura que es rep." + } + }, + "version": { + "label": "Versió de configuració actual", + "description": "Versió numèrica o de cadena de la configuració activa per ajudar a detectar migracions o canvis de format." + }, + "safe_mode": { + "label": "Mode segur", + "description": "Quan està activat, arrenca la Frigate en mode segur amb funcions reduïdes per a la resolució de problemes." + }, + "environment_vars": { + "label": "Variables d'entorn", + "description": "Parells clau/valor de les variables d'entorn a establir per al procés Frigate al sistema operatiu Home Assistant. Els usuaris que no són usuaris de HAOS han d'utilitzar la configuració de la variable d'entorn Docker." + }, + "logger": { + "label": "Registre", + "description": "Controla la verbositat predeterminada del registre i el nivell de registre per component.", + "default": { + "label": "Nivell de registre", + "description": "Veritat predeterminada del registre global (depuració, informació, avís, error)." + }, + "logs": { + "label": "Nivell de registre per procés", + "description": "El nivell de registre per component substitueix per augmentar o disminuir la verbositat per a mòduls específics." + } + }, + "auth": { + "label": "Autenticació", + "description": "Configuració relacionada amb l'autenticació i la sessió, incloses les opcions de cookies i límit de velocitat.", + "enabled": { + "label": "Habilita l'autenticació", + "description": "Habilita l'autenticació nativa per a la interfície d'usuari de la Frigate." + }, + "reset_admin_password": { + "label": "Restableix la contrasenya d'administrador", + "description": "Si és cert, restableix la contrasenya de l'usuari administrador a l'inici i imprimeix la nova contrasenya als registres." + }, + "cookie_name": { + "label": "Nom de la cookie JWT", + "description": "Nom de la cookie utilitzada per emmagatzemar el testimoni JWT per a l'autenticació nativa." + }, + "cookie_secure": { + "label": "Atribut de segura de la cookie", + "description": "Establiu l'indicador segur a l'auth cookie; hauria de ser cert quan s'utilitza TLS." + }, + "session_length": { + "label": "Longitud de la sessió", + "description": "Durada de la sessió en segons per a les sessions basades en JWT." + }, + "refresh_time": { + "label": "Finestra d'actualització de sessió", + "description": "Quan una sessió estigui dins d'aquests segons d'expiració, refresca-la de nou a tota la durada." + }, + "failed_login_rate_limit": { + "label": "Límits d'inici de sessió fallits", + "description": "Regles de limitació de la taxa per als intents d'inici de sessió fallits per reduir els atacs de força bruta." + }, + "trusted_proxies": { + "label": "Intermediaris de confiança", + "description": "Llista d'IP de confiança usades quan es determina la IP del client per limitar la taxa." + }, + "hash_iterations": { + "label": "Iteracions de resum", + "description": "Nombre d'iteracions PBKDF2-SHA256 a utilitzar quan es fan servir contrasenyes d'usuari." + }, + "roles": { + "label": "Mapatge de rols", + "description": "Mapa els rols a les llistes de càmeres. Una llista buida permet l'accés a totes les càmeres per al rol." + }, + "admin_first_time_login": { + "label": "Bandera d'administració per primera vegada", + "description": "Quan sigui cert, la interfície d'usuari pot mostrar un enllaç d'ajuda a la pàgina d'inici de sessió informant els usuaris de com iniciar la sessió després d'un restabliment de contrasenya d'administrador. " + } + }, + "face_recognition": { + "label": "Reconeixement de cares", + "description": "Configuració per a la detecció de la cara i el reconeixement de totes les càmeres; es pot substituir per càmera.", + "enabled": { + "label": "Habilita el reconeixement facial", + "description": "Activa o desactiva el reconeixement facial de totes les càmeres; es pot substituir per càmera." + }, + "model_size": { + "label": "Mida del model", + "description": "Mida del model a utilitzar per a incrustacions facials (petit/gran); més gran pot requerir GPU." + }, + "unknown_score": { + "label": "Llindar de puntuació desconegut", + "description": "Llindar de distància per sota del qual una cara es considera una coincidència potencial (més alta ). més estricta)." + }, + "detection_threshold": { + "label": "Llindar de detecció", + "description": "Confiança mínima de detecció necessària per considerar vàlida una detecció facial." + }, + "recognition_threshold": { + "label": "Llindar de reconeixement", + "description": "Llindar de distància d'incrustació de cares per considerar dues cares una coincidència." + }, + "min_area": { + "label": "Àrea mínima de la cara", + "description": "Àrea mínima (píxels) d'un quadre facial detectat requerit per intentar el reconeixement." + }, + "min_faces": { + "label": "Cares mínimes", + "description": "Nombre mínim de reconeixements facials necessaris abans d'aplicar una subetiqueta reconeguda a una persona." + }, + "save_attempts": { + "label": "Desa els intents", + "description": "Nombre d'intents de reconeixement facial que s'han de conservar per a la interfície d'usuari de reconeixement recent." + }, + "blur_confidence_filter": { + "label": "Filtre de confiança del difuminat", + "description": "Ajusta les puntuacions de confiança basades en el difuminat de la imatge per reduir falsos positius per a cares de mala qualitat." + }, + "device": { + "label": "Dispositiu", + "description": "Això és una sobreescriptura, per dirigir-se a un dispositiu específic. Vegeu https://onnxruntime.ai/docs/execution-providers/ per a més informació" + } + }, + "database": { + "label": "Base de dades", + "description": "Configuració de la base de dades SQLite utilitzada per Frigate per emmagatzemar objectes rastrejats i enregistrar metadades.", + "path": { + "label": "Ruta a la base de dades", + "description": "Ruta del sistema de fitxers on s'emmagatzemarà el fitxer de base de dades SQLite de Frigate." + } + }, + "go2rtc": { + "label": "go2rtc", + "description": "Paràmetres per al servei de restreaming go2rtc integrat utilitzat per a la retransmissió i traducció de flux en viu." + }, + "mqtt": { + "label": "MQTT", + "description": "Configuració per a connectar i publicar telemetria, instantànies i detalls d'esdeveniment a un corredor MQTT.", + "enabled": { + "label": "Habilita MQTT", + "description": "Activa o desactiva la integració MQTT per a l'estat, els esdeveniments i les instantànies." + }, + "host": { + "label": "Amfitrió MQTT", + "description": "Nom d'amfitrió o adreça IP del corredor MQTT." + }, + "port": { + "label": "Port MQTT", + "description": "Port del corredor MQTT (normalment 1883 per a MQTT pla)." + }, + "topic_prefix": { + "label": "Prefix del tema", + "description": "El prefix del tema MQTT per a tots els temes de Frigate; ha de ser únic si s'executen diverses instàncies." + }, + "client_id": { + "label": "ID del client", + "description": "L'identificador de client utilitzat quan es connecta al broker MQTT; hauria de ser únic per instància." + }, + "stats_interval": { + "label": "Interval d'estadístiques", + "description": "Interval en segons per a la publicació de les estadístiques del sistema i de la càmera a MQTT." + }, + "user": { + "label": "Nom d'usuari MQTT", + "description": "El nom d'usuari opcional del MQTT; es pot proporcionar a través de variables d'entorn o secrets." + }, + "password": { + "label": "Contrasenya MQTT", + "description": "Contrasenya opcional MQTT; es pot proporcionar a través de variables d'entorn o secrets." + }, + "tls_ca_certs": { + "label": "TLS CA certs", + "description": "Ruta al certificat de CA per a les connexions TLS al corredor (per a autosignats certs)." + }, + "tls_client_cert": { + "label": "Cert del client", + "description": "Ruta del certificat del client per a l'autenticació mútua TLS; no estableixis l'usuari/contrasenya quan utilitzis el client CERT." + }, + "tls_client_key": { + "label": "Clau del client", + "description": "Camí de clau privada per al certificat de client." + }, + "tls_insecure": { + "label": "TLS insegur", + "description": "Permet connexions TLS insegures saltant la verificació del nom d'amfitrió (no recomanat)" + }, + "qos": { + "label": "MQTT QoS", + "description": "Nivell de qualitat del servei per a publicacions/subscripcions de MQTT (0, 1, o 2)." + } + }, + "notifications": { + "label": "Notificacions", + "description": "La configuració per a habilitar i controlar les notificacions de totes les càmeres; es pot substituir per la càmera.", + "enabled": { + "label": "Habilita les notificacions", + "description": "Activa o desactiva les notificacions per a totes les càmeres; es pot sobreescriure per càmera." + }, + "email": { + "label": "Correu electrònic de notificació", + "description": "Adreça de correu electrònic utilitzada per a notificacions push o requerides per determinats proveïdors de notificacions." + }, + "cooldown": { + "label": "Període de reducció", + "description": "Retirada (segons) entre notificacions per evitar els destinataris de correu brossa." + }, + "enabled_in_config": { + "label": "Estat de les notificacions originals", + "description": "Indica si les notificacions s'han activat en la configuració estàtica original." + } + }, + "networking": { + "label": "Xarxa", + "description": "Paràmetres relacionats amb la xarxa com l'habilitació IPv6 per als punts finals de Frigate.", + "ipv6": { + "label": "Configuració IPv6", + "description": "Configuració específica d'IPv6 per als serveis de xarxa de fragate.", + "enabled": { + "label": "Habilita IPv6", + "description": "Activa el suport IPv6 per als serveis de Frigate (API i UI) quan sigui aplicable" + } + }, + "listen": { + "label": "S'està escoltant la configuració dels ports", + "description": "Configuració per a ports d'escolta interns i externs. Això és per a usuaris avançats. Per a la majoria de casos d'ús es recomana canviar la secció de ports del fitxer Docker.", + "internal": { + "label": "Port intern", + "description": "Port d'escolta intern per a la Frigate (predeterminat 5000)." + }, + "external": { + "label": "Port extern", + "description": "Port d'escolta extern per a la Frigate (predeterminat 8971)." + } + } + }, + "proxy": { + "label": "Proxy", + "description": "Paràmetres per a integrar Frigate darrere d'un servidor intermediari invers que passa les capçaleres d'usuari autenticades.", + "header_map": { + "label": "Mapeig de capçaleres", + "description": "Mapa les capçaleres del servidor intermediari entrant a l'usuari de Frigate i als camps de rol per a l'autenticació basada en el servidor intermediari.", + "user": { + "label": "Capçalera d'usuari", + "description": "Capçalera que conté el nom d'usuari autenticat proporcionat pel servidor intermediari de la font." + }, + "role": { + "label": "Capçalera del rol", + "description": "Capçalera que conté el rol o els grups de l'usuari autenticat des del servidor intermediari de flux ascendent." + }, + "role_map": { + "label": "Mapatge del rol", + "description": "Mapa els valors de grup de la font als rols de Frigate (per exemple, assigna els grups d'administració al rol d'administrador)." + } + }, + "logout_url": { + "label": "URL de sortida", + "description": "URL a la qual redirigir els usuaris quan es tanqui la sessió a través del servidor intermediari." + }, + "auth_secret": { + "label": "Secret proxy", + "description": "S'ha comprovat el secret opcional contra la capçalera X-Proxy-Secret per verificar els servidors intermediaris de confiança." + }, + "default_role": { + "label": "Rol predeterminat", + "description": "Rol predeterminat assignat als usuaris intermediaris autenticats quan no s'aplica cap mapatge de rols (administrador o visor)." + }, + "separator": { + "label": "Caràcter separador", + "description": "Caràcter utilitzat per a dividir múltiples valors proporcionats a les capçaleres del servidor intermediari." + } + }, + "telemetry": { + "label": "Telemetria", + "description": "Opcions de telemetria del sistema i estadístiques, incloent-hi la GPU i el monitoratge de l'amplada de banda de la xarxa.", + "network_interfaces": { + "label": "Interfícies de xarxa", + "description": "Llista de prefixos de nom d'interfície de xarxa que s'han de controlar per a les estadístiques d'amplada de banda." + }, + "stats": { + "label": "Estadístiques del sistema", + "description": "Opcions per a habilitar/desactivar la col·lecció de diverses estadístiques de sistemes i GPU.", + "amd_gpu_stats": { + "label": "Estadístiques de GPU AMD", + "description": "Habilita la col·lecció d'estadístiques de GPU AMD si hi ha una GPU AMD present." + }, + "intel_gpu_stats": { + "label": "Estadístiques de la GPU d'Intel", + "description": "Habilita la col·lecció d'estadístiques de GPU d'Intel si hi ha una GPU d'Intel." + }, + "network_bandwidth": { + "label": "Amplada de banda de la xarxa", + "description": "Habilita el monitoratge d'amplada de banda per procés per als processos i detectors de ffmpeg de càmera (requereix capacitats)." + }, + "intel_gpu_device": { + "label": "Dispositiu SR-IOV", + "description": "Identificador de dispositiu utilitzat quan es tracten les GPU d'Intel com a SR-IOV per corregir les estadístiques de GPU." + } + }, + "version_check": { + "label": "Comprovació de versió", + "description": "Activa una comprovació de sortida per detectar si hi ha disponible una versió de Frigate més nova." + } + }, + "tls": { + "label": "TLS", + "description": "Configuració de TLS per als punts finals web de Frigate (port 8971).", + "enabled": { + "label": "Habilita TLS", + "description": "Activa TLS per a la interfície d'usuari web i l'API de Frigate al port TLS configurat." + } + }, + "detectors": { + "label": "Detector de hardware", + "description": "Configuració per a detectors d'objectes (CPU, GPU, dorsals ONNX) i qualsevol configuració de model específica per a detectors.", + "type": { + "label": "Tipus de detector", + "description": "Tipus de detector a utilitzar per a la detecció d'objectes (per exemple 'cpu', 'edgetpu', 'openvino')." + }, + "cpu": { + "label": "CPU", + "description": "Detector TFLite de CPU que executa els models TensorFlow Lite a la CPU de l'amfitrió sense acceleració de maquinari. No recomanat.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Mapeig d'etiquetes d'objecte a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple, 'cotxe' -> ['matrícula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "num_threads": { + "label": "Nombre de fils de detecció", + "description": "El nombre de fils utilitzats per a la inferència basada en CPU." + } + }, + "deepstack": { + "label": "DeepStack", + "description": "Detector DeepStack/CodeProject.AI que envia imatges a una API HTTP de DeepStack remota per a la inferència. No recomanat.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Camí personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Camí a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple, 'cotxe' -> ['matrícula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "api_url": { + "label": "URL de l'API del DeepStack", + "description": "L'URL de l'API de DeepStack." + }, + "api_timeout": { + "label": "Temps d'espera de l'API DeepStack (en segons)", + "description": "Temps màxim permès per a una sol·licitud de l'API DeepStack." + }, + "api_key": { + "label": "Clau API del DeepStack (si es requereix)", + "description": "Clau API opcional per als serveis DeepStack autenticats." + } + }, + "degirum": { + "label": "DeGirum", + "description": "Detector DeGirum per a l'execució de models a través del núvol DeGirum o serveis d'inferència locals.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple, 'cotxe' -> ['matrícula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "location": { + "label": "Ubicació de la referència", + "description": "Ubicació del motor d'inferència DeGirim (p. ex. ',cloud', '127.0.0.1')." + }, + "zoo": { + "label": "Model Zoo", + "description": "Camí o URL al zoològic del model zoo." + }, + "token": { + "label": "Token del cloud de DeGirum", + "description": "Token d'accés al cloud de DeGirum." + } + }, + "edgetpu": { + "label": "EdgeTPU", + "description": "Detector EdgeTPU que executa models TensorFlow Lite compilats per a Coral EdgeTPU utilitzant el delegat EdgeTPU.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' -> ['matricula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "device": { + "label": "Tipus de dispositiu", + "description": "El dispositiu a utilitzar per a la inferència EdgeTPU (p. ex. «usb», «pci»)." + } + }, + "hailo8l": { + "label": "Hailo-8/Hailo-8L", + "description": "Detector Hailo-8/Hailo-8L utilitzant models HEF i el HailoRT SDK per inferència en maquinari Hailo.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' -> ['matricula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "device": { + "label": "Tipus de dispositiu", + "description": "El dispositiu a utilitzar per a la inferència Hailo (p. ex. 'PCIe', 'M.2')." + } + }, + "memryx": { + "label": "MemryX", + "description": "Detector MemryX MX3 que executa models DFP compilats en acceleradors MemryX.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' -> ['matricula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Camí del model específic del detector", + "description": "Camí de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "device": { + "label": "Camí del dispositiu", + "description": "El dispositiu a utilitzar per a la inferència MemryX (p. ex. «PCIe»)." + } + }, + "onnx": { + "description": "Detector ONNX per executar models ONNX; utilitzarà els dorsals d'acceleració disponibles (CUDA/ROCm/OpenVINO) quan estigui disponible.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' -> ['matricula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple 'float32')." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "device": { + "label": "Tipus de dispositiu", + "description": "El dispositiu a utilitzar per a la inferència ONNX (p. ex. «AUTO», «CPU», «GPU»)." + }, + "label": "ONNX" + }, + "openvino": { + "description": "Detector OpenVINO per a CPU AMD i Intel, GPUs Intel i maquinari Intel VPU.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Rutaa un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "device": { + "label": "Tipus de dispositiu", + "description": "El dispositiu a utilitzar per a la inferència OpenVINO (p. ex. 'CPU', 'GPU', 'NPU')." + }, + "label": "OpenVINO" + }, + "rknn": { + "description": "El detector RKNN per a Rockchip NPUs; executa models RKNN compilats en maquinari Rockchip.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "num_cores": { + "label": "Nombre de nuclis NPU a utilitzar.", + "description": "El nombre de nuclis NPU a usar (0 per a l'automàtic)." + }, + "label": "RKNN" + }, + "synaptics": { + "label": "Sinapsi", + "description": "Detector NPU Synaptics per a models en format .synap utilitzant el Synap SDK en maquinari Synaptics.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)" + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix." + } + }, + "teflon_tfl": { + "description": "Detector delegat de Teflon per a TFLite utilitzant la biblioteca delegat de Mesa Teflon per accelerar la inferència en GPU compatibles.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Cami de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "label": "Teflon" + }, + "tensorrt": { + "description": "Detector TensorRT per a dispositius Nvidia Jetson utilitzant motors TensorRT serialitzats per a la inferència accelerada.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "device": { + "label": "Índex del dispositiu GPU", + "description": "L'índex del dispositiu GPU a utilitzar." + }, + "label": "TensorRT" + }, + "zmq": { + "description": "Detector ZMQ IPC que descarrega la inferència a un procés extern a través d'un extrem IPC ZeroMQ.", + "type": { + "label": "Tipus" + }, + "model": { + "label": "Configuració del model específic del detector", + "description": "Opcions de configuració del model específic del detector (camí, mida d'entrada, etc.).", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "model_path": { + "label": "Ruta del model específic del detector", + "description": "Ruta de fitxer al binari del model de detector si el detector escollit ho requereix." + }, + "endpoint": { + "label": "Final ZMQ IPC", + "description": "L'extrem ZMQ al qual connectar-se." + }, + "request_timeout_ms": { + "label": "Temps d'espera de la sol·licitud ZMQ en mil·lisegons", + "description": "Temps d'espera per a les sol·licituds ZMQ en mil·lisegons." + }, + "linger_ms": { + "label": "Socket ZMQ roman en mil·lisegons", + "description": "Període de permanència del socket en mil·lisegons." + }, + "label": "ZMQ IPC" + } + }, + "model": { + "label": "Model de detecció", + "description": "Configuració per a configurar un model de detecció d'objectes personalitzat i la seva forma d'entrada.", + "path": { + "label": "Ruta personalitzat del model de detecció d'objectes", + "description": "Ruta a un fitxer de model de detecció personalitzat (o plus:// per a models Frigate+)." + }, + "labelmap_path": { + "label": "Mapa d'etiquetes per al detector d'objectes personalitzat", + "description": "Ruta a un fitxer de mapa d'etiquetes que assigna classes numèriques a etiquetes de cadena per al detector." + }, + "width": { + "label": "Amplada d'entrada del model de detecció d'objectes", + "description": "Amplada del tensor d'entrada del model en píxels." + }, + "height": { + "label": "Alçada d'entrada del model de detecció d'objectes", + "description": "Alçada del tensor d'entrada del model en píxels." + }, + "labelmap": { + "label": "Personalització del mapa d'etiquetes", + "description": "Sobreescriu o reassigna les entrades per a fusionar-se en el mapa d'etiquetes estàndard." + }, + "attributes_map": { + "label": "Mapa d'etiquetes d'objectes a les seves etiquetes d'atribut", + "description": "Assignació des d'etiquetes d'objectes a etiquetes d'atribut utilitzades per adjuntar metadades (per exemple 'car' ->. ['matricula'])." + }, + "input_tensor": { + "label": "Forma del sensor d'entrada del model", + "description": "Format del sensor esperat pel model: 'nhwc' o 'nchw'." + }, + "input_pixel_format": { + "label": "Format de color del píxel d'entrada del model", + "description": "Espai de color del píxel esperat pel model: 'rgb', 'bgr' o 'yuv'." + }, + "input_dtype": { + "label": "Tipus D d'entrada del model", + "description": "Tipus de dades del tensor d'entrada del model (per exemple «float32»)." + }, + "model_type": { + "label": "Tipus de model de detecció d'objectes", + "description": "Tipus d'arquitectura del model de detector (ssd, yolox, yolonas) utilitzat per alguns detectors per a l'optimització." + } + }, + "genai": { + "label": "Configuració de la IA generadora (proveïdors amb nom).", + "description": "Paràmetres per als proveïdors integrats generatius d'IA utilitzats per generar descripcions d'objectes i resums de revisions.", + "api_key": { + "label": "Clau API", + "description": "Clau API requerida per alguns proveïdors (també es pot establir a través de variables d'entorn)." + }, + "base_url": { + "label": "URL base", + "description": "URL base per a proveïdors allotjats o compatibles (per exemple, una instància d'Ollama)." + }, + "model": { + "description": "El model a utilitzar del proveïdor per generar descripcions o resums.", + "label": "Model" + }, + "provider": { + "label": "Proveïdor", + "description": "El proveïdor GenAI a utilitzar (per exemple: ollama, gemini, openai)." + }, + "roles": { + "label": "Rols", + "description": "Funcions genAI (eines, visió, incrustacions); un proveïdor per rol." + }, + "provider_options": { + "label": "Opcions del proveïdor", + "description": "Opcions addicionals específiques del proveïdor per passar al client GenAI." + }, + "runtime_options": { + "label": "Opcions de temps d'execució", + "description": "Les opcions d'execució passades al proveïdor per a cada crida d'inferència." + } + }, + "audio": { + "label": "Esdeveniments d'àudio", + "description": "Configuració per a la detecció d'esdeveniments basats en àudio per a totes les càmeres; es pot substituir per càmera.", + "enabled": { + "label": "Habilita la detecció d'àudio", + "description": "Activa o desactiva la detecció d'esdeveniments d'àudio per a totes les càmeres; es pot substituir per càmera." + }, + "max_not_heard": { + "label": "Temps d'espera final", + "description": "Quantitat de segons sense el tipus d'àudio configurat abans que acabi l'esdeveniment d'àudio." + }, + "min_volume": { + "label": "Volum mínim", + "description": "Llindar mínim de volum RMS necessari per executar la detecció d'àudio; els valors més baixos augmenten la sensibilitat (p. ex., 200 alta, 500 mitjana, 1000 baixa)." + }, + "listen": { + "label": "Tipus d'escoltes", + "description": "Llista de tipus d'esdeveniment d'àudio a detectar (per exemple: escorça, focarmalarma, crit, parla, crida)." + }, + "filters": { + "label": "Filtres d'àudio", + "description": "Paràmetres de filtre per-àudio-tipus, com ara llindars de confiança utilitzats per reduir falsos positius." + }, + "enabled_in_config": { + "label": "Estat d'àudio original", + "description": "Indica si la detecció d'àudio s'ha activat originalment al fitxer de configuració estàtic." + }, + "num_threads": { + "label": "Fils de detecció", + "description": "Nombre de fils a utilitzar per al processament de detecció d'àudio." + } + }, + "birdseye": { + "description": "Arranjament per a la vista composta Birdseye que compon múltiples canals de càmera en una única disposició.", + "enabled": { + "label": "Habilita Birdseye", + "description": "Activa o desactiva la funció de vista Birdseye." + }, + "mode": { + "label": "Mode de seguiment", + "description": "Mode per a incloure càmeres en Birdseye: 'objectes', 'motion' o 'continuous'." + }, + "restream": { + "label": "Restream RTSP", + "description": "Torna a transmetre la sortida Birdseye com a font RTSP; habilitant això es mantindrà Birdseye funcionant contínuament." + }, + "width": { + "label": "Amplada", + "description": "Amplada de sortida (píxels) del marc Birdseye compost." + }, + "height": { + "label": "Alçada", + "description": "Alçada de sortida (píxels) del marc Birdseye compost." + }, + "quality": { + "label": "Qualitat de la codificació", + "description": "Qualitat de codificació per a l'alimentació Birdseye mpeg1 (1 qualitat més alta, 31 més baixa)." + }, + "inactivity_threshold": { + "label": "Llindar d'inactivitat", + "description": "Segons d'inactivitat després de la qual una càmera deixarà de mostrar-se a Birdseye." + }, + "layout": { + "label": "Disposició", + "description": "Opcions de disposició per a la composició Birdseye.", + "scaling_factor": { + "label": "Factor d'escalat", + "description": "Factor d'escalat utilitzat per la calculadora de disposició (interval 1.0 a 5.0)." + }, + "max_cameras": { + "label": "Màxim de càmeres", + "description": "Nombre màxim de càmeres a mostrar alhora a Birdseye; mostra les càmeres més recents." + } + }, + "idle_heartbeat_fps": { + "label": "FPS de batec cardíac inactiu", + "description": "Fotogrames per segon per a tornar a enviar l'últim fotograma compost Birdseye quan estigui inactiu; establert a 0 per a desactivar." + }, + "order": { + "label": "Posició", + "description": "Posició numèrica que controla l'ordenació de la càmera en la disposició Birdseye." + }, + "label": "Birdseye" + }, + "detect": { + "label": "Detecció d'objectes", + "description": "Configuració del rol de detecció utilitzat per executar la detecció d'objectes i inicialitzar els rastrejadors.", + "enabled": { + "label": "Detecció activada", + "description": "Activa o desactiva la detecció d'objectes per a totes les càmeres; es pot sobreescriure per càmera. La detecció s'ha d'activar perquè s'executi el seguiment d'objectes." + }, + "height": { + "label": "Detecta l'alçada", + "description": "Alçada (píxels) dels fotogrames utilitzats per al flux de detecció; deixeu-ho buit per a utilitzar la resolució nativa del flux." + }, + "width": { + "label": "Detecta l'amplada", + "description": "Amplada (píxels) dels fotogrames utilitzats per al flux de detecció; deixeu-ho buit per a utilitzar la resolució nativa del flux." + }, + "fps": { + "label": "Detecta FPS", + "description": "Fotogrames desitjats per segon per executar la detecció; els valors més baixos redueixen l'ús de la CPU (el valor recomanat és 5, només estableix més alt - com a màxim 10 - si el seguiment d'objectes en moviment extremadament ràpid)." + }, + "min_initialized": { + "label": "Fotogrames d'inicialització mínims", + "description": "Nombre d'incidències de detecció consecutives necessàries abans de crear un objecte rastrejat. Incrementa per a reduir les falses inicialitzacions. El valor per defecte és fps dividit per 2." + }, + "max_disappeared": { + "label": "Màxim de fotogrames desapareguts", + "description": "Nombre de fotogrames sense detecció abans que es consideri que un objecte rastrejat ha desaparegut." + }, + "stationary": { + "label": "Configuració d'objectes estacionaris", + "description": "Configuració per detectar i gestionar objectes que romanen estacionaris durant un període de temps.", + "interval": { + "label": "Interval estacionari", + "description": "Amb quina freqüència (en fotogrames) s'executa una comprovació de detecció per confirmar un objecte estacionari." + }, + "threshold": { + "label": "Llindar estacionari", + "description": "Nombre de fotogrames sense cap canvi de posició necessari per a marcar un objecte com a estacionari." + }, + "max_frames": { + "label": "Fotogrames màxims", + "description": "Limita quant de temps es segueixen els objectes estacionaris abans de descartar-los.", + "default": { + "label": "Fotogrames màxims predeterminats", + "description": "Fotogrames màxims predeterminats per a fer el seguiment d'un objecte estacionari abans d'aturar-se." + }, + "objects": { + "label": "Fotogrames màxims de l'objecte", + "description": "Sobreescriu l'objecte per als fotogrames màxims per fer un seguiment dels objectes estacionaris." + } + }, + "classifier": { + "label": "Habilita el classificador visual", + "description": "Utilitzeu un classificador visual per detectar objectes realment estacionaris, fins i tot quan les caixes contenidores tremolen." + } + }, + "annotation_offset": { + "label": "Desplaçament de l'anotació", + "description": "Mil·lisegons per a desplaçar detecta anotacions per a alinear millor els límits de la línia de temps amb els enregistraments; pot ser positiu o negatiu." + } + }, + "classification": { + "label": "Classificació de l'objecte", + "description": "Paràmetres per als models de classificació utilitzats per refinar les etiquetes dels objectes o la classificació de l'estat.", + "bird": { + "label": "Configuració de la classificació dels ocells", + "description": "Paràmetres específics dels models de classificació d'aus.", + "enabled": { + "label": "Classificació dels ocells", + "description": "Activa o desactiva la classificació d'ocells." + }, + "threshold": { + "label": "Puntuació mínima", + "description": "Puntuació mínima requerida per acceptar una classificació d'ocells." + } + }, + "custom": { + "label": "Models de classificació personalitzats", + "description": "Configuració per a models de classificació personalitzats utilitzats per a objectes o detecció d'estats.", + "enabled": { + "label": "Habilita el model", + "description": "Activa o desactiva el model de classificació personalitzat." + }, + "name": { + "label": "Nom del model", + "description": "Identificador per al model de classificació personalitzat a utilitzar." + }, + "threshold": { + "label": "Llindar de puntuació", + "description": "Llindar de puntuació utilitzat per a canviar l'estat de classificació." + }, + "save_attempts": { + "label": "Desa els intents", + "description": "Quants intents de classificació s'han de desar per a les classificacions recents de la interfície d'usuari." + }, + "object_config": { + "objects": { + "label": "Classifica els objectes", + "description": "Llista de tipus d'objectes on executar la classificació d'objectes." + }, + "classification_type": { + "label": "Tipus de classificació", + "description": "Tipus de classificació aplicat: 'sub.label' (afegeix sub.label) o altres tipus admesos." + } + }, + "state_config": { + "cameras": { + "label": "Càmeres de classificació", + "description": "Retalla per càmera i configuració per executar la classificació d'estat.", + "crop": { + "label": "Retalla la classificació", + "description": "Retalla les coordenades a usar per a executar la classificació en aquesta càmera." + } + }, + "motion": { + "label": "Executa en moviment", + "description": "Si és cert, executeu la classificació quan es detecti el moviment dins del retall especificat." + }, + "interval": { + "label": "Interval de classificació", + "description": "Interval (segons) entre les classificacions periòdiques per a la classificació estatal." + } + } + } + }, + "lpr": { + "label": "Reconeixement de la placa de llicència", + "description": "Paràmetres de reconeixement de la matrícula de la llicència, inclosos els llindars de detecció, el format i les plaques conegudes.", + "enabled": { + "label": "Habilita el LPR", + "description": "Activa o desactiva el reconeixement de la matrícula per a totes les càmeres; es pot substituir per la càmera." + }, + "model_size": { + "label": "Mida del model", + "description": "Mida del model utilitzat per a la detecció/reconeixement del text. La majoria d'usuaris haurien d'utilitzar 'petits'." + }, + "detection_threshold": { + "label": "Llindar de detecció", + "description": "Llindar de confiança de detecció per començar a executar OCR en una placa sospitosa." + }, + "min_area": { + "label": "Àrea mínima de la placa", + "description": "Àrea mínima de placa (píxels) necessària per intentar el reconeixement." + }, + "recognition_threshold": { + "label": "Llindar de reconeixement", + "description": "Es requereix un llindar de confiança perquè el text de la placa reconeguda s'adjunti com a subetiqueta." + }, + "min_plate_length": { + "label": "Longitud mínima de la placa", + "description": "El nombre mínim de caràcters que ha de contenir una placa reconeguda ha de ser considerat vàlid." + }, + "format": { + "label": "Format regex de la matrícula", + "description": "Expressió regular opcional per a validar les cadenes de placa reconegudes contra un format esperat." + }, + "match_distance": { + "label": "Distància de la coincidència", + "description": "Nombre de desajustos de caràcters permesos quan es comparen les plaques detectades amb les plaques conegudes." + }, + "known_plates": { + "label": "Matricules conegudes", + "description": "Llista de plaques o expressions regulars per fer un seguiment o una alerta especialment activades." + }, + "enhancement": { + "label": "Nivell de millora", + "description": "Nivell de millora (0-10) per aplicar als cultius de plaques abans de l'OCR; els valors més alts no sempre poden millorar els resultats, els nivells superiors a 5 només poden funcionar amb plaques nocturnes i s'han d'utilitzar amb precaució." + }, + "debug_save_plates": { + "label": "Desa les plaques de depuració", + "description": "Desa les imatges retallades de la matrícula per a depurar el rendiment LPR." + }, + "device": { + "label": "Dispositiu", + "description": "Això és una sobreescriptura, per dirigir-se a un dispositiu específic. Vegeu https://onnxruntime.ai/docs/execution-providers/ per a més informació" + }, + "replace_rules": { + "label": "Regles de reemplaçament", + "description": "Regex regles de reemplaçament usades per a normalitzar les cadenes de placa detectades abans de coincidir.", + "pattern": { + "label": "Patró Regex" + }, + "replacement": { + "label": "Cadena de reemplaçament" + } + }, + "expire_time": { + "label": "Caduca els segons", + "description": "Temps en segons després del qual una placa no vista expira del rastrejador (només per a càmeres LPR dedicades)." + } + }, + "camera_groups": { + "label": "Grups de càmera", + "description": "Configuració dels grups de càmeres amb nom utilitzats per a organitzar càmeres a la interfície d'usuari.", + "cameras": { + "label": "Llista de càmeres", + "description": "Matriu de noms de càmera inclosos en aquest grup." + }, + "icon": { + "label": "Icona de grup", + "description": "Icona utilitzada per a representar el grup de càmeres a la interfície d'usuari." + }, + "order": { + "label": "Ordre d'ordenació", + "description": "Ordre numèric utilitzat per ordenar els grups de càmera a la interfície d'usuari; els nombres més grans apareixen més tard." + } + }, + "camera_mqtt": { + "label": "MQTT", + "description": "Configuració de la publicació d'imatges MQTT", + "enabled": { + "label": "Envia la imatge", + "description": "Habilita la publicació d'instantànies d'imatges per a objectes als temes MQTT d'aquesta càmera." + }, + "timestamp": { + "label": "Afegeix una marca horària", + "description": "Superposa una marca horària a les imatges publicades a MQTT." + }, + "bounding_box": { + "label": "Afegeix un contenidor", + "description": "Dibuixa caixes contenidores en imatges publicades sobre MQTT." + }, + "crop": { + "label": "Retalla la imatge", + "description": "Retalla les imatges publicades a MQTT segons el quadre de delimitació de l'objecte detectat." + }, + "height": { + "label": "Alçada de la imatge", + "description": "Alçada (píxels) per a canviar la mida de les imatges publicades sobre MQTT." + }, + "required_zones": { + "label": "Zones requerides", + "description": "Zones que ha d'introduir un objecte perquè es publiqui una imatge MQTT." + }, + "quality": { + "label": "Qualitat JPEG", + "description": "Qualitat JPEG per a les imatges publicades a MQTT (0-100)." + } + }, + "camera_ui": { + "label": "Interfície de la càmera", + "description": "Mostra l'ordre i la visibilitat d'aquesta càmera a la interfície d'usuari. La comanda afecta el tauler predeterminat. Per a un control més granular, utilitzeu grups de càmera.", + "order": { + "label": "Ordre de la interfície", + "description": "Ordre numèric utilitzat per ordenar la càmera a la interfície d'usuari (taulell de control i llistes per defecte); els nombres més grans apareixen més tard." + }, + "dashboard": { + "label": "Mostra a la interfície", + "description": "Estableix si aquesta càmera és visible a tot arreu a la interfície d'usuari de Frigate. Desactivar això requerirà editar manualment la configuració per tornar a veure aquesta càmera a la interfície d'usuari." + } + } +} diff --git a/web/public/locales/ca/config/groups.json b/web/public/locales/ca/config/groups.json new file mode 100644 index 000000000..a8282ec17 --- /dev/null +++ b/web/public/locales/ca/config/groups.json @@ -0,0 +1,73 @@ +{ + "audio": { + "global": { + "detection": "Detecció global", + "sensitivity": "Sensibilitat global" + }, + "cameras": { + "detection": "Detecció", + "sensitivity": "Sensibilitat" + } + }, + "timestamp_style": { + "global": { + "appearance": "Aparença global" + }, + "cameras": { + "appearance": "Aparença" + } + }, + "motion": { + "global": { + "sensitivity": "Sensibilitat global", + "algorithm": "Algorisme global" + }, + "cameras": { + "sensitivity": "Sensibilitat", + "algorithm": "Algorisme" + } + }, + "snapshots": { + "global": { + "display": "Visualització global" + }, + "cameras": { + "display": "Mostra" + } + }, + "detect": { + "global": { + "resolution": "Resolució global", + "tracking": "Seguiment global" + }, + "cameras": { + "resolution": "Resolució", + "tracking": "Seguiment" + } + }, + "objects": { + "global": { + "tracking": "Seguiment global", + "filtering": "Filtratge global" + }, + "cameras": { + "tracking": "Seguiment", + "filtering": "Filtra" + } + }, + "record": { + "global": { + "retention": "Retenció global", + "events": "Esdeveniments globals" + }, + "cameras": { + "retention": "Retenció", + "events": "Esdeveniment" + } + }, + "ffmpeg": { + "cameras": { + "cameraFfmpeg": "Arguments específics del FFmpeg" + } + } +} diff --git a/web/public/locales/ca/config/validation.json b/web/public/locales/ca/config/validation.json new file mode 100644 index 000000000..bcf1093c1 --- /dev/null +++ b/web/public/locales/ca/config/validation.json @@ -0,0 +1,32 @@ +{ + "minimum": "Ha de ser com a mínim {{limit}}", + "maximum": "Ha de ser com a màxim {{limit}}", + "exclusiveMinimum": "Ha de ser més gran que {{limit}}", + "exclusiveMaximum": "Ha de ser inferior a {{limit}}", + "minLength": "Ha de tenir com a mínim {{limit}} caràcters", + "maxLength": "Ha de tenir com a màxim {{limit}} caràcters", + "minItems": "Ha de tenir com a mínim {{limit}} elements", + "maxItems": "Ha de tenir com a màxim {{limit}} elements", + "pattern": "Format no vàlid", + "required": "Aquest camp és obligatori", + "type": "Tipus de valor no vàlid", + "enum": "Ha de ser un dels valors permesos", + "const": "El valor no coincideix amb la constant esperada", + "uniqueItems": "Tots els elements han de ser únics", + "format": "Format no vàlid", + "additionalProperties": "No es permet la propietat desconeguda", + "oneOf": "Ha de coincidir exactament amb un dels esquemes permesos", + "anyOf": "Ha de coincidir almenys amb un dels esquemes permesos", + "proxy": { + "header_map": { + "roleHeaderRequired": "Es requereix la capçalera del rol quan es configuren els mapes de rols." + } + }, + "ffmpeg": { + "inputs": { + "rolesUnique": "Cada rol només es pot assignar a un flux d'entrada.", + "detectRequired": "Almenys un flux d'entrada ha de tenir assignat el rol «detecta».", + "hwaccelDetectOnly": "Només el flux d'entrada amb el rol detect pot definir arguments d'acceleració del maquinari." + } + } +} diff --git a/web/public/locales/ca/objects.json b/web/public/locales/ca/objects.json index 253e27540..06cac2028 100644 --- a/web/public/locales/ca/objects.json +++ b/web/public/locales/ca/objects.json @@ -39,7 +39,7 @@ "surfboard": "Taula de surf", "tennis_racket": "Raqueta de tenis", "bottle": "Ampolla", - "plate": "Placa", + "plate": "Matrícula", "wine_glass": "Got de vi", "cup": "Copa", "fork": "Forquilla", diff --git a/web/public/locales/ca/views/classificationModel.json b/web/public/locales/ca/views/classificationModel.json index 7a9a7571d..8c1a24791 100644 --- a/web/public/locales/ca/views/classificationModel.json +++ b/web/public/locales/ca/views/classificationModel.json @@ -27,7 +27,7 @@ "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": "Ha fallat l'entrenament del model. Comproveu els registres de fragata per a més detalls.", + "trainingFailed": "Ha fallat l'entrenament del model. Comproveu els registres de Frigate per a més detalls.", "deleteModelFailed": "No s'ha pogut suprimir el model: {{errorMessage}}", "updateModelFailed": "No s'ha pogut actualitzar el model: {{errorMessage}}", "renameCategoryFailed": "No s'ha pogut canviar el nom de la classe: {{errorMessage}}", diff --git a/web/public/locales/ca/views/events.json b/web/public/locales/ca/views/events.json index 5f3c5ea95..acb93e6ff 100644 --- a/web/public/locales/ca/views/events.json +++ b/web/public/locales/ca/views/events.json @@ -63,5 +63,25 @@ "normalActivity": "Normal", "needsReview": "Necessita revisió", "securityConcern": "Preocupació per la seguretat", - "select_all": "Tots" + "select_all": "Tots", + "motionSearch": { + "menuItem": "Cerca de moviment", + "openMenu": "Opcions de la càmera" + }, + "motionPreviews": { + "menuItem": "Visualitza les vistes prèvies del moviment", + "title": "Vista prèvia del moviment: {{camera}}", + "mobileSettingsTitle": "Configuració de la vista prèvia del moviment", + "mobileSettingsDesc": "Ajusteu la velocitat de reproducció i l'enfosquiment, i trieu una data per a revisar clips només en moviment.", + "dim": "Atenuar", + "dimAria": "Ajusta la intensitat de l'enfosquiment", + "dimDesc": "Incrementa l'enfosquiment per augmentar la visibilitat de l'àrea de moviment.", + "speed": "Velocitat", + "speedAria": "Selecciona la velocitat de reproducció de la vista prèvia", + "speedDesc": "Trieu la rapidesa amb què es reprodueixen els clips de vista prèvia.", + "back": "Enrere", + "empty": "No hi ha cap vista prèvia disponible", + "noPreview": "Vista prèvia no disponible", + "seekAria": "Cerca el reproductor {{camera}} a {{time}}" + } } diff --git a/web/public/locales/ca/views/explore.json b/web/public/locales/ca/views/explore.json index 2c94e50f5..ea7258976 100644 --- a/web/public/locales/ca/views/explore.json +++ b/web/public/locales/ca/views/explore.json @@ -234,6 +234,10 @@ "downloadCleanSnapshot": { "label": "Descarrega la instantània neta", "aria": "Descarrega la instantània neta" + }, + "debugReplay": { + "label": "Depura la repetició", + "aria": "Mostra aquest objecte rastrejat a la vista de reproducció de depuració" } }, "noTrackedObjects": "No s'han trobat objectes rastrejats", @@ -285,7 +289,7 @@ "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." + "desc": "Mostra sempre les zones amb fotogrames on els objectes hagin entrat a la zona." }, "offset": { "label": "Òfset d'Anotació", diff --git a/web/public/locales/ca/views/exports.json b/web/public/locales/ca/views/exports.json index dec2726ff..1778cffc4 100644 --- a/web/public/locales/ca/views/exports.json +++ b/web/public/locales/ca/views/exports.json @@ -11,13 +11,27 @@ }, "toast": { "error": { - "renameExportFailed": "Error al canviar el nom de l’exportació: {{errorMessage}}" + "renameExportFailed": "Error al canviar el nom de l’exportació: {{errorMessage}}", + "assignCaseFailed": "No s'ha pogut actualitzar l'assignació de cas:{{errorMessage}}" } }, "tooltip": { "shareExport": "Comparteix l'exportació", "downloadVideo": "Baixa el vídeo", "editName": "Edita el nom", - "deleteExport": "Suprimeix l'exportació" + "deleteExport": "Suprimeix l'exportació", + "assignToCase": "Afegeix al cas" + }, + "headings": { + "cases": "Casos", + "uncategorizedExports": "Exportacions sense categoria" + }, + "caseDialog": { + "title": "Afegeix al cas", + "description": "Trieu un cas existent o creeu-ne un de nou.", + "selectLabel": "Cas", + "newCaseOption": "Crea un cas nou", + "nameLabel": "Nom del cas", + "descriptionLabel": "Descripció" } } diff --git a/web/public/locales/ca/views/settings.json b/web/public/locales/ca/views/settings.json index 13f8d2bd6..92f185de7 100644 --- a/web/public/locales/ca/views/settings.json +++ b/web/public/locales/ca/views/settings.json @@ -7,17 +7,20 @@ "authentication": "Configuració d'autenticació - Frigate", "camera": "Paràmetres de càmera - Frigate", "masksAndZones": "Editor de màscares i zones - Frigate", - "general": "Configuració de la interfície d'usuari - Fragata", + "general": "Configuració del perfil - Frigate", "frigatePlus": "Paràmetres de Frigate+ - Frigate", "notifications": "Paràmetres de notificació - Frigate", "cameraManagement": "Gestionar càmeres - Frigate", - "cameraReview": "Configuració Revisió de Càmeres - Frigate" + "cameraReview": "Configuració Revisió de Càmeres - Frigate", + "globalConfig": "Configuració global - Frigate", + "cameraConfig": "Configuració de la càmera - Frigate", + "maintenance": "Manteniment - Frigate" }, "menu": { "ui": "Interfície d'usuari", "cameras": "Paràmetres de la càmera", "masksAndZones": "Màscares / Zones", - "motionTuner": "Ajust de detecció de moviment", + "motionTuner": "Afinador de moviment", "users": "Usuaris", "notifications": "Notificacions", "debug": "Depuració", @@ -26,7 +29,64 @@ "triggers": "Disparadors", "cameraManagement": "Gestió", "cameraReview": "Revisió", - "roles": "Rols" + "roles": "Rols", + "general": "General", + "globalConfig": "Configuració global", + "system": "Sistema", + "integrations": "Integracions", + "profileSettings": "Configuració del perfil", + "globalDetect": "Detecció d'objectes", + "globalRecording": "Enregistrament", + "globalSnapshots": "Instantànies", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Detecció de moviment", + "globalObjects": "Objectes", + "globalReview": "Revisió", + "globalAudioEvents": "Esdeveniments d'àudio", + "globalLivePlayback": "Reproducció en directe", + "globalTimestampStyle": "Estil de la marca horària", + "systemDatabase": "Base de dades", + "systemTls": "TLS", + "systemAuthentication": "Autenticació", + "systemNetworking": "Xarxa", + "systemProxy": "Proxy", + "systemUi": "UI", + "systemLogging": "Registre", + "systemEnvironmentVariables": "Variables d'entorn", + "systemTelemetry": "Telemetria", + "systemBirdseye": "Birdseye", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "Hardware del detector", + "systemDetectionModel": "Model de detecció", + "systemMqtt": "MQTT", + "integrationSemanticSearch": "Cerca semàntica", + "integrationGenerativeAi": "IA generativa", + "integrationFaceRecognition": "Reconeixement de cares", + "integrationLpr": "Reconeixement de la matrícula", + "integrationObjectClassification": "Classificació de l'objecte", + "integrationAudioTranscription": "Transcripció d'àudio", + "cameraDetect": "Detecció d'objectes", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "Enregistrament", + "cameraSnapshots": "Instantànies", + "cameraMotion": "Detecció de moviment", + "cameraObjects": "Objectes", + "cameraConfigReview": "Revisió", + "cameraAudioEvents": "Esdeveniments d'àudio", + "cameraAudioTranscription": "Transcripció d'àudio", + "cameraNotifications": "Notificacions", + "cameraLivePlayback": "Reproducció en directe", + "cameraBirdseye": "Birdseye", + "cameraFaceRecognition": "Reconeixement de cares", + "cameraLpr": "Reconeixement de la matrícula", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "UI de la càmera", + "cameraTimestampStyle": "Estil de la marca horària", + "cameraMqtt": "Càmera MQTT", + "maintenance": "Manteniment", + "mediaSync": "Sincronització multimèdia", + "regionGrid": "Quadrícula de la regió" }, "dialog": { "unsavedChanges": { @@ -39,7 +99,7 @@ "noCamera": "Cap càmera" }, "general": { - "title": "Paràmetres de la interfície d'usuari", + "title": "Configuració del perfil", "liveDashboard": { "title": "Panell en directe", "automaticLiveView": { @@ -205,6 +265,10 @@ "clickDrawPolygon": "Fes click per a dibuixar un polígon a la imatge.", "toast": { "success": "S'ha desat la zona ({{zoneName}})." + }, + "enabled": { + "title": "Habilitat", + "description": "Si aquesta zona està activa i activada al fitxer de configuració. Si està desactivat, no pot ser habilitat per MQTT. Les zones inhabilitades s'ignoren en temps d'execució." } }, "filter": { @@ -237,6 +301,12 @@ "title": "{{polygonName}} s'ha desat.", "noName": "La màscara de moviment ha estat desada." } + }, + "defaultName": "Màscara de moviment {{number}}", + "name": { + "title": "Nom", + "description": "Un nom opcional per a aquesta màscara de moviment.", + "placeholder": "Introduïu un nom..." } }, "objectMasks": { @@ -263,11 +333,16 @@ "noName": "La màscara d'objectes ha estat desada." } }, - "context": "Les màscares de filtratge d’objectes s’utilitzen per descartar falsos positius d’un tipus d’objecte concret segons la seva ubicació." + "context": "Les màscares de filtratge d’objectes s’utilitzen per descartar falsos positius d’un tipus d’objecte concret segons la seva ubicació.", + "name": { + "title": "Nom", + "description": "Un nom opcional per a aquesta màscara d'objecte.", + "placeholder": "Introduïu un nom..." + } }, "restart_required": "Reinici necessari (canvi de màscares o zones)", "motionMaskLabel": "Màscara de moviment {{number}}", - "objectMaskLabel": "Màscara d'objecte {{number}} ({{label}})", + "objectMaskLabel": "Màscara d'objecte {{number}}", "toast": { "success": { "copyCoordinates": "S'han copiat les coordenades per a {{polyName}} al porta-retalls." @@ -275,6 +350,13 @@ "error": { "copyCoordinatesFailed": "No s'han pogut copiar les coordenades al porta-retalls." } + }, + "disabledInConfig": "L'element està desactivat al fitxer de configuració", + "masks": { + "enabled": { + "title": "Habilitat", + "description": "Si aquesta màscara està activada al fitxer de configuració. Si està desactivat, no pot ser habilitat per MQTT. Les màscares desactivades s'ignoren en temps d'execució." + } } }, "notification": { @@ -644,7 +726,14 @@ "error": "No s'han pogut guardar els canvis de configuració: {{errorMessage}}", "success": "Els paràmetres de Frigate+ han estat desats. Reincia Frigate per aplicar els canvis." }, - "restart_required": "Es necessari un reinici (El model de Frigate+ ha cambiat)" + "restart_required": "Es necessari un reinici (El model de Frigate+ ha cambiat)", + "description": "Frigate+ és un servei de subscripció que proporciona accés a funcions i capacitats addicionals per a la vostra instància de Frigate, inclosa la capacitat d'utilitzar models de detecció d'objectes personalitzats entrenats en les vostres pròpies dades. Podeu gestionar la configuració del model Frigate+ aquí.", + "cardTitles": { + "api": "API", + "currentModel": "Model actual", + "otherModels": "Altres models", + "configuration": "Configuració" + } }, "enrichments": { "semanticSearch": { @@ -665,7 +754,7 @@ "success": "La reindexació ha començat amb èxit.", "label": "Reindexar ara", "confirmTitle": "Confirmar la reindexació", - "desc": "La reindexació regenerarà les incrustacions (embeddings) de tots els objectes seguits. Aquest procés s’executa en segon pla i pot arribar a saturar la CPU, així com trigar una bona estona depenent del nombre d’objectes seguits que tinguis.", + "desc": "La reindexació regenerarà les incrustacions per a tots els objectes rastrejats. Aquest procés s'executa en segon pla i pot treure el màxim de la CPU i prendre una quantitat de temps raonable depenent del nombre d'objectes rastrejats que tingueu.", "confirmDesc": "Estàs segur que vols reindexar totes les incrustacions (embeddings) dels objectes seguits? Aquest procés s’executarà en segon pla, però pot arribar a saturar la CPU i trigar bastant temps. Pots seguir-ne el progrés a la pàgina d’Explora.", "alreadyInProgress": "La reindexació ja està en curs.", "error": "Error en iniciar la reindexació: {{errorMessage}}" @@ -1181,7 +1270,12 @@ "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." + "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.", + "enableLabel": "Càmeres habilitades", + "enableDesc": "Inhabilita temporalment una càmera habilitada fins que es reiniciï Frigate. 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.", + "disableLabel": "Càmeres inhabilitades", + "disableDesc": "Habilita una càmera que actualment no és visible a la interfície d'usuari i està desactivada a la configuració. Es requereix un reinici de Frigate després d'activar-la.", + "enableSuccess": "{{cameraName}} activat a la configuració. Reinicia Frigate per aplicar els canvis." }, "cameraConfig": { "add": "Afegeix una càmera", @@ -1236,7 +1330,7 @@ "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." + "success": "S'ha desat la configuració de la classificació de la revisió. Reinicia Frigate 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.", @@ -1249,5 +1343,265 @@ } }, "title": "Paràmetres de Revisió de la Càmera" - } + }, + "saveAllPreview": { + "title": "Canvis a desar", + "triggerLabel": "Revisa els canvis pendents", + "empty": "No hi ha canvis pendents.", + "scope": { + "label": "Àmbit", + "global": "Global", + "camera": "Càmara:{{cameraName}}" + }, + "field": { + "label": "Camp" + }, + "value": { + "label": "Valor nou", + "reset": "Restableix" + } + }, + "detectionModel": { + "plusActive": { + "title": "Gestió del model Frigate+", + "label": "Font del model actual", + "description": "Aquesta instància està executant un model Frigate+. Seleccioneu o canvieu el vostre model a la configuració de Frigate+.", + "goToFrigatePlus": "Ves a la configuració de Frigate+", + "showModelForm": "Configuració manual d'un model" + } + }, + "maintenance": { + "title": "Manteniment", + "sync": { + "title": "Sincronització multimèdia", + "desc": "Frigate netejarà periòdicament els mitjans en un horari regular segons la configuració de la seva retenció. És normal veure alguns arxius orfes mentre corre Frigate. Utilitzeu aquesta característica per eliminar fitxers multimèdia orfes del disc que ja no estan referenciats a la base de dades.", + "started": "S'ha iniciat la sincronització del mitjà.", + "alreadyRunning": "Ja s'està executant una tasca de sincronització", + "error": "No s'ha pogut iniciar la sincronització", + "currentStatus": "Estat", + "jobId": "ID de la tasca", + "startTime": "Hora d'inici", + "endTime": "Hora final", + "statusLabel": "Estat", + "results": "Resultats", + "errorLabel": "Error", + "mediaTypes": "Tipus de suport", + "allMedia": "Tots els suports", + "dryRun": "Executa en sec", + "dryRunEnabled": "No s'eliminarà cap fitxer", + "dryRunDisabled": "S'eliminaran els fitxers", + "force": "Força", + "forceDesc": "Evita el llindar de seguretat i completa la sincronització fins i tot si més del 50% dels fitxers s'eliminarien.", + "running": "Sincronització en execució...", + "start": "Inicia la sincronització", + "inProgress": "La sincronització està en curs. Aquesta pàgina està desactivada.", + "status": { + "queued": "En cua", + "running": "En execució", + "completed": "Completat", + "failed": "Ha fallat", + "notRunning": "No s'està executant" + }, + "resultsFields": { + "filesChecked": "Fitxers comprovats", + "orphansFound": "Orfes trobades", + "orphansDeleted": "Orfes eliminats", + "aborted": "Avortat. La supressió superaria el llindar de seguretat.", + "error": "Error", + "totals": "Totals" + }, + "event_snapshots": "Instantànies de l'objecte rastrejat", + "event_thumbnails": "Miniatures d'objecte rastrejat", + "review_thumbnails": "Revisa les miniatures", + "previews": "Previsualitzacions", + "exports": "Exporta", + "recordings": "Enregistraments" + }, + "regionGrid": { + "title": "Quadrícula de la regió", + "desc": "La quadrícula de regions és una optimització que aprèn on solen aparèixer objectes de diferents mides en el camp de visió de cada càmera. Frigate utilitza aquestes dades per detectar regions de mida eficient. La quadrícula es construeix automàticament amb el temps a partir de dades d'objectes rastrejats.", + "clear": "Neteja la quadrícula de la regió", + "clearConfirmTitle": "Neteja la quadrícula de la regió", + "clearConfirmDesc": "No es recomana netejar la quadrícula de la regió tret que hagi canviat recentment la mida del model del detector o hagi canviat la posició física de la càmera i tingui problemes de seguiment d'objectes. La quadrícula es reconstruirà automàticament amb el temps a mesura que els objectes siguin rastrejats. Es requereix un reinici de la fragata perquè els canvis tinguin efecte.", + "clearSuccess": "La quadrícula de la regió s'ha netejat correctament", + "clearError": "Ha fallat en netejar la graella de la regió", + "restartRequired": "Cal reiniciar per a que els canvis de la quadrícula de la regió tinguin efecte" + } + }, + "configForm": { + "global": { + "title": "Configuració global", + "description": "Aquestes opcions de configuració s'apliquen a totes les càmeres, llevat que se substitueixin en la configuració específica de la càmera." + }, + "camera": { + "title": "Configuració de la càmera", + "description": "Aquests paràmetres només s'apliquen a aquesta càmera i substitueixen els paràmetres globals." + }, + "advancedSettingsCount": "Configuració avançada ({{count}})", + "advancedCount": "Avançat ({{count}})", + "showAdvanced": "Mostra la configuració avançada", + "tabs": { + "sharedDefaults": "Per defecte compartit", + "system": "Sistema", + "integrations": "Integracions" + }, + "additionalProperties": { + "keyLabel": "Clau", + "valueLabel": "Valor", + "keyPlaceholder": "Nou valor", + "remove": "Elimina" + }, + "timezone": { + "defaultOption": "Utilitza la zona horària del navegador" + }, + "roleMap": { + "empty": "No hi ha assignacions de rols", + "roleLabel": "Rol", + "groupsLabel": "Grups", + "addMapping": "Afegeix un mapatge de rol", + "remove": "Elimina" + }, + "ffmpegArgs": { + "preset": "Predefinit", + "manual": "Arguments manuals", + "inherit": "Hereta de la configuració de la càmera", + "selectPreset": "Selecció de valors predefinits", + "manualPlaceholder": "ntroduïu els arguments FFmpeg" + }, + "cameraInputs": { + "itemTitle": "Flux {{index}}" + }, + "restartRequiredField": "Reinicia requerit", + "restartRequiredFooter": "S'ha canviat la configuració - es requereix reiniciar", + "sections": { + "detect": "Detecció", + "record": "Enregistrament", + "snapshots": "Instantànies", + "motion": "Moviment", + "objects": "Objectes", + "review": "Revisió", + "audio": "Àudio", + "notifications": "Notificacions", + "live": "Vista en viu", + "timestamp_style": "Marques temporals", + "mqtt": "MQTT", + "database": "Base de dades", + "telemetry": "Telemetria", + "auth": "Autenticació", + "tls": "TLS", + "proxy": "Proxy", + "go2rtc": "go2rtc", + "ffmpeg": "FFmpeg", + "detectors": "Detectors", + "model": "Model", + "semantic_search": "Cerca semàntica", + "genai": "GenAI", + "face_recognition": "Reconeixement de cares", + "lpr": "Reconeixement de matrícules", + "birdseye": "Birdseye" + }, + "detect": { + "title": "Configuració de detecció" + }, + "detectors": { + "title": "Configuració del detector", + "singleType": "Només es permet un detector {{type}}.", + "keyRequired": "Es requereix el nom del detector.", + "keyDuplicate": "El nom del detector ja existeix.", + "noSchema": "No hi ha esquemes de detector disponibles.", + "none": "No s'ha configurat cap instància de detector.", + "add": "Afegeix un detector" + }, + "record": { + "title": "Configuració de l'enregistrament" + }, + "snapshots": { + "title": "Configuració de la instantània" + }, + "motion": { + "title": "Configuració del moviment" + }, + "objects": { + "title": "Configuració de l'objecte" + }, + "audioLabels": { + "summary": "{{count}} etiquetes d'àudio seleccionades", + "empty": "No hi ha etiquetes d'àudio disponibles" + }, + "objectLabels": { + "summary": "{{count}} tipus d'objectes seleccionats", + "empty": "No hi ha cap etiqueta d'objecte disponible" + }, + "filters": { + "objectFieldLabel": "{{field}} per {{label}}" + }, + "zoneNames": { + "summary": "{{count}} seleccionats", + "empty": "No hi ha zones disponibles" + }, + "inputRoles": { + "summary": "{{count}} rols seleccionats", + "empty": "No hi ha cap rol disponible", + "options": { + "detect": "Detecta", + "record": "Enregistrament", + "audio": "Àudio" + } + }, + "review": { + "title": "Configuració de la revisió" + }, + "audio": { + "title": "Configuració de l'àudio" + }, + "notifications": { + "title": "Configuració de notificacions" + }, + "live": { + "title": "Configuració de la vista en viu" + }, + "timestamp_style": { + "title": "Configuració de la marca horària" + }, + "searchPlaceholder": "Cerca..." + }, + "globalConfig": { + "title": "Configuració global", + "description": "Configura la configuració global que s'aplica a totes les càmeres llevat que se sobreescriti.", + "toast": { + "success": "La configuració global s'ha desat correctament", + "error": "No s'ha pogut desar la configuració global", + "validationError": "Ha fallat la validació" + } + }, + "cameraConfig": { + "title": "Configuració de la càmera", + "description": "Configura la configuració per a les càmeres individuals. La configuració substitueix els valors predeterminats globals.", + "overriddenBadge": "Sobreescrit", + "resetToGlobal": "Restableix a global", + "toast": { + "success": "La configuració de la càmera s'ha desat correctament", + "error": "Ha fallat en desar la configuració de la càmera" + } + }, + "toast": { + "success": "La configuració s'ha desat correctament", + "successRestartRequired": "La configuració s'ha desat correctament. Reinicia Frigate per aplicar els canvis.", + "error": "No s'ha pogut desar la configuració", + "validationError": "Ha fallat la validació: {{message}}", + "resetSuccess": "Restableix als valors predeterminats globals", + "resetError": "No s'ha pogut restablir la configuració", + "saveAllSuccess_one": "S'ha desat la secció {{count}} correctament.", + "saveAllSuccess_many": "Totes les {{count}} seccions s'han desat correctament.", + "saveAllSuccess_other": "Totes les {{count}} seccions s'han desat correctament.", + "saveAllPartial_one": "{{successCount}} de la secció {{totalCount}} desada. {{failCount}} ha fallat.", + "saveAllPartial_many": "{{successCount}} de {{totalCount}} seccions desades. {{failCount}} ha fallat.", + "saveAllPartial_other": "{{successCount}} de {{totalCount}} seccions desades. {{failCount}} ha fallat.", + "saveAllFailure": "Ha fallat en desar totes les seccions.", + "applied": "La configuració s'ha aplicat correctament" + }, + "unsavedChanges": "Teniu canvis sense desar", + "confirmReset": "Confirma el restabliment", + "resetToDefaultDescription": "Això restablirà tots els paràmetres d'aquesta secció als seus valors predeterminats. Aquesta acció no es pot desfer.", + "resetToGlobalDescription": "Això restablirà la configuració d'aquesta secció als valors predeterminats globals. Aquesta acció no es pot desfer." } diff --git a/web/public/locales/ca/views/system.json b/web/public/locales/ca/views/system.json index 312f3c299..b3faad49a 100644 --- a/web/public/locales/ca/views/system.json +++ b/web/public/locales/ca/views/system.json @@ -6,7 +6,8 @@ "logs": { "frigate": "Registres de Frigate - Frigate", "go2rtc": "Registres de Go2RTC - Frigate", - "nginx": "Registres de Nginix - Frigate" + "nginx": "Registres de Nginix - Frigate", + "websocket": "Registres de missatges - Frigate" }, "enrichments": "Estadístiques complementàries - Frigate" }, @@ -33,6 +34,32 @@ "fetchingLogsFailed": "Error al obtenir els registres: {{errorMessage}}", "whileStreamingLogs": "Error en la transmissió dels registres: {{errorMessage}}" } + }, + "websocket": { + "label": "Missatges", + "pause": "Pausa", + "resume": "Reprèn", + "clear": "Neteja", + "filter": { + "all": "Tots els temes", + "topics": "Temes", + "events": "Esdeveniment", + "reviews": "Revisions", + "classification": "Classificació", + "face_recognition": "Reconeixement facial", + "lpr": "LPR", + "camera_activity": "Activitat de la càmera", + "system": "Sistema", + "camera": "Càmara", + "all_cameras": "Totes les càmeres", + "cameras_count_one": "{{count}} càmera", + "cameras_count_other": "{{count}} Càmeres" + }, + "empty": "Encara no s'ha capturat cap missatge", + "count": "{{count}} missatges", + "expanded": { + "payload": "Payload" + } } }, "general": { @@ -80,8 +107,10 @@ "intelGpuWarning": { "title": "Avís d'estadístiques de la GPU d'Intel", "message": "Estadístiques de GPU no disponibles", - "description": "Aquest és un error conegut en les eines d'informació de les estadístiques de GPU d'Intel (intel.gpu.top) on es trencarà i retornarà repetidament un ús de GPU del 0% fins i tot en els casos en què l'acceleració del maquinari i la detecció d'objectes s'executen correctament a la (i)GPU. Això no és un error de fragata. Podeu reiniciar l'amfitrió per a corregir temporalment el problema i confirmar que la GPU funciona correctament. Això no afecta el rendiment." - } + "description": "Aquest és un error conegut en les eines d'informació de les estadístiques de GPU d'Intel (intel.gpu.top) on es trencarà i retornarà repetidament un ús de GPU del 0% fins i tot en els casos en què l'acceleració del maquinari i la detecció d'objectes s'executen correctament a la (i)GPU. Això no és un error de Frigate. Podeu reiniciar l'amfitrió per a corregir temporalment el problema i confirmar que la GPU funciona correctament. Això no afecta el rendiment." + }, + "gpuTemperature": "Temperatura de la GPU", + "npuTemperature": "Temperatura NPU" }, "otherProcesses": { "title": "Altres processos", @@ -165,6 +194,17 @@ "error": { "unableToProbeCamera": "No s'ha pogut sondejar la càmera: {{errorMessage}}" } + }, + "connectionQuality": { + "title": "Qualitat de la connexió", + "excellent": "Excel·lent", + "fair": "Fira", + "poor": "Pobre", + "unusable": "No utilitzable", + "fps": "FPS", + "expectedFps": "FPS esperat", + "reconnectsLastHour": "Reconnecta (última hora)", + "stallsLastHour": "Parades (última hora)" } }, "lastRefreshed": "Darrera actualització: ", @@ -176,7 +216,8 @@ "detectHighCpuUsage": "{{camera}} te un ús elevat de CPU per la detecció ({{detectAvg}}%)", "detectIsVerySlow": "{{detect}} és molt lent ({{speed}} ms)", "detectIsSlow": "{{detect}} és lent ({{speed}} ms)", - "shmTooLow": "/dev/shm directori ({{total}} MB) hauria de ser incrementat com a mínim {{min}} MB." + "shmTooLow": "/dev/shm directori ({{total}} MB) hauria de ser incrementat com a mínim {{min}} MB.", + "debugReplayActive": "La sessió de repetició de depuració està activa" }, "enrichments": { "title": "Enriquiments", diff --git a/web/public/locales/cs/common.json b/web/public/locales/cs/common.json index 480f03e7b..257bb8bd3 100644 --- a/web/public/locales/cs/common.json +++ b/web/public/locales/cs/common.json @@ -133,7 +133,7 @@ }, "unit": { "speed": { - "kph": "Km/h", + "kph": "km/h", "mph": "míle/h" }, "length": { @@ -177,7 +177,7 @@ "fi": "Suomi (Finština)", "sk": "Slovenčina (Slovenština)", "withSystem": { - "label": "Použít systémové nastavení pro jazyk" + "label": "Použít systémové nastavení jazyka" }, "zhCN": "简体中文 (Zjednodušená čínština)", "es": "Español (Španělština)", @@ -205,14 +205,15 @@ "pl": "Polski (Polština)", "th": "ไทย (Thaiština)", "ca": "Català (Katalánština)", - "sl": "Slovinština (Slovinsko)", - "ptBR": "Português brasileiro (Brazilian Portuguese)", - "sr": "Српски (Serbian)", - "lt": "Lietuvių (Lithuanian)", - "bg": "Български (Bulgarian)", - "gl": "Galego (Galician)", - "id": "Bahasa Indonesia (Indonesian)", - "ur": "اردو (Urdu)" + "sl": "Slovinština (Slovinština)", + "ptBR": "Português brasileiro (Brazilská Portugalština)", + "sr": "Српски (Srbština)", + "lt": "Lietuvių (Litevština)", + "bg": "Български (Bulharština)", + "gl": "Galego (Galicijština)", + "id": "Bahasa Indonesia (Indonéština)", + "ur": "اردو (Urdština)", + "hr": "Hrvatski (Chorvatština)" }, "theme": { "highcontrast": "Vysoký kontrast", diff --git a/web/public/locales/ab/components/player.json b/web/public/locales/cs/config/cameras.json similarity index 100% rename from web/public/locales/ab/components/player.json rename to web/public/locales/cs/config/cameras.json diff --git a/web/public/locales/ab/objects.json b/web/public/locales/cs/config/global.json similarity index 100% rename from web/public/locales/ab/objects.json rename to web/public/locales/cs/config/global.json diff --git a/web/public/locales/ab/views/classificationModel.json b/web/public/locales/cs/config/groups.json similarity index 100% rename from web/public/locales/ab/views/classificationModel.json rename to web/public/locales/cs/config/groups.json diff --git a/web/public/locales/ab/views/configEditor.json b/web/public/locales/cs/config/validation.json similarity index 100% rename from web/public/locales/ab/views/configEditor.json rename to web/public/locales/cs/config/validation.json diff --git a/web/public/locales/ab/views/events.json b/web/public/locales/da/config/cameras.json similarity index 100% rename from web/public/locales/ab/views/events.json rename to web/public/locales/da/config/cameras.json diff --git a/web/public/locales/ab/views/explore.json b/web/public/locales/da/config/global.json similarity index 100% rename from web/public/locales/ab/views/explore.json rename to web/public/locales/da/config/global.json diff --git a/web/public/locales/ab/views/exports.json b/web/public/locales/da/config/groups.json similarity index 100% rename from web/public/locales/ab/views/exports.json rename to web/public/locales/da/config/groups.json diff --git a/web/public/locales/ab/views/faceLibrary.json b/web/public/locales/da/config/validation.json similarity index 100% rename from web/public/locales/ab/views/faceLibrary.json rename to web/public/locales/da/config/validation.json diff --git a/web/public/locales/de/common.json b/web/public/locales/de/common.json index 8ecd25ab6..b819abb56 100644 --- a/web/public/locales/de/common.json +++ b/web/public/locales/de/common.json @@ -123,7 +123,18 @@ "on": "AN", "suspended": "Pausierte", "unsuspended": "fortsetzen", - "continue": "Weiter" + "continue": "Weiter", + "add": "Hinzufügen", + "applying": "Wird angewendet…", + "undo": "Rückgängig", + "copiedToClipboard": "In die Zwischenablage kopiert", + "modified": "Verändert", + "overridden": "Überschrieben", + "resetToGlobal": "Auf Global zurückgesetzen", + "resetToDefault": "Auf Werkseinstellungen zurücksetzten", + "saveAll": "Alle speichern", + "savingAll": "Alle werden gespeichert…", + "undoAll": "Alle rückgängig" }, "label": { "back": "Zurück", diff --git a/web/public/locales/de/config/cameras.json b/web/public/locales/de/config/cameras.json new file mode 100644 index 000000000..de2ccab81 --- /dev/null +++ b/web/public/locales/de/config/cameras.json @@ -0,0 +1,32 @@ +{ + "label": "KameraEinstellungen", + "name": { + "label": "Name der Kamera", + "description": "Kameraname ist erforderlich" + }, + "enabled": { + "label": "Aktiviert", + "description": "Aktiviert" + }, + "audio": { + "label": "Audioereignisse", + "description": "Einstellungen für audiobasierte Ereigniserkennung für diese Kamera.", + "enabled": { + "label": "Aktivieren der Audioerkennung", + "description": "Aktivieren / Deaktivieren der audiobasierten Ereigniserkennung für diese Kamera." + }, + "min_volume": { + "label": "Mindestlautstärke" + }, + "listen": { + "description": "Liste der zu erkennenden Audioereignisse (z.B: bellen, Feueralarm, schreien, sprechen, rufen)." + }, + "filters": { + "label": "Audiofilter" + } + }, + "friendly_name": { + "label": "Anzeigename", + "description": "Kamera-Anzeigename in der Frigate-Benutzeroberfläche" + } +} diff --git a/web/public/locales/de/config/global.json b/web/public/locales/de/config/global.json new file mode 100644 index 000000000..e48fde81d --- /dev/null +++ b/web/public/locales/de/config/global.json @@ -0,0 +1,32 @@ +{ + "version": { + "label": "Aktuelle Version der Konfiguration", + "description": "Die Version Numerisch oder als Zeichenketten der aktiven Konfiguration, um Migrationen oder Formatänderungen zu erkennen." + }, + "safe_mode": { + "label": "abgesicherter Modus", + "description": "Wenn aktiviert, starte Frigate im abgesicherten Modus mit reduzierten Features für die Fehlersuche." + }, + "audio": { + "label": "Audioereignisse", + "enabled": { + "label": "Aktivieren der Audioerkennung" + }, + "min_volume": { + "label": "Mindestlautstärke" + }, + "listen": { + "description": "Liste der zu erkennenden Audioereignisse (z.B: bellen, Feueralarm, schreien, sprechen, rufen)." + }, + "filters": { + "label": "Audiofilter" + } + }, + "environment_vars": { + "label": "Umgebungsvariablen", + "description": "Schlüssel-/Wertpaare für Umgebungsvariablen des Frigate-Prozesses in Home Assistant OS. Nicht-HAOS Benutzer müssen anstatt dessen Docker Umgebungsvariablen nutzen." + }, + "logger": { + "label": "Protokollierung" + } +} diff --git a/web/public/locales/de/config/groups.json b/web/public/locales/de/config/groups.json new file mode 100644 index 000000000..feff35bec --- /dev/null +++ b/web/public/locales/de/config/groups.json @@ -0,0 +1,26 @@ +{ + "audio": { + "global": { + "detection": "Globale Erkennung", + "sensitivity": "Globale Empfindlichkeit" + }, + "cameras": { + "detection": "Erkennung", + "sensitivity": "Empfindlichkeit" + } + }, + "timestamp_style": { + "global": { + "appearance": "Globale Darstellung" + }, + "cameras": { + "appearance": "Erscheinungsbild" + } + }, + "motion": { + "global": { + "sensitivity": "Globale Empfindlichkeit", + "algorithm": "Globaler Algorithmus" + } + } +} diff --git a/web/public/locales/de/config/validation.json b/web/public/locales/de/config/validation.json new file mode 100644 index 000000000..2bdc76da3 --- /dev/null +++ b/web/public/locales/de/config/validation.json @@ -0,0 +1,32 @@ +{ + "maximum": "Darf nicht größer sein als {{limit}}", + "minimum": "Darf nicht kleiner sein als {{limit}}", + "exclusiveMinimum": "Muss größer sein als {{limit}}", + "minLength": "Muss mindestens {{limit}} Zeichen lang sein", + "maxLength": "Muss maximal {{limit}} Zeichen lang sein", + "minItems": "Muss mindestens {{limit}} mal vorkommen", + "exclusiveMaximum": "Muss kleiner sein als {{limit}}", + "maxItems": "Muss maximal {{limit}} mal vorkommen", + "pattern": "Ungültiges Format", + "required": "Pflichtfeld", + "type": "Ungültiger Wertetyp", + "enum": "Muss einer der erlaubten Werte sein", + "const": "Wert stimmt nicht mit erwarteter Konstante überein", + "uniqueItems": "Alle Einträge müssen eindeutig sein", + "format": "Ungültiges Format", + "additionalProperties": "Unbekannte Eigenschaft ist nicht erlaubt", + "oneOf": "Muss exakt mit einem der erlaubten Schemas übereinstimmen", + "anyOf": "Muss mindestens mit einem der erlaubten Schemas übereinstimmen", + "proxy": { + "header_map": { + "roleHeaderRequired": "Rollen-Header muss angegeben werden, wenn Rollen-Zuordnungen konfiguriert sind." + } + }, + "ffmpeg": { + "inputs": { + "rolesUnique": "Jede Rolle kann nur einem input stream zugeteilt werden.", + "detectRequired": "Es muss mindestens ein input stream die Rolle 'erkennen' tragen.", + "hwaccelDetectOnly": "Nur der input-stream mit der Rolle 'erkennen' kann Hardwarebeschleunigungs Argumente definieren." + } + } +} diff --git a/web/public/locales/de/views/exports.json b/web/public/locales/de/views/exports.json index c3bae1239..c0580deb5 100644 --- a/web/public/locales/de/views/exports.json +++ b/web/public/locales/de/views/exports.json @@ -19,5 +19,9 @@ "downloadVideo": "Video herunterladen", "editName": "Name ändern", "deleteExport": "Export löschen" + }, + "headings": { + "cases": "Fälle", + "uncategorizedExports": "Unkategorisierte Exporte" } } diff --git a/web/public/locales/de/views/settings.json b/web/public/locales/de/views/settings.json index 35d1598fe..631350f01 100644 --- a/web/public/locales/de/views/settings.json +++ b/web/public/locales/de/views/settings.json @@ -5,7 +5,7 @@ "camera": "Kameraeinstellungen - Frigate", "masksAndZones": "Masken- und Zoneneditor – Frigate", "object": "Debug - Frigate", - "general": "UI-Einstellungen - Frigate", + "general": "Profileinstellungen - Frigate", "frigatePlus": "Frigate+ Einstellungen – Frigate", "classification": "Klassifizierungseinstellungen – Frigate", "motionTuner": "Bewegungserkennungs-Optimierer – Frigate", @@ -28,7 +28,8 @@ "triggers": "Auslöser", "roles": "Rollen", "cameraManagement": "Verwaltung", - "cameraReview": "Überprüfung" + "cameraReview": "Überprüfung", + "system": "System" }, "dialog": { "unsavedChanges": { @@ -41,7 +42,7 @@ "noCamera": "Keine Kamera" }, "general": { - "title": "Einstellungen der Benutzeroberfläche", + "title": "Profileinstellungen", "liveDashboard": { "title": "Live Übersicht", "playAlertVideos": { @@ -408,7 +409,7 @@ } }, "motionMaskLabel": "Bewegungsmaske {{number}}", - "objectMaskLabel": "Objektmaske {{number}} ({{label}})" + "objectMaskLabel": "Objektmaske {{number}}" }, "debug": { "objectShapeFilterDrawing": { diff --git a/web/public/locales/ab/views/live.json b/web/public/locales/el/config/cameras.json similarity index 100% rename from web/public/locales/ab/views/live.json rename to web/public/locales/el/config/cameras.json diff --git a/web/public/locales/ab/views/recording.json b/web/public/locales/el/config/global.json similarity index 100% rename from web/public/locales/ab/views/recording.json rename to web/public/locales/el/config/global.json diff --git a/web/public/locales/ab/views/search.json b/web/public/locales/el/config/groups.json similarity index 100% rename from web/public/locales/ab/views/search.json rename to web/public/locales/el/config/groups.json diff --git a/web/public/locales/ab/views/settings.json b/web/public/locales/el/config/validation.json similarity index 100% rename from web/public/locales/ab/views/settings.json rename to web/public/locales/el/config/validation.json diff --git a/web/public/locales/es/config/cameras.json b/web/public/locales/es/config/cameras.json new file mode 100644 index 000000000..311a47324 --- /dev/null +++ b/web/public/locales/es/config/cameras.json @@ -0,0 +1,29 @@ +{ + "name": { + "label": "Nombre de cámara", + "description": "El nombre de la cámara es necesario" + }, + "enabled": { + "label": "Habilitado", + "description": "Habilitado" + }, + "audio": { + "label": "Eventos de audio", + "description": "Configuración para la detección de eventos basada en audio para esta cámara.", + "enabled": { + "label": "Habilitar la detección de audio", + "description": "Activar o deshabilitar la detección de eventos de audio para esta cámara." + }, + "max_not_heard": { + "label": "Finalizar el tiempo de espera", + "description": "Cantidad de segundos sin el tipo de audio configurado antes de que finalice el evento de audio." + }, + "min_volume": { + "label": "Volumen mínimo" + } + }, + "friendly_name": { + "label": "Nombre descriptivo", + "description": "Nombre descriptivo de la cámara utilizado en la interfaz de usuario de Frigate" + } +} diff --git a/web/public/locales/es/config/global.json b/web/public/locales/es/config/global.json new file mode 100644 index 000000000..c0940c717 --- /dev/null +++ b/web/public/locales/es/config/global.json @@ -0,0 +1,43 @@ +{ + "version": { + "label": "Versión de configuración actual", + "description": "Versión numérica o de cadena de la configuración activa para ayudar a detectar migraciones o cambios de formato." + }, + "safe_mode": { + "label": "Modo seguro", + "description": "Cuando está habilitado, inicia Frigate en modo seguro con funciones reducidas para la solución de problemas." + }, + "environment_vars": { + "label": "Variables de entorno", + "description": "Pares clave/valor de variables de entorno para establecer para el proceso de Frigate en el sistema operativo Home Assistant. Los usuarios que no son de HAOS deben usar la configuración de variables de entorno de Docker." + }, + "logger": { + "label": "Registro", + "description": "Controla la verbosidad de registro predeterminada y la sobre-escritura de nivel de registro por componente.", + "default": { + "label": "Nivel de registro", + "description": "Nivel de detalle global predeterminada del registro (depuración, información, advertencia, error)." + }, + "logs": { + "label": "Nivel de registro por proceso", + "description": "Sobre-escribir el nivel de registro por componente para aumentar o disminuir el nivel de detalle de módulos específicos." + } + }, + "audio": { + "label": "Eventos de audio", + "enabled": { + "label": "Habilitar la detección de audio" + }, + "max_not_heard": { + "label": "Finalizar el tiempo de espera", + "description": "Cantidad de segundos sin el tipo de audio configurado antes de que finalice el evento de audio." + }, + "min_volume": { + "label": "Volumen mínimo" + } + }, + "auth": { + "label": "Autenticación", + "description": "Configuración relacionada con la autenticación y la sesión, incluidas las opciones de cookies y límite de peticiones." + } +} diff --git a/web/public/locales/es/config/groups.json b/web/public/locales/es/config/groups.json new file mode 100644 index 000000000..4e09f2a51 --- /dev/null +++ b/web/public/locales/es/config/groups.json @@ -0,0 +1,44 @@ +{ + "audio": { + "global": { + "detection": "Detección Global", + "sensitivity": "Sensibilidad Global" + }, + "cameras": { + "detection": "Detección", + "sensitivity": "Sensibilidad" + } + }, + "timestamp_style": { + "global": { + "appearance": "Apariencia Global" + }, + "cameras": { + "appearance": "Apariencia" + } + }, + "motion": { + "global": { + "sensitivity": "Sensibilidad Global", + "algorithm": "Algoritmo Global" + }, + "cameras": { + "sensitivity": "Sensibilidad", + "algorithm": "Algoritmo" + } + }, + "snapshots": { + "global": { + "display": "Pantalla Global" + }, + "cameras": { + "display": "Pantalla" + } + }, + "detect": { + "global": { + "resolution": "Resolución Global", + "tracking": "Seguimiento Global" + } + } +} diff --git a/web/public/locales/es/config/validation.json b/web/public/locales/es/config/validation.json new file mode 100644 index 000000000..3b595ea86 --- /dev/null +++ b/web/public/locales/es/config/validation.json @@ -0,0 +1,16 @@ +{ + "minimum": "Debe ser al menos {{limit}}", + "maximum": "Debe ser como mucho {{limit}}", + "exclusiveMinimum": "Debe ser mayor que {{limit}}", + "exclusiveMaximum": "Debe ser menor que {{limit}}", + "minLength": "Debe ser al menos {{limit}} carácter(es)", + "maxLength": "Debe ser como máximo {{limit}} carácter(es)", + "minItems": "Debe tener al menos {{limit}} objetos", + "maxItems": "Debe tener como máximo {{limit}} objetos", + "pattern": "Formato no válido", + "required": "Este campo es requerido", + "type": "Tipo de valor no válido", + "enum": "Debe ser uno de los valores permitidos", + "const": "El valor no coincide con la constante esperada", + "uniqueItems": "Todos los objetos deben ser únicos" +} diff --git a/web/public/locales/es/views/exports.json b/web/public/locales/es/views/exports.json index 9de2fa330..43b5e9d6a 100644 --- a/web/public/locales/es/views/exports.json +++ b/web/public/locales/es/views/exports.json @@ -18,6 +18,11 @@ "shareExport": "Compartir exportación", "downloadVideo": "Descargar video", "editName": "Editar nombre", - "deleteExport": "Eliminar exportación" + "deleteExport": "Eliminar exportación", + "assignToCase": "Añadir al caso" + }, + "headings": { + "cases": "Casos", + "uncategorizedExports": "Exportaciones sin categorizar" } } diff --git a/web/public/locales/es/views/settings.json b/web/public/locales/es/views/settings.json index a315aa7d6..64901c8c2 100644 --- a/web/public/locales/es/views/settings.json +++ b/web/public/locales/es/views/settings.json @@ -12,7 +12,10 @@ "notifications": "Configuración de Notificaciones - Frigate", "enrichments": "Configuración de Análisis Avanzado - Frigate", "cameraManagement": "Administrar Cámaras - Frigate", - "cameraReview": "Revisar Configuración de Cámaras - Frigate" + "cameraReview": "Revisar Configuración de Cámaras - Frigate", + "globalConfig": "Configuración Global - Frigate", + "cameraConfig": "Configuración de la cámara - Frigate", + "maintenance": "Mantenimiento - Frigate" }, "menu": { "cameras": "Configuración de Cámara", diff --git a/web/public/locales/es/views/system.json b/web/public/locales/es/views/system.json index 300717a73..c2c3e39e8 100644 --- a/web/public/locales/es/views/system.json +++ b/web/public/locales/es/views/system.json @@ -5,7 +5,8 @@ "logs": { "frigate": "Registros de Frigate - Frigate", "go2rtc": "Registros de Go2RTC - Frigate", - "nginx": "Registros de Nginx - Frigate" + "nginx": "Registros de Nginx - Frigate", + "websocket": "Mensajes Logs - Frigata" }, "cameras": "Estadísticas de cámaras - Frigate", "enrichments": "Estadísticas de Enriquecimientos - Frigate" @@ -31,6 +32,12 @@ }, "download": { "label": "Descargar registros" + }, + "websocket": { + "label": "Mensajes", + "pause": "Pausar", + "resume": "Continuar", + "clear": "Limpiar" } }, "title": "Sistema", diff --git a/web/public/locales/et/common.json b/web/public/locales/et/common.json index 8f68c3cb8..b1a715095 100644 --- a/web/public/locales/et/common.json +++ b/web/public/locales/et/common.json @@ -178,7 +178,9 @@ "export": "Ekspordi", "uiPlayground": "Leht kasutajaliidese katsetamiseks", "faceLibrary": "Näoteek", - "classification": "Klassifikatsioon" + "classification": "Klassifikatsioon", + "chat": "Vestlus", + "actions": "Tegevused" }, "unit": { "speed": { @@ -234,7 +236,18 @@ "export": "Ekspordi", "deleteNow": "Kustuta kohe", "next": "Järgmine", - "continue": "Jätka" + "continue": "Jätka", + "add": "Lisa", + "undo": "Võta tegevus tagasi", + "copiedToClipboard": "Kopeeritud lõikelauale", + "modified": "Muudetud", + "overridden": "Sürjutatud", + "resetToDefault": "Lähtesta vaikimisi väärtusteks", + "saveAll": "Salvesta kõik", + "resetToGlobal": "Lähtesta üldiseks väärtusteks", + "savingAll": "Salvestan kõiki…", + "undoAll": "Pööra kõik tegevused tagasi", + "applying": "Võtan kasutusele…" }, "label": { "back": "Mine tagasi", diff --git a/web/public/locales/et/components/dialog.json b/web/public/locales/et/components/dialog.json index 646be6124..e185d01c9 100644 --- a/web/public/locales/et/components/dialog.json +++ b/web/public/locales/et/components/dialog.json @@ -78,6 +78,10 @@ "fromTimeline": { "saveExport": "Salvesta eksporditud sisu", "previewExport": "Eksporditud sisu eelvaade" + }, + "case": { + "label": "Juhtum", + "placeholder": "Vali juhtum" } }, "streaming": { diff --git a/web/public/locales/ab/views/system.json b/web/public/locales/et/config/cameras.json similarity index 100% rename from web/public/locales/ab/views/system.json rename to web/public/locales/et/config/cameras.json diff --git a/web/public/locales/ka/audio.json b/web/public/locales/et/config/global.json similarity index 100% rename from web/public/locales/ka/audio.json rename to web/public/locales/et/config/global.json diff --git a/web/public/locales/ka/common.json b/web/public/locales/et/config/groups.json similarity index 100% rename from web/public/locales/ka/common.json rename to web/public/locales/et/config/groups.json diff --git a/web/public/locales/ka/components/auth.json b/web/public/locales/et/config/validation.json similarity index 100% rename from web/public/locales/ka/components/auth.json rename to web/public/locales/et/config/validation.json diff --git a/web/public/locales/et/views/exports.json b/web/public/locales/et/views/exports.json index 56814537e..667e5240f 100644 --- a/web/public/locales/et/views/exports.json +++ b/web/public/locales/et/views/exports.json @@ -13,11 +13,25 @@ "shareExport": "Jaga eksporditud sisu", "downloadVideo": "Laadi video alla", "editName": "Muuda nime", - "deleteExport": "Kustuta eksporditud sisu" + "deleteExport": "Kustuta eksporditud sisu", + "assignToCase": "Lisa juhtumile" }, "toast": { "error": { - "renameExportFailed": "Eksporditud sisu nime muutmine ei õnnestunud: {{errorMessage}}" + "renameExportFailed": "Eksporditud sisu nime muutmine ei õnnestunud: {{errorMessage}}", + "assignCaseFailed": "Juhtumiga seose uuendamine ei õnnestunud: {{errorMessage}}" } + }, + "headings": { + "cases": "Juhtumid", + "uncategorizedExports": "Kategooriata eksportimised" + }, + "caseDialog": { + "title": "Lisa juhtumile", + "selectLabel": "Juhtum", + "newCaseOption": "Lisa uus juhtum", + "nameLabel": "Juhtumi nimi", + "descriptionLabel": "Kirjeldus", + "description": "Vali olemasolev juhtum või lisa uus." } } diff --git a/web/public/locales/et/views/faceLibrary.json b/web/public/locales/et/views/faceLibrary.json index 42c795a06..7e47792d4 100644 --- a/web/public/locales/et/views/faceLibrary.json +++ b/web/public/locales/et/views/faceLibrary.json @@ -6,7 +6,8 @@ "description": { "placeholder": "Sisesta nimi selle kogumiku jaoks", "invalidName": "Vigane nimi. Nimed võivad sisaldada ainult tähti, numbreid, tühikuid, ülakomasid, alakriipse ja sidekriipse.", - "addFace": "Laadides üles oma esimese pildi saad lisada uue kogumiku Näoteeki." + "addFace": "Laadides üles oma esimese pildi saad lisada uue kogumiku Näoteeki.", + "nameCannotContainHash": "Nimi ei saa sisaldada # märki." }, "documentTitle": "Näoteek - Frigate", "createFaceLibrary": { diff --git a/web/public/locales/et/views/live.json b/web/public/locales/et/views/live.json index 11b5abaaa..7a40fce90 100644 --- a/web/public/locales/et/views/live.json +++ b/web/public/locales/et/views/live.json @@ -11,7 +11,8 @@ "audioDetection": "Heli tuvastus", "transcription": "Heli üleskirjutus", "snapshots": "Hetkvõtted", - "autotracking": "Automaatne jälgimine" + "autotracking": "Automaatne jälgimine", + "recording": "Salvestus" }, "documentTitle": "Otseülekanne - Frigate", "documentTitle.withCamera": "{{camera}} - Otseülekanne - Frigate", @@ -100,6 +101,10 @@ "audio": { "available": "Selles voogedastuses on heliriba saadaval", "unavailable": "Selles voogedastuses pole heliriba saadaval" + }, + "title": "Voogedastus", + "lowBandwidth": { + "resetStream": "Lähtesta voogedastus" } }, "notifications": "Teavitused", @@ -127,7 +132,8 @@ "playInBackground": { "label": "Esita taustal", "desc": "Kasuta seda valikut, kui tahad voogedastuse jätkumist ka siis, kui pildivaade on peidetud." - } + }, + "debugView": "Veaotsinguvaade" }, "noCameras": { "buttonText": "Lisa kaamera", @@ -136,7 +142,17 @@ "description": "Sul pole õigust ühegi selle grupi kaamera vaatamiseks." }, "title": "Ühtegi kaamerat pole seadistatud", - "description": "Alustamiseks ühenda mõni kaamera Frigate'iga." + "description": "Alustamiseks ühenda mõni kaamera Frigate'iga.", + "default": { + "title": "Ühtegi kaamerat pole seadistatud", + "description": "Alustamiseks ühenda mõni kaamera Frigate'iga.", + "buttonText": "Lisa kaamera" + }, + "group": { + "title": "Grupid pole ühtegi kaamerat", + "description": "Selles kaameragrupis pole ühtegi määratud ega kasutusel kaamerat.", + "buttonText": "Halda gruppe" + } }, "effectiveRetainMode": { "modes": { diff --git a/web/public/locales/et/views/settings.json b/web/public/locales/et/views/settings.json index ce100a719..6b262ab0a 100644 --- a/web/public/locales/et/views/settings.json +++ b/web/public/locales/et/views/settings.json @@ -172,7 +172,7 @@ "default": "Seadistused - Frigate", "authentication": "Autentimise seadistused - Frigate", "cameraReview": "Kaamerate kordusvaatuste seadistused - Frigate", - "general": "Kasutajaliidese seadistused - Frigate", + "general": "Profiili seadistused - Frigate", "frigatePlus": "Frigate+ seadistused - Frigate", "notifications": "Teavituste seadistused - Frigate", "cameraManagement": "Kaamerate haldus - Frigate", @@ -180,7 +180,7 @@ "object": "Silumine ja veaotsing - Frigate" }, "general": { - "title": "Kasutajaliidese seadistused", + "title": "Profiili seadistused", "cameraGroupStreaming": { "clearAll": "Kustuta kõik voogedastuse seadistused" }, diff --git a/web/public/locales/fa/common.json b/web/public/locales/fa/common.json index 3b9e02617..ba8ea99bc 100644 --- a/web/public/locales/fa/common.json +++ b/web/public/locales/fa/common.json @@ -75,7 +75,8 @@ }, "inProgress": "در حال انجام", "invalidStartTime": "زمان شروع نامعتبر است", - "invalidEndTime": "زمان پایان نامعتبر است" + "invalidEndTime": "زمان پایان نامعتبر است", + "never": "هرگز" }, "unit": { "length": { diff --git a/web/public/locales/ka/components/camera.json b/web/public/locales/fa/config/cameras.json similarity index 100% rename from web/public/locales/ka/components/camera.json rename to web/public/locales/fa/config/cameras.json diff --git a/web/public/locales/ka/components/dialog.json b/web/public/locales/fa/config/global.json similarity index 100% rename from web/public/locales/ka/components/dialog.json rename to web/public/locales/fa/config/global.json diff --git a/web/public/locales/ka/components/filter.json b/web/public/locales/fa/config/groups.json similarity index 100% rename from web/public/locales/ka/components/filter.json rename to web/public/locales/fa/config/groups.json diff --git a/web/public/locales/ka/components/icons.json b/web/public/locales/fa/config/validation.json similarity index 100% rename from web/public/locales/ka/components/icons.json rename to web/public/locales/fa/config/validation.json diff --git a/web/public/locales/ka/components/input.json b/web/public/locales/fi/config/cameras.json similarity index 100% rename from web/public/locales/ka/components/input.json rename to web/public/locales/fi/config/cameras.json diff --git a/web/public/locales/ka/components/player.json b/web/public/locales/fi/config/global.json similarity index 100% rename from web/public/locales/ka/components/player.json rename to web/public/locales/fi/config/global.json diff --git a/web/public/locales/ka/objects.json b/web/public/locales/fi/config/groups.json similarity index 100% rename from web/public/locales/ka/objects.json rename to web/public/locales/fi/config/groups.json diff --git a/web/public/locales/ka/views/classificationModel.json b/web/public/locales/fi/config/validation.json similarity index 100% rename from web/public/locales/ka/views/classificationModel.json rename to web/public/locales/fi/config/validation.json diff --git a/web/public/locales/fr/common.json b/web/public/locales/fr/common.json index 39820367c..ab8f4177b 100644 --- a/web/public/locales/fr/common.json +++ b/web/public/locales/fr/common.json @@ -129,7 +129,17 @@ "deleteNow": "Supprimer maintenant", "download": "Télécharger", "done": "Terminé", - "continue": "Continuer" + "continue": "Continuer", + "add": "Ajouter", + "undo": "Annuler", + "copiedToClipboard": "Copié dans le presse-papiers", + "modified": "Modifié", + "overridden": "Surpassé", + "resetToGlobal": "Réinitialiser aux réglages globaux", + "resetToDefault": "Réinitialiser aux réglages par défaut", + "saveAll": "Tout enregistrer", + "savingAll": "Enregistrement de tout en cours…", + "undoAll": "Tout annuler" }, "menu": { "configuration": "Configuration", diff --git a/web/public/locales/fr/components/dialog.json b/web/public/locales/fr/components/dialog.json index 5b3cf0242..a2accb930 100644 --- a/web/public/locales/fr/components/dialog.json +++ b/web/public/locales/fr/components/dialog.json @@ -77,6 +77,10 @@ "fromTimeline": { "saveExport": "Enregistrer l'exportation", "previewExport": "Aperçu de l'exportation" + }, + "case": { + "label": "Dossier", + "placeholder": "Sélectionner un dossier" } }, "search": { diff --git a/web/public/locales/fr/config/cameras.json b/web/public/locales/fr/config/cameras.json new file mode 100644 index 000000000..ca00146db --- /dev/null +++ b/web/public/locales/fr/config/cameras.json @@ -0,0 +1,320 @@ +{ + "name": { + "label": "Nom de la caméra", + "description": "Le nom de la caméra est requis" + }, + "friendly_name": { + "label": "Nom convivial", + "description": "Nom convivial de la caméra utilisé dans l'IU Frigate" + }, + "enabled": { + "label": "Activé", + "description": "Activé" + }, + "audio": { + "label": "Événements audio", + "description": "Réglages pour la détection des événements audio de cette caméra.", + "enabled": { + "label": "Activer la détection audio", + "description": "Activer ou désactiver la détection des événements audio pour cette caméra." + }, + "max_not_heard": { + "description": "Nombre de secondes sans le type audio configuré avant que l'événement audio se termine.", + "label": "Délai d'inactivité" + }, + "min_volume": { + "label": "Volume minimal", + "description": "Seuil minimal d'activation du volume en moyenne quadratique requis pour exécuter la détection audio. Des valeurs plus faibles augmentent la sensibilité (p. ex. 200 est élevé, 500 est moyen et 1000 est faible)." + }, + "listen": { + "label": "Types d'écoute", + "description": "Liste des types d'événements audio à détecter (p. ex. bark, fire_alarm, scream, speech, yell)." + }, + "filters": { + "label": "Filtres audio", + "description": "Réglages des filtres par type audio, tels que seuils de confiance utilisé afin de réduire les faux positifs." + }, + "enabled_in_config": { + "label": "État audio original", + "description": "Indique si la détection audio était initialement activée dans le fichier de configuration statique." + }, + "num_threads": { + "label": "Fils d'exécution pour la détection", + "description": "Nombre de fils d'éxécution à utiliser pour le traitement de la détection audio." + } + }, + "audio_transcription": { + "label": "Transcription audio", + "description": "Réglages pour la transcription audio et vocale utilisée pour les événements et les sous-titres en temps réel.", + "enabled": { + "label": "Activer la transcription", + "description": "Activer ou désactiver le déclenchement manuel de la transcription des événements audio." + }, + "enabled_in_config": { + "label": "État original de la transcription" + }, + "live_enabled": { + "label": "Transcription en temps réel", + "description": "Activer la diffusion de la transcription en temps réel pour le flux sonore dès sa réception." + } + }, + "birdseye": { + "label": "À vol d'oiseau", + "description": "Réglages pour la vue composée à vol d'oiseau qui combine plusieurs flux de caméras dans une simple disposition.", + "enabled": { + "label": "Activer la vue à vol d'oiseau", + "description": "Activer ou désactiver la fonctionalité de vue à vol d'oiseau." + }, + "mode": { + "label": "Mode de suivi", + "description": "Mode pour l'inclusion des caméras dans la vue à vol d'oiseau: 'objects', 'motion', ou 'continuous'." + }, + "order": { + "label": "Emplacement", + "description": "Emplacement numérique contrôlant l'ordre de la caméra dans la disposition en vue à vol d'oiseau." + } + }, + "detect": { + "label": "Détection d'objets", + "description": "Réglages pour la détection ou le rôle de détection utilisé pour exécuter la détection des objets et initialiser les traceurs.", + "enabled": { + "label": "Détection activée", + "description": "Activer ou désactiver la détection des objets pour cette caméra. La détection doit être activée pour que le suivi des objets fonctionne." + }, + "height": { + "label": "Hauteur de détection", + "description": "Hauteur (en pixels) des images utilisées pour le flux de détection ; garder vide pour utiliser la résolution native du flux." + }, + "width": { + "label": "Largeur de détection", + "description": "Largeur (en pixels) des images utilisées pour le flux de détection ; garder vide pour utiliser la résolution native du flux." + }, + "fps": { + "label": "IPS de la détection", + "description": "Nombre cible d'images par seconde à utiliser pour la détection ; des valeurs plus faibles réduisent l'utilisation de l'UCT (la valeur recommandée est 5, ne la définir à une valeur supérieure - au maximum 10, uniquement lors du suivi d'objets se déplaçant extrêmement rapidement)." + }, + "min_initialized": { + "label": "Minimum d'images d'initialisation", + "description": "Nombre de détections consécutives requises avant de créer un objet suivi. Augmenter pour réduire les initialisations erronées. La valeur par défaut est fps divisé par 2." + }, + "max_disappeared": { + "label": "Nombre maximal d'images disparues", + "description": "Nombre d'images sans détection avant qu'un objet suivi est considéré comme étant disparu." + }, + "stationary": { + "label": "Configuration des objets stationnaires", + "description": "Réglages pour la détection et la gestion des objets qui restent stationnaires pendant un certain temps.", + "interval": { + "label": "Intervalle stationnaire", + "description": "À quelle fréquence (en images) effectuer une détection pour la confirmation d'un objet stationnaire." + }, + "threshold": { + "label": "Seuil d'activation stationnaire", + "description": "Nombre d'images sans changement d'emplacement requis pour marquer un objet en tant que stationnaire." + }, + "max_frames": { + "label": "Nombre max. d'images", + "description": "Limite le temps pour lequel les objets stationnaires sont suivis avant d'être supprimés.", + "default": { + "label": "Nombre max. d'images par défaut", + "description": "Nombre maximal d'images pour suivre un objet stationnaire avant d'arrêter." + }, + "objects": { + "label": "Nombre max. d'images pour l'objet", + "description": "Remplacement des réglages par défaut par objet pour le nombre maximal d'images requis pour suivre les objets stationnaires." + } + }, + "classifier": { + "label": "Activer le classificateur visuel", + "description": "Utiliser un classificateur visuel pour détecter les objets véritablement stationnaires même lorsque les boîtes englobantes tremblent." + } + }, + "annotation_offset": { + "label": "Décalage de l'annotation", + "description": "Millisecondes pour le décalage des annotations afin de mieux aligner les boîtes englobantes de la ligne du temps avec les enregistrements ; peut être positif ou négatif." + } + }, + "face_recognition": { + "label": "Reconnaissance faciale", + "description": "Réglages pour la détection et reconnaissance faciale pour cette caméra.", + "enabled": { + "label": "Activer la reconnaissance faciale", + "description": "Activer ou désactiver la reconnaissance faciale." + }, + "min_area": { + "label": "Surface minimale du visage", + "description": "Surface minimale (en pixels) d'une boîte faciale détectée requise pour tenter la reconnaissance." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Réglages de FFmpeg incluant l'emplacement du fichier binaire, les arguments, les options pour hwaccel et les arguments de sortie par rôle.", + "path": { + "label": "Emplacement de FFmpeg", + "description": "Emplacement du fichier binaire de FFmpeg à utiliser ou un alias de version (peut être «5.0» ou «7.0»)." + }, + "global_args": { + "label": "Arguments globaux de FFmpeg", + "description": "Arguments globaux transmis aux processus de FFmpeg." + }, + "hwaccel_args": { + "label": "Arguments pour l'accélération matérielle", + "description": "Arguments de l'accélération matérielle pour FFmpeg. Les préréglages spécifiques au fournisseur sont recommandés." + }, + "input_args": { + "label": "Arguments d'entrée", + "description": "Arguments d'entrée appliqués aux flux d'entrée FFmpeg." + }, + "output_args": { + "label": "Arguments de sortie", + "description": "Arguments de sortie par défaut utilisés pour les différents rôles FFmpeg, tels que detect et record.", + "detect": { + "label": "Détecter les arguments de sortie", + "description": "Arguments de sortie par défaut pour les flux du rôle detect." + }, + "record": { + "label": "Arguments de sortie pour l'enregistrement", + "description": "Arguments de sortie par défaut pour les flux du rôle record." + } + }, + "retry_interval": { + "label": "Temps de réessai FFmpeg", + "description": "Nombre de secondes à attendre avant de tenter de reconnecter un flux de caméra après un échec. La valeur par défaut est 10." + }, + "apple_compatibility": { + "label": "Compatibilité avec Apple", + "description": "Activer l'étiquetage HEVC pour une meilleure compatibilité avec les lecteurs Apple lors de l'enregistrement H.265." + }, + "gpu": { + "label": "Index de l'UTG", + "description": "Index par défaut de l'UTG utilisé pour l'accélération matérielle si disponible." + }, + "inputs": { + "label": "Entrées des caméras", + "description": "Liste des définitions des flux entrants (emplacements et rôles) pour cette caméra.", + "path": { + "label": "Emplacement d'entrée", + "description": "URL ou emplacement du flux d'entrée de la caméra." + }, + "roles": { + "label": "Rôles d'entrée", + "description": "Rôles pour ce flux entrant." + }, + "global_args": { + "label": "Arguments globaux de FFmpeg", + "description": "Arguments globaux de FFmpeg pour ce flux entrant." + }, + "hwaccel_args": { + "label": "Arguments pour l'accélération matérielle", + "description": "Arguments de l'accélération matérielle pour ce flux entrant." + }, + "input_args": { + "label": "Arguments d'entrée", + "description": "Arguments d'entrée spéficiques à ce flux." + } + } + }, + "live": { + "label": "Lecture en direct", + "description": "Réglages utilisés par l'IU Web afin de contrôler la sélection, la résolution et la qualité des flux en direct.", + "streams": { + "label": "Nom des flux en direct", + "description": "Mappage des noms des flux configurés vers les noms de restream et go2rtc utilisés pour la lecture en direct." + }, + "height": { + "label": "Hauteur de la diffusion en direct", + "description": "Hauteur (en pixels) à laquelle afficher le flux en direct jsmpeg dans l'IU Web ; doit être inférieure ou égale à la hauteur détectée du flux." + }, + "quality": { + "label": "Qualité de la diffusion en direct", + "description": "Qualité de l'encodage pour le flux jsmpeg (1 étant la plus élevée, 31 la plus faible)." + } + }, + "lpr": { + "label": "Reconnaissance des plaques d'immatriculation", + "description": "Réglages de la reconnaissance des plaques d'immatriculation incluant les seuils de détection, le formatage et les plaques connues.", + "enabled": { + "label": "Activer la RPI", + "description": "Activer ou désactiver la RPI sur cette caméra." + }, + "expire_time": { + "label": "Expiration en secondes", + "description": "Temps en secondes après lequel une plaque non vue expire du système de suivi (seulement pour les caméras dédiées à la RPI)." + }, + "min_area": { + "label": "Surface minimale de la plaque", + "description": "Surface minimale de la plaque (en pixels) requise pour tenter la reconnaissance." + }, + "enhancement": { + "label": "Niveau de l'enrichissement", + "description": "Niveau de l'enrichissement (de 0 à 10) à appliquer aux recadrages des plaques avant la ROC. Des valeurs plus élevées n'améliorent pas nécessairement les résultats, les niveaux supérieurs à 5 peuvent ne fonctionner qu'avec des plaques la nuit et doivent être utilisés avec prudence." + } + }, + "motion": { + "label": "Détection du mouvement", + "description": "Réglages par défaut de la détection de mouvement pour cette caméra.", + "enabled": { + "label": "Activer la détection de mouvement", + "description": "Activer ou désactiver la détection de mouvement pour cette caméra." + }, + "threshold": { + "label": "Seuil de détection du mouvement", + "description": "Seuil de différence de pixels utilisé par le détecteur de mouvement ; les valeurs plus élevées réduisent la sensibilité (plage de 1 à 255)." + }, + "lightning_threshold": { + "label": "Seuil d'éclairage", + "description": "Seuil permettant de détecter et d'ignorer les brusques pointes d'éclairage (plus la valeur est faible, plus la sensibilité est élevée, valeurs comprises entre 0.3 et 1.0)." + }, + "improve_contrast": { + "label": "Améliorer le contraste", + "description": "Appliquer les amélioration du contraste aux images avant l'analyse de mouvement afin d'améliorer la détection." + }, + "contour_area": { + "label": "Zone de contour", + "description": "Aire de la zone de contour minimale en pixels requise pour qu'un contour de mouvement soit comptabilisé." + }, + "delta_alpha": { + "label": "Delta pour alpha", + "description": "Facteur de mélange alpha utilisé dans la différenciation d'images pour le calcul du mouvement." + }, + "frame_alpha": { + "label": "Alpha pour l'image", + "description": "Valeur alpha utilisée lors du mélange d'images pour le prétraitement du mouvement." + }, + "frame_height": { + "label": "Hauteur de l'image", + "description": "Hauteur en pixels à laquelle mettre à l'échelle les images lors du traitement du mouvement." + }, + "mask": { + "label": "Moordonnées du masque", + "description": "Coordonnées ordonnés x et y définissant le polygone du masque de mouvement utilisé pour inclure ou exclure des aires." + }, + "mqtt_off_delay": { + "label": "Délai de désactivation de MQTT", + "description": "Nombre de secondes à attendre après le dernier mouvement avant de publier un état « off » MQTT." + }, + "enabled_in_config": { + "label": "État original du mouvement", + "description": "Indique si la détection de mouvement a été activée dans la configuration originale statique." + }, + "raw_mask": { + "label": "Masque brut" + } + }, + "objects": { + "label": "Objets", + "description": "Réglages par défaut pour le suivi des objets incluant les étiquettes à suivre et les filtres par objets.", + "track": { + "label": "Objets à suivre", + "description": "Liste des étiquettes d'objets à suivre pour cette caméra." + }, + "filters": { + "label": "Filtres d'objets", + "description": "Filtres appliqués aux objets détectés afin de réduire les faux positifs (aire, rapport, facteur de confiance).", + "min_area": { + "label": "Aire minimal de l'objet" + } + } + }, + "label": "ConfigurationCamera" +} diff --git a/web/public/locales/fr/config/global.json b/web/public/locales/fr/config/global.json new file mode 100644 index 000000000..875dafb1d --- /dev/null +++ b/web/public/locales/fr/config/global.json @@ -0,0 +1,5 @@ +{ + "version": { + "label": "Version actuelle de la configuration" + } +} diff --git a/web/public/locales/fr/config/groups.json b/web/public/locales/fr/config/groups.json new file mode 100644 index 000000000..73ecde422 --- /dev/null +++ b/web/public/locales/fr/config/groups.json @@ -0,0 +1,7 @@ +{ + "audio": { + "global": { + "detection": "Détection globale" + } + } +} diff --git a/web/public/locales/fr/config/validation.json b/web/public/locales/fr/config/validation.json new file mode 100644 index 000000000..494e786e0 --- /dev/null +++ b/web/public/locales/fr/config/validation.json @@ -0,0 +1,3 @@ +{ + "minimum": "Doit être au minimum {{limit}}" +} diff --git a/web/public/locales/fr/views/exports.json b/web/public/locales/fr/views/exports.json index 3b698d003..fae8186f3 100644 --- a/web/public/locales/fr/views/exports.json +++ b/web/public/locales/fr/views/exports.json @@ -11,13 +11,27 @@ }, "toast": { "error": { - "renameExportFailed": "Échec du renommage de l'exportation : {{errorMessage}}" + "renameExportFailed": "Échec du renommage de l'exportation : {{errorMessage}}", + "assignCaseFailed": "Échec de la mise à jour de l'affectation au dossier : {{errorMessage}}" } }, "tooltip": { "shareExport": "Partager l'exportation", "downloadVideo": "Télécharger la vidéo", "editName": "Modifier le nom", - "deleteExport": "Supprimer l'exportation" + "deleteExport": "Supprimer l'exportation", + "assignToCase": "Ajouter à un dossier" + }, + "headings": { + "cases": "Dossiers", + "uncategorizedExports": "Exportations non classées" + }, + "caseDialog": { + "title": "Ajouter à un dossier", + "description": "Choisissez un dossier existant ou créez en un nouveau.", + "selectLabel": "Dossier", + "newCaseOption": "Créer un nouveau dossier", + "nameLabel": "Nom du dossier", + "descriptionLabel": "Description" } } diff --git a/web/public/locales/fr/views/settings.json b/web/public/locales/fr/views/settings.json index 6fe3c03a7..635e46fcc 100644 --- a/web/public/locales/fr/views/settings.json +++ b/web/public/locales/fr/views/settings.json @@ -5,20 +5,23 @@ "camera": "Paramètres des caméras - Frigate", "classification": "Paramètres de classification - Frigate", "motionTuner": "Réglage de la détection de mouvement - Frigate", - "general": "Paramètres de l'interface utilisateur - Frigate", + "general": "Paramètres du profil - Frigate", "masksAndZones": "Éditeur de masques et de zones - Frigate", "object": "Débogage - Frigate", "frigatePlus": "Paramètres Frigate+ - Frigate", "notifications": "Paramètres de notification - Frigate", "enrichments": "Paramètres d'enrichissements - Frigate", "cameraManagement": "Gestion des caméras - Frigate", - "cameraReview": "Paramètres des activités caméra - Frigate" + "cameraReview": "Paramètres des activités caméra - Frigate", + "globalConfig": "Configuration globale - Frigate", + "cameraConfig": "Configuration de la caméra - Frigate", + "maintenance": "Maintenance - Frigate" }, "menu": { "ui": "Interface utilisateur", "classification": "Classification", "masksAndZones": "Masques / Zones", - "motionTuner": "Réglage de la détection de mouvement", + "motionTuner": "Ajusteur de la détection de mouvement", "debug": "Débogage", "cameras": "Paramètres des caméras", "users": "Utilisateurs", @@ -28,7 +31,62 @@ "triggers": "Déclencheurs", "roles": "Rôles", "cameraManagement": "Gestion", - "cameraReview": "Activités" + "cameraReview": "Activités", + "general": "Général", + "globalConfig": "Configuration globale", + "system": "Système", + "integrations": "Intégrations", + "profileSettings": "Paramètres du profil", + "globalDetect": "Détection d'objets", + "globalRecording": "Enregistrement", + "globalSnapshots": "Instantanés", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Détection de mouvement", + "globalObjects": "Objets", + "globalReview": "Activités", + "globalAudioEvents": "Événements audio", + "globalLivePlayback": "Lecture en direct", + "globalTimestampStyle": "Format d'horodatage", + "systemDatabase": "Base de données", + "systemTls": "TLS", + "systemAuthentication": "Authentification", + "systemNetworking": "Réseau", + "systemProxy": "Proxy", + "systemUi": "Interface", + "systemLogging": "Journalisation", + "systemEnvironmentVariables": "Variables d'environnement", + "systemTelemetry": "Télémétrie", + "systemBirdseye": "Birdseye", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "Matériel de détection", + "systemDetectionModel": "Modèle de détection", + "systemMqtt": "MQTT", + "integrationSemanticSearch": "Recherche sémantique", + "integrationGenerativeAi": "IA générative", + "integrationFaceRecognition": "Reconnaissance faciale", + "integrationLpr": "Lecture de plaques d'immatriculation", + "integrationObjectClassification": "Classification d'objets", + "integrationAudioTranscription": "Transcription audio", + "cameraDetect": "Détection d'objets", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "Enregistrement", + "cameraSnapshots": "Instantanés", + "cameraMotion": "Détection de mouvement", + "cameraObjects": "Objets", + "cameraConfigReview": "Activités", + "cameraAudioEvents": "Évènements audio", + "cameraAudioTranscription": "Transcription audio", + "cameraNotifications": "Notifications", + "cameraLivePlayback": "Lecture en direct", + "cameraBirdseye": "Birdseye", + "cameraFaceRecognition": "Reconnaissance faciale", + "cameraLpr": "Lecture de plaques d'immatriculation", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "Interface de la caméra", + "cameraTimestampStyle": "Style d'horodatage", + "cameraMqtt": "MQTT de la caméra", + "maintenance": "Maintenance" }, "dialog": { "unsavedChanges": { @@ -41,7 +99,7 @@ "noCamera": "Aucune caméra" }, "general": { - "title": "Paramètres de l'interface utilisateur", + "title": "Paramètres du profil", "liveDashboard": { "title": "Tableau de bord en direct", "automaticLiveView": { @@ -723,7 +781,7 @@ "readTheDocumentation": "Lire la documentation", "reindexNow": { "label": "Réindexer maintenant", - "desc": "La réindexation va régénérer les embeddings pour tous les objets suivis. Ce processus s'exécute en arrière-plan et peut saturer votre processeur et prendre un temps considérable en fonction du nombre d'objets suivis.", + "desc": "La réindexation va régénérer les intégrations pour tous les objets suivis. Ce processus s'exécute en arrière-plan et peut saturer votre processeur et prendre un temps considérable en fonction du nombre d'objets suivis.", "confirmTitle": "Confirmer la réindexation", "confirmButton": "Réindexer", "success": "La réindexation a démarré avec succès.", @@ -1315,5 +1373,22 @@ "success": "La configuration de la classification des activités a été enregistrée. Redémarrez Frigate pour appliquer les modifications." } } + }, + "saveAllPreview": { + "title": "Modifications à enregistrer", + "triggerLabel": "Examiner les modifications en attente", + "empty": "Aucune modification en attente", + "scope": { + "label": "Portée", + "global": "Global", + "camera": "Caméra : {{cameraName}}" + }, + "field": { + "label": "Champ" + }, + "value": { + "label": "Nouvelle valeur", + "reset": "Réinitialiser" + } } } diff --git a/web/public/locales/fr/views/system.json b/web/public/locales/fr/views/system.json index 38babfe8d..55400f74c 100644 --- a/web/public/locales/fr/views/system.json +++ b/web/public/locales/fr/views/system.json @@ -81,7 +81,9 @@ "title": "Avertissement relatif aux statistiques du GPU Intel", "message": "Statistiques du GPU non disponibles", "description": "Il s'agit d'un bug connu de l'outil de statistiques GPU d'Intel (intel_gpu_top) : il peut afficher à tort une utilisation de 0 %, même lorsque l'accélération matérielle et la détection d'objets fonctionnent correctement sur l'iGPU. Ce problème ne vient pas de Frigate. Vous pouvez redémarrer l'hôte pour rétablir temporairement l'affichage et confirmer le fonctionnement du GPU. Les performances ne sont pas affectées." - } + }, + "gpuTemperature": "Température du GPU", + "npuTemperature": "Température du NPU" }, "otherProcesses": { "title": "Autres processus", @@ -165,6 +167,17 @@ "error": { "unableToProbeCamera": "Impossible d'interroger la caméra : {{errorMessage}}" } + }, + "connectionQuality": { + "title": "Qualité de la connexion", + "excellent": "Excellente", + "fair": "Acceptable", + "poor": "Médiocre", + "unusable": "Inutilisable", + "fps": "IPS", + "expectedFps": "IPS attendues", + "reconnectsLastHour": "Reconnexions (dernière heure)", + "stallsLastHour": "Baisses de qualité (dernière heure)" } }, "lastRefreshed": "Dernier rafraichissement : ", diff --git a/web/public/locales/ka/views/configEditor.json b/web/public/locales/gl/config/cameras.json similarity index 100% rename from web/public/locales/ka/views/configEditor.json rename to web/public/locales/gl/config/cameras.json diff --git a/web/public/locales/ka/views/events.json b/web/public/locales/gl/config/global.json similarity index 100% rename from web/public/locales/ka/views/events.json rename to web/public/locales/gl/config/global.json diff --git a/web/public/locales/ka/views/explore.json b/web/public/locales/gl/config/groups.json similarity index 100% rename from web/public/locales/ka/views/explore.json rename to web/public/locales/gl/config/groups.json diff --git a/web/public/locales/ka/views/exports.json b/web/public/locales/gl/config/validation.json similarity index 100% rename from web/public/locales/ka/views/exports.json rename to web/public/locales/gl/config/validation.json diff --git a/web/public/locales/ka/views/faceLibrary.json b/web/public/locales/he/config/cameras.json similarity index 100% rename from web/public/locales/ka/views/faceLibrary.json rename to web/public/locales/he/config/cameras.json diff --git a/web/public/locales/ka/views/live.json b/web/public/locales/he/config/global.json similarity index 100% rename from web/public/locales/ka/views/live.json rename to web/public/locales/he/config/global.json diff --git a/web/public/locales/ka/views/recording.json b/web/public/locales/he/config/groups.json similarity index 100% rename from web/public/locales/ka/views/recording.json rename to web/public/locales/he/config/groups.json diff --git a/web/public/locales/ka/views/search.json b/web/public/locales/he/config/validation.json similarity index 100% rename from web/public/locales/ka/views/search.json rename to web/public/locales/he/config/validation.json diff --git a/web/public/locales/ka/views/settings.json b/web/public/locales/hi/config/cameras.json similarity index 100% rename from web/public/locales/ka/views/settings.json rename to web/public/locales/hi/config/cameras.json diff --git a/web/public/locales/ka/views/system.json b/web/public/locales/hi/config/global.json similarity index 100% rename from web/public/locales/ka/views/system.json rename to web/public/locales/hi/config/global.json diff --git a/web/public/locales/peo/audio.json b/web/public/locales/hi/config/groups.json similarity index 100% rename from web/public/locales/peo/audio.json rename to web/public/locales/hi/config/groups.json diff --git a/web/public/locales/peo/common.json b/web/public/locales/hi/config/validation.json similarity index 100% rename from web/public/locales/peo/common.json rename to web/public/locales/hi/config/validation.json diff --git a/web/public/locales/peo/components/auth.json b/web/public/locales/hr/config/cameras.json similarity index 100% rename from web/public/locales/peo/components/auth.json rename to web/public/locales/hr/config/cameras.json diff --git a/web/public/locales/peo/components/camera.json b/web/public/locales/hr/config/global.json similarity index 100% rename from web/public/locales/peo/components/camera.json rename to web/public/locales/hr/config/global.json diff --git a/web/public/locales/peo/components/dialog.json b/web/public/locales/hr/config/groups.json similarity index 100% rename from web/public/locales/peo/components/dialog.json rename to web/public/locales/hr/config/groups.json diff --git a/web/public/locales/peo/components/filter.json b/web/public/locales/hr/config/validation.json similarity index 100% rename from web/public/locales/peo/components/filter.json rename to web/public/locales/hr/config/validation.json diff --git a/web/public/locales/peo/components/icons.json b/web/public/locales/hu/config/cameras.json similarity index 100% rename from web/public/locales/peo/components/icons.json rename to web/public/locales/hu/config/cameras.json diff --git a/web/public/locales/peo/components/input.json b/web/public/locales/hu/config/global.json similarity index 100% rename from web/public/locales/peo/components/input.json rename to web/public/locales/hu/config/global.json diff --git a/web/public/locales/peo/components/player.json b/web/public/locales/hu/config/groups.json similarity index 100% rename from web/public/locales/peo/components/player.json rename to web/public/locales/hu/config/groups.json diff --git a/web/public/locales/peo/objects.json b/web/public/locales/hu/config/validation.json similarity index 100% rename from web/public/locales/peo/objects.json rename to web/public/locales/hu/config/validation.json diff --git a/web/public/locales/peo/views/classificationModel.json b/web/public/locales/id/config/cameras.json similarity index 100% rename from web/public/locales/peo/views/classificationModel.json rename to web/public/locales/id/config/cameras.json diff --git a/web/public/locales/peo/views/configEditor.json b/web/public/locales/id/config/global.json similarity index 100% rename from web/public/locales/peo/views/configEditor.json rename to web/public/locales/id/config/global.json diff --git a/web/public/locales/peo/views/events.json b/web/public/locales/id/config/groups.json similarity index 100% rename from web/public/locales/peo/views/events.json rename to web/public/locales/id/config/groups.json diff --git a/web/public/locales/peo/views/explore.json b/web/public/locales/id/config/validation.json similarity index 100% rename from web/public/locales/peo/views/explore.json rename to web/public/locales/id/config/validation.json diff --git a/web/public/locales/peo/views/exports.json b/web/public/locales/is/config/cameras.json similarity index 100% rename from web/public/locales/peo/views/exports.json rename to web/public/locales/is/config/cameras.json diff --git a/web/public/locales/peo/views/faceLibrary.json b/web/public/locales/is/config/global.json similarity index 100% rename from web/public/locales/peo/views/faceLibrary.json rename to web/public/locales/is/config/global.json diff --git a/web/public/locales/peo/views/live.json b/web/public/locales/is/config/groups.json similarity index 100% rename from web/public/locales/peo/views/live.json rename to web/public/locales/is/config/groups.json diff --git a/web/public/locales/peo/views/recording.json b/web/public/locales/is/config/validation.json similarity index 100% rename from web/public/locales/peo/views/recording.json rename to web/public/locales/is/config/validation.json diff --git a/web/public/locales/it/common.json b/web/public/locales/it/common.json index feb570ae9..7a7edb48c 100644 --- a/web/public/locales/it/common.json +++ b/web/public/locales/it/common.json @@ -129,7 +129,17 @@ "pictureInPicture": "Immagine nell'immagine", "twoWayTalk": "Comunicazione bidirezionale", "cameraAudio": "Audio della telecamera", - "continue": "Continua" + "continue": "Continua", + "add": "Aggiungi", + "undo": "Annulla", + "copiedToClipboard": "Copiato negli appunti", + "modified": "Modificato", + "overridden": "Sovrascritto", + "resetToGlobal": "Ripristina impostazioni globali", + "resetToDefault": "Ripristina impostazioni predefinite", + "saveAll": "Salva tutto", + "savingAll": "Salvataggio di tutto…", + "undoAll": "Annulla tutto" }, "unit": { "speed": { @@ -260,7 +270,8 @@ }, "withSystem": "Sistema", "faceLibrary": "Raccolta volti", - "classification": "Classificazione" + "classification": "Classificazione", + "chat": "Chat" }, "pagination": { "next": { diff --git a/web/public/locales/it/components/dialog.json b/web/public/locales/it/components/dialog.json index dd1753ee4..d0b09d38c 100644 --- a/web/public/locales/it/components/dialog.json +++ b/web/public/locales/it/components/dialog.json @@ -77,6 +77,10 @@ "select": "Seleziona", "name": { "placeholder": "Assegna un nome all'esportazione" + }, + "case": { + "label": "Caso", + "placeholder": "Seleziona un caso" } }, "streaming": { diff --git a/web/public/locales/peo/views/search.json b/web/public/locales/it/config/cameras.json similarity index 100% rename from web/public/locales/peo/views/search.json rename to web/public/locales/it/config/cameras.json diff --git a/web/public/locales/peo/views/settings.json b/web/public/locales/it/config/global.json similarity index 100% rename from web/public/locales/peo/views/settings.json rename to web/public/locales/it/config/global.json diff --git a/web/public/locales/peo/views/system.json b/web/public/locales/it/config/groups.json similarity index 100% rename from web/public/locales/peo/views/system.json rename to web/public/locales/it/config/groups.json diff --git a/web/public/locales/ta/audio.json b/web/public/locales/it/config/validation.json similarity index 100% rename from web/public/locales/ta/audio.json rename to web/public/locales/it/config/validation.json diff --git a/web/public/locales/it/views/exports.json b/web/public/locales/it/views/exports.json index 186647521..232ac8254 100644 --- a/web/public/locales/it/views/exports.json +++ b/web/public/locales/it/views/exports.json @@ -11,13 +11,27 @@ }, "toast": { "error": { - "renameExportFailed": "Impossibile rinominare l'esportazione: {{errorMessage}}" + "renameExportFailed": "Impossibile rinominare l'esportazione: {{errorMessage}}", + "assignCaseFailed": "Impossibile aggiornare l'assegnazione del caso: {{errorMessage}}" } }, "tooltip": { "shareExport": "Condividi esportazione", "downloadVideo": "Scarica video", "editName": "Modifica nome", - "deleteExport": "Elimina esportazione" + "deleteExport": "Elimina esportazione", + "assignToCase": "Aggiungi al caso" + }, + "headings": { + "cases": "Casi", + "uncategorizedExports": "Esportazioni non categorizzate" + }, + "caseDialog": { + "title": "Aggiungi al caso", + "description": "Scegli un caso esistente o creane uno nuovo.", + "selectLabel": "Caso", + "newCaseOption": "Crea un nuovo caso", + "nameLabel": "Nome del caso", + "descriptionLabel": "Descrizione" } } diff --git a/web/public/locales/it/views/system.json b/web/public/locales/it/views/system.json index d5e92543b..6883fc397 100644 --- a/web/public/locales/it/views/system.json +++ b/web/public/locales/it/views/system.json @@ -70,7 +70,9 @@ "title": "Avviso statistiche GPU Intel", "message": "Statistiche GPU non disponibili", "description": "Si tratta di un problema noto negli strumenti di reportistica delle statistiche GPU di Intel (intel_gpu_top), che si interrompe e restituisce ripetutamente un utilizzo della GPU pari a 0% anche nei casi in cui l'accelerazione hardware e il rilevamento degli oggetti funzionano correttamente sulla (i)GPU. Non si tratta di un problema di Frigate. È possibile riavviare il sistema per risolvere temporaneamente il problema e verificare che la GPU funzioni correttamente. Ciò non influisce sulle prestazioni." - } + }, + "gpuTemperature": "Temperatura GPU", + "npuTemperature": "Temperatura NPU" }, "detector": { "inferenceSpeed": "Velocità inferenza rilevatore", @@ -165,6 +167,17 @@ "error": { "unableToProbeCamera": "Impossibile analizzare la telecamera: {{errorMessage}}" } + }, + "connectionQuality": { + "title": "Qualità connessione", + "excellent": "Ottima", + "fair": "Discreta", + "poor": "Scarsa", + "unusable": "Inutilizzabile", + "fps": "FPS", + "expectedFps": "FPS previsti", + "reconnectsLastHour": "Riconnessioni (ultima ora)", + "stallsLastHour": "Blocchi (ultima ora)" } }, "stats": { diff --git a/web/public/locales/ta/common.json b/web/public/locales/ja/config/cameras.json similarity index 100% rename from web/public/locales/ta/common.json rename to web/public/locales/ja/config/cameras.json diff --git a/web/public/locales/ta/components/auth.json b/web/public/locales/ja/config/global.json similarity index 100% rename from web/public/locales/ta/components/auth.json rename to web/public/locales/ja/config/global.json diff --git a/web/public/locales/ta/components/camera.json b/web/public/locales/ja/config/groups.json similarity index 100% rename from web/public/locales/ta/components/camera.json rename to web/public/locales/ja/config/groups.json diff --git a/web/public/locales/ta/components/dialog.json b/web/public/locales/ja/config/validation.json similarity index 100% rename from web/public/locales/ta/components/dialog.json rename to web/public/locales/ja/config/validation.json diff --git a/web/public/locales/ko/common.json b/web/public/locales/ko/common.json index e5c8ef9a9..b7632271e 100644 --- a/web/public/locales/ko/common.json +++ b/web/public/locales/ko/common.json @@ -11,7 +11,7 @@ "5minutes": "5분", "untilRestart": "재시작 될 때까지", "ago": "{{timeAgo}} 전", - "justNow": "지금 막", + "justNow": "방금", "today": "오늘", "yesterday": "어제", "last7": "최근 7일", @@ -67,7 +67,11 @@ "formattedTimestampFilename": { "12hour": "MM-dd-yy-h-mm-ss-a", "24hour": "MM-dd-yy-HH-mm-ss" - } + }, + "never": "한 번도 없음", + "inProgress": "진행 중", + "invalidStartTime": "잘못된 시작 시간", + "invalidEndTime": "잘못된 종료 시간" }, "notFound": { "title": "404", @@ -96,48 +100,49 @@ "configurationEditor": "설정 편집기", "languages": "언어", "language": { - "en": "English (English)", - "es": "Español (Spanish)", - "zhCN": "简体中文 (Simplified Chinese)", - "hi": "हिन्दी (Hindi)", - "fr": "Français (French)", - "ar": "العربية (Arabic)", - "pt": "Português (Portuguese)", - "ptBR": "Português brasileiro (Brazilian Portuguese)", - "ru": "Русский (Russian)", - "de": "Deutsch (German)", - "ja": "日本語 (Japanese)", - "tr": "Türkçe (Turkish)", - "it": "Italiano (Italian)", - "nl": "Nederlands (Dutch)", - "sv": "Svenska (Swedish)", - "cs": "Čeština (Czech)", - "nb": "Norsk Bokmål (Norwegian Bokmål)", - "ko": "한국어 (Korean)", - "vi": "Tiếng Việt (Vietnamese)", - "fa": "فارسی (Persian)", - "pl": "Polski (Polish)", - "uk": "Українська (Ukrainian)", - "he": "עברית (Hebrew)", - "el": "Ελληνικά (Greek)", - "ro": "Română (Romanian)", - "hu": "Magyar (Hungarian)", + "en": "English (영어)", + "es": "Español (스페인어)", + "zhCN": "简体中文 (중국어 간체)", + "hi": "हिन्दी (힌두어)", + "fr": "Français (프랑스어)", + "ar": "العربية (아랍어)", + "pt": "Português (포르투갈어)", + "ptBR": "Português brasileiro (브라질 포르투갈어)", + "ru": "Русский (러시아어)", + "de": "Deutsch (독일어)", + "ja": "日本語 (일본어)", + "tr": "Türkçe (튀르키예어)", + "it": "Italiano (이탈리아어)", + "nl": "Nederlands (네덜란드어)", + "sv": "Svenska (스웨덴어)", + "cs": "Čeština (체코어)", + "nb": "Norsk Bokmål (노르웨이어 보크몰)", + "ko": "한국어", + "vi": "Tiếng Việt (베트남어)", + "fa": "فارسی (페르시아어)", + "pl": "Polski (폴란드어)", + "uk": "Українська (우크라이나어)", + "he": "עברית (히브리어)", + "el": "Ελληνικά (그리스어)", + "ro": "Română (루마니아어)", + "hu": "Magyar (헝가리어)", "fi": "Suomi (Finnish)", - "da": "Dansk (Danish)", - "sk": "Slovenčina (Slovak)", - "yue": "粵語 (Cantonese)", - "th": "ไทย (Thai)", - "ca": "Català (Catalan)", - "sr": "Српски (Serbian)", - "sl": "Slovenščina (Slovenian)", - "lt": "Lietuvių (Lithuanian)", - "bg": "Български (Bulgarian)", - "gl": "Galego (Galician)", - "id": "Bahasa Indonesia (Indonesian)", - "ur": "اردو (Urdu)", + "da": "Dansk (덴마크어)", + "sk": "Slovenčina (슬로바키아어)", + "yue": "粵語 (광둥어)", + "th": "ไทย (태국어)", + "ca": "Català (카탈로니아어)", + "sr": "Српски (세르비아어)", + "sl": "Slovenščina (슬로베니아어)", + "lt": "Lietuvių (리투아니아어)", + "bg": "Български (불가리아어)", + "gl": "Galego (갈리시아어)", + "id": "Bahasa Indonesia (인도네시아어)", + "ur": "اردو (우르두어)", "withSystem": { "label": "시스템 설정 언어 사용" - } + }, + "hr": "Hrvatski (크로아티아어)" }, "appearance": "화면 설정", "darkMode": { @@ -175,8 +180,10 @@ "review": "다시보기", "explore": "탐색", "export": "내보내기", - "uiPlayground": "UI 실험장", - "faceLibrary": "얼굴 라이브러리" + "uiPlayground": "UI 실험실", + "faceLibrary": "얼굴 라이브러리", + "classification": "분류", + "chat": "채팅" }, "unit": { "speed": { @@ -191,13 +198,19 @@ "kbps": "kB/s", "mbps": "MB/s", "gbps": "GB/s", - "kbph": "kB/hour", - "mbph": "MB/hour", - "gbph": "GB/hour" + "kbph": "kB/시간", + "mbph": "MB/시간", + "gbph": "GB/시간" } }, "label": { - "back": "뒤로" + "back": "뒤로", + "hide": "{{item}} 숨기기", + "show": "{{item}} 표시", + "ID": "아이디", + "none": "없음", + "all": "전체", + "other": "그 외" }, "button": { "apply": "적용", @@ -216,7 +229,7 @@ "history": "히스토리", "fullscreen": "전체화면", "exitFullscreen": "전체화면 나가기", - "pictureInPicture": "Picture in Picture", + "pictureInPicture": "화면 속 화면", "twoWayTalk": "양방향 말하기", "cameraAudio": "카메라 오디오", "on": "켜기", @@ -234,7 +247,18 @@ "unselect": "선택 해제", "export": "내보내기", "deleteNow": "바로 삭제하기", - "next": "다음" + "next": "다음", + "add": "추가", + "undo": "실행 취소", + "copiedToClipboard": "클립보드에 복사", + "continue": "계속하기", + "modified": "수정됨", + "overridden": "재정의됨", + "resetToGlobal": "글로벌 설정으로 재설정", + "resetToDefault": "기본값으로 재설정", + "saveAll": "모두 저장", + "savingAll": "모두 저장 중. …", + "undoAll": "모두 실행 취소" }, "toast": { "copyUrlToClipboard": "클립보드에 URL이 복사되었습니다.", @@ -267,5 +291,14 @@ "selectItem": "{{item}} 선택", "information": { "pixels": "{{area}}px" + }, + "list": { + "two": "{{0}}과 {{1}}", + "many": "{{items}} 그리고 {{last}}", + "separatorWithSpace": ", " + }, + "field": { + "optional": "선택", + "internalID": "Frigate 내부 ID는 구성 및 데이터베이스에서 사용됩니다" } } diff --git a/web/public/locales/ko/components/dialog.json b/web/public/locales/ko/components/dialog.json index f701526ef..af6c16556 100644 --- a/web/public/locales/ko/components/dialog.json +++ b/web/public/locales/ko/components/dialog.json @@ -6,7 +6,8 @@ "title": "Frigate이 재시작 중입니다", "content": "이 페이지는 {{countdown}} 뒤에 새로 고침 됩니다.", "button": "강제 재시작" - } + }, + "description": "이 작업은 Frigate가 재시작 되는 동안 잠시 작동이 중지됩니다." }, "explore": { "plus": { @@ -15,7 +16,13 @@ }, "review": { "question": { - "label": "Frigate +에 이 레이블 등록하기" + "label": "Frigate +에 이 레이블 등록하기", + "ask_a": "이 것은 {{label}} 인가요?", + "ask_an": "이 것은 {{label}} 인가요?", + "ask_full": "이 것은 {{untranslatedLabel}} ({{translatedLabel}}) 인가요?" + }, + "state": { + "submitted": "제출됨" } } }, @@ -26,7 +33,7 @@ "export": { "time": { "fromTimeline": "타임라인에서 선택하기", - "lastHour_other": "지난 시간", + "lastHour_other": "지난 {{count}} 시간­", "custom": "커스텀", "start": { "title": "시작 시간", @@ -44,12 +51,13 @@ "export": "내보내기", "selectOrExport": "선택 또는 내보내기", "toast": { - "success": "내보내기가 성공적으로 시작되었습니다. /exports 폴더에서 파일을 보실 수 있습니다.", + "success": "내보내기가 성공적으로 시작되었습니다. 내보내기 페이지에서 파일을 보실 수 있습니다.", "error": { "failed": "내보내기 시작 실패:{{error}}", "endTimeMustAfterStartTime": "종료 시간은 시작 시간보다 뒤에 있어야합니다", "noVaildTimeSelected": "유효한 시간 범위가 선택되지 않았습니다" - } + }, + "view": "보기" }, "fromTimeline": { "saveExport": "내보내기 저장", @@ -86,7 +94,19 @@ }, "recording": { "confirmDelete": { - "title": "삭제 확인" + "title": "삭제 확인", + "desc": { + "selected": "이 리뷰 항목과 관련된 모든 녹화된 영상을 삭제하시겠습니까?

다음에 이 팝업을 건너뛰려면 Shift 키를 누르고 삭제하세요." + }, + "toast": { + "success": "선택한 리뷰 항목과 관련된 동영상 파일이 성공적으로 삭제되었습니다.", + "error": "삭제 실패: {{error}}" + } + }, + "button": { + "export": "내보내기", + "markAsReviewed": "검토 완료로 표시", + "markAsUnreviewed": "검토 안 함 표시" } } } diff --git a/web/public/locales/ta/components/filter.json b/web/public/locales/ko/config/cameras.json similarity index 100% rename from web/public/locales/ta/components/filter.json rename to web/public/locales/ko/config/cameras.json diff --git a/web/public/locales/ta/components/icons.json b/web/public/locales/ko/config/global.json similarity index 100% rename from web/public/locales/ta/components/icons.json rename to web/public/locales/ko/config/global.json diff --git a/web/public/locales/ta/components/input.json b/web/public/locales/ko/config/groups.json similarity index 100% rename from web/public/locales/ta/components/input.json rename to web/public/locales/ko/config/groups.json diff --git a/web/public/locales/ta/components/player.json b/web/public/locales/ko/config/validation.json similarity index 100% rename from web/public/locales/ta/components/player.json rename to web/public/locales/ko/config/validation.json diff --git a/web/public/locales/lt/components/dialog.json b/web/public/locales/lt/components/dialog.json index ae5760132..fe2235a62 100644 --- a/web/public/locales/lt/components/dialog.json +++ b/web/public/locales/lt/components/dialog.json @@ -6,7 +6,8 @@ "title": "Frigate Persikrauna", "content": "Šis puslapis persikraus už {{countdown}} sekundžių.", "button": "Priverstinai Perkrauti Dabar" - } + }, + "description": "Frigate laikinai sustabdoma, iki kol programa persikraus." }, "explore": { "plus": { diff --git a/web/public/locales/ta/objects.json b/web/public/locales/lt/config/cameras.json similarity index 100% rename from web/public/locales/ta/objects.json rename to web/public/locales/lt/config/cameras.json diff --git a/web/public/locales/ta/views/classificationModel.json b/web/public/locales/lt/config/global.json similarity index 100% rename from web/public/locales/ta/views/classificationModel.json rename to web/public/locales/lt/config/global.json diff --git a/web/public/locales/ta/views/configEditor.json b/web/public/locales/lt/config/groups.json similarity index 100% rename from web/public/locales/ta/views/configEditor.json rename to web/public/locales/lt/config/groups.json diff --git a/web/public/locales/ta/views/events.json b/web/public/locales/lt/config/validation.json similarity index 100% rename from web/public/locales/ta/views/events.json rename to web/public/locales/lt/config/validation.json diff --git a/web/public/locales/lt/views/exports.json b/web/public/locales/lt/views/exports.json index dbb5483b7..32c2f6aeb 100644 --- a/web/public/locales/lt/views/exports.json +++ b/web/public/locales/lt/views/exports.json @@ -11,13 +11,27 @@ }, "toast": { "error": { - "renameExportFailed": "Nepavyko pervadinti eksportuojamo įrašo: {{errorMessage}}" + "renameExportFailed": "Nepavyko pervadinti eksportuojamo įrašo: {{errorMessage}}", + "assignCaseFailed": "Nepavyko atnaujinti atvėjo užduoties: {{errorMessage}}" } }, "tooltip": { "shareExport": "Pasidalinti įrašu", "downloadVideo": "Atsisiųsti video", "editName": "Koreguoti pavadinimą", - "deleteExport": "Ištrinti eksportus" + "deleteExport": "Ištrinti eksportus", + "assignToCase": "Pridėti prie atvėjo" + }, + "headings": { + "cases": "Atvėjai", + "uncategorizedExports": "Nekategorizuoti eksportai" + }, + "caseDialog": { + "title": "Pridėti prie atvėjo", + "selectLabel": "Atvėjis", + "newCaseOption": "Sukurti naują atvėjį", + "descriptionLabel": "Aprašymas", + "nameLabel": "Atvėjo pavadinimas", + "description": "Pasirinkite jau egzisutojantį atvėjį arba sukurkite naują." } } diff --git a/web/public/locales/lt/views/faceLibrary.json b/web/public/locales/lt/views/faceLibrary.json index cd7307a27..7122bfbfd 100644 --- a/web/public/locales/lt/views/faceLibrary.json +++ b/web/public/locales/lt/views/faceLibrary.json @@ -2,7 +2,8 @@ "description": { "addFace": "Pridėkite naują kolekciją į Veidų Kolekciją įkeldami savo pirmą nuotrauką.", "placeholder": "Įveskite pavadinimą šiai kolekcijai", - "invalidName": "Netinkamas vardas. Vardas gali būti sudarytas tik iš raidžiū, skaičių, tarpų, apostrofų, pabraukimų ar brūkšnelių." + "invalidName": "Netinkamas vardas. Vardas gali būti sudarytas tik iš raidžiū, skaičių, tarpų, apostrofų, pabraukimų ar brūkšnelių.", + "nameCannotContainHash": "Pavadinime negali būti #." }, "details": { "person": "Žmogus", diff --git a/web/public/locales/lt/views/settings.json b/web/public/locales/lt/views/settings.json index 360f78d49..5914d3f8b 100644 --- a/web/public/locales/lt/views/settings.json +++ b/web/public/locales/lt/views/settings.json @@ -4,21 +4,23 @@ "authentication": "Autentifikavimo Nustatymai - Frigate", "camera": "Kameros Nustatymai - Frigate", "object": "Debug - Frigate", - "general": "Vizualiniai Nustatymai - Frigate", + "general": "Išvaizdos Parametrai - Frigate", "frigatePlus": "Frigate+ Nustatymai - Frigate", "notifications": "Pranešimų Nustatymai - Frigate", "motionTuner": "Judesio Derinimas - Frigate", "enrichments": "Patobulinimų Nustatymai - Frigate", "masksAndZones": "Maskavimo ir Zonų redaktorius - Frigate", "cameraManagement": "Valdyti Kameras - Frigate", - "cameraReview": "Kameros Peržiūros Nustatymai - Frigate" + "cameraReview": "Kameros Peržiūros Nustatymai - Frigate", + "globalConfig": "Visuotiniai Parametrai — Frigate", + "cameraConfig": "Kameros Parametrai — Frigate" }, "menu": { "ui": "UI", "enrichments": "Patobulinimai", "cameras": "Kameros Nustatymai", "masksAndZones": "Maskavimai / Zonos", - "motionTuner": "Judesio Derintojas", + "motionTuner": "Judesio Derinimas", "debug": "Debug", "users": "Vartotojai", "notifications": "Pranešimai", @@ -345,7 +347,7 @@ } }, "motionMaskLabel": "Judesio Maskuotė {{number}}", - "objectMaskLabel": "Obejkto Maskuotė {{number}} {{label}}", + "objectMaskLabel": "Obejkto Maskuotė {{number}}", "form": { "zoneName": { "error": { @@ -440,7 +442,7 @@ "desc": "Rodyti apribojančius stačiakampius aplink sekamus objektus", "colors": { "label": "Objektus Apribojančių Stačiakampių Spalvos", - "info": "
  • Pradžioje, skirtingos spalvos bus priskirtos kiekvienai objekto etiketei
  • Tamsiai mėlyna plona linija simbolizuoja, kad objektas esamu momentu dar nėra aptiktas
  • Pilka linija nurodo kad objektas yra aptiktas kaip nejudantis
  • Stora linija nurodo kad objektas yra automatiškai sekamas (kai įjungta)
  • " + "info": "
  • Pradžioje, skirtingos spalvos bus priskirtos kiekvienai objekto etiketei
  • Tamsiai mėlyna plona linija simbolizuoja, kad objektas esamu momentu dar nėra aptiktas
  • Pilka linija nurodo kad objektas yra aptiktas kaip nejudantis
  • Stora linija nurodo kad objektas yra automatiškai sekamas (kai įjungta)
  • " } }, "timestamp": { diff --git a/web/public/locales/ta/views/explore.json b/web/public/locales/lv/config/cameras.json similarity index 100% rename from web/public/locales/ta/views/explore.json rename to web/public/locales/lv/config/cameras.json diff --git a/web/public/locales/ta/views/exports.json b/web/public/locales/lv/config/global.json similarity index 100% rename from web/public/locales/ta/views/exports.json rename to web/public/locales/lv/config/global.json diff --git a/web/public/locales/ta/views/faceLibrary.json b/web/public/locales/lv/config/groups.json similarity index 100% rename from web/public/locales/ta/views/faceLibrary.json rename to web/public/locales/lv/config/groups.json diff --git a/web/public/locales/ta/views/live.json b/web/public/locales/lv/config/validation.json similarity index 100% rename from web/public/locales/ta/views/live.json rename to web/public/locales/lv/config/validation.json diff --git a/web/public/locales/ta/views/recording.json b/web/public/locales/ml/config/cameras.json similarity index 100% rename from web/public/locales/ta/views/recording.json rename to web/public/locales/ml/config/cameras.json diff --git a/web/public/locales/ta/views/search.json b/web/public/locales/ml/config/global.json similarity index 100% rename from web/public/locales/ta/views/search.json rename to web/public/locales/ml/config/global.json diff --git a/web/public/locales/ta/views/settings.json b/web/public/locales/ml/config/groups.json similarity index 100% rename from web/public/locales/ta/views/settings.json rename to web/public/locales/ml/config/groups.json diff --git a/web/public/locales/ta/views/system.json b/web/public/locales/ml/config/validation.json similarity index 100% rename from web/public/locales/ta/views/system.json rename to web/public/locales/ml/config/validation.json diff --git a/web/public/locales/nb_NO/config/cameras.json b/web/public/locales/nb_NO/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nb_NO/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/nb_NO/config/global.json b/web/public/locales/nb_NO/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nb_NO/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/nb_NO/config/groups.json b/web/public/locales/nb_NO/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nb_NO/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/nb_NO/config/validation.json b/web/public/locales/nb_NO/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nb_NO/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/nl/components/dialog.json b/web/public/locales/nl/components/dialog.json index eec72a3fb..0f8cc9052 100644 --- a/web/public/locales/nl/components/dialog.json +++ b/web/public/locales/nl/components/dialog.json @@ -74,7 +74,11 @@ "previewExport": "Export vooraf bekijken" }, "export": "Exporteren", - "selectOrExport": "Selecteren of exporteren" + "selectOrExport": "Selecteren of exporteren", + "case": { + "label": "Dossier", + "placeholder": "Selecteer een dossier" + } }, "streaming": { "label": "Stream", diff --git a/web/public/locales/nl/config/cameras.json b/web/public/locales/nl/config/cameras.json new file mode 100644 index 000000000..1d55a46f3 --- /dev/null +++ b/web/public/locales/nl/config/cameras.json @@ -0,0 +1,130 @@ +{ + "label": "Camera Config", + "name": { + "label": "Camera naam", + "description": "Camera naam is verplicht" + }, + "friendly_name": { + "description": "Camera naam te gebruiken in de Frigate UI", + "label": "Herkenbare naam" + }, + "enabled": { + "label": "Geactiveerd", + "description": "Geactiveerd" + }, + "audio": { + "label": "Audiogebeurtenissen", + "description": "Audio-instellingen voor gebeurtenisdetectie van deze camera.", + "enabled": { + "label": "Geluiddetectie inschakelen", + "description": "Audio‑gebeurtenisdetectie voor deze camera in- of uitschakelen." + }, + "max_not_heard": { + "label": "Einde timeout", + "description": "Hoeveelheid secondes zonder de geconfigureerde audio soort, voordat de geluids gebeurtenis is beindigd." + }, + "min_volume": { + "label": "Minimale volume", + "description": "Minimale RMS-volumedrempel die nodig is om audiodetectie te starten; Hoe lager de waarde, hoe gevoeliger de detectie (bijvoorbeeld, 200 hoog, 500 gemiddeld, 1000 laag)." + }, + "listen": { + "label": "Luistercategorieën", + "description": "Lijst van luistercategorie gebeurtenissen voor detectie (zoals: blaffen, band_alarm, schreeuw, praten, roepen)." + }, + "filters": { + "label": "Geluids filters", + "description": "Instellingen per audiotype, waaronder betrouwbaarheidsdrempels, ter vermindering van foutieve detecties." + }, + "enabled_in_config": { + "label": "Originele audio-instelling", + "description": "Geeft aan of audiodetectie oorspronkelijk was geactiveerd in het statische configuratiebestand." + }, + "num_threads": { + "label": "Detectiethreads", + "description": "Aantal threads voor audiodetectieverwerking." + } + }, + "audio_transcription": { + "label": "Audio‑transcriptie", + "description": "Instellingen voor live en spraakgestuurde audiotranscriptie voor gebeurtenissen en live ondertitels.", + "enabled": { + "label": "Spraaktranscriptie inschakelen", + "description": "Schakel transcriptie van handmatig getriggerde audiogebeurtenissen in of uit." + }, + "enabled_in_config": { + "label": "Originele transcriptiestatus" + }, + "live_enabled": { + "label": "Live transcriptie", + "description": "Live streaming‑transcriptie van audio inschakelen tijdens ontvangst." + } + }, + "birdseye": { + "label": "Overzichtsweergave", + "description": "Instellingen voor de overzichtsweergave die meerdere camerafeeds combineert tot één lay‑out.", + "enabled": { + "label": "Activeer overzichtsweergave", + "description": "De overzichtsweergavefunctie in- of uitschakelen." + }, + "mode": { + "label": "Volgmodus", + "description": "Modus voor het opnemen van camera’s in overzichtsweergave: ‘objecten’, ‘beweging’ of ‘continu’." + }, + "order": { + "label": "Positie", + "description": "Numerieke positie die de volgorde van de camera in de overzichtsweergave lay-out bepaalt." + } + }, + "detect": { + "label": "Detectie object", + "description": "Instellingen voor de detectierol om objecten te detecteren en trackers te starten.", + "enabled": { + "label": "Detectie aan", + "description": "Objectdetectie voor deze camera in- of uitschakelen. Detectie moet zijn ingeschakeld om objecttracking te laten werken." + }, + "height": { + "label": "Detectie hoogte", + "description": "De hoogte in pixels van frames voor de detectiestream. Laat dit veld leeg om de standaardresolutie te gebruiken." + }, + "width": { + "label": "Detectie breedte", + "description": "De breedte in pixels van frames voor de detectiestream. Laat dit veld leeg om de standaardresolutie te gebruiken." + }, + "fps": { + "label": "Detectie‑FPS", + "description": "Gewenst aantal frames per seconde waarop detectie wordt uitgevoerd; lagere waarden verlagen het CPU‑gebruik (aanbevolen waarde is 5, stel alleen hoger in — maximaal 10 — bij het volgen van extreem snel bewegende objecten)." + }, + "min_initialized": { + "label": "Minimale initialisatieframes", + "description": "Aantal opeenvolgende detectieresultaten dat vereist is voordat een gevolgd object wordt aangemaakt. Verhoog deze waarde om valse initialisaties te verminderen. De standaardwaarde is FPS gedeeld door 2." + }, + "max_disappeared": { + "label": "Maximaal aantal verdwenen frames", + "description": "Aantal frames zonder detectie voordat een gevolgd object als verdwenen wordt beschouwd." + }, + "stationary": { + "label": "Instellingen voor stilstaande objecten", + "description": "Instellingen voor het detecteren en beheren van objecten die gedurende een bepaalde tijd stil blijven staan.", + "interval": { + "label": "Interval voor stilstaande objecten", + "description": "Frequentie (in frames) waarmee detectie wordt gecontroleerd om stilstaande objecten te bevestigen." + }, + "threshold": { + "label": "Drempel voor stilstaande objecten", + "description": "Het aantal frames waarin geen positieverandering wordt gedetecteerd voordat een object als stilstaand wordt beschouwd." + }, + "max_frames": { + "label": "Maximaal aantal frames", + "description": "Stelt een limiet aan de duur van tracking van stilstaande objecten.", + "default": { + "label": "Standaard maximaal aantal frames", + "description": "Standaardlimiet voor het aantal frames dat een stilstaand object wordt gevolgd voordat wordt gestopt." + }, + "objects": { + "label": "Object‑maximum aantal frames", + "description": "Per‑object overschrijden voor het maximum aantal frames voor tracking van stationaire objecten." + } + } + } + } +} diff --git a/web/public/locales/nl/config/global.json b/web/public/locales/nl/config/global.json new file mode 100644 index 000000000..bad20d0ed --- /dev/null +++ b/web/public/locales/nl/config/global.json @@ -0,0 +1,107 @@ +{ + "audio": { + "label": "Audiogebeurtenissen", + "enabled": { + "label": "Geluiddetectie inschakelen" + }, + "max_not_heard": { + "label": "Einde timeout", + "description": "Hoeveelheid secondes zonder de geconfigureerde audio soort, voordat de geluids gebeurtenis is beindigd." + }, + "min_volume": { + "label": "Minimale volume", + "description": "Minimale RMS-volumedrempel die nodig is om audiodetectie te starten; Hoe lager de waarde, hoe gevoeliger de detectie (bijvoorbeeld, 200 hoog, 500 gemiddeld, 1000 laag)." + }, + "listen": { + "label": "Luistercategorieën", + "description": "Lijst van luistercategorie gebeurtenissen voor detectie (zoals: blaffen, band_alarm, schreeuw, praten, roepen)." + }, + "filters": { + "label": "Geluids filters", + "description": "Instellingen per audiotype, waaronder betrouwbaarheidsdrempels, ter vermindering van foutieve detecties." + }, + "enabled_in_config": { + "label": "Originele audio-instelling", + "description": "Geeft aan of audiodetectie oorspronkelijk was geactiveerd in het statische configuratiebestand." + }, + "num_threads": { + "label": "Detectiethreads", + "description": "Aantal threads voor audiodetectieverwerking." + } + }, + "audio_transcription": { + "label": "Audio‑transcriptie", + "description": "Instellingen voor live en spraakgestuurde audiotranscriptie voor gebeurtenissen en live ondertitels.", + "live_enabled": { + "label": "Live transcriptie", + "description": "Live streaming‑transcriptie van audio inschakelen tijdens ontvangst." + } + }, + "birdseye": { + "label": "Overzichtsweergave", + "description": "Instellingen voor de overzichtsweergave die meerdere camerafeeds combineert tot één lay‑out.", + "enabled": { + "label": "Activeer overzichtsweergave", + "description": "De overzichtsweergavefunctie in- of uitschakelen." + }, + "mode": { + "label": "Volgmodus", + "description": "Modus voor het opnemen van camera’s in overzichtsweergave: ‘objecten’, ‘beweging’ of ‘continu’." + }, + "order": { + "label": "Positie", + "description": "Numerieke positie die de volgorde van de camera in de overzichtsweergave lay-out bepaalt." + } + }, + "detect": { + "label": "Detectie object", + "description": "Instellingen voor de detectierol om objecten te detecteren en trackers te starten.", + "enabled": { + "label": "Detectie aan" + }, + "height": { + "label": "Detectie hoogte", + "description": "De hoogte in pixels van frames voor de detectiestream. Laat dit veld leeg om de standaardresolutie te gebruiken." + }, + "width": { + "label": "Detectie breedte", + "description": "De breedte in pixels van frames voor de detectiestream. Laat dit veld leeg om de standaardresolutie te gebruiken." + }, + "fps": { + "label": "Detectie‑FPS", + "description": "Gewenst aantal frames per seconde waarop detectie wordt uitgevoerd; lagere waarden verlagen het CPU‑gebruik (aanbevolen waarde is 5, stel alleen hoger in — maximaal 10 — bij het volgen van extreem snel bewegende objecten)." + }, + "min_initialized": { + "label": "Minimale initialisatieframes", + "description": "Aantal opeenvolgende detectieresultaten dat vereist is voordat een gevolgd object wordt aangemaakt. Verhoog deze waarde om valse initialisaties te verminderen. De standaardwaarde is FPS gedeeld door 2." + }, + "max_disappeared": { + "label": "Maximaal aantal verdwenen frames", + "description": "Aantal frames zonder detectie voordat een gevolgd object als verdwenen wordt beschouwd." + }, + "stationary": { + "label": "Instellingen voor stilstaande objecten", + "description": "Instellingen voor het detecteren en beheren van objecten die gedurende een bepaalde tijd stil blijven staan.", + "interval": { + "label": "Interval voor stilstaande objecten", + "description": "Frequentie (in frames) waarmee detectie wordt gecontroleerd om stilstaande objecten te bevestigen." + }, + "threshold": { + "label": "Drempel voor stilstaande objecten", + "description": "Het aantal frames waarin geen positieverandering wordt gedetecteerd voordat een object als stilstaand wordt beschouwd." + }, + "max_frames": { + "label": "Maximaal aantal frames", + "description": "Stelt een limiet aan de duur van tracking van stilstaande objecten.", + "default": { + "label": "Standaard maximaal aantal frames", + "description": "Standaardlimiet voor het aantal frames dat een stilstaand object wordt gevolgd voordat wordt gestopt." + }, + "objects": { + "label": "Object‑maximum aantal frames", + "description": "Per‑object overschrijden voor het maximum aantal frames voor tracking van stationaire objecten." + } + } + } + } +} diff --git a/web/public/locales/nl/config/groups.json b/web/public/locales/nl/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nl/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/nl/config/validation.json b/web/public/locales/nl/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/nl/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/nl/views/exports.json b/web/public/locales/nl/views/exports.json index b4223a612..d14ca9dbc 100644 --- a/web/public/locales/nl/views/exports.json +++ b/web/public/locales/nl/views/exports.json @@ -3,7 +3,8 @@ "search": "Zoek", "toast": { "error": { - "renameExportFailed": "Het is niet gelukt om de export te hernoemen: {{errorMessage}}" + "renameExportFailed": "Het is niet gelukt om de export te hernoemen: {{errorMessage}}", + "assignCaseFailed": "Kan toewijzing aan dossier niet bijwerken: {{errorMessage}}" } }, "editExport": { @@ -18,6 +19,19 @@ "shareExport": "Deel export", "downloadVideo": "Download video", "editName": "Naam bewerken", - "deleteExport": "Verwijder export" + "deleteExport": "Verwijder export", + "assignToCase": "Toevoegen aan dossier" + }, + "headings": { + "cases": "Gevallen", + "uncategorizedExports": "Ongecategoriseerde exporten" + }, + "caseDialog": { + "title": "Toevoegen aan dossier", + "description": "Kies een bestaand dossier of maak een nieuw dossier aan.", + "selectLabel": "Dossier", + "newCaseOption": "Nieuw dossier aanmaken", + "nameLabel": "Dossiernaam", + "descriptionLabel": "Beschrijving" } } diff --git a/web/public/locales/nl/views/settings.json b/web/public/locales/nl/views/settings.json index ba3684fe4..348003af7 100644 --- a/web/public/locales/nl/views/settings.json +++ b/web/public/locales/nl/views/settings.json @@ -7,12 +7,15 @@ "classification": "Classificatie-instellingen - Frigate", "masksAndZones": "Masker- en zone-editor - Frigate", "object": "Foutopsporing Frigate", - "general": "Gebruikersinterface-instellingen - Frigate", + "general": "Profielinstellingen - Frigate", "frigatePlus": "Frigate+ Instellingen - Frigate", "notifications": "Meldingsinstellingen - Frigate", "enrichments": "Verrijkingsinstellingen - Frigate", "cameraManagement": "Camera's beheren - Frigate", - "cameraReview": "Camera Review Instellingen - Frigate" + "cameraReview": "Camera Review Instellingen - Frigate", + "globalConfig": "Globale configuratie - Frigate", + "cameraConfig": "Camera-instellingen - Frigate", + "maintenance": "Onderhoud - Frigate" }, "menu": { "ui": "Gebruikersinterface", @@ -28,7 +31,25 @@ "triggers": "Triggers", "roles": "Rollen", "cameraManagement": "Beheer", - "cameraReview": "Beoordeel" + "cameraReview": "Beoordeel", + "general": "Algemeen", + "globalConfig": "Globale configuratie", + "system": "Systeem", + "integrations": "Integraties", + "profileSettings": "Profielinstellingen", + "globalDetect": "Objectdetectie", + "globalRecording": "Opname", + "globalSnapshots": "Snapshots", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Bewegingsdetectie", + "globalObjects": "Objecten", + "globalReview": "Beoordelen", + "globalAudioEvents": "Geluidsgebeurtenissen", + "globalLivePlayback": "Live afspelen", + "globalTimestampStyle": "Tijdstempelstijl", + "systemDatabase": "Database", + "systemTls": "TLS", + "systemAuthentication": "Authenticatie" }, "dialog": { "unsavedChanges": { diff --git a/web/public/locales/nl/views/system.json b/web/public/locales/nl/views/system.json index 73ba194d0..fcf821187 100644 --- a/web/public/locales/nl/views/system.json +++ b/web/public/locales/nl/views/system.json @@ -80,7 +80,8 @@ "title": "Waarschuwing Intel GPU-statistieken", "message": "GPU-statistieken niet beschikbaar", "description": "Dit is een bekend probleem in de GPU-statistiekentools van Intel (intel_gpu_top). Deze raken defect en geven herhaaldelijk een GPU-gebruik van 0% weer, zelfs wanneer hardware-acceleratie en objectdetectie correct draaien op de (i)GPU. Dit is geen bug in Frigate. Je kunt de host opnieuw opstarten om het tijdelijk op te lossen en te controleren dat de GPU goed werkt. Dit heeft geen invloed op de prestaties." - } + }, + "gpuTemperature": "GPU Temperatuur" }, "otherProcesses": { "processMemoryUsage": "Process Geheugen Gebruik", diff --git a/web/public/locales/pl/config/cameras.json b/web/public/locales/pl/config/cameras.json new file mode 100644 index 000000000..bdadbc182 --- /dev/null +++ b/web/public/locales/pl/config/cameras.json @@ -0,0 +1,165 @@ +{ + "objects": { + "genai": { + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, które należy wprowadzić, aby obiekty kwalifikowały się do generowania opisu GenAI." + }, + "debug_save_thumbnails": { + "label": "Zapisz miniatury", + "description": "Zapisz miniatury wysłane do GenAI w celu debugowania i przeglądu." + }, + "send_triggers": { + "label": "Wyzwalacze GenAI", + "description": "Określa, kiedy ramki powinny być wysyłane do GenAI (na końcu, po aktualizacjach itp.).", + "tracked_object_end": { + "label": "Wyślij na koniec", + "description": "Wyślij żądanie do GenAI, gdy śledzony obiekt się zakończy." + }, + "after_significant_updates": { + "label": "Wczesny wyzwalacz GenAI", + "description": "Wyślij żądanie do GenAI po określonej liczbie istotnych aktualizacji dla śledzonego obiektu." + } + }, + "enabled_in_config": { + "label": "Oryginalny stan GenAI", + "description": "Wskazuje, czy GenAI było włączone w oryginalnej konfiguracji statycznej." + } + } + }, + "record": { + "label": "Nagrywanie", + "enabled": { + "label": "Włącz nagrywanie" + }, + "expire_interval": { + "label": "Częstotliwość usuwania nagrań", + "description": "Minuty między kolejnymi operacjami czyszczenia, które usuwają nieaktualne segmenty nagrań." + }, + "continuous": { + "label": "Ciągłe przechowywanie", + "description": "Liczba dni przechowywania nagrań niezależnie od śledzonych obiektów lub ruchu. Ustaw wartość 0, jeśli chcesz przechowywać tylko nagrania alertów i wykrytych zdarzeń.", + "days": { + "label": "Ilość dni przechowywania", + "description": "Dni przechowywania nagrań." + } + }, + "motion": { + "label": "Przechowywanie ruchu", + "description": "Liczba dni przechowywania nagrań wywołanych ruchem, niezależnie od śledzonych obiektów. Ustaw wartość 0, jeśli chcesz przechowywać tylko nagrania alertów i wykrytych zdarzeń.", + "days": { + "label": "Dni przechowywania", + "description": "Dni przechowywania nagrań." + } + }, + "detections": { + "label": "Przechowywanie detekcji", + "description": "Ustawienia przechowywania nagrań dla zdarzeń wykrywania, w tym czas przed i po przechwyceniu.", + "pre_capture": { + "label": "Sekundy pre-alarmu", + "description": "Liczba sekund przed zdarzeniem wykrycia, które ma zostać uwzględnione w nagraniu." + }, + "post_capture": { + "label": "Sekundy post-alarmu", + "description": "Liczba sekund po wykryciu zdarzenia, które ma zostać uwzględnione w nagraniu." + }, + "retain": { + "label": "Przechowywanie zdarzeń", + "description": "Ustawienia przechowywania nagrań zdarzeń wykrytych.", + "days": { + "label": "Dni przechowywania", + "description": "Liczba dni przechowywania nagrań zdarzeń wykrytych." + }, + "mode": { + "label": "Tryb przechowywania", + "description": "Tryb przechowywania: wszystkie (zapisz wszystkie segmenty), ruch (zapisz segmenty z ruchem) lub aktywne obiekty (zapisz segmenty z aktywnymi obiektami)." + } + } + }, + "alerts": { + "label": "Przechowywanie alarmów", + "description": "Ustawienia przechowywania nagrań dla zdarzeń alarmowych, w tym czas przed i po przechwyceniu.", + "pre_capture": { + "label": "Długość pre-alarmu", + "description": "Liczba sekund przed zdarzeniem wykrycia, które ma zostać uwzględnione w nagraniu." + }, + "post_capture": { + "label": "Długość post-alarmu", + "description": "Liczba sekund po wykryciu zdarzenia, które ma zostać uwzględnione w nagraniu." + }, + "retain": { + "label": "Przechowywanie zdarzeń", + "description": "Ustawienia przechowywania nagrań zdarzeń wykrytych.", + "days": { + "label": "Dni przechowywania", + "description": "Liczba dni przechowywania nagrań zdarzeń wykrytych." + }, + "mode": { + "label": "Tryb przechowywania", + "description": "Tryb przechowywania: wszystkie (zapisz wszystkie segmenty), ruch (zapisz segmenty z ruchem) lub aktywne obiekty (zapisz segmenty z aktywnymi obiektami)." + } + } + }, + "export": { + "label": "Eksport konfiguracji", + "description": "Ustawienia używane podczas eksportowania nagrań, takie jak przyspieszenie czasu i przyspieszenie sprzętowe.", + "hwaccel_args": { + "label": "Eksportuj argumenty akceleracji sprzętowej", + "description": "Argumenty przyspieszenia sprzętowego do wykorzystania podczas operacji eksportu/transkodowania." + } + }, + "preview": { + "label": "Podgląd konfiguracji", + "description": "Ustawienia kontrolujące jakość podglądu nagrań wyświetlanych w interfejsie użytkownika.", + "quality": { + "label": "Jakość podglądu", + "description": "Poziom jakości podglądu (bardzo_niski, niski, średni, wysoki, bardzo_wysoki)." + } + }, + "enabled_in_config": { + "label": "Oryginalny stan nagrania", + "description": "Wskazuje, czy nagrywanie było włączone w oryginalnej konfiguracji statycznej." + } + }, + "review": { + "label": "Recenzja", + "alerts": { + "label": "Konfiguracja alarmów", + "description": "Ustawienia dotyczące obiektów śledzonych, które generują alerty, oraz sposobu przechowywania alertów.", + "enabled": { + "label": "Włącz alarmy" + }, + "labels": { + "label": "Etykiety alarmów", + "description": "Lista etykiet obiektów, które kwalifikują się jako alerty (na przykład: samochód, osoba)." + }, + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, do których obiekt musi wejść, aby zostać uznanym za alarm; pozostaw puste, aby zezwolić na dowolną strefę." + }, + "enabled_in_config": { + "label": "Oryginalny stan alarmów", + "description": "Śledzi, czy alarmy były pierwotnie włączone w konfiguracji statycznej." + }, + "cutoff_time": { + "label": "Czas wyłączenia alarmów", + "description": "Sekundy, które należy odczekać po zakończeniu czynności powodującej alarm, zanim alarm zostanie wyłączony." + } + }, + "detections": { + "label": "Konfiguracja detekcji", + "description": "Ustawienia dotyczące tworzenia zdarzeń wykrywania (niebędących alertami) oraz czasu ich przechowywania.", + "enabled": { + "label": "Włącz detekcje" + }, + "labels": { + "label": "Etykiety detekcji", + "description": "Lista etykiet(klas) obiektów, które kwalifikują się jako zdarzenia wykrycia." + }, + "required_zones": { + "label": "Wymagane strefy", + "description": "Strefy, do których obiekt musi wejść, aby zostać wykryty; pozostaw puste, aby zezwolić na dowolną strefę." + } + } + } +} diff --git a/web/public/locales/pl/config/global.json b/web/public/locales/pl/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pl/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pl/config/groups.json b/web/public/locales/pl/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pl/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pl/config/validation.json b/web/public/locales/pl/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pl/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt-BR/common.json b/web/public/locales/pt-BR/common.json index d9f30b3de..632155ddd 100644 --- a/web/public/locales/pt-BR/common.json +++ b/web/public/locales/pt-BR/common.json @@ -79,7 +79,10 @@ "12hour": "dd-MM-yy-hh-mm-ss", "24hour": "dd-MM-yy-HH-mm-ss" }, - "never": "Nunca" + "never": "Nunca", + "inProgress": "Em progresso", + "invalidStartTime": "Horário de início inválido", + "invalidEndTime": "Horário de término inválido" }, "selectItem": "Selecionar {{item}}", "unit": { @@ -101,7 +104,13 @@ } }, "label": { - "back": "Voltar" + "back": "Voltar", + "hide": "Esconder {{item}}", + "show": "Mostrar {{item}}", + "ID": "ID", + "none": "Nenhum", + "all": "Todos", + "other": "Outros" }, "button": { "apply": "Aplicar", @@ -138,7 +147,18 @@ "unselect": "Deselecionar", "export": "Exportar", "deleteNow": "Deletar Agora", - "next": "Próximo" + "next": "Próximo", + "add": "Adicionar", + "undo": "Desfazer", + "copiedToClipboard": "Copiado para a área de transferência", + "continue": "Continuar", + "modified": "Modificado", + "overridden": "Substituído", + "resetToGlobal": "Redefinir para o Global", + "resetToDefault": "Redefinir para o Padrão", + "saveAll": "Salvar Tudo", + "savingAll": "Salvando Tudo…", + "undoAll": "Desfazer Tudo" }, "menu": { "system": "Sistema", @@ -186,7 +206,8 @@ "bg": "Български (Búlgaro)", "gl": "Galego (Galego)", "id": "Bahasa Indonesia (Indonésio)", - "ur": "اردو (Urdu)" + "ur": "اردو (Urdu)", + "hr": "Hrvatski (Croata)" }, "systemLogs": "Logs de sistema", "settings": "Configurações", @@ -239,7 +260,9 @@ "anonymous": "anônimo", "logout": "Sair", "setPassword": "Definir Senha" - } + }, + "classification": "Classificação", + "chat": "Chat" }, "toast": { "copyUrlToClipboard": "URL copiada para a área de transferência.", @@ -282,5 +305,14 @@ "readTheDocumentation": "Leia a documentação", "information": { "pixels": "{{area}}px" + }, + "list": { + "two": "{{0}} e {{1}}", + "many": "{{items}} e {{last}}", + "separatorWithSpace": ", " + }, + "field": { + "optional": "Opcional", + "internalID": "O ID interno que o Frigate usa na configuração e banco de dados" } } diff --git a/web/public/locales/pt-BR/components/dialog.json b/web/public/locales/pt-BR/components/dialog.json index c21361f85..22f891023 100644 --- a/web/public/locales/pt-BR/components/dialog.json +++ b/web/public/locales/pt-BR/components/dialog.json @@ -6,7 +6,8 @@ "title": "Frigate está Reiniciando", "content": "Essa página vai recarregar em {{countdown}} segundos.", "button": "Forçar Recarregar Agora" - } + }, + "description": "Isto irá parar brevemente o Frigate enquanto reinicia." }, "explore": { "plus": { @@ -118,6 +119,7 @@ "search": { "placeholder": "Pesquisar por rótulo ou sub-rótulo…" }, - "noImages": "Nenhuma miniatura encontrada para essa câmera" + "noImages": "Nenhuma miniatura encontrada para essa câmera", + "unknownLabel": "Imagem de Gatilho Salva" } } diff --git a/web/public/locales/pt-BR/views/exports.json b/web/public/locales/pt-BR/views/exports.json index 12a6dce45..29edc2cb5 100644 --- a/web/public/locales/pt-BR/views/exports.json +++ b/web/public/locales/pt-BR/views/exports.json @@ -5,19 +5,33 @@ "deleteExport": "Deletar Exportação", "deleteExport.desc": "Você tem certeza que quer apagar {{exportName}}?", "editExport": { - "title": "Exportar Renomear", + "title": "Renomear Exportação", "desc": "Entre um novo nome para essa exportação.", "saveExport": "Salvar exportação" }, "toast": { "error": { - "renameExportFailed": "Falha ao renomear exportação: {{errorMessage}}" + "renameExportFailed": "Falha ao renomear exportação: {{errorMessage}}", + "assignCaseFailed": "Falha ao atualizar atribuição ao caso: {{errorMessage}}" } }, "tooltip": { "shareExport": "Compartilhar exportação", "downloadVideo": "Baixar vídeo", "editName": "Editar nome", - "deleteExport": "Apagar exportação" + "deleteExport": "Apagar exportação", + "assignToCase": "Adicionar ao caso" + }, + "headings": { + "uncategorizedExports": "Exportações não categorizadas", + "cases": "Casos" + }, + "caseDialog": { + "title": "Adicionar ao caso", + "description": "Escolha um caso existente ou crie um novo.", + "selectLabel": "Caso", + "newCaseOption": "Criar novo caso", + "nameLabel": "Nome do caso", + "descriptionLabel": "Descrição" } } diff --git a/web/public/locales/pt-BR/views/faceLibrary.json b/web/public/locales/pt-BR/views/faceLibrary.json index 1e3ac330c..dded9cf19 100644 --- a/web/public/locales/pt-BR/views/faceLibrary.json +++ b/web/public/locales/pt-BR/views/faceLibrary.json @@ -59,7 +59,8 @@ "description": { "placeholder": "Informe um nome para esta coleção", "addFace": "Adicione uma nova coleção à Biblioteca Facial subindo a sua primeira imagem.", - "invalidName": "Nome inválido. Nomes podem conter letras, números, espacos, apóstrofos, sublinhado e hífens." + "invalidName": "Nome inválido. Nomes podem conter letras, números, espacos, apóstrofos, sublinhado e hífens.", + "nameCannotContainHash": "Nome não pode conter #." }, "documentTitle": "Biblioteca de rostos - Frigate", "uploadFaceImage": { diff --git a/web/public/locales/pt-BR/views/live.json b/web/public/locales/pt-BR/views/live.json index d60cddaa8..0c58e2137 100644 --- a/web/public/locales/pt-BR/views/live.json +++ b/web/public/locales/pt-BR/views/live.json @@ -174,7 +174,21 @@ "noCameras": { "title": "Nenhuma Câmera Configurada", "description": "Inicie conectando uma câmera ao Frigate.", - "buttonText": "Adicionar Câmera" + "buttonText": "Adicionar Câmera", + "restricted": { + "title": "Nenhuma Câmera Disponível", + "description": "Você não tem permissão para ver quaisquer câmeras neste grupo." + }, + "default": { + "title": "Nenhuma Câmera Configurada", + "description": "Comece conectando uma câmera ao Frigate.", + "buttonText": "Adicionar Câmera" + }, + "group": { + "title": "Nenhuma Câmera no Grupo", + "description": "Este grupo de câmeras não tem nenhuma câmera atribuída ou habilitada.", + "buttonText": "Gerenciar Grupos" + } }, "snapshot": { "takeSnapshot": "Baixar captura de imagem instantânea", diff --git a/web/public/locales/pt-BR/views/settings.json b/web/public/locales/pt-BR/views/settings.json index ec3c4a836..d3443e3e4 100644 --- a/web/public/locales/pt-BR/views/settings.json +++ b/web/public/locales/pt-BR/views/settings.json @@ -11,7 +11,9 @@ "frigatePlus": "Frigate+ Configurações- Frigate", "notifications": "Configurações de notificação - Frigate", "cameraManagement": "Gerenciar Câmeras - Frigate", - "cameraReview": "Configurações de Revisão de Câmera - Frigate" + "cameraReview": "Configurações de Revisão de Câmera - Frigate", + "globalConfig": "Configuração Global - Frigate", + "cameraConfig": "Configuração da Câmera - Frigate" }, "menu": { "ui": "UI", @@ -385,7 +387,7 @@ "add": "Nova Máscara de Movimento", "edit": "Editar Máscara de Movimento", "context": { - "title": "Máscaras de movimento são usadas para prevenir typos de movimento não desejados de ativarem uma detecção (exemplo: galhos de árvores, timestamps de câmeras). Máscaras de movimento devem ser usadas com muita parcimônia, excesso de mascaramento tornará mais difícil de objetos serem rastreados.", + "title": "Máscaras de movimento são usadas para prevenir tipos de movimento não desejados de ativarem uma detecção (exemplo: galhos de árvores, timestamps de câmeras). Máscaras de movimento devem ser usadas com moderação . Excesso de mascaramento tornará o rastreamento de objetos mais difícil.", "documentation": "Leia a documentação" }, "point_one": "{{count}} ponto", @@ -900,7 +902,9 @@ "errors": { "brandOrCustomUrlRequired": "Selecione a marca da câmera com o host/IP or selecione 'Outro' com uma URL customizada", "nameRequired": "Nome para a câmera requerido", - "nameLength": "O nome da câmera deve ter 64 caracteres ou menos" + "nameLength": "O nome da câmera deve ter 64 caracteres ou menos", + "invalidCharacters": "Nome da câmera contém caracteres inválidos", + "nameExists": "Nome da câmera já existe" }, "testing": { "probingMetadata": "Inferindo o metadata da câmera...", diff --git a/web/public/locales/pt/components/dialog.json b/web/public/locales/pt/components/dialog.json index b1aeb06c1..2efa3d2b5 100644 --- a/web/public/locales/pt/components/dialog.json +++ b/web/public/locales/pt/components/dialog.json @@ -6,7 +6,8 @@ "content": "Esta página será recarregada em {{countdown}} segundos.", "button": "Forçar Recarregar Agora" }, - "title": "Tem a certeza que deseja reiniciar o Frigate?" + "title": "Tem a certeza que deseja reiniciar o Frigate?", + "description": "Isto irá parar brevemente o Frigate enquanto reinicia." }, "explore": { "plus": { diff --git a/web/public/locales/pt/config/cameras.json b/web/public/locales/pt/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt/config/global.json b/web/public/locales/pt/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt/config/groups.json b/web/public/locales/pt/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt/config/validation.json b/web/public/locales/pt/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt/views/classificationModel.json b/web/public/locales/pt/views/classificationModel.json index 2bd713a09..5aba72a91 100644 --- a/web/public/locales/pt/views/classificationModel.json +++ b/web/public/locales/pt/views/classificationModel.json @@ -47,5 +47,8 @@ "minClassesTitle": "Não é possível excluir a classe", "minClassesDesc": "Um modelo de classificação deve ter pelo menos duas classes. Adicione outra classe antes de excluir esta." }, - "documentTitle": "Modelos de Classificação – Frigate" + "documentTitle": "Modelos de Classificação – Frigate", + "description": { + "invalidName": "Nome inválido. Os nomes podem incluir apenas letras, números, espaços, apóstrofos, sublinhados e hífens." + } } diff --git a/web/public/locales/pt/views/exports.json b/web/public/locales/pt/views/exports.json index 82f79bd4e..d8cc40fc3 100644 --- a/web/public/locales/pt/views/exports.json +++ b/web/public/locales/pt/views/exports.json @@ -16,5 +16,8 @@ "deleteExport.desc": "Tem a certeza de que deseja excluir {{exportName}}?", "tooltip": { "shareExport": "Partilhar exportação" + }, + "headings": { + "uncategorizedExports": "Exportações sem categoria" } } diff --git a/web/public/locales/pt/views/faceLibrary.json b/web/public/locales/pt/views/faceLibrary.json index 24e7e14f9..9b19549da 100644 --- a/web/public/locales/pt/views/faceLibrary.json +++ b/web/public/locales/pt/views/faceLibrary.json @@ -1,8 +1,9 @@ { "description": { - "placeholder": "Digite um nome para esta coleção", + "placeholder": "Introduza um nome para esta coleção", "addFace": "Veja como adicionar uma nova coleção à biblioteca de rostos.", - "invalidName": "Nome inválido. Os nomes podem incluir apenas letras, números, espaços, apóstrofos, sublinhados e hífens." + "invalidName": "Nome inválido. Os nomes podem incluir apenas letras, números, espaços, apóstrofos, sublinhados e hífens.", + "nameCannotContainHash": "O nome não pode conter #." }, "details": { "person": "Pessoa", diff --git a/web/public/locales/pt_BR/config/cameras.json b/web/public/locales/pt_BR/config/cameras.json new file mode 100644 index 000000000..09dbea3ac --- /dev/null +++ b/web/public/locales/pt_BR/config/cameras.json @@ -0,0 +1,23 @@ +{ + "name": { + "label": "Nome da câmera", + "description": "Nome da câmera é obrigatório" + }, + "friendly_name": { + "label": "Nome amigável", + "description": "Nome amigável da câmera utilizado na Interface de Usuário do Frigate" + }, + "enabled": { + "label": "Habilitado", + "description": "Habilitado" + }, + "audio": { + "label": "Eventos de áudio", + "description": "Configurações para detecção de eventos baseados em áudio para esta câmera.", + "enabled": { + "label": "Habilitar detecção de áudio", + "description": "Habilitar ou desabilitar o evento de detecção de áudio para esta câmera." + } + }, + "label": "Configuração da Câmera" +} diff --git a/web/public/locales/pt_BR/config/global.json b/web/public/locales/pt_BR/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt_BR/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt_BR/config/groups.json b/web/public/locales/pt_BR/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt_BR/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/pt_BR/config/validation.json b/web/public/locales/pt_BR/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/pt_BR/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ro/common.json b/web/public/locales/ro/common.json index 1148d60c8..65129e6d6 100644 --- a/web/public/locales/ro/common.json +++ b/web/public/locales/ro/common.json @@ -185,7 +185,9 @@ "withSystem": "Modul sistemului", "restart": "Repornește Frigate", "review": "Revizuire", - "classification": "Clasificare" + "classification": "Clasificare", + "chat": "Chat", + "actions": "Acțiuni" }, "button": { "cameraAudio": "Sunet cameră", @@ -223,7 +225,18 @@ "export": "Exportă", "deleteNow": "Șterge acum", "next": "Următorul", - "continue": "Continuă" + "continue": "Continuă", + "add": "Adaugă", + "undo": "Anulează", + "copiedToClipboard": "Copiat în clipboard", + "modified": "Modificat", + "overridden": "Suprascris", + "resetToGlobal": "Resetare la valori Globale", + "resetToDefault": "Resetare la valori implicite", + "saveAll": "Salvează toate", + "savingAll": "Se salvează toate…", + "undoAll": "Anulează toate", + "applying": "Se aplică…" }, "unit": { "speed": { diff --git a/web/public/locales/ro/components/camera.json b/web/public/locales/ro/components/camera.json index 55396367d..093ff4532 100644 --- a/web/public/locales/ro/components/camera.json +++ b/web/public/locales/ro/components/camera.json @@ -67,7 +67,7 @@ "desc": "Activează această opțiune doar dacă stream-ul live al camerei afișează artefacte de culoare și are o linie diagonală pe partea dreaptă a imaginii." } }, - "birdseye": "Vedere de ansamblu" + "birdseye": "Birdseye" } }, "debug": { diff --git a/web/public/locales/ro/components/dialog.json b/web/public/locales/ro/components/dialog.json index 5d478f76a..ec929c023 100644 --- a/web/public/locales/ro/components/dialog.json +++ b/web/public/locales/ro/components/dialog.json @@ -95,6 +95,10 @@ "fromTimeline": { "saveExport": "Salvează exportul", "previewExport": "Previzualizează exportul" + }, + "case": { + "label": "Caz", + "placeholder": "Selectează caz" } }, "streaming": { diff --git a/web/public/locales/ro/components/filter.json b/web/public/locales/ro/components/filter.json index 74a65aa62..a0438b56e 100644 --- a/web/public/locales/ro/components/filter.json +++ b/web/public/locales/ro/components/filter.json @@ -106,7 +106,7 @@ }, "trackedObjectDelete": { "title": "Confirmă ștergerea", - "desc": "Ștergerea acestor {{objectLength}} obiecte urmărite elimină snapshot-ul, orice încorporări salvate și orice înregistrări asociate ciclului de viață al obiectului. Filmările înregistrate ale acestor obiecte urmărite în vizualizarea Istoric NU vor fi șterse.

    Ești sigur că dorești să continui?

    Țineți apăsată tasta Shift pentru a sări peste acest dialog în viitor.", + "desc": "Ștergerea acestor {{objectLength}} obiecte urmărite elimină snapshot-ul, orice înglobări salvate și orice înregistrări asociate ciclului de viață al obiectului. Filmările înregistrate ale acestor obiecte urmărite în vizualizarea Istoric NU vor fi șterse.

    Ești sigur că dorești să continui?

    Țineți apăsată tasta Shift pentru a sări peste acest dialog în viitor.", "toast": { "success": "Obiectele urmărite au fost șterse cu succes.", "error": "Ștergerea obiectelor urmărite a eșuat: {{errorMessage}}" diff --git a/web/public/locales/ro/config/cameras.json b/web/public/locales/ro/config/cameras.json new file mode 100644 index 000000000..e7fb961d0 --- /dev/null +++ b/web/public/locales/ro/config/cameras.json @@ -0,0 +1,941 @@ +{ + "label": "Configurație Cameră", + "name": { + "label": "Nume cameră", + "description": "Numele camerei este obligatoriu" + }, + "friendly_name": { + "label": "Nume prietenos", + "description": "Numele camerei afișat în interfața Frigate" + }, + "enabled": { + "label": "Activată", + "description": "Activată" + }, + "audio": { + "label": "Evenimente audio", + "description": "Setări pentru detectarea evenimentelor bazate pe sunet pentru această cameră.", + "enabled": { + "label": "Activare detecție audio", + "description": "Activează sau dezactivează detecția evenimentelor audio pentru această cameră." + }, + "max_not_heard": { + "label": "Timeout final", + "description": "Secunde fără tipul audio configurat înainte ca evenimentul să fie încheiat." + }, + "min_volume": { + "label": "Volum minim", + "description": "Pragul minim de volum RMS; valorile mici cresc sensibilitatea (ex: 200 ridicată, 500 medie, 1000 scăzută)." + }, + "listen": { + "label": "Tipuri ascultate", + "description": "Lista de evenimente audio de detectat (ex: lătrat, alarmă_incendiu, țipăt, vorbire)." + }, + "filters": { + "label": "Filtre audio", + "description": "Setări de filtrare per tip audio, cum ar fi pragul de încredere." + }, + "enabled_in_config": { + "label": "Stare audio originală", + "description": "Indică dacă detecția audio a fost activată inițial în fișierul de configurare static." + }, + "num_threads": { + "label": "Thread-uri detecție", + "description": "Numărul de thread-uri pentru procesarea detecției audio." + } + }, + "audio_transcription": { + "label": "Transcriere audio", + "description": "Setări pentru transcrierea audio live și a vorbirii pentru evenimente.", + "enabled": { + "label": "Activare transcriere", + "description": "Activează sau dezactivează transcrierea declanșată manual pentru evenimentele audio." + }, + "enabled_in_config": { + "label": "Stare transcriere originală" + }, + "live_enabled": { + "label": "Transcriere live", + "description": "Activează streaming-ul de transcriere live pe măsură ce sunetul e recepționat." + } + }, + "birdseye": { + "label": "Birdseye", + "description": "Setări pentru vizualizarea compusă Birdseye care combină mai multe stream-uri într-un singur layout.", + "enabled": { + "label": "Activare Birdseye", + "description": "Activează sau dezactivează funcția Birdseye." + }, + "mode": { + "label": "Mod urmărire", + "description": "Modul de includere a camerelor în Birdseye: 'objects', 'motion' sau 'continuous'." + }, + "order": { + "label": "Poziție", + "description": "Poziția numerică ce controlează ordinea camerei în layout-ul Birdseye." + } + }, + "detect": { + "label": "Detecție obiecte", + "description": "Setări pentru rolul de detecție folosit pentru a rula recunoașterea obiectelor și trackerele.", + "enabled": { + "label": "Detecție activată", + "description": "Activează sau dezactivează detecția obiectelor pentru această cameră. Detecția trebuie să fie activă pentru ca urmărirea obiectelor să funcționeze." + }, + "height": { + "label": "Înălțime detect", + "description": "Înălțimea cadrelor pentru stream-ul de detect; lasă gol pentru rezoluția nativă." + }, + "width": { + "label": "Lățime detect", + "description": "Lățimea cadrelor pentru stream-ul de detect; lasă gol pentru rezoluția nativă." + }, + "fps": { + "label": "FPS detect", + "description": "FPS-ul dorit pentru detecție; valori mici reduc consumul CPU (recomandat 5, max 10 pentru obiecte foarte rapide)." + }, + "min_initialized": { + "label": "Cadre minime inițializare", + "description": "Numărul de detecții consecutive necesare înainte de a crea un obiect urmărit. Crește valoarea pentru a reduce alarmele false." + }, + "max_disappeared": { + "label": "Cadre maxime dispariție", + "description": "Numărul de cadre fără detecție înainte ca un obiect urmărit să fie considerat dispărut." + }, + "stationary": { + "label": "Configurație obiecte staționare", + "description": "Setări pentru gestionarea obiectelor care rămân nemișcate o perioadă.", + "interval": { + "label": "Interval staționar", + "description": "Cât de des (în cadre) se verifică prezența unui obiect staționar." + }, + "threshold": { + "label": "Prag staționar", + "description": "Numărul de cadre fără schimbare de poziție pentru a marca un obiect ca staționar." + }, + "max_frames": { + "label": "Cadre maxime", + "description": "Limitează cât timp sunt urmărite obiectele staționare înainte de a fi ignorate.", + "default": { + "label": "Cadre maxime implicit", + "description": "Valoarea implicită pentru urmărirea obiectelor staționare." + }, + "objects": { + "label": "Cadre maxime per obiect", + "description": "Suprascrieri per obiect pentru durata urmăririi staționare." + } + }, + "classifier": { + "label": "Activare clasificator vizual", + "description": "Folosește un clasificator vizual pentru a detecta obiectele cu adevărat staționare, chiar dacă chenarul oscilează." + } + }, + "annotation_offset": { + "label": "Offset adnotare", + "description": "Milisecunde pentru a decala adnotările de detecție pentru a alinia mai bine chenarele cu înregistrarea." + } + }, + "face_recognition": { + "label": "Recunoaștere facială", + "description": "Setări pentru detecția și recunoașterea fețelor pentru această cameră.", + "enabled": { + "label": "Activare recunoaștere facială", + "description": "Activează sau dezactivează recunoașterea facială." + }, + "min_area": { + "label": "Arie minimă față", + "description": "Aria minimă (pixeli) pentru a încerca recunoașterea." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Setări FFmpeg: cale binar, argumente, accelerare hardware și ieșiri per rol.", + "path": { + "label": "Cale FFmpeg", + "description": "Calea către binarul FFmpeg sau un alias de versiune (\"5.0\" sau \"7.0\")." + }, + "global_args": { + "label": "Argumente globale FFmpeg", + "description": "Argumente globale pasate proceselor FFmpeg." + }, + "hwaccel_args": { + "label": "Argumente accelerare hardware", + "description": "Argumente pentru accelerarea hardware. Se recomandă presetările specifice furnizorului." + }, + "input_args": { + "label": "Argumente intrare", + "description": "Argumente aplicate stream-urilor de intrare FFmpeg." + }, + "output_args": { + "label": "Argumente ieșire", + "description": "Argumente de ieșire implicite pentru diverse roluri (detect, record).", + "detect": { + "label": "Argumente ieșire detect", + "description": "Argumente implicite pentru stream-urile cu rol detect." + }, + "record": { + "label": "Argumente ieșire record", + "description": "Argumente implicite pentru stream-urile cu rol record." + } + }, + "retry_interval": { + "label": "Timp reîncercare FFmpeg", + "description": "Secunde de așteptare înainte de reconectarea unui stream după o eroare. Implicit 10." + }, + "apple_compatibility": { + "label": "Compatibilitate Apple", + "description": "Activează tag-ul HEVC pentru compatibilitate mai bună cu playerele Apple la înregistrările H.265." + }, + "gpu": { + "label": "Index GPU", + "description": "Indexul GPU implicit folosit pentru accelerarea hardware." + }, + "inputs": { + "label": "Intrări cameră", + "description": "Listă de definiții pentru stream-urile de intrare (căi și roluri).", + "path": { + "label": "Cale intrare", + "description": "URL-ul sau calea stream-ului de intrare al camerei." + }, + "roles": { + "label": "Roluri intrare", + "description": "Rolurile atribuite acestui stream de intrare." + }, + "global_args": { + "label": "Argumente globale FFmpeg", + "description": "Argumente globale pentru acest stream de intrare." + }, + "hwaccel_args": { + "label": "Argumente accelerare hardware", + "description": "Argumente de accelerare hardware pentru acest stream." + }, + "input_args": { + "label": "Argumente intrare", + "description": "Argumente specifice acestui stream." + } + } + }, + "live": { + "label": "Redare live", + "description": "Setări folosite de interfața web pentru a controla selecția, rezoluția și calitatea stream-ului live.", + "streams": { + "label": "Nume stream-uri live", + "description": "Maparea numelor de stream-uri configurate către numele restream/go2rtc folosite live." + }, + "height": { + "label": "Înălțime live", + "description": "Înălțimea (pixeli) pentru redarea jsmpeg în UI; trebuie să fie <= înălțimea stream-ului de detect." + }, + "quality": { + "label": "Calitate live", + "description": "Calitatea encodării pentru stream-ul jsmpeg (1 maxim, 31 minim)." + } + }, + "lpr": { + "label": "Recunoaștere numere înmatriculare", + "description": "Setări pentru recunoașterea numerelor de înmatriculare, inclusiv praguri de detecție, formatare și numere cunoscute.", + "enabled": { + "label": "Activare LPR", + "description": "Activează sau dezactivează LPR pe această cameră." + }, + "expire_time": { + "label": "Secunde expirare", + "description": "Timpul în secunde după care un număr nevăzut este expirat din tracker (doar pentru camerele LPR dedicate)." + }, + "min_area": { + "label": "Arie minimă plăcuță", + "description": "Aria minimă (pixeli) pentru a încerca recunoașterea." + }, + "enhancement": { + "label": "Nivel îmbunătățire", + "description": "Nivelul de îmbunătățire (0-10) aplicat decupajelor cu numere înainte de OCR; valorile mai mari nu îmbunătățesc mereu rezultatele, iar nivelurile peste 5 pot funcționa doar cu numerele pe timp de noapte și trebuie folosite cu atenție." + } + }, + "motion": { + "label": "Detecție mișcare", + "description": "Setări implicite pentru detecția mișcării pentru această cameră.", + "enabled": { + "label": "Activare detecție mișcare", + "description": "Activează sau dezactivează detecția mișcării pentru această cameră." + }, + "threshold": { + "label": "Prag mișcare", + "description": "Pragul de diferență între pixeli; valorile mari reduc sensibilitatea (1-255)." + }, + "lightning_threshold": { + "label": "Prag fulger/lumină", + "description": "Prag pentru detectarea și ignorarea vârfurilor scurte de lumină (o valoare mai mică este mai sensibilă, valori între 0.3 și 1.0). Acest lucru nu oprește complet detecția mișcării; doar determină detectorul să nu mai analizeze cadre suplimentare odată ce pragul este depășit. Înregistrările bazate pe mișcare sunt create în continuare în timpul acestor evenimente." + }, + "improve_contrast": { + "label": "Îmbunătățire contrast", + "description": "Aplică o îmbunătățire a contrastului înainte de analiza mișcării pentru a ajuta detecția." + }, + "contour_area": { + "label": "Arie contur", + "description": "Aria minimă a conturului în pixeli pentru a fi considerat mișcare." + }, + "delta_alpha": { + "label": "Delta alpha", + "description": "Factor de blending alpha folosit în diferențierea cadrelor." + }, + "frame_alpha": { + "label": "Cadru alfa", + "description": "Valoarea alpha pentru amestecarea cadrelor la preprocesarea mișcării." + }, + "frame_height": { + "label": "Înălțime cadru", + "description": "Înălțimea la care sunt scalate cadrele pentru calculul mișcării." + }, + "mask": { + "label": "Coordonate mască", + "description": "Coordonate x,y care definesc poligonul măștii de mișcare." + }, + "mqtt_off_delay": { + "label": "Întârziere MQTT off", + "description": "Secunde de așteptare după ultima mișcare înainte de a trimite starea 'off' prin MQTT." + }, + "enabled_in_config": { + "label": "Stare mișcare originală", + "description": "Indică dacă detecția mișcării a fost activă în configurația inițială." + }, + "raw_mask": { + "label": "Mască brută" + }, + "skip_motion_threshold": { + "label": "Ignoră pragul de mișcare", + "description": "Dacă se schimbă mai mult de această fracțiune din imagine într-un singur cadru, detectorul nu va returna nicio casetă de mișcare și se va recalibra imediat. Acest lucru poate economisi CPU și reduce alertele false în timpul fulgerelor, furtunilor etc., dar poate rata evenimente reale, cum ar fi o cameră PTZ care urmărește automat un obiect. Compromisul este între a pierde câțiva megaocteți de înregistrări versus a revizui câteva clipuri scurte. Interval 0.0 - 1.0." + } + }, + "objects": { + "label": "Obiecte", + "description": "Setări implicite pentru urmărire, inclusiv ce etichete se urmăresc și filtrele per obiect.", + "track": { + "label": "Obiecte de urmărit", + "description": "Lista etichetelor de obiecte de urmărit pentru această cameră." + }, + "filters": { + "label": "Filtre obiecte", + "description": "Filtre pentru a reduce alarmele false (arie, raport, încredere).", + "min_area": { + "label": "Arie minimă obiect", + "description": "Aria minimă a chenarului (pixeli sau procent)." + }, + "max_area": { + "label": "Arie maximă obiect", + "description": "Aria maximă a chenarului (pixeli sau procent)." + }, + "min_ratio": { + "label": "Raport aspect minim", + "description": "Raportul minim lățime/înălțime pentru chenar." + }, + "max_ratio": { + "label": "Raport aspect maxim", + "description": "Raportul maxim lățime/înălțime pentru chenar." + }, + "threshold": { + "label": "Prag încredere", + "description": "Încrederea medie necesară pentru a considera obiectul valid." + }, + "min_score": { + "label": "Scor minim", + "description": "Încrederea minimă la un singur cadru pentru a număra obiectul." + }, + "mask": { + "label": "Mască filtru", + "description": "Poligonul unde se aplică acest filtru în cadru." + }, + "raw_mask": { + "label": "Mască brută" + } + }, + "mask": { + "label": "Mască obiect", + "description": "Mască pentru a preveni detecția obiectelor în anumite zone." + }, + "raw_mask": { + "label": "Mască brută" + }, + "genai": { + "label": "Configurație obiecte GenAI", + "description": "Opțiuni GenAI pentru descrierea obiectelor urmărite și trimiterea cadrelor.", + "enabled": { + "label": "Activare GenAI", + "description": "Activează generarea de descrieri prin GenAI pentru obiectele urmărite." + }, + "use_snapshot": { + "label": "Folosește snapshot-uri", + "description": "Folosește snapshot-urile obiectelor în loc de miniaturi pentru GenAI." + }, + "prompt": { + "label": "Prompt descriere", + "description": "Șablonul de prompt implicit pentru descrierile GenAI." + }, + "object_prompts": { + "label": "Prompt-uri per obiect", + "description": "Prompt-uri personalizate pentru anumite etichete de obiecte." + }, + "objects": { + "label": "Obiecte GenAI", + "description": "Lista etichetelor de obiecte care vor fi trimise la GenAI." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele prin care trebuie să treacă obiectele pentru a genera descrieri." + }, + "debug_save_thumbnails": { + "label": "Salvează miniaturile", + "description": "Salvează miniaturile trimise la GenAI pentru depanare." + }, + "send_triggers": { + "label": "Trigger-e GenAI", + "description": "Definește când sunt trimise cadrele la GenAI (la final, după actualizări etc.).", + "tracked_object_end": { + "label": "Trimite la final", + "description": "Trimite cererea la GenAI când urmărirea obiectului s-a terminat." + }, + "after_significant_updates": { + "label": "Trigger GenAI timpuriu", + "description": "Trimite la GenAI după un număr de actualizări semnificative ale obiectului." + } + }, + "enabled_in_config": { + "label": "Stare GenAI originală", + "description": "Indică dacă GenAI a fost activat în configurația inițială." + } + } + }, + "record": { + "label": "Înregistrare", + "description": "Setări de înregistrare și retenție pentru această cameră.", + "enabled": { + "label": "Activare înregistrare", + "description": "Activează sau dezactivează înregistrarea pentru această cameră." + }, + "expire_interval": { + "label": "Interval curățare înregistrări", + "description": "Minute între trecerile de curățare a segmentelor expirate." + }, + "continuous": { + "label": "Retenție continuă", + "description": "Zile de păstrare a înregistrărilor indiferent de obiecte sau mișcare. Pune 0 pentru a păstra doar alerte/detecții.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + } + }, + "motion": { + "label": "Retenție mișcare", + "description": "Zile de păstrare pentru înregistrările declanșate de mișcare.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + } + }, + "detections": { + "label": "Retenție detecții", + "description": "Setări pentru evenimentele de detecție, inclusiv duratele pre/post captură.", + "pre_capture": { + "label": "Secunde pre-captură", + "description": "Secunde incluse înainte de evenimentul detectat." + }, + "post_capture": { + "label": "Secunde post-captură", + "description": "Secunde incluse după încheierea evenimentului." + }, + "retain": { + "label": "Retenție eveniment", + "description": "Setări de retenție pentru clipurile cu detecții.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile de păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Mod: 'all' (tot), 'motion' (doar segmente cu mișcare) sau 'active_objects' (doar cu obiecte active)." + } + } + }, + "alerts": { + "label": "Retenție alerte", + "description": "Setări de retenție pentru evenimentele de tip alertă.", + "pre_capture": { + "label": "Secunde pre-captură", + "description": "Secunde incluse înainte de alertă." + }, + "post_capture": { + "label": "Secunde post-captură", + "description": "Secunde incluse după alertă." + }, + "retain": { + "label": "Retenție eveniment", + "description": "Setări de păstrare pentru alerte.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Modul de păstrare a segmentelor." + } + } + }, + "export": { + "label": "Configurație export", + "description": "Setări pentru exportul înregistrărilor (timelapse, accelerare hardware).", + "hwaccel_args": { + "label": "Argumente hwaccel export", + "description": "Argumente de accelerare hardware pentru operațiunile de export/transcodare." + } + }, + "preview": { + "label": "Configurație preview", + "description": "Setări pentru calitatea preview-urilor din interfață.", + "quality": { + "label": "Calitate preview", + "description": "Nivel calitate (foarte_scăzută, scăzută, medie, ridicată, foarte ridicată)." + } + }, + "enabled_in_config": { + "label": "Stare înregistrare originală", + "description": "Indică dacă înregistrarea a fost activă în configurația inițială." + } + }, + "review": { + "label": "Revizuire", + "description": "Setări care controlează alertele, detecțiile și rezumatele de tip GenAI folosite de interfață și stocare pentru această cameră.", + "alerts": { + "label": "Configurație alerte", + "description": "Setări pentru obiectele care generează alerte și modul lor de retenție.", + "enabled": { + "label": "Activare alerte", + "description": "Activează sau dezactivează generarea de alerte pentru această cameră." + }, + "labels": { + "label": "Etichete alerte", + "description": "Obiecte care sunt considerate alerte (ex: om, mașină)." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele necesare pentru a declanșa o alertă." + }, + "enabled_in_config": { + "label": "Stare alerte originală", + "description": "Dacă alertele au fost active inițial în fișierul de config." + }, + "cutoff_time": { + "label": "Timp limită alerte", + "description": "Secunde de așteptare după încetarea activității înainte de a încheia alerta." + } + }, + "detections": { + "label": "Configurație detecții", + "description": "Setări pentru evenimentele de detecție (non-alertă).", + "enabled": { + "label": "Activare detecții", + "description": "Activează sau dezactivează evenimentele de detecție pentru această cameră." + }, + "labels": { + "label": "Etichete detecții", + "description": "Obiecte care se consideră detecții." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele necesare pentru o detecție." + }, + "cutoff_time": { + "label": "Timp limită detecții", + "description": "Secunde de așteptare înainte de a încheia o detecție." + }, + "enabled_in_config": { + "label": "Stare detecții originală", + "description": "Dacă detecțiile au fost active în configurația inițială." + } + }, + "genai": { + "label": "Configurație GenAI", + "description": "Controlul AI-ului generativ pentru descrieri și rezumate în review.", + "enabled": { + "label": "Activare descrieri GenAI", + "description": "Activează descrierile și rezumatele generate de AI pentru elementele de review." + }, + "alerts": { + "label": "GenAI pentru alerte", + "description": "Folosește GenAI pentru descrierea alertelor." + }, + "detections": { + "label": "GenAI pentru detecții", + "description": "Folosește GenAI pentru descrierea detecțiilor." + }, + "image_source": { + "label": "Sursă imagine review", + "description": "Sursa imaginilor ('preview' sau 'recordings'); 'recordings' e mai calitativ dar consumă mai multe token-uri." + }, + "additional_concerns": { + "label": "Preocupări suplimentare", + "description": "Listă de note sau griji pe care GenAI să le considere când evaluează activitatea pe cameră." + }, + "debug_save_thumbnails": { + "label": "Salvează miniaturile", + "description": "Salvează miniaturile trimise la furnizorul GenAI pentru depanare." + }, + "enabled_in_config": { + "label": "Stare GenAI originală", + "description": "Dacă review-ul GenAI a fost activ inițial." + }, + "preferred_language": { + "label": "Limbă preferată", + "description": "Limba în care vrei ca GenAI să genereze răspunsurile." + }, + "activity_context_prompt": { + "label": "Prompt context activitate", + "description": "Prompt personalizat care descrie ce este suspect și ce nu pentru rezumatele GenAI." + } + } + }, + "semantic_search": { + "label": "Căutare semantică", + "description": "Setări pentru căutarea semantică care construiește și interoghează înglobări de obiecte pentru a găsi elemente similare.", + "triggers": { + "label": "Trigger-e", + "description": "Acțiuni și criterii pentru trigger-ele de căutare semantică specifice camerelor.", + "friendly_name": { + "label": "Nume sugestiv", + "description": "Nume opțional afișat în UI pentru acest trigger." + }, + "enabled": { + "label": "Activare trigger", + "description": "Activează sau dezactivează acest trigger." + }, + "type": { + "label": "Tip trigger", + "description": "Tip: 'thumbnail' (compară cu imagine) sau 'description' (compară cu text)." + }, + "data": { + "label": "Conținut trigger", + "description": "Textul sau ID-ul miniaturii de comparat cu obiectele urmărite." + }, + "threshold": { + "label": "Prag trigger", + "description": "Scorul minim de similitudine (0-1) pentru activare." + }, + "actions": { + "label": "Acțiuni trigger", + "description": "Lista de acțiuni (notificare, sub_label, atribut) la activare." + } + } + }, + "snapshots": { + "label": "Snapshot-uri", + "description": "Setări pentru snapshot-urile JPEG salvate ale obiectelor monitorizate de această cameră.", + "enabled": { + "label": "Snapshot-uri activate", + "description": "Activează sau dezactivează salvarea de snapshots pentru această cameră." + }, + "clean_copy": { + "label": "Salvează copie curată", + "description": "Salvează și o copie fără adnotări a snapshot-ului." + }, + "timestamp": { + "label": "Overlay timestamp", + "description": "Pune data și ora pe snapshot-urile salvate." + }, + "bounding_box": { + "label": "Overlay chenar", + "description": "Desenează chenarele obiectelor pe snapshot-uri." + }, + "crop": { + "label": "Decupează snapshot-ul", + "description": "Decupează snapshot-ul pe mărimea obiectului detectat." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele prin care trebuie să treacă un obiect pentru a salva un snapshot." + }, + "height": { + "label": "Înălțime snapshot", + "description": "Înălțimea la care se redimensionează snapshot-ul; lasă gol pentru dimensiunea originală." + }, + "retain": { + "label": "Retenție snapshot-uri", + "description": "Setări pentru păstrarea snapshot-urilor.", + "default": { + "label": "Retenție implicită", + "description": "Numărul implicit de zile pentru păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Mod retenție: 'all', 'motion' sau 'active_objects'." + }, + "objects": { + "label": "Retenție per obiect", + "description": "Suprascrieri pentru zilele de retenție ale snapshot-urilor per obiect." + } + }, + "quality": { + "label": "Calitate JPEG", + "description": "Calitatea encodării JPEG pentru snapshot-uri (0-100)." + } + }, + "timestamp_style": { + "label": "Stil timestamp", + "description": "Opțiuni de stilizare pentru timestamp-ul din flux, aplicate înregistrărilor și snapshot-urilor.", + "position": { + "label": "Poziție timestamp", + "description": "Unde apare data/ora pe imagine (stânga-sus/dreapta-sus etc.)." + }, + "format": { + "label": "Format timestamp", + "description": "Formatul datei (coduri Python datetime)." + }, + "color": { + "label": "Culoare timestamp", + "description": "Valori RGB pentru textul datei.", + "red": { + "label": "Roșu", + "description": "Componenta roșie (0-255)." + }, + "green": { + "label": "Verde", + "description": "Componenta verde (0-255)." + }, + "blue": { + "label": "Albastru", + "description": "Componenta albastră (0-255)." + } + }, + "thickness": { + "label": "Grosime timestamp", + "description": "Grosimea liniei textului." + }, + "effect": { + "label": "Efect timestamp", + "description": "Efect vizual pentru text (fără, solid, umbră)." + } + }, + "best_image_timeout": { + "label": "Timp limită cea mai bună imagine", + "description": "Cât timp să se aștepte pentru imaginea cu cel mai mare scor de încredere." + }, + "mqtt": { + "label": "MQTT", + "description": "Setări de publicare a imaginilor prin MQTT.", + "enabled": { + "label": "Trimite imagine", + "description": "Activează publicarea de snapshot-uri cu imagini pentru obiecte pe topic-urile MQTT pentru această cameră." + }, + "timestamp": { + "label": "Adaugă timestamp", + "description": "Suprapune un timestamp pe imaginile publicate pe MQTT." + }, + "bounding_box": { + "label": "Adaugă bounding box", + "description": "Desenează chenare pe imaginile publicate prin MQTT." + }, + "crop": { + "label": "Decupează imaginea", + "description": "Decupează imaginile publicate pe MQTT la dimensiunea chenarului obiectului detectat." + }, + "height": { + "label": "Înălțime imagine", + "description": "Înălțimea (pixeli) la care să fie redimensionate imaginile publicate prin MQTT." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele în care trebuie să intre un obiect pentru ca o imagine MQTT să fie publicată." + }, + "quality": { + "label": "Calitate JPEG", + "description": "Calitatea JPEG pentru imaginile publicate pe MQTT (0-100)." + } + }, + "notifications": { + "label": "Notificări", + "description": "Setări pentru activarea și controlul notificărilor pentru această cameră.", + "enabled": { + "label": "Activează notificările", + "description": "Activează sau dezactivează notificările pentru această cameră." + }, + "email": { + "label": "Email notificare", + "description": "Adresa de email folosită pentru notificări push sau cerută de anumiți furnizori de notificări." + }, + "cooldown": { + "label": "Perioadă de răcire", + "description": "Timpul de așteptare (secunde) între notificări pentru a evita spamarea destinatarilor." + }, + "enabled_in_config": { + "label": "Stare originală notificări", + "description": "Indică dacă notificările au fost activate în configurația statică originală." + } + }, + "onvif": { + "label": "ONVIF", + "description": "Setări pentru conexiunea ONVIF și autotracking PTZ pentru această cameră.", + "host": { + "label": "Gazdă ONVIF", + "description": "Gazda (și schema opțională) pentru serviciul ONVIF al acestei camere." + }, + "port": { + "label": "Port ONVIF", + "description": "Numărul portului pentru serviciul ONVIF." + }, + "user": { + "label": "Utilizator ONVIF", + "description": "Utilizator pentru autentificarea ONVIF; unele dispozitive necesită un utilizator administrator pentru ONVIF." + }, + "password": { + "label": "Parolă ONVIF", + "description": "Parola pentru autentificarea ONVIF." + }, + "tls_insecure": { + "label": "Dezactivează verificare TLS", + "description": "Sari peste verificarea TLS și dezactivează autentificarea digest pentru ONVIF (nesigur; a se utiliza doar în rețele sigure)." + }, + "autotracking": { + "label": "Urmărire automată", + "description": "Urmărește automat obiectele în mișcare și menține-le centrate în cadru folosind mișcările camerei PTZ.", + "enabled": { + "label": "Activează Autotracking", + "description": "Activează sau dezactivează urmărirea automată PTZ a obiectelor detectate." + }, + "calibrate_on_startup": { + "label": "Calibrare la pornire", + "description": "Măsoară vitezele motorului PTZ la pornire pentru a îmbunătăți precizia urmăririi. Frigate va actualiza config-ul cu movement_weights după calibrare." + }, + "zooming": { + "label": "Mod zoom", + "description": "Controlează comportamentul zoom-ului: dezactivat (doar pan/tilt), absolut (cel mai compatibil) sau relativ (pan/tilt/zoom concurent)." + }, + "zoom_factor": { + "label": "Factor zoom", + "description": "Controlează nivelul de zoom pe obiectele urmărite. Valorile mai mici păstrează mai mult din scenă; valorile mai mari fac zoom mai aproape, dar pot pierde urmărirea. Valori între 0.1 și 0.75." + }, + "track": { + "label": "Obiecte urmărite", + "description": "Listă de tipuri de obiecte care ar trebui să declanșeze autotracking-ul." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Obiectele trebuie să intre în una dintre aceste zone înainte ca autotracking-ul să înceapă." + }, + "return_preset": { + "label": "Preset de întoarcere", + "description": "Numele preset-ului ONVIF configurat în firmware-ul camerei pentru întoarcere după ce urmărirea se termină." + }, + "timeout": { + "label": "Timeout întoarcere", + "description": "Așteaptă acest număr de secunde după pierderea urmăririi înainte de a returna camera la poziția presetată." + }, + "movement_weights": { + "label": "Ponderi mișcare", + "description": "Valori de calibrare generate automat de calibrarea camerei. Nu modifica manual." + }, + "enabled_in_config": { + "label": "Stare originală autotrack", + "description": "Câmp intern pentru a urmări dacă autotracking-ul a fost activat în configurație." + } + }, + "ignore_time_mismatch": { + "label": "Ignoră decalaj timp", + "description": "Ignoră diferențele de sincronizare a timpului între cameră și serverul Frigate pentru comunicarea ONVIF." + } + }, + "type": { + "label": "Tip cameră", + "description": "Tipul Camerei" + }, + "ui": { + "label": "Interfață cameră", + "description": "Ordinea de afișare și vizibilitatea pentru această cameră în interfață. Ordinea afectează dashboard-ul implicit. Pentru control mai granular, folosește grupuri de camere.", + "order": { + "label": "Ordine interfață", + "description": "Ordine numerică folosită pentru sortarea camerei în interfață (dashboard și liste); numerele mai mari apar mai târziu." + }, + "dashboard": { + "label": "Arată în interfață", + "description": "Comută vizibilitatea acestei camere peste tot în interfața Frigate. Dezactivarea acestei opțiuni va necesita editarea manuală a configurației pentru a vedea din nou camera în interfață." + } + }, + "webui_url": { + "label": "URL cameră", + "description": "URL pentru a vizita camera direct din pagina de sistem" + }, + "zones": { + "label": "Zone", + "description": "Zonele îți permit să definești o arie specifică în cadru pentru a determina dacă un obiect se află sau nu într-un anumit loc.", + "friendly_name": { + "label": "Nume zonă", + "description": "Un nume ușor de recunoscut pentru zonă, afișat în interfața Frigate. Dacă nu este setat, se va folosi o versiune formatată a numelui zonei." + }, + "enabled": { + "label": "Activat", + "description": "Activează sau dezactivează această zonă. Zonele dezactivate sunt ignorate în timpul funcționării." + }, + "enabled_in_config": { + "label": "Păstrează starea originală a zonei." + }, + "filters": { + "label": "Filtre zonă", + "description": "Filtre aplicate obiectelor din această zonă. Folosite pentru a reduce alarmele false sau pentru a restricționa ce obiecte sunt considerate prezente în zonă.", + "min_area": { + "label": "Aria minimă obiect", + "description": "Aria minimă a chenarului (pixeli sau procentaj) necesară pentru acest tip de obiect. Poate fi în pixeli (int) sau procentaj (float între 0.000001 și 0.99)." + }, + "max_area": { + "label": "Aria maximă obiect", + "description": "Aria maximă a chenarului (pixeli sau procentaj) permisă pentru acest tip de obiect. Poate fi în pixeli (int) sau procentaj (float între 0.000001 și 0.99)." + }, + "min_ratio": { + "label": "Raport aspect minim", + "description": "Raportul minim lățime/înălțime cerut pentru ca chenarul să se califice." + }, + "max_ratio": { + "label": "Raport aspect maxim", + "description": "Raportul maxim lățime/înălțime permis pentru ca chenarul să se califice." + }, + "threshold": { + "label": "Prag de încredere", + "description": "Pragul mediu de încredere a detecției necesar pentru ca obiectul să fie considerat un rezultat real." + }, + "min_score": { + "label": "Încredere minimă", + "description": "Încrederea minimă a detecției pe un singur cadru necesară pentru ca obiectul să fie numărat." + }, + "mask": { + "label": "Mască filtru", + "description": "Coordonatele poligonului care definesc unde se aplică acest filtru în cadrul imaginii." + }, + "raw_mask": { + "label": "Mască brută" + } + }, + "coordinates": { + "label": "Coordonate", + "description": "Coordonatele poligonului care definesc aria zonei. Poate fi un șir separat prin virgule sau o listă de șiruri de coordonate. Coordonatele trebuie să fie relative (0-1) sau absolute (legacy)." + }, + "distances": { + "label": "Distanțe reale", + "description": "Distanțe reale opționale pentru fiecare latură a patrulaterului zonei, folosite pentru calcule de viteză sau distanță. Trebuie să aibă exact 4 valori dacă este setat." + }, + "inertia": { + "label": "Cadre de inerție", + "description": "Numărul de cadre consecutive în care un obiect trebuie detectat în zonă înainte de a fi considerat prezent. Ajută la filtrarea detecțiilor trecătoare." + }, + "loitering_time": { + "label": "Secunde staționare", + "description": "Numărul de secunde în care un obiect trebuie să rămână în zonă pentru a fi considerat în staționare (loitering). Setează pe 0 pentru a dezactiva detecția staționării." + }, + "speed_threshold": { + "label": "Viteză minimă", + "description": "Viteza minimă (în unități reale dacă distanțele sunt setate) necesară pentru ca un obiect să fie considerat prezent în zonă. Folosit pentru trigger-e de zonă bazate pe viteză." + }, + "objects": { + "label": "Obiecte trigger", + "description": "Lista tipurilor de obiecte (din labelmap) care pot declanșa această zonă. Poate fi un șir sau o listă de șiruri. Dacă este gol, toate obiectele sunt luate în considerare." + } + }, + "enabled_in_config": { + "label": "Stare inițială cameră", + "description": "Păstrează starea originală a camerei." + } +} diff --git a/web/public/locales/ro/config/global.json b/web/public/locales/ro/config/global.json new file mode 100644 index 000000000..13455527c --- /dev/null +++ b/web/public/locales/ro/config/global.json @@ -0,0 +1,2192 @@ +{ + "audio": { + "label": "Evenimente audio", + "enabled": { + "label": "Activare detecție audio", + "description": "Activează sau dezactivează detecția audio pentru toate camerele." + }, + "max_not_heard": { + "label": "Timeout final", + "description": "Secunde fără tipul audio configurat înainte ca evenimentul să fie încheiat." + }, + "min_volume": { + "label": "Volum minim", + "description": "Pragul minim de volum RMS; valorile mici cresc sensibilitatea (ex: 200 ridicată, 500 medie, 1000 scăzută)." + }, + "listen": { + "label": "Tipuri ascultate", + "description": "Lista de evenimente audio de detectat (ex: lătrat, alarmă_incendiu, țipăt, vorbire)." + }, + "filters": { + "label": "Filtre audio", + "description": "Setări de filtrare per tip audio, cum ar fi pragul de încredere." + }, + "enabled_in_config": { + "label": "Stare audio originală", + "description": "Indică dacă detecția audio a fost activată inițial în fișierul de configurare static." + }, + "num_threads": { + "label": "Thread-uri detecție", + "description": "Numărul de thread-uri pentru procesarea detecției audio." + }, + "description": "Setări pentru detecția evenimentelor audio; pot fi suprascrise per cameră." + }, + "audio_transcription": { + "label": "Transcriere audio", + "description": "Setări pentru transcrierea audio live și a vorbirii pentru evenimente.", + "live_enabled": { + "label": "Transcriere live", + "description": "Activează streaming-ul de transcriere live pe măsură ce sunetul e recepționat." + }, + "enabled": { + "label": "Activare transcriere audio", + "description": "Activează transcrierea automată pentru toate camerele." + }, + "language": { + "label": "Limbă transcriere", + "description": "Codul de limbă (ex: 'ro' pentru română)." + }, + "device": { + "label": "Dispozitiv transcriere", + "description": "CPU/GPU pentru modelul de transcriere. Momentan sunt suportate doar plăcile NVIDIA CUDA." + }, + "model_size": { + "label": "Mărime model", + "description": "Mărimea modelului pentru transcrierea offline a evenimentelor." + } + }, + "birdseye": { + "label": "Birdseye", + "description": "Setări pentru vizualizarea compusă Birdseye care combină mai multe stream-uri într-un singur layout.", + "enabled": { + "label": "Activare Birdseye", + "description": "Activează sau dezactivează funcția Birdseye." + }, + "mode": { + "label": "Mod urmărire", + "description": "Modul de includere a camerelor în Birdseye: 'objects', 'motion' sau 'continuous'." + }, + "order": { + "label": "Poziție", + "description": "Poziția numerică ce controlează ordinea camerei în layout-ul Birdseye." + }, + "restream": { + "label": "Restream-uri RTSP", + "description": "Redifuzează ieșirea Birdseye ca stream RTSP; activarea va menține Birdseye pornit continuu." + }, + "width": { + "label": "Lățime", + "description": "Lățimea de ieșire în pixeli a cadrului Birdseye." + }, + "height": { + "label": "Înălțime", + "description": "Înălțimea de ieșire în pixeli a cadrului Birdseye." + }, + "quality": { + "label": "Calitate encodare", + "description": "Calitatea encodării pentru feed-ul mpeg1 Birdseye (1 maxim, 31 minim)." + }, + "inactivity_threshold": { + "label": "Prag inactivitate", + "description": "Secunde de inactivitate după care o cameră nu mai este afișată în Birdseye." + }, + "layout": { + "label": "Layout", + "description": "Opțiuni de layout pentru compoziția Birdseye.", + "scaling_factor": { + "label": "Factor scalare", + "description": "Factorul de scalare folosit de calculatorul de layout (între 1.0 și 5.0)." + }, + "max_cameras": { + "label": "Nr. maxim camere", + "description": "Numărul maxim de camere afișate simultan în Birdseye." + } + }, + "idle_heartbeat_fps": { + "label": "FPS heartbeat inactiv", + "description": "Cadre pe secundă pentru re-trimiterea ultimului cadru Birdseye când e inactiv; 0 pentru dezactivare." + } + }, + "detect": { + "label": "Detecție obiecte", + "description": "Setări pentru rolul de detecție folosit pentru a rula recunoașterea obiectelor și trackerele.", + "enabled": { + "label": "Detecție activată", + "description": "Activează detecția pentru toate camerele. Trebuie să fie activă pentru ca urmărirea obiectelor să funcționeze." + }, + "height": { + "label": "Înălțime detect", + "description": "Înălțimea cadrelor pentru stream-ul de detect; lasă gol pentru rezoluția nativă." + }, + "width": { + "label": "Lățime detect", + "description": "Lățimea cadrelor pentru stream-ul de detect; lasă gol pentru rezoluția nativă." + }, + "fps": { + "label": "FPS detect", + "description": "FPS-ul dorit pentru detecție; valori mici reduc consumul CPU (recomandat 5, max 10 pentru obiecte foarte rapide)." + }, + "min_initialized": { + "label": "Cadre minime inițializare", + "description": "Numărul de detecții consecutive necesare înainte de a crea un obiect urmărit. Crește valoarea pentru a reduce alarmele false." + }, + "max_disappeared": { + "label": "Cadre maxime dispariție", + "description": "Numărul de cadre fără detecție înainte ca un obiect urmărit să fie considerat dispărut." + }, + "stationary": { + "label": "Configurație obiecte staționare", + "description": "Setări pentru gestionarea obiectelor care rămân nemișcate o perioadă.", + "interval": { + "label": "Interval staționar", + "description": "Cât de des (în cadre) se verifică prezența unui obiect staționar." + }, + "threshold": { + "label": "Prag staționar", + "description": "Numărul de cadre fără schimbare de poziție pentru a marca un obiect ca staționar." + }, + "max_frames": { + "label": "Cadre maxime", + "description": "Limitează cât timp sunt urmărite obiectele staționare înainte de a fi ignorate.", + "default": { + "label": "Cadre maxime implicit", + "description": "Valoarea implicită pentru urmărirea obiectelor staționare." + }, + "objects": { + "label": "Cadre maxime per obiect", + "description": "Suprascrieri per obiect pentru durata urmăririi staționare." + } + }, + "classifier": { + "label": "Activare clasificator vizual", + "description": "Folosește un clasificator vizual pentru a detecta obiectele cu adevărat staționare, chiar dacă chenarul oscilează." + } + }, + "annotation_offset": { + "label": "Offset adnotare", + "description": "Milisecunde pentru a decala adnotările de detecție pentru a alinia mai bine chenarele cu înregistrarea." + } + }, + "face_recognition": { + "label": "Recunoaștere facială", + "enabled": { + "label": "Activare recunoaștere facială", + "description": "Activează sau dezactivează recunoașterea facială." + }, + "min_area": { + "label": "Arie minimă față", + "description": "Aria minimă (pixeli) pentru a încerca recunoașterea." + }, + "description": "Setări pentru detecția și recunoașterea fețelor.", + "model_size": { + "label": "Mărime model", + "description": "Mărimea modelului pentru înglobări faciale; cel mare poate cere GPU." + }, + "unknown_score": { + "label": "Prag scor necunoscut", + "description": "Pragul de distanță sub care o față e considerată potrivire (mai mare = mai strict)." + }, + "detection_threshold": { + "label": "Prag detecție", + "description": "Încrederea minimă pentru o detecție facială validă." + }, + "recognition_threshold": { + "label": "Prag recunoaștere", + "description": "Distanța de înglobare pentru a considera că două fețe se potrivesc." + }, + "min_faces": { + "label": "Nr. minim fețe", + "description": "Numărul de recunoașteri necesare înainte de a aplica o sub-etichetă persoanei." + }, + "save_attempts": { + "label": "Salvează încercările", + "description": "Numărul de încercări păstrate pentru interfața de recunoașteri recente." + }, + "blur_confidence_filter": { + "label": "Filtru încredere blur", + "description": "Ajustează scorul în funcție de claritate pentru a reduce rezultatele false la fețele de slabă calitate." + }, + "device": { + "label": "Dispozitiv", + "description": "Aceasta este o suprascriere pentru a viza un anumit dispozitiv. Consultă https://onnxruntime.ai/docs/execution-providers/ pentru mai multe informații" + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Setări FFmpeg: cale binar, argumente, accelerare hardware și ieșiri per rol.", + "path": { + "label": "Cale FFmpeg", + "description": "Calea către binarul FFmpeg sau un alias de versiune (\"5.0\" sau \"7.0\")." + }, + "global_args": { + "label": "Argumente globale FFmpeg", + "description": "Argumente globale pasate proceselor FFmpeg." + }, + "hwaccel_args": { + "label": "Argumente accelerare hardware", + "description": "Argumente pentru accelerarea hardware. Se recomandă presetările specifice furnizorului." + }, + "input_args": { + "label": "Argumente intrare", + "description": "Argumente aplicate stream-urilor de intrare FFmpeg." + }, + "output_args": { + "label": "Argumente ieșire", + "description": "Argumente de ieșire implicite pentru diverse roluri (detect, record).", + "detect": { + "label": "Argumente ieșire detect", + "description": "Argumente implicite pentru stream-urile cu rol detect." + }, + "record": { + "label": "Argumente ieșire record", + "description": "Argumente implicite pentru stream-urile cu rol record." + } + }, + "retry_interval": { + "label": "Timp reîncercare FFmpeg", + "description": "Secunde de așteptare înainte de reconectarea unui stream după o eroare. Implicit 10." + }, + "apple_compatibility": { + "label": "Compatibilitate Apple", + "description": "Activează tag-ul HEVC pentru compatibilitate mai bună cu playerele Apple la înregistrările H.265." + }, + "gpu": { + "label": "Index GPU", + "description": "Indexul GPU implicit folosit pentru accelerarea hardware." + }, + "inputs": { + "label": "Intrări cameră", + "description": "Listă de definiții pentru stream-urile de intrare (căi și roluri).", + "path": { + "label": "Cale intrare", + "description": "URL-ul sau calea stream-ului de intrare al camerei." + }, + "roles": { + "label": "Roluri intrare", + "description": "Rolurile atribuite acestui stream de intrare." + }, + "global_args": { + "label": "Argumente globale FFmpeg", + "description": "Argumente globale pentru acest stream de intrare." + }, + "hwaccel_args": { + "label": "Argumente accelerare hardware", + "description": "Argumente de accelerare hardware pentru acest stream." + }, + "input_args": { + "label": "Argumente intrare", + "description": "Argumente specifice acestui stream." + } + } + }, + "live": { + "label": "Redare live", + "streams": { + "label": "Nume stream-uri live", + "description": "Maparea numelor de stream-uri configurate către numele restream/go2rtc folosite live." + }, + "height": { + "label": "Înălțime live", + "description": "Înălțimea (pixeli) pentru redarea jsmpeg în UI; trebuie să fie <= înălțimea stream-ului de detect." + }, + "quality": { + "label": "Calitate live", + "description": "Calitatea encodării pentru stream-ul jsmpeg (1 maxim, 31 minim)." + }, + "description": "Setări folosite de interfața web pentru a controla rezoluția și calitatea stream-ului live." + }, + "lpr": { + "label": "Recunoaștere numere înmatriculare", + "description": "Setări pentru recunoașterea numerelor de înmatriculare, inclusiv praguri de detecție, formatare și numere cunoscute.", + "enabled": { + "label": "Activare LPR", + "description": "Activează sau dezactivează recunoașterea numerelor de înmatriculare." + }, + "expire_time": { + "label": "Secunde expirare", + "description": "Timpul în secunde după care un număr nevăzut este expirat din tracker (doar pentru camerele LPR dedicate)." + }, + "min_area": { + "label": "Arie minimă plăcuță", + "description": "Aria minimă (pixeli) pentru a încerca recunoașterea." + }, + "enhancement": { + "label": "Nivel îmbunătățire", + "description": "Nivelul de îmbunătățire (0-10) aplicat decupajelor cu numere înainte de OCR; valorile mai mari nu îmbunătățesc mereu rezultatele, iar nivelurile peste 5 pot funcționa doar cu numerele pe timp de noapte și trebuie folosite cu atenție." + }, + "model_size": { + "label": "Mărime model", + "description": "Mărimea modelului pentru text. Majoritatea ar trebui să folosească 'small'." + }, + "detection_threshold": { + "label": "Prag detecție", + "description": "Încrederea necesară pentru a începe scanarea OCR pe o plăcuță suspectă." + }, + "recognition_threshold": { + "label": "Prag recunoaștere", + "description": "Încrederea necesară pentru a atașa textul recunoscut ca sub-etichetă." + }, + "min_plate_length": { + "label": "Lungime minimă plăcuță", + "description": "Numărul minim de caractere pentru ca un număr să fie considerat valid." + }, + "format": { + "label": "Regex format număr", + "description": "Regex opțional pentru validarea șirurilor de numere recunoscute față de un format așteptat." + }, + "match_distance": { + "label": "Distanță de potrivire", + "description": "Numărul de nepotriviri de caractere permise la compararea numerelor detectate cu cele cunoscute." + }, + "known_plates": { + "label": "Numere cunoscute", + "description": "Listă de numere sau regex-uri pentru monitorizare specială sau alerte." + }, + "debug_save_plates": { + "label": "Salvare numere pentru debug", + "description": "Salvează imaginile decupate cu numere pentru depanarea performanței LPR." + }, + "device": { + "label": "Dispozitiv", + "description": "Aceasta este o suprascriere pentru a viza un anumit dispozitiv. Consultă https://onnxruntime.ai/docs/execution-providers/ pentru mai multe informații" + }, + "replace_rules": { + "label": "Reguli de înlocuire", + "description": "Reguli de înlocuire regex folosite pentru a normaliza șirurile numerelor detectate înainte de potrivire.", + "pattern": { + "label": "Model regex" + }, + "replacement": { + "label": "Șir de înlocuire" + } + } + }, + "motion": { + "label": "Detecție mișcare", + "enabled": { + "label": "Activare detecție mișcare", + "description": "Activează sau dezactivează detecția mișcării pentru toate camerele." + }, + "threshold": { + "label": "Prag mișcare", + "description": "Pragul de diferență între pixeli; valorile mari reduc sensibilitatea (1-255)." + }, + "lightning_threshold": { + "label": "Prag fulger/lumină", + "description": "Prag pentru detectarea și ignorarea vârfurilor scurte de lumină (o valoare mai mică este mai sensibilă, valori între 0.3 și 1.0). Acest lucru nu oprește complet detecția mișcării; doar determină detectorul să nu mai analizeze cadre suplimentare odată ce pragul este depășit. Înregistrările bazate pe mișcare sunt create în continuare în timpul acestor evenimente." + }, + "improve_contrast": { + "label": "Îmbunătățire contrast", + "description": "Aplică o îmbunătățire a contrastului înainte de analiza mișcării pentru a ajuta detecția." + }, + "contour_area": { + "label": "Arie contur", + "description": "Aria minimă a conturului în pixeli pentru a fi considerat mișcare." + }, + "delta_alpha": { + "label": "Delta alpha", + "description": "Factor de blending alpha folosit în diferențierea cadrelor." + }, + "frame_alpha": { + "label": "Cadru alfa", + "description": "Valoarea alpha pentru amestecarea cadrelor la preprocesarea mișcării." + }, + "frame_height": { + "label": "Înălțime cadru", + "description": "Înălțimea la care sunt scalate cadrele pentru calculul mișcării." + }, + "mask": { + "label": "Coordonate mască", + "description": "Coordonate x,y care definesc poligonul măștii de mișcare." + }, + "mqtt_off_delay": { + "label": "Întârziere MQTT off", + "description": "Secunde de așteptare după ultima mișcare înainte de a trimite starea 'off' prin MQTT." + }, + "enabled_in_config": { + "label": "Stare mișcare originală", + "description": "Indică dacă detecția mișcării a fost activă în configurația inițială." + }, + "raw_mask": { + "label": "Mască brută" + }, + "description": "Setări implicite pentru detecția mișcării, aplicate dacă nu sunt suprascrise per cameră.", + "skip_motion_threshold": { + "label": "Ignoră pragul de mișcare", + "description": "Dacă se schimbă mai mult de această fracțiune din imagine într-un singur cadru, detectorul nu va returna nicio casetă de mișcare și se va recalibra imediat. Acest lucru poate economisi CPU și reduce alertele false în timpul fulgerelor, furtunilor etc., dar poate rata evenimente reale, cum ar fi o cameră PTZ care urmărește automat un obiect. Compromisul este între a pierde câțiva megaocteți de înregistrări versus a revizui câteva clipuri scurte. Interval 0.0 - 1.0." + } + }, + "objects": { + "label": "Obiecte", + "description": "Setări implicite pentru urmărire, inclusiv ce etichete se urmăresc și filtrele per obiect.", + "track": { + "label": "Obiecte de urmărit", + "description": "Lista etichetelor de obiecte urmărite global." + }, + "filters": { + "label": "Filtre obiecte", + "description": "Filtre pentru a reduce alarmele false (arie, raport, încredere).", + "min_area": { + "label": "Arie minimă obiect", + "description": "Aria minimă a chenarului (pixeli sau procent)." + }, + "max_area": { + "label": "Arie maximă obiect", + "description": "Aria maximă a chenarului (pixeli sau procent)." + }, + "min_ratio": { + "label": "Raport aspect minim", + "description": "Raportul minim lățime/înălțime pentru chenar." + }, + "max_ratio": { + "label": "Raport aspect maxim", + "description": "Raportul maxim lățime/înălțime pentru chenar." + }, + "threshold": { + "label": "Prag încredere", + "description": "Încrederea medie necesară pentru a considera obiectul valid." + }, + "min_score": { + "label": "Scor minim", + "description": "Încrederea minimă la un singur cadru pentru a număra obiectul." + }, + "mask": { + "label": "Mască filtru", + "description": "Poligonul unde se aplică acest filtru în cadru." + }, + "raw_mask": { + "label": "Mască brută" + } + }, + "mask": { + "label": "Mască obiect", + "description": "Mască pentru a preveni detecția obiectelor în anumite zone." + }, + "raw_mask": { + "label": "Mască brută" + }, + "genai": { + "label": "Configurație obiecte GenAI", + "description": "Opțiuni GenAI pentru descrierea obiectelor urmărite și trimiterea cadrelor.", + "enabled": { + "label": "Activare GenAI", + "description": "Activează generarea de descrieri prin GenAI pentru obiectele urmărite." + }, + "use_snapshot": { + "label": "Folosește snapshot-uri", + "description": "Folosește snapshot-urile obiectelor în loc de miniaturi pentru GenAI." + }, + "prompt": { + "label": "Prompt descriere", + "description": "Șablonul de prompt implicit pentru descrierile GenAI." + }, + "object_prompts": { + "label": "Prompt-uri per obiect", + "description": "Prompt-uri personalizate pentru anumite etichete de obiecte." + }, + "objects": { + "label": "Obiecte GenAI", + "description": "Lista etichetelor de obiecte care vor fi trimise la GenAI." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele prin care trebuie să treacă obiectele pentru a genera descrieri." + }, + "debug_save_thumbnails": { + "label": "Salvează miniaturile", + "description": "Salvează miniaturile trimise la GenAI pentru depanare." + }, + "send_triggers": { + "label": "Trigger-e GenAI", + "description": "Definește când sunt trimise cadrele la GenAI (la final, după actualizări etc.).", + "tracked_object_end": { + "label": "Trimite la final", + "description": "Trimite cererea la GenAI când urmărirea obiectului s-a terminat." + }, + "after_significant_updates": { + "label": "Trigger GenAI timpuriu", + "description": "Trimite la GenAI după un număr de actualizări semnificative ale obiectului." + } + }, + "enabled_in_config": { + "label": "Stare GenAI originală", + "description": "Indică dacă GenAI a fost activat în configurația inițială." + } + } + }, + "record": { + "label": "Înregistrare", + "enabled": { + "label": "Activare înregistrare", + "description": "Activează sau dezactivează înregistrarea global." + }, + "expire_interval": { + "label": "Interval curățare înregistrări", + "description": "Minute între trecerile de curățare a segmentelor expirate." + }, + "continuous": { + "label": "Retenție continuă", + "description": "Zile de păstrare a înregistrărilor indiferent de obiecte sau mișcare. Pune 0 pentru a păstra doar alerte/detecții.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + } + }, + "motion": { + "label": "Retenție mișcare", + "description": "Zile de păstrare pentru înregistrările declanșate de mișcare.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + } + }, + "detections": { + "label": "Retenție detecții", + "description": "Setări pentru evenimentele de detecție, inclusiv duratele pre/post captură.", + "pre_capture": { + "label": "Secunde pre-captură", + "description": "Secunde incluse înainte de evenimentul detectat." + }, + "post_capture": { + "label": "Secunde post-captură", + "description": "Secunde incluse după încheierea evenimentului." + }, + "retain": { + "label": "Retenție eveniment", + "description": "Setări de retenție pentru clipurile cu detecții.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile de păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Mod: 'all' (tot), 'motion' (doar segmente cu mișcare) sau 'active_objects' (doar cu obiecte active)." + } + } + }, + "alerts": { + "label": "Retenție alerte", + "description": "Setări de retenție pentru evenimentele de tip alertă.", + "pre_capture": { + "label": "Secunde pre-captură", + "description": "Secunde incluse înainte de alertă." + }, + "post_capture": { + "label": "Secunde post-captură", + "description": "Secunde incluse după alertă." + }, + "retain": { + "label": "Retenție eveniment", + "description": "Setări de păstrare pentru alerte.", + "days": { + "label": "Zile retenție", + "description": "Numărul de zile pentru păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Modul de păstrare a segmentelor." + } + } + }, + "export": { + "label": "Configurație export", + "description": "Setări pentru exportul înregistrărilor (timelapse, accelerare hardware).", + "hwaccel_args": { + "label": "Argumente hwaccel export", + "description": "Argumente de accelerare hardware pentru operațiunile de export/transcodare." + } + }, + "preview": { + "label": "Configurație preview", + "description": "Setări pentru calitatea preview-urilor din interfață.", + "quality": { + "label": "Calitate preview", + "description": "Nivel calitate (foarte_scăzută, scăzută, medie, ridicată, foarte ridicată)." + } + }, + "enabled_in_config": { + "label": "Stare înregistrare originală", + "description": "Indică dacă înregistrarea a fost activă în configurația inițială." + }, + "description": "Setări de înregistrare și retenție aplicate camerelor." + }, + "review": { + "label": "Revizuire", + "alerts": { + "label": "Configurație alerte", + "description": "Setări pentru obiectele care generează alerte și modul lor de retenție.", + "enabled": { + "label": "Activare alerte", + "description": "Activează sau dezactivează generarea alertelor." + }, + "labels": { + "label": "Etichete alerte", + "description": "Obiecte care sunt considerate alerte (ex: om, mașină)." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele necesare pentru a declanșa o alertă." + }, + "enabled_in_config": { + "label": "Stare alerte originală", + "description": "Dacă alertele au fost active inițial în fișierul de config." + }, + "cutoff_time": { + "label": "Timp limită alerte", + "description": "Secunde de așteptare după încetarea activității înainte de a încheia alerta." + } + }, + "detections": { + "label": "Configurație detecții", + "description": "Setări pentru evenimentele de detecție (non-alertă).", + "enabled": { + "label": "Activare detecții", + "description": "Activează sau dezactivează evenimentele de detecție." + }, + "labels": { + "label": "Etichete detecții", + "description": "Obiecte care se consideră detecții." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele necesare pentru o detecție." + }, + "cutoff_time": { + "label": "Timp limită detecții", + "description": "Secunde de așteptare înainte de a încheia o detecție." + }, + "enabled_in_config": { + "label": "Stare detecții originală", + "description": "Dacă detecțiile au fost active în configurația inițială." + } + }, + "genai": { + "label": "Configurație GenAI", + "description": "Controlul AI-ului generativ pentru descrieri și rezumate în review.", + "enabled": { + "label": "Activare descrieri GenAI", + "description": "Activează descrierile și rezumatele generate de AI pentru elementele de review." + }, + "alerts": { + "label": "GenAI pentru alerte", + "description": "Folosește GenAI pentru descrierea alertelor." + }, + "detections": { + "label": "GenAI pentru detecții", + "description": "Folosește GenAI pentru descrierea detecțiilor." + }, + "image_source": { + "label": "Sursă imagine review", + "description": "Sursa imaginilor ('preview' sau 'recordings'); 'recordings' e mai calitativ dar consumă mai multe token-uri." + }, + "additional_concerns": { + "label": "Preocupări suplimentare", + "description": "Listă de note sau griji pe care GenAI să le considere când evaluează activitatea pe cameră." + }, + "debug_save_thumbnails": { + "label": "Salvează miniaturile", + "description": "Salvează miniaturile trimise la furnizorul GenAI pentru depanare." + }, + "enabled_in_config": { + "label": "Stare GenAI originală", + "description": "Dacă review-ul GenAI a fost activ inițial." + }, + "preferred_language": { + "label": "Limbă preferată", + "description": "Limba în care vrei ca GenAI să genereze răspunsurile." + }, + "activity_context_prompt": { + "label": "Prompt context activitate", + "description": "Prompt personalizat care descrie ce este suspect și ce nu pentru rezumatele GenAI." + } + }, + "description": "Setări pentru alerte, detecții și rezumate GenAI folosite în UI și stocare." + }, + "semantic_search": { + "label": "Căutare semantică", + "triggers": { + "label": "Trigger-e", + "description": "Acțiuni și criterii pentru trigger-ele de căutare semantică specifice camerelor.", + "friendly_name": { + "label": "Nume sugestiv", + "description": "Nume opțional afișat în UI pentru acest trigger." + }, + "enabled": { + "label": "Activare trigger", + "description": "Activează sau dezactivează acest trigger." + }, + "type": { + "label": "Tip trigger", + "description": "Tip: 'thumbnail' (compară cu imagine) sau 'description' (compară cu text)." + }, + "data": { + "label": "Conținut trigger", + "description": "Textul sau ID-ul miniaturii de comparat cu obiectele urmărite." + }, + "threshold": { + "label": "Prag trigger", + "description": "Scorul minim de similitudine (0-1) pentru activare." + }, + "actions": { + "label": "Acțiuni trigger", + "description": "Lista de acțiuni (notificare, sub_label, atribut) la activare." + } + }, + "description": "Setări pentru căutarea semantică, care creează și caută în înglobări de obiecte pentru a găsi elemente similare.", + "enabled": { + "label": "Activare căutare semantică", + "description": "Activează sau dezactivează funcția de căutare semantică." + }, + "reindex": { + "label": "Reindexare la pornire", + "description": "Declanșează o reindexare completă a obiectelor istorice în baza de date de înglobări." + }, + "model": { + "label": "Model căutare semantică", + "description": "Modelul de înglobări folosit (ex: 'jinav1')." + }, + "model_size": { + "label": "Mărime model", + "description": "Alege mărimea; 'small' rulează pe CPU, 'large' cere de regulă GPU." + }, + "device": { + "label": "Dispozitiv", + "description": "Aceasta este o suprascriere pentru a viza un anumit dispozitiv. Consultă https://onnxruntime.ai/docs/execution-providers/ pentru mai multe informații" + } + }, + "snapshots": { + "label": "Snapshot-uri", + "enabled": { + "label": "Snapshot-uri activate", + "description": "Activează sau dezactivează salvarea de snapshot-uri." + }, + "clean_copy": { + "label": "Salvează copie curată", + "description": "Salvează și o copie fără adnotări a snapshot-ului." + }, + "timestamp": { + "label": "Overlay timestamp", + "description": "Pune data și ora pe snapshot-urile salvate." + }, + "bounding_box": { + "label": "Overlay chenar", + "description": "Desenează chenarele obiectelor pe snapshot-uri." + }, + "crop": { + "label": "Decupează snapshot-ul", + "description": "Decupează snapshot-ul pe mărimea obiectului detectat." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele prin care trebuie să treacă un obiect pentru a salva un snapshot." + }, + "height": { + "label": "Înălțime snapshot", + "description": "Înălțimea la care se redimensionează snapshot-ul; lasă gol pentru dimensiunea originală." + }, + "retain": { + "label": "Retenție snapshot-uri", + "description": "Setări pentru păstrarea snapshot-urilor.", + "default": { + "label": "Retenție implicită", + "description": "Numărul implicit de zile pentru păstrare." + }, + "mode": { + "label": "Mod retenție", + "description": "Mod retenție: 'all', 'motion' sau 'active_objects'." + }, + "objects": { + "label": "Retenție per obiect", + "description": "Suprascrieri pentru zilele de retenție ale snapshot-urilor per obiect." + } + }, + "quality": { + "label": "Calitate JPEG", + "description": "Calitatea encodării JPEG pentru snapshot-uri (0-100)." + }, + "description": "Setări pentru snapshot-urile JPEG ale obiectelor urmărite." + }, + "timestamp_style": { + "label": "Stil timestamp", + "position": { + "label": "Poziție timestamp", + "description": "Unde apare data/ora pe imagine (stânga-sus/dreapta-sus etc.)." + }, + "format": { + "label": "Format timestamp", + "description": "Formatul datei (coduri Python datetime)." + }, + "color": { + "label": "Culoare timestamp", + "description": "Valori RGB pentru textul datei.", + "red": { + "label": "Roșu", + "description": "Componenta roșie (0-255)." + }, + "green": { + "label": "Verde", + "description": "Componenta verde (0-255)." + }, + "blue": { + "label": "Albastru", + "description": "Componenta albastră (0-255)." + } + }, + "thickness": { + "label": "Grosime timestamp", + "description": "Grosimea liniei textului." + }, + "effect": { + "label": "Efect timestamp", + "description": "Efect vizual pentru text (fără, solid, umbră)." + }, + "description": "Opțiuni de stilizare pentru data și ora din feed-ul de debug și snapshot-uri." + }, + "mqtt": { + "label": "MQTT", + "description": "Setări pentru conectarea și publicarea telemetriei, snapshot-urilor și detaliilor despre evenimente către un broker MQTT.", + "enabled": { + "label": "Activează MQTT", + "description": "Activează sau dezactivează integrarea MQTT pentru stare, evenimente și snapshot-uri." + }, + "host": { + "label": "Host MQTT", + "description": "Numele de gazdă sau adresa IP a brokerului MQTT." + }, + "port": { + "label": "Port MQTT", + "description": "Portul brokerului MQTT (de obicei 1883 pentru MQTT simplu)." + }, + "topic_prefix": { + "label": "Prefix topic", + "description": "Prefixul topicului MQTT pentru toate subiectele Frigate; trebuie să fie unic dacă rulezi mai multe instanțe." + }, + "client_id": { + "label": "ID client", + "description": "Identificatorul de client folosit la conectarea la brokerul MQTT; ar trebui să fie unic pe instanță." + }, + "stats_interval": { + "label": "Interval statistici", + "description": "Intervalul în secunde pentru publicarea statisticilor de sistem și de cameră către MQTT." + }, + "user": { + "label": "Utilizator MQTT", + "description": "Utilizator MQTT opțional; poate fi furnizat prin variabile de mediu sau secrete." + }, + "password": { + "label": "Parolă MQTT", + "description": "Parolă MQTT opțională; poate fi furnizată prin variabile de mediu sau secrete." + }, + "tls_ca_certs": { + "label": "Certificate CA TLS", + "description": "Calea către certificatul CA pentru conexiuni TLS la broker (pentru certificate auto-semnate)." + }, + "tls_client_cert": { + "label": "Certificat client", + "description": "Calea certificatului de client pentru autentificare reciprocă TLS; nu seta utilizator/parolă când folosești certificate de client." + }, + "tls_client_key": { + "label": "Cheie client", + "description": "Calea cheii private pentru certificatul de client." + }, + "tls_insecure": { + "label": "TLS nesecurizat", + "description": "Permite conexiuni TLS nesecurizate prin săritura verificării numelui de gazdă (nu este recomandat)." + }, + "qos": { + "label": "QoS MQTT", + "description": "Nivelul de calitate a serviciului pentru publicările/abonările MQTT (0, 1 sau 2)." + } + }, + "notifications": { + "label": "Notificări", + "enabled": { + "label": "Activează notificările", + "description": "Activează sau dezactivează notificările pentru toate camerele; pot fi suprascrise per cameră." + }, + "email": { + "label": "Email notificare", + "description": "Adresa de email folosită pentru notificări push sau cerută de anumiți furnizori de notificări." + }, + "cooldown": { + "label": "Perioadă de răcire", + "description": "Timpul de așteptare (secunde) între notificări pentru a evita spamarea destinatarilor." + }, + "enabled_in_config": { + "label": "Stare originală notificări", + "description": "Indică dacă notificările au fost activate în configurația statică originală." + }, + "description": "Setări pentru a activa și controla notificările pentru toate camerele; pot fi suprascrise per cameră." + }, + "onvif": { + "label": "ONVIF", + "description": "Setări pentru conexiunea ONVIF și autotracking PTZ pentru această cameră.", + "host": { + "label": "Gazdă ONVIF", + "description": "Gazda (și schema opțională) pentru serviciul ONVIF al acestei camere." + }, + "port": { + "label": "Port ONVIF", + "description": "Numărul portului pentru serviciul ONVIF." + }, + "user": { + "label": "Utilizator ONVIF", + "description": "Utilizator pentru autentificarea ONVIF; unele dispozitive necesită un utilizator administrator pentru ONVIF." + }, + "password": { + "label": "Parolă ONVIF", + "description": "Parola pentru autentificarea ONVIF." + }, + "tls_insecure": { + "label": "Dezactivează verificare TLS", + "description": "Sari peste verificarea TLS și dezactivează autentificarea digest pentru ONVIF (nesigur; a se utiliza doar în rețele sigure)." + }, + "autotracking": { + "label": "Urmărire automată", + "description": "Urmărește automat obiectele în mișcare și menține-le centrate în cadru folosind mișcările camerei PTZ.", + "enabled": { + "label": "Activează Autotracking", + "description": "Activează sau dezactivează urmărirea automată PTZ a obiectelor detectate." + }, + "calibrate_on_startup": { + "label": "Calibrare la pornire", + "description": "Măsoară vitezele motorului PTZ la pornire pentru a îmbunătăți precizia urmăririi. Frigate va actualiza config-ul cu movement_weights după calibrare." + }, + "zooming": { + "label": "Mod zoom", + "description": "Controlează comportamentul zoom-ului: dezactivat (doar pan/tilt), absolut (cel mai compatibil) sau relativ (pan/tilt/zoom concurent)." + }, + "zoom_factor": { + "label": "Factor zoom", + "description": "Controlează nivelul de zoom pe obiectele urmărite. Valorile mai mici păstrează mai mult din scenă; valorile mai mari fac zoom mai aproape, dar pot pierde urmărirea. Valori între 0.1 și 0.75." + }, + "track": { + "label": "Obiecte urmărite", + "description": "Listă de tipuri de obiecte care ar trebui să declanșeze autotracking-ul." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Obiectele trebuie să intre în una dintre aceste zone înainte ca autotracking-ul să înceapă." + }, + "return_preset": { + "label": "Preset de întoarcere", + "description": "Numele preset-ului ONVIF configurat în firmware-ul camerei pentru întoarcere după ce urmărirea se termină." + }, + "timeout": { + "label": "Timeout întoarcere", + "description": "Așteaptă acest număr de secunde după pierderea urmăririi înainte de a returna camera la poziția presetată." + }, + "movement_weights": { + "label": "Ponderi mișcare", + "description": "Valori de calibrare generate automat de calibrarea camerei. Nu modifica manual." + }, + "enabled_in_config": { + "label": "Stare originală autotrack", + "description": "Câmp intern pentru a urmări dacă autotracking-ul a fost activat în configurație." + } + }, + "ignore_time_mismatch": { + "label": "Ignoră decalaj timp", + "description": "Ignoră diferențele de sincronizare a timpului între cameră și serverul Frigate pentru comunicarea ONVIF." + } + }, + "version": { + "label": "Versiunea actuală a configurării", + "description": "Versiunea numerică sau de tip text a configurării active pentru a ajuta la detectarea migrărilor sau a schimbărilor de format." + }, + "safe_mode": { + "label": "Mod de siguranță", + "description": "Când este activat, pornește Frigate în mod de siguranță, cu funcții reduse, pentru depanare." + }, + "environment_vars": { + "label": "Variabile de mediu", + "description": "Perechi cheie/valoare ale variabilelor de mediu de setat pentru procesul Frigate în Home Assistant OS. Utilizatorii care nu folosesc HAOS trebuie să folosească configurarea variabilelor de mediu din Docker." + }, + "logger": { + "label": "Jurnalizare", + "description": "Controlează nivelul de detaliu implicit al jurnalului și suprascrierile pentru fiecare componentă.", + "default": { + "label": "Nivel de jurnalizare", + "description": "Nivelul global implicit de detaliu al jurnalului (debug, info, warning, error)." + }, + "logs": { + "label": "Nivel jurnalizare pe proces", + "description": "Suprascrieri ale nivelului de jurnalizare pe componentă pentru a crește sau descrește detaliile pentru module specifice." + } + }, + "auth": { + "label": "Autentificare", + "description": "Setări de autentificare și sesiune, inclusiv opțiuni pentru cookie-uri și limite de viteză.", + "enabled": { + "label": "Activează autentificarea", + "description": "Activează autentificarea nativă pentru interfața Frigate." + }, + "reset_admin_password": { + "label": "Resetează parola de admin", + "description": "Dacă este setat pe true, resetează parola administratorului la pornire și afișează noua parolă în jurnale." + }, + "cookie_name": { + "label": "Nume cookie JWT", + "description": "Numele cookie-ului folosit pentru a stoca token-ul JWT pentru autentificarea nativă." + }, + "cookie_secure": { + "label": "Flag de cookie securizat", + "description": "Setează flag-ul secure pe cookie-ul de autentificare; ar trebui să fie true când se folosește TLS." + }, + "session_length": { + "label": "Durata sesiunii", + "description": "Durata sesiunii în secunde pentru sesiunile bazate pe JWT." + }, + "refresh_time": { + "label": "Fereastră reîmprospătare sesiune", + "description": "Când o sesiune este la acest număr de secunde de expirare, se reîmprospătează la durata maximă." + }, + "failed_login_rate_limit": { + "label": "Limite login eșuat", + "description": "Reguli de limitare a încercărilor de autentificare eșuate pentru a reduce atacurile de tip brute-force." + }, + "trusted_proxies": { + "label": "Proxy-uri de încredere", + "description": "Listă de IP-uri proxy de încredere folosite pentru a determina IP-ul clientului pentru limitarea vitezei." + }, + "hash_iterations": { + "label": "Iterații hash", + "description": "Numărul de iterații PBKDF2-SHA256 de folosit la hashing-ul parolelor utilizatorilor." + }, + "roles": { + "label": "Mapări roluri", + "description": "Mapează rolurile la liste de camere. O listă goală oferă acces la toate camerele pentru acel rol." + }, + "admin_first_time_login": { + "label": "Flag prima autentificare admin", + "description": "Când este true, interfața poate afișa un link de ajutor pe pagina de login, informând utilizatorii cum să se autentifice după o resetare a parolei de admin. " + } + }, + "database": { + "label": "Bază de date", + "description": "Setări pentru baza de date SQLite folosită de Frigate pentru a stoca obiectele urmărite și metadatele înregistrărilor.", + "path": { + "label": "Cale bază de date", + "description": "Calea în sistemul de fișiere unde va fi stocat fișierul bazei de date SQLite." + } + }, + "go2rtc": { + "label": "go2rtc", + "description": "Setări pentru serviciul integrat de restreaming go2rtc, folosit pentru releul și translatarea stream-urilor live." + }, + "networking": { + "label": "Rețea", + "description": "Setări legate de rețea, cum ar fi activarea IPv6 pentru endpoint-urile Frigate.", + "ipv6": { + "label": "Configurare IPv6", + "description": "Setări specifice IPv6 pentru serviciile de rețea Frigate.", + "enabled": { + "label": "Activează IPv6", + "description": "Activează suportul IPv6 pentru serviciile Frigate (API și interfață) acolo unde este cazul." + } + }, + "listen": { + "label": "Configurare porturi ascultare", + "description": "Configurare pentru porturile de ascultare interne și externe. Aceasta este pentru utilizatori avansați. Pentru majoritatea cazurilor, se recomandă schimbarea secțiunii de porturi din fișierul Docker compose.", + "internal": { + "label": "Port intern", + "description": "Portul de ascultare intern pentru Frigate (implicit 5000)." + }, + "external": { + "label": "Port extern", + "description": "Portul de ascultare extern pentru Frigate (implicit 8971)." + } + } + }, + "proxy": { + "label": "Proxy", + "description": "Setări pentru integrarea Frigate în spatele unui reverse proxy care transmite headere de utilizator autentificat.", + "header_map": { + "label": "Mapare headere", + "description": "Mapează headerele proxy primite către câmpurile de utilizator și rol din Frigate pentru autentificarea bazată pe proxy.", + "user": { + "label": "Header utilizator", + "description": "Header care conține numele de utilizator autentificat furnizat de proxy-ul amonte." + }, + "role": { + "label": "Header rol", + "description": "Header care conține rolul sau grupurile utilizatorului autentificat din proxy-ul amonte." + }, + "role_map": { + "label": "Mapare roluri", + "description": "Mapează valorile grupurilor din amonte la rolurile Frigate (de exemplu, mapează grupurile de admin la rolul de admin)." + } + }, + "logout_url": { + "label": "URL deconectare", + "description": "URL-ul către care sunt redirecționați utilizatorii la deconectarea prin proxy." + }, + "auth_secret": { + "label": "Secret proxy", + "description": "Secret opțional verificat împotriva header-ului X-Proxy-Secret pentru a verifica proxy-urile de încredere." + }, + "default_role": { + "label": "Rol implicit", + "description": "Rolul implicit atribuit utilizatorilor autentificați prin proxy când nu se aplică nicio mapare de rol (admin sau viewer)." + }, + "separator": { + "label": "Caracter separator", + "description": "Caracterul folosit pentru a separa mai multe valori furnizate în headerele proxy." + } + }, + "telemetry": { + "label": "Telemetrie", + "description": "Opțiuni pentru telemetria sistemului și statistici, inclusiv monitorizarea GPU și a lățimii de bandă a rețelei.", + "network_interfaces": { + "label": "Interfețe de rețea", + "description": "Listă de prefixe de nume pentru interfețele de rețea de monitorizat pentru statistici de lățime de bandă." + }, + "stats": { + "label": "Statistici sistem", + "description": "Opțiuni pentru a activa/dezactiva colectarea diverselor statistici de sistem și GPU.", + "amd_gpu_stats": { + "label": "Statistici GPU AMD", + "description": "Activează colectarea statisticilor pentru GPU AMD, dacă acesta este prezent." + }, + "intel_gpu_stats": { + "label": "Statistici GPU Intel", + "description": "Activează colectarea statisticilor pentru GPU Intel, dacă acesta este prezent." + }, + "network_bandwidth": { + "label": "Lățime de bandă rețea", + "description": "Activează monitorizarea lățimii de bandă a rețelei pe proces pentru procesele ffmpeg ale camerelor și detectoare (necesită capabilități)." + }, + "intel_gpu_device": { + "label": "Dispozitiv SR-IOV", + "description": "Identificator de dispozitiv folosit când GPU-urile Intel sunt tratate ca SR-IOV pentru a repara statisticile GPU." + } + }, + "version_check": { + "label": "Verificare versiune", + "description": "Activează o verificare externă pentru a detecta dacă este disponibilă o versiune Frigate mai nouă." + } + }, + "tls": { + "label": "TLS", + "description": "Setări TLS pentru endpoint-urile web Frigate (port 8971).", + "enabled": { + "label": "Activează TLS", + "description": "Activează TLS pentru interfața web și API-ul Frigate pe portul TLS configurat." + } + }, + "ui": { + "label": "UI", + "description": "Preferințe pentru interfața de utilizator, cum ar fi fusul orar, formatarea orei/datei și unitățile de măsură.", + "timezone": { + "label": "Fus orar", + "description": "Fus orar opțional de afișat în interfață (implicit se folosește ora locală a browserului)." + }, + "time_format": { + "label": "Format oră", + "description": "Formatul orei de utilizat în interfață (browser, 12 ore sau 24 ore)." + }, + "date_style": { + "label": "Stil dată", + "description": "Stilul datei de utilizat în interfață (full, long, medium, short)." + }, + "time_style": { + "label": "Stil oră", + "description": "Stilul orei de utilizat în interfață (full, long, medium, short)." + }, + "unit_system": { + "label": "Sistem de unități", + "description": "Sistemul de unități pentru afișare (metric sau imperial) folosit în interfață și MQTT." + } + }, + "detectors": { + "label": "Hardware detector", + "description": "Configurare pentru detectoarele de obiecte (CPU, GPU, backend-uri ONNX) și orice setări de model specifice detectorului.", + "type": { + "label": "Tip detector", + "description": "Tipul de detector de folosit pentru detecția obiectelor (de exemplu, 'cpu', 'edgetpu', 'openvino')." + }, + "cpu": { + "label": "CPU", + "description": "Detector TFLite pentru CPU care rulează modele TensorFlow Lite pe procesorul gazdă fără accelerare hardware. Nu este recomandat.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "num_threads": { + "label": "Număr fire detecție", + "description": "Numărul de fire (threads) folosite pentru inferența bazată pe CPU." + } + }, + "deepstack": { + "label": "DeepStack", + "description": "Detector DeepStack/CodeProject.AI care trimite imagini către un API HTTP DeepStack la distanță pentru inferență. Nu este recomandat.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "api_url": { + "label": "URL API DeepStack", + "description": "URL-ul API-ului DeepStack." + }, + "api_timeout": { + "label": "Timeout API DeepStack (în secunde)", + "description": "Timpul maxim permis pentru o cerere la API-ul DeepStack." + }, + "api_key": { + "label": "Cheie API DeepStack (dacă e necesară)", + "description": "Cheie API opțională pentru serviciile DeepStack autentificate." + } + }, + "degirum": { + "label": "DeGirum", + "description": "Detector DeGirum pentru rularea modelelor prin cloud-ul DeGirum sau servicii locale de inferență.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "location": { + "label": "Locație inferență", + "description": "Locația motorului de inferență DeGirum (ex. '@cloud', '127.0.0.1')." + }, + "zoo": { + "label": "Model Zoo", + "description": "Calea sau URL-ul către model zoo DeGirum." + }, + "token": { + "label": "Token Cloud DeGirum", + "description": "Token pentru accesul la Cloud-ul DeGirum." + } + }, + "edgetpu": { + "label": "EdgeTPU", + "description": "Detector EdgeTPU care rulează modele TensorFlow Lite compilate pentru Coral EdgeTPU folosind delegatul EdgeTPU.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Tip dispozitiv", + "description": "Dispozitivul de folosit pentru inferența EdgeTPU (ex. 'usb', 'pci')." + } + }, + "hailo8l": { + "label": "Hailo-8/Hailo-8L", + "description": "Detector Hailo-8/Hailo-8L care folosește modele HEF și HailoRT SDK pentru inferență pe hardware Hailo.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Tip dispozitiv", + "description": "Dispozitivul de folosit pentru inferența Hailo (ex. 'PCIe', 'M.2')." + } + }, + "memryx": { + "label": "MemryX", + "description": "Detector MemryX MX3 care rulează modele DFP compilate pe acceleratoare MemryX.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Cale dispozitiv", + "description": "Dispozitivul de folosit pentru inferența MemryX (ex. 'PCIe')." + } + }, + "onnx": { + "label": "ONNX", + "description": "Detector ONNX pentru rularea modelelor ONNX; va folosi backend-urile de accelerare disponibile (CUDA/ROCm/OpenVINO) atunci când sunt prezente.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Tip dispozitiv", + "description": "Dispozitivul de folosit pentru inferența ONNX (ex. 'AUTO', 'CPU', 'GPU')." + } + }, + "openvino": { + "label": "OpenVINO", + "description": "Detector OpenVINO pentru procesoare AMD și Intel, GPU-uri Intel și hardware Intel VPU.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Tip dispozitiv", + "description": "Dispozitivul de folosit pentru inferența OpenVINO (ex. 'CPU', 'GPU', 'NPU')." + } + }, + "rknn": { + "label": "RKNN", + "description": "Detector RKNN pentru NPU-uri Rockchip; rulează modele RKNN compilate pe hardware Rockchip.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "num_cores": { + "label": "Număr de nuclee NPU de folosit.", + "description": "Numărul de nuclee NPU de folosit (0 pentru auto)." + } + }, + "synaptics": { + "label": "Synaptics", + "description": "Detector Synaptics NPU pentru modele în format .synap folosind Synap SDK pe hardware Synaptics.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + } + }, + "teflon_tfl": { + "label": "Teflon", + "description": "Detector cu delegat Teflon pentru TFLite care folosește biblioteca Mesa Teflon pentru a accelera inferența pe GPU-urile suportate.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + } + }, + "tensorrt": { + "label": "TensorRT", + "description": "Detector TensorRT pentru dispozitive Nvidia Jetson care folosește motoare TensorRT serializate pentru inferență accelerată.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurare model specific detectorului", + "description": "Opțiuni de configurare specifice modelului detectorului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model de detecție personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale labelmap pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice la etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau reamapări de intrări pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Mapare de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare al modelului (de exemplu, 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului detectorului (ssd, yolox, yolonas) folosit de unele detectoare pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specific detectorului", + "description": "Calea către binarul modelului detectorului, dacă este cerut de detectorul ales." + }, + "device": { + "label": "Index dispozitiv GPU", + "description": "Indexul dispozitivului GPU de folosit." + } + }, + "zmq": { + "label": "Detector ZMQ IPC", + "description": "Detector ZMQ IPC care trimite procesul de inferență către un proces extern printr-un endpoint ZeroMQ IPC.", + "type": { + "label": "Tip" + }, + "model": { + "label": "Configurație model specifică detectorului", + "description": "Opțiuni de configurare specifice modelului (cale, dimensiune intrare etc.).", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale label map pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice în etichete text pentru detector." + }, + "width": { + "label": "Lățime intrare model detecție obiecte", + "description": "Lățimea tensorului de intrare al modelului în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție obiecte", + "description": "Înălțimea tensorului de intrare al modelului în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri sau intrări de re-mapare pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la etichete atribute", + "description": "Maparea de la etichetele obiectelor la etichetele atributelor folosite pentru a atașa metadate (de exemplu 'mașină' -> ['număr_înmatriculare'])." + }, + "input_tensor": { + "label": "Formă tensor intrare model", + "description": "Formatul tensorului așteptat de model: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare model", + "description": "Spațiul de culoare al pixelilor așteptat de model: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare model", + "description": "Tipul de date al tensorului de intrare (de exemplu 'float32')." + }, + "model_type": { + "label": "Tip model detecție obiecte", + "description": "Tipul arhitecturii modelului (ssd, yolox, yolonas) utilizat de unii detectori pentru optimizare." + } + }, + "model_path": { + "label": "Cale model specifică detectorului", + "description": "Calea către binarul modelului, dacă este cerut de detectorul ales." + }, + "endpoint": { + "label": "Endpoint ZMQ IPC", + "description": "Endpoint-ul ZMQ la care se face conexiunea." + }, + "request_timeout_ms": { + "label": "Timeout cerere ZMQ (ms)", + "description": "Timpul de expirare pentru cererile ZMQ în milisecunde." + }, + "linger_ms": { + "label": "Linger socket ZMQ (ms)", + "description": "Perioada de tip 'linger' a socket-ului în milisecunde." + } + } + }, + "model": { + "label": "Model detecție", + "description": "Setări pentru configurarea unui model personalizat de detecție și a formei intrării acestuia.", + "path": { + "label": "Cale model personalizat detecție obiecte", + "description": "Calea către un fișier de model personalizat (sau plus:// pentru modelele Frigate+)." + }, + "labelmap_path": { + "label": "Cale label map pentru detector personalizat", + "description": "Calea către un fișier labelmap care mapează clasele numerice în etichete text." + }, + "width": { + "label": "Lățime intrare model detecție", + "description": "Lățimea tensorului de intrare în pixeli." + }, + "height": { + "label": "Înălțime intrare model detecție", + "description": "Înălțimea tensorului de intrare în pixeli." + }, + "labelmap": { + "label": "Personalizare labelmap", + "description": "Suprascrieri pentru a fi îmbinate în labelmap-ul standard." + }, + "attributes_map": { + "label": "Mapare etichete obiecte la atribute", + "description": "Asocierea obiectelor cu atributele lor pentru metadate." + }, + "input_tensor": { + "label": "Formă tensor intrare", + "description": "Formatul tensorului: 'nhwc' sau 'nchw'." + }, + "input_pixel_format": { + "label": "Format pixeli intrare", + "description": "Spațiul de culoare: 'rgb', 'bgr' sau 'yuv'." + }, + "input_dtype": { + "label": "Tip date intrare", + "description": "Tipul de date (ex: 'float32')." + }, + "model_type": { + "label": "Tip model detecție", + "description": "Arhitectura modelului (ssd, yolox, yolonas)." + } + }, + "genai": { + "label": "Configurație GenAI (furnizori numiți)", + "description": "Setări pentru furnizorii de AI generativ folosiți pentru descrieri de obiecte și rezumate.", + "api_key": { + "label": "Cheie API", + "description": "Cheia API necesară (poate fi setată și prin variabile de mediu)." + }, + "base_url": { + "label": "URL de bază", + "description": "URL-ul de bază pentru furnizori self-hosted (ex: o instanță Ollama)." + }, + "model": { + "label": "Model", + "description": "Modelul utilizat pentru descrieri sau rezumate." + }, + "provider": { + "label": "Furnizor", + "description": "Furnizorul GenAI (ex: ollama, gemini, openai)." + }, + "roles": { + "label": "Roluri", + "description": "Roluri GenAI (unelte, viziune, înglobări); un furnizor per rol." + }, + "provider_options": { + "label": "Opțiuni furnizor", + "description": "Opțiuni suplimentare trimise către clientul GenAI." + }, + "runtime_options": { + "label": "Opțiuni runtime", + "description": "Opțiuni trimise furnizorului la fiecare apel de inferență." + } + }, + "classification": { + "label": "Clasificare obiecte", + "description": "Setări pentru modelele de clasificare folosite pentru a rafina etichetele sau stările.", + "bird": { + "label": "Configurație clasificare păsări", + "description": "Setări specifice pentru modelele de clasificare a păsărilor.", + "enabled": { + "label": "Clasificare păsări", + "description": "Activează sau dezactivează clasificarea păsărilor." + }, + "threshold": { + "label": "Scor minim", + "description": "Scorul minim pentru a accepta clasificarea unei păsări." + } + }, + "custom": { + "label": "Modele de clasificare personalizate", + "description": "Configurarea modelelor personalizate pentru obiecte sau stări.", + "enabled": { + "label": "Activare model", + "description": "Activează sau dezactivează modelul personalizat." + }, + "name": { + "label": "Nume model", + "description": "Identificatorul modelului de clasificare." + }, + "threshold": { + "label": "Prag scor", + "description": "Pragul folosit pentru a schimba starea de clasificare." + }, + "save_attempts": { + "label": "Salvează încercările", + "description": "Câte încercări de clasificare să fie păstrate pentru interfața de istoric." + }, + "object_config": { + "objects": { + "label": "Clasifică obiecte", + "description": "Lista de tipuri de obiecte pe care se face clasificare." + }, + "classification_type": { + "label": "Tip clasificare", + "description": "Tipul aplicat: 'sub_label' (adaugă o sub-etichetă) sau altele." + } + }, + "state_config": { + "cameras": { + "label": "Camere clasificare", + "description": "Decupaj și setări per cameră pentru clasificarea stărilor.", + "crop": { + "label": "Crop clasificare", + "description": "Coordonatele de crop folosite pentru clasificare pe această cameră." + } + }, + "motion": { + "label": "Rulează la mișcare", + "description": "Dacă e activ, rulează clasificarea când se detectează mișcare în zona de crop." + }, + "interval": { + "label": "Interval clasificare", + "description": "Intervalul (secunde) între rulările periodice pentru clasificarea stărilor." + } + } + } + }, + "camera_groups": { + "label": "Grupuri camere", + "description": "Configurație pentru grupuri de camere denumite, folosite pentru a organiza camerele în interfață.", + "cameras": { + "label": "Listă camere", + "description": "Listă de nume de camere incluse în acest grup." + }, + "icon": { + "label": "Pictogramă grup", + "description": "Pictogramă folosită pentru a reprezenta grupul de camere în interfață." + }, + "order": { + "label": "Ordine sortare", + "description": "Ordinea numerică folosită pentru sortarea grupurilor de camere în interfață; numerele mai mari apar mai târziu." + } + }, + "camera_mqtt": { + "label": "MQTT", + "description": "Setări pentru publicarea imaginilor prin MQTT.", + "enabled": { + "label": "Trimite imaginea", + "description": "Activează publicarea de snapshot-uri cu obiecte către subiectele MQTT pentru această cameră." + }, + "timestamp": { + "label": "Adaugă timestamp", + "description": "Suprapune un timestamp pe imaginile publicate prin MQTT." + }, + "bounding_box": { + "label": "Adaugă bounding box", + "description": "Desenază bounding box-uri pe imaginile publicate prin MQTT." + }, + "crop": { + "label": "Decupează imaginea", + "description": "Decupează imaginile publicate prin MQTT la bounding box-ul obiectului detectat." + }, + "height": { + "label": "Înălțime imagine", + "description": "Înălțimea (pixeli) pentru redimensionarea imaginilor publicate prin MQTT." + }, + "required_zones": { + "label": "Zone obligatorii", + "description": "Zonele în care trebuie să intre un obiect pentru ca un snapshot prin MQTT să fie publicat." + }, + "quality": { + "label": "Calitate JPEG", + "description": "Calitatea JPEG pentru imaginile publicate prin MQTT (0-100)." + } + }, + "camera_ui": { + "label": "Interfață cameră", + "description": "Ordinea de afișare și vizibilitatea pentru această cameră în interfață. Ordinea afectează dashboard-ul implicit. Pentru un control mai detaliat, folosește grupurile de camere.", + "order": { + "label": "Ordine interfață", + "description": "Ordinea numerică folosită pentru sortarea camerei în interfață (dashboard-ul implicit și liste); numerele mai mari apar mai târziu." + }, + "dashboard": { + "label": "Arată în interfață", + "description": "Comută dacă această cameră este vizibilă peste tot în interfața Frigate. Dezactivarea acestei opțiuni va necesita editarea manuală a config-ului pentru a vedea din nou camera în interfață." + } + } +} diff --git a/web/public/locales/ro/config/groups.json b/web/public/locales/ro/config/groups.json new file mode 100644 index 000000000..7b0d7a4d8 --- /dev/null +++ b/web/public/locales/ro/config/groups.json @@ -0,0 +1,73 @@ +{ + "audio": { + "global": { + "detection": "Detectare globală", + "sensitivity": "Sensibilitate globală" + }, + "cameras": { + "detection": "Detectare", + "sensitivity": "Sensibilitate" + } + }, + "timestamp_style": { + "global": { + "appearance": "Aspect global" + }, + "cameras": { + "appearance": "Aspect" + } + }, + "motion": { + "global": { + "sensitivity": "Sensibilitate globală", + "algorithm": "Algoritm global" + }, + "cameras": { + "sensitivity": "Sensibilitate", + "algorithm": "Algoritm" + } + }, + "snapshots": { + "global": { + "display": "Afișare snapshot-uri globală" + }, + "cameras": { + "display": "Afișare snapshot-uri" + } + }, + "detect": { + "global": { + "resolution": "Rezoluție globală", + "tracking": "Urmărire globală" + }, + "cameras": { + "resolution": "Rezoluție", + "tracking": "Urmărire" + } + }, + "objects": { + "global": { + "tracking": "Urmărire globală", + "filtering": "Filtrare globală" + }, + "cameras": { + "tracking": "Urmărire", + "filtering": "Filtrare" + } + }, + "record": { + "global": { + "retention": "Păstrare globală", + "events": "Evenimente globale" + }, + "cameras": { + "retention": "Păstrare", + "events": "Evenimente" + } + }, + "ffmpeg": { + "cameras": { + "cameraFfmpeg": "Argumente FFmpeg specifice camerei" + } + } +} diff --git a/web/public/locales/ro/config/validation.json b/web/public/locales/ro/config/validation.json new file mode 100644 index 000000000..3ec9691f6 --- /dev/null +++ b/web/public/locales/ro/config/validation.json @@ -0,0 +1,32 @@ +{ + "minimum": "Trebuie să fie cel puțin {{limit}}", + "maximum": "Trebuie să fie cel mult {{limit}}", + "exclusiveMinimum": "Trebuie să fie mai mare de {{limit}}", + "exclusiveMaximum": "Trebuie să fie mai mic de {{limit}}", + "minLength": "Trebuie să aibă cel puțin {{limit}} caracter(e)", + "maxLength": "Trebuie să aibă cel mult {{limit}} caracter(e)", + "minItems": "Trebuie să conțină cel puțin {{limit}} elemente", + "maxItems": "Trebuie să conțină cel mult {{limit}} elemente", + "pattern": "Format nevalid", + "required": "Acest câmp este obligatoriu", + "type": "Tip de valoare nevalid", + "enum": "Trebuie să fie una dintre valorile permise", + "const": "Valoarea nu corespunde constantei așteptate", + "uniqueItems": "Toate elementele trebuie să fie unice", + "format": "Format nevalid", + "additionalProperties": "Proprietatea necunoscută nu este permisă", + "oneOf": "Trebuie să corespundă exact uneia dintre schemele permise", + "anyOf": "Trebuie să corespundă cel puțin uneia dintre schemele permise", + "proxy": { + "header_map": { + "roleHeaderRequired": "Header-ul de rol este obligatoriu atunci când sunt configurate mapări de roluri." + } + }, + "ffmpeg": { + "inputs": { + "rolesUnique": "Fiecare rol poate fi atribuit unui singur stream.", + "detectRequired": "Cel puțin un stream trebuie să aibă atribuit rolul 'detect'.", + "hwaccelDetectOnly": "Doar stream-ul cu rolul 'detect' poate defini argumente pentru accelerare hardware." + } + } +} diff --git a/web/public/locales/ro/views/events.json b/web/public/locales/ro/views/events.json index f4f2ef120..6e88c59a7 100644 --- a/web/public/locales/ro/views/events.json +++ b/web/public/locales/ro/views/events.json @@ -63,5 +63,25 @@ "normalActivity": "Normal", "needsReview": "Necesită revizuire", "securityConcern": "Potențială problemă de securitate", - "select_all": "Toate" + "select_all": "Toate", + "motionSearch": { + "menuItem": "Căutare mișcare", + "openMenu": "Opțiuni cameră" + }, + "motionPreviews": { + "menuItem": "Vezi previzualizări mișcare", + "title": "Previzualizări mișcare: {{camera}}", + "mobileSettingsTitle": "Setări previzualizări mișcare", + "mobileSettingsDesc": "Ajustează viteza de redare și estomparea, și alege o dată pentru a revizui clipurile doar cu mișcare.", + "dim": "Estompare", + "dimAria": "Ajustează intensitatea estompării", + "dimDesc": "Crește intensitatea estompării pentru a mări vizibilitatea zonei de mișcare.", + "speed": "Vitez", + "speedAria": "Selectează viteza de redare a previzualizării", + "speedDesc": "Alege cât de repede sunt redate clipurile de previzualizare.", + "back": "Înapoi", + "empty": "Nicio previzualizare disponibilă", + "noPreview": "Previzualizare indisponibilă", + "seekAria": "Derulează player-ul {{camera}} la {{time}}" + } } diff --git a/web/public/locales/ro/views/explore.json b/web/public/locales/ro/views/explore.json index d76f9191d..371565afe 100644 --- a/web/public/locales/ro/views/explore.json +++ b/web/public/locales/ro/views/explore.json @@ -12,10 +12,10 @@ "trackedObjectsProcessed": "Obiecte urmărite procesate: ", "thumbnailsEmbedded": "Miniaturi încorporate: " }, - "context": "Funcția de căutare poate fi utilizată după ce reindexarea obiectelor urmărite este finalizată." + "context": "Funcția de căutare poate fi utilizată după ce reindexarea obiectelor înglobate este finalizată." }, "downloadingModels": { - "context": "Frigate descarcă modelele de încorporare necesare pentru a susține funcția de Căutare Semantică. Acest lucru poate dura câteva minute, în funcție de viteza conexiunii rețelei dvs.", + "context": "Frigate descarcă modelele de înglobare necesare pentru a susține funcția de Căutare Semantică. Acest lucru poate dura câteva minute, în funcție de viteza conexiunii rețelei dvs.", "setup": { "visionModel": "Model viziune", "visionModelFeatureExtractor": "Extractor de caracteristici pentru modelul de viziune", @@ -23,7 +23,7 @@ "textTokenizer": "Tokenizer text" }, "tips": { - "context": "S-ar putea să dorești să reindexezi încorporările obiectelor urmărite odată ce modelele sunt descărcate.", + "context": "S-ar putea să dorești să reindexezi înglobările obiectelor urmărite odată ce modelele sunt descărcate.", "documentation": "Citește documentația" }, "error": "A apărut o eroare. Verifică jurnalele Frigate." @@ -226,12 +226,16 @@ "downloadCleanSnapshot": { "label": "Descarcă un snapshot curat", "aria": "Descarcă snapshot curat" + }, + "debugReplay": { + "label": "Reluare de depanare", + "aria": "Vezi acest obiect urmărit în vizualizarea de reluare de depanare" } }, "dialog": { "confirmDelete": { "title": "Confirmă ștergerea", - "desc": "Ștergerea acestui obiect urmărit elimină snapshot-ul, orice încorporări salvate și orice intrări asociate detaliilor de urmărire. Materialul video înregistrat al acestui obiect urmărit în vizualizarea Istoric NU va fi șters.

    Ești sigur că vrei să continui?" + "desc": "Ștergerea acestui obiect urmărit elimină snapshot-ul, orice înglobări salvate și orice intrări asociate detaliilor de urmărire. Materialul video înregistrat al acestui obiect urmărit în vizualizarea Istoric NU va fi șters.

    Ești sigur că vrei să continui?" } }, "noTrackedObjects": "Nu au fost găsite obiecte urmărite", diff --git a/web/public/locales/ro/views/exports.json b/web/public/locales/ro/views/exports.json index fa9077459..7b93af723 100644 --- a/web/public/locales/ro/views/exports.json +++ b/web/public/locales/ro/views/exports.json @@ -1,23 +1,37 @@ { - "search": "Caută", - "documentTitle": "Export - Frigate", - "noExports": "Nu au fost gasite exporturi", + "search": "Căutare", + "documentTitle": "Exporturi - Frigate", + "noExports": "Nu s-au găsit exporturi", "deleteExport": "Șterge exportul", - "deleteExport.desc": "Ești sigur că vrei să ștergi {{exportName}}?", + "deleteExport.desc": "Sigur vrei să ștergi {{exportName}}?", "editExport": { - "title": "Redenumeste Exportul", - "saveExport": "Salveaza Export", - "desc": "Introdu un nume nou pentru acest Export." + "title": "Redenumire export", + "saveExport": "Salvează exportul", + "desc": "Introdu un nume nou pentru acest export." }, "toast": { "error": { - "renameExportFailed": "Eroare redenumire export: {{errorMessage}}" + "renameExportFailed": "Redenumirea exportului a eșuat: {{errorMessage}}", + "assignCaseFailed": "Actualizarea atribuirii cazului a eșuat: {{errorMessage}}" } }, "tooltip": { "shareExport": "Partajează exportul", - "downloadVideo": "Descarcă videoclipul", + "downloadVideo": "Descarcă video", "editName": "Editează numele", - "deleteExport": "Șterge exportul" + "deleteExport": "Șterge exportul", + "assignToCase": "Adaugă la un caz" + }, + "headings": { + "cases": "Cazuri", + "uncategorizedExports": "Exporturi necategorizate" + }, + "caseDialog": { + "title": "Adaugă la un caz", + "description": "Alege un caz existent sau creează unul nou.", + "selectLabel": "Caz", + "newCaseOption": "Creează un caz nou", + "nameLabel": "Numele cazului", + "descriptionLabel": "Descriere" } } diff --git a/web/public/locales/ro/views/live.json b/web/public/locales/ro/views/live.json index bb2c958ea..45f8a68f2 100644 --- a/web/public/locales/ro/views/live.json +++ b/web/public/locales/ro/views/live.json @@ -71,7 +71,7 @@ }, "snapshots": { "disable": "Dezactivează snapshoturile", - "enable": "Activează snapshoturile" + "enable": "Activează snapshot-urile" }, "audioDetect": { "enable": "Activează detectarea audio", diff --git a/web/public/locales/ro/views/search.json b/web/public/locales/ro/views/search.json index 5c5f391e8..81304ace5 100644 --- a/web/public/locales/ro/views/search.json +++ b/web/public/locales/ro/views/search.json @@ -1,5 +1,5 @@ { - "search": "Caută", + "search": "Căutare", "savedSearches": "Căutări salvate", "searchFor": "Caută {{inputValue}}", "button": { diff --git a/web/public/locales/ro/views/settings.json b/web/public/locales/ro/views/settings.json index 813f50537..4a223e9a1 100644 --- a/web/public/locales/ro/views/settings.json +++ b/web/public/locales/ro/views/settings.json @@ -1,33 +1,93 @@ { "documentTitle": { - "authentication": "Setări de autentificare - Frigate", + "authentication": "Setări Autentificare - Frigate", "camera": "Setări cameră - Frigate", "default": "Setări - Frigate", "classification": "Setări de clasificare - Frigate", - "masksAndZones": "Editor Zonă si Mască - Frigate", - "notifications": "Setări notificări - Frigate", - "motionTuner": "Ajustare mișcare - Frigate", + "masksAndZones": "Editor Mască și Zonă - Frigate", + "notifications": "Setări Notificări - Frigate", + "motionTuner": "Reglaj Mișcare - Frigate", "object": "Depanare - Frigate", - "general": "Setări interfață - Frigate", + "general": "Setări Profil - Frigate", "frigatePlus": "Setări Frigate+ - Frigate", - "enrichments": "Setări de Îmbogățiri - Frigate", - "cameraManagement": "Gestionează Camerele - Frigate", - "cameraReview": "Setări Revizuire Cameră - Frigate" + "enrichments": "Setări Îmbunătățiri - Frigate", + "cameraManagement": "Gestionare Camere - Frigate", + "cameraReview": "Setări Review Cameră - Frigate", + "globalConfig": "Configurație Globală - Frigate", + "cameraConfig": "Configurație Cameră - Frigate", + "maintenance": "Mentenanță - Frigate" }, "menu": { - "ui": "Interfață utilizator", - "cameras": "Setări cameră", + "ui": "Interfață (UI)", + "cameras": "Configurație cameră", "masksAndZones": "Măști / Zone", "motionTuner": "Reglaj mișcare", - "enrichments": "Îmbogățiri", + "enrichments": "Îmbunătățiri", "debug": "Depanare", "users": "Utilizatori", "notifications": "Notificări", "frigateplus": "Frigate+", - "triggers": "Declanșatoare", + "triggers": "Declanșatori", "roles": "Roluri", - "cameraManagement": "Administrare", - "cameraReview": "Revizuire" + "cameraManagement": "Gestionare", + "cameraReview": "Recenzie", + "general": "General", + "globalConfig": "Configurație globală", + "system": "Sistem", + "integrations": "Integrări", + "profileSettings": "Setări profil", + "globalDetect": "Detecție obiecte", + "globalRecording": "Înregistrare", + "globalSnapshots": "Snapshot-uri", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Detecție mișcare", + "globalObjects": "Obiecte", + "globalReview": "Recenzie", + "globalAudioEvents": "Evenimente audio", + "globalLivePlayback": "Redare live", + "globalTimestampStyle": "Stil timestamp", + "systemDatabase": "Bază de date", + "systemTls": "TLS", + "systemAuthentication": "Autentificare", + "systemNetworking": "Rețea", + "systemProxy": "Proxy", + "systemUi": "Interfață (UI)", + "systemLogging": "Jurnale (Logging)", + "systemEnvironmentVariables": "Variabile de mediu", + "systemTelemetry": "Telemetrie", + "systemBirdseye": "Birdseye", + "systemFfmpeg": "FFmpeg", + "systemDetectorHardware": "Hardware detector", + "systemDetectionModel": "Model detecție", + "systemMqtt": "MQTT", + "integrationSemanticSearch": "Căutare semantică", + "integrationGenerativeAi": "AI Generativ", + "integrationFaceRecognition": "Recunoaștere facială", + "integrationLpr": "Recunoaștere numere înmatriculare", + "integrationObjectClassification": "Clasificare obiecte", + "integrationAudioTranscription": "Transcriere audio", + "cameraDetect": "Detecție obiecte", + "cameraFfmpeg": "FFmpeg", + "cameraRecording": "Înregistrare", + "cameraSnapshots": "Snapshot-uri", + "cameraMotion": "Detecție mișcare", + "cameraObjects": "Obiecte", + "cameraConfigReview": "Recenzie", + "cameraAudioEvents": "Evenimente audio", + "cameraAudioTranscription": "Transcriere audio", + "cameraNotifications": "Notificări", + "cameraLivePlayback": "Redare live", + "cameraBirdseye": "Birdseye", + "cameraFaceRecognition": "Recunoaștere facială", + "cameraLpr": "Recunoaștere numere înmatriculare", + "cameraMqttConfig": "MQTT", + "cameraOnvif": "ONVIF", + "cameraUi": "Interfață cameră", + "cameraTimestampStyle": "Stil timestamp", + "cameraMqtt": "MQTT Cameră", + "maintenance": "Mentenanță", + "mediaSync": "Sincronizare media", + "regionGrid": "Grilă regiune" }, "dialog": { "unsavedChanges": { @@ -40,60 +100,60 @@ "noCamera": "Nicio cameră" }, "general": { - "title": "Setări interfață", + "title": "Setări Profil", "liveDashboard": { - "title": "Tabloul de bord live", + "title": "Dashboard Live", "automaticLiveView": { - "desc": "Comută automat la vizualizarea live a unei camere când este detectată activitate. Dezactivarea acestei opțiuni face ca imaginile statice ale camerelor din panoul Live să se actualizeze doar o dată pe minut.", + "desc": "Comută automat la vizualizarea live a unei camere când este detectată activitate. Dezactivarea acestei opțiuni face ca imaginile statice din dashboard-ul Live să se actualizeze doar o dată pe minut.", "label": "Vizualizare Live Automată" }, "playAlertVideos": { - "label": "Redă videoclipurile de alertă", - "desc": "În mod implicit, alertele recente din panoul Live se redau ca videoclipuri mici, ce ruleaza repetat. Dezactivează această opțiune pentru a afișa doar o imagine statică a alertelor recente pe acest dispozitiv/browser." + "label": "Redă Clipuri de Alertă", + "desc": "Implicit, alertele recente din dashboard-ul Live rulează ca mici clipuri video în buclă. Dezactivează această opțiune pentru a afișa doar o imagine statică a alertelor recente pe acest dispozitiv/browser." }, "displayCameraNames": { - "label": "Afișează întotdeauna numele camerelor", - "desc": "Afișează întotdeauna numele camerelor într-un indicator în tabloul de bord cu vizualizare live pe mai multe camere." + "label": "Arată mereu numele camerelor", + "desc": "Arată întotdeauna numele camerelor într-un tag (chip) în dashboard-ul live multi-cameră." }, "liveFallbackTimeout": { - "label": "Timp de expirare pentru redarea live", - "desc": "Când stream-ul live de înaltă calitate al unei camere nu este disponibil, revino la modul cu lățime de bandă scăzută după acest număr de secunde. Implicit: 3." + "label": "Timeout Rezecție Player Live", + "desc": "Când stream-ul live de înaltă calitate nu este disponibil, comută pe modul de bandă redusă după acest număr de secunde. Implicit: 3." } }, "storedLayouts": { - "title": "Layout-uri salvate", - "desc": "Aranjamentul camerelor într-un grup de camere poate fi tras și redimensionat. Pozițiile sunt salvate în stocarea locală a browserului tău.", + "title": "Layout-uri Salvate", + "desc": "Aranjamentul camerelor într-un grup poate fi tras sau redimensionat. Pozițiile sunt stocate în memoria locală a browserului tău.", "clearAll": "Șterge toate layout-urile" }, "cameraGroupStreaming": { - "title": "Setări de streaming pentru grupul de camere", + "title": "Setări Streaming Grup Camere", "desc": "Setările de streaming pentru fiecare grup de camere sunt stocate în memoria locală a browserului tău.", "clearAll": "Șterge toate setările de streaming" }, "recordingsViewer": { - "title": "Vizualizator înregistrări", + "title": "Vizualizator Înregistrări", "defaultPlaybackRate": { - "desc": "Viteza implicită de redare pentru înregistrări.", - "label": "Viteza implicită de redare" + "desc": "Viteza de redare implicită pentru vizionarea înregistrărilor.", + "label": "Viteză de redare implicită" } }, "calendar": { "title": "Calendar", "firstWeekday": { "label": "Prima zi a săptămânii", - "desc": "Ziua cu care încep săptămânile calendarului de revizuire.", + "desc": "Ziua cu care încep săptămânile în calendarul de recenzii.", "sunday": "Duminică", "monday": "Luni" } }, "toast": { "success": { - "clearStoredLayout": "Aspectul salvat pentru {{cameraName}} a fost șters", - "clearStreamingSettings": "Setările de streaming pentru toate grupurile de camere au fost resetate." + "clearStoredLayout": "S-a șters layout-ul salvat pentru {{cameraName}}", + "clearStreamingSettings": "S-au șters setările de streaming pentru toate grupurile de camere." }, "error": { - "clearStoredLayoutFailed": "Eroare la ștergerea layout-ului salvat: {{errorMessage}}", - "clearStreamingSettingsFailed": "Nu s-au putut șterge setările de streaming: {{errorMessage}}" + "clearStoredLayoutFailed": "Eșec la ștergerea layout-ului salvat: {{errorMessage}}", + "clearStreamingSettingsFailed": "Eșec la ștergerea setărilor de streaming: {{errorMessage}}" } } }, @@ -101,62 +161,62 @@ "faceRecognition": { "modelSize": { "large": { - "desc": "Utilizarea variantei mari folosește un model ArcFace pentru încorporarea fețelor și va rula automat pe GPU, dacă este disponibil.", - "title": "mare" + "desc": "Opțiunea mare folosește un model de înglobări faciale ArcFace și va rula automat pe GPU dacă este disponibil.", + "title": "mare (large)" }, - "desc": "Dimensiunea modelului utilizat pentru recunoașterea facială.", + "desc": "Mărimea modelului folosit pentru recunoașterea facială.", "small": { - "title": "mic", - "desc": "Utilizarea variantei mici folosește un model FaceNet pentru încorporarea fețelor, care rulează eficient pe majoritatea tipurilor de procesoare." + "title": "mic (small)", + "desc": "Opțiunea mic folosește un model de înglobări faciale FaceNet care rulează eficient pe majoritatea procesoarelor." }, - "label": "Dimensiunea modelului" + "label": "Mărime Model" }, - "title": "Recunoaștere facială", - "desc": "Recunoașterea facială permite atribuirea de nume persoanelor, iar când fața lor este recunoscută, Frigate va atribui numele persoanei ca sub-etichetă. Această informație este inclusă în interfața utilizatorului, filtre și în notificări.", + "title": "Recunoaștere Facială", + "desc": "Recunoașterea facială permite alocarea de nume persoanelor; când o față este recunoscută, Frigate va asocia numele ca sub-etichetă. Informația apare în UI, filtre și notificări.", "readTheDocumentation": "Citește documentația" }, "semanticSearch": { "reindexNow": { - "confirmDesc": "Ești sigur că vrei să reindexezi încorporările pentru toate obiectele urmărite? Acest proces va rula în fundal, dar poate folosi la maxim procesorul și poate dura ceva timp. Poți urmări progresul pe pagina de explorare.", + "confirmDesc": "Sigur vrei să reindexezi toate înglobările obiectelor urmărite? Procesul va rula în fundal, dar poate solicita procesorul la maximum. Poți urmări progresul pe pagina Explore.", "label": "Reindexează acum", - "desc": "Reindexarea va regenera încorporările pentru toate obiectele urmărite. Acest proces rulează în fundal și poate utiliza la maxim procesorul, durând o perioadă considerabilă în funcție de numărul de obiecte urmărite pe care le ai.", + "desc": "Reindexarea va regenera înglobările pentru toate obiectele urmărite. Acest proces rulează în fundal, poate solicita procesorul la maximum și poate dura destul de mult în funcție de numărul de obiecte.", "confirmTitle": "Confirmă reindexarea", "confirmButton": "Reindexează", - "success": "Reindexarea a început cu succes.", - "alreadyInProgress": "Reindexarea este deja în curs de desfășurare.", - "error": "Eroare la pornirea reindexării: {{errorMessage}}" + "success": "Reindexarea a pornit cu succes.", + "alreadyInProgress": "Reindexarea este deja în curs.", + "error": "Eșec la pornirea reindexării: {{errorMessage}}" }, - "title": "Căutare semantică", - "desc": "Căutarea semantică în Frigate îți permite să găsești obiecte urmărite în elementele tale de revizuire folosind fie imaginea în sine, o descriere text definită de utilizator, sau una generată automat.", + "title": "Căutare Semantică", + "desc": "Căutarea semantică în Frigate îți permite să găsești obiecte urmărite folosind fie imaginea în sine, o descriere text definită de utilizator, sau una generată automat.", "readTheDocumentation": "Citește documentația", "modelSize": { - "label": "Dimensiunea modelului", - "desc": "Dimensiunea modelului utilizat pentru încorporările de căutare semantică.", + "label": "Mărime Model", + "desc": "Mărimea modelului folosit pentru înglobarea căutării semantice.", "small": { - "title": "mic", - "desc": "Utilizarea variantei mici folosește o versiune cuantificată a modelului care consumă mai puțină memorie RAM și rulează mai rapid pe CPU, cu o diferență foarte mică în calitatea încorporărilor." + "title": "mic (small)", + "desc": "Opțiunea mic folosește o versiune cuantizată a modelului care ocupă mai puțin RAM și rulează mai rapid pe procesor, cu o diferență neglijabilă de calitate." }, "large": { - "title": "mare", - "desc": "Utilizarea variantei mari folosește modelul complet Jina și va rula automat pe GPU, dacă este disponibil." + "title": "mare (large)", + "desc": "Opțiunea mare folosește modelul Jina complet și va rula automat pe placa video (GPU) dacă este disponibilă." } } }, "licensePlateRecognition": { - "desc": "Frigate poate recunoaște numerele de înmatriculare ale vehiculelor și poate adăuga automat caracterele detectate în câmpul recognized_license_plate sau un nume cunoscut ca sub_etichetă pentru obiectele de tip mașină. Un caz de utilizare comun poate fi citirea numerelor de înmatriculare ale mașinilor care intră într-o curte sau ale celor care trec pe stradă.", - "title": "Recunoaștere numere de înmatriculare", + "desc": "Frigate poate recunoaște plăcuțele de înmatriculare și poate adăuga caracterele detectate în câmpul recognized_license_plate sau un nume cunoscut ca sub-etichetă pentru obiectele de tip mașină. Util pentru mașini care intră pe alee sau trec pe stradă.", + "title": "Recunoaștere Numere Înmatriculare", "readTheDocumentation": "Citește documentația" }, - "title": "Setări îmbogățiri", - "unsavedChanges": "Modificările nesalvate ale setărilor de îmbogățiri", + "title": "Setări Îmbunătățiri", + "unsavedChanges": "Modificări nesalvate la setările de îmbunătățiri", "birdClassification": { - "title": "Clasificarea păsărilor", - "desc": "Clasificarea păsărilor identifică păsările cunoscute folosind un model TensorFlow cuantificat. Când o pasăre recunoscută este identificată, numele său comun va fi adăugat ca sub_etichetă. Această informație este inclusă în interfața utilizator, filtre și în notificări." + "title": "Clasificare Păsări", + "desc": "Clasificarea păsărilor identifică speciile cunoscute folosind un model Tensorflow cuantizat. Când o pasăre este recunoscută, numele său comun va fi adăugat ca sub-etichetă (sub_label). Această informație este inclusă în interfață, filtre și notificări." }, - "restart_required": "Este necesară repornirea (setările de îmbogățiri au fost modificate)", + "restart_required": "Repornire necesară (setările de îmbunătățiri s-au modificat)", "toast": { - "success": "Setările de îmbogățiri au fost salvate. Repornește Frigate pentru a aplica modificările.", - "error": "Nu s-au putut salva modificările configurației: {{errorMessage}}" + "success": "Setările de îmbunătățiri au fost salvate. Repornește Frigate pentru a aplica modificările.", + "error": "Eșec la salvarea modificărilor de configurare: {{errorMessage}}" } }, "camera": { @@ -237,45 +297,45 @@ "point_few": "{{count}} puncte", "point_other": "{{count}} de puncte", "loiteringTime": { - "title": "Timp de ședere", - "desc": "Setează o durată minimă în secunde în care obiectul trebuie să fie în zonă pentru ca aceasta să se activeze. Implicit: 0" + "title": "Timp de staționare", + "desc": "Setează timpul minim în secunde pe care un obiect trebuie să îl petreacă în zonă pentru ca aceasta să se activeze. Implicit: 0" }, "speedEstimation": { - "desc": "Activează estimarea vitezei pentru obiectele din această zonă. Atenție: Pentru ca estimarea vitezei să funcționeze corect, zona trebuie să aibă exact 4 puncte.", + "desc": "Activează estimarea vitezei pentru obiectele din această zonă. Zona trebuie să aibă exact 4 puncte.", "title": "Estimare viteză", "docs": "Citește documentația", - "lineADistance": "Distanța liniei A ({{unit}})", - "lineBDistance": "Distanța liniei B ({{unit}})", - "lineCDistance": "Distanța liniei C ({{unit}})", - "lineDDistance": "Distanța liniei D ({{unit}})" + "lineADistance": "Distanța Liniei A ({{unit}})", + "lineBDistance": "Distanța Liniei B ({{unit}})", + "lineCDistance": "Distanța Liniei C ({{unit}})", + "lineDDistance": "Distanța Liniei D ({{unit}})" }, - "add": "Adaugă zonă", + "add": "Adaugă Zonă", "desc": { - "title": "Zonele îți permit să definești o anumită zonă din cadrul vizual al camerei. Astfel, poți determina dacă un obiect se află sau nu într-o anumită arie de interes.", + "title": "Zonele îți permit să definești arii specifice în cadru pentru a determina dacă un obiect se află sau nu într-un anumit loc.", "documentation": "Documentație" }, - "edit": "Editează zona", + "edit": "Editează Zona", "name": { "inputPlaceHolder": "Introdu un nume…", "title": "Nume", - "tips": "Numele trebuie să aibă cel puțin 2 caractere, să conțină cel puțin o literă și să nu fie numele unei camere sau al unei alte zone din această cameră." + "tips": "Numele trebuie să aibă cel puțin 2 caractere, să conțină cel puțin o literă și să nu coincidă cu numele unei camere sau al altei zone de pe această cameră." }, "inertia": { "title": "Inerție", - "desc": "Specifică câte cadre trebuie să fie un obiect într-o zonă înainte de a fi considerat prezent în zonă. Implicit: 3" + "desc": "Specifică în câte cadre trebuie să apară un obiect într-o zonă înainte de a fi considerat ca fiind în acea zonă. Implicit: 3" }, "speedThreshold": { "toast": { "error": { - "pointLengthError": "Estimarea vitezei a fost dezactivată pentru această zonă. Zonele cu estimare a vitezei trebuie să aibă exact 4 puncte.", - "loiteringTimeError": "Zonele cu un timp de staționare mai mare de 0 nu ar trebui utilizate împreună cu estimarea vitezei." + "pointLengthError": "Estimarea vitezei a fost dezactivată pentru această zonă. Zonele cu estimare de viteză trebuie să aibă exact 4 puncte.", + "loiteringTimeError": "Zonele cu timpi de staționare mai mari de 0 nu ar trebui folosite împreună cu estimarea vitezei." } }, - "title": "Prag de viteză ({{unit}})", - "desc": "Specifică o viteză minimă pe care trebuie să o aibă obiectele pentru a fi considerate în această zonă." + "title": "Prag viteză ({{unit}})", + "desc": "Specifică viteza minimă pentru ca obiectele să fie luate în considerare în această zonă." }, - "documentTitle": "Editează zone - Frigate", - "clickDrawPolygon": "Apasă pentru a desena un poligon pe imagine.", + "documentTitle": "Editare Zonă - Frigate", + "clickDrawPolygon": "Click pentru a desena un poligon pe imagine.", "toast": { "success": "Zona ({{zoneName}}) a fost salvată." }, @@ -284,62 +344,77 @@ "title": "Obiecte", "desc": "Lista de obiecte care se aplică acestei zone." }, - "allObjects": "Toate obiectele" + "allObjects": "Toate obiectele", + "enabled": { + "title": "Activată", + "description": "Specifică dacă această zonă este activă și activată în fișierul de configurare. Dacă este dezactivată, nu poate fi activată prin MQTT. Zonele dezactivate sunt ignorate la rulare." + } }, "motionMasks": { "point_one": "{{count}} punct", "point_few": "{{count}} puncte", "point_other": "{{count}} de puncte", - "clickDrawPolygon": "Fă clic pentru a desena un poligon pe imagine.", - "label": "Măști de mișcare", - "documentTitle": "Editează masca de mișcare - Frigate", + "clickDrawPolygon": "Click pentru a desena un poligon pe imagine.", + "label": "Mască de mișcare", + "documentTitle": "Editare mască de mișcare - Frigate", "desc": { "documentation": "Documentație", - "title": "Măștile de mișcare sunt folosite pentru a preveni ca anumite tipuri de mișcare nedorită să declanșeze detecția. Mascare excesivă va îngreuna urmărirea obiectelor." + "title": "Măștile de mișcare sunt folosite pentru a preveni declanșarea detecției de către tipuri de mișcare nedorite. Mascarea excesivă va îngreuna urmărirea obiectelor." }, - "add": "Adaugă mască de mișcare", + "add": "Mască de mișcare nouă", "edit": "Editează masca de mișcare", "context": { "documentation": "Citește documentația", - "title": "Măștile de mișcare sunt folosite pentru a preveni declanșarea detecțiilor din cauza tipurilor nedorite de mișcare (de exemplu: ramuri de copaci, timestamp-uri ale camerei). Măștile de mișcare ar trebui folosite cu mare prudență, deoarece supramascarea va îngreuna urmărirea obiectelor." + "title": "Măștile de mișcare sunt folosite pentru a preveni declanșarea detecției de către mișcări nedorite (exemplu: ramuri de copaci, marcaje de timp ale camerei). Măștile de mișcare ar trebui folosite cu moderație; mascarea excesivă va îngreuna urmărirea obiectelor." }, "toast": { "success": { - "title": "{{polygonName}} a fost salvat.", + "title": "{{polygonName}} a fost salvată.", "noName": "Masca de mișcare a fost salvată." } }, "polygonAreaTooLarge": { - "tips": "Măștile de mișcare nu împiedică detectarea obiectelor. Ele doar previn ca mișcarea nedorită să declanșeze o detecție.", - "title": "Masca de mișcare acoperă {{polygonArea}}% din cadrul camerei. Măștile mari de mișcare nu sunt recomandate.", + "tips": "Măștile de mișcare nu previn detectarea obiectelor. Ar trebui să folosești o zonă obligatorie în schimb.", + "title": "Masca de mișcare acoperă {{polygonArea}}% din cadrul camerei. Măștile de mișcare mari nu sunt recomandate.", "documentation": "Citește documentația" + }, + "defaultName": "Mască de mișcare {{number}}", + "name": { + "title": "Nume", + "description": "Un nume opțional pentru această mască de mișcare.", + "placeholder": "Introdu un nume..." } }, "objectMasks": { "point_one": "{{count}} punct", "point_few": "{{count}} puncte", "point_other": "{{count}} de puncte", - "documentTitle": "Editează masca de obiecte - Frigate", - "add": "Adaugă mască de obiecte", - "edit": "Editează masca de obiecte", + "documentTitle": "Editare mască de obiect - Frigate", + "add": "Adaugă mască de obiect", + "edit": "Editează masca de obiect", "desc": { "documentation": "Documentație", - "title": "Măștile de filtrare a obiectelor sunt folosite pentru a filtra falsele pozitive pentru un anumit tip de obiect, în funcție de locație." + "title": "Măștile de filtrare a obiectelor sunt folosite pentru a elimina alertele false pentru un anumit tip de obiect, în funcție de locație." }, - "label": "Măști obiecte", + "label": "Măști de obiecte", "objects": { - "desc": "Tipul de obiect căruia i se aplică această mască de obiecte.", + "desc": "Tipul de obiect care se aplică acestei măști de obiect.", "allObjectTypes": "Toate tipurile de obiecte", "title": "Obiecte" }, "toast": { "success": { - "noName": "Masca de obiecte a fost salvată.", - "title": "{{polygonName}} a fost salvat." + "noName": "Masca de obiect a fost salvată.", + "title": "{{polygonName}} a fost salvată." } }, - "clickDrawPolygon": "Fă clic pentru a desena un poligon pe imagine.", - "context": "Măștile de filtrare a obiectelor sunt folosite pentru a elimina falsele pozitive pentru un anumit tip de obiect, în funcție de locația acestuia." + "clickDrawPolygon": "Click pentru a desena un poligon pe imagine.", + "context": "Măștile de filtrare a obiectelor sunt folosite pentru a elimina alertele false pentru un anumit tip de obiect, în funcție de locație.", + "name": { + "title": "Nume", + "description": "Un nume opțional pentru această mască de obiect.", + "placeholder": "Introdu un nume..." + } }, "restart_required": "Repornire necesară (măști/zone modificate)", "toast": { @@ -347,51 +422,51 @@ "copyCoordinates": "Coordonatele pentru {{polyName}} au fost copiate." }, "error": { - "copyCoordinatesFailed": "Nu s-au putut copia coordonatele." + "copyCoordinatesFailed": "Nu am putut copia coordonatele." } }, "filter": { - "all": "Toate măștile și zonele" + "all": "Toate Măștile și Zonele" }, - "motionMaskLabel": "Masca de mișcare {{number}}", - "objectMaskLabel": "Mască obiect {{number}} ({{label}})", + "motionMaskLabel": "Mască Mișcare {{number}}", + "objectMaskLabel": "Mască Obiect {{number}}", "form": { "zoneName": { "error": { "mustBeAtLeastTwoCharacters": "Numele zonei trebuie să aibă cel puțin 2 caractere.", "mustNotContainPeriod": "Numele zonei nu trebuie să conțină puncte.", "hasIllegalCharacter": "Numele zonei conține caractere nepermise.", - "mustNotBeSameWithCamera": "Numele zonei nu trebuie să fie identic cu numele camerei.", + "mustNotBeSameWithCamera": "Numele zonei nu poate fi același cu numele camerei.", "alreadyExists": "O zonă cu acest nume există deja pentru această cameră.", - "mustHaveAtLeastOneLetter": "Numele zonei trebuie să aibă cel puțin o literă." + "mustHaveAtLeastOneLetter": "Numele zonei trebuie să conțină cel puțin o literă." } }, "polygonDrawing": { "delete": { - "desc": "Ești sigur că vrei să ștergi {{type}} {{name}}?", + "desc": "Sigur vrei să ștergi {{type}} {{name}}?", "success": "{{name}} a fost șters.", - "title": "Confirmă ștergerea" + "title": "Confirmă Ștergerea" }, "removeLastPoint": "Elimină ultimul punct", "reset": { "label": "Șterge toate punctele" }, "snapPoints": { - "false": "Nu fixa punctele", - "true": "Fixează punctele" + "false": "Atragere puncte inactivă", + "true": "Atragere puncte activă" }, "error": { "mustBeFinished": "Desenul poligonului trebuie finalizat înainte de salvare." }, "type": { "zone": "zonă", - "motion_mask": "mască de mișcare", - "object_mask": "mască de obiect" + "motion_mask": "mască mișcare", + "object_mask": "mască obiect" } }, "distance": { "error": { - "mustBeFilled": "Toate câmpurile de distanță trebuie completate pentru a putea folosi estimarea vitezei.", + "mustBeFilled": "Toate câmpurile de distanță trebuie completate pentru estimarea vitezei.", "text": "Distanța trebuie să fie mai mare sau egală cu 0.1." } }, @@ -410,36 +485,43 @@ "mustBeGreaterOrEqualTo": "Pragul de viteză trebuie să fie mai mare sau egal cu 0.1." } } + }, + "disabledInConfig": "Elementul este dezactivat în fișierul de configurare", + "masks": { + "enabled": { + "title": "Activată", + "description": "Specifică dacă această mască este activată în fișierul de configurare. Dacă este dezactivată, nu poate fi activată prin MQTT. Măștile dezactivate sunt ignorate la rulare." + } } }, "debug": { "motion": { - "tips": "

    Casete de mișcare


    Casetele roșii vor fi suprapuse pe zonele din cadru unde este detectată în prezent mișcare

    ", - "title": "Casete de mișcare", - "desc": "Arată chenarele în jurul zonelor unde este detectată mișcare" + "tips": "

    Chenare de mișcare


    Chenare roșii vor fi suprapuse pe zonele din cadru unde este detectată mișcare în prezent

    ", + "title": "Chenare de mișcare", + "desc": "Afișează chenare în zonele unde este detectată mișcare" }, "regions": { - "tips": "

    Casete de regiune


    Casetele verde deschis vor fi suprapuse pe zonele de interes din cadru care sunt trimise către detectorul de obiecte.

    ", + "tips": "

    Chenare de regiune


    Chenare verzi aprinse vor fi suprapuse pe zonele de interes din cadru care sunt trimise către detectorul de obiecte.

    ", "title": "Regiuni", - "desc": "Arată o casetă a regiunii de interes trimise detectorului de obiecte" + "desc": "Afișează regiunea de interes trimisă către detectorul de obiecte" }, - "desc": "Vizualizarea de depanare îți arată o vizualizare în timp real a obiectelor urmărite și a statisticilor acestora. Lista de obiecte afișează un rezumat întârziat al obiectelor detectate.", + "desc": "Vizualizarea de depanare arată în timp real obiectele urmărite și statisticile lor. Lista de obiecte arată un rezumat al obiectelor detectate.", "objectShapeFilterDrawing": { "document": "Citește documentația ", - "area": "Suprafață", + "area": "Arie", "title": "Desenare filtru formă obiect", - "desc": "Desenează un dreptunghi pe imagine pentru a vizualiza detaliile zonei și ale raportului", - "tips": "Activează această opțiune pentru a desena un dreptunghi pe imaginea camerei, pentru a-i arăta zona și raportul. Aceste valori pot fi apoi utilizate pentru a seta parametrii de filtrare a formei obiectelor în configurația ta.", + "desc": "Desenază un dreptunghi pe imagine pentru a vedea detaliile despre arie și raport", + "tips": "Activează această opțiune pentru a desena un dreptunghi pe imaginea camerei și a vedea aria și raportul acestuia. Aceste valori pot fi folosite ulterior pentru a seta parametrii filtrului de formă în configurație.", "score": "Scor", "ratio": "Raport" }, - "noObjects": "Nici un obiect", + "noObjects": "Niciun obiect", "boundingBoxes": { - "title": "Casete de delimitare", - "desc": "Afișează casete de delimitare în jurul obiectelor urmărite", + "title": "Chenare de încadrare", + "desc": "Afișează chenarele de încadrare în jurul obiectelor urmărite", "colors": { - "label": "Culori pentru casetele de delimitare ale obiectelor", - "info": "
  • La pornire, fiecărei etichete de obiect i se vor atribui culori diferite
  • O linie subțire albastru închis indică faptul că obiectul nu este detectat în acest moment
  • O linie subțire gri indică faptul că obiectul este detectat ca fiind staționar
  • O linie groasă indică faptul că obiectul este subiectul urmării automate (când este activată)
  • " + "label": "Culori chenare obiecte", + "info": "
  • La pornire, culori diferite vor fi atribuite fiecărei etichete de obiect
  • O linie subțire albastru închis indică faptul că obiectul nu este detectat în acest moment
  • O linie subțire gri indică faptul că obiectul este detectat ca fiind staționar
  • O linie groasă indică faptul că obiectul este subiectul urmăririi automate (când este activată)
  • " } }, "title": "Depanare", @@ -449,45 +531,45 @@ "desc": "Afișează poligoanele măștilor de mișcare", "title": "Măști de mișcare" }, - "detectorDesc": "Frigate folosește detectorii ({{detectors}}) pentru a detecta obiecte în stream-ul video al camerei tale.", + "detectorDesc": "Frigate folosește detectoarele tale ({{detectors}}) pentru a detecta obiecte în stream-ul video al camerei.", "timestamp": { "title": "Marcaj temporal", "desc": "Suprapune un marcaj temporal pe imagine" }, "zones": { "title": "Zone", - "desc": "Afișează conturul oricăror zone definite" + "desc": "Afișează conturul oricărei zone definite" }, "paths": { - "title": "Căi", + "title": "Trasee", "desc": "Afișează punctele semnificative ale traseului obiectului urmărit", - "tips": "

    Căi


    Liniile și cercurile vor indica punctele semnificative prin care obiectul urmărit s-a deplasat pe parcursul ciclului său de viață.

    " + "tips": "

    Trasee


    Liniile și cercurile vor indica punctele semnificative prin care obiectul urmărit a trecut în timpul existenței sale.

    " }, "audio": { "title": "Audio", "noAudioDetections": "Nicio detecție audio", "score": "scor", - "currentRMS": "RMS curent", - "currentdbFS": "dbFS curent" + "currentRMS": "RMS actual", + "currentdbFS": "dbFS actual" }, - "openCameraWebUI": "Deschide interfața web pentru {{camera}}" + "openCameraWebUI": "Deschide interfața web a camerei {{camera}}" }, "users": { "dialog": { "deleteUser": { - "warn": "Ești sigur că vrei să ștergi utilizatorul {{username}}?", - "title": "Șterge utilizatorul", - "desc": "Această acțiune nu poate fi anulată. Aceasta va șterge definitiv contul de utilizator și va elimina toate datele asociate." + "warn": "Sigur vrei să ștergi utilizatorul {{username}}?", + "title": "Șterge utilizator", + "desc": "Această acțiune nu poate fi anulată. Contul va fi șters definitiv împreună cu toate datele asociate." }, "changeRole": { "desc": "Actualizează permisiunile pentru {{username}}", "roleInfo": { - "intro": "Selectează rolul potrivit pentru acest utilizator:", + "intro": "Selectează rolul corespunzător pentru acest utilizator:", "admin": "Administrator", "adminDesc": "Acces complet la toate funcțiile.", "viewer": "Vizualizator", - "viewerDesc": "Limitat doar la tablourile de bord Live, Revizuire, Explorare și Exporturi.", - "customDesc": "Rol personalizat cu acces specific la cameră." + "viewerDesc": "Limitat la tablouri de bord Live, Recenzii, Explorare și Exporturi.", + "customDesc": "Rol personalizat cu acces la camere specifice." }, "select": "Selectează un rol", "title": "Schimbă rolul utilizatorului" @@ -496,7 +578,7 @@ "password": { "strength": { "weak": "Slabă", - "title": "Putere parolă: ", + "title": "Complexitate parolă: ", "veryStrong": "Foarte puternică", "medium": "Medie", "strong": "Puternică" @@ -509,7 +591,7 @@ "title": "Parolă", "match": "Parolele se potrivesc", "notMatch": "Parolele nu se potrivesc", - "show": "Afișează parola", + "show": "Arată parola", "hide": "Ascunde parola", "requirements": { "title": "Cerințe parolă:", @@ -519,48 +601,48 @@ "special": "Cel puțin un caracter special (!@#$%^&*(),.?\":{}|<>)" } }, - "passwordIsRequired": "Este nevoie de parolă", + "passwordIsRequired": "Parola este obligatorie", "user": { - "placeholder": "Introdu nume utilizator", + "placeholder": "Introdu numele de utilizator", "title": "Nume utilizator", - "desc": "Sunt permise doar litere, cifre, puncte și subliniere." + "desc": "Sunt permise doar litere, cifre, puncte și sublinieri." }, "newPassword": { "title": "Parolă nouă", - "placeholder": "Introdu parola nouă", + "placeholder": "Introdu noua parolă", "confirm": { - "placeholder": "Re-introdu parola nouă" + "placeholder": "Introdu din nou noua parolă" } }, - "usernameIsRequired": "Este nevoie de numele de utilizator", + "usernameIsRequired": "Numele de utilizator este obligatoriu", "currentPassword": { - "title": "Parola curentă", - "placeholder": "Introduceți parola curentă" + "title": "Parola actuală", + "placeholder": "Introdu parola actuală" } }, "createUser": { - "confirmPassword": "Te rog să confirmi parola", - "title": "Crează un utilizator nou", - "desc": "Adaugă un cont de utilizator nou și specifică un rol pentru accesul la anumite zone ale interfeței Frigate.", - "usernameOnlyInclude": "Numele de utilizator poate conține doar litere, cifre, . sau _" + "confirmPassword": "Te rugăm să confirmi parola", + "title": "Creează utilizator nou", + "desc": "Adaugă un cont nou și specifică un rol pentru accesul în interfața Frigate.", + "usernameOnlyInclude": "Numele de utilizator poate conține doar litere, cifre, puncte (.) sau sublinieri (_)" }, "passwordSetting": { "cannotBeEmpty": "Parola nu poate fi goală", "doNotMatch": "Parolele nu se potrivesc", "updatePassword": "Actualizează parola pentru {{username}}", - "setPassword": "Schimbă parola", + "setPassword": "Setează parola", "desc": "Creează o parolă puternică pentru a securiza acest cont.", - "currentPasswordRequired": "Parola curentă este obligatorie", - "incorrectCurrentPassword": "Parola curentă incorectă", - "passwordVerificationFailed": "Nu s-a putut verifica parola", - "multiDeviceWarning": "Orice alte dispozitive pe care ești autentificat vor trebui să se autentifice din nou în termen de {{refresh_time}}.", - "multiDeviceAdmin": "De asemenea, poți forța toți utilizatorii să se reautentifice imediat prin rotirea secretului tău JWT." + "currentPasswordRequired": "Parola actuală este obligatorie", + "incorrectCurrentPassword": "Parola actuală este incorectă", + "passwordVerificationFailed": "Verificarea parolei a eșuat", + "multiDeviceWarning": "Orice alt dispozitiv pe care ești autentificat va necesita reautentificarea în {{refresh_time}}.", + "multiDeviceAdmin": "Poți de asemenea să forțezi toți utilizatorii să se reautentifice imediat prin rotirea secretului JWT." } }, "addUser": "Adaugă utilizator", "management": { "desc": "Gestionează conturile de utilizator ale acestei instanțe Frigate.", - "title": "Gestionare utilizatori" + "title": "Administrare utilizatori" }, "toast": { "success": { @@ -570,10 +652,10 @@ "deleteUser": "Utilizatorul {{user}} a fost șters cu succes" }, "error": { - "setPasswordFailed": "Salvarea parolei a eșuat: {{errorMessage}}", - "createUserFailed": "Crearea utilizatorului a eșuat: {{errorMessage}}", - "roleUpdateFailed": "Actualizarea rolului a eșuat: {{errorMessage}}", - "deleteUserFailed": "Ștergerea utilizatorului a eșuat: {{errorMessage}}" + "setPasswordFailed": "Eroare la salvarea parolei: {{errorMessage}}", + "createUserFailed": "Eroare la crearea utilizatorului: {{errorMessage}}", + "roleUpdateFailed": "Eroare la actualizarea rolului: {{errorMessage}}", + "deleteUserFailed": "Eroare la ștergerea utilizatorului: {{errorMessage}}" } }, "updatePassword": "Resetează parola", @@ -582,7 +664,7 @@ "username": "Nume utilizator", "actions": "Acțiuni", "role": "Rol", - "noUsers": "Nu a fost găsit niciun utilizator.", + "noUsers": "Niciun utilizator găsit.", "changeRole": "Schimbă rolul utilizatorului", "deleteUser": "Șterge utilizatorul", "password": "Resetează parola" @@ -590,120 +672,127 @@ }, "notification": { "notificationSettings": { - "title": "Setări pentru notificări", - "desc": "Frigate poate trimite nativ notificări push către dispozitivul tău atunci când rulează în browser sau este instalat ca PWA.", + "title": "Setări Notificări", + "desc": "Frigate poate trimite notificări push direct pe dispozitivul tău când rulează în browser sau este instalat ca PWA.", "documentation": "Citește documentația" }, "globalSettings": { - "desc": "Suspendă temporar notificările pentru camerele specifice pe toate dispozitivele înregistrate.", - "title": "Setări globale" + "desc": "Suspendă temporar notificările pentru anumite camere pe toate dispozitivele înregistrate.", + "title": "Setări Globale" }, "email": { - "placeholder": "ex. exemplu@email.com", - "desc": "Este necesar un email valid, care va fi folosit pentru a te notifica în cazul în care apar probleme cu serviciul de push.", + "placeholder": "ex: exemplu@email.com", + "desc": "E necesară o adresă de email validă pentru a te anunța dacă apar probleme cu serviciul de push.", "title": "Email" }, "notificationUnavailable": { "documentation": "Citește documentația", - "desc": "Notificările push web necesită un context securizat (https://…). Aceasta este o limitare a browserului. Accesează Frigate în mod securizat pentru a putea folosi notificările.", - "title": "Notificările nu sunt disponibile" + "desc": "Notificările push web necesită un context securizat (https://…). Aceasta este o limitare a browserului. Accesează Frigate în mod securizat pentru a utiliza notificările.", + "title": "Notificări Indisponibile" }, "cameras": { "title": "Camere", - "desc": "Selectează camerele pentru care dorești să activezi notificările.", - "noCameras": "Nu există camere disponibile" + "desc": "Alege camerele pentru care vrei să activezi notificările.", + "noCameras": "Nicio cameră disponibilă" }, - "deviceSpecific": "Setări specifice dispozitivului", - "registerDevice": "Înregistrează acest dispozitiv", - "unregisterDevice": "Deregistrează acest dispozitiv", + "deviceSpecific": "Setări Specifice Dispozitivului", + "registerDevice": "Înregistrează acest Dispozitiv", + "unregisterDevice": "Anulează Înregistrarea Dispozitivului", "sendTestNotification": "Trimite o notificare de test", "suspendTime": { "12hours": "Suspendă pentru 12 ore", "suspend": "Suspendă", "5minutes": "Suspendă pentru 5 minute", "10minutes": "Suspendă pentru 10 minute", - "24hours": "Suspendă pentru 24 de ore", - "untilRestart": "Suspendă până la restart", - "1hour": "Suspendă pentru 1 oră", + "24hours": "Suspendă pentru 24 ore", + "untilRestart": "Suspendă până la repornire", + "1hour": "Suspendă pentru o oră", "30minutes": "Suspendă pentru 30 minute" }, "toast": { "success": { - "registered": "Înregistrarea pentru notificări a fost realizată cu succes. Este necesară repornirea Frigate înainte ca orice notificare (inclusiv o notificare de test) să poată fi trimisă.", - "settingSaved": "Setările notificărilor au fost salvate." + "registered": "Înregistrarea pentru notificări a reușit. Este necesară repornirea Frigate înainte de a putea trimite orice notificare (inclusiv cea de test).", + "settingSaved": "Setările pentru notificări au fost salvate." }, "error": { - "registerFailed": "Eroare la salvarea înregistrării notificării." + "registerFailed": "Eroare la salvarea înregistrării notificărilor." } }, "suspended": "Notificări suspendate {{time}}", - "active": "Notificări active", - "unsavedRegistrations": "Înregistrări notificări nesalvate", - "unsavedChanges": "Modificări ale notificărilor nesalvate", + "active": "Notificări Active", + "unsavedRegistrations": "Înregistrări de notificări nesalvate", + "unsavedChanges": "Modificări de notificări nesalvate", "title": "Notificări", - "cancelSuspension": "Anulează suspendarea" + "cancelSuspension": "Anulează Suspendarea" }, "frigatePlus": { "apiKey": { - "plusLink": "Citește mai mult despre Frigate+", + "plusLink": "Citește mai multe despre Frigate+", "desc": "Cheia API Frigate+ permite integrarea cu serviciul Frigate+.", - "validated": "Frigate+ API key a fost detectată și validată", - "title": "Frigate+ API Key", - "notValidated": "Frigate+ API key nu a fost detectată sau nu a fost validată" + "validated": "Cheia API Frigate+ a fost detectată și validată", + "title": "Cheie API Frigate+", + "notValidated": "Cheia API Frigate+ nu este detectată sau validată" }, "snapshotConfig": { - "title": "Configurație snapshot-uri", + "title": "Configurare snapshot-uri", "table": { "snapshots": "Snapshot-uri", "cleanCopySnapshots": "Snapshot-uri clean_copy", "camera": "Cameră" }, "documentation": "Citește documentația", - "cleanCopyWarning": "Unele camere au snapshot-uri activate, dar copia curată (clean_copy) este dezactivată. Trebuie să activați clean_copy în configurația instantaneelor pentru a putea trimite imagini de la aceste camere către Frigate+.", - "desc": "Trimiterea către Frigate+ necesită ca atât snapshot-urile, cât și snapshot-urile clean_copy să fie activate în configurația ta." + "cleanCopyWarning": "Unele camere au snapshot-uri activate, dar au copia curată dezactivată. Trebuie să activezi clean_copy în configurația snapshot-urilor pentru a putea trimite imagini de la aceste camere către Frigate+.", + "desc": "Trimiterea către Frigate+ necesită ca ambele opțiuni, snapshot-uri și clean_copy, să fie activate în configurație." }, "modelInfo": { - "title": "Informații model", - "supportedDetectors": "Detectoare suportate", + "title": "Informații Model", + "supportedDetectors": "Detectoare Suportate", "plusModelType": { - "baseModel": "Model de bază", - "userModel": "Reglat-fin" + "baseModel": "Model de Bază", + "userModel": "Reglat fin" }, "loadingAvailableModels": "Se încarcă modelele disponibile…", - "modelSelect": "Modelele disponibile pe Frigate+ pot fi selectate aici. Rețineți că pot fi selectate doar modelele compatibile cu configurația actuală a detectorului dumneavoastră.", - "baseModel": "Model de bază", - "loading": "Se încarcă informațiile modelului…", - "error": "Încărcarea informațiilor modelului a eșuat", - "availableModels": "Modele disponibile", - "modelType": "Tip model", - "trainDate": "Dată antrenare", + "modelSelect": "Poți selecta modelele tale disponibile pe Frigate+ aici. Reține că pot fi selectate doar modelele compatibile cu configurația actuală a detectorului.", + "baseModel": "Model de Bază", + "loading": "Se încarcă informațiile despre model…", + "error": "Eroare la încărcarea informațiilor despre model", + "availableModels": "Modele Disponibile", + "modelType": "Tip Model", + "trainDate": "Data Antrenării", "cameras": "Camere" }, "toast": { - "error": "Nu s-au putut salva modificările configurației: {{errorMessage}}", - "success": "Setările Frigate+ au fost salvate. Reporniti Frigate pentru a aplica modificările." + "error": "Eroare la salvarea modificărilor de config: {{errorMessage}}", + "success": "Setările Frigate+ au fost salvate. Repornește Frigate pentru a aplica modificările." }, - "restart_required": "Repornire necesară (model Frigate+ schimbat)", - "unsavedChanges": "Modificări nesalvate ale setărilor Frigate+", - "title": "Setări Frigate+" + "restart_required": "Repornire necesară (modelul Frigate+ a fost schimbat)", + "unsavedChanges": "Modificări Frigate+ nesalvate", + "title": "Setări Frigate+", + "description": "Frigate+ este un serviciu pe bază de abonament care oferă funcții suplimentare, inclusiv posibilitatea de a folosi modele personalizate de detecție obiecte, antrenate pe propriile date. Poți gestiona setările modelului Frigate+ aici.", + "cardTitles": { + "api": "API", + "currentModel": "Model Actual", + "otherModels": "Alte Modele", + "configuration": "Configurație" + } }, "motionDetectionTuner": { - "unsavedChanges": "Modificări nesalvate la reglajul de mișcare pentru {{camera}}", + "unsavedChanges": "Modificări nesalvate la reglajul de mișcare ({{camera}})", "Threshold": { "title": "Prag", - "desc": "Valoarea pragului determină cât de mare trebuie să fie schimbarea luminozității unui pixel pentru a fi considerată mișcare. Implicit: 30" + "desc": "Valoarea pragului dictează cât de mult trebuie să se schimbe luminanța unui pixel pentru a fi considerat mișcare. Implicit: 30" }, "contourArea": { - "desc": "Valoarea suprafeței conturului este folosită pentru a decide care grupuri de pixeli modificați se califică ca mișcare. Implicit: 10", - "title": "Suprafața conturului" + "desc": "Valoarea ariei conturului este folosită pentru a decide care grupuri de pixeli modificați se califică drept mișcare. Implicit: 10", + "title": "Aria conturului" }, "improveContrast": { "title": "Îmbunătățire contrast", - "desc": "Îmbunătățește contrastul pentru scene întunecate. Implicit: ACTIVAT" + "desc": "Îmbunătățește contrastul pentru scenele întunecate. Implicit: ACTIVAT" }, "desc": { - "title": "Frigate utilizează detecția mișcării ca o primă verificare, pentru a vedea dacă există ceva semnificativ în cadru care merită verificat cu detecția de obiecte.", - "documentation": "Citește ghidul pentru reglajul mișcării" + "title": "Frigate folosește detecția de mișcare ca prim pas pentru a verifica dacă se întâmplă ceva în cadru ce merită verificat cu detecția de obiecte.", + "documentation": "Citește Ghidul de reglare a mișcării" }, "toast": { "success": "Setările de mișcare au fost salvate." @@ -711,21 +800,21 @@ "title": "Reglaj detecție mișcare" }, "triggers": { - "documentTitle": "Declanșatoare", + "documentTitle": "Triggere", "management": { - "title": "Declanșatoare", - "desc": "Gestionează declanșatoarele pentru {{camera}}. Folosește tipul miniatură pentru a declanșa pe miniaturi similare cu obiectul urmărit selectat și tipul descriere pentru a declanșa pe descrieri similare textului pe care îl specifici." + "title": "Triggere", + "desc": "Gestionează triggerele pentru {{camera}}. Folosește tipul „thumbnail” pentru a declanșa la miniaturi similare cu obiectul urmărit, și tipul „descriere” pentru a declanșa la descrieri similare cu textul specificat." }, - "addTrigger": "Adaugă declanșator", + "addTrigger": "Adaugă Trigger", "table": { "name": "Nume", "type": "Tip", "content": "Conținut", "threshold": "Prag", "actions": "Acțiuni", - "noTriggers": "Nu sunt configurate declanșatoare pentru această cameră.", + "noTriggers": "Nu există triggere configurate pentru această cameră.", "edit": "Editează", - "deleteTrigger": "Elimină declanșatorul", + "deleteTrigger": "Șterge Trigger", "lastTriggered": "Ultima declanșare" }, "type": { @@ -734,64 +823,64 @@ }, "actions": { "alert": "Marchează ca alertă", - "notification": "Trimite notificare", - "sub_label": "Adaugă subeticheta", - "attribute": "Adaugă atribut" + "notification": "Trimite Notificare", + "sub_label": "Adaugă Sub-etichetă", + "attribute": "Adaugă Atribut" }, "dialog": { "createTrigger": { - "title": "Crează declanșator", - "desc": "Creează un declanșator pentru camera {{camera}}" + "title": "Creează Trigger", + "desc": "Creează un trigger pentru camera {{camera}}" }, "editTrigger": { - "title": "Editează declanșatorul", - "desc": "Editează setările pentru declanșatorul de pe camera {{camera}}" + "title": "Editează Trigger", + "desc": "Editează setările pentru triggerul de pe camera {{camera}}" }, "deleteTrigger": { - "title": "Elimină declanșatorul", - "desc": "Ești sigur că vrei să ștergi declanșatorul {{triggerName}}? Această acțiune nu poate fi anulată." + "title": "Șterge Trigger", + "desc": "Sigur vrei să ștergi triggerul {{triggerName}}? Această acțiune nu poate fi anulată." }, "form": { "name": { "title": "Nume", - "placeholder": "Denumește acest declanșator", + "placeholder": "Pune un nume acestui trigger", "error": { "minLength": "Câmpul trebuie să aibă cel puțin 2 caractere.", - "invalidCharacters": "Câmpul poate conține doar litere, cifre, underscore-uri și cratime.", - "alreadyExists": "Un declanșator cu acest nume există deja pentru această cameră." + "invalidCharacters": "Câmpul poate conține doar litere, cifre, underscore (_) și cratime (-).", + "alreadyExists": "Un trigger cu acest nume există deja pentru această cameră." }, - "description": "Introduceți un nume sau o descriere unică pentru a identifica acest declanșator" + "description": "Introdu un nume unic sau o descriere pentru a identifica acest trigger" }, "enabled": { - "description": "Activează sau dezactivează acest declanșator" + "description": "Activează sau dezactivează acest trigger" }, "type": { "title": "Tip", - "placeholder": "Selectează tipul de declanșator", - "description": "Declanșează atunci când este detectată o descriere de obiect urmărit similară", - "thumbnail": "Declanșează atunci când este detectată o miniatură de obiect urmărit similară" + "placeholder": "Selectează tipul triggerului", + "description": "Declanșează când este detectată o descriere similară a obiectului urmărit", + "thumbnail": "Declanșează când este detectată o miniatură similară a obiectului urmărit" }, "content": { "title": "Conținut", "imagePlaceholder": "Selectează o miniatură", - "textPlaceholder": "Introdu conținutul textului", - "imageDesc": "Sunt afișate doar ultimele 100 de miniaturi. Dacă nu găsiți miniatura dorită, vă rugăm să verificați obiectele anterioare în Explorator și să configurați un declanșator din meniul de acolo.", - "textDesc": "Introduceți textul pentru a declanșa această acțiune atunci când este detectată o descriere de obiect urmărit similară.", + "textPlaceholder": "Introdu textul", + "imageDesc": "Sunt afișate doar cele mai recente 100 de miniaturi. Dacă nu găsești miniatura dorită, verifică obiectele anterioare în secțiunea Explore și configurează un trigger de acolo.", + "textDesc": "Introdu textul pentru a declanșa acțiunea atunci când este detectată o descriere similară a obiectului urmărit.", "error": { "required": "Conținutul este obligatoriu." } }, "threshold": { - "title": "Prag", + "title": "Prag (Threshold)", "error": { "min": "Pragul trebuie să fie cel puțin 0", - "max": "Pragul trebuie să fie cel mult 1" + "max": "Pragul trebuie să fie maxim 1" }, - "desc": "Setați pragul de similitudine pentru acest declanșator. Un prag mai mare înseamnă că este necesară o potrivire mai apropiată pentru declanșarea acestuia." + "desc": "Setează pragul de similitudine. Un prag mai mare înseamnă că este necesară o potrivire mai exactă pentru a declanșa." }, "actions": { "title": "Acțiuni", - "desc": "În mod implicit, Frigate trimite un mesaj MQTT pentru toate declanșatoarele. Subetichetele adaugă numele declanșatorului la eticheta obiectului. Atributele sunt metadate căutabile, stocate separat în metadatele obiectului urmărit.", + "desc": "În mod implicit, Frigate trimite un mesaj MQTT pentru toate triggerele. Sub-etichetele adaugă numele triggerului la eticheta obiectului. Atributele sunt metadate căutabile stocate separat.", "error": { "min": "Trebuie selectată cel puțin o acțiune." } @@ -805,66 +894,66 @@ }, "toast": { "success": { - "createTrigger": "Declanșatorul {{name}} a fost creat cu succes.", - "updateTrigger": "Declanșatorul {{name}} a fost actualizat cu succes.", - "deleteTrigger": "Declanșatorul {{name}} a fost eliminat cu succes." + "createTrigger": "Triggerul {{name}} a fost creat cu succes.", + "updateTrigger": "Triggerul {{name}} a fost actualizat cu succes.", + "deleteTrigger": "Triggerul {{name}} a fost șters." }, "error": { - "createTriggerFailed": "Crearea declanșatorului a eșuat: {{errorMessage}}", - "updateTriggerFailed": "Actualizarea declanșatorului a eșuat: {{errorMessage}}", - "deleteTriggerFailed": "Eliminarea declanșatorului a eșuat: {{errorMessage}}" + "createTriggerFailed": "Eroare la crearea triggerului: {{errorMessage}}", + "updateTriggerFailed": "Eroare la actualizarea triggerului: {{errorMessage}}", + "deleteTriggerFailed": "Eroare la ștergerea triggerului: {{errorMessage}}" } }, "semanticSearch": { - "title": "Căutarea semantică este dezactivată", - "desc": "Căutarea semantică trebuie să fie activată pentru a utiliza declanșatoarele." + "title": "Căutarea Semantică este dezactivată", + "desc": "Căutarea Semantică trebuie să fie activată pentru a folosi Triggere." }, "wizard": { - "title": "Creează declanșator", + "title": "Creează Trigger", "step1": { - "description": "Configurează setările de bază pentru declanșatorul tău." + "description": "Configurează setările de bază pentru trigger." }, "step2": { - "description": "Configurează conținutul care va declanșa această acțiune." + "description": "Setează conținutul care va declanșa această acțiune." }, "step3": { - "description": "Configurează pragul și acțiunile pentru acest declanșator." + "description": "Configurează pragul și acțiunile pentru acest trigger." }, "steps": { "nameAndType": "Nume și Tip", - "configureData": "Configurează datele", + "configureData": "Configurare Date", "thresholdAndActions": "Prag și Acțiuni" } } }, "roles": { "management": { - "title": "Gestionare rol vizualizator", - "desc": "Gestionează rolurile personalizate de vizualizator și permisiunile lor de acces la cameră pentru această instanță Frigate." + "title": "Administrare roluri vizualizator", + "desc": "Gestionează rolurile de vizualizator personalizate și permisiunile de acces la camere pentru această instanță Frigate." }, "addRole": "Adaugă rol", "table": { "role": "Rol", "cameras": "Camere", "actions": "Acțiuni", - "noRoles": "Nu au fost găsite roluri personalizate.", + "noRoles": "Nu s-au găsit roluri personalizate.", "editCameras": "Editează camerele", - "deleteRole": "Șterge rol" + "deleteRole": "Șterge rolul" }, "toast": { "success": { "createRole": "Rolul {{role}} a fost creat cu succes", "updateCameras": "Camerele au fost actualizate pentru rolul {{role}}", "deleteRole": "Rolul {{role}} a fost șters cu succes", - "userRolesUpdated_one": "{{count}} utilizator atribuit acestui rol a fost actualizat la „vizualizator”, care are acces la toate camerele.", - "userRolesUpdated_few": "{{count}} utilizatori atribuiți acestui rol au fost actualizați la „vizualizatori”, care are acces la toate camerele.", - "userRolesUpdated_other": "{{count}} de utilizatori atribuiți acestui rol au fost actualizați la „vizualizatori”, care are acces la toate camerele." + "userRolesUpdated_one": "{{count}} utilizator atribuit acestui rol a fost actualizat la 'vizualizator', care are acces la toate camerele.", + "userRolesUpdated_few": "{{count}} utilizatori atribuiți acestui rol au fost actualizați la 'vizualizator', care are acces la toate camerele.", + "userRolesUpdated_other": "{{count}} de utilizatori atribuiți acestui rol au fost actualizați la 'vizualizator', care are acces la toate camerele." }, "error": { - "createRoleFailed": "Crearea rolului a eșuat: {{errorMessage}}", - "updateCamerasFailed": "Actualizarea camerelor a eșuat: {{errorMessage}}", - "deleteRoleFailed": "Ștergerea rolului a eșuat: {{errorMessage}}", - "userUpdateFailed": "Actualizarea rolurilor utilizatorilor a eșuat: {{errorMessage}}" + "createRoleFailed": "Eroare la crearea rolului: {{errorMessage}}", + "updateCamerasFailed": "Eroare la actualizarea camerelor: {{errorMessage}}", + "deleteRoleFailed": "Eroare la ștergerea rolului: {{errorMessage}}", + "userUpdateFailed": "Eroare la actualizarea rolurilor utilizatorilor: {{errorMessage}}" } }, "dialog": { @@ -877,39 +966,39 @@ "desc": "Actualizează accesul la camere pentru rolul {{role}}." }, "deleteRole": { - "title": "Șterge rolul", - "desc": "Această acțiune nu poate fi anulată. Aceasta va șterge permanent rolul și va atribui orice utilizatori cu acest rol la rolul „vizualizator”, care va oferi acces vizualizator la toate camerele.", - "warn": "Ești sigur că vrei să ștergi {{role}}?", + "title": "Șterge Rolul", + "desc": "Această acțiune este ireversibilă. Rolul va fi șters definitiv, iar utilizatorii cu acest rol vor primi rolul de „viewer”, având acces de vizualizare la toate camerele.", + "warn": "Sigur vrei să ștergi {{role}}?", "deleting": "Se șterge..." }, "form": { "role": { - "title": "Nume rol", - "placeholder": "Introduceți numele rolului", - "desc": "Sunt permise doar litere, cifre, puncte și linii de subliniere.", + "title": "Nume Rol", + "placeholder": "Introdu numele rolului", + "desc": "Sunt permise doar litere, cifre, puncte și caractere de subliniere (_).", "roleIsRequired": "Numele rolului este obligatoriu", - "roleOnlyInclude": "Numele rolului poate include doar litere, cifre, . sau _", - "roleExists": "Un rol cu acest nume există deja." + "roleOnlyInclude": "Numele rolului poate conține doar litere, cifre, . sau _", + "roleExists": "Există deja un rol cu acest nume." }, "cameras": { "title": "Camere", - "desc": "Selectați camerele la care acest rol are acces. Este necesară cel puțin o cameră.", + "desc": "Selectează camerele la care are acces acest rol. Este necesară cel puțin o cameră.", "required": "Trebuie selectată cel puțin o cameră." } } } }, "cameraWizard": { - "title": "Adaugă cameră", - "description": "Urmează pașii de mai jos pentru a adăuga o cameră nouă la sistemul tău Frigate.", + "title": "Adaugă Cameră", + "description": "Urmează pașii de mai jos pentru a adăuga o cameră nouă în instalația Frigate.", "steps": { "nameAndConnection": "Nume și Conexiune", - "streamConfiguration": "Configurare streaming", + "streamConfiguration": "Configurare Stream", "validationAndTesting": "Validare și Testare", - "probeOrSnapshot": "Sondează sau fă snapshot" + "probeOrSnapshot": "Sondare sau snapshot" }, "save": { - "success": "Camera nouă {{cameraName}} a fost salvată cu succes.", + "success": "Camera {{cameraName}} a fost salvată cu succes.", "failure": "Eroare la salvarea {{cameraName}}." }, "testResultLabels": { @@ -919,26 +1008,26 @@ "fps": "FPS" }, "commonErrors": { - "noUrl": "Te rog să furnizezi un URL de streaming valid", - "testFailed": "Testul de streaming a eșuat: {{error}}" + "noUrl": "Te rog introdu un URL de stream valid", + "testFailed": "Testul stream-ului a eșuat: {{error}}" }, "step1": { - "description": "Introduceți detaliile camerei și alegeți să testați camera sau să selectați manual marca.", - "cameraName": "Nume cameră", - "cameraNamePlaceholder": "ex. usă_intrare sau Vedere Curte Spate", - "host": "Gazdă/Adresă IP", + "description": "Introdu detaliile camerei și alege să o scanezi automat sau să selectezi manual marca.", + "cameraName": "Nume Cameră", + "cameraNamePlaceholder": "ex: usa_intrare sau Curte Spate", + "host": "Host/Adresă IP", "port": "Port", - "username": "Nume de utilizator", + "username": "Utilizator", "usernamePlaceholder": "Opțional", "password": "Parolă", "passwordPlaceholder": "Opțional", "selectTransport": "Selectează protocolul de transport", - "cameraBrand": "Brand cameră", - "selectBrand": "Selectează marca camerei pentru șablonul de URL", - "customUrl": "URL Streaming Personalizat", - "brandInformation": "Informații despre brand", - "brandUrlFormat": "Pentru camere cu formatul URL RTSP ca: {{exampleUrl}}", - "customUrlPlaceholder": "rtsp://utilizator:parolă@gazdă:port/cale", + "cameraBrand": "Marca Camerei", + "selectBrand": "Alege marca pentru șablonul de URL", + "customUrl": "URL Stream Personalizat", + "brandInformation": "Informații marcă", + "brandUrlFormat": "Pentru camere cu formatul de URL RTSP: {{exampleUrl}}", + "customUrlPlaceholder": "rtsp://utilizator:parola@host:port/cale", "testConnection": "Testează Conexiunea", "testSuccess": "Testul de conexiune a reușit!", "testFailed": "Testul de conexiune a eșuat. Te rog să verifici datele introduse și să încerci din nou.", @@ -947,15 +1036,15 @@ "noSnapshot": "Nu se poate obține un snapshot de pe stream-ul configurat." }, "errors": { - "brandOrCustomUrlRequired": "Ori selectează un brand de cameră cu adresă gazdă/IP, ori alege „Alta” cu un URL personalizat", + "brandOrCustomUrlRequired": "Selectează o marcă cu host/IP sau alege 'Other' cu un URL personalizat", "nameRequired": "Numele camerei este obligatoriu", - "nameLength": "Numele camerei trebuie să aibă 64 de caractere sau mai puțin", - "invalidCharacters": "Numele camerei conține caractere nevalide", + "nameLength": "Numele camerei trebuie să aibă maxim 64 de caractere", + "invalidCharacters": "Numele camerei conține caractere nepermise", "nameExists": "Numele camerei există deja", "brands": { "reolink-rtsp": "RTSP Reolink nu este recomandat. Activează HTTP în setările firmware ale camerei și repornește asistentul." }, - "customUrlRtspRequired": "URL-urile personalizate trebuie să înceapă cu \"rtsp://\". Este necesară configurare manuală pentru stream-urile de cameră non-RTSP." + "customUrlRtspRequired": "URL-urile personalizate trebuie să înceapă cu „rtsp://”. Configurarea manuală este necesară pentru stream-urile care nu sunt RTSP." }, "docs": { "reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras" @@ -964,18 +1053,18 @@ "probingMetadata": "Sondare metadate cameră...", "fetchingSnapshot": "Preluare snapshot cameră..." }, - "connectionSettings": "Setări conexiune", - "detectionMethod": "Metoda de detecție stream", + "connectionSettings": "Setări Conexiune", + "detectionMethod": "Metodă Detecție Stream", "onvifPort": "Port ONVIF", - "probeMode": "Sondare cameră", + "probeMode": "Scanează camera", "manualMode": "Selecție manuală", - "detectionMethodDescription": "Sondează camera cu ONVIF (dacă este suportat) pentru a găsi URL-urile de stream ale camerei, sau selectează manual marca camerei pentru a utiliza URL-uri predefinite. Pentru a introduce un URL RTSP personalizat, alege metoda manuală și selectează \"Altele\".", - "onvifPortDescription": "Pentru camerele care suportă ONVIF, acesta este de obicei 80 sau 8080.", - "useDigestAuth": "Utilizați autentificarea digest", - "useDigestAuthDescription": "Utilizați autentificarea HTTP digest pentru ONVIF. Unele camere pot necesita un nume de utilizator/parolă ONVIF dedicat în locul utilizatorului standard de administrare." + "detectionMethodDescription": "Scanează camera prin ONVIF (dacă e suportat) pentru a găsi URL-urile stream-urilor, sau alege manual marca pentru a folosi URL-uri predefinite. Pentru un URL RTSP personalizat, alege metoda manuală și selectează \"Other\".", + "onvifPortDescription": "Pentru camerele cu suport ONVIF, acesta este de obicei 80 sau 8080.", + "useDigestAuth": "Folosește autentificare digest", + "useDigestAuthDescription": "Folosește autentificarea HTTP digest pentru ONVIF. Unele camere pot necesita un utilizator/parolă dedicat pentru ONVIF, diferit de cel de admin." }, "step2": { - "description": "Testează camera pentru fluxurile disponibile sau configurează setările manuale pe baza metodei de detectare selectate.", + "description": "Testează camera pentru stream-uri disponibile sau configurează manual setările în funcție de metoda de detecție aleasă.", "streamsTitle": "Stream-uri cameră", "addStream": "Adaugă stream", "addAnotherStream": "Adaugă un alt stream", @@ -994,9 +1083,9 @@ "audio": "Audio" }, "testStream": "Testează conexiunea", - "testSuccess": "Testul de conexiune a fost realizat cu succes!", + "testSuccess": "Testul de conexiune a reușit!", "testFailed": "Testul de conexiune a eșuat. Verifică datele introduse și încearcă din nou.", - "testFailedTitle": "Test eșuat", + "testFailedTitle": "Test Eșuat", "connected": "Conectat", "notConnected": "Neconectat", "featuresTitle": "Funcționalități", @@ -1013,40 +1102,40 @@ "description": "Folosește restreaming go2rtc pentru a reduce conexiunile la cameră." }, "streamDetails": "Detalii stream", - "probing": "Se sondează camera...", - "retry": "Reîncercare", + "probing": "Se testează camera...", + "retry": "Reîncearcă", "testing": { - "probingMetadata": "Se sondează metadatele camerei...", - "fetchingSnapshot": "Se aduce snapshot cameră..." + "probingMetadata": "Se extrag metadatele camerei...", + "fetchingSnapshot": "Se preia snapshot-ul..." }, - "probeFailed": "Sondarea camerei a eșuat: {{error}}", - "probingDevice": "Se sondează dispozitivul...", - "probeSuccessful": "Sondare reușită", - "probeError": "Eroare la sondare", - "probeNoSuccess": "Sondare nereușită", - "deviceInfo": "Informații dispozitiv", + "probeFailed": "Eșec la testarea camerei: {{error}}", + "probingDevice": "Se testează dispozitivul...", + "probeSuccessful": "Test reușit", + "probeError": "Eroare la testare", + "probeNoSuccess": "Testul nu a avut succes", + "deviceInfo": "Informații Dispozitiv", "manufacturer": "Producător", "model": "Model", "firmware": "Firmware", "profiles": "Profiluri", "ptzSupport": "Suport PTZ", - "autotrackingSupport": "Suport autourmărire", + "autotrackingSupport": "Suport Auto-tracking", "presets": "Presetări", - "rtspCandidates": "Candidați RTSP", - "rtspCandidatesDescription": "Următoarele URL-uri RTSP au fost găsite în urma sondării camerei. Testați conexiunea pentru a vizualiza metadatele stream-ului.", - "noRtspCandidates": "Nu au fost găsite URL-uri RTSP de la cameră. Este posibil ca datele dumneavoastră de autentificare să fie incorecte, sau este posibil ca aparatul foto să nu suporte ONVIF sau metoda utilizată pentru a prelua URL-urile RTSP. Întoarceți-vă și introduceți URL-ul RTSP manual.", + "rtspCandidates": "Candidate RTSP", + "rtspCandidatesDescription": "Următoarele URL-uri RTSP au fost găsite în urma testării camerei. Testează conexiunea pentru a vedea metadatele stream-ului.", + "noRtspCandidates": "Nu au fost găsite URL-uri RTSP pentru această cameră. E posibil ca datele de autentificare să fie greșite sau camera să nu suporte ONVIF. Mergi înapoi și introdu URL-ul RTSP manual.", "candidateStreamTitle": "Candidat {{number}}", "useCandidate": "Folosește", "uriCopy": "Copiază", "uriCopied": "URI copiat în clipboard", - "testConnection": "Testează conexiunea", - "toggleUriView": "Click pentru a comuta vizualizarea URI completă", + "testConnection": "Testează Conexiunea", + "toggleUriView": "Click pentru a vedea URI-ul complet", "errors": { - "hostRequired": "Gazdă/adresaIP este necesară" + "hostRequired": "Adresa Host/IP este obligatorie" } }, "step3": { - "description": "Configurează rolurile stream-ului și adaugă stream-uri suplimentare pentru camera ta.", + "description": "Configurează rolurile stream-urilor și adaugă stream-uri suplimentare pentru camera ta.", "validationTitle": "Validare stream", "connectAllStreams": "Conectează toate stream-urile", "reconnectionSuccess": "Reconectare reușită.", @@ -1054,7 +1143,7 @@ "streamUnavailable": "Previzualizare streaming indisponibilă", "reload": "Reîncarcă", "connecting": "Conectare...", - "streamTitle": "Stream {{number}}", + "streamTitle": "Stream-ul {{number}}", "valid": "Valid", "failed": "Eșuat", "notTested": "Netestat", @@ -1089,12 +1178,12 @@ "ffmpegModule": "Folosește modul de compatibilitate pentru stream-uri", "ffmpegModuleDescription": "Dacă fluxul nu se încarcă după mai multe încercări, activați această opțiune. Când este activată, Frigate va folosi modulul ffmpeg împreună cu go2rtc. Aceasta poate oferi o compatibilitate mai bună cu unele fluxuri de camere.", "streamsTitle": "Stream-uri cameră", - "addStream": "Adaugă stream", - "addAnotherStream": "Adaugă alt stream", + "addStream": "Adaugă un stream", + "addAnotherStream": "Mai adaugă un stream", "streamUrl": "URL stream", - "streamUrlPlaceholder": "rtsp://utilizator:parolă@adresaIP:port/cale", - "selectStream": "Selectați un flux", - "searchCandidates": "Căutați candidați...", + "streamUrlPlaceholder": "rtsp://utilizator:parola@host:port/cale", + "selectStream": "Selectează un stream", + "searchCandidates": "Caută candidați...", "noStreamFound": "Niciun stream găsit", "url": "URL", "resolution": "Rezoluție", @@ -1102,154 +1191,419 @@ "selectResolution": "Selectează rezoluția", "selectQuality": "Selectează calitatea", "roleLabels": { - "detect": "Detecție Obiect", + "detect": "Detecție Obiecte", "record": "Înregistrare", "audio": "Audio" }, - "testStream": "Testează conexiunea", - "testSuccess": "Testul stream-ului a avut succes!", + "testStream": "Testează Conexiunea", + "testSuccess": "Testul stream-ului a reușit!", "testFailed": "Testul stream-ului a eșuat", - "testFailedTitle": "Testul a eșuat", + "testFailedTitle": "Test Eșuat", "connected": "Conectat", "notConnected": "Neconectat", - "featuresTitle": "Funcționalități", - "go2rtc": "Reduceți conexiunile la cameră", - "detectRoleWarning": "Cel puțin un stream trebuie să aibă rolul \"detect\" pentru a continua.", + "featuresTitle": "Funcții", + "go2rtc": "Redu conexiunile către cameră", + "detectRoleWarning": "Cel puțin un stream trebuie să aibă rolul „detect” pentru a continua.", "rolesPopover": { - "title": "Roluri stream", - "detect": "Stream principal pentru detecția obiectelor.", - "record": "Salvează segmente ale stream-ului video pe baza setărilor de configurare.", - "audio": "Stream pentru detecția bazată pe audio." + "title": "Roluri de stream", + "detect": "Fluxul principal pentru detecția obiectelor.", + "record": "Salvează segmente video conform setărilor de configurare.", + "audio": "Flux pentru detecția bazată pe sunet." }, "featuresPopover": { - "title": "Funcționalități stream", - "description": "Utilizați go2rtc restreaming pentru a reduce conexiunile la cameră." + "title": "Caracteristici stream", + "description": "Folosește restreaming prin go2rtc pentru a reduce numărul de conexiuni directe către cameră." } }, "step4": { - "description": "Validare finală și analiză înainte de a salva noua cameră. Conectați fiecare stream înainte de a salva.", + "description": "Validare finală și analiză înainte de salvare. Conectează fiecare stream înainte de a salva.", "validationTitle": "Validare stream", - "connectAllStreams": "Conectează toate stream-urile", + "connectAllStreams": "Conectează Toate stream-urile", "reconnectionSuccess": "Reconectare reușită.", - "reconnectionPartial": "Unele stream-uri nu au reușit să se reconecteze.", - "streamUnavailable": "Previzualizare flux indisponibilă", + "reconnectionPartial": "Unele stream-uri nu s-au putut reconecta.", + "streamUnavailable": "Previzualizarea stream-ului este indisponibilă", "reload": "Reîncarcă", - "connecting": "Conectare...", - "streamTitle": "Stream {{number}}", + "connecting": "Se conectează...", + "streamTitle": "stream-ul {{number}}", "valid": "Valid", "failed": "Eșuat", "notTested": "Netestat", - "connectStream": "Conectare", + "connectStream": "Conectează", "connectingStream": "Se conectează", - "disconnectStream": "Deconectare", + "disconnectStream": "Deconectează", "estimatedBandwidth": "Lățime de bandă estimată", "roles": "Roluri", - "ffmpegModule": "Utilizează modul de compatibilitate stream", - "ffmpegModuleDescription": "Dacă stream-ul nu se încarcă după câteva încercări, activați această opțiune. Când este activată, Frigate va utiliza modulul ffmpeg cu go2rtc. Acest lucru poate oferi o compatibilitate mai bună cu unele stream-uri de cameră.", - "none": "Niciuna", + "ffmpegModule": "Folosește modul de compatibilitate de stream-uri", + "ffmpegModuleDescription": "Dacă stream-ul nu se încarcă după mai multe încercări, activează asta. Frigate va folosi modulul ffmpeg cu go2rtc, ceea ce poate ajuta la compatibilitatea cu anumite camere.", + "none": "Niciunul", "error": "Eroare", - "streamValidated": "Stream-ul {{number}} validat cu succes", + "streamValidated": "Stream-ul {{number}} a fost validat cu succes", "streamValidationFailed": "Validarea stream-ului {{number}} a eșuat", - "saveAndApply": "Salvează camera nouă", - "saveError": "Configurație nevalidă. Vă rugăm să vă verificați setările.", + "saveAndApply": "Salvează Camera Nouă", + "saveError": "Configurație nevalidă. Verifică setările.", "issues": { "title": "Validare stream", - "videoCodecGood": "Codecul video: {{codec}}.", - "audioCodecGood": "Codecul audio: {{codec}}.", - "resolutionHigh": "O rezoluție de {{resolution}} poate cauza o utilizare crescută a resurselor.", - "resolutionLow": "O rezoluție de {{resolution}} ar putea fi prea mică pentru detectarea fiabilă a obiectelor mici.", - "noAudioWarning": "Nu a fost detectat audio pentru acest stream, înregistrările nu vor avea audio.", - "audioCodecRecordError": "Codec-ul audio AAC este necesar pentru a suporta audio în înregistrări.", - "audioCodecRequired": "Este necesar un stream audio pentru a suporta detecția audio.", - "restreamingWarning": "Reducerea conexiunilor la cameră pentru stream-ul de înregistrare poate crește ușor utilizarea procesorului (CPU).", + "videoCodecGood": "Codecul video este {{codec}}.", + "audioCodecGood": "Codecul audio este {{codec}}.", + "resolutionHigh": "O rezoluție de {{resolution}} poate crește consumul de resurse.", + "resolutionLow": "O rezoluție de {{resolution}} ar putea fi prea mică pentru detecția sigură a obiectelor mici.", + "noAudioWarning": "Nu s-a detectat audio pentru acest stream; înregistrările nu vor avea sunet.", + "audioCodecRecordError": "Codecul audio AAC este necesar pentru a avea sunet în înregistrări.", + "audioCodecRequired": "Un stream audio este necesar pentru suportul detecției audio.", + "restreamingWarning": "Reducerea conexiunilor către cameră pentru stream-ul de înregistrare poate crește ușor utilizarea procesorului (CPU).", "brands": { - "reolink-rtsp": "RTSP Reolink nu este recomandat. Activați HTTP în setările de firmware ale camerei și reporniți asistentul.", - "reolink-http": "Stream-urile HTTP Reolink ar trebui să folosească FFmpeg pentru o compatibilitate mai bună. Activează 'Use stream compatibility mode' pentru acest stream." + "reolink-rtsp": "Reolink RTSP nu este recomandat. Activează HTTP în setările camerei și repornește asistentul.", + "reolink-http": "Stream-urile Reolink HTTP ar trebui să folosească FFmpeg pentru o mai bună compatibilitate. Activează „Folosește modul de compatibilitate de stream” pentru acest stream." }, "dahua": { - "substreamWarning": "Substream-ul 1 este blocat la o rezoluție scăzută. Multe camere Dahua / Amcrest / EmpireTech suportă stream-uri secundare suplimentare care trebuie activate în setările camerei. Se recomandă să verificați și să utilizați aceste stream-uri dacă sunt disponibile." + "substreamWarning": "Substream 1 este limitat la o rezoluție mică. Multe camere Dahua / Amcrest / EmpireTech suportă substream-uri adiționale care trebuie activate din setările camerei. Se recomandă verificarea și utilizarea acestora." }, "hikvision": { - "substreamWarning": "Substream-ul 1 este blocat la o rezoluție scăzută. Multe camere Hikvision suportă stream-uri secundare suplimentare care trebuie activate în setările camerei. Se recomandă să verificați și să utilizați aceste stream-uri dacă sunt disponibile." + "substreamWarning": "Substream 1 este limitat la o rezoluție mică. Multe camere Hikvision suportă substream-uri adiționale care trebuie activate din setările camerei. Se recomandă verificarea și utilizarea acestora." } } } }, "cameraManagement": { - "title": "Administrează Camerele", - "addCamera": "Adaugă cameră nouă", - "editCamera": "Editează cameră:", - "selectCamera": "Selectează o cameră", - "backToSettings": "Înapoi la setările camerei", + "title": "Gestionare Camere", + "addCamera": "Adaugă Cameră Nouă", + "editCamera": "Editează Camera:", + "selectCamera": "Selectează o Cameră", + "backToSettings": "Înapoi la Setări Cameră", "streams": { - "title": "Activează / dezactivează camere", - "desc": "Dezactivează temporar o cameră până la repornirea Frigate. Dezactivarea unei camere oprește complet procesarea streamingului acestei camere de către Frigate. Detecția, înregistrarea și depanarea vor fi indisponibile.
    Notă: Aceasta nu dezactivează restreamingul go2rtc." + "title": "Activează / Dezactivează Camere", + "desc": "Dezactivează temporar o cameră până la repornirea Frigate. Dezactivarea unei camere oprește complet procesarea streamingului acestei camere de către Frigate. Detecția, înregistrarea și depanarea vor fi indisponibile.
    Notă: Aceasta nu dezactivează restreamingul go2rtc.", + "enableLabel": "Camere activate", + "enableDesc": "Dezactivează temporar o cameră până la repornirea Frigate. Dezactivarea oprește procesarea stream-urilor pentru această cameră. Detecția, înregistrarea și depanarea vor fi indisponibile.
    Notă: Acest lucru nu dezactivează restream-urile go2rtc.", + "disableLabel": "Camere dezactivate", + "disableDesc": "Activează o cameră care este ascunsă în interfață și dezactivată în configurație. Este necesară repornirea Frigate după activare.", + "enableSuccess": "Am activat {{cameraName}} în configurație. Repornește Frigate pentru a aplica modificările." }, "cameraConfig": { - "add": "Adaugă cameră", - "edit": "Editează cameră", - "description": "Configurează setările camerei, inclusiv intrările și rolurile de streaming.", - "name": "Nume cameră", + "add": "Adaugă Cameră", + "edit": "Editează Camera", + "description": "Configurează setările camerei, inclusiv stream-urile de intrare și rolurile acestora.", + "name": "Nume Cameră", "nameRequired": "Numele camerei este obligatoriu", - "nameLength": "Numele camerei trebuie să fie mai scurt de 64 de caractere.", - "namePlaceholder": "ex. ușă_intrare sau Vedere Curte Spate", + "nameLength": "Numele camerei trebuie să aibă sub 64 de caractere.", + "namePlaceholder": "ex: usa_fata sau Curte Spate", "enabled": "Activat", "ffmpeg": { "inputs": "Stream-uri de intrare", - "path": "Cale streaming", - "pathRequired": "Calea streaming este obligatorie", + "path": "Cale stream", + "pathRequired": "Calea stream-ului este obligatorie", "pathPlaceholder": "rtsp://...", "roles": "Roluri", "rolesRequired": "Este necesar cel puțin un rol", - "rolesUnique": "Fiecare rol (audio, detectare, înregistrare) poate fi atribuit unui singur stream", - "addInput": "Adaugă stream de intrare", - "removeInput": "Elimină stream-ul de intrare", + "rolesUnique": "Fiecare rol (audio, detect, record) poate fi atribuit unui singur stream", + "addInput": "Adaugă stream de Intrare", + "removeInput": "Elimină stream de Intrare", "inputsRequired": "Este necesar cel puțin un stream de intrare" }, - "go2rtcStreams": "Streamuri go2rtc", - "streamUrls": "URL-uri streaming", + "go2rtcStreams": "Stream-uri go2rtc", + "streamUrls": "URL-uri de stream", "addUrl": "Adaugă URL", "addGo2rtcStream": "Adaugă stream go2rtc", "toast": { - "success": "Camera {{cameraName}} salvată cu succes" + "success": "Camera {{cameraName}} a fost salvată cu succes" } } }, "cameraReview": { - "title": "Setări de Revizuire a Camerei", + "title": "Setări Review Cameră", "object_descriptions": { - "title": "Descrieri de Obiecte cu AI Generativ", - "desc": "Activează/dezactivează temporar descrierile de obiecte cu AI Generativ pentru această cameră până la repornirea Frigate. Când este dezactivată, descrierile generate de AI nu vor fi solicitate pentru obiectele urmărite pe această cameră." + "title": "Descrieri Obiecte cu AI Generativ", + "desc": "Activează/dezactivează temporar descrierile AI pentru această cameră. Când sunt dezactivate, nu se vor solicita descrieri AI pentru obiectele urmărite." }, "review_descriptions": { - "title": "Descrieri de revizuire cu AI Generativ", - "desc": "Activează/dezactivează temporar descrierile de revizuire cu AI Generativ pentru această cameră până la repornirea Frigate. Când este dezactivat, descrierile generate de AI nu vor fi solicitate pentru elementele de revizuire de pe această cameră." + "title": "Descrieri Review cu AI Generativ", + "desc": "Activează/dezactivează temporar descrierile AI pentru elementele de review. Când sunt dezactivate, nu se vor genera descrieri AI pentru acestea." }, "review": { "title": "Revizuire", - "desc": "Activează/dezactivează temporar alertele și detecțiile pentru această cameră până la repornirea Frigate. Când este dezactivat, nu vor fi generate elemente de revizuire noi. ", + "desc": "Activează/dezactivează temporar alertele și detecțiile pentru această cameră până la repornirea Frigate. Când sunt dezactivate, nu se vor genera elemente noi de review. ", "alerts": "Alerte ", "detections": "Detecții " }, "reviewClassification": { - "title": "Clasificare revizuire", - "desc": "Frigate clasifică elementele de revizuire ca Alerte și Detecții. În mod implicit, toate obiectele de tip persoană și mașină sunt considerate Alerte. Poți rafina clasificarea elementelor tale de revizuire prin configurarea zonelor necesare pentru acestea.", - "noDefinedZones": "Nu sunt definite zone pentru această cameră.", - "objectAlertsTips": "Toate obiectele {{alertsLabels}} de pe {{cameraName}} vor fi afișate ca Alerte.", - "zoneObjectAlertsTips": "Toate obiectele {{alertsLabels}} detectate în {{zone}} pe {{cameraName}} vor fi afișate ca Alerte.", - "objectDetectionsTips": "Toate obiectele {{detectionsLabels}} necategorizate pe {{cameraName}} vor fi afișate ca Detecții indiferent de zona în care se află.", + "title": "Clasificare Review", + "desc": "Frigate clasifică elementele de review ca Alerte sau Detecții. Implicit, toate obiectele de tip persoană și mașină sunt considerate Alerte. Poți rafina clasificarea configurând zone obligatorii.", + "noDefinedZones": "Nu există zone definite pentru această cameră.", + "objectAlertsTips": "Toate obiectele {{alertsLabels}} de pe {{cameraName}} vor apărea ca Alerte.", + "zoneObjectAlertsTips": "Toate obiectele {{alertsLabels}} detectate în {{zone}} pe {{cameraName}} vor apărea ca Alerte.", + "objectDetectionsTips": "Toate obiectele {{detectionsLabels}} neclasificate pe {{cameraName}} vor apărea ca Detecții, indiferent de zonă.", "zoneObjectDetectionsTips": { - "text": "Toate obiectele {{detectionsLabels}} necategorizate în {{zone}} pe {{cameraName}} vor fi afișate ca Detecții.", - "notSelectDetections": "Toate obiectele {{detectionsLabels}} detectate în {{zone}} pe {{cameraName}} și necategorizate ca Alerte vor fi afișate ca Detecții indiferent de zona în care se află.", - "regardlessOfZoneObjectDetectionsTips": "Toate obiectele {{detectionsLabels}} necategorizate pe {{cameraName}} vor fi afișate ca Detecții indiferent de zona în care se află." + "text": "Toate obiectele {{detectionsLabels}} neclasificate în {{zone}} pe {{cameraName}} vor apărea ca Detecții.", + "notSelectDetections": "Toate obiectele {{detectionsLabels}} detectate în {{zone}} pe {{cameraName}} care nu sunt Alerte vor apărea ca Detecții, indiferent de zonă.", + "regardlessOfZoneObjectDetectionsTips": "Toate obiectele {{detectionsLabels}} neclasificate pe {{cameraName}} vor apărea ca Detecții, indiferent de zonă." }, - "unsavedChanges": "Setări de Clasificare Revizuire nesalvate pentru {{camera}}", - "selectAlertsZones": "Selectați zonele pentru Alerte", - "selectDetectionsZones": "Selectați zonele pentru Detecții", - "limitDetections": "Limitați detecțiile la zone specifice", + "unsavedChanges": "Modificări nesalvate la Clasificarea Review pentru {{camera}}", + "selectAlertsZones": "Selectează zonele pentru Alerte", + "selectDetectionsZones": "Selectează zonele pentru Detecții", + "limitDetections": "Limitează detecțiile la anumite zone", "toast": { - "success": "Configurația Clasificare Revizuire a fost salvată. Reporniți Frigate pentru a aplica modificările." + "success": "Configurația Clasificării Review a fost salvată. Repornește Frigate pentru aplicare." } } - } + }, + "saveAllPreview": { + "title": "Modificări de salvat", + "triggerLabel": "Revizuiește modificările în așteptare", + "empty": "Nicio modificare în așteptare.", + "scope": { + "label": "Domeniu", + "global": "Global", + "camera": "Cameră: {{cameraName}}" + }, + "field": { + "label": "Câmp" + }, + "value": { + "label": "Valoare nouă", + "reset": "Resetare" + } + }, + "detectionModel": { + "plusActive": { + "title": "Gestionare model Frigate+", + "label": "Sursa modelului curent", + "description": "Această instanță rulează un model Frigate+. Selectează sau schimbă modelul în setările Frigate+.", + "goToFrigatePlus": "Mergi la setările Frigate+", + "showModelForm": "Configurează manual un model" + } + }, + "maintenance": { + "title": "Mentenanță", + "sync": { + "title": "Sincronizare Media", + "desc": "Frigate va curăța periodic fișierele media conform setărilor de retenție. Este normal să apară câteva fișiere orfane în timp ce Frigate rulează. Folosește această funcție pentru a șterge fișierele media de pe disc care nu mai sunt referențiate în baza de date.", + "started": "Sincronizarea media a început.", + "alreadyRunning": "O sarcină de sincronizare rulează deja", + "error": "Eroare la pornirea sincronizării", + "currentStatus": "Stare", + "jobId": "ID Job", + "startTime": "Oră Start", + "endTime": "Oră Final", + "statusLabel": "Status", + "results": "Rezultate", + "errorLabel": "Eroare", + "mediaTypes": "Tipuri Media", + "allMedia": "Toate fișierele", + "dryRun": "Mod Simulare (Dry Run)", + "dryRunEnabled": "Niciun fișier nu va fi șters", + "dryRunDisabled": "Fișierele vor fi șterse", + "force": "Forțează", + "forceDesc": "Ignoră pragul de siguranță și finalizează sincronizarea chiar dacă mai mult de 50% din fișiere ar urma să fie șterse.", + "running": "Sincronizare în curs...", + "start": "Pornește Sincronizarea", + "inProgress": "Sincronizarea este în curs. Această pagină este dezactivată.", + "status": { + "queued": "În așteptare", + "running": "Rulează", + "completed": "Finalizat", + "failed": "Eșuat", + "notRunning": "Nu rulează" + }, + "resultsFields": { + "filesChecked": "Fișiere Verificate", + "orphansFound": "Fișiere Orfane Găsite", + "orphansDeleted": "Fișiere Orfane Șterse", + "aborted": "Abandonat. Ștergerea ar depăși pragul de siguranță.", + "error": "Eroare", + "totals": "Totaluri" + }, + "event_snapshots": "Snapshot-uri Obiecte Urmărite", + "event_thumbnails": "Miniaturi Obiecte Urmărite", + "review_thumbnails": "Miniaturi Review", + "previews": "Previzualizări", + "exports": "Exporturi", + "recordings": "Înregistrări" + }, + "regionGrid": { + "title": "Grilă regiune", + "desc": "Grila de regiune este o optimizare care învață unde apar de obicei obiectele de diferite dimensiuni în câmpul vizual al fiecărei camere. Frigate folosește aceste date pentru a redimensiona eficient regiunile de detecție. Grila este construită automat în timp, pe baza datelor de la obiectele urmărite.", + "clear": "Șterge grila regiune", + "clearConfirmTitle": "Șterge grila regiune", + "clearConfirmDesc": "Curățarea grilei de regiune nu este recomandată decât dacă ai schimbat recent mărimea modelului de detecție sau ai schimbat poziția fizică a camerei și ai probleme cu urmărirea obiectelor. Grila va fi reconstruită automat în timp, pe măsură ce obiectele sunt urmărite. Este necesară o repornire a Frigate pentru ca modificările să intre în vigoare.", + "clearSuccess": "Grila de regiune a fost ștearsă cu succes", + "clearError": "Eșec la ștergerea grilei de regiune", + "restartRequired": "Este necesară o repornire pentru ca modificările grilei de regiune să intre în vigoare" + } + }, + "configForm": { + "global": { + "title": "Setări Globale", + "description": "Aceste setări se aplică tuturor camerelor, cu excepția cazului în care sunt suprascrise în setările specifice ale unei camere." + }, + "camera": { + "title": "Setări Cameră", + "description": "Aceste setări se aplică doar pentru această cameră și suprascriu setările globale." + }, + "advancedSettingsCount": "Setări Avansate ({{count}})", + "advancedCount": "Avansat ({{count}})", + "showAdvanced": "Afișează Setările Avansate", + "tabs": { + "sharedDefaults": "Valori Implicite Comune", + "system": "Sistem", + "integrations": "Integrări" + }, + "additionalProperties": { + "keyLabel": "Cheie", + "valueLabel": "Valoare", + "keyPlaceholder": "Cheie nouă", + "remove": "Elimină" + }, + "timezone": { + "defaultOption": "Folosește fusul orar al browserului" + }, + "roleMap": { + "empty": "Nu există asocieri de roluri", + "roleLabel": "Rol", + "groupsLabel": "Grupuri", + "addMapping": "Adaugă asociere de rol", + "remove": "Elimină" + }, + "ffmpegArgs": { + "preset": "Presetare", + "manual": "Argumente manuale", + "inherit": "Moștenește de la setările camerei", + "selectPreset": "Selectează presetarea", + "manualPlaceholder": "Introdu argumentele FFmpeg" + }, + "cameraInputs": { + "itemTitle": "Stream-ul {{index}}" + }, + "restartRequiredField": "Necesită repornire", + "restartRequiredFooter": "Configurația a fost modificată - Necesită repornire", + "sections": { + "detect": "Detecție", + "record": "Înregistrare", + "snapshots": "Snapshot-uri", + "motion": "Mișcare", + "objects": "Obiecte", + "review": "Revizuire", + "audio": "Audio", + "notifications": "Notificări", + "live": "Vizualizare Live", + "timestamp_style": "Timestamp-uri", + "mqtt": "MQTT", + "database": "Bază de date", + "telemetry": "Telemetrie", + "auth": "Autentificare", + "tls": "TLS", + "proxy": "Proxy", + "go2rtc": "go2rtc", + "ffmpeg": "FFmpeg", + "detectors": "Detectoare", + "model": "Model", + "semantic_search": "Căutare Semantică", + "genai": "GenAI", + "face_recognition": "Recunoaștere Facială", + "lpr": "Recunoaștere Numere Înmatriculare", + "birdseye": "Birdseye" + }, + "detect": { + "title": "Setări Detecție" + }, + "detectors": { + "title": "Setări Detector", + "singleType": "Este permis un singur detector de tip {{type}}.", + "keyRequired": "Numele detectorului este obligatoriu.", + "keyDuplicate": "Numele detectorului există deja.", + "noSchema": "Nu sunt disponibile scheme de detectoare.", + "none": "Nicio instanță de detector configurată.", + "add": "Adaugă detector" + }, + "record": { + "title": "Setări Înregistrare" + }, + "snapshots": { + "title": "Setări snapshot-uri" + }, + "motion": { + "title": "Setări Mișcare" + }, + "objects": { + "title": "Setări Obiecte" + }, + "audioLabels": { + "summary": "{{count}} etichete audio selectate", + "empty": "Nu există etichete audio disponibile" + }, + "objectLabels": { + "summary": "{{count}} tipuri de obiecte selectate", + "empty": "Nu există etichete de obiecte disponibile" + }, + "filters": { + "objectFieldLabel": "{{field}} pentru {{label}}" + }, + "zoneNames": { + "summary": "{{count}} selectate", + "empty": "Nu există zone disponibile" + }, + "inputRoles": { + "summary": "{{count}} roluri selectate", + "empty": "Nu există roluri disponibile", + "options": { + "detect": "Detecție", + "record": "Înregistrare", + "audio": "Audio" + } + }, + "review": { + "title": "Setări Revizuire" + }, + "audio": { + "title": "Setări Audio" + }, + "notifications": { + "title": "Setări Notificări" + }, + "live": { + "title": "Setări Vizualizare Live" + }, + "timestamp_style": { + "title": "Setări Timestamp" + }, + "searchPlaceholder": "Caută..." + }, + "globalConfig": { + "title": "Configurare Globală", + "description": "Configurează setările globale care se aplică tuturor camerelor, cu excepția celor suprascrie.", + "toast": { + "success": "Setările globale au fost salvate cu succes", + "error": "Eroare la salvarea setărilor globale", + "validationError": "Validarea a eșuat" + } + }, + "cameraConfig": { + "title": "Configurare Cameră", + "description": "Configurează setările pentru camere individuale. Aceste setări suprascriu valorile globale.", + "overriddenBadge": "Suprascris", + "resetToGlobal": "Resetează la Global", + "toast": { + "success": "Setările camerei au fost salvate cu succes", + "error": "Eroare la salvarea setărilor camerei" + } + }, + "toast": { + "success": "Setările au fost salvate cu succes", + "successRestartRequired": "Setările au fost salvate cu succes. Repornește Frigate pentru a aplica modificările.", + "error": "Eroare la salvarea setărilor", + "validationError": "Validarea a eșuat: {{message}}", + "resetSuccess": "Resetat la valorile globale implicite", + "resetError": "Eroare la resetarea setărilor", + "saveAllSuccess_one": "S-a salvat cu succes {{count}} secțiune.", + "saveAllSuccess_few": "Cele {{count}} secțiuni au fost salvate cu succes.", + "saveAllSuccess_other": "Toate cele {{count}} de secțiuni au fost salvate cu succes.", + "saveAllPartial_one": "{{successCount}} din {{totalCount}} secțiune salvată. {{failCount}} eșuate.", + "saveAllPartial_few": "{{successCount}} din {{totalCount}} secțiuni salvate. {{failCount}} eșuate.", + "saveAllPartial_other": "{{successCount}} din {{totalCount}} de secțiuni salvate. {{failCount}} eșuate.", + "saveAllFailure": "Eroare la salvarea tuturor secțiunilor.", + "applied": "Setările au fost aplicate cu succes" + }, + "unsavedChanges": "Ai modificări nesalvate", + "confirmReset": "Confirmă Resetarea", + "resetToDefaultDescription": "Această acțiune va reseta toate setările din această secțiune la valorile implicite. Acțiunea este ireversibilă.", + "resetToGlobalDescription": "Această acțiune va reseta setările din această secțiune la valorile globale implicite. Acțiunea este ireversibilă." } diff --git a/web/public/locales/ro/views/system.json b/web/public/locales/ro/views/system.json index 6966f124f..9e458f990 100644 --- a/web/public/locales/ro/views/system.json +++ b/web/public/locales/ro/views/system.json @@ -4,67 +4,70 @@ "cameras": "Statistici Camere - Frigate", "general": "Statistici Generale - Frigate", "logs": { - "go2rtc": "Jurnal Go2RTC - Frigate", - "nginx": "Jurnal Nginx - Frigate", - "frigate": "Jurnal Frigate - Frigate" + "go2rtc": "Jurnale Go2RTC - Frigate", + "nginx": "Jurnale Nginx - Frigate", + "frigate": "Jurnale Frigate - Frigate", + "websocket": "Jurnale de mesaje - Frigate" }, - "enrichments": "Statistici îmbogățiri - Frigate" + "enrichments": "Statistici Procesări Avansate - Frigate" }, "general": { "hardwareInfo": { "npuUsage": "Utilizare NPU", "npuMemory": "Memorie NPU", "gpuUsage": "Utilizare GPU", - "gpuMemory": "Utilizare Memorie", - "title": "Informații hardware", - "gpuEncoder": "Codificator GPU", - "gpuDecoder": "Decodificator GPU", + "gpuMemory": "Memorie GPU", + "title": "Informații Hardware", + "gpuEncoder": "Encoder GPU", + "gpuDecoder": "Decoder GPU", "gpuInfo": { "vainfoOutput": { "returnCode": "Cod de retur: {{code}}", - "processOutput": "Rezultatul procesului:", - "title": "Rezultat vainfo", - "processError": "Eroare de procesare:" + "processOutput": "Ieșire proces:", + "title": "Ieșire Vainfo", + "processError": "Eroare proces:" }, "nvidiaSMIOutput": { - "title": "Rezultat Nvidia SMI", + "title": "Ieșire Nvidia SMI", "name": "Nume: {{name}}", "driver": "Driver: {{driver}}", - "cudaComputerCapability": "Capacitate de calcul CUDA: {{cuda_compute}}", - "vbios": "Informații VBios: {{vbios}}" + "cudaComputerCapability": "Capacitate calcul CUDA: {{cuda_compute}}", + "vbios": "Info VBios: {{vbios}}" }, "copyInfo": { - "label": "Copiază informațiile GPU" + "label": "Copiază info GPU" }, "toast": { - "success": "Informațiile GPU au fost copiate" + "success": "Am copiat informațiile GPU în clipboard" }, "closeInfo": { - "label": "Închide informațiile GPU" + "label": "Închide info GPU" } }, "intelGpuWarning": { "title": "Avertisment statistici GPU Intel", - "message": "Statistici GPU indisponibile", - "description": "Aceasta este o eroare cunoscută în instrumentele Intel pentru raportarea statisticilor GPU (intel_gpu_top), unde acestea se blochează și returnează repetat o utilizare GPU de 0%, chiar și în cazurile în care accelerarea hardware și detectarea obiectelor rulează corect pe (i)GPU. Aceasta nu este o eroare Frigate. Poți reporni gazda pentru a remedia temporar problema și pentru a confirma că GPU-ul funcționează corect. Aceasta nu afectează performanța." - } + "message": "Statisticile GPU sunt indisponibile", + "description": "Acesta este un bug cunoscut în instrumentele de raportare GPU Intel (intel_gpu_top), unde acestea se blochează și returnează repetat o utilizare GPU de 0% chiar și atunci când accelerarea hardware și detecția obiectelor rulează corect pe (i)GPU. Aceasta nu este o problemă Frigate. Poți reporni host-ul pentru a remedia temporar problema și a confirma că GPU-ul funcționează corect. Performanța nu este afectată." + }, + "gpuTemperature": "Temperatură GPU", + "npuTemperature": "Temperatură NPU" }, "detector": { - "temperature": "Temperatura Detectorului", - "title": "Detectori", - "cpuUsage": "Utilizarea procesorului", - "inferenceSpeed": "Viteza de inferență", + "temperature": "Temperatură detector", + "title": "Detectoare", + "cpuUsage": "Utilizare CPU detector", + "inferenceSpeed": "Viteză inferență detector", "memoryUsage": "Utilizare memorie detector", - "cpuUsageInformation": "Procesorul utilizat pentru pregătirea datelor de intrare și ieșire către/dinspre modelele de detecție. Această valoare nu măsoară utilizarea în timpul inferenței, chiar dacă este folosit un GPU sau un accelerator." + "cpuUsageInformation": "CPU utilizat pentru pregătirea datelor de intrare și ieșire către/dinspre modelele de detecție. Această valoare nu măsoară utilizarea inferenței, chiar dacă se folosește un GPU sau un accelerator." }, "otherProcesses": { - "title": "Alte Procese", - "processCpuUsage": "Utilizare CPU", - "processMemoryUsage": "Utilizare memorie", + "title": "Alte procese", + "processCpuUsage": "Utilizare CPU procese", + "processMemoryUsage": "Utilizare memorie procese", "series": { "go2rtc": "go2rtc", "recording": "înregistrare", - "review_segment": "segment de revizuire", + "review_segment": "segment recenzie", "embeddings": "înglobări", "audio_detector": "detector audio" } @@ -74,113 +77,139 @@ "storage": { "recordings": { "title": "Înregistrări", - "earliestRecording": "Prima înregistrare disponibilă:", - "tips": "Această valoare reprezintă spațiul total de stocare utilizat de înregistrările din baza de date a Frigate. Frigate nu urmărește utilizarea spațiului pentru toate fișierele de pe discul tău." + "earliestRecording": "Cea mai veche înregistrare disponibilă:", + "tips": "Această valoare reprezintă stocarea totală folosită de înregistrări în baza de date Frigate. Frigate nu monitorizează utilizarea stocării pentru toate fișierele de pe disc." }, - "title": "Spațiu stocare", + "title": "Stocare", "cameraStorage": { - "title": "Spațiu stocare camere", - "camera": "Camera", - "unusedStorageInformation": "Informații despre stocarea neutilizată", - "storageUsed": "Spațiu stocare", + "title": "Stocare Cameră", + "camera": "Cameră", + "unusedStorageInformation": "Informații stocare neutilizată", + "storageUsed": "Stocare", "percentageOfTotalUsed": "Procent din total", "unused": { - "title": "Nefolosit", - "tips": "Această valoare este posibil să nu reprezinte cu acuratețe spațiul liber disponibil pentru Frigate dacă ai și alte fișiere stocate pe disc, în afara înregistrărilor Frigate. Frigate nu monitorizează utilizarea spațiului pentru fișiere din afara propriilor sale înregistrări." + "title": "Neutilizat", + "tips": "Este posibil ca această valoare să nu reprezinte cu precizie spațiul liber disponibil pentru Frigate dacă ai și alte fișiere pe disc în afara înregistrărilor Frigate. Frigate nu urmărește utilizarea stocării în afara propriilor înregistrări." }, "bandwidth": "Lățime de bandă" }, "overview": "Prezentare generală", "shm": { - "title": "Alocare SHM (memorie partajată)", - "warning": "Dimensiunea curentă a SHM de {{total}}MB este prea mică. Măriți-o la cel puțin {{min_shm}}MB.", + "title": "Alocare SHM (shared memory)", + "warning": "Dimensiunea actuală SHM de {{total}}MB este prea mică. Crește-o la cel puțin {{min_shm}}MB.", "readTheDocumentation": "Citește documentația" } }, "title": "Sistem", "logs": { "download": { - "label": "Jurnal Descărcări" + "label": "Descarcă jurnalele" }, "copy": { - "label": "Copiază", - "success": "Jurnalul a fost copiat", - "error": "Jurnalul nu s-a putut copia" + "label": "Copiază în clipboard", + "success": "Am copiat jurnalele în clipboard", + "error": "Nu am putut copia jurnalele în clipboard" }, "type": { "label": "Tip", - "timestamp": "Data / ora", + "timestamp": "Ștampilă de timp", "tag": "Etichetă", "message": "Mesaj" }, - "tips": "Jurnalele se transmit de pe server", + "tips": "Jurnalele sunt transmise în timp real de la server", "toast": { "error": { "fetchingLogsFailed": "Eroare la preluarea jurnalelor: {{errorMessage}}", - "whileStreamingLogs": "Eroare la transmiterea jurnalelor: {{errorMessage}}" + "whileStreamingLogs": "Eroare în timpul transmiterii jurnalelor: {{errorMessage}}" + } + }, + "websocket": { + "label": "Mesaje", + "pause": "Pauză", + "resume": "Reluare", + "clear": "Șterge", + "filter": { + "all": "Toate subiectele", + "topics": "Subiecte", + "events": "Evenimente", + "reviews": "Revizuiri", + "classification": "Clasificare", + "face_recognition": "Recunoaștere facială", + "lpr": "Recunoașterea numerelor de înmatriculare (LPR)", + "camera_activity": "Activitate cameră", + "system": "Sistem", + "camera": "Cameră", + "all_cameras": "Toate camerele", + "cameras_count_one": "{{count}} Cameră", + "cameras_count_other": "{{count}} Camere" + }, + "empty": "Niciun mesaj capturat încă", + "count": "{{count}} mesaje", + "expanded": { + "payload": "Conținut" } } }, - "metrics": "Metrici de sistem", + "metrics": "Metrici sistem", "enrichments": { - "title": "Îmbogățiri", + "title": "Procesări Avansate", "embeddings": { - "image_embedding": "Încorporare imagini", - "text_embedding": "Încorporare text", - "plate_recognition": "Recunoaștere numere de înmatriculare", - "image_embedding_speed": "Viteză încorporare imagini", - "face_recognition": "Recunoaștere facială", - "face_recognition_speed": "Viteză recunoaștere facială", - "plate_recognition_speed": "Viteză recunoaștere numere de înmatriculare", - "face_embedding_speed": "Viteză încorporare fețe", - "yolov9_plate_detection_speed": "Viteza detecției numerelor de înmatriculare YOLOv9", - "text_embedding_speed": "Viteză încorporare text", - "yolov9_plate_detection": "Detectare numere de înmatriculare YOLOv9", - "review_description": "Descriere Revizuire", - "review_description_speed": "Viteză Descriere Revizuire", - "review_description_events_per_second": "Descriere Revizuire", + "image_embedding": "Înglobări de imagini", + "text_embedding": "Înglobări de text", + "plate_recognition": "Recunoaștere Numere Înmatriculare", + "image_embedding_speed": "Viteză înglobări de imagini", + "face_recognition": "Recunoaștere Facială", + "face_recognition_speed": "Viteză Recunoaștere Facială", + "plate_recognition_speed": "Viteză Recunoaștere Numere", + "face_embedding_speed": "Viteză înglobări faciale", + "yolov9_plate_detection_speed": "Viteză Detecție Numere YOLOv9", + "text_embedding_speed": "Viteză înglobări de text", + "yolov9_plate_detection": "Detecție Numere YOLOv9", + "review_description": "Descriere Recenzie", + "review_description_speed": "Viteză Descriere Recenzie", + "review_description_events_per_second": "Descriere Recenzie", "object_description": "Descriere Obiect", "object_description_speed": "Viteză Descriere Obiect", "object_description_events_per_second": "Descriere Obiect", - "classification": "{{name}} Clasificare", - "classification_speed": "{{name}} Viteză de clasificare", - "classification_events_per_second": "{{name}} Evenimente de clasificare pe secundă" + "classification": "Clasificare {{name}}", + "classification_speed": "Viteză Clasificare {{name}}", + "classification_events_per_second": "Evenimente Clasificare {{name}} pe secundă" }, "infPerSecond": "Inferențe pe secundă", - "averageInf": "Timp Mediu de Inferență" + "averageInf": "Timp mediu de inferență" }, "cameras": { "info": { "codec": "Codec:", "resolution": "Rezoluție:", - "cameraProbeInfo": "Informații testare cameră {{camera}}", + "cameraProbeInfo": "Info Sondă Cameră {{camera}}", "streamDataFromFFPROBE": "Datele stream-ului sunt obținute cu ffprobe.", "aspectRatio": "raport aspect", "fetching": "Se preiau datele camerei", "stream": "Stream {{idx}}", "video": "Video:", - "audio": "Sunet:", - "error": "Eroare:{{error}}", + "audio": "Audio:", + "error": "Eroare: {{error}}", "tips": { - "title": "Informații test cameră" + "title": "Info Sondă Cameră" }, - "fps": "Cadre/s:", + "fps": "FPS:", "unknown": "Necunoscut" }, "label": { - "capture": "capturare", - "skipped": "sărite", - "overallSkippedDetectionsPerSecond": "Detecții totale sărite pe secundă", + "capture": "captură", + "skipped": "sărit", + "overallSkippedDetectionsPerSecond": "detecții sărite pe secundă total", "cameraCapture": "captură {{camName}}", - "cameraDetect": "detectare {{camName}}", + "cameraDetect": "detecție {{camName}}", "cameraFramesPerSecond": "cadre pe secundă {{camName}}", "cameraDetectionsPerSecond": "detecții pe secundă {{camName}}", "cameraSkippedDetectionsPerSecond": "detecții sărite pe secundă {{camName}}", - "overallFramesPerSecond": "Cadre totale pe secundă", - "overallDetectionsPerSecond": "Detecții totale pe secundă", - "detect": "detectare", - "cameraFfmpeg": "{{camName}} FFmpeg", - "camera": "camere", + "overallFramesPerSecond": "cadre pe secundă total", + "overallDetectionsPerSecond": "detecții pe secundă total", + "detect": "detectează", + "cameraFfmpeg": "FFmpeg {{camName}}", + "camera": "cameră", "ffmpeg": "FFmpeg" }, "title": "Camere", @@ -188,22 +217,34 @@ "framesAndDetections": "Cadre / Detecții", "toast": { "success": { - "copyToClipboard": "Datele testului au fost copiate." + "copyToClipboard": "Am copiat datele sondei în clipboard." }, "error": { - "unableToProbeCamera": "Testarea camerei nu a fost posibilă: {{errorMessage}}" + "unableToProbeCamera": "Nu s-a putut sonda camera: {{errorMessage}}" } + }, + "connectionQuality": { + "title": "Calitate Conexiune", + "excellent": "Excelentă", + "fair": "Acceptabilă", + "poor": "Slabă", + "unusable": "Inutilizabilă", + "fps": "FPS", + "expectedFps": "FPS așteptat", + "reconnectsLastHour": "Reconectări (ultima oră)", + "stallsLastHour": "Blocaje (ultima oră)" } }, "stats": { - "reindexingEmbeddings": "Reindexare încorporări ({{processed}}% completă)", + "reindexingEmbeddings": "Se reindexează înglobările ({{processed}}% gata)", "detectIsVerySlow": "{{detect}} este foarte lent ({{speed}} ms)", "detectIsSlow": "{{detect}} este lent ({{speed}} ms)", - "detectHighCpuUsage": "Camera {{camera}} are o utilizare ridicată a procesorului pentru detecție ({{detectAvg}}%)", - "ffmpegHighCpuUsage": "Camera {{camera}} are o utilizare ridicată a procesorului FFmpeg ({{ffmpegAvg}}%)", + "detectHighCpuUsage": "{{camera}} are o utilizare ridicată CPU detecție ({{detectAvg}}%)", + "ffmpegHighCpuUsage": "{{camera}} are o utilizare ridicată CPU FFmpeg ({{ffmpegAvg}}%)", "cameraIsOffline": "{{camera}} este offline", - "healthy": "Sistemul funcționează normal", - "shmTooLow": "Alocarea /dev/shm ({{total}} MB) ar trebui mărită la cel puțin {{min}} MB." + "healthy": "Sistemul este sănătos", + "shmTooLow": "Alocarea /dev/shm ({{total}} MB) ar trebui mărită la cel puțin {{min}} MB.", + "debugReplayActive": "Sesiunea de reluare de depanare este activă" }, - "lastRefreshed": "Ultima reîmprospătare: " + "lastRefreshed": "Ultima actualizare: " } diff --git a/web/public/locales/ru/config/cameras.json b/web/public/locales/ru/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ru/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ru/config/global.json b/web/public/locales/ru/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ru/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ru/config/groups.json b/web/public/locales/ru/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ru/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ru/config/validation.json b/web/public/locales/ru/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ru/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sk/config/cameras.json b/web/public/locales/sk/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sk/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sk/config/global.json b/web/public/locales/sk/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sk/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sk/config/groups.json b/web/public/locales/sk/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sk/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sk/config/validation.json b/web/public/locales/sk/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sk/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sl/config/cameras.json b/web/public/locales/sl/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sl/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sl/config/global.json b/web/public/locales/sl/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sl/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sl/config/groups.json b/web/public/locales/sl/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sl/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sl/config/validation.json b/web/public/locales/sl/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sl/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/audio.json b/web/public/locales/sq/audio.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/audio.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/common.json b/web/public/locales/sq/common.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/common.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/components/auth.json b/web/public/locales/sq/components/auth.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/components/auth.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/components/camera.json b/web/public/locales/sq/components/camera.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/components/camera.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/components/dialog.json b/web/public/locales/sq/components/dialog.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/components/dialog.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/components/filter.json b/web/public/locales/sq/components/filter.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/components/filter.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/components/icons.json b/web/public/locales/sq/components/icons.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/components/icons.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/components/input.json b/web/public/locales/sq/components/input.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/components/input.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/components/player.json b/web/public/locales/sq/components/player.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/components/player.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/config/cameras.json b/web/public/locales/sq/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/config/global.json b/web/public/locales/sq/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/config/groups.json b/web/public/locales/sq/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/config/validation.json b/web/public/locales/sq/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/objects.json b/web/public/locales/sq/objects.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/objects.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/classificationModel.json b/web/public/locales/sq/views/classificationModel.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/classificationModel.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/configEditor.json b/web/public/locales/sq/views/configEditor.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/configEditor.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/events.json b/web/public/locales/sq/views/events.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/events.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/explore.json b/web/public/locales/sq/views/explore.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/explore.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/exports.json b/web/public/locales/sq/views/exports.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/exports.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/faceLibrary.json b/web/public/locales/sq/views/faceLibrary.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/faceLibrary.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/live.json b/web/public/locales/sq/views/live.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/live.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/recording.json b/web/public/locales/sq/views/recording.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/recording.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/search.json b/web/public/locales/sq/views/search.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/search.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/settings.json b/web/public/locales/sq/views/settings.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/settings.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sq/views/system.json b/web/public/locales/sq/views/system.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sq/views/system.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sr/config/cameras.json b/web/public/locales/sr/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sr/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sr/config/global.json b/web/public/locales/sr/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sr/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sr/config/groups.json b/web/public/locales/sr/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sr/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sr/config/validation.json b/web/public/locales/sr/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sr/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sv/common.json b/web/public/locales/sv/common.json index d6c185dff..a60cfb2af 100644 --- a/web/public/locales/sv/common.json +++ b/web/public/locales/sv/common.json @@ -43,7 +43,7 @@ "minute_other": "{{time}} minuter", "s": "{{time}}s", "formattedTimestamp": { - "12hour": "d MMM, kl. h:mm:ss a", + "12hour": "d MMM, 'kl.' h:mm:ss a", "24hour": "d MMM, HH:mm:ss" }, "formattedTimestamp2": { @@ -51,7 +51,7 @@ "24hour": "d MMM HH:mm:ss" }, "formattedTimestampHourMinute": { - "12hour": "kl. h:mm a", + "12hour": "'kl.' h:mm a", "24hour": "HH:mm" }, "formattedTimestampHourMinuteSecond": { diff --git a/web/public/locales/sv/components/dialog.json b/web/public/locales/sv/components/dialog.json index 66d8503b9..4b8899a2c 100644 --- a/web/public/locales/sv/components/dialog.json +++ b/web/public/locales/sv/components/dialog.json @@ -7,7 +7,7 @@ "button": "Tvinga omladdning nu" }, "title": "Är du säker på att du vill starta om Frigate?", - "description": "Detta kommer att stoppa Frigate kort medan det startar om." + "description": "Frigate stoppas tillfälligt under omstarten." }, "explore": { "plus": { diff --git a/web/public/locales/sv/config/cameras.json b/web/public/locales/sv/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sv/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sv/config/global.json b/web/public/locales/sv/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sv/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sv/config/groups.json b/web/public/locales/sv/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sv/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sv/config/validation.json b/web/public/locales/sv/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/sv/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/sv/views/system.json b/web/public/locales/sv/views/system.json index 27eb9b844..0d6eac76a 100644 --- a/web/public/locales/sv/views/system.json +++ b/web/public/locales/sv/views/system.json @@ -39,10 +39,10 @@ "title": "Generellt", "detector": { "title": "Detektorer", - "inferenceSpeed": "Detektorns inferenshastighet", + "inferenceSpeed": "Detektorns inferenstid", "temperature": "Detektor temperatur", "cpuUsage": "Detektorns CPU-användning", - "memoryUsage": "Detektor minnes användning", + "memoryUsage": "Detektorns minnesanvändning", "cpuUsageInformation": "CPU som används för att förbereda in- och utdata till/från detekteringsmodeller. Detta värde mäter inte inferensanvändning, även om en GPU eller accelerator används." }, "hardwareInfo": { diff --git a/web/public/locales/th/config/cameras.json b/web/public/locales/th/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/th/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/th/config/global.json b/web/public/locales/th/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/th/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/th/config/groups.json b/web/public/locales/th/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/th/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/th/config/validation.json b/web/public/locales/th/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/th/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/tr/config/cameras.json b/web/public/locales/tr/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/tr/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/tr/config/global.json b/web/public/locales/tr/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/tr/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/tr/config/groups.json b/web/public/locales/tr/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/tr/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/tr/config/validation.json b/web/public/locales/tr/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/tr/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uk/config/cameras.json b/web/public/locales/uk/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uk/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uk/config/global.json b/web/public/locales/uk/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uk/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uk/config/groups.json b/web/public/locales/uk/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uk/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uk/config/validation.json b/web/public/locales/uk/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uk/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ur/config/cameras.json b/web/public/locales/ur/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ur/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ur/config/global.json b/web/public/locales/ur/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ur/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ur/config/groups.json b/web/public/locales/ur/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ur/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/ur/config/validation.json b/web/public/locales/ur/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/ur/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uz/config/cameras.json b/web/public/locales/uz/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uz/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uz/config/global.json b/web/public/locales/uz/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uz/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uz/config/groups.json b/web/public/locales/uz/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uz/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/uz/config/validation.json b/web/public/locales/uz/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/uz/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/vi/config/cameras.json b/web/public/locales/vi/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/vi/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/vi/config/global.json b/web/public/locales/vi/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/vi/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/vi/config/groups.json b/web/public/locales/vi/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/vi/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/vi/config/validation.json b/web/public/locales/vi/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/vi/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/yue_Hant/config/cameras.json b/web/public/locales/yue_Hant/config/cameras.json new file mode 100644 index 000000000..670d37015 --- /dev/null +++ b/web/public/locales/yue_Hant/config/cameras.json @@ -0,0 +1,5 @@ +{ + "zones": { + "label": "區域" + } +} diff --git a/web/public/locales/yue_Hant/config/global.json b/web/public/locales/yue_Hant/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/yue_Hant/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/yue_Hant/config/groups.json b/web/public/locales/yue_Hant/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/yue_Hant/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/yue_Hant/config/validation.json b/web/public/locales/yue_Hant/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/yue_Hant/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/zh-Hans/config/validation.json b/web/public/locales/zh-Hans/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh-Hans/config/validation.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/zh_Hans/config/cameras.json b/web/public/locales/zh_Hans/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hans/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/zh_Hans/config/global.json b/web/public/locales/zh_Hans/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hans/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/zh_Hans/config/groups.json b/web/public/locales/zh_Hans/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hans/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/zh_Hant/config/cameras.json b/web/public/locales/zh_Hant/config/cameras.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hant/config/cameras.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/zh_Hant/config/global.json b/web/public/locales/zh_Hant/config/global.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hant/config/global.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/zh_Hant/config/groups.json b/web/public/locales/zh_Hant/config/groups.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hant/config/groups.json @@ -0,0 +1 @@ +{} diff --git a/web/public/locales/zh_Hant/config/validation.json b/web/public/locales/zh_Hant/config/validation.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/web/public/locales/zh_Hant/config/validation.json @@ -0,0 +1 @@ +{}