"physicalDisksSmart":"Discos físicos y estado SMART",
"zfsPools":"Grupos ZFS",
"local":"Local",
"remote":"Remoto",
"free":"Gratis",
"used":"Usado",
"total":"Total",
"available":"Disponible",
"size":"Tamaño",
"allocated":"Asignado",
"none":"Ninguno",
"noRemoteStorage":"Sin almacenamiento remoto",
"diskSingular":"disco",
"diskPlural":"discos",
"allHealthy":"todos sanos",
"criticalCount":"{count} crítico",
"warningCount":"{count} advertencia",
"remoteMount":"montaje remoto",
"remoteMountShort":"remoto",
"excluded":"excluido",
"notMonitored":"no monitoreado",
"namespaceRestricted":"espacio de nombres restringido",
"namespaceRestrictedTitle":"Almacenamiento accesible; Tamaño del almacén de datos oculto por ACL (por ejemplo, PBS DatastoreAdmin en un único espacio de nombres)",
"testHelp":"Una prueba corta dura unos 2 minutos. La prueba extendida se ejecuta en segundo plano y puede tardar varias horas en discos grandes. El resultado aparecerá en la pestaña Historial cuando finalice.",
"testAgeWarning":"Este informe se basa en una prueba SMART realizada hace {days} días ({date}). Es posible que la salud del disco haya cambiado desde entonces. Recomendamos ejecutar una nueva prueba SMART para obtener resultados actualizados.",
"healthyAssessment":"Este disco está funcionando dentro de los parámetros normales. Todos los atributos SMART están dentro de umbrales aceptables. El disco ha estado encendido durante aproximadamente {uptime} y actualmente está funcionando a {temperature}. {sectors}",
"failedAssessment":"Este disco ha informado de un error de salud SMART. Se requiere acción inmediata. Haga una copia de seguridad de todos los datos críticos y planifique el reemplazo del disco.",
"noBadSectors":"No se han detectado sectores defectuosos.",
"reallocatedSectors":"{count} sectores reasignados detectados: supervise de cerca.",
"healthyMeaningTitle":"¿Qué quiere decir esto? ¡Tu disco está sano!",
"healthyMeaning":"En términos simples: este disco funciona correctamente. Puedes seguir usándolo normalmente. Recomendamos realizar pruebas SMART periódicas (mensuales) para detectar cualquier problema a tiempo.",
"criticalMeaning":"En términos simples: este disco tiene problemas que podrían provocar la pérdida de datos. Haga una copia de seguridad de sus archivos importantes de inmediato y considere reemplazar el disco pronto.",
"warningMeaning":"En términos simples: el disco funciona pero muestra algunos signos de desgaste. Aún no es crítico, pero vigílelo de cerca y mantenga sus copias de seguridad actualizadas.",
"warningStatus":"Advertencia: debe ser monitoreado",
"moreIssues":"...y {count} problemas más (ver detalles a continuación)",
"dismissed":"Despedido",
"occurrences":"Ocurrencias",
"errorSignature":"Firma de error",
"rawMessage":"Mensaje sin procesar",
"firstSeen":"visto por primera vez",
"lastSeen":"Visto por última vez",
"observationsIntro":"Se han detectado y registrado los siguientes eventos para este disco. Estas observaciones pueden indicar problemas potenciales que requieren atención.",
"fullSelfTestHistory":"Historial completo de autopruebas (entradas {count})",
"firmwareNoSelfTestLog":"El firmware de este disco no mantiene un registro de autoprueba interno. Los resultados de las pruebas son rastreados por ProxMenux Monitor.",
"ssdWearNote":"Las estimaciones de vida útil de las SSD se basan en los indicadores de desgaste informados por el fabricante. La vida útil real puede variar según la carga de trabajo y los patrones de uso.",
"labels":{
"model":"Modelo",
"serial":"De serie",
"estimatedLife":"Vida restante estimada",
"totalDataWritten":"Datos totales escritos",
"availableSpare":"Repuesto disponible",
"reportGenerated":"Informe generado",
"testType":"Tipo de prueba",
"lastTestType":"Último tipo de prueba",
"testResult":"Resultado de la prueba",
"attributesChecked":"Atributos marcados",
"capacity":"Capacidad",
"type":"Tipo",
"family":"Familia",
"formFactor":"Factor de forma",
"interface":"Interfaz",
"transport":"Transporte",
"linkSpeed":"Velocidad de enlace",
"blockSize":"Tamaño del bloque",
"temperature":"Temperatura",
"optimal":"Óptimo",
"powerOnTime":"Tiempo de encendido",
"powerCycles":"Ciclos de energía",
"uncorrectedErrors":"Errores no corregidos",
"pendingSectors":"Sectores Pendientes",
"crcErrors":"Errores de CRC",
"grownDefects":"Defectos crecidos",
"lifeRemaining":"VIDA RESTANTE",
"estimated":"Estimado",
"usageStatistics":"ESTADÍSTICAS DE USO",
"percentageUsed":"Porcentaje utilizado",
"dataWritten":"Datos escritos",
"source":"Fuente",
"ssdLifeIndicator":"Indicador de vida SSD",
"wearLevel":"Nivel de desgaste",
"powerOnHours":"Horas de encendido",
"smartStatus":"Estado SMART",
"reallocatedSectors":"Sectores reasignados",
"note":"Nota",
"metric":"Métrico",
"attribute":"Atributo",
"value":"Valor",
"worst":"El peor",
"thresholdShort":"tr",
"raw":"Crudo",
"result":"Resultado",
"completed":"Terminado",
"atPowerOnHours":"En horas de encendido",
"ataErrorLog":"Registro de errores de ATA",
"status":"Estado",
"atPoh":"En POH",
"date":"Fecha",
"min":"mín.",
"avg":"promedio",
"max":"máx."
},
"sections":{
"nvmeWearLifetime":"Desgaste y vida útil de NVMe",
"extendedNvmeHealth":"Estado NVMe extendido",
"ssdWearLifetime":"Desgaste y vida útil de SSD",
"nvmeHealthMetrics":"Métricas de estado de NVMe",
"sasHealthMetrics":"Métricas de estado de SAS/SCSI",
"smartAttributes":"Atributos SMART",
"selfTestResult":"Resultado de la autoprueba",
"lastSelfTestResult":"Resultado de la última autoprueba",
"minutesInWarningRange":"Minutos en rango de advertencia",
"minutesInCriticalRange":"Minutos en rango crítico",
"totalHostReads":"Lecturas totales del host",
"totalReadCommands":"Comandos de lectura totales",
"totalWriteCommands":"Comandos de escritura totales",
"sensorHotspot":"Punto de acceso del sensor[1]"
},
"empty":{
"nvmeMetrics":"No hay métricas NVMe disponibles",
"sasMetrics":"No hay métricas de SAS disponibles",
"smartAttributes":"No hay atributos SMART disponibles",
"selfTestHistory":"No hay historial de autopruebas disponible. Ejecute una autoprueba SMART para ver los resultados aquí."
},
"footer":{
"generatedBy":"Informe generado por ProxMenux Monitor"
},
"attributeLabels":{
"criticalWarning":"Advertencia crítica",
"nvmeTemperature":"Temperatura",
"temperatureSensor1":"Sensor de temperatura 1",
"temperatureSensor2":"Sensor de temperatura 2",
"temperatureSensor3":"Sensor de temperatura 3",
"availableSpare":"Repuesto disponible",
"availableSpareThreshold":"Umbral de repuesto disponible",
"percentageUsed":"Porcentaje utilizado",
"enduranceGroupWarning":"Advertencia de grupo de resistencia",
"mediaErrors":"Errores de medios",
"mediaIntegrityErrors":"Errores de integridad de datos y medios",
"unsafeShutdowns":"Paradas inseguras",
"nvmePowerCycles":"Ciclos de energía",
"nvmePowerOnHours":"Horas de encendido",
"dataUnitsRead":"Unidades de datos leídas",
"dataUnitsWritten":"Unidades de datos escritas",
"hostReadCommands":"Comandos de lectura del host",
"hostWriteCommands":"Comandos de escritura del host",
"controllerBusyTime":"Tiempo ocupado del controlador",
"errorLogEntries":"Entradas del registro de errores",
"warningTempTime":"Tiempo de temperatura de advertencia",
"criticalTempTime":"Tiempo de temperatura crítica",
"warningCompositeTemperatureTime":"Advertencia de tiempo de temperatura compuesta",
"criticalCompositeTemperatureTime":"Tiempo crítico de temperatura compuesta",
"thermalManagementT1TransCount":"Transiciones T1 de gestión térmica",
"thermalManagementT2TransCount":"Transiciones T2 de gestión térmica",
"thermalManagementT1TotalTime":"Gestión térmica T1 tiempo total",
"thermalManagementT2TotalTime":"Gestión térmica T2 tiempo total"
},
"attributeExplanations":{
"criticalWarning":"Banderas de alerta activas del controlador NVMe. Cualquier valor distinto de cero requiere una investigación inmediata.",
"nvmeTemperature":"Temperatura compuesta informada por el controlador. Las altas temperaturas sostenidas provocan estrangulamiento térmico y reducen la vida útil de NAND.",
"temperatureSensor1":"Sensor de temperatura primario, generalmente el flash NAND. Más representativo de la salud flash.",
"temperatureSensor2":"El sensor secundario, a menudo el controlador, muere. Normalmente funciona a más temperatura que el sensor 1.",
"temperatureSensor3":"Sensor terciario, si está presente. La ubicación varía según el fabricante.",
"availableSpare":"Porcentaje de bloques NAND de repuesto que quedan para el reemplazo de bloques defectuosos. Se activa una alerta por debajo del umbral.",
"availableSpareThreshold":"Mínimo establecido por el fabricante para repuesto disponible. Debajo de esto, la unidad señala una advertencia crítica.",
"percentageUsed":"Estimación de la resistencia consumida de la unidad en función de los ciclos de escritura reales versus los ciclos de escritura nominales. 100% significa que se alcanzó el TBW nominal; la unidad puede seguir funcionando más allá de esto.",
"mediaErrors":"Errores de lectura/escritura irrecuperables en memoria flash NAND. Cualquier valor distinto de cero indica daño celular permanente. Un recuento cada vez mayor significa un reemplazo pronto.",
"mediaIntegrityErrors":"Errores irrecuperables detectados por el controlador. Un valor distinto de cero significa riesgo de corrupción de datos.",
"unsafeShutdowns":"Pérdidas de energía sin descarga o apagado adecuado. Los recuentos muy altos corren el riesgo de corrupción de metadatos y problemas de firmware.",
"nvmePowerCycles":"Ciclos totales de encendido/apagado. Los ciclos frecuentes aumentan el desgaste del conector y del condensador.",
"nvmePowerOnHours":"Total de horas acumuladas que la unidad ha estado encendida desde su fabricación.",
"dataUnitsRead":"Datos totales leídos en unidades de 512 KB. Multiplique por 512.000 para bytes. Útil para calcular la carga de trabajo de lectura diaria.",
"dataUnitsWritten":"Datos totales escritos en unidades de 512 KB. Compare con la clasificación TBW para estimar la resistencia restante.",
"hostReadCommands":"Total de comandos de lectura emitidos por el host. Una proporción alta frente a los comandos de escritura indica una carga de trabajo de lectura intensa.",
"hostWriteCommands":"Total de comandos de escritura emitidos por el host. Incluye escrituras de metadatos del sistema de archivos.",
"controllerBusyTime":"Minutos totales que el controlador pasó procesando comandos de E/S. Los valores altos indican una carga de trabajo pesada y sostenida.",
"errorLogEntries":"Número de entradas en el registro de información de errores. A menudo incluye artefactos benignos de autoevaluación; verifique con Errores de Medios.",
"warningTempTime":"Total de minutos transcurridos por encima del umbral de temperatura de advertencia. Provoca una limitación del rendimiento. El cero es ideal.",
"criticalTempTime":"Minutos totales pasados por encima del umbral de temperatura crítica. La unidad puede apagarse para evitar daños. Siempre debe ser cero.",
"warningCompositeTemperatureTime":"Minutos totales que la temperatura compuesta superó el umbral de advertencia.",
"criticalCompositeTemperatureTime":"Minutos totales la temperatura compuesta superó el umbral crítico. Debe ser cero.",
"thermalManagementT1TransCount":"Número de veces que la unidad entró en aceleración térmica ligera (T1). Indica problemas de enfriamiento.",
"thermalManagementT2TransCount":"Número de veces que la unidad entró en aceleración térmica intensa (T2). Impacto significativo en el rendimiento.",
"thermalManagementT1TotalTime":"Total de segundos transcurridos en aceleración térmica ligera. Indica problemas de enfriamiento sostenidos.",
"thermalManagementT2TotalTime":"Total de segundos dedicados a una fuerte aceleración térmica. Grave degradación del rendimiento.",
"rawReadErrorRate":"Se detectaron errores de lectura de hardware. Los valores brutos elevados en las unidades Seagate/Samsung son normales porque su fórmula patentada hace que el VALOR sea más importante que el bruto.",
"writeErrorRate":"Errores encontrados durante las operaciones de escritura. Un recuento creciente puede indicar problemas con la cabeza o los medios.",
"multiZoneErrorRate":"Errores al escribir en regiones multizona. Específico del fabricante; una tendencia al alza es preocupante.",
"softReadErrorRate":"Errores de lectura corregidos por firmware sin pérdida de datos. Los valores altos pueden indicar medios degradantes.",
"readErrorRetryRate":"Número de reintentos de lectura necesarios. Los reintentos ocasionales son normales; El crecimiento persistente indica desgaste.",
"reportedUncorrect":"Errores que ECC no pudo corregir. Cualquier valor distinto de cero significa que los datos se perdieron o no se pueden leer.",
"reportedUncorrectableErrors":"Errores que ECC no pudo corregir. Un valor distinto de cero significa riesgo de pérdida de datos.",
"reallocatedSectorCount":"Sectores defectuosos reemplazados por sectores sobrantes del fondo de reserva. Un recuento creciente significa degradación del impulsor.",
"retiredBlockCount":"Bloques NAND retirados por desgaste o fallo (SSD). Similar al recuento de sectores reasignados para discos duros.",
"reallocatedEventCount":"Número de operaciones de reasignación realizadas. Cada evento significa que se reemplazó un sector defectuoso.",
"currentPendingSector":"Sectores inestables esperando ser reasignados en la próxima escritura. Podrán resolverse o ser reasignados permanentemente.",
"pendingSectors":"Sectores esperando ser reasignados. Pueden resolverse o ser reasignados.",
"offlineUncorrectable":"Sectores que fallaron durante el escaneo fuera de línea y no se pudieron corregir. Indica una posible pérdida de datos.",
"offlineUncorrectableSectorCount":"Se encontraron sectores no corregibles durante el análisis en segundo plano. Se pierden datos sobre estos sectores.",
"sataTemperature":"Temperatura actual de la unidad. Las altas temperaturas sostenidas aceleran el desgaste y reducen la vida útil.",
"temperatureCelsius":"Temperatura actual de la unidad en grados Celsius. Los discos duros normalmente deben permanecer por debajo de los 45°C; SSD por debajo de 60°C.",
"airflowTemperatureCel":"Temperatura medida por el sensor de flujo de aire. Generalmente ligeramente más bajo que el sensor de temperatura principal.",
"temperatureCase":"Temperatura de la carcasa del variador. Útil para monitorear la ventilación del recinto.",
"temperatureInternal":"Sensor de temperatura interno. Puede leerse por encima de la temperatura de la caja.",
"sataPowerOnHours":"Total de horas acumuladas que la unidad ha estado encendida. Se utiliza para estimar la edad y planificar reemplazos.",
"powerOnHoursAndMsec":"Tiempo total de encendido con precisión de milisegundos.",
"powerCycleCount":"Número total de ciclos completos de encendido/apagado. El ciclismo frecuente estresa la electrónica.",
"powerOffRetractCount":"Veces que los cabezales estuvieron retraídos debido a una pérdida de energía (HDD). Los valores altos indican una fuente de alimentación inestable.",
"unexpectedPowerLossCt":"Pérdidas de energía inesperadas (SSD). Puede provocar daños en los metadatos si la caché de escritura estaba activa.",
"unsafeShutdownCount":"Pérdidas de energía sin apagado adecuado (SSD). Los valores altos corren el riesgo de dañar el firmware.",
"startStopCount":"Ciclos de arranque/parada del motor del husillo (HDD). Cada ciclo provoca desgaste mecánico.",
"spinUpTime":"Es hora de que los platos alcancen la velocidad máxima de funcionamiento (HDD). Los valores crecientes pueden indicar desgaste de los cojinetes del motor.",
"spinRetryCount":"Intentos fallidos de hacer girar el motor (HDD). Un valor distinto de cero generalmente indica problemas con el suministro de energía o el motor.",
"calibrationRetryCount":"Número de reintentos de calibración del cabezal (HDD). Un valor distinto de cero puede indicar problemas mecánicos.",
"seekErrorRate":"Errores durante el posicionamiento del cabezal (HDD). Los valores brutos elevados de Seagate suelen ser normales debido a una fórmula patentada.",
"seekTimePerformance":"Rendimiento promedio de la operación de búsqueda (HDD). Los valores decrecientes sugieren degradación mecánica.",
"loadCycleCount":"Ciclos de carga/descarga del cabezal (HDD). Clasificado para ciclos de 300K-600K en la mayoría de las unidades.",
"loadUnloadCycleCount":"Ciclos de carga/descarga del cabezal (HDD). Cada ciclo provoca un pequeño desgaste en el mecanismo de rampa.",
"headFlyingHours":"Horas que los cabezales de lectura/escritura han estado colocados sobre los platos (HDD).",
"highFlyWrites":"Escribe donde la cabeza voló más alto de lo esperado (HDD). Es posible que los datos no estén escritos correctamente.",
"gSenseErrorRate":"Eventos de choque o vibración detectados por el acelerómetro (HDD). Los valores altos indican alteración física.",
"diskShift":"Distancia que el disco se ha desplazado desde su posición original (HDD). Relacionado con la temperatura o el shock.",
"loadedHours":"Horas pasadas con los cabezales cargados sobre los platos (HDD).",
"loadInTime":"Tiempo del proceso de carga del cabezal. Métrica de diagnóstico específica del fabricante.",
"torqueAmplificationCount":"Veces que la unidad necesitaba torque adicional para girar. Puede indicar fricción o problemas de motor.",
"flyingHeight":"Distancia entre el cabezal y el plato durante el funcionamiento (HDD). Crítico para la confiabilidad de lectura/escritura.",
"loadFriction":"Fricción detectada durante la carga del cabezal (HDD). Los valores crecientes sugieren desgaste del mecanismo de rampa.",
"loadUnloadRetryCount":"Intentos fallidos de carga/descarga del cabezal (HDD). Un valor distinto de cero indica problemas mecánicos.",
"udmaCrcErrorCount":"Errores de suma de comprobación de transferencia de datos en el cable SATA. Generalmente causado por un cable defectuoso, una conexión suelta o un problema con el puerto.",
"crcErrors":"Errores de comunicación de interfaz. Generalmente causado por problemas de cable o conexión.",
"crcErrorCount":"Errores de suma de comprobación de transferencia de datos. Reemplace el cable SATA si este valor aumenta.",
"commandTimeout":"Comandos que tardaron demasiado y expiraron. Puede indicar problemas con el controlador o la conexión.",
"interfaceCrcErrorCount":"Errores de CRC en el enlace de la interfaz. Problema de cable o conector.",
"hardwareEccRecovered":"Errores de lectura corregidos por hardware ECC. Un valor distinto de cero es normal; El rápido crecimiento merece atención.",
"eccErrorRate":"Tasa de errores corregidos por ECC. Fórmula patentada; EL VALOR importa más que el recuento bruto.",
"endToEndError":"Se detectaron daños en los datos entre la caché del controlador y la interfaz del host. Siempre debe ser cero.",
"endToEndErrorDetectionCount":"Número de errores de paridad en la ruta de datos. Un valor distinto de cero indica problemas con el controlador.",
"wearLevelingCount":"Ciclos de borrado promedio por bloque NAND (SSD). Un VALOR más bajo significa más desgaste consumido.",
"wearRangeDelta":"Diferencia entre bloques más y menos desgastados (SSD). Los valores altos indican un desgaste desigual.",
"mediaWearoutIndicator":"Estimación de la vida útil restante de la SSD Intel. Comienza en 100 y disminuye a 0 a medida que se consume la resistencia.",
"ssdLifeLeft":"Porcentaje estimado de vida útil restante de SSD basado en el desgaste de NAND.",
"percentLifetimeRemain":"Porcentaje estimado de vida útil restante. 100 significa nuevo; 0 significa fin de vida nominal.",
"percentLifetimeUsed":"Porcentaje de resistencia nominal consumida. Inverso del porcentaje restante de vida útil.",
"availableReservedSpace":"Bloques de repuesto restantes como porcentaje (SSD). Los valores bajos reducen la capacidad de la unidad para manejar bloques defectuosos.",
"usedReservedBlockCount":"Bloques de reserva consumidos para el reemplazo de bloques defectuosos (SSD). Un valor creciente significa envejecimiento.",
"unusedReservedBlockCount":"Los bloques de reserva aún están disponibles para el reemplazo de bloques defectuosos (SSD). Cero significa que ya no es posible reemplazar más bloques defectuosos.",
"programFailCount":"Fallos de escritura NAND (SSD). Un recuento creciente significa que las células flash se están desgastando.",
"programFailCountChip":"Fallos de programa a nivel de chip (SSD). Un valor distinto de cero indica degradación NAND.",
"eraseFailCount":"Fallos en la operación de borrado NAND (SSD). Un valor distinto de cero indica un desgaste severo por rebaba.",
"eraseFailCountTotal":"Fallos totales de borrado de NAND (SSD). Combinado con Program Fail Count, muestra el estado general de NAND.",
"eraseFailCountChip":"Borrar fallas a nivel de chip (SSD). Un valor distinto de cero significa degradación NAND.",
"runtimeBadBlock":"Bloques defectuosos descubiertos durante el funcionamiento normal (SSD). Un recuento creciente significa que el flash se está desgastando.",
"totalLbasWritten":"Total de direcciones de bloques lógicos escritas. Multiplique por 512 bytes para obtener el volumen total de datos.",
"totalLbasRead":"Total de direcciones de bloques lógicos leídas. Útil para calcular la carga de trabajo diaria.",
"lifetimeWritesGib":"Datos totales escritos en GiB durante la vida útil de la unidad.",
"lifetimeReadsGib":"Datos totales leídos en GiB durante la vida útil de la unidad.",
"totalWritesGib":"Datos totales escritos en GiB. Compare con la clasificación TBW para obtener una estimación de resistencia.",
"totalReadsGib":"Datos totales leídos en GiB.",
"nandWritesGib":"NAND sin formato escribe en GiB. Mayor que las escrituras del host debido a la amplificación de escritura.",
"hostWrites32Mib":"Datos totales escritos por el host en unidades de 32 MiB.",
"hostReads32Mib":"Datos totales leídos por el host en unidades de 32 MiB.",
"hostWritesMib":"Datos totales escritos por el host en MiB.",
"hostReadsMib":"Datos totales leídos por el host en MiB.",
"nandGbWrittenTlc":"Datos totales escritos en celdas TLC NAND en GB. Incluye sobrecarga de amplificación de escritura.",
"nandGibWritten":"Escritura NAND total en GiB. Mayor que las escrituras del host debido a la amplificación de escritura y la recolección de basura.",
"averageBlockEraseCount":"Número promedio de ciclos de borrado por bloque NAND (SSD). Las unidades suelen estar clasificadas para ciclos de 3.000 a 100.000.",
"averageEraseCount":"Ciclos de borrado promedio por bloque. Compare con la resistencia nominal para conocer la estimación de vida restante.",
"maxEraseCount":"Ciclos de borrado máximos en cualquier bloque. Una gran brecha con el promedio indica un desgaste desigual.",
"totalEraseCount":"Suma de todos los ciclos de borrado en todos los bloques. Indicador general de volumen de escritura NAND.",
"powerLossCapTest":"Resultado de la autoprueba del condensador de protección contra pérdida de energía (SSD). Fallido significa riesgo de pérdida de datos debido a un corte de energía.",
"powerLossProtection":"Estado del mecanismo de protección contra pérdida de energía. Los SSD empresariales utilizan condensadores para vaciar el caché en caso de pérdida de energía.",
"successfulRainRecovCnt":"Recuperaciones exitosas utilizando RAIN (Redundant Array of Independent NAND). Muestra que la paridad NAND está funcionando.",
"ssdEraseFailCount":"Errores de borrado total en el SSD. Indica degradación general de NAND.",
"ssdProgramFailCount":"Errores totales de escritura en el SSD. Indica problemas de confiabilidad de la celda flash.",
"throughputPerformance":"Clasificación de rendimiento de rendimiento general (HDD). Los valores decrecientes indican degradación.",
"unknownAttribute":"Atributo específico del proveedor no definido en el estándar SMART. Consulte la documentación del fabricante.",
"freeFallSensor":"Se detectaron eventos de caída libre (HDD de computadora portátil). Los cabezales están estacionados para evitar daños durante las caídas.",
"grownDefectList":"Sectores reasignados por defectos encontrados durante la operación. Equivalente a sectores reasignados en SATA. Un recuento creciente significa degradación del impulsor.",
"readErrorsCorrected":"Errores de lectura corregidos por ECC. Normal para unidades empresariales con una gran carga de trabajo; sólo los errores no corregidos son críticos.",
"readEccFast":"Errores corregidos mediante ECC rápido sobre la marcha durante las operaciones de lectura. Normal en unidades SAS.",
"readEccDelayed":"Errores que requieren corrección ECC retrasada o fuera de línea durante las lecturas. Un valor distinto de cero es aceptable, pero no debería crecer rápidamente.",
"readUncorrectedErrors":"Lea los errores que ECC no pudo corregir. Un valor distinto de cero significa que los datos se perdieron o no se pudieron leer. Métrica crítica.",
"readDataProcessed":"Datos totales leídos por la unidad. Útil para calcular la carga de trabajo diaria.",
"writeErrorsCorrected":"Errores de escritura corregidos por ECC. Normal para unidades empresariales.",
"writeUncorrectedErrors":"Escriba errores que ECC no pudo corregir. Un valor distinto de cero significa una posible pérdida de datos. Crítico.",
"writeDataProcessed":"Datos totales escritos en la unidad. Útil para el análisis de carga de trabajo.",
"verifyErrorsCorrected":"Errores de verificación corregidos durante las operaciones de verificación en segundo plano.",
"verifyUncorrectedErrors":"Verifique los errores que no se pudieron corregir. Un valor distinto de cero indica degradación del medio.",
"nonMediumErrors":"Errores del controlador o del bus no relacionados con el propio medio. Un recuento alto puede indicar problemas con el backplane o el cable.",
"sasTemperature":"Temperatura actual de la unidad. Las unidades SAS empresariales toleran hasta 55-60 °C bajo carga sostenida.",
"sasPowerOnHours":"Horas totales que la unidad ha estado encendida. Las unidades empresariales están clasificadas para funcionar las 24 horas del día, los 7 días de la semana.",
"startStopCycles":"Ciclos de arranque/parada del motor. Las unidades Enterprise SAS tienen una capacidad nominal de más de 50 000 ciclos.",
"loadUnloadCycles":"Ciclos de carga/descarga del cabezal. Las unidades empresariales tienen una capacidad nominal de más de 600 000 ciclos.",
"backgroundScanStatus":"Estado de la exploración de medios SCSI en segundo plano. Se ejecuta continuamente para detectar defectos en la superficie."
},
"recommendations":{
"healthyTitle":"El disco está sano",
"healthyText":"Todos los atributos SMART están dentro de los rangos normales. Continuar con el seguimiento periódico.",
"criticalTitle":"Crítico: problema de salud del disco detectado",
"criticalText":"SMART ha informado de un problema de salud. Haga una copia de seguridad de todos los datos inmediatamente y planifique el reemplazo del disco.",
"seagateText":"Las unidades Seagate informan valores brutos muy grandes para el atributo n.º 1. Esto es de esperar; sólo importa el valor normalizado y debe permanecer en 100.",
"smrTitle":"Unidad SMR detectada: limitaciones de escritura",
"smrText":"Los discos SMR escriben datos aleatorios más lentamente y pueden detenerse bajo una carga de trabajo mixta intensa. Se adaptan a copias de seguridad y archivos, pero no se recomiendan como almacenamiento principal de Proxmox o vdevs ZFS."
}
},
"ataErrors":{
"idnf":"Dirección del sector no encontrada: posible sector defectuoso o problema con el cable",
"unc":"Error de lectura incorregible: sector defectuoso",
"abrt":"Comando cancelado por el variador",
"amnf":"Marca de dirección no encontrada: daños en la superficie",
"tk0nf":"Pista 0 no encontrada: falla del hardware de la unidad",
"bbk":"Bloque incorrecto detectado",
"icrc":"Error de interfaz CRC: problema con el cable o el conector",
"mc":"Medios cambiados",
"mcr":"Cambio de medios solicitado",
"wp":"Protegido contra escritura"
},
"scheduleTab":{
"loading":"Cargando horarios...",
"automaticTests":"Pruebas SMART automáticas",
"toggleHelp":"Activar o desactivar todas las pruebas programadas",
"enabled":"Activado",
"disabled":"Desactivado",
"configured":"Horarios configurados",
"disks":"Discos",
"allDisks":"todos los discos",
"keepResults":"Mantener {count} resultados",
"empty":"No hay pruebas programadas configuradas",
"emptyHint":"Cree un cronograma para ejecutar pruebas SMART automáticamente.",
"edit":"Editar horario",
"new":"Nuevo horario",
"testType":"Tipo de prueba",
"frequency":"Frecuencia",
"daily":"A diario",
"weekly":"Semanalmente",
"monthly":"Mensual",
"dailyAt":"Diariamente a las {time}",
"weeklyAt":"{day} en {time}",
"monthlyAt":"Día {day} del mes a las {time}",
"dayOfWeek":"dia de la semana",
"dayOfMonth":"Día del mes",
"timeHour":"Tiempo (hora)",
"retention":"Mantener resultados",
"lastN":"Último {count}",
"keepAll":"mantener todo",
"saving":"Ahorro...",
"save":"Guardar horario",
"cancel":"Cancelar",
"add":"Agregar horario",
"note":"Las pruebas programadas se ejecutan automáticamente mediante cron. Los resultados se guardan en el historial SMART.",
"days":{
"sunday":"Domingo",
"monday":"Lunes",
"tuesday":"Martes",
"wednesday":"Miércoles",
"thursday":"Jueves",
"friday":"Viernes",
"saturday":"Sábado"
}
}
},
"details":{
"temperature":{
"title":"Temperatura de la CPU",
"diskTitle":"Temperatura",
"current":"Actual",
"min":"mín.",
"avg":"promedio",
"max":"máx.",
"seriesName":"Temperatura",
"noData":"No hay datos de temperatura disponibles para este período",
"collectionHint":"Los datos se recopilan cada 60 segundos.",
"openHistory":"Historial de temperatura abierto",
"collectingSamples":"Recopilación de muestras: el gráfico se completa después de ~2 minutos",
"sampleInterval":"Las muestras se recogen cada 60 segundos.",
"timeframes":{
"hour":"1 hora",
"day":"24 Horas",
"week":"7 dias",
"month":"30 dias"
},
"status":{
"hot":"Caliente",
"warm":"Cálido",
"normal":"Normal"
}
},
"processes":{
"topByCpu":"Principales procesos por CPU",
"topByMemory":"Procesos principales por memoria",
"cpuDescription":"Uso actual de CPU por proceso, como fracción de la CPU total del host; la misma escala que la tarjeta de uso de CPU anterior. Se actualiza cada 3 s mientras está abierto.",
"memoryDescription":"Memoria residente actual por proceso. Se actualiza cada 3 s mientras está abierto.",
"filterPlaceholder":"Filtrar por línea de comando, usuario o PID...",
"pid":"PID",
"user":"Usuario",
"command":"Dominio",
"cpuPercent":"CPU %",
"memory":"Memoria",
"memPercent":"% memoria",
"noMatches":"Ningún proceso coincide con el filtro",
"captured":"Capturado {time}",
"matchCount":"{count} coincidencia de {total} procesos",
"matchesCount":"{count} coincidencias de {total} procesos",
"topCount":"Principales {shown} de {total} procesos",
"loadFailed":"No se pudieron recuperar los procesos",
"lifetimeAverageTitle":"% de CPU promedio durante la vida útil de este proceso: útil para encontrar líneas de base inactivas de larga duración",
"descriptionLive":"Instantánea en vivo de /proc/{pid}. Se actualiza automáticamente cada {seconds} s mientras está abierto.",
"descriptionExited":"Última instantánea de /proc/{pid} antes de que finalizara el proceso.",
"finishedTitle":"Este proceso ha terminado",
"finishedDescription":"Probablemente fue un comando auxiliar, script, pct exec o comando de una sola vez de corta duración que se completó mientras el modal estaba abierto. Los datos a continuación son la última instantánea capturada antes de salir, no una lectura obsoleta o rota.",
"forceStopDescription":"Esto omite la secuencia de apagado del sistema operativo invitado y puede dañar las bases de datos o sistemas de archivos en ejecución. El huésped muere inmediatamente.",
"rebootDescription":"Esto fuerza un reinicio sin esperar a que el sistema operativo invitado borre las escrituras pendientes. Utilice un Apagado elegante cuando sea posible.",
"typeToConfirm":"Escriba {vmid} para confirmar:",
"guest":"Invitado:"
},
"guestTypes":{
"container":"recipiente",
"vm":"VM",
"containerUi":"Recipiente"
},
"backups":{
"title":"Copias de seguridad",
"create":"Crear copia de seguridad",
"available":"Copias de seguridad disponibles",
"loading":"Cargando copias de seguridad...",
"empty":"No se encontraron copias de seguridad",
"emptyHint":"Crea tu primera copia de seguridad usando el botón de arriba"
},
"updatesPanel":{
"pendingTitle":"Actualizaciones de paquetes pendientes",
"total":"{count} total",
"lastChecked":"Última comprobación:",
"applyWith":"Aplicar con",
"securityUpdate":"Actualización de seguridad",
"security":"seguridad",
"clickToView":"Haga clic para ver los paquetes pendientes",
"updateSingular":"actualizar",
"updatePlural":"actualizaciones",
"packagePending":"{count} paquete pendiente",
"packagesPending":"{count} paquetes pendientes",
"securityUpdatePending":"{count} actualización de seguridad",
"securityUpdatesPending":"{count} actualizaciones de seguridad",
"fullListInside":"Lista completa disponible dentro del contenedor:",
"loadingMountPoints":"Cargando puntos de montaje..."
},
"errors":{
"unknown":"Error desconocido",
"backupStartFailed":"No se pudo iniciar la copia de seguridad: {message}",
"controlFailed":"Error en {action} VM {vmid}: {message}",
"saveNotesFailed":"Error al guardar notas. Por favor inténtalo de nuevo."
},
"backupModal":{
"title":"Copia de seguridad {type} {vmid} ({name})",
"description":"Configure las opciones de copia de seguridad para este {type}",
"disabledTitle":"El cortafuegos no está habilitado para este {type}",
"disabledHint":"Habilítelo en la interfaz de usuario de Proxmox en {type} -> Firewall -> Opciones y agregue al menos una regla con registro: información o superior para que los paquetes comiencen a registrarse. Las nuevas entradas aparecerán aquí automáticamente en la próxima actualización.",
"readFailed":"No se pudo leer el registro del cortafuegos",
"empty":"Aún no se han registrado eventos del cortafuegos.",
"emptyHint":"Las reglas con log: info o superior completarán esta vista a medida que lleguen los paquetes."
},
"options":{
"title":"Opciones",
"snapshotBefore":"Instantánea antes de aplicar",
"snapshotOn":"— el {storage}",
"noSnapshot":"Sin instantánea previa a la solicitud",
"releaseDelayLabel":"Esperar tras una nueva versión de app",
"releaseDelayNone":"Sin periodo de espera",
"releaseDelayDays":"Esperar {days} día(s)",
"releaseDelayHelp":"Solo se aplica a las apps seleccionadas con seguimiento de versión. Sus versiones pendientes deben tener esta antigüedad; las apps sin seguimiento ejecutan su actualizador en cada programación.",
"deleteConfirm":"¿Eliminar las actualizaciones programadas para este contenedor? Se mantienen los valores predeterminados de aplicación (copia de seguridad + reinicio)."
"ociImmutableBody":"Los paquetes del sistema operativo se integran en el momento de crear la imagen y no se pueden actualizar en el lugar. Aplique las actualizaciones manualmente o reinstálelas con una imagen más nueva.",
"hideNoticeButton":"Ocultar este aviso para esta aplicación",
"noOsUpdatesPending":"No hay actualizaciones del sistema operativo pendientes",
"securityUpdateAria":"Actualización de seguridad",
"packagePendingLabel":"paquete pendiente",
"packagesPendingLabel":"paquetes pendientes",
"securityUpdateLabel":"actualización de seguridad",
"securityUpdatesLabel":"actualizaciones de seguridad",
"noMethodBody":"No hay ningún método de actualización disponible. Actualice desde la propia aplicación o conecte un comando personalizado que ProxMenux ejecutará dentro del contenedor.",
"noMethodHideBody":"Esta aplicación no tiene ningún método de actualización registrado. Configure uno desde la pestaña Aplicación o ignore este aviso.",
"hideForApp":"Ocultar aviso para {appName}",
"applyOsAppsFooter":"Aplicar actualizaciones de SO + {appName}",
"applyOsAppsFooterPlural":"Aplicar actualizaciones de SO y aplicaciones",
"osAppsFooter":"SO + actualizaciones {appName}",
"osAppsFooterPlural":"Actualizaciones de SO y aplicaciones",
"noUpdatesAvailableChip":"No hay actualizaciones disponibles",
"otherPackagePending":"+{count} otro paquete pendiente en el contenedor",
"otherPackagesPending":"+{count} otros paquetes pendientes en el contenedor",
"noManagedUpdateInfo":"Aún no hay información de actualización: verifique desde Seguridad → Secure Gateway.",
"ociTitle":"Contenedor de imágenes OCI",
"ociBody":"Este contenedor se creó a partir de una imagen OCI (Docker). La gestión de actualizaciones para contenedores OCI viene con la próxima función de instalación de OCI: las actualizaciones reconstruirán el contenedor a partir de una etiqueta de imagen más nueva en lugar de aplicar parches a los paquetes internos.",
"dockerEngineUpdateHelp":"Actualiza únicamente los paquetes Docker instalados y sus dependencias necesarias. No actualiza otros paquetes del SO ni recrea contenedores.",
"dockerVersionedTagsHelp":"Úsalo solo con etiquetas versionadas. Para latest, stable o lts, usa Actualizaciones de imágenes Docker, que compara digests.",
"dockerPresetSemver":"Solo SemVer",
"dockerPresetSemverSuffix":"SemVer + sufijo",
"dockerTagFilterHelp":"Filtra las etiquetas reales antes de que ProxMenux elija la versión más alta.",
"dockerTagPreviewLabel":"Vista previa de etiquetas reales",
"dockerTagPreviewCount":"{matched} coinciden de {scanned}",
"detectMethodDockerExec":"ejecutivo de ventana acoplable",
"detectMethodCommand":"dominio",
"binaryVersionHint":"binario --versión",
"systemctlHint":"systemctl show <servicio> -p ExecStart",
"whichHint":"cual <aplicación>",
"apkInfoHint":"\" : \"información de la aplicación | grep",
"grafanaNote":". Grafana necesita",
"hiddenDetectionsHelpSingular":"Tienes {count} detección oculta. Restaure una para recuperarla o registre una aplicación personalizada manualmente.",
"hiddenDetectionsHelpPlural":"Tienes {count} detecciones ocultas. Restaure una para recuperarla o registre una aplicación personalizada manualmente.",
"registerCustom":"Registrar una aplicación personalizada",
"noAppsTitle":"No hay aplicaciones registradas",
"noAppsBody":"Registre las aplicaciones que se ejecutan en este contenedor. Obtendrá enlaces web y, opcionalmente, seguimiento de versiones disponibles y notificaciones de nuevos lanzamientos.",
"confirmHide":"¿Ocultar la detección \"{name}\" permanentemente en este contenedor?\n\nPara recuperarlo más tarde, haga clic en \"Registrar una aplicación diferente\"; la lista oculta aparece allí con una opción de Restaurar.",
"saveFailed":"Error al guardar",
"tagFilterRegexOptional":"Expresión regular del filtro de etiquetas (opcional)",
"versionRegexOptional":"Versión de expresión regular (opcional)",
"top20Matches":"20 coincidencias principales: limite la consulta para obtener más",
"binaryArgsHintPrefix":"Dejar vacío por defecto es",
"binaryArgsHintGrafana":"Grafana necesita",
"loadFailed":"No se pudo cargar la configuración de la aplicación",
"dockerPublishedServicesTitle":"Servicios Docker con puertos publicados",
"dockerPublishedServicesHelp":"Elige únicamente los puertos que ofrecen una interfaz web. ProxMenux no registra estos contenedores como aplicaciones LXC independientes.",
"dockerPublishedAdd":"Agregar enlace",
"dockerPublishedPort":"puerto {containerPort} del contenedor → {hostPort} en el LXC",
"noWebPorts":"No hay puertos web escuchando. Utilice Agregar puerto si aún desea crear un enlace manualmente.",
"trackUpstream":"Seguir versión disponible (opcional)",
"trackOff":"Desactivado: solo enlace",
"trackOn":"En · {method}",
"trackHelp":"Opcional. Si se activa, ProxMenux comprueba la versión instalada y la compara con la última disponible.",
"commandSafetyHelp":"Ejecuta el estilo argv dentro del CT como root, nunca a través de un shell. Usted es responsable de lo que hace el comando. Utilice install_regex a continuación para extraer la versión de la salida.",
"manualVersionHelp":"Escriba la versión instalada. Si configura abajo una fuente para la versión disponible, ProxMenux seguirá buscando actualizaciones. Tras actualizar la aplicación, vuelva aquí y actualice este valor.",
"upstreamHelp":"Cómo ProxMenux encuentra la última versión para compararla con la instalada.",
"githubRepoHelp":"Repositorio público de GitHub donde se publican lanzamientos o etiquetas.",
"httpJsonHelp":"Punto final JSON público que devuelve una versión en algún lugar de la carga útil.",
"jsonPathHelp":"Ruta de puntos con índices de matriz [N] opcionales.",
"notifyUpstreamHelp":"Envía `app_update_available` a los canales activos en Ajustes → Notificaciones. Desactívalo si esta app no se puede actualizar en tu instalación.",
"excludeFromBadgeLabel":"Excluir del contador de actualizaciones del LXC",
"excludeFromBadgeHelp":"No sumar esta app al contador agregado de actualizaciones del card del LXC. Útil cuando mantienes una versión concreta a propósito (requisito de tracker, compatibilidad). No afecta al estado que se muestra en la pestaña App ni al envío de la notificación."
"description":"Cambiar cómo se muestra el tráfico de red",
"label":"Pantalla de unidad de red",
"bytes":"bytes",
"bits":"bits"
},
"healthMonitor":{
"title":"Monitor de salud",
"description":"Configure cuánto tiempo permanecen ocultas las alertas descartadas para cada categoría. Los cambios se aplican a las alertas descartadas existentes y futuras.",
"category":"Categoría",
"suppressionDuration":"Duración de la supresión",
"hours":"Horas",
"permanentNotice":"Las alertas de {category} permanecerán ocultas permanentemente después del despido.",
"temperatureSafetyNotice":"Aún aparecen alertas de temperatura crítica de la CPU para proteger el hardware.",
"longSuppressionNotice":"Largo período de supresión. Las alertas descartadas en esta categoría permanecerán ocultas durante mucho tiempo.",
"footerNote":"Esta configuración se aplica cuando descarta una advertencia del Monitor de salud. Las alertas de temperatura crítica de la CPU siempre aparecen para proteger su hardware.",
"activeSuppressions":"Supresiones activas",
"activeSuppressionsDescription":"Alertas que ha ocultado del Health Monitor. Los despidos definitivos sólo podrán revertirse aquí. La edición requiere el Monitor de salud",
"noActiveSuppressions":"Sin supresiones activas. Las alertas descartadas del Health Monitor aparecerán aquí.",
"permanent":"Permanente",
"daysRemaining":"{count}d restantes",
"hoursRemaining":"{count}h restantes",
"reEnableDisabledTitle":"Habilite el modo de edición de Health Monitor para volver a habilitarlo",
"reEnableQueuedTitle":"Cancelar volver a habilitar; no se aplicará al guardar",
"reEnableTitle":"Ponga en cola esta alerta para volver a habilitarla al guardar",
"reEnable":"Volver a habilitar",
"labels":{
"category":"categoría",
"severity":"gravedad",
"dismissed":"despedido"
},
"errorNames":{
"security_login_attempts":"Intentos de inicio de sesión de seguridad"
"description":"Excluya los almacenamientos remotos (PBS, NFS, CIFS, etc.) del seguimiento del estado y las notificaciones. Úselo para almacenamientos que están intencionalmente fuera de línea o que tienen acceso API limitado.",
"emptyTitle":"No se detectaron almacenamientos remotos",
"emptyDescription":"PBS, NFS, CIFS y otros almacenamientos remotos aparecerán aquí cuando se configuren",
"storage":"Almacenamiento",
"offline":"Sin conexión o no disponible",
"namespaceRestricted":"Accesible; tamaño del almacén de datos oculto por ACL",
"healthHelp":"Cuando está APAGADO, este almacenamiento no activará advertencias ni alertas críticas en Health Monitor.",
"alertsHelp":"Cuando esté APAGADO, no se enviarán notificaciones para este almacenamiento."
},
"networkInterfaces":{
"title":"Exclusiones de interfaz de red",
"description":"Excluya las interfaces de red (puentes, enlaces, NIC físicas) del monitoreo y las notificaciones de estado. Úselo para interfaces que están deshabilitadas o no utilizadas intencionalmente.",
"emptyTitle":"No se detectaron interfaces de red",
"healthHelp":"Cuando está APAGADA, esta interfaz no activará advertencias ni alertas críticas en Health Monitor.",
"alertsHelp":"Cuando esté APAGADO, no se enviarán notificaciones para esta interfaz."
},
"snippets":{
"title":"Almacenamiento de hookscripts",
"description":"Donde ProxMenux instala los hookscripts, como el de protección para el passthrough de GPU en VM/LXC. En un clúster, elija almacenamiento compartido para que las VM y los LXC migren correctamente entre nodos;",
"localNote":"es específico del nodo y rompe la migración.",
"placeholder":"Elija un almacenamiento...",
"footer":"Las VM/LXC que ya usan el almacenamiento anterior seguirán funcionando. Solo las nuevas operaciones de passthrough de GPU o la ejecución de \"sync hookscripts\" en el host usarán la nueva selección."
},
"lxcUpdateDetection":{
"title":"Detección de actualización de LXC",
"descriptionStart":"Verifique periódicamente los contenedores de Debian/Ubuntu/Alpine LXC en ejecución para ver si hay actualizaciones de paquetes pendientes",
"descriptionEnd":"y colóquelos en el tablero. La alternancia de notificación correspondiente en Notificaciones -> Servicios aparece solo cuando la detección está habilitada.",
"enableLabel":"Habilitar la detección de actualizaciones de LXC",
"loadFailed":"No se pudo cargar la configuración de detección de actualizaciones de LXC.",
"saveFailed":"No se pudo guardar la configuración de detección de actualizaciones de LXC.",
"purgedMessage":"{count} Entradas LXC eliminadas del registro. Al volver a habilitar la detección, se volverán a llenar en el siguiente ciclo de escaneo."
},
"notifications":{
"title":"Notificaciones",
"description":"Configure canales de notificación y filtros de eventos. Recibe alertas vía Telegram, Gotify, Discord o Email.",
"disabledDescription":"Reciba alertas en tiempo real sobre su entorno Proxmox a través de Telegram, Discord, Gotify o correo electrónico.",
"enableService":"Habilitar el servicio de notificaciones",
"enableServiceDescription":"Supervise el estado del sistema, los eventos de VM/CT, las copias de seguridad, las alertas de seguridad y el estado del clúster. La integración del webhook PVE se configura automáticamente.",
"enableButton":"Habilitar notificaciones",
"configuring":"Configurando...",
"webhookConfigured":"Webhook PVE configurado automáticamente. Proxmox enviará notificaciones a ProxMenux.",
"webhookFailed":"Error en la configuración automática de PVE: {error}",
"webhookManualSetup":"Las notificaciones están habilitadas. Ejecute los siguientes comandos en el host PVE para completar la configuración del webhook.",
"serviceRunning":"Servicio en ejecución",
"serviceStopped":"Servicio detenido",
"sentLast24h":"{count} enviado en las últimas 24h",
"channelCountOne":"{count} canal",
"channelCountMany":"{count} canales",
"activateService":"Activar el servicio de notificaciones",
"channels":"Canales",
"test":{
"sent":"Notificación de prueba enviada correctamente.",
"failed":"La notificación de prueba falló."
},
"errors":{
"saveFailed":"No se pudo guardar la configuración de notificaciones.",
"unknown":"Error desconocido",
"setupUnavailable":"No se pudo comunicar con el servicio de configuración."
"ai_model_migrated":"Modelo de IA actualizado automáticamente",
"proxmenux_update":"Actualización de ProxMenux disponible",
"mount_stale":"El montaje remoto está obsoleto",
"mount_readonly":"El montaje remoto es de solo lectura",
"lxc_disk_low":"Rootfs de LXC casi llenos",
"vm_disk_low":"Sistemas de archivos VM casi llenos",
"lxc_mount_low":"Soporte LXC casi lleno",
"pve_storage_full":"Almacenamiento PVE casi lleno",
"zfs_pool_full":"Grupo ZFS casi lleno",
"post_install_update":"Actualizaciones de optimización de ProxMenux disponibles",
"secure_gateway_update_available":"Actualización de Secure Gateway disponible",
"nvidia_driver_update_available":"Actualización del controlador NVIDIA disponible",
"coral_driver_update_available":"Actualización del controlador Coral TPU disponible"
},
"ui":{
"quietHours":"Horas tranquilas",
"quietHoursDescription":"Durante esta ventana solo los eventos CRÍTICOS llegan a este canal.",
"from":"De",
"until":"Hasta",
"quietSameTime":"Establezca una hora de inicio y finalización diferente para la activación.",
"quietActive":"Activo ahora: solo pasan eventos CRÍTICOS hasta el {time}.",
"quietInactive":"Inactivo ahora: comienza en {time}.",
"nextDigest":"Siguiente resumen en {hours}h {minutes}m (en {time}).",
"dailyDigest":"Resumen diario de eventos INFO",
"dailyDigestDescription":"Los eventos INFO se acumulan durante el día y llegan una vez como resumen. Los eventos CRÍTICOS y de ADVERTENCIA nunca se retrasan.",
"sendAt":"Enviar a",
"notificationCategories":"Categorías de notificación",
"enableTelegram":"Habilitar telegrama",
"setupGuide":"+guía de configuración",
"botToken":"Ficha de robot",
"chatId":"ID de chat",
"topicId":"ID de tema",
"optional":"opcional",
"topicHint":"Para supergrupos con temas habilitados. Déjelo vacío para chats habituales.",
"richMessages":"Mensajes ricos",
"richMessagesDescription":"Enriquece las notificaciones con emojis e íconos contextuales",
"appriseDescription":"Una URL permite a Apprise enrutar la notificación al servicio correcto. Ejemplos:",
"seeThe":"Ver el",
"fullList":"lista completa",
"displayName":"Nombre para mostrar",
"systemHostname":"Nombre de host del sistema",
"displayNameHint":"Nombre que se muestra en las notificaciones. Edítelo o déjelo vacío para usar el nombre de host del sistema.",
"activeFooter":"Las notificaciones están activas. Cada canal sigue su propia categoría y selección de eventos.",
"inactiveFooter":"Habilite notificaciones para recibir alertas del sistema, de salud y de seguridad a través de los canales configurados."
},
"ai":{
"title":"mejora de la IA",
"enhancedMessages":"Mensajes mejorados por IA",
"enhancedMessagesDescription":"Utilice IA para generar mensajes de notificación contextuales",
"provider":"Proveedor",
"customBaseUrl":"URL base personalizada",
"customBaseUrlPlaceholder":"Déjelo vacío para OpenAI o ingrese un punto final personalizado",
"customBaseUrlHint":"Para API compatibles con OpenAI como BytePlus, LocalAI, LM Studio o vLLM.",
"apiKey":"clave API",
"model":"Modelo",
"promptMode":"Modo rápido",
"defaultPrompt":"Mensaje predeterminado",
"customPrompt":"Mensaje personalizado",
"language":"Idioma",
"selectLanguage":"Seleccionar idioma",
"detailLevel":"Nivel de detalle por canal",
"suggestions":"sugerencias de IA",
"suggestionsDescription":"Permitir que AI agregue breves consejos para la solución de problemas según el contexto del registro",
"customPromptPlaceholder":"Ingrese sus instrucciones personalizadas para la IA...",
"testing":"Pruebas…",
"testConnection":"Conexión de prueba",
"ollamaUrl":"URL de Ollama",
"getKey":"Obtener clave",
"loadModelsPlaceholder":"Haga clic en Cargar para buscar modelos",
"selectModel":"Seleccionar modelo",
"noModelsLoaded":"No hay modelos cargados: haga clic en Cargar",
"noModelSelected":"Seleccione un modelo primero. Haga clic en Cargar para buscar los modelos disponibles.",
"load":"Carga",
"modelsAvailable":"{count} modelos disponibles",
"detailHint":"La IA traduce y formatea las notificaciones en el idioma seleccionado. Cada canal puede utilizar un nivel de detalle diferente.",
"beta":"BETA",
"export":"Exportar",
"import":"Importar",
"communityPrompts":"Indicaciones de la comunidad",
"customPromptHint":"Defina sus propias reglas y formato. Tú controlas el detalle y el estilo de todas las notificaciones. Exporte el mensaje para compartirlo o importe uno de la comunidad.",
"local":"Local",
"detailLevels":{
"brief":"Breve",
"standard":"Estándar",
"detailed":"Detallado"
},
"providersInfo":"Información del proveedor de IA",
"loadModelsHint":"Haga clic en Cargar para obtener los modelos disponibles de este proveedor.",
"openAiCompatible":"API compatibles con OpenAI",
"openAiCompatibleDescription":"Establezca una URL base personalizada para utilizar una API compatible con OpenAI. Supported services include:",
"anyOpenAiService":"Cualquier servicio que utilice el formato OpenAI",
"providers":{
"groq":"Muy rápido, con un generoso nivel gratuito. Un buen lugar para empezar.",
"openai":"Estándar de la industria, preciso y ampliamente utilizado.",
"anthropic":"Excelente para escribir y traducir; rápido y económico.",
"gemini":"Hay disponible un nivel gratuito, con una buena relación calidad-precio.",
"ollama":"Utiliza modelos en su servidor Ollama. Totalmente local, privado y gratuito.",
"openrouter":"Acceso a más de 100 modelos a través de una clave API."
}
},
"telegramGuide":{
"title":"Guía de configuración del bot de Telegram",
"createBot":"Crea un bot con BotFather",
"create1":"1. Abre Telegram y busca",
"create2":"2. Envía el comando",
"create3":"3. Elija un nombre para el bot, por ejemplo Notificaciones ProxMenux.",
"create4":"4. Elija un nombre de usuario que termine en bot, por ejemplo proxmenux_alerts_bot.",
"getToken":"Obtén el token del bot",
"tokenIntro":"Después de crear el bot, BotFather te da un token como este:",
"tokenPaste":"Copie el token y péguelo en el campo Bot Token.",
"getChatId":"Obtenga su ID de chat",
"optionA":"Opción A: usar un bot (la más fácil)",
"chat1":"1. Encuentra",
"or":"o",
"chat2":"2. Enviar cualquier mensaje; el bot responde con tu ID de chat.",
"optionB":"Opción B: método manual",
"manual1":"1. Envía un mensaje a tu nuevo bot.",
"manual2":"2. Abra esta URL en su navegador y reemplace YOUR_TOKEN:",
"manual3":"3. Encuentre este valor; su número es su ID de chat:",
"groups":"Grupos y canales",
"group1":"1. Agrega el bot al grupo o canal como administrador.",
"group2":"2. Envía un mensaje en el grupo.",
"group3":"3. Utilice la URL getUpdates anterior para encontrar el ID de chat del grupo.",
"group4":"4. Los ID de grupo son números negativos, por ejemplo",
"summary":"Resumen rápido",
"summaryToken":"Identifica tu bot (de BotFather)",
"summaryChat":"Le dice al bot dónde enviar mensajes (su ID o un ID de grupo)"
},
"validation":{
"discordWebhook":"Ingrese una URL de webhook de Discord en el formato https://discord.com/api/webhooks/<id>/<token>.",
"invalidUrl":"Introduzca una URL válida.",
"unsupportedScheme":"Sólo se permite una dirección que comience con http:// o https://.",
"localPveApi":"La dirección no puede apuntar a la API PVE local (localhost:8006/8007).",
"metadataIp":"La IP de metadatos del enlace local no se puede utilizar como punto final de Gotify."
},
"customPromptInfo":{
"title":"Modo de aviso personalizado",
"description":"Cree su propio mensaje de IA para las notificaciones de ProxMenux Monitor",
"whatTitle":"¿Qué es un aviso personalizado?",
"whatDescription":"El mensaje define cómo la IA formatea sus notificaciones. Un mensaje personalizado le permite controlar el estilo, el nivel de detalle y el formato de cada mensaje.",
"requirements":"Requisitos importantes",
"formatIntro":"Su mensaje debe utilizar este formato de salida:",
"formatTitleThen":"seguido del título, luego",
"formatBodyThen":"seguido del mensaje",
"plainText":"Utilice solo texto sin formato, sin Markdown, para que el resultado funcione en todos los canales.",
"rawData":"El mensaje recibe datos sin procesar del evento Proxmox como entrada.",
"language":"Defina el idioma de salida en el mensaje. El selector de idioma solo se aplica al modo predeterminado.",
"gettingStarted":"Empezando",
"gettingStartedDescription":"Un mensaje de ejemplo está listo para ayudarle a comenzar. Puede ajustarlo, exportarlo para compartirlo con otros o importar un mensaje de la comunidad.",
"loadExample":"Cargar ejemplo",
"startFromScratch":"Empezar desde el principio"
}
},
"optimizations":{
"title":"ProxMenux Optimizations",
"description":"Optimizaciones del sistema y utilidades instaladas a través de ProxMenux",
"emptyTitle":"Aún no se han instalado optimizaciones de ProxMenux",
"emptyDescription":"Ejecute ProxMenux para configurar optimizaciones del sistema",
"updateOneDescription":"Volver a ejecutar {functionName} desde el flujo {source}.",
"updateManyDescription":"Volver a ejecutar {count} funciones posteriores a la instalación en secuencia.",
"legacySourceTitle":"Optimización heredada: haga clic para ver la fuente",
"sourceTitle":"Haga clic para ver el código fuente",
"legacy":"legado",
"updateToolTitle":"Actualizar {name} a v{version}",
"availableUpdates":"Actualizaciones disponibles",
"availableUpdatesDescription":"Las {count} optimizaciones se pueden actualizar a una versión más reciente.",
"selectedCount":"{selected} de {total} seleccionado",
"updateSelected":"Actualización seleccionada"
},
"healthThresholds":{
"title":"Umbrales del monitor de salud",
"description":"Health Monitor y las notificaciones reaccionan cuando se cruzan estos límites. Arrastre el controlador ámbar para el nivel de advertencia y el controlador rojo para el nivel crítico. Los valores diferentes a la recomendación aparecen en azul; Coloque el cursor sobre un controlador para ver la recomendación o use Restablecer para restaurarla.",
"loadFailed":"No se pudieron cargar los umbrales.",
"invalidValue":"Valor no válido para {key}: debe ser un número",
"resetFailed":"Error al restablecer",
"networkErrorWhileResetting":"Error de red al restablecer",
"resetSectionConfirm":"¿Restablecer todos los umbrales \"{section}\" a los valores recomendados?",
"resetAllConfirm":"¿Restablecer TODOS los umbrales a los valores recomendados? Esto afecta a todas las secciones.",
"resetAllTitle":"Restablecer cada umbral a su valor recomendado",
"resetSectionTitle":"Restablecer esta sección a recomendada",
"description":"Umbrales por clase. Mismas unidades (°C), diferentes valores predeterminados porque cada clase tolera un rango diferente."
},
"host_storage":{
"title":"Espacio en disco - host",
"description":"Se aplica a / y a todos los puntos de montaje en /var/lib/vz, /mnt/*, etc."
},
"lxc_rootfs":{
"title":"Espacio en disco - rootfs LXC",
"description":"Disco raíz por contenedor, evaluado con respecto al tamaño de rootfs de PVE."
},
"lxc_mount":{
"title":"Puntos de montaje LXC",
"description":"Capacidad de puntos de montaje dentro de CT en ejecución (mp0, mp1, NFS, montajes vinculados). Excluye los rootfs; que se trata arriba."
},
"pve_storage":{
"title":"Capacidad de almacenamiento PVE",
"description":"Almacenamientos PVE estilo bloque: LVM, LVM-thin, ZFS-pool, RBD/Ceph, PBS. El almacenamiento estilo sistema de archivos ya está cubierto por los umbrales del disco host."
},
"zfs_pool":{
"title":"Capacidad del grupo ZFS",
"description":"Grupos ZFS a nivel de host, independientes del registro PVE, por lo que también se monitorean el rpool y los grupos de respaldo dedicados."
}
}
}
},
"login":{
"subtitle":"Inicia sesión para acceder a tu panel de control",
"username":"Nombre de usuario",
"password":"Contraseña",
"usernamePlaceholder":"Ingrese su nombre de usuario",
"passwordPlaceholder":"Introduce tu contraseña",
"rememberMe":"Acuérdate de mí",
"missingCredentials":"Por favor ingrese nombre de usuario y contraseña",
"missingTotp":"Por favor ingresa tu código 2FA",
"invalidCredentials":"Nombre de usuario o contraseña incorrectos",
"invalidTotp":"Código 2FA incorrecto",
"tooManyAttempts":"Demasiados intentos de inicio de sesión. Espere un momento e inténtelo de nuevo.",
"loginFailed":"error de inicio de sesion",
"signingIn":"Iniciando sesión...",
"signIn":"Iniciar sesión",
"twoFactorTitle":"Autenticación de dos factores",
"twoFactorDescription":"Ingrese el código de 6 dígitos de su aplicación de autenticación",
"authenticationCode":"Código de autenticación",
"backupCodeHint":"También puedes utilizar un código de respaldo (formato: XXXX-XXXX)",
"backToLogin":"Volver a iniciar sesión",
"verifyCode":"Verificar código",
"version":"ProxMenux Monitor v1.2.4.1-beta"
},
"account":{
"signedIn":"Iniciado sesión",
"viewProfile":"Ver perfil",
"security":"Seguridad",
"signOut":"desconectar"
},
"authSetup":{
"choiceTitle":"Configurar la protección del panel",
"passwordTitle":"Crear contraseña",
"protectTitle":"¿Proteger su tablero?",
"protectDescription":"Agregue una capa adicional de seguridad para proteger sus datos de Proxmox cuando acceda desde redes no privadas.",
"setupPassword":"Sí, configurar contraseña",
"skipProtection":"No, continuar sin protección",
"enableLater":"Siempre puedes habilitar esto más tarde en Configuración",
"setupTitle":"Configurar autenticación",
"setupDescription":"Cree un nombre de usuario y contraseña para proteger su panel",
"fillFields":"Por favor complete todos los campos",
"passwordMismatch":"Las contraseñas no coinciden",
"passwordTooShort":"La contraseña debe tener al menos 6 caracteres.",
"skipFailed":"No se pudo omitir la autenticación",
"savePreferenceFailed":"No se pudo guardar la preferencia",
"setupFailed":"No se pudo configurar la autenticación",
"username":"Nombre de usuario",
"usernamePlaceholder":"Ingrese el nombre de usuario",
"selfSignedWarning":"Los certificados autofirmados pueden mostrar una advertencia en el navegador. Esto es normal para las configuraciones locales de Proxmox.",
"configuring":"Configurando...",
"useProxmoxCertificate":"Utilice el certificado Proxmox",
"noProxmoxCertificate":"No se detectó ningún certificado Proxmox.",
"warning":"La confianza sólo se dirige a lo que usted controla. Si confía en toda una red, Fail2Ban también ignorará un dispositivo comprometido en esa red."
}
},
"lynis":{
"title":"Auditoría de seguridad de Lynis",
"description":"Realice una auditoría de seguridad local y revise sugerencias prácticas de refuerzo.",
"notInstalled":"Lynis no está instalado.",
"notInstalledDescription":"Instale Lynis para ejecutar auditorías de seguridad locales en este host.",
"featuresTitle":"Lynis comprueba:",
"featureScoring":"puntuación de endurecimiento del sistema",
"featureVulnerabilities":"puntos débiles conocidos y entornos riesgosos",
"featureCompliance":"controles de seguridad comunes",
"featureGithub":"informe claro que puede imprimir o guardar",
"install":"Instalar Lynis",
"installedDescription":"Lynis está instalado y listo para auditar este host.",
"lastScan":"último escaneo",
"hardeningIndex":"Índice de endurecimiento",
"warnings":"Advertencias",
"pveExpectedPlus":"+ {count} esperado para Proxmox",
"expectedWarningsSuffix":"+ {count} esperado para Proxmox",
"suggestions":"Sugerencias",
"securityHardeningScore":"Puntuación de refuerzo de seguridad",
"warningsDescription":"Advertencias que vale la pena revisar primero. Los hallazgos esperados por Proxmox están ocultos aquí.",
"noWarningsDetected":"No se detectaron advertencias procesables.",
"recommendation":"Recomendación",
"suggestionsDescription":"Sugerencias de endurecimiento de menor prioridad. Los hallazgos esperados por Proxmox también están ocultos aquí.",
"incompleteDescription":"Lynis creó un informe incompleto sin puntuación ni recuento de pruebas. Ejecute la auditoría nuevamente para mostrar un resultado confiable.",
"detailedChecks":"Controles detallados",
"categoriesCount":"{count} categorías",
"detailedChecksDescription":"Raw Lynis verifica los grupos del informe de auditoría.",
"check":"Controlar",
"status":"Estado",
"generatedBy":"Generado por",
"confidential":"Mantenga este informe privado; puede contener detalles del host."
},
"reportIncompleteTitle":"La auditoría aún no tiene resultados utilizables",
"reportIncompleteDescription":"Lynis creó un informe incompleto sin puntuación ni recuento de pruebas. Ejecute la auditoría nuevamente.",
"reportIncompleteShort":"El informe está incompleto: ejecute la auditoría nuevamente."
},
"twoFactorSetup":{
"setupFailed":"No se pudo iniciar la configuración 2FA",
"enterSixDigitCode":"Ingrese el código de 6 dígitos.",
"invalidCode":"código no válido",
"verificationFailed":"No se pudo verificar el código",
"copyPrompt":"Copie esta clave secreta:",
"title":"Configurar la autenticación de dos factores",
"description":"Utilice una aplicación de autenticación para agregar un código de un solo uso a su inicio de sesión.",
"intro":"Esto agrega un segundo paso después de su contraseña, por lo que una contraseña filtrada no es suficiente para iniciar sesión.",
"youWillNeed":"Necesitarás:",
"needApp":"Una aplicación de autenticación como Aegis, 1Password, Bitwarden o Google Authenticator.",
"needQrOrKey":"Un código QR o clave manual de esta configuración.",
"needBackupCodes":"Códigos de respaldo guardados en algún lugar seguro.",
"starting":"A partir de...",
"startSetup":"Iniciar configuración",
"scanTitle":"Escanea el código QR",
"scanDescription":"Abra su aplicación de autenticación y escanee este código.",
"qrCodeAlt":"Código QR 2FA",
"manualKey":"llave manual",
"copyKey":"Copiar clave",
"verifyTitle":"Verificar código",
"verifyDescription":"Ingrese el código actual de 6 dígitos de su aplicación.",
"verifying":"Verificando...",
"verifyAndEnable":"Verificar y habilitar",
"enabledTitle":"2FA está habilitado.",
"enabledDescription":"Guarde los códigos de respaldo antes de cerrar esta ventana.",
"saveCodesTitle":"Guarde sus códigos de respaldo",
"saveCodesDescription":"Cada código se puede usar una vez si pierde el acceso a su aplicación de autenticación.",
"backupCodes":"Códigos de respaldo",
"copyAll":"Copiar todo",
"finish":"Finalizar"
},
"secureGateway":{
"title":"Secure Gateway",
"learnMore":"Más información",
"noNetworkDetected":"No se detectó ninguna red",
"noNetworksDetected":"No se detectaron redes.",
"recommended":"Recomendado",
"retry":"Rever",
"errors":{
"loadWizardFailed":"No se pudo cargar la configuración de Secure Gateway",
"updateFailed":"No se pudo actualizar Secure Gateway",
"networkUpdateFailed":"Error de red al actualizar Secure Gateway",
"fieldRequired":"Se requiere {field}.",
"deploymentFailed":"Error en la implementación",
"ociRequiresPve":"Secure Gateway utiliza LXC estándar y debería funcionar en este host Proxmox. Si esto sigue sucediendo, consulte los registros del backend.",
"authKeyRequired":"Ingrese una clave de autenticación de Tailscale.",
"updateAuthKeyFailed":"No se pudo actualizar la clave de autenticación",
"couldNotLoadSetupData":"No se pudieron cargar los datos de configuración."
},
"messages":{
"updateApplied":"Se aplicó la actualización.",
"preparingDeployment":"Preparando el despliegue...",
"creatingLxc":"Creando contenedor LXC...",
"gatewayDeployed":"Secure Gateway implementado."
},
"logs":{
"empty":"No hay registros disponibles.",
"failed":"No se pudieron cargar los registros.",
"title":"Secure Gateway registros",
"description":"Salida de servicio reciente del contenedor de puerta de enlace."
},
"values":{
"never":"nunca",
"yesterdayAt":"ayer a las {time}",
"yes":"Sí",
"no":"No"
},
"wizard":{
"introTitle":"Acceso remoto seguro con Tailscale",
"introDescription":"Implemente una pequeña puerta de enlace LXC para que sus dispositivos puedan llegar a ProxMenux, Proxmox y redes locales seleccionadas a través de su red trasera Tailscale.",
"whatYouGet":"lo que obtienes",
"benefitMonitorAnywhere":"Abra el Monitor desde cualquier lugar de su tailnet.",
"benefitProxmoxUi":"Acceda a la interfaz de usuario web de Proxmox sin exponer el puerto 8006.",
"benefitVmLxc":"Acceda a redes VM y LXC seleccionadas cuando sea necesario.",
"benefitEncryption":"El tráfico permanece cifrado a través de Tailscale.",
"benefitNoPorts":"No se requiere reenvío de puerto público.",
"tailscaleAccountBefore":"Necesita una cuenta de Tailscale y una clave de autenticación previa de",
"reviewDeploy":"Revisar e implementar",
"reviewDescription":"Verifique la configuración final antes de crear la puerta de enlace LXC.",
"storageLocation":"Ubicación de almacenamiento",
"storageDescription":"Elija dónde almacenar el contenedor de puerta de enlace.",
"gbAvailable":"{amount}GB disponibles",
"configurationSummary":"Resumen de configuración",
"hostname":"Nombre de host",
"storage":"Almacenamiento",
"accessMode":"Modo de acceso",
"accessModes":{
"hostOnly":"Sólo Proxmox",
"proxmoxNetwork":"Red local completa",
"customNetworks":"Redes personalizadas"
},
"hostAccess":"Acceso de host",
"networks":"Redes",
"exitNode":"Nodo de salida",
"acceptRoutes":"Aceptar rutas",
"important":"Importante",
"approvalRequired":"Después de la implementación, apruebe las rutas de subred anunciadas en Tailscale Admin.",
"exitNodeApprovalRequired":"Salir del modo Nodo también necesita aprobación allí.",
"showAfterDeploy":"Mostraremos los pasos de aprobación exactos después de la implementación.",
"setupTitle":"Secure Gateway configuración"
},
"steps":{
"intro":{
"title":"Acceso remoto seguro",
"description":"Configure un acceso VPN seguro a su servidor Proxmox"
},
"auth":{
"title":"Autenticación de Tailscale",
"description":"Conecte la puerta de enlace a su cuenta de Tailscale"
},
"access":{
"title":"Alcance del acceso",
"description":"Elija a qué se debe acceder a través de esta puerta de enlace"
},
"options":{
"title":"Opciones avanzadas",
"description":"Configuraciones de enrutamiento adicionales"
"otherPackagesPending":"+ {count} otros paquetes pendientes",
"noneAvailable":"No hay actualizaciones disponibles"
},
"authKey":{
"update":"Actualizar clave de autenticación",
"description":"Utilice una nueva clave de autenticación de Tailscale si la actual expiró o fue revocada.",
"newKey":"Nueva clave de autenticación",
"generateAt":"Generarlo en",
"adminKeys":"Tailscale Admin → Claves",
"updateKey":"Clave de actualización"
},
"tailscale":{
"openAdmin":"Abrir Tailscale Admin"
},
"remove":{
"title":"¿Quitar Secure Gateway?",
"description":"Esto detiene y elimina el contenedor de puerta de enlace. El estado de Tailscale puede permanecer en los datos guardados si el backend los conserva."
},
"postDeploy":{
"title":"Finalizar la configuración en Tailscale Admin",
"description":"La puerta de enlace está implementada. Aún se necesita un paso de aprobación antes de que los dispositivos remotos puedan utilizar las rutas anunciadas.",
"nextStep":"Siguiente paso",
"approveDescription":"Apruebe las rutas de subred anunciadas para esta puerta de enlace.",
"subnetRoutes":"Rutas de subred",
"exitNode":"Salir del nodo",
"routeAllTraffic":"Aprovéchelo si desea que los dispositivos dirijan todo el tráfico de Internet a través de esta puerta de enlace.",
"howToApprove":"como aprobarlo",
"stepOpenAdmin":"Abra la consola de Tailscale Admin.",
"stepFindBefore":"Encuentra la máquina llamada",
"stepFindAfter":"en la lista de Máquinas.",
"stepOpenDetails":"Abre sus detalles.",
"stepSubnetsBefore":"En",
"stepSubnetsMiddle":"hacer clic",
"stepSubnetsAfter":"y aprobar las rutas anunciadas.",
"stepRoutingBefore":"Para salir del nodo, abra",
"stepRoutingMiddle":"y aprobar",
"accessAfterApproval":"Después de la aprobación, puede abrir",
"or":"o",
"fromAnyDevice":"desde cualquier dispositivo en su tailnet.",
"doLater":"haré esto más tarde"
},
"notInstalled":{
"subtitle":"La puerta de enlace Tailscale aún no está implementada.",
"description":"Implementarlo para llegar a ProxMenux y Proxmox de forma segura desde su tailnet sin abrir puertos públicos.",
"deploy":"Implementar Secure Gateway"
},
"schema":{
"auth_key":{
"label":"Clave de autenticación de Tailscale",
"description":"Clave de autenticación previa desde la consola de administración de Tailscale. Genere uno en el siguiente enlace.",
"placeholder":"tskey-auth-xxxxx",
"helpText":"Generar clave de autenticación"
},
"hostname":{
"label":"Nombre de host del dispositivo",
"description":"Nombre que se muestra en la consola de administración de Tailscale.",
"placeholder":"puerta de enlace proxmox"
},
"access_mode":{
"label":"Alcance del acceso",
"description":"Lo que debería ser accesible a través de esta puerta de enlace.",
"options":{
"host_only":{
"label":"Sólo Proxmox",
"description":"Acceda únicamente a este servidor Proxmox, la interfaz de usuario y el ProxMenux Monitor."
},
"proxmox_network":{
"label":"Red local completa",
"description":"Acceda a todos los dispositivos de su red local, como NAS, impresoras, VM y LXC."
"description":"Seleccione redes a las que se debería poder acceder a través de la VPN."
},
"exit_node":{
"label":"Salir del nodo",
"description":"Utilice esta puerta de enlace como punto de salida de Internet cuando esté fuera de casa.",
"warning":"Requiere aprobación en Tailscale Admin. Cuando está habilitado en su dispositivo, todo el tráfico de Internet pasa por su servidor Proxmox."
},
"accept_routes":{
"label":"Aceptar rutas",
"description":"Permita que esta puerta de enlace llegue a las redes anunciadas por otros nodos de Tailscale en su tailnet."
}
}
}
},
"about":{
"releaseNotes":"Notas de la versión",
"changelog":"Registro de cambios",
"logoAlt":"Logotipo de ProxMenux",
"heroDescription":"Un panel web y una capa de administración para Proxmox VE: monitoreo de salud, notificaciones, terminal, rastreador de optimización y más, empaquetado como una única AppImage.",
"project":{
"title":"Proyecto",
"description":"Repositorio, documentación y canales comunitarios."
},
"support":{
"title":"Soporte y licencia",
"description":"ProxMenux es gratuito y de código abierto bajo la licencia GPL-3.0. Si te resulta útil, una contribución única ayuda a que siga siendo así."
},
"license":{
"label":"Licencia GPL-3.0",
"description":"Software gratuito: consulte el archivo de LICENCIA para obtener el texto completo."
},
"links":{
"repository":{
"label":"repositorio de GitHub",
"description":"Código fuente, lanzamientos y seguimiento de problemas."
},
"documentation":{
"label":"Documentación",
"description":"Guía de usuario completa para ProxMenux y el Monitor."
},
"discussions":{
"label":"Discusiones",
"description":"Haga preguntas, comparta indicaciones personalizadas de IA e intercambie ideas."
},
"issues":{
"label":"Informar un error o solicitar una función",
"description":"Abra una incidencia en GitHub: errores, ideas o regresiones."
},
"support":{
"label":"Apoya el proyecto en Ko-fi",
"description":"ProxMenux es gratuito y de código abierto. Las donaciones ayudan a cubrir el tiempo de alojamiento y desarrollo."
}
}
},
"systemLogs":{
"title":"Registros y eventos del sistema",
"sections":"Secciones",
"loading":{
"title":"Cargando registros…",
"description":"Obteniendo registros y eventos del sistema"
},
"errors":{
"connectFailed":"No se pudo conectar al servidor.",
"loadFailed":"No se pudieron cargar los registros. Por favor inténtalo de nuevo."
},
"cards":{
"totalEntries":"Entradas totales",
"selectedRange":"En el rango seleccionado",
"errors":"Errores",
"requiresAttention":"Requiere atención",
"warnings":"Advertencias",
"monitorClosely":"Monitorear de cerca",
"backups":"Copias de seguridad"
},
"tabs":{
"logs":"Registros",
"events":"Eventos",
"backups":"Copias de seguridad",
"notifications":"Notificaciones"
},
"filters":{
"searchPlaceholder":"Buscar registros y eventos...",
"description":"Tu nueva herramienta de seguimiento para Proxmox. Descubra las funciones que le ayudarán a gestionar y supervisar su infraestructura más fácilmente."
},
"overview":{
"title":"Descripción general del sistema",
"description":"Supervise su servidor en tiempo real: CPU, memoria, temperatura, carga del sistema y más, todo en un panel claro."
},
"storage":{
"title":"Gestión de almacenamiento",
"description":"Vea el estado de sus discos y almacenamiento: capacidad, uso, estado SMART, temperatura y rendimiento de cada dispositivo."
},
"network":{
"title":"Métricas de red",
"description":"Supervise el tráfico de la red en tiempo real, incluidas las interfaces activas, las velocidades de transferencia y los gráficos de uso histórico."
},
"virtualMachines":{
"title":"Máquinas virtuales y contenedores",
"description":"Mantenga las máquinas virtuales y los contenedores LXC en un solo lugar. Ver estado, recursos asignados, uso actual y controles rápidos."
},
"hardware":{
"title":"Información de hardware",
"description":"Vea los detalles del hardware del servidor: CPU, RAM, GPU, discos, red, UPS y más, incluidos modelos, números de serie y estado."
},
"logs":{
"title":"Registros del sistema",
"description":"Acceda a registros del sistema, filtre eventos, busque errores específicos y descargue los registros mostrados cuando necesite un análisis más profundo."
},
"future":{
"title":"¡Listo para el futuro!",
"description":"ProxMenux Monitor está listo para nuevas funciones y mejoras, y gradualmente se trasladarán más acciones al panel web."
}
}
},
"releaseNotes":{
"dialogTitle":"Notas de la versión: versión {version}",
"title":"Novedades de la versión {version}",
"intro":"Hemos agregado nuevas funciones y mejoras para hacer que ProxMenux Monitor sea aún mejor.",
"gotIt":"¡Entiendo!",
"dontShowAgain":"No volver a mostrar para esta versión",
"appDetection":"Detección de apps más inteligente en la pestaña App: Docker se identifica correctamente como la aplicación principal durante el arranque en frío (Portainer/SearXNG ya no aparecen brevemente como apps nativas), las sugerencias sin registrar viven en el cache de inicio y 'Find applications' lanza un escaneo desde el catálogo bajo demanda.",
"dockerUpdates":"La pestaña Updates ahora cubre Docker de principio a fin: Docker Engine y el seguimiento de actualizaciones por imagen siguen el mismo ciclo de 24 horas que los paquetes del SO, con una acción 'Check now' para comparar digests bajo demanda — sin esperar al collector diario.",
"appCatalog":"Nuevo catálogo de detección de aplicaciones con más de 380 workloads reconocidos, construido en directo desde community-scripts con evidencia independiente por script. Detectores primarios y de fallback (fichero, binario, dpkg, apk, Python, Docker exec, Docker label) cubren layouts LXC nuevos e históricos.",
"pushover":"Pushover se une a Telegram, Gotify, Discord, Email y Apprise como canal de notificación nativo — clave user/API, selectores de dispositivo y sonido, prioridad 0 para mensajes normales, prioridad 1 opcional para eventos CRITICAL. Sugerido por @benginx (#308)."
"description":"Escaneo de interfaces, puentes y tráfico."
},
"errors":{
"serverUnavailableTitle":"El servidor no está disponible",
"serverUnavailableDescription":"No se puede conectar con el servidor de monitorización. Asegúrese de que el servicio se esté ejecutando y vuelva a intentarlo."
"noRealtimeData":"Aún no hay datos. Haga clic en \"Probar de nuevo\" para comenzar.",
"noDataForPeriod":"No hay datos de latencia disponibles para este período",
"collectionInterval":"Los datos se recopilan cada 60 segundos.",
"realTimeMode":"Modo en tiempo real",
"realTimeModeDescription":"Las pruebas se ejecutan durante 2 minutos con lecturas cada 5 segundos. Ejecute la prueba nuevamente después para agregar más muestras. Todos los datos están incluidos en el informe.",
"report":{
"title":"Informe de latencia de red",
"subtitle":"ProxMenux Monitor - Análisis de rendimiento de la red",
"topBarTitle":"Informe de latencia de red ProxMenux",
"topBarSubtitle":"Revise el informe y luego imprímalo o guárdelo como PDF.",
"printSavePdf":"Imprimir/Guardar como PDF",
"date":"Fecha",
"target":"Objetivo",
"mode":"Modo",
"realTimeTest":"Prueba en tiempo real",
"historicalAnalysis":"Análisis histórico",
"realTime":"en tiempo real",
"executiveSummary":"Resumen ejecutivo",
"assessmentTitle":"Evaluación de latencia de red",
"realtimeSummary":"Prueba de latencia en tiempo real para {target}. Muestras: {count}; duración: {duration}. Latencia media: {avg}.",
"historicalSummary":"Análisis de latencia histórica hasta {target} sobre {timeframe}. {count} muestras analizadas. Latencia media: {avg} ms.",
"minutes":"{count} minuto(s)",
"minutesShort":"{count} min",
"seconds":"{count} segundo(s)",
"secondsShort":"{count}s",
"testPeriod":"el periodo de prueba",
"averagePacketLoss":"Pérdida promedio de paquetes: {value}%.",
"noPacketLoss":"No se detectó pérdida de paquetes.",
"defaultGateway":"Puerta de enlace predeterminada",
"failed":"Fallido",
"notEnoughData":"No hay suficientes puntos de datos para el gráfico",
"samples":"{count} muestras",
"latencyStatistics":"Estadísticas de latencia",
"sampleCount":"Recuento de muestras",
"packetLossAvg":"Pérdida de paquetes (promedio)",
"testPeriodLabel":"Período de prueba",
"latencyGraph":"Gráfico de latencia",
"performanceThresholds":"Umbrales de rendimiento",
"thresholdExcellent":"Óptimo para aplicaciones en tiempo real, juegos y videollamadas.",
"thresholdGood":"Aceptable para la mayoría de aplicaciones con impacto mínimo.",
"thresholdFair":"Retraso notable. Puede afectar a VoIP y aplicaciones interactivas.",
"thresholdPoor":"Latencia significativa. Se recomienda investigación.",
"detailedTestResults":"Resultados detallados de la prueba",
"latencyHistory":"Historial de latencia (últimos {count} registros)",
"methodology":"Metodología",
"testMethod":"Método de prueba",
"icmpEchoRequest":"Solicitud de eco ICMP (Ping)",
"samplesPerTest":"Muestras por prueba",
"threeConsecutivePings":"3 pings consecutivos",
"targetIp":"IP de destino",
"performanceAssessment":"Evaluación de desempeño",
"assessmentExcellent":"La latencia de la red es excelente. No se requiere ninguna acción.",
"assessmentGood":"La latencia de la red está dentro de los parámetros aceptables.",
"assessmentFair":"La latencia de la red es elevada. Considere investigar la congestión de la red o los problemas de enrutamiento.",
"assessmentPoor":"La latencia de la red es críticamente alta. Se recomienda una investigación inmediata.",
"assessmentUnknown":"No se puede determinar el estado de la red.",
"footerTitle":"ProxMenux Monitor - Informe de rendimiento de la red",
"generated":"Generado",
"reportId":"ID de informe"
}
}
},
"hardware":{
"loading":{
"title":"Cargando datos de hardware...",
"description":"Detección de dispositivos CPU, GPU, almacenamiento y PCI",
"driversNotInstalled":"Controladores no instalados",
"programmed":"Programado (tiempo de ejecución cargado)",
"unprogrammed":"No programado (tiempo de ejecución no cargado)",
"notInstalled":"no instalado",
"detecting":"Detector...",
"solidStateDevice":"Dispositivo de estado sólido",
"notSpecified":"No especificado"
},
"time":{
"yesterdayAt":"ayer {time}"
},
"recommendations":{
"intel":"Para obtener información ampliada sobre el monitoreo de GPU, instale el paquete intel-gpu-tools o igt-gpu-tools.",
"nvidia":"Para las GPU NVIDIA, la monitorización en tiempo real requiere controladores propietarios (paquete de controladores nvidia). Instálelos solo si el host utiliza su GPU directamente.",
"amd":"Para obtener información ampliada de monitoreo de GPU para GPU AMD, instale amdgpu_top. Puedes descargarlo desde: https://github.com/Umio-Yasuno/amdgpu_top",
"generic":"Para obtener información ampliada de monitoreo de GPU, instale las herramientas de monitoreo de GPU apropiadas para su hardware."
},
"deviceTypes":{
"graphics":"Gráficos",
"graphicsCard":"Tarjeta gráfica",
"usb":"USB",
"usbController":"Controlador USB",
"audio":"Audio",
"audioController":"Controlador de audio",
"network":"Red",
"networkController":"Controlador de red",
"ethernet":"Ethernet",
"wireless":"wifi",
"wirelessController":"Controlador inalámbrico",
"wifi":"wifi",
"storage":"Almacenamiento",
"storageController":"Controlador de almacenamiento",
"hid":"escondido",
"vendorSpecific":"Específico del proveedor",
"communications":"Comunicaciones",
"integrated":"Integrado",
"discrete":"Discreto"
},
"gpu":{
"monitoringTitle":"Monitoreo en tiempo real de GPU",
"sriovVirtualFunction":"Función virtual SR-IOV",
"sriovVirtualFunctionDescription":"Este dispositivo es una función virtual generada por una función física. El kernel no expone la telemetría por VF (temperatura, utilización, memoria): abra el PF principal para ver las métricas agregadas de GPU.",
"virtualFunctionDetail":"Detalle de la función virtual",
"parentPhysicalFunction":"Función física de los padres",
"sriovActive":"SR-IOV activo",
"sriovMetricsDescription":"Las métricas a continuación reflejan la función física (agregada en {count} VF).",
"updatingEverySeconds":"Actualizando cada {seconds} segundos",
"realTimeMetrics":"Métricas en tiempo real",
"engineUtilizationTotal":"Utilización del motor (total)",
"engineUtilization":"Utilización del motor",
"activeProcesses":"Procesos activos ({count})",
"noActiveProcesses":"No hay procesos activos usando la GPU.",
"virtualFunctions":"Funciones virtuales",
"switchModeVmTitle":"GPU en modo de conmutación VM",
"switchModeVmDescription":"Esta GPU se asigna a una máquina virtual mediante transferencia VFIO. La supervisión en tiempo real no está disponible desde el host porque la GPU está controlada por la VM.",
"extendedMonitoringUnavailable":"Monitoreo extendido no disponible"
"installCoralDrivers":"Instalar los controladores Coral TPU",
"installDrivers":"Instalar controladores"
},
"coral":{
"driversNeededDescription":"Uno o más dispositivos Coral detectados necesitan controladores. Es necesario reiniciar el servidor después de la instalación.",
"deviceInformation":"Información del dispositivo Coral TPU"
},
"ups":{
"detailedInformation":"Información detallada de UPS"
},
"pci":{
"deviceInformation":"Información del dispositivo PCI"
},
"network":{
"interfaceInformation":"Información de la interfaz de red"
},
"storage":{
"deviceHardwareInformation":"Información del hardware del dispositivo de almacenamiento"
},
"usb":{
"deviceInformation":"Información del dispositivo USB"
},
"scripts":{
"nvidiaTitle":"Instalación del controlador NVIDIA",
"nvidiaDescription":"Instalando controladores propietarios de NVIDIA para monitoreo de GPU...",
"amdTitle":"Instalación de herramientas de GPU AMD",
"amdDescription":"Instalando amdgpu_top para monitoreo de GPU AMD...",
"intelTitle":"Instalación de herramientas Intel GPU",
"intelDescription":"Instalando intel-gpu-tools para el monitoreo de GPU Intel...",
"coralTitle":"Instalación del controlador Coral TPU",
"coralDescription":"Instalación de módulos de kernel de junta + apex y tiempo de ejecución de Edge TPU...",
"switchModeTitle":"Modo de cambio de GPU → {mode}",
"switchModeDescription":"Cambiando GPU {slot} al modo {mode}...",
"attachedWarning":"Esta tarea está conectada a un gancho de almacenamiento PVE. Al eliminarla, también se elimina el gancho del Monitor de ese almacenamiento.",
"description":"Se eliminarán los metadatos del temporizador y del monitor para esta tarea.",
"absolutePathHintAfter":"— la ruta debe existir en este host exactamente como se escribió.",
"absolutePathHintBefore":"Utilice la ruta absoluta completa.",
"absolutePathHintMiddle":"no es lo mismo que",
"descriptionAfter":"(perfil manual o programado, predeterminado o personalizado) en la parte superior de la lista de perfiles predeterminados. Útil para datos de aplicaciones, carpetas de configuración personalizadas y rutas similares. ({count} configurado)",
"descriptionBefore":"Las rutas agregadas aquí están incluidas en",
"empty":"Aún no hay rutas personalizadas: las copias de seguridad utilizan únicamente el perfil predeterminado.",
"everyBackup":"cada copia de seguridad",
"missingOnDisk":"falta en el disco",
"removeTitle":"Eliminar esta ruta personalizada",
"title":"Rutas personalizadas"
},
"fields":{
"absolutePathOnHost":"Ruta absoluta en el host",
"archiveNameLabel":"Nombre del archivo",
"backend":"backend",
"backendLabel":"backend",
"backupGroupLabel":"grupo de respaldo",
"backupId":"ID de respaldo",
"bootMode":"Modo de arranque",
"borgIdLabel":"Identificación de Borg",
"borgRepository":"repositorio borg",
"confirmPassphrase":"Confirmar contraseña",
"createdLabel":"Creado",
"datastore":"almacén de datos",
"dayOfMonth":"Día del mes",
"daysOfWeek":"dias de la semana",
"destinationDirectory":"Directorio de destino",
"detectedViaLabel":"Detectado mediante",
"directoryPath":"Ruta del directorio",
"directoryShort":"Directorio",
"encryption":"Cifrado",
"expressionLabel":"Expresión",
"filesystemShort":"fs",
"fingerprintOptional":"Huella digital (opcional)",
"disableJobDescription":"El temporizador systemd se detendrá; no se ejecutarán más automáticamente. Puede volver a habilitarlo más tarde desde este mismo cuadro de diálogo.",
"waitingForRunner":"Esperando a que se inicie el ejecutor..."
},
"keyfileActions":{
"deleteDialogDescription":"Las copias de seguridad cifradas de PBS necesitarán el mismo archivo de claves antes de poder restaurarlas.",
"deleteDialogTitle":"¿Eliminar el archivo de claves de PBS local?",
"deleteTitle":"Eliminar archivo de claves local",
"deleteWarningDownloadsAfter":"hasta que importes la clave coincidente nuevamente.",
"deleteWarningDownloadsBefore":"Las descargas y restauraciones de copias de seguridad cifradas fallarán",
"deleteWarningNewBackups":"Las nuevas copias de seguridad cifradas no se pueden ejecutar sin un archivo de claves.",
"deleteWarningRecoveryBlobs":"Los blobs de recuperación de PBS permanecen en el servidor.",
"downloadTitle":"Descargar archivo clave",
"fingerprintTitle":"Mostrar huella digital clave",
"installed":"Instalado",
"keyfileLabel":"archivo de claves PBS",
"notInstalled":"No instalado",
"orUploadFromMachine":"o cargar uno desde esta máquina.",
"orUploadOwn":"o cargue su propio archivo de claves.",
"pveKeyDescriptionAfter":"y puede ser reutilizado por Monitor.",
"pveKeyDescriptionBefore":"Existe una clave PVE en",
"pveKeyDescriptionMiddle":"Coincide con el cifrado de almacenamiento PVE",
"pveKeyDetected":"Clave PVE detectada",
"uploadDialogDescriptionAfter":"Las copias de seguridad cifradas creadas con una clave diferente seguirán requiriendo su clave original.",
"uploadDialogDescriptionBefore":"Cargue el archivo de claves utilizado para las copias de seguridad cifradas de PBS.",
"uploadDialogTitle":"Cargar archivo de claves PBS",
"uploadFromMachine":"Subir desde esta máquina",
"uploadTitle":"Cargar archivo de claves",
"useThisKey":"Usa esta clave",
"willFail":"fallará"
},
"keyfileError":{
"currentlyInstalled":"Actualmente instalado",
"description":"Esta copia de seguridad está cifrada y necesita el archivo de claves PBS correspondiente.",
"importFrom":"Importe el archivo de claves correspondiente desde",
"importPath":"Copia de seguridad → Destinos → Archivo de claves PBS",
"requiredManifest":"Requerido por respaldo",
"retryHint":"e inténtalo de nuevo.",
"title":"Se requiere un archivo de claves coincidente"
},
"keyfileGate":{
"descriptionAfter":"antes de que esta acción pueda continuar.",
"descriptionBefore":"Esta copia de seguridad cifrada necesita el archivo de claves correspondiente",
"title":"Se requiere archivo de claves"
},
"keyfileManagement":{
"below":"abajo",
"copyAfterCreateAfter":"después de crearlo.",
"copyAfterCreateBefore":"Descargar una copia segura",
"copyAfterManualBefore":"Mantenga una copia segura fuera de este host",
"currentPbsUploadStays":"Las cargas de recuperación de PBS existentes permanecen en su lugar.",
"downloadKeyfile":"Descargar archivo clave",
"hideOptions":"Ocultar opciones",
"keepLocalDescriptionAfter":"y guarde su propia copia de seguridad en otro lugar.",
"keepLocalDescriptionBefore":"Mantenga la clave solo en este host",
"keepLocalOnly":"Mantener solo local",
"keepOffsiteCopy":"Mantenga una copia fuera del sitio",
"keyfileInstalled":"Archivo de claves instalado",
"startUploading":"Comience a cargar blobs de recuperación en PBS",
"stopUploading":"Dejar de cargar blobs de recuperación",
"thisBackupReusesKeyfile":"Esta copia de seguridad reutiliza el archivo de claves PBS compartido.",
"title":"Gestión de archivos clave",
"updatePassphrase":"Actualizar frase de contraseña",
"uploadNo":"No, mantenlo solo local",
"uploadQuestion":"¿Subir copia de recuperación cifrada a PBS?",
"uploadToPbs":"Subir a PBS",
"uploadYes":"Sí, cargar copia de recuperación",
"withoutCopyWarning":"Sin una copia, perder este host también puede perder la clave.",
"yesUpload":"Si, subir",
"yesUploadDescription":"Monitor almacena una copia de recuperación cifrada en PBS."
},
"keyfileRecovery":{
"descriptionBefore":"El blob del archivo de claves cifrado se descarga de PBS y se descifra con su frase de contraseña de recuperación. La clave resultante se escribe en",
"passphrase":"Frase de contraseña de recuperación",
"pickSourceHost":"Elija el host de origen cuya contraseña recuerde: cada instalación carga su propio depósito en garantía.",
"copyFoundTitle":"Copia de recuperación encontrada",
"encryptedCopyAvailable":"La copia de recuperación de clave cifrada está disponible en PBS.",
"keyfileMissingTitle":"Falta el archivo de claves de PBS",
"recoverArrow":"Recuperar →"
},
"restore":{
"ackAfter":"las VM, LXC y componentes enumerados anteriormente. Esto es irreversible.",
"ackBefore":"Entiendo que la restauración completa",
"afterRebootHint":"Después del reinicio, esta pestaña Copias de seguridad mostrará el progreso posterior a la restauración en vivo con el tiempo estimado, el estado de cada componente, el final del registro y el delta de reversión. Si las notificaciones de Telegram/Discord/ntfy están configuradas, también recibirás el evento \"Restauración del host finalizada\".",
"blockedPathsHint":"Las rutas vinculadas al kernel/arranque están atenuadas y no se pueden seleccionar: el destino ejecuta un kernel más nuevo.",
"chooseModeTitle":"Restaurar – elegir modo",
"complete":"Completo",
"completeDescription":"Restaura todo desde la copia de seguridad.",
"completeDescriptionAfter":"en el menú TUI del shell. El terminal que se abre a continuación aún le pedirá que confirme solo seguro, seguro+reinicio o todo a la vez antes de tocar el host.",
"completeDescriptionBefore":"Reproduce todo lo que hay en la copia de seguridad. Equivalente a recoger",
"completeTitle":"restauración completa",
"crossKernelDescription":"Tanto la restauración completa como la personalizada omiten automáticamente las rutas vinculadas al kernel/arranque para evitar un pánico del kernel en el siguiente arranque. Todo lo demás (VM, LXC, red, componentes, rutas personalizadas) se restaura normalmente.",
"crossKernelTitle":"Restauración entre núcleos: solo subconjunto seguro",
"customByPathsDescription":"Elija exactamente qué rutas restaurar. Muestra lo que hay realmente en esta copia de seguridad (perfil predeterminado + sus rutas personalizadas).",
"customByPathsTitle":"Restauración personalizada por rutas",
"customPickDescriptionAfter":"env var: el mismo código descendente que la TUI. El flujo de bash detectará las rutas necesarias para el reinicio (kernel, módulos, fstab, etc.) y podrá programarlas para el próximo arranque desde allí.",
"destructiveTitle":"La restauración completa QUITARÁ lo siguiente (creado después de la copia de seguridad)",
"noPathsMatch":"Ninguna ruta coincide con el filtro.",
"noRestorablePaths":"Esta copia de seguridad no incluye rutas restaurables; aquí solo tiene sentido la restauración completa.",
"olderThanTargetKernel":"es más antiguo que el kernel de destino",
"operatorConfigDescription":"Las siguientes configuraciones creadas por el operador se fusionarán en el destino automáticamente, sin tocar los valores predeterminados vinculados al kernel. Se ejecuta tanto en restauración completa como personalizada.",
"operatorConfigTitle":"Configuración del operador reaplicada mediante fusión independiente del kernel",
"pathsInBackup":"({count} rutas en la copia de seguridad)",
"skippedPathTitle":"Omitido: ruta vinculada al kernel, el objetivo ejecuta un kernel más nuevo",
"terminalTitle":"Restaurar terminal",
"tickAckToEnable":"Marque el reconocimiento de arriba para habilitarlo."
},
"retention":{
"daily":"A diario",
"hourly":"Cada hora",
"keepDaily":"Mantener diariamente",
"keepHourly":"mantener cada hora",
"keepLast":"mantener el último",
"keepMonthly":"Mantener mensualmente",
"keepWeekly":"Mantener semanal",
"keepYearly":"Mantener anualmente",
"last":"Último",
"monthly":"Mensual",
"none":"Ninguno",
"noneAccumulate":"Sin límites de retención: las copias de seguridad se acumulan hasta que se eliminan manualmente.",
"title":"Retención",
"weekly":"Semanalmente",
"yearly":"Anual",
"zeroDisables":"0 desactiva este límite."
},
"rollback":{
"components":"Componentes:",
"configsIncluded":"Configuraciones incluidas en la copia de seguridad",
"lxcConfigs":"Configuraciones de LXC:",
"noDifferences":"No se detectaron diferencias en el estado del host: el estado de la copia de seguridad coincide con el host actual (o la copia de seguridad no incluía /etc/pve).",
"pveOnlyHint":"Sólo se restaura la configuración /etc/pve: las imágenes de disco permanecen donde residen.",
"vmConfigs":"Configuraciones de máquina virtual:"
},
"schedule":{
"advancedHelpAfter":"para la sintaxis exacta de systemd.",
"description":"Monte unidades USB para que puedan ser elegidas como objetivo local o Borg. Las unidades que ya tenían un sistema de archivos se pueden volver a montar tal como están; Las unidades sin formato (sin tabla de particiones) se pueden borrar y formatear para",
"drivesDetected":"{count} unidades detectadas",
"empty":"No se detectaron unidades USB. Conecte uno y actualice: supervise los escaneos automáticamente cada 30 segundos.",
"formatAndUse":"Formato y uso",
"formatDescription":"Esto borrará el disco seleccionado y creará una única partición ext4.",
"formatDrive":"Formatear unidad",
"formatDriveQuestion":"¿Limpiar y formatear este disco?",
"formatTitle":"Limpiar + formatear este disco como ext4",
"formatWarning":"Todo lo que haya en el disco será destruido. Esto no se puede deshacer.",
"mountAndUse":"Montar y usar",
"mounted":"Montado",
"noneDetected":"No se detectaron unidades USB.",
"repartitionHint":"El disco se volverá a particionar (GPT + partición ext4 única) y se montará automáticamente.",
"scanning":"Escaneando unidades USB...",
"stateEmpty":"sin sistema de archivos",
"stateMounted":"montado",
"stateUnmounted":"no montado",
"typeDeviceExactly":"Escriba la ruta del dispositivo EXACTAMENTE para confirmar:",
"typeDeviceToConfirm":"Escriba la ruta del dispositivo para confirmar",
"importedForcedHelp":"El nuevo hostid se escribió en la etiqueta del grupo; el próximo inicio debería importarse limpiamente.",
"skippedPartial":"Omitido (faltan algunos discos)",
"skippedPartialHelp":"Algunos discos vdev no se encontraron en /dev/disk/by-id. El grupo no se importó para evitar una importación automática degradada. Repare los discos o impórtelos manualmente con zpool import.",
"skippedMissing":"Omitido (no hay discos presentes)",
"skippedMissingHelp":"Ninguno de los discos de este grupo está en este host. Mueva los discos aquí o importe el grupo desde otro host.",
"importFailed":"Importación fallida",
"importFailedHelp":"ZFS rechazó la importación incluso con -f. Verifique la importación de zpool y el registro a continuación.",
"logPath":"Registro: {path}"
},
"history":{
"title":"Restauraciones pasadas",
"description":"Restaurar ejecuciones archivadas después del arranque. Se conservan los últimos 20.",
"empty":"No se registraron restauraciones pasadas."
},
"badges":{
"bootWarnings":"Advertencias de arranque: {count}",
"searchDescription":"Busque comandos de Linux y Proxmox",
"searchPlaceholder":"Comandos de búsqueda... (por ejemplo, tar, docker, qm, systemctl)",
"searchingCheatSh":"Buscando trampa.sh…",
"poweredByCheatSh":"Desarrollado por Cheat.sh",
"send":"Enviar",
"noResults":"No se encontraron resultados para '{query}'",
"tryDifferentSearch":"Pruebe con otro comando o revise la ortografía.",
"searchAnyCommand":"Buscar cualquier comando",
"trySearchingFor":"Intente buscar:",
"noExamplesFound":"No se encontraron ejemplos",
"reconnecting":"Reconectando…",
"reconnected":"Reconectado exitosamente",
"reconnectionFailed":"Error de reconexión",
"connectionClosed":"Conexión cerrada",
"terminalTitle":"Terminal {number}",
"connectionTimeout":"Se agotó el tiempo de conexión. Verifique su red e inténtelo nuevamente.",
"vpnTip":"Si utiliza una VPN, asegúrese de que la conexión sea estable.",
"websocketError":"Error de conexión WebSocket",
"commandDescriptions":"['Listar todos los nodos Proxmox', 'Listar VM en un nodo', 'Listar contenedores LXC en un nodo', 'Listar almacenamiento en un nodo', 'Listar interfaces de red', 'Listar todas las máquinas virtuales QEMU/KVM', 'Iniciar una máquina virtual', 'Detener una máquina virtual', 'Apagar una máquina virtual de forma segura', 'Mostrar estado de VM', 'Mostrar configuración de VM', 'Crear una instantánea de VM', 'Listar todos los contenedores LXC', 'Iniciar un contenedor LXC', 'Detener un contenedor LXC', 'Abrir una consola de contenedor LXC', 'Mostrar configuración del contenedor', 'Mostrar estado de almacenamiento', 'Enumerar el contenido del almacenamiento', 'Probar el rendimiento del sistema Proxmox', 'Mostrar la versión de Proxmox VE', 'Verificar el estado del clúster', 'Mostrar el estado del clúster', 'Enumerar los nodos del clúster', 'Mostrar el estado del grupo ZFS', 'Enumerar todos los grupos ZFS', 'Enumerar todo Conjuntos de datos ZFS', 'Enumerar todos los archivos con detalles', 'Cambiar directorio', 'Crear un directorio', 'Eliminar un directorio de forma recursiva', 'Copiar archivos o directorios', 'Mover o cambiar el nombre de archivos', 'Mostrar el contenido del archivo', 'Buscar un patrón en un archivo', 'Buscar archivos por nombre', 'Cambiar permisos de archivos', 'Cambiar el propietario del archivo', 'Extraer un archivo tar.gz', 'Crear un tar.gz archivo', 'Mostrar uso del disco', 'Mostrar tamaños de directorio', 'Mostrar uso de memoria', 'Mostrar procesos en ejecución', 'Buscar un proceso en ejecución', 'Forzar la eliminación de un proceso', 'Verificar el estado del servicio', 'Iniciar un servicio', 'Detener un servicio', 'Reiniciar un servicio', 'Actualizar paquetes de Debian/Ubuntu', 'Instalar un paquete de Debian/Ubuntu', 'Eliminar un paquete', 'Listar contenedores en ejecución', 'Listar Docker imágenes', 'Abrir un shell en un contenedor', 'Mostrar direcciones IP', 'Probar conectividad de red', 'Obtener encabezados HTTP', 'Descargar un archivo', 'Conectarse a través de SSH', 'Copiar un archivo a través de SSH', 'Seguir un archivo de registro en tiempo real', 'Mostrar historial de comandos', 'Borrar la pantalla del terminal']"
},
"scriptTerminal":{
"processing":"Tratamiento...",
"controlSequences":"Secuencias de control",
"cancelInterrupt":"Cancelar/Interrumpir",
"exitNano":"Salir (nano)",
"searchHistory":"Historial de búsqueda",
"clipboard":"Portapapeles",
"copySelection":"Copiar selección",
"paste":"Pasta",
"connected":"Conectado",
"connecting":"Conectando",
"disconnected":"Desconectado",
"online":"En línea",
"connectingStatus":"Conectando...",
"offline":"Desconectado",
"websocketError":"Ocurrió un error en WebSocket",
"connectionClosed":"Conexión cerrada",
"completedSuccessfully":"Guión completado con éxito",
"completedWithError":"Script terminado con el código de error {code}",