From 35937bb330e932896e6cdc343d019869fac26e15 Mon Sep 17 00:00:00 2001 From: lan-yonghui Date: Thu, 28 May 2026 16:40:54 +0800 Subject: [PATCH] ref: add some translate --- frontend/src/lang/modules/es-es.ts | 890 ++++++++++++++-------------- frontend/src/lang/modules/ja.ts | 904 ++++++++++++++-------------- frontend/src/lang/modules/ko.ts | 905 +++++++++++++++-------------- frontend/src/lang/modules/ms.ts | 882 ++++++++++++++-------------- frontend/src/lang/modules/pt-br.ts | 880 ++++++++++++++-------------- frontend/src/lang/modules/ru.ts | 882 ++++++++++++++-------------- frontend/src/lang/modules/tr.ts | 886 ++++++++++++++-------------- 7 files changed, 3130 insertions(+), 3099 deletions(-) diff --git a/frontend/src/lang/modules/es-es.ts b/frontend/src/lang/modules/es-es.ts index b187acf862ac..1390aafeca6e 100644 --- a/frontend/src/lang/modules/es-es.ts +++ b/frontend/src/lang/modules/es-es.ts @@ -4035,393 +4035,400 @@ const message = { website: 'Protección de sitios web', resource: 'Recursos de ejecución', cronjob: 'Tareas programadas', - alert: 'Alert Notifications', + alert: 'Notificaciones de alerta', history: 'Historial de exportación', setting: 'Configuración', page: { - enterprise: 'Enterprise', - reportNode: 'Report Node', - selectReportNode: 'Select report node', - currentNode: 'Current', - scoreMeta: '{0} points deducted · {1} risks', - hostAddress: 'Host Address', - panelVersion: 'Panel Version', - cpuCores: 'Physical Cores', - coreUnit: '{0} cores', - memoryTotal: 'Memory Total', - reportDate: 'Report Date', - serverSecurityOverview: 'Server Security Operations Overview', - securityScore: 'Security Score', + enterprise: 'Edición Empresarial', + reportNode: 'Nodo de informe', + selectReportNode: 'Seleccionar nodo de informe', + currentNode: 'Actual', + scoreMeta: '{0} puntos deducidos · {1} riesgos', + hostAddress: 'Dirección del host', + panelVersion: 'Versión del panel', + cpuCores: 'Núcleos físicos', + coreUnit: '{0} núcleos', + memoryTotal: 'Memoria total', + reportDate: 'Fecha del informe', + serverSecurityOverview: 'Resumen de operaciones de seguridad del servidor', + securityScore: 'Puntuación de seguridad', overviewSummary: - 'Current security level: {0}. {1} points deducted, {2} risk items found, {3} objects checked.', - riskDistribution: 'Risk Distribution', - totalDeducted: 'Total deducted', - noRiskDeducted: 'No deductions', - scoreTrend: 'Score Trend', - scoreLevelSafe: 'Safe', - scoreLevelAttention: 'Needs Attention', - scoreLevelMediumRisk: 'Medium Risk', - scoreLevelHighRisk: 'High Risk', - scoreCategoryHost: 'Host Resources', - scoreCategoryLogin: 'Login Security', - scoreCategoryWebsite: 'Websites & Certificates', - scoreCategoryCronjob: 'Cron Jobs', - scoreCategoryResource: 'Runtime Resources', - scoreDiskHigh: 'Disk {0} usage is {1}%', - scoreDiskMedium: 'Disk {0} usage is {1}%', - scoreResourceHigh: '{0} current usage is {1}%', - scoreResourceMedium: '{0} current usage is {1}%', - scoreLoadMedium: 'Current load is {0}', - scoreMonitorDisabled: 'Host monitoring is disabled', - scorePanelLoginFailedHigh: 'Panel login failed {0} times', - scorePanelLoginFailedMedium: 'Panel login failed {0} times', - scoreSSHLoginFailedHigh: 'SSH login failed {0} times', - scoreSSHLoginFailedMedium: 'SSH login failed {0} times', - scoreMFADisabled: 'MFA is disabled', - scoreAllowIPsOpen: 'Allowed IPs and bound domain are not configured or access is unrestricted', - scorePasswordExpired: 'Panel password has expired', - scorePasswordExpiring: 'Panel password expires in {0} days', - scorePanelHTTPSDisabled: 'Panel HTTPS is disabled', - scoreSSHRootLogin: 'SSH root login is allowed', - scoreSSHPasswordAuth: 'SSH password auth is enabled without key auth', - scoreSSLHigh: '{0} certificate expires in {1} days', - scoreSSLMedium: '{0} certificate expires in {1} days', - scoreWebsiteExpire: '{0} website expires in {1} days', - scoreWebsiteHTTP: '{0} does not use HTTPS', - scoreWebsiteStopped: '{0} status is abnormal', - scoreWebsiteMonitorUnavailable: 'Website monitoring detected an unavailable site', - scoreWebsiteMonitorAvailability: 'Website monitoring availability {0}% is below the threshold', - scoreWafDisabled: 'WAF is disabled and websites are not protected', - scoreWafHighRiskHit: 'WAF matched {0} risk rules in the reporting period', - scoreCronjobFailed: '{0} cron job failure records in the last 7 days', - scoreAppFailed: '{0} app is abnormal', - scoreAppStopped: '{0} app has stopped', - scoreContainerHigh: '{0} container status is abnormal', - scoreContainerExited: '{0} container has stopped', - scoreContainerResource: '{0} container resource usage is high', - attentionItems: 'Attention Items', - attentionAssets: 'Attention Assets', - riskItems: 'Risk Items', - object: 'Object', - description: 'Description', - itemUnit: 'items', - recordUnit: 'records', - certUnit: 'certs', - containerUnit: 'containers', - loginFailed: 'Failed Logins', - sslExpire: 'Certificate Expiry', - abnormalContainer: 'Abnormal Containers', - statAttentionDesc: '{0} points deducted', + 'Nivel de seguridad actual: {0}. {1} puntos deducidos, {2} elementos de riesgo detectados, {3} objetos verificados.', + riskDistribution: 'Distribución de riesgos', + totalDeducted: 'Total deducido', + noRiskDeducted: 'Sin deducciones', + scoreTrend: 'Tendencia de puntuación', + scoreLevelSafe: 'Seguro', + scoreLevelAttention: 'Requiere atención', + scoreLevelMediumRisk: 'Riesgo medio', + scoreLevelHighRisk: 'Riesgo alto', + scoreCategoryHost: 'Recursos del host', + scoreCategoryLogin: 'Seguridad de acceso', + scoreCategoryWebsite: 'Sitios web y certificados', + scoreCategoryCronjob: 'Tareas programadas', + scoreCategoryResource: 'Recursos de ejecución', + scoreDiskHigh: 'Uso del disco {0}: {1}%', + scoreDiskMedium: 'Uso del disco {0}: {1}%', + scoreResourceHigh: 'Uso actual de {0}: {1}%', + scoreResourceMedium: 'Uso actual de {0}: {1}%', + scoreLoadMedium: 'Carga actual: {0}', + scoreMonitorDisabled: 'El monitoreo del host está deshabilitado', + scorePanelLoginFailedHigh: 'Acceso al panel fallido {0} veces', + scorePanelLoginFailedMedium: 'Acceso al panel fallido {0} veces', + scoreSSHLoginFailedHigh: 'Acceso SSH fallido {0} veces', + scoreSSHLoginFailedMedium: 'Acceso SSH fallido {0} veces', + scoreMFADisabled: 'MFA deshabilitado', + scoreAllowIPsOpen: 'IPs autorizadas y dominio vinculado no configurados o acceso sin restricciones', + scorePasswordExpired: 'La contraseña del panel ha expirado', + scorePasswordExpiring: 'La contraseña del panel expira en {0} días', + scorePanelHTTPSDisabled: 'HTTPS del panel deshabilitado', + scoreSSHRootLogin: 'El acceso SSH como root está permitido', + scoreSSHPasswordAuth: 'Autenticación por contraseña SSH habilitada sin autenticación por clave', + scoreSSLHigh: 'El certificado {0} expira en {1} días', + scoreSSLMedium: 'El certificado {0} expira en {1} días', + scoreWebsiteExpire: 'El sitio web {0} expira en {1} días', + scoreWebsiteHTTP: '{0} no usa HTTPS', + scoreWebsiteStopped: 'Estado anormal de {0}', + scoreWebsiteMonitorUnavailable: 'El monitoreo web detectó un sitio no disponible', + scoreWebsiteMonitorAvailability: 'La disponibilidad del monitoreo web ({0}%) está por debajo del umbral', + scoreWafDisabled: 'WAF deshabilitado, los sitios web no están protegidos', + scoreWafHighRiskHit: 'WAF detectó {0} reglas de riesgo en el periodo del informe', + scoreCronjobFailed: '{0} registros de fallos de tareas programadas en los últimos 7 días', + scoreAppFailed: 'La aplicación {0} está en estado anormal', + scoreAppStopped: 'La aplicación {0} se ha detenido', + scoreContainerHigh: 'Estado anormal del contenedor {0}', + scoreContainerExited: 'El contenedor {0} se ha detenido', + scoreContainerResource: 'Alto uso de recursos del contenedor {0}', + attentionItems: 'Elementos de atención', + attentionAssets: 'Activos de atención', + riskItems: 'Elementos de riesgo', + object: 'Objeto', + description: 'Descripción', + itemUnit: 'elementos', + recordUnit: 'registros', + certUnit: 'certificados', + containerUnit: 'contenedores', + loginFailed: 'Inicios de sesión fallidos', + sslExpire: 'Vencimiento de certificado', + abnormalContainer: 'Contenedores anómalos', + statAttentionDesc: '{0} puntos deducidos', statLoginDesc: 'Panel {0} · SSH {1}', - statSslDesc: '{0} certificates checked', - statContainerDesc: '{0} containers checked', - assetHostDesc: 'Max disk usage {0}%', - assetWebsiteDesc: '{0} certificates expiring soon, {1} abnormal websites', - assetResourceDesc: '{0} abnormal apps, {1} stopped apps, {2} abnormal containers', - assetCronjobDesc: '{0} failure records in the last 7 days, {1} disabled jobs', - app: 'Apps', - website: 'Websites', - websiteSsl: 'Websites / Certificates', - cronjob: 'Cron Jobs', - container: 'Containers', - sslCertificate: 'SSL Certificates', - loginSecurity: 'Login Security', - panelLogin: 'Panel Login', - sshLogin: 'SSH Login', - failedRecord: 'Failed Records', - expiredDays: 'Expired {0} days ago', - remainingDays: '{0} · {1} days left', - enabled: 'Enabled', - disabled: 'Disabled', - exportRecordFailed: 'Failed to save export record', - hostInfo: 'Host Info', - hostname: 'Hostname', - osVersion: 'OS Version', - kernelVersion: 'Kernel Version', - arch: 'Architecture', - uptime: 'Uptime', - diskUsage: 'Disk Usage', - mountPoint: 'Mount Point', - device: 'Device', - capacity: 'Capacity', - used: 'Used', - usageRate: 'Usage', - memory: 'Memory', - load: 'Load', - maxDiskUsage: 'Max Disk Usage', - panelLoginSecurity: 'Panel Login Security', - sshSecurity: 'Linux Server SSH Security', - panelFailedRecords: 'Panel Failed Login Records', - sshFailedRecords: 'SSH Failed Login Records', - location: 'Location', - configItem: 'Config Item', - currentValue: 'Current Value', - securityEntrance: 'Security Entrance', - configured: 'Configured', - notConfigured: 'Not Configured', + statSslDesc: '{0} certificados verificados', + statContainerDesc: '{0} contenedores verificados', + assetHostDesc: 'Uso máximo de disco {0}%', + assetWebsiteDesc: '{0} certificados por vencer, {1} sitios web anómalos', + assetResourceDesc: '{0} aplicaciones anómalas, {1} aplicaciones detenidas, {2} contenedores anómalos', + assetCronjobDesc: '{0} registros de fallos en los últimos 7 días, {1} tareas deshabilitadas', + app: 'Aplicaciones', + website: 'Sitios web', + websiteSsl: 'Sitios web / Certificados', + cronjob: 'Tareas programadas', + container: 'Contenedores', + sslCertificate: 'Certificados SSL', + loginSecurity: 'Seguridad de acceso', + panelLogin: 'Acceso al panel', + sshLogin: 'Acceso SSH', + failedRecord: 'Registros fallidos', + expiredDays: 'Expiró hace {0} días', + remainingDays: '{0} · {1} días restantes', + enabled: 'Habilitado', + disabled: 'Deshabilitado', + exportRecordFailed: 'Error al guardar el registro de exportación', + hostInfo: 'Información del host', + hostname: 'Nombre del host', + osVersion: 'Versión del SO', + kernelVersion: 'Versión del kernel', + arch: 'Arquitectura', + uptime: 'Tiempo de actividad', + diskUsage: 'Uso de disco', + mountPoint: 'Punto de montaje', + device: 'Dispositivo', + capacity: 'Capacidad', + used: 'Usado', + usageRate: 'Uso', + memory: 'Memoria', + load: 'Carga', + maxDiskUsage: 'Uso máximo de disco', + panelLoginSecurity: 'Seguridad de acceso al panel', + sshSecurity: 'Seguridad SSH del servidor Linux', + panelFailedRecords: 'Registros de accesos fallidos al panel', + sshFailedRecords: 'Registros de accesos SSH fallidos', + location: 'Ubicación', + configItem: 'Elemento de configuración', + currentValue: 'Valor actual', + securityEntrance: 'Entrada de seguridad', + configured: 'Configurado', + notConfigured: 'No configurado', normal: 'Normal', - needAttention: 'Needs Attention', - allowIPs: 'Allowed IPs', - restricted: 'Restricted', - unrestricted: 'Unrestricted', - bindDomain: 'Bound Domain', - accessRestriction: 'Access Restriction', - panelHTTPS: 'Panel HTTPS', - passwordComplexity: 'Password Complexity', - sshService: 'SSH Service', - running: 'Running', - notRunning: 'Not Running', - listenPort: 'Listen Port', - read: 'Read', - rootLogin: 'Root Login', - passwordAuth: 'Password Auth', - keyAuth: 'Key Auth', - panelLoginFailed: 'Panel Failed Logins', - sshLoginFailed: 'SSH Failed Logins', - panelSecurityItems: 'Panel Security Items', - sshSecurityItems: 'SSH Security Items', - loginSecurityHealthStatus: 'Login Security Health', - adjustSSHSecurity: 'Adjust SSH Security', - viewLoginLogs: 'View Login Logs', - riskLevel: 'Risk Level', - goConfig: 'Configure', - viewMore: 'View More', - involvedIPs: '{0} IPs involved', - sessionTimeout: 'Session Timeout', - countUnit: 'times', - recent24Hours: 'Last 24 hours', + needAttention: 'Requiere atención', + allowIPs: 'IPs autorizadas', + restricted: 'Restringido', + unrestricted: 'Sin restricciones', + bindDomain: 'Dominio vinculado', + accessRestriction: 'Restricción de acceso', + panelHTTPS: 'HTTPS del panel', + passwordComplexity: 'Complejidad de contraseña', + sshService: 'Servicio SSH', + running: 'En ejecución', + notRunning: 'No en ejecución', + listenPort: 'Puerto de escucha', + read: 'Leído', + rootLogin: 'Acceso Root', + passwordAuth: 'Autenticación por contraseña', + keyAuth: 'Autenticación por clave', + panelLoginFailed: 'Accesos fallidos al panel', + sshLoginFailed: 'Accesos SSH fallidos', + panelSecurityItems: 'Elementos de seguridad del panel', + sshSecurityItems: 'Elementos de seguridad SSH', + loginSecurityHealthStatus: 'Estado de salud de seguridad de acceso', + adjustSSHSecurity: 'Ajustar seguridad SSH', + viewLoginLogs: 'Ver registros de acceso', + riskLevel: 'Nivel de riesgo', + goConfig: 'Configurar', + viewMore: 'Ver más', + involvedIPs: '{0} IPs involucradas', + sessionTimeout: 'Tiempo de espera de sesión', + countUnit: 'veces', + recent24Hours: 'Últimas 24 horas', currentService: 'Servicio actual', - riskItemsExist: '{0} risk items', + riskItemsExist: '{0} elementos de riesgo', loginHealthRiskDesc: - '{0} risky configurations detected. Harden login security to reduce intrusion risk.', - loginHealthNormalDesc: 'Current login and SSH security configurations are normal', - loginHealthNormalReason: 'Login security is normal', - securityEntranceConfiguredDesc: 'Security entrance is configured to reduce default entry exposure', - securityEntranceRiskDesc: 'Security entrance is disabled. Hide the default login entry', - allowIPsRestrictedDesc: 'Allowed IPs are restricted for Panel access', - allowIPsRiskDesc: 'Access IPs are unrestricted. Configure allowed IPs for public environments', - bindDomainRestrictedDesc: 'Access domain is bound', - bindDomainRiskDesc: 'Access domain is not bound. Restrict access to a fixed domain', - accessRestrictionValue: 'Allowed IPs: {0} / Bound Domain: {1}', + 'Se detectaron {0} configuraciones de riesgo. Refuerce la seguridad de acceso para reducir el riesgo de intrusión.', + loginHealthNormalDesc: 'Las configuraciones de acceso y SSH están en estado normal', + loginHealthNormalReason: 'La seguridad de acceso es normal', + securityEntranceConfiguredDesc: 'Entrada de seguridad configurada para reducir la exposición de la entrada predeterminada', + securityEntranceRiskDesc: 'Entrada de seguridad deshabilitada. Se recomienda ocultar la entrada predeterminada', + allowIPsRestrictedDesc: 'IPs autorizadas restringidas para el acceso al panel', + allowIPsRiskDesc: 'IPs de acceso sin restricciones. Configure IPs autorizadas para entornos públicos', + bindDomainRestrictedDesc: 'Dominio de acceso vinculado', + bindDomainRiskDesc: 'Dominio de acceso no vinculado. Se recomienda restringir a un dominio fijo', + accessRestrictionValue: 'IPs autorizadas: {0} / Dominio vinculado: {1}', accessRestrictionNormalDesc: - 'Allowed IPs or bound domain is configured to restrict Panel access sources', + 'IPs autorizadas o dominio vinculado configurados para restringir el acceso al panel', accessRestrictionRiskDesc: - 'Allowed IPs and bound domain are not configured or access is unrestricted. Configure at least one', - panelHTTPSNormalDesc: 'Panel HTTPS is enabled', - panelHTTPSRiskDesc: 'Panel HTTPS is disabled. Login traffic may be exposed', - passwordComplexityNormalDesc: 'Password complexity verification is enabled', + 'IPs autorizadas y dominio vinculado no configurados o acceso sin restricciones. Configure al menos uno', + panelHTTPSNormalDesc: 'HTTPS del panel habilitado', + panelHTTPSRiskDesc: 'HTTPS del panel deshabilitado. El tráfico de acceso puede estar expuesto', + passwordComplexityNormalDesc: 'Verificación de complejidad de contraseña habilitada', passwordComplexityRiskDesc: - 'Password complexity verification is disabled, increasing weak password risk', - sessionTimeoutNormalDesc: 'Session timeout is within a safer range', - sessionTimeoutRiskDesc: 'Session timeout is long. Limit idle session lifetime', - sshServiceNormalDesc: 'SSH service is running normally', - sshServiceRiskDesc: 'SSH service is not running or is abnormal', - sshPortNormalDesc: 'SSH port is changed from the default port', - sshPortRiskDesc: 'SSH still uses default port 22. Change it when appropriate', - rootLoginNormalDesc: 'Root user cannot log in directly', - rootLoginRiskDesc: 'Root user can log in directly. Disable it', - passwordAuthNormalDesc: 'SSH password login is disabled', - passwordAuthRiskDesc: 'Password login is allowed, increasing brute-force risk', - keyAuthNormalDesc: 'SSH key authentication is enabled', - keyAuthRiskDesc: 'Key authentication is disabled. Use key-based login', - websiteOverview: 'Website Overview', - primaryDomain: 'Primary Domain', - expireTime: 'Expiry Time', - domain: 'Domain', - issuer: 'Issuer', - autoRenew: 'Auto Renew', - websiteCount: 'Websites', - httpsWebsite: 'HTTPS Websites', - certCount: 'Certificates', - websiteExpire: 'Website Expiry', - database: 'Databases', - remoteDatabase: 'Remote Databases', - address: 'Address', - containerResourceUsage: 'Container Resource Usage', - spaceUsage: 'Space Usage', - reclaimable: 'Reclaimable', - containerReclaimable: 'Container Reclaimable', - image: 'Images', - volume: 'Volumes', - buildCache: 'Build Cache', - alert: 'Alert', - alertConfigured: 'Alerts Configured', - alertOperations: 'Alert Notifications', - alertTaskCount: 'Alert Tasks', - enabledAlertTask: 'Enabled Tasks', - disabledAlertTask: 'Disabled Tasks', - alertChannels: 'Notification Channels', - alertLogCount: 'Alert Logs', - alertSuccessRate: 'Alert Success Rate', - alertFailedLogs: 'Failed Alert Logs', - alertPendingLogs: 'Pending Sync Logs', - alertPending: 'Pending Sync', - alertTaskStats: 'Alert Task Statistics', - alertTaskType: 'Alert Type', - alertLogStatusStats: 'Alert Execution Status', + 'Verificación de complejidad de contraseña deshabilitada, aumentando el riesgo de contraseñas débiles', + mfa: 'Autenticación MFA', + mfaNormalDesc: 'Autenticación MFA habilitada, mayor seguridad de acceso', + mfaRiskDesc: 'Autenticación MFA deshabilitada. Se recomienda habilitar la autenticación multifactor', + passwordExpiration: 'Fecha de vencimiento de contraseña', + passwordExpirationNormalDesc: 'La fecha de vencimiento de contraseña está en un rango seguro', + passwordExpirationUnsetDesc: 'Fecha de vencimiento de contraseña no configurada. Se recomienda configurarla pronto', + passwordExpirationRiskDesc: 'La contraseña vence en {0} días. Se recomienda gestionarla con anticipación', + passwordExpirationExpiredDesc: 'La contraseña expiró hace {0} días. Por favor, gestionar lo antes posible', + sessionTimeoutNormalDesc: 'El tiempo de espera de sesión está en un rango seguro', + sessionTimeoutRiskDesc: 'Tiempo de espera de sesión largo. Se recomienda limitar la duración de sesiones inactivas', + sshServiceNormalDesc: 'El servicio SSH está ejecutándose normalmente', + sshServiceRiskDesc: 'El servicio SSH no está ejecutándose o está en estado anormal', + sshPortNormalDesc: 'El puerto SSH se ha cambiado del puerto predeterminado', + sshPortRiskDesc: 'SSH aún usa el puerto predeterminado 22. Se recomienda cambiarlo según sea necesario', + rootLoginNormalDesc: 'El usuario root no puede iniciar sesión directamente', + rootLoginRiskDesc: 'El usuario root puede iniciar sesión directamente. Se recomienda deshabilitarlo', + passwordAuthNormalDesc: 'El inicio de sesión SSH por contraseña está deshabilitado', + passwordAuthRiskDesc: 'El inicio de sesión por contraseña está permitido, aumentando el riesgo de fuerza bruta', + keyAuthNormalDesc: 'La autenticación SSH por clave está habilitada', + keyAuthRiskDesc: 'La autenticación por clave no está habilitada. Se recomienda usar inicio de sesión por clave', + websiteOverview: 'Resumen de sitios web', + primaryDomain: 'Dominio principal', + expireTime: 'Fecha de vencimiento', + domain: 'Dominio', + issuer: 'Entidad emisora', + autoRenew: 'Renovación automática', + websiteCount: 'Sitios web', + httpsWebsite: 'Sitios web HTTPS', + certCount: 'Certificados', + websiteExpire: 'Vencimiento de sitio web', + database: 'Bases de datos', + remoteDatabase: 'Bases de datos remotas', + address: 'Dirección', + containerResourceUsage: 'Uso de recursos de contenedores', + spaceUsage: 'Uso de espacio', + reclaimable: 'Recuperable', + containerReclaimable: 'Contenedores recuperables', + image: 'Imágenes', + volume: 'Volúmenes', + buildCache: 'Caché de compilación', + alert: 'Alerta', + alertConfigured: 'Alertas configuradas', + alertOperations: 'Notificaciones de alerta', + alertTaskCount: 'Tareas de alerta', + enabledAlertTask: 'Tareas habilitadas', + disabledAlertTask: 'Tareas deshabilitadas', + alertChannels: 'Canales de notificación', + alertLogCount: 'Registros de alerta', + alertSuccessRate: 'Tasa de éxito de alertas', + alertFailedLogs: 'Registros de alerta fallidos', + alertPendingLogs: 'Registros pendientes de sincronización', + alertPending: 'Pendiente de sincronización', + alertTaskStats: 'Estadísticas de tareas de alerta', + alertTaskType: 'Tipo de alerta', + alertLogStatusStats: 'Estado de ejecución de alertas', alertHealthNormal: 'Normal', - alertHealthAttention: 'Needs Attention', - alertHealthRisk: 'High Risk', - alertHealthSummary: 'Alert Health', - alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy', - alertNoChannelReason: 'No notification channel is enabled', - alertFailedLogReason: '{0} failed alert logs found', - alertPendingReason: '{0} alert logs are pending sync', - alertDisabledTaskReason: '{0} alert tasks are disabled', - alertNoTaskReason: 'No alert tasks are configured', - goAlertConfig: 'Alert Config', - goAlertLogs: 'Alert Logs', - configureAlertChannel: 'Configure Channels', - createAlertTask: 'Create Alert Task', - viewAlertTasks: 'View Alert Tasks', - viewFailedAlertLogs: 'View Failed Logs', - viewAlertLogs: 'View Alert Logs', - alertChannelSummary: '{0} / {1} channels enabled', - alertTaskEnabledDesc: '{0} tasks enabled', - alertTaskSummary: '{0} enabled, {1} disabled', - alertLogSummary: '{0} successful, {1} failed', - alertPendingDesc: '{0} logs pending sync', - alertLogSuccessDesc: 'Notification completed', - alertLogFailedDesc: 'Check channel configuration or delivery path', - alertLogPendingDesc: 'Offline or sync path pending', - failedAlertLogs: 'Failed Alert Logs', - disabledAlertTasks: 'Disabled Alert Tasks', - alertTableDisplayDesc: 'Showing {0} of {1}', - alertMsg: 'Alert Message', - alertMethod: 'Alert Method', - alertRule: 'Alert Rule', - noAlertTask: 'No alert tasks', - noFailedAlertLog: 'No failed alert logs', - noDisabledAlertTask: 'No disabled alert tasks', - alertCronjobType: 'Cron Job: {0}', - alertAllTargets: 'All Targets', - alertAllDisks: 'All Disks', - alertAllCertificates: 'All Certificates', - alertAllWebsites: 'All Websites', - alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day', - alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day', - alertTimeRuleShort: 'Trigger within {0} days, send {1} times', - alertSendCountRuleShort: 'Send {0} times per day', - alertConfigInvalid: 'Invalid Config', - scoreCategoryAlert: 'Alert Notifications', - scoreAlertNoTask: 'No alert tasks are configured', - scoreAlertNoEnabledTask: 'All alert tasks are disabled', - scoreAlertDisabledTask: '{0} alert tasks are disabled', - scoreAlertNoChannel: 'No alert notification channel is enabled', - scoreAlertFailedHigh: '{0} alert failure logs found', - scoreAlertFailedMedium: '{0} alert failure logs found', - scoreAlertPending: '{0} alert logs are pending sync', - statAlertDesc: '{0} enabled tasks · {1} channels', - assetAlertDesc: '{0} failed logs, {1} pending sync logs', - failedExecutionRecords: 'Failed Execution Records', - taskID: 'Task ID', - executeTime: 'Execution Time', - backupTasks: 'Backup Tasks', - systemMetrics: 'Runtime Metrics', + alertHealthAttention: 'Requiere atención', + alertHealthRisk: 'Riesgo alto', + alertHealthSummary: 'Estado de salud de alertas', + alertHealthNormalReason: 'Tareas de alerta, canales de notificación y registros de ejecución están saludables', + alertNoChannelReason: 'No hay canal de notificación de alerta habilitado', + alertFailedLogReason: '{0} registros de fallos de alerta encontrados', + alertPendingReason: '{0} registros de alerta pendientes de sincronización', + alertDisabledTaskReason: '{0} tareas de alerta deshabilitadas', + alertNoTaskReason: 'No hay tareas de alerta configuradas', + goAlertConfig: 'Configuración de alertas', + goAlertLogs: 'Registros de alerta', + configureAlertChannel: 'Configurar canales de notificación', + createAlertTask: 'Crear tarea de alerta', + viewAlertTasks: 'Ver tareas de alerta', + viewFailedAlertLogs: 'Ver registros fallidos', + viewAlertLogs: 'Ver registros de alerta', + alertChannelSummary: '{0} / {1} canales habilitados', + alertTaskEnabledDesc: '{0} tareas habilitadas', + alertTaskSummary: '{0} habilitadas, {1} deshabilitadas', + alertLogSummary: '{0} exitosos, {1} fallidos', + alertPendingDesc: '{0} registros pendientes de sincronización', + alertLogSuccessDesc: 'Notificación completada', + alertLogFailedDesc: 'Verifique la configuración del canal o la ruta de envío', + alertLogPendingDesc: 'Sin conexión o ruta de sincronización pendiente', + failedAlertLogs: 'Registros de alerta fallidos', + disabledAlertTasks: 'Tareas de alerta deshabilitadas', + alertTableDisplayDesc: 'Mostrando {0} de {1}', + noAlertTask: 'Sin tareas de alerta', + noFailedAlertLog: 'Sin registros de alerta fallidos', + noDisabledAlertTask: 'Sin tareas de alerta deshabilitadas', + alertMsg: 'Mensaje de alerta', + alertMethod: 'Método de alerta', + alertRule: 'Regla de alerta', + alertCronjobType: 'Tarea programada: {0}', + alertAllTargets: 'Todos los objetivos', + alertAllDisks: 'Todos los discos', + alertAllCertificates: 'Todos los certificados', + alertAllWebsites: 'Todos los sitios web', + alertDiskRuleShort: '{0} supera {1}{2}, {3} veces al día', + alertAverageRuleShort: 'Promedio de {0} min supera {1}%, {2} veces al día', + alertTimeRuleShort: 'Disparar en {0} días, enviar {1} veces', + alertSendCountRuleShort: 'Enviar {0} veces al día', + scoreCategoryAlert: 'Notificaciones de alerta', + scoreAlertNoTask: 'No hay tareas de alerta configuradas', + scoreAlertNoEnabledTask: 'Todas las tareas de alerta están deshabilitadas', + scoreAlertDisabledTask: '{0} tareas de alerta deshabilitadas', + scoreAlertNoChannel: 'No hay canal de notificación de alerta habilitado', + scoreAlertFailedHigh: '{0} registros de fallos de alerta encontrados', + scoreAlertFailedMedium: '{0} registros de fallos de alerta encontrados', + scoreAlertPending: '{0} registros de alerta pendientes de sincronización', + statAlertDesc: '{0} tareas habilitadas · {1} canales', + assetAlertDesc: '{0} registros fallidos, {1} registros pendientes de sincronización', + failedExecutionRecords: 'Registros de ejecución fallidos', + taskID: 'ID de tarea', + executeTime: 'Tiempo de ejecución', + backupTasks: 'Tareas de copia de seguridad', + systemMetrics: 'Métricas de ejecución', cpu: 'CPU', thresholdPercent: 'Umbral {0}%', - recent24HourPeakPercent: 'Last 24h peak {0}', - loadAverage: '1 / 5 / 15 minute load: {0} / {1} / {2}', - sourceMount: 'Mount point {0}', - storageUsage: 'Storage Usage', - localDisk: 'Local Disk', - highUsagePeriods: 'High Usage Periods', - timeRange: 'Time Range', + recent24HourPeakPercent: 'Pico en las últimas 24 h: {0}', + loadAverage: 'Carga 1 / 5 / 15 minutos: {0} / {1} / {2}', + sourceMount: 'Punto de montaje {0}', + storageUsage: 'Uso de almacenamiento', + localDisk: 'Disco local', + highUsagePeriods: 'Períodos de alto uso', + timeRange: 'Rango de tiempo', threshold: 'Umbral', - duration: 'Duration', - peak: 'Peak', - scoring: 'Scoring', - counted: 'Counted', - notCounted: 'Not Counted', - dataSource: 'Data Source', - noHighUsagePeriod: 'No high usage periods', - monitorDisabledOrNoData: 'Host monitoring is disabled or no monitor data is available', - systemHealthStatus: 'Last 24h Host Runtime Risk', - mainReasons: 'Main Reasons', - viewHostMonitor: 'View Host Monitor', + duration: 'Duración', + peak: 'Pico', + scoring: 'Puntuación', + counted: 'Contabilizado', + notCounted: 'No contabilizado', + dataSource: 'Fuente de datos', + noHighUsagePeriod: 'Sin períodos de alto uso', + monitorDisabledOrNoData: 'El monitoreo del host está deshabilitado o no hay datos disponibles', + systemHealthStatus: 'Estado de riesgo de ejecución del host en las últimas 24 h', + mainReasons: 'Causas principales', + viewHostMonitor: 'Ver monitoreo del host', systemHealthAttentionDesc: - '{0} risk items detected in the last 24 hours. Prioritize resource peaks and disk usage.', - systemHealthNormalDesc: 'Host runtime metrics were normal in the last 24 hours', - monitorEnabled: 'Monitoring Enabled', - cpuCoreUsage: '{0} / {1} cores', - load1Minute: '1-min load', - diskSpaceUsage: 'Disk Space Usage', - usedCapacity: 'Used / Total', - fileSystem: 'File System', - resourceTrendSummary: 'Resource Trend Summary', - last24Hours: 'Last 24 Hours', - granularityHour: 'Granularity: 1 hour', - current: 'Current', - average: 'Average', - totalItems: '{0} items', - to: 'to', + '{0} elementos de riesgo detectados en las últimas 24 horas. Priorice los picos de recursos y el uso de disco.', + systemHealthNormalDesc: 'Las métricas de ejecución del host estuvieron normales en las últimas 24 horas', + monitorEnabled: 'Monitoreo habilitado', + cpuCoreUsage: '{0} / {1} núcleos', + load1Minute: 'Carga 1 min', + diskSpaceUsage: 'Uso de espacio en disco', + usedCapacity: 'Usado / Total', + fileSystem: 'Sistema de archivos', + resourceTrendSummary: 'Resumen de tendencia de recursos', + last24Hours: 'Últimas 24 horas', + granularityHour: 'Granularidad: 1 hora', + current: 'Actual', + average: 'Promedio', + totalItems: '{0} elementos', + to: 'a', hoursShort: '{0} h', minutesShort: '{0} min', - websiteStatus: 'Website Status', - websiteHealthStatus: 'Website Protection Health', - websiteHealthNormalReason: 'Websites, certificates, WAF, and website monitoring are healthy', + websiteStatus: 'Estado de sitios web', + websiteHealthStatus: 'Estado de salud de protección web', + websiteHealthNormalReason: 'Sitios web, certificados, WAF y monitoreo web están saludables', websiteHealthAttentionDesc: - '{0} risk items detected. Handle them soon to protect website security and availability.', - websiteHealthNormalDesc: 'Current website protection metrics are normal', - handleSslRisk: 'Handle Certificate Risks', - viewWaf: 'View WAF', - priority: 'Priority', - riskDescription: 'Risk Description', - deductScore: 'Deducted Score', - remaining: 'Remaining', - wafSourceIpTop: 'WAF Source IP TOP5', - wafAffectedSiteTop: 'Affected Sites TOP5', - sslRisk: 'Certificate Risks', - sslExpiring: 'Expiring Certificates', - includedInReport: 'Included in report', - needRenewal: 'Renewal recommended', - fromExpireInfo: 'From expiry information', - runningWebsite: 'Running Websites', - fromWebsiteStatus: 'From website list status', - stoppedWebsite: 'Stopped Websites', - confirmStoppedWebsite: 'Confirm whether this is expected', - expiringWebsite: 'Expiring Websites', - expiringSoon: 'Expiring Soon', - none: 'None', - noSslRisk: 'No certificates need handling', - websiteProtection: 'WAF and Website Monitoring', - websiteMonitor: 'Website Monitoring', + '{0} elementos de riesgo detectados. Gestiónelos pronto para proteger la seguridad y disponibilidad del sitio web.', + websiteHealthNormalDesc: 'Las métricas de protección web actuales están normales', + handleSslRisk: 'Gestionar riesgos de certificados', + viewWaf: 'Ver WAF', + priority: 'Prioridad', + riskDescription: 'Descripción del riesgo', + deductScore: 'Puntuación deducida', + remaining: 'Restante', + wafSourceIpTop: 'IPs fuente WAF TOP5', + wafAffectedSiteTop: 'Sitios afectados TOP5', + sslRisk: 'Riesgos de certificados', + sslExpiring: 'Certificados por vencer', + includedInReport: 'Incluido en el informe', + needRenewal: 'Renovación recomendada', + fromExpireInfo: 'Desde información de vencimiento', + runningWebsite: 'Sitios web en ejecución', + fromWebsiteStatus: 'Desde la lista de sitios web', + stoppedWebsite: 'Sitios web detenidos', + confirmStoppedWebsite: 'Confirme si esto es lo esperado', + expiringWebsite: 'Sitios web por vencer', + expiringSoon: 'Vencimiento próximo', + none: 'Ninguno', + noSslRisk: 'No hay certificados que gestionar', + websiteProtection: 'WAF y monitoreo web', + websiteMonitor: 'Monitoreo web', waf: 'WAF', - siteAvailability: 'Site Availability', - monitoredSites: 'Monitored Sites', - requestCount: 'Requests', - abnormalSites: 'Abnormal Sites', - count5xxSource: 'Counted by 5xx requests', - wafIntercept: 'WAF Blocks', - highRiskHit: 'High-risk Hits', - websiteMonitorDisabledOrNoData: 'Website monitoring is disabled or no monitor data is available', - wafDisabledOrNoData: 'WAF is disabled or no block data is available', - noWafData: 'No WAF block data', - sourceIP: 'Source IP', - hitCount: 'Hits', - level: 'Level', - attackType: 'Attack Type', - requestRatio: 'Request Ratio', - installed: 'Installed', - normalRunning: 'Running Normally', - failedStart: 'Startup Failed', - manualStopped: 'Manually Stopped', - failed: 'Failed', - success: 'Success', - canUpdate: 'Upgradable', + siteAvailability: 'Disponibilidad del sitio', + monitoredSites: 'Sitios monitoreados', + requestCount: 'Solicitudes', + abnormalSites: 'Sitios anómalos', + count5xxSource: 'Contabilizado por solicitudes 5xx', + wafIntercept: 'Bloqueos WAF', + highRiskHit: 'Detecciones de alto riesgo', + websiteMonitorDisabledOrNoData: 'El monitoreo web está deshabilitado o no hay datos disponibles', + wafDisabledOrNoData: 'WAF deshabilitado o sin datos de bloqueos', + noWafData: 'Sin datos de bloqueos WAF', + sourceIP: 'IP de origen', + hitCount: 'Detecciones', + level: 'Nivel', + attackType: 'Tipo de ataque', + requestRatio: 'Proporción de solicitudes', + installed: 'Instalado', + normalRunning: 'Ejecución normal', + failedStart: 'Fallo al iniciar', + manualStopped: 'Detenido manualmente', + failed: 'Fallido', + success: 'Exitoso', + canUpdate: 'Actualizable', listSeparator: ', ', - containerCount: 'Containers', - stopped: 'Stopped', - abnormal: 'Abnormal', - abnormalContainers: 'Abnormal Containers', - resourceUsage: 'Resource Usage', - exposedContainerPorts: 'Exposed Ports', - portMapping: 'Port Mapping', - risk: 'Risk', - noAbnormalContainer: 'No abnormal containers', - noExposedContainer: 'No exposed ports detected', - publicExpose: 'Public Exposure', - privateExpose: 'Private Mapping', + containerCount: 'Contenedores', + stopped: 'Detenido', + abnormal: 'Anómalo', + abnormalContainers: 'Contenedores anómalos', + resourceUsage: 'Uso de recursos', + exposedContainerPorts: 'Puertos expuestos', + portMapping: 'Mapeo de puertos', + risk: 'Riesgo', + noAbnormalContainer: 'Sin contenedores anómalos', + noExposedContainer: 'No se detectaron puertos expuestos', + publicExpose: 'Exposición pública', + privateExpose: 'Mapeo privado', resourceHealth: 'Estado de recursos en ejecución', checkTime: 'Hora de comprobación', resourceHealthNormalDesc: 'Las aplicaciones, bases de datos y contenedores están saludables', @@ -4449,23 +4456,23 @@ const message = { stoppedContainerSpace: 'Espacio de contenedores detenidos', unusedVolumeSpace: 'Espacio de volúmenes sin usar', buildCacheSpace: 'Caché de compilación de Docker', - executionRecords: 'Execution Records', - successRate: 'Success Rate', - failedJobs: 'Failed Jobs', - recentRecoveryPoint: 'Latest Recovery Point', - remoteCoverage: 'Remote Coverage', - recent7Days: 'Last 7 days', - taskTypeStats: 'Task Type Statistics', + executionRecords: 'Registros de ejecución', + successRate: 'Tasa de éxito', + failedJobs: 'Tareas fallidas', + recentRecoveryPoint: 'Último punto de recuperación', + remoteCoverage: 'Cobertura remota', + recent7Days: 'Últimos 7 días', + taskTypeStats: 'Estadísticas por tipo de tarea', total: 'Total', - taskTypeDesc: '{0} enabled, {1} disabled', - failedOrAttentionTasks: 'Failed or Attention Tasks', - execution: 'Execution', - latestExecution: 'Latest Execution', - remoteBackup: 'Remote Backup', - localOnly: 'Local Only', - covered: 'Covered', - noAttentionCronjob: 'No failed or attention cron jobs', - cronjobHealth: 'Estado de tareas programadas', + taskTypeDesc: '{0} habilitadas, {1} deshabilitadas', + failedOrAttentionTasks: 'Tareas fallidas o de atención', + execution: 'Ejecución', + latestExecution: 'Última ejecución', + remoteBackup: 'Copia de seguridad remota', + localOnly: 'Solo local', + covered: 'Cubierto', + noAttentionCronjob: 'Sin tareas programadas fallidas o de atención', + cronjobHealth: 'Estado de salud de tareas programadas', cronjobHealthNormalDesc: 'La ejecución de tareas y la cobertura de copias están saludables', cronjobHealthAttentionDesc: 'Se detectaron {0} elementos de riesgo. Prioriza tareas deshabilitadas y cobertura de copias.', @@ -4478,68 +4485,69 @@ const message = { viewFailedRecords: 'Ver tareas fallidas', viewCronjobTasks: 'Ver tareas programadas', checkBackupTasks: 'Comprobar tareas de copia', - generationRule: 'Generation Rules', - scheduleDaily: 'Daily', - scheduleDailyDesc: 'Generate a report for the last 24 hours at 09:00 every day', - scheduleWeekly: 'Weekly', - scheduleWeeklyDesc: 'Generate a report for the last 7 days at 09:00 every Monday', - scheduleMonthly: 'Monthly', - scheduleMonthlyDesc: 'Generate a report for the previous month at 09:00 on the 1st', - scheduleCurrentDaily: 'Every day at 09:00, generate the last 24 hours report · Next {0}', - scheduleCurrentWeekly: 'Every Monday at 09:00, generate the last 7 days report · Next {0}', - scheduleCurrentMonthly: 'On the 1st at 09:00, generate the previous month report · Next {0}', - notificationMethod: 'Notification Methods', - channel: 'Channel', - receiver: 'Receiver', + generationRule: 'Regla de generación', + scheduleDaily: 'Diario', + scheduleDailyDesc: 'Generar un informe de las últimas 24 horas a las 09:00 cada día', + scheduleWeekly: 'Semanal', + scheduleWeeklyDesc: 'Generar un informe de los últimos 7 días a las 09:00 cada lunes', + scheduleMonthly: 'Mensual', + scheduleMonthlyDesc: 'Generar un informe del mes anterior a las 09:00 el día 1', + scheduleCurrentDaily: 'Cada día a las 09:00, generar informe de las últimas 24 horas · Próximo {0}', + scheduleCurrentWeekly: 'Cada lunes a las 09:00, generar informe de los últimos 7 días · Próximo {0}', + scheduleCurrentMonthly: 'El día 1 a las 09:00, generar informe del mes anterior · Próximo {0}', + notificationMethod: 'Métodos de notificación', + channel: 'Canal', + receiver: 'Destinatario', systemThreshold: 'Umbral del sistema', - metric: 'Metric', - currentRule: 'Current Rule', - hostMonitor: 'Host Monitor', - monitorInterval: 'Monitor Interval', - exportSettings: 'Export Settings', - lastExportReport: 'Recent Generated Result', - noLastExportReport: 'No exported report records', - lastExportStatus: 'Last Export Status', - exportFile: 'Export File', - generateTime: 'Generated At', - fileSize: 'File Size', - viewExportHistory: 'View Export History', - defaultFormat: 'Default Format', - savePath: 'Save Directory', - savePathRequired: 'Set the report save directory', - autoExport: 'Enable Auto Export', - autoExportDesc: 'Generate an Ops Report automatically every day at 09:00 when enabled', - autoExportEnabled: 'Auto export enabled', - autoExportDisabled: 'Auto export disabled', + metric: 'Métrica', + currentRule: 'Regla actual', + hostMonitor: 'Monitoreo del host', + monitorInterval: 'Intervalo de monitoreo', + exportSettings: 'Configuración de exportación', + lastExportReport: 'Último resultado generado', + noLastExportReport: 'Sin registros de informes exportados', + lastExportStatus: 'Estado de última exportación', + exportFile: 'Archivo exportado', + generateTime: 'Fecha de generación', + fileSize: 'Tamaño del archivo', + viewExportHistory: 'Ver historial de exportación', + defaultFormat: 'Formato predeterminado', + savePath: 'Directorio de guardado', + savePathRequired: 'Configure el directorio de guardado del informe', + autoExport: 'Habilitar exportación automática', + autoExportDesc: 'Generar automáticamente un informe de operaciones cada día a las 09:00 cuando esté habilitado', + autoExportEnabled: 'Exportación automática habilitada', + autoExportDisabled: 'Exportación automática deshabilitada', readOnlyPermissionTip: - 'The current account can only view Ops Report settings. Contact an administrator to make changes.', - refreshing: 'Refreshing', - exporting: 'Exporting', - exportFailed: 'Failed to export report', - generating: 'Generating', - saved: 'Saved', - saveFailed: 'Failed to save settings', - generateNow: 'Generate Now', - generateSuccess: 'Report file generated: {0}', - generateFailed: 'Failed to generate report', - enabledStatus: 'Enabled', - disabledStatus: 'Disabled', - thresholdRule: 'Threshold {0}, trigger after {1} consecutive times', - hours: '{0} hours', - minutes: '{0} minutes', - seconds: '{0} seconds', - totalExports: 'Total Exports', - successExports: 'Successful Exports', - failedExports: 'Failed Exports', - reportName: 'Report Name', - exportFormat: 'Export Format', - operator: 'Operator', - triggerType: 'Trigger', - filePath: 'File Path', + 'La cuenta actual solo puede ver la configuración del informe de operaciones. Contacte al administrador para realizar cambios.', + refreshing: 'Actualizando', + exporting: 'Exportando', + exportFailed: 'Error al exportar el informe', + generating: 'Generando', + saved: 'Guardado', + saveFailed: 'Error al guardar la configuración', + generateNow: 'Generar ahora', + generateSuccess: 'Archivo de informe generado: {0}', + generateFailed: 'Error al generar el informe', + enabledStatus: 'Habilitado', + disabledStatus: 'Deshabilitado', + alertConfigInvalid: 'Configuración inválida', + thresholdRule: 'Umbral {0}, disparar después de {1} veces consecutivas', + hours: '{0} horas', + minutes: '{0} minutos', + seconds: '{0} segundos', + totalExports: 'Total de exportaciones', + successExports: 'Exportaciones exitosas', + failedExports: 'Exportaciones fallidas', + reportName: 'Nombre del informe', + exportFormat: 'Formato de exportación', + operator: 'Operador', + triggerType: 'Disparador', + filePath: 'Ruta del archivo', manualExport: 'Manual', - scheduledExport: 'Scheduled', - exportResult: 'Export Result', - exportDetail: 'Export Detail', + scheduledExport: 'Programado', + exportResult: 'Resultado de exportación', + exportDetail: 'Detalle de exportación', }, }, user: { diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index 1e7439dc3be7..a7340299df9d 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -4017,393 +4017,401 @@ const message = { website: 'Web サイト保護', resource: '実行リソース', cronjob: 'スケジュールタスク', - alert: 'Alert Notifications', + alert: 'アラート通知', history: 'エクスポート履歴', setting: '設定', page: { - enterprise: 'Enterprise', - reportNode: 'Report Node', - selectReportNode: 'Select report node', - currentNode: 'Current', - scoreMeta: '{0} points deducted · {1} risks', - hostAddress: 'Host Address', - panelVersion: 'Panel Version', - cpuCores: 'Physical Cores', - coreUnit: '{0} cores', - memoryTotal: 'Memory Total', - reportDate: 'Report Date', - serverSecurityOverview: 'Server Security Operations Overview', - securityScore: 'Security Score', + enterprise: 'エンタープライズ', + reportNode: 'レポートノード', + selectReportNode: 'レポートノードを選択', + currentNode: '現在のノード', + scoreMeta: '{0} 点減点 · リスク {1} 件', + hostAddress: 'ホストアドレス', + panelVersion: 'パネルバージョン', + cpuCores: '物理コア', + coreUnit: '{0} コア', + memoryTotal: 'メモリ合計', + reportDate: 'レポート日', + serverSecurityOverview: 'サーバーセキュリティ運用概要', + securityScore: 'セキュリティスコア', overviewSummary: - 'Current security level: {0}. {1} points deducted, {2} risk items found, {3} objects checked.', - riskDistribution: 'Risk Distribution', - totalDeducted: 'Total deducted', - noRiskDeducted: 'No deductions', - scoreTrend: 'Score Trend', - scoreLevelSafe: 'Safe', - scoreLevelAttention: 'Needs Attention', - scoreLevelMediumRisk: 'Medium Risk', - scoreLevelHighRisk: 'High Risk', - scoreCategoryHost: 'Host Resources', - scoreCategoryLogin: 'Login Security', - scoreCategoryWebsite: 'Websites & Certificates', - scoreCategoryCronjob: 'Cron Jobs', - scoreCategoryResource: 'Runtime Resources', - scoreDiskHigh: 'Disk {0} usage is {1}%', - scoreDiskMedium: 'Disk {0} usage is {1}%', - scoreResourceHigh: '{0} current usage is {1}%', - scoreResourceMedium: '{0} current usage is {1}%', - scoreLoadMedium: 'Current load is {0}', - scoreMonitorDisabled: 'Host monitoring is disabled', - scorePanelLoginFailedHigh: 'Panel login failed {0} times', - scorePanelLoginFailedMedium: 'Panel login failed {0} times', - scoreSSHLoginFailedHigh: 'SSH login failed {0} times', - scoreSSHLoginFailedMedium: 'SSH login failed {0} times', - scoreMFADisabled: 'MFA is disabled', - scoreAllowIPsOpen: 'Allowed IPs and bound domain are not configured or access is unrestricted', - scorePasswordExpired: 'Panel password has expired', - scorePasswordExpiring: 'Panel password expires in {0} days', - scorePanelHTTPSDisabled: 'Panel HTTPS is disabled', - scoreSSHRootLogin: 'SSH root login is allowed', - scoreSSHPasswordAuth: 'SSH password auth is enabled without key auth', - scoreSSLHigh: '{0} certificate expires in {1} days', - scoreSSLMedium: '{0} certificate expires in {1} days', - scoreWebsiteExpire: '{0} website expires in {1} days', - scoreWebsiteHTTP: '{0} does not use HTTPS', - scoreWebsiteStopped: '{0} status is abnormal', - scoreWebsiteMonitorUnavailable: 'Website monitoring detected an unavailable site', - scoreWebsiteMonitorAvailability: 'Website monitoring availability {0}% is below the threshold', - scoreWafDisabled: 'WAF is disabled and websites are not protected', - scoreWafHighRiskHit: 'WAF matched {0} risk rules in the reporting period', - scoreCronjobFailed: '{0} cron job failure records in the last 7 days', - scoreAppFailed: '{0} app is abnormal', - scoreAppStopped: '{0} app has stopped', - scoreContainerHigh: '{0} container status is abnormal', - scoreContainerExited: '{0} container has stopped', - scoreContainerResource: '{0} container resource usage is high', - attentionItems: 'Attention Items', - attentionAssets: 'Attention Assets', - riskItems: 'Risk Items', - object: 'Object', - description: 'Description', - itemUnit: 'items', - recordUnit: 'records', - certUnit: 'certs', - containerUnit: 'containers', - loginFailed: 'Failed Logins', - sslExpire: 'Certificate Expiry', - abnormalContainer: 'Abnormal Containers', - statAttentionDesc: '{0} points deducted', - statLoginDesc: 'Panel {0} · SSH {1}', - statSslDesc: '{0} certificates checked', - statContainerDesc: '{0} containers checked', - assetHostDesc: 'Max disk usage {0}%', - assetWebsiteDesc: '{0} certificates expiring soon, {1} abnormal websites', - assetResourceDesc: '{0} abnormal apps, {1} stopped apps, {2} abnormal containers', - assetCronjobDesc: '{0} failure records in the last 7 days, {1} disabled jobs', - app: 'Apps', - website: 'Websites', - websiteSsl: 'Websites / Certificates', - cronjob: 'Cron Jobs', - container: 'Containers', - sslCertificate: 'SSL Certificates', - loginSecurity: 'Login Security', - panelLogin: 'Panel Login', - sshLogin: 'SSH Login', - failedRecord: 'Failed Records', - expiredDays: 'Expired {0} days ago', - remainingDays: '{0} · {1} days left', - enabled: 'Enabled', - disabled: 'Disabled', - exportRecordFailed: 'Failed to save export record', - hostInfo: 'Host Info', - hostname: 'Hostname', - osVersion: 'OS Version', - kernelVersion: 'Kernel Version', - arch: 'Architecture', - uptime: 'Uptime', - diskUsage: 'Disk Usage', - mountPoint: 'Mount Point', - device: 'Device', - capacity: 'Capacity', - used: 'Used', - usageRate: 'Usage', - memory: 'Memory', - load: 'Load', - maxDiskUsage: 'Max Disk Usage', - panelLoginSecurity: 'Panel Login Security', - sshSecurity: 'Linux Server SSH Security', - panelFailedRecords: 'Panel Failed Login Records', - sshFailedRecords: 'SSH Failed Login Records', - location: 'Location', - configItem: 'Config Item', - currentValue: 'Current Value', - securityEntrance: 'Security Entrance', - configured: 'Configured', - notConfigured: 'Not Configured', - normal: 'Normal', - needAttention: 'Needs Attention', - allowIPs: 'Allowed IPs', - restricted: 'Restricted', - unrestricted: 'Unrestricted', - bindDomain: 'Bound Domain', - accessRestriction: 'Access Restriction', - panelHTTPS: 'Panel HTTPS', - passwordComplexity: 'Password Complexity', - sshService: 'SSH Service', - running: 'Running', - notRunning: 'Not Running', - listenPort: 'Listen Port', - read: 'Read', - rootLogin: 'Root Login', - passwordAuth: 'Password Auth', - keyAuth: 'Key Auth', - panelLoginFailed: 'Panel Failed Logins', - sshLoginFailed: 'SSH Failed Logins', - panelSecurityItems: 'Panel Security Items', - sshSecurityItems: 'SSH Security Items', - loginSecurityHealthStatus: 'Login Security Health', - adjustSSHSecurity: 'Adjust SSH Security', - viewLoginLogs: 'View Login Logs', - riskLevel: 'Risk Level', - goConfig: 'Configure', - viewMore: 'View More', - involvedIPs: '{0} IPs involved', - sessionTimeout: 'Session Timeout', - countUnit: 'times', - recent24Hours: 'Last 24 hours', + '現在のセキュリティレベルは {0}、合計 {1} 点減点、{2} 件のリスク項目を検出、{3} 件の検査対象をカバーしています。', + riskDistribution: 'リスク分布', + totalDeducted: '合計減点', + noRiskDeducted: '減点なし', + scoreTrend: 'スコア推移', + scoreLevelSafe: '安全', + scoreLevelAttention: '要注意', + scoreLevelMediumRisk: '中リスク', + scoreLevelHighRisk: '高リスク', + scoreCategoryHost: 'ホストリソース', + scoreCategoryLogin: 'ログインセキュリティ', + scoreCategoryWebsite: 'Webサイト・証明書', + scoreCategoryCronjob: 'スケジュールタスク', + scoreCategoryResource: '実行リソース', + scoreDiskHigh: 'ディスク {0} 使用率 {1}%', + scoreDiskMedium: 'ディスク {0} 使用率 {1}%', + scoreResourceHigh: '{0} 現在の使用率 {1}%', + scoreResourceMedium: '{0} 現在の使用率 {1}%', + scoreLoadMedium: '現在の負荷 {0}', + scoreMonitorDisabled: 'ホスト監視が無効です', + scorePanelLoginFailedHigh: 'パネルログイン失敗 {0} 回', + scorePanelLoginFailedMedium: 'パネルログイン失敗 {0} 回', + scoreSSHLoginFailedHigh: 'SSHログイン失敗 {0} 回', + scoreSSHLoginFailedMedium: 'SSHログイン失敗 {0} 回', + scoreMFADisabled: 'MFA が無効です', + scoreAllowIPsOpen: '許可IPとバインドドメインが未設定またはアクセス制限がありません', + scorePasswordExpired: 'パネルパスワードの有効期限が切れています', + scorePasswordExpiring: 'パネルパスワードの残り {0} 日', + scorePanelHTTPSDisabled: 'パネルHTTPSが無効です', + scoreSSHRootLogin: 'SSH Rootログインが許可されています', + scoreSSHPasswordAuth: 'SSHパスワード認証が有効で、鍵認証が無効です', + scoreSSLHigh: '{0} 証明書残り {1} 日', + scoreSSLMedium: '{0} 証明書残り {1} 日', + scoreWebsiteExpire: '{0} Webサイト残り {1} 日で期限切れ', + scoreWebsiteHTTP: '{0} HTTPSが有効ではありません', + scoreWebsiteStopped: '{0} 状態が異常です', + scoreWebsiteMonitorUnavailable: 'Webサイト監視で利用不可のサイトを検出', + scoreWebsiteMonitorAvailability: 'Webサイト監視可用率 {0}% がしきい値を下回っています', + scoreWafDisabled: 'WAFが無効で、Webサイトが保護されていません', + scoreWafHighRiskHit: 'WAFが集計期間内に {0} 件のリスクルールに該当', + scoreCronjobFailed: '過去7日間に {0} 件のスケジュールタスク失敗記録', + scoreAppFailed: '{0} アプリが異常です', + scoreAppStopped: '{0} アプリが停止しています', + scoreContainerHigh: '{0} コンテナの状態が異常です', + scoreContainerExited: '{0} コンテナが停止しています', + scoreContainerResource: '{0} コンテナのリソース使用率が高いです', + attentionItems: '要注意項目', + attentionAssets: '要注意アセット', + riskItems: 'リスク項目', + object: '対象', + description: '説明', + itemUnit: '件', + recordUnit: '件', + certUnit: '枚', + containerUnit: '個', + loginFailed: 'ログイン失敗', + sslExpire: '証明書期限切れ', + abnormalContainer: '異常コンテナ', + statAttentionDesc: '現在合計 {0} 点減点', + statLoginDesc: 'パネル {0} 件 · SSH {1} 件', + statSslDesc: '証明書 {0} 枚を検査', + statContainerDesc: 'コンテナ {0} 個を検査', + assetHostDesc: 'ディスク最大使用率 {0}%', + assetWebsiteDesc: '{0} 枚の証明書が期限間近、{1} 個のWebサイトの状態が異常', + assetResourceDesc: '{0} 個のアプリが異常、{1} 個のアプリが停止、{2} 個のコンテナが異常', + assetCronjobDesc: '過去7日間に {0} 件の失敗記録、{1} 個のタスクが無効', + app: 'アプリ', + website: 'Webサイト', + websiteSsl: 'Webサイト / 証明書', + cronjob: 'スケジュールタスク', + container: 'コンテナ', + sslCertificate: 'SSL証明書', + loginSecurity: 'ログインセキュリティ', + panelLogin: 'パネルログイン', + sshLogin: 'SSHログイン', + failedRecord: '失敗記録', + expiredDays: '{0} 日前に期限切れ', + remainingDays: '{0} · 残り {1} 日', + enabled: '有効', + disabled: '無効', + exportRecordFailed: 'エクスポート記録の保存に失敗しました', + hostInfo: 'ホスト情報', + hostname: 'ホスト名', + osVersion: 'OSバージョン', + kernelVersion: 'カーネルバージョン', + arch: 'アーキテクチャ', + uptime: '稼働時間', + diskUsage: 'ディスク使用状況', + mountPoint: 'マウントポイント', + device: 'デバイス', + capacity: '容量', + used: '使用済み', + usageRate: '使用率', + memory: 'メモリ', + load: '負荷', + maxDiskUsage: 'ディスク最大使用率', + panelLoginSecurity: 'パネルログインセキュリティ設定', + sshSecurity: 'Linuxサーバー SSHセキュリティ設定', + panelFailedRecords: 'パネルログイン失敗記録', + sshFailedRecords: 'SSHログイン失敗記録', + location: '所在地', + configItem: '設定項目', + currentValue: '現在値', + securityEntrance: 'セキュリティエントランス', + configured: '設定済み', + notConfigured: '未設定', + normal: '正常', + needAttention: '要注意', + allowIPs: '許可IP', + restricted: '制限済み', + unrestricted: '未制限', + bindDomain: 'バインドドメイン', + accessRestriction: 'アクセス制限', + panelHTTPS: 'パネルHTTPS', + passwordComplexity: 'パスワード複雑性', + sshService: 'SSHサービス', + running: '稼働中', + notRunning: '未稼働', + listenPort: 'リッスンポート', + read: '読み取り済み', + rootLogin: 'Rootログイン', + passwordAuth: 'パスワード認証', + keyAuth: '鍵認証', + panelLoginFailed: 'パネルログイン失敗', + sshLoginFailed: 'SSHログイン失敗', + panelSecurityItems: 'パネルセキュリティ項目', + sshSecurityItems: 'SSHセキュリティ項目', + loginSecurityHealthStatus: 'ログインセキュリティ健全性', + adjustSSHSecurity: 'SSHセキュリティを調整', + viewLoginLogs: 'ログインログを表示', + riskLevel: 'リスクレベル', + goConfig: '設定する', + viewMore: '詳細を表示', + involvedIPs: '{0} 個のIPが関連', + sessionTimeout: 'セッションタイムアウト', + countUnit: '回', + recent24Hours: '過去24時間', currentService: '現在のサービス', - riskItemsExist: '{0} risk items', + riskItemsExist: '{0} 件のリスク項目', loginHealthRiskDesc: - '{0} risky configurations detected. Harden login security to reduce intrusion risk.', - loginHealthNormalDesc: 'Current login and SSH security configurations are normal', - loginHealthNormalReason: 'Login security is normal', - securityEntranceConfiguredDesc: 'Security entrance is configured to reduce default entry exposure', - securityEntranceRiskDesc: 'Security entrance is disabled. Hide the default login entry', - allowIPsRestrictedDesc: 'Allowed IPs are restricted for Panel access', - allowIPsRiskDesc: 'Access IPs are unrestricted. Configure allowed IPs for public environments', - bindDomainRestrictedDesc: 'Access domain is bound', - bindDomainRiskDesc: 'Access domain is not bound. Restrict access to a fixed domain', - accessRestrictionValue: 'Allowed IPs: {0} / Bound Domain: {1}', + '{0} 件のリスク設定を検出しました。ログインセキュリティを強化して侵入リスクを低減してください。', + loginHealthNormalDesc: '現在のログインとSSHセキュリティ設定は正常です', + loginHealthNormalReason: 'ログインセキュリティは正常です', + securityEntranceConfiguredDesc: 'セキュリティエントランスが設定済みで、デフォルト入口の露出リスクを低減しています', + securityEntranceRiskDesc: 'セキュリティエントランスが無効です。デフォルトのログイン入口を隠すことをお勧めします', + allowIPsRestrictedDesc: 'パネルアクセス許可IPが制限されています', + allowIPsRiskDesc: 'アクセスIPが制限されていません。公開環境では許可IPの設定をお勧めします', + bindDomainRestrictedDesc: 'アクセスドメインがバインドされています', + bindDomainRiskDesc: 'アクセスドメインがバインドされていません。固定ドメインへのアクセス制限をお勧めします', + accessRestrictionValue: '許可IP: {0} / バインドドメイン: {1}', accessRestrictionNormalDesc: - 'Allowed IPs or bound domain is configured to restrict Panel access sources', + '許可IPまたはバインドドメインが設定済みで、パネルアクセス元が制限されています', accessRestrictionRiskDesc: - 'Allowed IPs and bound domain are not configured or access is unrestricted. Configure at least one', - panelHTTPSNormalDesc: 'Panel HTTPS is enabled', - panelHTTPSRiskDesc: 'Panel HTTPS is disabled. Login traffic may be exposed', - passwordComplexityNormalDesc: 'Password complexity verification is enabled', + '許可IPとバインドドメインが未設定またはアクセスが制限されていません。少なくとも1つ設定してください', + panelHTTPSNormalDesc: 'パネルHTTPSが有効です', + panelHTTPSRiskDesc: 'パネルHTTPSが無効です。ログイン通信が平文で露出するリスクがあります', + passwordComplexityNormalDesc: 'パスワード複雑性検証が有効です', passwordComplexityRiskDesc: - 'Password complexity verification is disabled, increasing weak password risk', - sessionTimeoutNormalDesc: 'Session timeout is within a safer range', - sessionTimeoutRiskDesc: 'Session timeout is long. Limit idle session lifetime', - sshServiceNormalDesc: 'SSH service is running normally', - sshServiceRiskDesc: 'SSH service is not running or is abnormal', - sshPortNormalDesc: 'SSH port is changed from the default port', - sshPortRiskDesc: 'SSH still uses default port 22. Change it when appropriate', - rootLoginNormalDesc: 'Root user cannot log in directly', - rootLoginRiskDesc: 'Root user can log in directly. Disable it', - passwordAuthNormalDesc: 'SSH password login is disabled', - passwordAuthRiskDesc: 'Password login is allowed, increasing brute-force risk', - keyAuthNormalDesc: 'SSH key authentication is enabled', - keyAuthRiskDesc: 'Key authentication is disabled. Use key-based login', - websiteOverview: 'Website Overview', - primaryDomain: 'Primary Domain', - expireTime: 'Expiry Time', - domain: 'Domain', - issuer: 'Issuer', - autoRenew: 'Auto Renew', - websiteCount: 'Websites', - httpsWebsite: 'HTTPS Websites', - certCount: 'Certificates', - websiteExpire: 'Website Expiry', - database: 'Databases', - remoteDatabase: 'Remote Databases', - address: 'Address', - containerResourceUsage: 'Container Resource Usage', - spaceUsage: 'Space Usage', - reclaimable: 'Reclaimable', - containerReclaimable: 'Container Reclaimable', - image: 'Images', - volume: 'Volumes', - buildCache: 'Build Cache', - alert: 'Alert', - alertConfigured: 'Alerts Configured', - alertOperations: 'Alert Notifications', - alertTaskCount: 'Alert Tasks', - enabledAlertTask: 'Enabled Tasks', - disabledAlertTask: 'Disabled Tasks', - alertChannels: 'Notification Channels', - alertLogCount: 'Alert Logs', - alertSuccessRate: 'Alert Success Rate', - alertFailedLogs: 'Failed Alert Logs', - alertPendingLogs: 'Pending Sync Logs', - alertPending: 'Pending Sync', - alertTaskStats: 'Alert Task Statistics', - alertTaskType: 'Alert Type', - alertLogStatusStats: 'Alert Execution Status', - alertHealthNormal: 'Normal', - alertHealthAttention: 'Needs Attention', - alertHealthRisk: 'High Risk', - alertHealthSummary: 'Alert Health', - alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy', - alertNoChannelReason: 'No notification channel is enabled', - alertFailedLogReason: '{0} failed alert logs found', - alertPendingReason: '{0} alert logs are pending sync', - alertDisabledTaskReason: '{0} alert tasks are disabled', - alertNoTaskReason: 'No alert tasks are configured', - goAlertConfig: 'Alert Config', - goAlertLogs: 'Alert Logs', - configureAlertChannel: 'Configure Channels', - createAlertTask: 'Create Alert Task', - viewAlertTasks: 'View Alert Tasks', - viewFailedAlertLogs: 'View Failed Logs', - viewAlertLogs: 'View Alert Logs', - alertChannelSummary: '{0} / {1} channels enabled', - alertTaskEnabledDesc: '{0} tasks enabled', - alertTaskSummary: '{0} enabled, {1} disabled', - alertLogSummary: '{0} successful, {1} failed', - alertPendingDesc: '{0} logs pending sync', - alertLogSuccessDesc: 'Notification completed', - alertLogFailedDesc: 'Check channel configuration or delivery path', - alertLogPendingDesc: 'Offline or sync path pending', - failedAlertLogs: 'Failed Alert Logs', - disabledAlertTasks: 'Disabled Alert Tasks', - alertTableDisplayDesc: 'Showing {0} of {1}', - alertMsg: 'Alert Message', - alertMethod: 'Alert Method', - alertRule: 'Alert Rule', - noAlertTask: 'No alert tasks', - noFailedAlertLog: 'No failed alert logs', - noDisabledAlertTask: 'No disabled alert tasks', - alertCronjobType: 'Cron Job: {0}', - alertAllTargets: 'All Targets', - alertAllDisks: 'All Disks', - alertAllCertificates: 'All Certificates', - alertAllWebsites: 'All Websites', - alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day', - alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day', - alertTimeRuleShort: 'Trigger within {0} days, send {1} times', - alertSendCountRuleShort: 'Send {0} times per day', - alertConfigInvalid: 'Invalid Config', - scoreCategoryAlert: 'Alert Notifications', - scoreAlertNoTask: 'No alert tasks are configured', - scoreAlertNoEnabledTask: 'All alert tasks are disabled', - scoreAlertDisabledTask: '{0} alert tasks are disabled', - scoreAlertNoChannel: 'No alert notification channel is enabled', - scoreAlertFailedHigh: '{0} alert failure logs found', - scoreAlertFailedMedium: '{0} alert failure logs found', - scoreAlertPending: '{0} alert logs are pending sync', - statAlertDesc: '{0} enabled tasks · {1} channels', - assetAlertDesc: '{0} failed logs, {1} pending sync logs', - failedExecutionRecords: 'Failed Execution Records', - taskID: 'Task ID', - executeTime: 'Execution Time', - backupTasks: 'Backup Tasks', - systemMetrics: 'Runtime Metrics', + 'パスワード複雑性検証が無効で、弱パスワードのリスクが高いです', + mfa: 'MFA 認証', + mfaNormalDesc: 'MFA認証が有効で、ログインセキュリティが強化されています', + mfaRiskDesc: 'MFA認証が無効です。多要素認証の有効化をお勧めします', + passwordExpiration: 'パスワード有効期限', + passwordExpirationNormalDesc: 'パスワードの有効期限は安全な範囲内です', + passwordExpirationUnsetDesc: 'パスワードの有効期限が未設定です。早めの設定をお勧めします', + passwordExpirationRiskDesc: 'パスワードが{0}日以内に期限切れになります。事前に対応してください', + passwordExpirationExpiredDesc: 'パスワードが{0}日前に期限切れになりました。至急対応してください', + sessionTimeoutNormalDesc: 'セッションタイムアウトは安全な範囲内です', + sessionTimeoutRiskDesc: 'セッションタイムアウトが長めです。アイドルセッションの有効期間を制限することをお勧めします', + sshServiceNormalDesc: 'SSHサービスは正常に稼働しています', + sshServiceRiskDesc: 'SSHサービスが未稼働または異常です', + sshPortNormalDesc: 'SSHポートがデフォルトポートから変更済みです', + sshPortRiskDesc: 'まだデフォルトの22番ポートを使用しています。必要に応じて変更してください', + rootLoginNormalDesc: 'Rootユーザーは直接ログインできません', + rootLoginRiskDesc: 'Rootユーザーが直接ログイン可能です。無効化をお勧めします', + passwordAuthNormalDesc: 'SSHパスワードログインが無効です', + passwordAuthRiskDesc: 'パスワードログインが許可されており、総当たり攻撃のリスクが高いです', + keyAuthNormalDesc: 'SSH鍵認証が有効です', + keyAuthRiskDesc: '鍵認証が無効です。鍵ベースのログインを使用してください', + websiteOverview: 'Webサイト概要', + primaryDomain: 'メインドメイン', + expireTime: '有効期限', + domain: 'ドメイン', + issuer: '発行者', + autoRenew: '自動更新', + websiteCount: 'Webサイト数', + httpsWebsite: 'HTTPS Webサイト', + certCount: '証明書数', + websiteExpire: 'Webサイト期限', + database: 'データベース', + remoteDatabase: 'リモートデータベース', + address: 'アドレス', + containerResourceUsage: 'コンテナリソース使用状況', + spaceUsage: '使用容量', + reclaimable: '回収可能', + containerReclaimable: 'コンテナ回収可能', + image: 'イメージ', + volume: 'ボリューム', + buildCache: 'ビルドキャッシュ', + alert: 'アラート', + alertConfigured: 'アラート設定済み', + alertOperations: 'アラート通知', + alertTaskCount: 'アラートタスク', + enabledAlertTask: '有効タスク', + disabledAlertTask: '無効タスク', + alertChannels: '通知チャネル', + alertLogCount: 'アラートログ', + alertSuccessRate: 'アラート成功率', + alertFailedLogs: '失敗アラートログ', + alertPendingLogs: '同期待ちログ', + alertPending: '同期待ち', + alertTaskStats: 'アラートタスク統計', + alertTaskType: 'アラート種別', + alertLogStatusStats: 'アラート実行状態', + alertHealthNormal: '正常', + alertHealthAttention: '要注意', + alertHealthRisk: '高リスク', + alertHealthSummary: 'アラート健全性', + alertHealthNormalReason: 'アラートタスク、通知チャネル、実行ログは正常です', + alertNoChannelReason: '通知チャネルが有効化されていません', + alertFailedLogReason: '{0} 件の失敗ログがあります', + alertPendingReason: '{0} 件のログが同期待ちです', + alertDisabledTaskReason: '{0} 個のアラートタスクが無効です', + alertNoTaskReason: 'アラートタスクが設定されていません', + goAlertConfig: 'アラート設定', + goAlertLogs: 'アラートログ', + configureAlertChannel: '通知チャネルを設定', + createAlertTask: 'アラートタスクを作成', + viewAlertTasks: 'アラートタスクを表示', + viewFailedAlertLogs: '失敗ログを表示', + viewAlertLogs: 'アラートログを表示', + alertChannelSummary: '{0} / {1} チャネル有効', + alertTaskEnabledDesc: '{0} 個のタスクが有効', + alertTaskSummary: '有効 {0} 個、無効 {1} 個', + alertLogSummary: '成功 {0} 件、失敗 {1} 件', + alertPendingDesc: '{0} 件のログが同期待ち', + alertLogSuccessDesc: '通知完了', + alertLogFailedDesc: 'チャネル設定または送信経路を確認してください', + alertLogPendingDesc: 'オフラインまたは同期経路が未処理です', + failedAlertLogs: '失敗アラートログ', + disabledAlertTasks: '無効アラートタスク', + alertTableDisplayDesc: '{1} 件中 {0} 件を表示中', + alertMsg: 'アラート内容', + alertMethod: 'アラート方法', + alertRule: 'アラートルール', + noAlertTask: 'アラートタスクがありません', + noFailedAlertLog: '失敗アラートログがありません', + noDisabledAlertTask: '無効アラートタスクがありません', + alertCronjobType: 'スケジュールタスク: {0}', + alertAllTargets: '全オブジェクト', + alertAllDisks: '全ディスク', + alertAllCertificates: '全証明書', + alertAllWebsites: '全Webサイト', + alertDiskRuleShort: '{0} が {1}{2} を超過、毎日 {3} 回', + alertAverageRuleShort: '{0} 分平均が {1}% を超過、毎日 {2} 回', + alertTimeRuleShort: '残り {0} 日以内にトリガー、{1} 回送信', + alertSendCountRuleShort: '毎日 {0} 回送信', + alertConfigInvalid: '設定異常', + scoreCategoryAlert: 'アラート通知', + scoreAlertNoTask: 'アラートタスクが設定されていません', + scoreAlertNoEnabledTask: 'アラートタスクがすべて無効です', + scoreAlertDisabledTask: '{0} 個のアラートタスクが無効です', + scoreAlertNoChannel: 'アラート通知チャネルが有効化されていません', + scoreAlertFailedHigh: '{0} 件のアラート失敗ログがあります', + scoreAlertFailedMedium: '{0} 件のアラート失敗ログがあります', + scoreAlertPending: '{0} 件のアラートログが同期待ちです', + statAlertDesc: '有効タスク {0} 個 · チャネル {1} 個', + assetAlertDesc: '失敗ログ {0} 件、同期待ちログ {1} 件', + failedExecutionRecords: '失敗実行記録', + taskID: 'タスクID', + executeTime: '実行時間', + backupTasks: 'バックアップタスク', + systemMetrics: '実行指標', cpu: 'CPU', thresholdPercent: 'しきい値 {0}%', - recent24HourPeakPercent: 'Last 24h peak {0}', - loadAverage: '1 / 5 / 15 minute load: {0} / {1} / {2}', - sourceMount: 'Mount point {0}', - storageUsage: 'Storage Usage', - localDisk: 'Local Disk', - highUsagePeriods: 'High Usage Periods', - timeRange: 'Time Range', + recent24HourPeakPercent: '過去24時間ピーク {0}', + loadAverage: '1 / 5 / 15 分負荷: {0} / {1} / {2}', + sourceMount: 'マウントポイント {0}', + storageUsage: '容量使用状況', + localDisk: 'ローカルディスク', + highUsagePeriods: '高負荷時間帯', + timeRange: '時間範囲', threshold: 'しきい値', - duration: 'Duration', - peak: 'Peak', - scoring: 'Scoring', - counted: 'Counted', - notCounted: 'Not Counted', - dataSource: 'Data Source', - noHighUsagePeriod: 'No high usage periods', - monitorDisabledOrNoData: 'Host monitoring is disabled or no monitor data is available', - systemHealthStatus: 'Last 24h Host Runtime Risk', - mainReasons: 'Main Reasons', - viewHostMonitor: 'View Host Monitor', + duration: '持続時間', + peak: 'ピーク', + scoring: 'スコアリング', + counted: '計上', + notCounted: '未計上', + dataSource: 'データソース', + noHighUsagePeriod: '高負荷時間帯がありません', + monitorDisabledOrNoData: 'ホスト監視が無効または監視データがありません', + systemHealthStatus: '過去24時間のホスト実行リスク', + mainReasons: '主な原因', + viewHostMonitor: 'ホスト監視を表示', systemHealthAttentionDesc: - '{0} risk items detected in the last 24 hours. Prioritize resource peaks and disk usage.', - systemHealthNormalDesc: 'Host runtime metrics were normal in the last 24 hours', - monitorEnabled: 'Monitoring Enabled', - cpuCoreUsage: '{0} / {1} cores', - load1Minute: '1-min load', - diskSpaceUsage: 'Disk Space Usage', - usedCapacity: 'Used / Total', - fileSystem: 'File System', - resourceTrendSummary: 'Resource Trend Summary', - last24Hours: 'Last 24 Hours', - granularityHour: 'Granularity: 1 hour', - current: 'Current', - average: 'Average', - totalItems: '{0} items', - to: 'to', - hoursShort: '{0} h', - minutesShort: '{0} min', - websiteStatus: 'Website Status', - websiteHealthStatus: 'Website Protection Health', - websiteHealthNormalReason: 'Websites, certificates, WAF, and website monitoring are healthy', + '過去24時間に {0} 件のリスク項目を検出しました。リソースピークとディスク使用率を優先的に確認してください。', + systemHealthNormalDesc: '過去24時間のホスト実行指標は正常です', + monitorEnabled: '監視有効', + cpuCoreUsage: '{0} / {1} コア', + load1Minute: '1分負荷', + diskSpaceUsage: 'ディスク容量使用状況', + usedCapacity: '使用済み / 合計', + fileSystem: 'ファイルシステム', + resourceTrendSummary: 'リソース傾向サマリー', + last24Hours: '過去24時間', + granularityHour: '粒度: 1時間', + current: '現在', + average: '平均', + totalItems: '合計 {0} 件', + to: '〜', + hoursShort: '{0} 時間', + minutesShort: '{0} 分', + websiteStatus: 'Webサイト状態', + websiteHealthStatus: 'Webサイト防護健全性', + websiteHealthNormalReason: 'Webサイト、証明書、WAF、Webサイト監視は正常です', websiteHealthAttentionDesc: - '{0} risk items detected. Handle them soon to protect website security and availability.', - websiteHealthNormalDesc: 'Current website protection metrics are normal', - handleSslRisk: 'Handle Certificate Risks', - viewWaf: 'View WAF', - priority: 'Priority', - riskDescription: 'Risk Description', - deductScore: 'Deducted Score', - remaining: 'Remaining', - wafSourceIpTop: 'WAF Source IP TOP5', - wafAffectedSiteTop: 'Affected Sites TOP5', - sslRisk: 'Certificate Risks', - sslExpiring: 'Expiring Certificates', - includedInReport: 'Included in report', - needRenewal: 'Renewal recommended', - fromExpireInfo: 'From expiry information', - runningWebsite: 'Running Websites', - fromWebsiteStatus: 'From website list status', - stoppedWebsite: 'Stopped Websites', - confirmStoppedWebsite: 'Confirm whether this is expected', - expiringWebsite: 'Expiring Websites', - expiringSoon: 'Expiring Soon', - none: 'None', - noSslRisk: 'No certificates need handling', - websiteProtection: 'WAF and Website Monitoring', - websiteMonitor: 'Website Monitoring', + '{0} 件のリスク項目を検出しました。Webサイトのセキュリティと可用性を確保するために早めに対応してください。', + websiteHealthNormalDesc: '現在のWebサイト防護指標は正常です', + handleSslRisk: '証明書リスクを処理', + viewWaf: 'WAFを表示', + priority: '優先度', + riskDescription: 'リスク説明', + deductScore: '減点スコア', + remaining: '残り', + wafSourceIpTop: 'WAF 遮断元IP TOP5', + wafAffectedSiteTop: '影響を受けたサイト TOP5', + sslRisk: '証明書リスク', + sslExpiring: '期限間近の証明書', + includedInReport: 'レポートに含まれる', + needRenewal: '更新を推奨', + fromExpireInfo: '期限切れ情報より', + runningWebsite: '稼働中のWebサイト', + fromWebsiteStatus: 'Webサイトリストの状態より', + stoppedWebsite: '停止中のWebサイト', + confirmStoppedWebsite: '意図的な停止か確認してください', + expiringWebsite: '期限間近のWebサイト', + expiringSoon: 'もうすぐ期限切れ', + none: 'なし', + noSslRisk: '処理が必要な証明書はありません', + websiteProtection: 'WAFとWebサイト監視', + websiteMonitor: 'Webサイト監視', waf: 'WAF', - siteAvailability: 'Site Availability', - monitoredSites: 'Monitored Sites', - requestCount: 'Requests', - abnormalSites: 'Abnormal Sites', - count5xxSource: 'Counted by 5xx requests', - wafIntercept: 'WAF Blocks', - highRiskHit: 'High-risk Hits', - websiteMonitorDisabledOrNoData: 'Website monitoring is disabled or no monitor data is available', - wafDisabledOrNoData: 'WAF is disabled or no block data is available', - noWafData: 'No WAF block data', - sourceIP: 'Source IP', - hitCount: 'Hits', - level: 'Level', - attackType: 'Attack Type', - requestRatio: 'Request Ratio', - installed: 'Installed', - normalRunning: 'Running Normally', - failedStart: 'Startup Failed', - manualStopped: 'Manually Stopped', - failed: 'Failed', - success: 'Success', - canUpdate: 'Upgradable', - listSeparator: ', ', - containerCount: 'Containers', - stopped: 'Stopped', - abnormal: 'Abnormal', - abnormalContainers: 'Abnormal Containers', - resourceUsage: 'Resource Usage', - exposedContainerPorts: 'Exposed Ports', - portMapping: 'Port Mapping', - risk: 'Risk', - noAbnormalContainer: 'No abnormal containers', - noExposedContainer: 'No exposed ports detected', - publicExpose: 'Public Exposure', - privateExpose: 'Private Mapping', + siteAvailability: 'サイト可用率', + monitoredSites: '監視対象サイト', + requestCount: 'リクエスト数', + abnormalSites: '異常サイト', + count5xxSource: '5xxリクエストで集計', + wafIntercept: 'WAF遮断', + highRiskHit: '高リスクヒット', + websiteMonitorDisabledOrNoData: 'Webサイト監視が無効または監視データがありません', + wafDisabledOrNoData: 'WAFが無効または遮断データがありません', + noWafData: 'WAF遮断データがありません', + sourceIP: '送信元IP', + hitCount: 'ヒット数', + level: 'レベル', + attackType: '攻撃種別', + requestRatio: 'リクエスト割合', + installed: 'インストール済み', + normalRunning: '正常稼働', + failedStart: '起動失敗', + manualStopped: '手動停止', + failed: '失敗', + success: '成功', + canUpdate: 'アップグレード可能', + listSeparator: '、', + containerCount: 'コンテナ数', + stopped: '停止', + abnormal: '異常', + abnormalContainers: '異常コンテナ', + resourceUsage: 'リソース使用状況', + exposedContainerPorts: '公開ポート', + portMapping: 'ポートマッピング', + risk: 'リスク', + noAbnormalContainer: '異常コンテナがありません', + noExposedContainer: '公開ポートは検出されませんでした', + publicExpose: '公開ネットワーク露出', + privateExpose: '内部ネットワークマッピング', resourceHealth: '実行リソースの健全性', checkTime: '検査時刻', resourceHealthNormalDesc: 'アプリ、データベース、コンテナのリソースは正常です', @@ -4431,22 +4439,22 @@ const message = { stoppedContainerSpace: '停止コンテナ容量', unusedVolumeSpace: '未使用ボリューム容量', buildCacheSpace: 'Docker ビルドキャッシュ容量', - executionRecords: 'Execution Records', - successRate: 'Success Rate', - failedJobs: 'Failed Jobs', - recentRecoveryPoint: 'Latest Recovery Point', - remoteCoverage: 'Remote Coverage', - recent7Days: 'Last 7 days', - taskTypeStats: 'Task Type Statistics', - total: 'Total', - taskTypeDesc: '{0} enabled, {1} disabled', - failedOrAttentionTasks: 'Failed or Attention Tasks', - execution: 'Execution', - latestExecution: 'Latest Execution', - remoteBackup: 'Remote Backup', - localOnly: 'Local Only', - covered: 'Covered', - noAttentionCronjob: 'No failed or attention cron jobs', + executionRecords: '実行記録', + successRate: '成功率', + failedJobs: '失敗タスク', + recentRecoveryPoint: '最新復元ポイント', + remoteCoverage: 'リモートカバレッジ', + recent7Days: '過去7日間', + taskTypeStats: 'タスク種別統計', + total: '合計', + taskTypeDesc: '有効 {0} 個、無効 {1} 個', + failedOrAttentionTasks: '失敗または要注意タスク', + execution: '実行状況', + latestExecution: '最新実行', + remoteBackup: 'リモートバックアップ', + localOnly: 'ローカルのみ', + covered: 'カバー済み', + noAttentionCronjob: '失敗または要注意のスケジュールタスクがありません', cronjobHealth: 'スケジュールタスクの健全性', cronjobHealthNormalDesc: 'スケジュールタスクの実行とバックアップ設定は正常です', cronjobHealthAttentionDesc: @@ -4460,68 +4468,68 @@ const message = { viewFailedRecords: '失敗タスクを表示', viewCronjobTasks: 'スケジュールタスクを表示', checkBackupTasks: 'バックアップタスクを確認', - generationRule: 'Generation Rules', - scheduleDaily: 'Daily', - scheduleDailyDesc: 'Generate a report for the last 24 hours at 09:00 every day', - scheduleWeekly: 'Weekly', - scheduleWeeklyDesc: 'Generate a report for the last 7 days at 09:00 every Monday', - scheduleMonthly: 'Monthly', - scheduleMonthlyDesc: 'Generate a report for the previous month at 09:00 on the 1st', - scheduleCurrentDaily: 'Every day at 09:00, generate the last 24 hours report · Next {0}', - scheduleCurrentWeekly: 'Every Monday at 09:00, generate the last 7 days report · Next {0}', - scheduleCurrentMonthly: 'On the 1st at 09:00, generate the previous month report · Next {0}', - notificationMethod: 'Notification Methods', - channel: 'Channel', - receiver: 'Receiver', + generationRule: '生成ルール', + scheduleDaily: '毎日', + scheduleDailyDesc: '毎日09:00に過去24時間のレポートを生成', + scheduleWeekly: '毎週', + scheduleWeeklyDesc: '毎週月曜09:00に過去7日間のレポートを生成', + scheduleMonthly: '毎月', + scheduleMonthlyDesc: '毎月1日09:00に前月のレポートを生成', + scheduleCurrentDaily: '毎日09:00に過去24時間のレポートを生成 · 次回 {0}', + scheduleCurrentWeekly: '毎週月曜09:00に過去7日間のレポートを生成 · 次回 {0}', + scheduleCurrentMonthly: '毎月1日09:00に前月のレポートを生成 · 次回 {0}', + notificationMethod: '通知方法', + channel: 'チャネル', + receiver: '受信者', systemThreshold: 'システムしきい値', - metric: 'Metric', - currentRule: 'Current Rule', - hostMonitor: 'Host Monitor', - monitorInterval: 'Monitor Interval', - exportSettings: 'Export Settings', - lastExportReport: 'Recent Generated Result', - noLastExportReport: 'No exported report records', - lastExportStatus: 'Last Export Status', - exportFile: 'Export File', - generateTime: 'Generated At', - fileSize: 'File Size', - viewExportHistory: 'View Export History', - defaultFormat: 'Default Format', - savePath: 'Save Directory', - savePathRequired: 'Set the report save directory', - autoExport: 'Enable Auto Export', - autoExportDesc: 'Generate an Ops Report automatically every day at 09:00 when enabled', - autoExportEnabled: 'Auto export enabled', - autoExportDisabled: 'Auto export disabled', + metric: '指標', + currentRule: '現在のルール', + hostMonitor: 'ホスト監視', + monitorInterval: '監視間隔', + exportSettings: 'エクスポート設定', + lastExportReport: '最近の生成結果', + noLastExportReport: 'エクスポートレポートの記録がありません', + lastExportStatus: '最終エクスポート状態', + exportFile: 'エクスポートファイル', + generateTime: '生成日時', + fileSize: 'ファイルサイズ', + viewExportHistory: 'エクスポート履歴を表示', + defaultFormat: 'デフォルト形式', + savePath: '保存ディレクトリ', + savePathRequired: 'レポートの保存ディレクトリを設定してください', + autoExport: '自動エクスポートを有効化', + autoExportDesc: '有効にすると毎日09:00に自動的に運用レポートを生成します', + autoExportEnabled: '自動エクスポートが有効です', + autoExportDisabled: '自動エクスポートが無効です', readOnlyPermissionTip: - 'The current account can only view Ops Report settings. Contact an administrator to make changes.', - refreshing: 'Refreshing', - exporting: 'Exporting', - exportFailed: 'Failed to export report', - generating: 'Generating', - saved: 'Saved', - saveFailed: 'Failed to save settings', - generateNow: 'Generate Now', - generateSuccess: 'Report file generated: {0}', - generateFailed: 'Failed to generate report', - enabledStatus: 'Enabled', - disabledStatus: 'Disabled', - thresholdRule: 'Threshold {0}, trigger after {1} consecutive times', - hours: '{0} hours', - minutes: '{0} minutes', - seconds: '{0} seconds', - totalExports: 'Total Exports', - successExports: 'Successful Exports', - failedExports: 'Failed Exports', - reportName: 'Report Name', - exportFormat: 'Export Format', - operator: 'Operator', - triggerType: 'Trigger', - filePath: 'File Path', - manualExport: 'Manual', - scheduledExport: 'Scheduled', - exportResult: 'Export Result', - exportDetail: 'Export Detail', + '現在のアカウントは運用レポート設定の閲覧のみ可能です。変更が必要な場合は管理者に連絡してください。', + refreshing: '更新中', + exporting: 'エクスポート中', + exportFailed: 'レポートのエクスポートに失敗しました', + generating: '生成中', + saved: '保存済み', + saveFailed: '設定の保存に失敗しました', + generateNow: '今すぐ生成', + generateSuccess: 'レポートファイルを生成しました: {0}', + generateFailed: 'レポートの生成に失敗しました', + enabledStatus: '有効', + disabledStatus: '無効', + thresholdRule: 'しきい値 {0}、連続 {1} 回でトリガー', + hours: '{0} 時間', + minutes: '{0} 分', + seconds: '{0} 秒', + totalExports: 'エクスポート合計', + successExports: '成功エクスポート', + failedExports: '失敗エクスポート', + reportName: 'レポート名', + exportFormat: 'エクスポート形式', + operator: '操作者', + triggerType: 'トリガー方法', + filePath: 'ファイルパス', + manualExport: '手動', + scheduledExport: '定期', + exportResult: 'エクスポート結果', + exportDetail: 'エクスポート詳細', }, }, user: { diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index 5eaeb1f8c0e6..0a13c0857021 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -3929,393 +3929,400 @@ const message = { website: '웹사이트 보호', resource: '실행 리소스', cronjob: '예약 작업', - alert: 'Alert Notifications', + alert: '알림 통보', history: '내보내기 기록', setting: '설정', page: { - enterprise: 'Enterprise', - reportNode: 'Report Node', - selectReportNode: 'Select report node', - currentNode: 'Current', - scoreMeta: '{0} points deducted · {1} risks', - hostAddress: 'Host Address', - panelVersion: 'Panel Version', - cpuCores: 'Physical Cores', - coreUnit: '{0} cores', - memoryTotal: 'Memory Total', - reportDate: 'Report Date', - serverSecurityOverview: 'Server Security Operations Overview', - securityScore: 'Security Score', + enterprise: '엔터프라이즈', + reportNode: '보고서 노드', + selectReportNode: '보고서 노드 선택', + currentNode: '현재 노드', + scoreMeta: '감점 {0}점 · 위험 {1}건', + hostAddress: '호스트 주소', + panelVersion: '패널 버전', + cpuCores: '물리 코어', + coreUnit: '{0}코어', + memoryTotal: '메모리 총량', + reportDate: '보고서 날짜', + serverSecurityOverview: '서버 보안 운영 개요', + securityScore: '보안 점수', overviewSummary: - 'Current security level: {0}. {1} points deducted, {2} risk items found, {3} objects checked.', - riskDistribution: 'Risk Distribution', - totalDeducted: 'Total deducted', - noRiskDeducted: 'No deductions', - scoreTrend: 'Score Trend', - scoreLevelSafe: 'Safe', - scoreLevelAttention: 'Needs Attention', - scoreLevelMediumRisk: 'Medium Risk', - scoreLevelHighRisk: 'High Risk', - scoreCategoryHost: 'Host Resources', - scoreCategoryLogin: 'Login Security', - scoreCategoryWebsite: 'Websites & Certificates', - scoreCategoryCronjob: 'Cron Jobs', - scoreCategoryResource: 'Runtime Resources', - scoreDiskHigh: 'Disk {0} usage is {1}%', - scoreDiskMedium: 'Disk {0} usage is {1}%', - scoreResourceHigh: '{0} current usage is {1}%', - scoreResourceMedium: '{0} current usage is {1}%', - scoreLoadMedium: 'Current load is {0}', - scoreMonitorDisabled: 'Host monitoring is disabled', - scorePanelLoginFailedHigh: 'Panel login failed {0} times', - scorePanelLoginFailedMedium: 'Panel login failed {0} times', - scoreSSHLoginFailedHigh: 'SSH login failed {0} times', - scoreSSHLoginFailedMedium: 'SSH login failed {0} times', - scoreMFADisabled: 'MFA is disabled', - scoreAllowIPsOpen: 'Allowed IPs and bound domain are not configured or access is unrestricted', - scorePasswordExpired: 'Panel password has expired', - scorePasswordExpiring: 'Panel password expires in {0} days', - scorePanelHTTPSDisabled: 'Panel HTTPS is disabled', - scoreSSHRootLogin: 'SSH root login is allowed', - scoreSSHPasswordAuth: 'SSH password auth is enabled without key auth', - scoreSSLHigh: '{0} certificate expires in {1} days', - scoreSSLMedium: '{0} certificate expires in {1} days', - scoreWebsiteExpire: '{0} website expires in {1} days', - scoreWebsiteHTTP: '{0} does not use HTTPS', - scoreWebsiteStopped: '{0} status is abnormal', - scoreWebsiteMonitorUnavailable: 'Website monitoring detected an unavailable site', - scoreWebsiteMonitorAvailability: 'Website monitoring availability {0}% is below the threshold', - scoreWafDisabled: 'WAF is disabled and websites are not protected', - scoreWafHighRiskHit: 'WAF matched {0} risk rules in the reporting period', - scoreCronjobFailed: '{0} cron job failure records in the last 7 days', - scoreAppFailed: '{0} app is abnormal', - scoreAppStopped: '{0} app has stopped', - scoreContainerHigh: '{0} container status is abnormal', - scoreContainerExited: '{0} container has stopped', - scoreContainerResource: '{0} container resource usage is high', - attentionItems: 'Attention Items', - attentionAssets: 'Attention Assets', - riskItems: 'Risk Items', - object: 'Object', - description: 'Description', - itemUnit: 'items', - recordUnit: 'records', - certUnit: 'certs', - containerUnit: 'containers', - loginFailed: 'Failed Logins', - sslExpire: 'Certificate Expiry', - abnormalContainer: 'Abnormal Containers', - statAttentionDesc: '{0} points deducted', - statLoginDesc: 'Panel {0} · SSH {1}', - statSslDesc: '{0} certificates checked', - statContainerDesc: '{0} containers checked', - assetHostDesc: 'Max disk usage {0}%', - assetWebsiteDesc: '{0} certificates expiring soon, {1} abnormal websites', - assetResourceDesc: '{0} abnormal apps, {1} stopped apps, {2} abnormal containers', - assetCronjobDesc: '{0} failure records in the last 7 days, {1} disabled jobs', - app: 'Apps', - website: 'Websites', - websiteSsl: 'Websites / Certificates', - cronjob: 'Cron Jobs', - container: 'Containers', - sslCertificate: 'SSL Certificates', - loginSecurity: 'Login Security', - panelLogin: 'Panel Login', - sshLogin: 'SSH Login', - failedRecord: 'Failed Records', - expiredDays: 'Expired {0} days ago', - remainingDays: '{0} · {1} days left', - enabled: 'Enabled', - disabled: 'Disabled', - exportRecordFailed: 'Failed to save export record', - hostInfo: 'Host Info', - hostname: 'Hostname', - osVersion: 'OS Version', - kernelVersion: 'Kernel Version', - arch: 'Architecture', - uptime: 'Uptime', - diskUsage: 'Disk Usage', - mountPoint: 'Mount Point', - device: 'Device', - capacity: 'Capacity', - used: 'Used', - usageRate: 'Usage', - memory: 'Memory', - load: 'Load', - maxDiskUsage: 'Max Disk Usage', - panelLoginSecurity: 'Panel Login Security', - sshSecurity: 'Linux Server SSH Security', - panelFailedRecords: 'Panel Failed Login Records', - sshFailedRecords: 'SSH Failed Login Records', - location: 'Location', - configItem: 'Config Item', - currentValue: 'Current Value', - securityEntrance: 'Security Entrance', - configured: 'Configured', - notConfigured: 'Not Configured', - normal: 'Normal', - needAttention: 'Needs Attention', - allowIPs: 'Allowed IPs', - restricted: 'Restricted', - unrestricted: 'Unrestricted', - bindDomain: 'Bound Domain', - accessRestriction: 'Access Restriction', - panelHTTPS: 'Panel HTTPS', - passwordComplexity: 'Password Complexity', - sshService: 'SSH Service', - running: 'Running', - notRunning: 'Not Running', - listenPort: 'Listen Port', - read: 'Read', - rootLogin: 'Root Login', - passwordAuth: 'Password Auth', - keyAuth: 'Key Auth', - panelLoginFailed: 'Panel Failed Logins', - sshLoginFailed: 'SSH Failed Logins', - panelSecurityItems: 'Panel Security Items', - sshSecurityItems: 'SSH Security Items', - loginSecurityHealthStatus: 'Login Security Health', - adjustSSHSecurity: 'Adjust SSH Security', - viewLoginLogs: 'View Login Logs', - riskLevel: 'Risk Level', - goConfig: 'Configure', - viewMore: 'View More', - involvedIPs: '{0} IPs involved', - sessionTimeout: 'Session Timeout', - countUnit: 'times', - recent24Hours: 'Last 24 hours', + '현재 보안 등급: {0}. 총 감점 {1}점, {2}개 위험 항목 발견, {3}개 검사 대상 포함.', + riskDistribution: '위험 분포', + totalDeducted: '총 감점', + noRiskDeducted: '미감점', + scoreTrend: '점수 추이', + scoreLevelSafe: '안전', + scoreLevelAttention: '주의 필요', + scoreLevelMediumRisk: '중위험', + scoreLevelHighRisk: '고위험', + scoreCategoryHost: '호스트 리소스', + scoreCategoryLogin: '로그인 보안', + scoreCategoryWebsite: '웹사이트 및 인증서', + scoreCategoryCronjob: '예약 작업', + scoreCategoryResource: '런타임 리소스', + scoreDiskHigh: '디스크 {0} 사용률 {1}%', + scoreDiskMedium: '디스크 {0} 사용률 {1}%', + scoreResourceHigh: '{0} 현재 사용률 {1}%', + scoreResourceMedium: '{0} 현재 사용률 {1}%', + scoreLoadMedium: '현재 부하 {0}', + scoreMonitorDisabled: '호스트 모니터링 미활성화', + scorePanelLoginFailedHigh: '패널 로그인 실패 {0}회', + scorePanelLoginFailedMedium: '패널 로그인 실패 {0}회', + scoreSSHLoginFailedHigh: 'SSH 로그인 실패 {0}회', + scoreSSHLoginFailedMedium: 'SSH 로그인 실패 {0}회', + scoreMFADisabled: 'MFA 미활성화', + scoreAllowIPsOpen: '허용 IP 및 바인딩 도메인이 미구성되었거나 접근 제한이 설정되지 않음', + scorePasswordExpired: '패널 비밀번호 만료됨', + scorePasswordExpiring: '패널 비밀번호 만료까지 {0}일 남음', + scorePanelHTTPSDisabled: '패널 HTTPS 미활성화', + scoreSSHRootLogin: 'SSH Root 로그인 허용됨', + scoreSSHPasswordAuth: 'SSH 비밀번호 인증 활성화, 키 인증 미활성화', + scoreSSLHigh: '{0} 인증서 만료까지 {1}일 남음', + scoreSSLMedium: '{0} 인증서 만료까지 {1}일 남음', + scoreWebsiteExpire: '{0} 웹사이트 만료까지 {1}일 남음', + scoreWebsiteHTTP: '{0} HTTPS 미사용', + scoreWebsiteStopped: '{0} 상태 비정상', + scoreWebsiteMonitorUnavailable: '웹사이트 모니터링에서 사용 불가 사이트 감지', + scoreWebsiteMonitorAvailability: '웹사이트 모니터링 가용률 {0}%가 임계값 미달', + scoreWafDisabled: 'WAF 미활성화, 웹사이트 보호 미적용', + scoreWafHighRiskHit: 'WAF 보고 기간 내 {0}개 위험 규칙 매칭', + scoreCronjobFailed: '최근 7일간 {0}건의 예약 작업 실패 기록', + scoreAppFailed: '{0} 애플리케이션 비정상', + scoreAppStopped: '{0} 애플리케이션 중지됨', + scoreContainerHigh: '{0} 컨테이너 상태 비정상', + scoreContainerExited: '{0} 컨테이너 중지됨', + scoreContainerResource: '{0} 컨테이너 리소스 사용량 과다', + attentionItems: '주의 필요 항목', + attentionAssets: '주의 필요 자산', + riskItems: '위험 항목', + object: '대상', + description: '설명', + itemUnit: '건', + recordUnit: '건', + certUnit: '매', + containerUnit: '개', + loginFailed: '로그인 실패', + sslExpire: '인증서 만료', + abnormalContainer: '비정상 컨테이너', + statAttentionDesc: '현재 총 감점 {0}점', + statLoginDesc: '패널 {0}건 · SSH {1}건', + statSslDesc: '총 {0}매 인증서 검사', + statContainerDesc: '총 {0}개 컨테이너 검사', + assetHostDesc: '디스크 최대 사용률 {0}%', + assetWebsiteDesc: '{0}매 인증서 만료 임박, {1}개 웹사이트 상태 비정상', + assetResourceDesc: '{0}개 앱 비정상, {1}개 앱 중지, {2}개 컨테이너 비정상', + assetCronjobDesc: '최근 7일간 {0}건 실패 기록, {1}개 작업 미활성화', + app: '애플리케이션', + website: '웹사이트', + websiteSsl: '웹사이트 / 인증서', + cronjob: '예약 작업', + container: '컨테이너', + sslCertificate: 'SSL 인증서', + loginSecurity: '로그인 보안', + panelLogin: '패널 로그인', + sshLogin: 'SSH 로그인', + failedRecord: '실패 기록', + expiredDays: '{0}일 전 만료', + remainingDays: '{0} · {1}일 남음', + enabled: '활성화', + disabled: '비활성화', + exportRecordFailed: '내보내기 기록 저장 실패', + hostInfo: '호스트 정보', + hostname: '호스트명', + osVersion: '시스템 버전', + kernelVersion: '커널 버전', + arch: '아키텍처', + uptime: '가동 시간', + diskUsage: '디스크 사용량', + mountPoint: '마운트 포인트', + device: '장치', + capacity: '용량', + used: '사용량', + usageRate: '사용률', + memory: '메모리', + load: '부하', + maxDiskUsage: '디스크 최대 사용률', + panelLoginSecurity: '패널 로그인 보안 설정', + sshSecurity: 'Linux 서버 SSH 보안 설정', + panelFailedRecords: '패널 로그인 실패 기록', + sshFailedRecords: 'SSH 로그인 실패 기록', + location: '소재지', + configItem: '설정 항목', + currentValue: '현재 값', + securityEntrance: '보안 입구', + configured: '구성됨', + notConfigured: '미구성', + normal: '정상', + needAttention: '주의 필요', + allowIPs: '허용 IP', + restricted: '제한됨', + unrestricted: '미제한', + bindDomain: '바인딩 도메인', + accessRestriction: '접근 제한', + panelHTTPS: '패널 HTTPS', + passwordComplexity: '비밀번호 복잡도', + sshService: 'SSH 서비스', + running: '실행 중', + notRunning: '미실행', + listenPort: '리스닝 포트', + read: '읽기 완료', + rootLogin: 'Root 로그인', + passwordAuth: '비밀번호 인증', + keyAuth: '키 인증', + panelLoginFailed: '패널 로그인 실패', + sshLoginFailed: 'SSH 로그인 실패', + panelSecurityItems: '패널 보안 항목', + sshSecurityItems: 'SSH 보안 항목', + loginSecurityHealthStatus: '로그인 보안 상태', + adjustSSHSecurity: 'SSH 보안 조정', + viewLoginLogs: '로그인 로그 보기', + riskLevel: '위험 등급', + goConfig: '설정하기', + viewMore: '더 보기', + involvedIPs: '{0}개 IP 관련', + sessionTimeout: '세션 타임아웃', + countUnit: '회', + recent24Hours: '최근 24시간', currentService: '현재 서비스', - riskItemsExist: '{0} risk items', + riskItemsExist: '{0}개 위험 항목 존재', loginHealthRiskDesc: - '{0} risky configurations detected. Harden login security to reduce intrusion risk.', - loginHealthNormalDesc: 'Current login and SSH security configurations are normal', - loginHealthNormalReason: 'Login security is normal', - securityEntranceConfiguredDesc: 'Security entrance is configured to reduce default entry exposure', - securityEntranceRiskDesc: 'Security entrance is disabled. Hide the default login entry', - allowIPsRestrictedDesc: 'Allowed IPs are restricted for Panel access', - allowIPsRiskDesc: 'Access IPs are unrestricted. Configure allowed IPs for public environments', - bindDomainRestrictedDesc: 'Access domain is bound', - bindDomainRiskDesc: 'Access domain is not bound. Restrict access to a fixed domain', - accessRestrictionValue: 'Allowed IPs: {0} / Bound Domain: {1}', - accessRestrictionNormalDesc: - 'Allowed IPs or bound domain is configured to restrict Panel access sources', + '{0}개의 위험 설정이 감지되었습니다. 로그인 보안을 강화하여 침입 위험을 낮추세요.', + loginHealthNormalDesc: '현재 로그인 및 SSH 보안 설정이 정상 상태입니다', + loginHealthNormalReason: '로그인 보안 설정 정상', + securityEntranceConfiguredDesc: '보안 입구가 구성되어 기본 입구 노출 위험이 감소됩니다', + securityEntranceRiskDesc: '보안 입구 미개방, 기본 로그인 입구를 숨기는 것을 권장합니다', + allowIPsRestrictedDesc: '패널 접근 허용 IP가 제한되어 있습니다', + allowIPsRiskDesc: '접근 IP가 제한되지 않았습니다. 공인 환경에서는 허용 IP 구성을 권장합니다', + bindDomainRestrictedDesc: '접근 도메인이 바인딩되어 있습니다', + bindDomainRiskDesc: '접근 도메인이 바인딩되지 않았습니다. 고정 도메인 접근 제한을 권장합니다', + accessRestrictionValue: '허용 IP: {0} / 바인딩 도메인: {1}', + accessRestrictionNormalDesc: '허용 IP 또는 바인딩 도메인이 구성되어 패널 접근 경로가 제한됩니다', accessRestrictionRiskDesc: - 'Allowed IPs and bound domain are not configured or access is unrestricted. Configure at least one', - panelHTTPSNormalDesc: 'Panel HTTPS is enabled', - panelHTTPSRiskDesc: 'Panel HTTPS is disabled. Login traffic may be exposed', - passwordComplexityNormalDesc: 'Password complexity verification is enabled', + '허용 IP와 바인딩 도메인이 모두 미구성되었거나 접근 제한이 없습니다. 최소 하나의 설정을 권장합니다', + panelHTTPSNormalDesc: '패널 HTTPS가 활성화되어 있습니다', + panelHTTPSRiskDesc: '패널 HTTPS가 비활성화되어 있습니다. 로그인 구간의 평문 노출 위험이 있습니다', + passwordComplexityNormalDesc: '비밀번호 복잡도 검증이 활성화되어 있습니다', passwordComplexityRiskDesc: - 'Password complexity verification is disabled, increasing weak password risk', - sessionTimeoutNormalDesc: 'Session timeout is within a safer range', - sessionTimeoutRiskDesc: 'Session timeout is long. Limit idle session lifetime', - sshServiceNormalDesc: 'SSH service is running normally', - sshServiceRiskDesc: 'SSH service is not running or is abnormal', - sshPortNormalDesc: 'SSH port is changed from the default port', - sshPortRiskDesc: 'SSH still uses default port 22. Change it when appropriate', - rootLoginNormalDesc: 'Root user cannot log in directly', - rootLoginRiskDesc: 'Root user can log in directly. Disable it', - passwordAuthNormalDesc: 'SSH password login is disabled', - passwordAuthRiskDesc: 'Password login is allowed, increasing brute-force risk', - keyAuthNormalDesc: 'SSH key authentication is enabled', - keyAuthRiskDesc: 'Key authentication is disabled. Use key-based login', - websiteOverview: 'Website Overview', - primaryDomain: 'Primary Domain', - expireTime: 'Expiry Time', - domain: 'Domain', - issuer: 'Issuer', - autoRenew: 'Auto Renew', - websiteCount: 'Websites', - httpsWebsite: 'HTTPS Websites', - certCount: 'Certificates', - websiteExpire: 'Website Expiry', - database: 'Databases', - remoteDatabase: 'Remote Databases', - address: 'Address', - containerResourceUsage: 'Container Resource Usage', - spaceUsage: 'Space Usage', - reclaimable: 'Reclaimable', - containerReclaimable: 'Container Reclaimable', - image: 'Images', - volume: 'Volumes', - buildCache: 'Build Cache', - alert: 'Alert', - alertConfigured: 'Alerts Configured', - alertOperations: 'Alert Notifications', - alertTaskCount: 'Alert Tasks', - enabledAlertTask: 'Enabled Tasks', - disabledAlertTask: 'Disabled Tasks', - alertChannels: 'Notification Channels', - alertLogCount: 'Alert Logs', - alertSuccessRate: 'Alert Success Rate', - alertFailedLogs: 'Failed Alert Logs', - alertPendingLogs: 'Pending Sync Logs', - alertPending: 'Pending Sync', - alertTaskStats: 'Alert Task Statistics', - alertTaskType: 'Alert Type', - alertLogStatusStats: 'Alert Execution Status', - alertHealthNormal: 'Normal', - alertHealthAttention: 'Needs Attention', - alertHealthRisk: 'High Risk', - alertHealthSummary: 'Alert Health', - alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy', - alertNoChannelReason: 'No notification channel is enabled', - alertFailedLogReason: '{0} failed alert logs found', - alertPendingReason: '{0} alert logs are pending sync', - alertDisabledTaskReason: '{0} alert tasks are disabled', - alertNoTaskReason: 'No alert tasks are configured', - goAlertConfig: 'Alert Config', - goAlertLogs: 'Alert Logs', - configureAlertChannel: 'Configure Channels', - createAlertTask: 'Create Alert Task', - viewAlertTasks: 'View Alert Tasks', - viewFailedAlertLogs: 'View Failed Logs', - viewAlertLogs: 'View Alert Logs', - alertChannelSummary: '{0} / {1} channels enabled', - alertTaskEnabledDesc: '{0} tasks enabled', - alertTaskSummary: '{0} enabled, {1} disabled', - alertLogSummary: '{0} successful, {1} failed', - alertPendingDesc: '{0} logs pending sync', - alertLogSuccessDesc: 'Notification completed', - alertLogFailedDesc: 'Check channel configuration or delivery path', - alertLogPendingDesc: 'Offline or sync path pending', - failedAlertLogs: 'Failed Alert Logs', - disabledAlertTasks: 'Disabled Alert Tasks', - alertTableDisplayDesc: 'Showing {0} of {1}', - alertMsg: 'Alert Message', - alertMethod: 'Alert Method', - alertRule: 'Alert Rule', - noAlertTask: 'No alert tasks', - noFailedAlertLog: 'No failed alert logs', - noDisabledAlertTask: 'No disabled alert tasks', - alertCronjobType: 'Cron Job: {0}', - alertAllTargets: 'All Targets', - alertAllDisks: 'All Disks', - alertAllCertificates: 'All Certificates', - alertAllWebsites: 'All Websites', - alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day', - alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day', - alertTimeRuleShort: 'Trigger within {0} days, send {1} times', - alertSendCountRuleShort: 'Send {0} times per day', - alertConfigInvalid: 'Invalid Config', - scoreCategoryAlert: 'Alert Notifications', - scoreAlertNoTask: 'No alert tasks are configured', - scoreAlertNoEnabledTask: 'All alert tasks are disabled', - scoreAlertDisabledTask: '{0} alert tasks are disabled', - scoreAlertNoChannel: 'No alert notification channel is enabled', - scoreAlertFailedHigh: '{0} alert failure logs found', - scoreAlertFailedMedium: '{0} alert failure logs found', - scoreAlertPending: '{0} alert logs are pending sync', - statAlertDesc: '{0} enabled tasks · {1} channels', - assetAlertDesc: '{0} failed logs, {1} pending sync logs', - failedExecutionRecords: 'Failed Execution Records', - taskID: 'Task ID', - executeTime: 'Execution Time', - backupTasks: 'Backup Tasks', - systemMetrics: 'Runtime Metrics', + '비밀번호 복잡도 검증이 비활성화되어 있습니다. 약한 비밀번호 위험이 높습니다', + mfa: 'MFA 인증', + mfaNormalDesc: 'MFA 인증이 활성화되어 로그인 보안이 강화됩니다', + mfaRiskDesc: 'MFA 인증이 비활성화되어 있습니다. 다중 인증 활성화를 권장합니다', + passwordExpiration: '비밀번호 만료 시간', + passwordExpirationNormalDesc: '비밀번호 만료 시간이 안전한 범위 내에 있습니다', + passwordExpirationUnsetDesc: '비밀번호 만료 시간이 설정되지 않았습니다. 조속히 설정을 권장합니다', + passwordExpirationRiskDesc: '비밀번호가 {0}일 이내에 만료됩니다. 사전 처리를 권장합니다', + passwordExpirationExpiredDesc: '비밀번호가 {0}일 전 만료되었습니다. 조속히 처리하세요', + sessionTimeoutNormalDesc: '세션 타임아웃이 안전한 범위 내에 있습니다', + sessionTimeoutRiskDesc: '세션 타임아웃이 깁니다. 유휴 세션 유효기간을 제한하는 것을 권장합니다', + sshServiceNormalDesc: 'SSH 서비스가 정상 실행 중입니다', + sshServiceRiskDesc: 'SSH 서비스가 실행되지 않거나 상태가 비정상입니다', + sshPortNormalDesc: 'SSH 포트가 기본 포트에서 변경되었습니다', + sshPortRiskDesc: '기본 22 포트를 사용 중입니다. 필요에 따라 변경을 권장합니다', + rootLoginNormalDesc: 'Root 사용자가 직접 로그인할 수 없습니다', + rootLoginRiskDesc: 'Root 사용자가 직접 로그인할 수 있습니다. 비활성화를 권장합니다', + passwordAuthNormalDesc: 'SSH 비밀번호 로그인이 비활성화되어 있습니다', + passwordAuthRiskDesc: '비밀번호 로그인이 허용되어 있습니다. 무차별 대입 공격 위험이 높습니다', + keyAuthNormalDesc: 'SSH 키 인증이 활성화되어 있습니다', + keyAuthRiskDesc: '키 인증이 비활성화되어 있습니다. 키 기반 로그인을 권장합니다', + websiteOverview: '웹사이트 개요', + primaryDomain: '주 도메인', + expireTime: '만료 시간', + domain: '도메인', + issuer: '발급 기관', + autoRenew: '자동 갱신', + websiteCount: '웹사이트 수', + httpsWebsite: 'HTTPS 웹사이트', + certCount: '인증서 수', + websiteExpire: '웹사이트 만료', + database: '데이터베이스', + remoteDatabase: '원격 데이터베이스', + address: '주소', + containerResourceUsage: '컨테이너 리소스 사용량', + spaceUsage: '사용 공간', + reclaimable: '회수 가능', + containerReclaimable: '컨테이너 회수 가능', + image: '이미지', + volume: '데이터 볼륨', + buildCache: '빌드 캐시', + alert: '알림', + alertConfigured: '알림 구성됨', + alertOperations: '알림 통보', + alertTaskCount: '알림 작업', + enabledAlertTask: '활성 작업', + disabledAlertTask: '중지 작업', + alertChannels: '통보 채널', + alertLogCount: '알림 로그', + alertSuccessRate: '알림 성공률', + alertFailedLogs: '실패 알림 로그', + alertPendingLogs: '동기화 대기 로그', + alertPending: '동기화 대기', + alertTaskStats: '알림 작업 통계', + alertTaskType: '알림 유형', + alertLogStatusStats: '알림 실행 상태', + alertHealthNormal: '정상', + alertHealthAttention: '주의 필요', + alertHealthRisk: '고위험', + alertHealthSummary: '알림 건강 상태', + alertHealthNormalReason: '알림 작업, 통보 채널, 실행 로그가 모두 정상 상태입니다', + alertNoChannelReason: '활성화된 통보 채널이 없습니다', + alertFailedLogReason: '{0}건의 실패 로그가 존재합니다', + alertPendingReason: '{0}건의 알림 로그가 동기화 대기 중입니다', + alertDisabledTaskReason: '{0}개의 알림 작업이 중지되었습니다', + alertNoTaskReason: '구성된 알림 작업이 없습니다', + goAlertConfig: '알림 설정', + goAlertLogs: '알림 로그', + configureAlertChannel: '통보 채널 설정', + createAlertTask: '알림 작업 생성', + viewAlertTasks: '알림 작업 보기', + viewFailedAlertLogs: '실패 로그 보기', + viewAlertLogs: '알림 로그 보기', + alertChannelSummary: '{0} / {1}개 채널 활성화', + alertTaskEnabledDesc: '{0}개 작업 활성화', + alertTaskSummary: '활성 {0}개, 중지 {1}개', + alertLogSummary: '성공 {0}건, 실패 {1}건', + alertPendingDesc: '{0}건의 로그 동기화 대기 중', + alertLogSuccessDesc: '통보 완료', + alertLogFailedDesc: '채널 설정 또는 전송 경로를 확인하세요', + alertLogPendingDesc: '오프라인 또는 동기화 경로 대기 중', + failedAlertLogs: '실패 알림 로그', + disabledAlertTasks: '중지된 알림 작업', + alertTableDisplayDesc: '현재 {0}건 표시, 총 {1}건', + alertMsg: '알림 내용', + alertMethod: '알림 방식', + alertRule: '알림 규칙', + noAlertTask: '알림 작업이 없습니다', + noFailedAlertLog: '실패 알림 로그가 없습니다', + noDisabledAlertTask: '중지된 알림 작업이 없습니다', + alertCronjobType: '예약 작업: {0}', + alertAllTargets: '전체 대상', + alertAllDisks: '전체 디스크', + alertAllCertificates: '전체 인증서', + alertAllWebsites: '전체 웹사이트', + alertDiskRuleShort: '{0} {1}{2} 초과, 매일 {3}회', + alertAverageRuleShort: '{0}분 평균 {1}% 초과, 매일 {2}회', + alertTimeRuleShort: '{0}일 이내 트리거, {1}회 전송', + alertSendCountRuleShort: '매일 {0}회 전송', + alertConfigInvalid: '설정 비정상', + scoreCategoryAlert: '알림 통보', + scoreAlertNoTask: '구성된 알림 작업이 없습니다', + scoreAlertNoEnabledTask: '모든 알림 작업이 비활성화되었습니다', + scoreAlertDisabledTask: '{0}개의 알림 작업이 중지되었습니다', + scoreAlertNoChannel: '활성화된 알림 통보 채널이 없습니다', + scoreAlertFailedHigh: '{0}건의 알림 실패 로그가 존재합니다', + scoreAlertFailedMedium: '{0}건의 알림 실패 로그가 존재합니다', + scoreAlertPending: '{0}건의 알림 로그가 동기화 대기 중입니다', + statAlertDesc: '활성 작업 {0}개 · 채널 {1}개', + assetAlertDesc: '실패 로그 {0}건, 동기화 대기 {1}건', + failedExecutionRecords: '실패 실행 기록', + taskID: '작업 ID', + executeTime: '실행 시간', + backupTasks: '백업 작업', + systemMetrics: '실행 지표', cpu: 'CPU', thresholdPercent: '임계값 {0}%', - recent24HourPeakPercent: 'Last 24h peak {0}', - loadAverage: '1 / 5 / 15 minute load: {0} / {1} / {2}', - sourceMount: 'Mount point {0}', - storageUsage: 'Storage Usage', - localDisk: 'Local Disk', - highUsagePeriods: 'High Usage Periods', - timeRange: 'Time Range', + recent24HourPeakPercent: '최근 24시간 피크 {0}', + loadAverage: '1 / 5 / 15분 부하: {0} / {1} / {2}', + sourceMount: '마운트 포인트 {0}', + storageUsage: '저장 공간 사용량', + localDisk: '로컬 디스크', + highUsagePeriods: '고부하 시간대', + timeRange: '시간 범위', threshold: '임계값', - duration: 'Duration', - peak: 'Peak', - scoring: 'Scoring', - counted: 'Counted', - notCounted: 'Not Counted', - dataSource: 'Data Source', - noHighUsagePeriod: 'No high usage periods', - monitorDisabledOrNoData: 'Host monitoring is disabled or no monitor data is available', - systemHealthStatus: 'Last 24h Host Runtime Risk', - mainReasons: 'Main Reasons', - viewHostMonitor: 'View Host Monitor', + duration: '지속 시간', + peak: '피크', + scoring: '점수 산정', + counted: '산정됨', + notCounted: '미산정', + dataSource: '데이터 소스', + noHighUsagePeriod: '고부하 시간대가 없습니다', + monitorDisabledOrNoData: '호스트 모니터링이 미활성화되었거나 모니터 데이터가 없습니다', + systemHealthStatus: '최근 24시간 호스트 실행 위험 상태', + mainReasons: '주요 원인', + viewHostMonitor: '호스트 모니터 보기', systemHealthAttentionDesc: - '{0} risk items detected in the last 24 hours. Prioritize resource peaks and disk usage.', - systemHealthNormalDesc: 'Host runtime metrics were normal in the last 24 hours', - monitorEnabled: 'Monitoring Enabled', - cpuCoreUsage: '{0} / {1} cores', - load1Minute: '1-min load', - diskSpaceUsage: 'Disk Space Usage', - usedCapacity: 'Used / Total', - fileSystem: 'File System', - resourceTrendSummary: 'Resource Trend Summary', - last24Hours: 'Last 24 Hours', - granularityHour: 'Granularity: 1 hour', - current: 'Current', - average: 'Average', - totalItems: '{0} items', - to: 'to', - hoursShort: '{0} h', - minutesShort: '{0} min', - websiteStatus: 'Website Status', - websiteHealthStatus: 'Website Protection Health', - websiteHealthNormalReason: 'Websites, certificates, WAF, and website monitoring are healthy', + '최근 24시간 동안 {0}개의 위험 항목이 감지되었습니다. 리소스 피크와 디스크 사용률을 우선 확인하세요.', + systemHealthNormalDesc: '최근 24시간 호스트 실행 지표가 정상 상태입니다', + monitorEnabled: '모니터링 활성화됨', + cpuCoreUsage: '{0} / {1}코어', + load1Minute: '1분 부하', + diskSpaceUsage: '디스크 공간 사용량', + usedCapacity: '사용량 / 총 용량', + fileSystem: '파일 시스템', + resourceTrendSummary: '리소스 추이 요약', + last24Hours: '최근 24시간', + granularityHour: '단위: 1시간', + current: '현재', + average: '평균', + totalItems: '총 {0}건', + to: '~', + hoursShort: '{0}시간', + minutesShort: '{0}분', + websiteStatus: '웹사이트 상태', + websiteHealthStatus: '웹사이트 보호 건강 상태', + websiteHealthNormalReason: '웹사이트, 인증서, WAF, 웹사이트 모니터링이 모두 정상입니다', websiteHealthAttentionDesc: - '{0} risk items detected. Handle them soon to protect website security and availability.', - websiteHealthNormalDesc: 'Current website protection metrics are normal', - handleSslRisk: 'Handle Certificate Risks', - viewWaf: 'View WAF', - priority: 'Priority', - riskDescription: 'Risk Description', - deductScore: 'Deducted Score', - remaining: 'Remaining', - wafSourceIpTop: 'WAF Source IP TOP5', - wafAffectedSiteTop: 'Affected Sites TOP5', - sslRisk: 'Certificate Risks', - sslExpiring: 'Expiring Certificates', - includedInReport: 'Included in report', - needRenewal: 'Renewal recommended', - fromExpireInfo: 'From expiry information', - runningWebsite: 'Running Websites', - fromWebsiteStatus: 'From website list status', - stoppedWebsite: 'Stopped Websites', - confirmStoppedWebsite: 'Confirm whether this is expected', - expiringWebsite: 'Expiring Websites', - expiringSoon: 'Expiring Soon', - none: 'None', - noSslRisk: 'No certificates need handling', - websiteProtection: 'WAF and Website Monitoring', - websiteMonitor: 'Website Monitoring', + '{0}개의 위험 항목이 감지되었습니다. 웹사이트 보안과 가용성을 위해 신속히 처리하세요.', + websiteHealthNormalDesc: '현재 웹사이트 보호 지표가 정상 상태입니다', + handleSslRisk: '인증서 위험 처리', + viewWaf: 'WAF 보기', + priority: '우선순위', + riskDescription: '위험 설명', + deductScore: '감점 점수', + remaining: '잔여', + wafSourceIpTop: 'WAF 차단 출처 IP TOP5', + wafAffectedSiteTop: '영향받은 사이트 TOP5', + sslRisk: '인증서 위험', + sslExpiring: '인증서 만료 임박', + includedInReport: '보고서 포함', + needRenewal: '갱신 권장', + fromExpireInfo: '만료 정보 기반', + runningWebsite: '실행 중 웹사이트', + fromWebsiteStatus: '웹사이트 목록 상태 기반', + stoppedWebsite: '중지된 웹사이트', + confirmStoppedWebsite: '예상된 상태인지 확인하세요', + expiringWebsite: '만료 임박 웹사이트', + expiringSoon: '만료 임박', + none: '없음', + noSslRisk: '처리할 인증서가 없습니다', + websiteProtection: 'WAF 및 웹사이트 모니터링', + websiteMonitor: '웹사이트 모니터링', waf: 'WAF', - siteAvailability: 'Site Availability', - monitoredSites: 'Monitored Sites', - requestCount: 'Requests', - abnormalSites: 'Abnormal Sites', - count5xxSource: 'Counted by 5xx requests', - wafIntercept: 'WAF Blocks', - highRiskHit: 'High-risk Hits', - websiteMonitorDisabledOrNoData: 'Website monitoring is disabled or no monitor data is available', - wafDisabledOrNoData: 'WAF is disabled or no block data is available', - noWafData: 'No WAF block data', - sourceIP: 'Source IP', - hitCount: 'Hits', - level: 'Level', - attackType: 'Attack Type', - requestRatio: 'Request Ratio', - installed: 'Installed', - normalRunning: 'Running Normally', - failedStart: 'Startup Failed', - manualStopped: 'Manually Stopped', - failed: 'Failed', - success: 'Success', - canUpdate: 'Upgradable', - listSeparator: ', ', - containerCount: 'Containers', - stopped: 'Stopped', - abnormal: 'Abnormal', - abnormalContainers: 'Abnormal Containers', - resourceUsage: 'Resource Usage', - exposedContainerPorts: 'Exposed Ports', - portMapping: 'Port Mapping', - risk: 'Risk', - noAbnormalContainer: 'No abnormal containers', - noExposedContainer: 'No exposed ports detected', - publicExpose: 'Public Exposure', - privateExpose: 'Private Mapping', + siteAvailability: '사이트 가용률', + monitoredSites: '모니터링 사이트', + requestCount: '요청 수', + abnormalSites: '비정상 사이트', + count5xxSource: '5xx 요청 기준 집계', + wafIntercept: 'WAF 차단', + highRiskHit: '고위험 매칭', + websiteMonitorDisabledOrNoData: '웹사이트 모니터링이 미활성화되었거나 모니터 데이터가 없습니다', + wafDisabledOrNoData: 'WAF가 미활성화되었거나 차단 데이터가 없습니다', + noWafData: 'WAF 차단 데이터가 없습니다', + sourceIP: '출처 IP', + hitCount: '매칭 횟수', + level: '등급', + attackType: '공격 유형', + requestRatio: '요청 비율', + installed: '설치됨', + normalRunning: '정상 실행', + failedStart: '시작 실패', + manualStopped: '수동 중지', + failed: '실패', + success: '성공', + canUpdate: '업그레이드 가능', + listSeparator: '、', + containerCount: '컨테이너 수', + stopped: '중지', + abnormal: '비정상', + abnormalContainers: '비정상 컨테이너', + resourceUsage: '리소스 사용량', + exposedContainerPorts: '노출 포트', + portMapping: '포트 매핑', + risk: '위험', + noAbnormalContainer: '비정상 컨테이너가 없습니다', + noExposedContainer: '노출 포트가 감지되지 않았습니다', + publicExpose: '공인 노출', + privateExpose: '내부 매핑', resourceHealth: '런타임 리소스 상태', checkTime: '점검 시간', resourceHealthNormalDesc: '현재 애플리케이션, 데이터베이스, 컨테이너 리소스가 정상입니다', @@ -4343,22 +4350,22 @@ const message = { stoppedContainerSpace: '중지된 컨테이너 공간', unusedVolumeSpace: '사용하지 않는 볼륨 공간', buildCacheSpace: 'Docker 빌드 캐시 공간', - executionRecords: 'Execution Records', - successRate: 'Success Rate', - failedJobs: 'Failed Jobs', - recentRecoveryPoint: 'Latest Recovery Point', - remoteCoverage: 'Remote Coverage', - recent7Days: 'Last 7 days', - taskTypeStats: 'Task Type Statistics', - total: 'Total', - taskTypeDesc: '{0} enabled, {1} disabled', - failedOrAttentionTasks: 'Failed or Attention Tasks', - execution: 'Execution', - latestExecution: 'Latest Execution', - remoteBackup: 'Remote Backup', - localOnly: 'Local Only', - covered: 'Covered', - noAttentionCronjob: 'No failed or attention cron jobs', + executionRecords: '실행 기록', + successRate: '성공률', + failedJobs: '실패 작업', + recentRecoveryPoint: '최근 복구 지점', + remoteCoverage: '원격 포함', + recent7Days: '최근 7일', + taskTypeStats: '작업 유형 통계', + total: '합계', + taskTypeDesc: '활성 {0}개, 미활성 {1}개', + failedOrAttentionTasks: '실패 또는 주의 필요 작업', + execution: '실행 현황', + latestExecution: '최근 실행', + remoteBackup: '원격 백업', + localOnly: '로컬만', + covered: '포함됨', + noAttentionCronjob: '실패 또는 주의 필요한 예약 작업이 없습니다', cronjobHealth: '예약 작업 상태', cronjobHealthNormalDesc: '예약 작업 실행과 백업 구성이 정상입니다', cronjobHealthAttentionDesc: @@ -4371,68 +4378,68 @@ const message = { viewFailedRecords: '실패 작업 보기', viewCronjobTasks: '예약 작업 보기', checkBackupTasks: '백업 작업 확인', - generationRule: 'Generation Rules', - scheduleDaily: 'Daily', - scheduleDailyDesc: 'Generate a report for the last 24 hours at 09:00 every day', - scheduleWeekly: 'Weekly', - scheduleWeeklyDesc: 'Generate a report for the last 7 days at 09:00 every Monday', - scheduleMonthly: 'Monthly', - scheduleMonthlyDesc: 'Generate a report for the previous month at 09:00 on the 1st', - scheduleCurrentDaily: 'Every day at 09:00, generate the last 24 hours report · Next {0}', - scheduleCurrentWeekly: 'Every Monday at 09:00, generate the last 7 days report · Next {0}', - scheduleCurrentMonthly: 'On the 1st at 09:00, generate the previous month report · Next {0}', - notificationMethod: 'Notification Methods', - channel: 'Channel', - receiver: 'Receiver', + generationRule: '생성 규칙', + scheduleDaily: '매일', + scheduleDailyDesc: '매일 09:00에 최근 24시간 보고서 생성', + scheduleWeekly: '매주', + scheduleWeeklyDesc: '매주 월요일 09:00에 최근 7일 보고서 생성', + scheduleMonthly: '매월', + scheduleMonthlyDesc: '매월 1일 09:00에 전월 보고서 생성', + scheduleCurrentDaily: '매일 09:00에 최근 24시간 보고서 생성 · 다음 {0}', + scheduleCurrentWeekly: '매주 월요일 09:00에 최근 7일 보고서 생성 · 다음 {0}', + scheduleCurrentMonthly: '매월 1일 09:00에 전월 보고서 생성 · 다음 {0}', + notificationMethod: '통보 방식', + channel: '채널', + receiver: '수신 대상', systemThreshold: '시스템 임계값', - metric: 'Metric', - currentRule: 'Current Rule', - hostMonitor: 'Host Monitor', - monitorInterval: 'Monitor Interval', - exportSettings: 'Export Settings', - lastExportReport: 'Recent Generated Result', - noLastExportReport: 'No exported report records', - lastExportStatus: 'Last Export Status', - exportFile: 'Export File', - generateTime: 'Generated At', - fileSize: 'File Size', - viewExportHistory: 'View Export History', - defaultFormat: 'Default Format', - savePath: 'Save Directory', - savePathRequired: 'Set the report save directory', - autoExport: 'Enable Auto Export', - autoExportDesc: 'Generate an Ops Report automatically every day at 09:00 when enabled', - autoExportEnabled: 'Auto export enabled', - autoExportDisabled: 'Auto export disabled', + metric: '지표', + currentRule: '현재 규칙', + hostMonitor: '호스트 모니터링', + monitorInterval: '모니터링 간격', + exportSettings: '내보내기 설정', + lastExportReport: '최근 생성 결과', + noLastExportReport: '내보내기 보고서 기록이 없습니다', + lastExportStatus: '마지막 내보내기 상태', + exportFile: '내보내기 파일', + generateTime: '생성 시간', + fileSize: '파일 크기', + viewExportHistory: '내보내기 기록 보기', + defaultFormat: '기본 형식', + savePath: '저장 경로', + savePathRequired: '보고서 저장 경로를 설정하세요', + autoExport: '자동 내보내기 활성화', + autoExportDesc: '활성화 시 매일 09:00에 자동으로 운영 보고서를 생성합니다', + autoExportEnabled: '자동 내보내기 활성화됨', + autoExportDisabled: '자동 내보내기 비활성화됨', readOnlyPermissionTip: - 'The current account can only view Ops Report settings. Contact an administrator to make changes.', - refreshing: 'Refreshing', - exporting: 'Exporting', - exportFailed: 'Failed to export report', - generating: 'Generating', - saved: 'Saved', - saveFailed: 'Failed to save settings', - generateNow: 'Generate Now', - generateSuccess: 'Report file generated: {0}', - generateFailed: 'Failed to generate report', - enabledStatus: 'Enabled', - disabledStatus: 'Disabled', - thresholdRule: 'Threshold {0}, trigger after {1} consecutive times', - hours: '{0} hours', - minutes: '{0} minutes', - seconds: '{0} seconds', - totalExports: 'Total Exports', - successExports: 'Successful Exports', - failedExports: 'Failed Exports', - reportName: 'Report Name', - exportFormat: 'Export Format', - operator: 'Operator', - triggerType: 'Trigger', - filePath: 'File Path', - manualExport: 'Manual', - scheduledExport: 'Scheduled', - exportResult: 'Export Result', - exportDetail: 'Export Detail', + '현재 계정은 운영 보고서 설정을 볼 수만 있습니다. 수정이 필요하면 관리자에게 문의하세요.', + refreshing: '새로고침 중', + exporting: '내보내기 중', + exportFailed: '보고서 내보내기 실패', + generating: '생성 중', + saved: '저장됨', + saveFailed: '설정 저장 실패', + generateNow: '즉시 생성', + generateSuccess: '보고서 파일 생성됨: {0}', + generateFailed: '보고서 생성 실패', + enabledStatus: '활성화', + disabledStatus: '비활성화', + thresholdRule: '임계값 {0}, 연속 {1}회 트리거', + hours: '{0}시간', + minutes: '{0}분', + seconds: '{0}초', + totalExports: '총 내보내기 수', + successExports: '성공 내보내기', + failedExports: '실패 내보내기', + reportName: '보고서 이름', + exportFormat: '내보내기 형식', + operator: '운영자', + triggerType: '트리거 방식', + filePath: '파일 경로', + manualExport: '수동', + scheduledExport: '예약', + exportResult: '내보내기 결과', + exportDetail: '내보내기 설명', }, }, user: { diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index 7c4bcb336391..78cf154f4bf5 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -4072,393 +4072,393 @@ const message = { website: 'Perlindungan Laman Web', resource: 'Sumber Operasi', cronjob: 'Tugas Berjadual', - alert: 'Alert Notifications', + alert: 'Pemberitahuan Amaran', history: 'Sejarah Eksport', setting: 'Tetapan', page: { - enterprise: 'Enterprise', - reportNode: 'Report Node', - selectReportNode: 'Select report node', - currentNode: 'Current', - scoreMeta: '{0} points deducted · {1} risks', - hostAddress: 'Host Address', - panelVersion: 'Panel Version', - cpuCores: 'Physical Cores', - coreUnit: '{0} cores', - memoryTotal: 'Memory Total', - reportDate: 'Report Date', - serverSecurityOverview: 'Server Security Operations Overview', - securityScore: 'Security Score', + enterprise: 'Edisi Perusahaan', + reportNode: 'Nod Laporan', + selectReportNode: 'Pilih nod laporan', + currentNode: 'Semasa', + scoreMeta: 'Potongan {0} mata · {1} risiko', + hostAddress: 'Alamat Hos', + panelVersion: 'Versi Panel', + cpuCores: 'Teras Fizikal', + coreUnit: '{0} teras', + memoryTotal: 'Jumlah Memori', + reportDate: 'Tarikh Laporan', + serverSecurityOverview: 'Gambaran Keseluruhan Keselamatan Pelayan', + securityScore: 'Skor Keselamatan', overviewSummary: - 'Current security level: {0}. {1} points deducted, {2} risk items found, {3} objects checked.', - riskDistribution: 'Risk Distribution', - totalDeducted: 'Total deducted', - noRiskDeducted: 'No deductions', - scoreTrend: 'Score Trend', - scoreLevelSafe: 'Safe', - scoreLevelAttention: 'Needs Attention', - scoreLevelMediumRisk: 'Medium Risk', - scoreLevelHighRisk: 'High Risk', - scoreCategoryHost: 'Host Resources', - scoreCategoryLogin: 'Login Security', - scoreCategoryWebsite: 'Websites & Certificates', - scoreCategoryCronjob: 'Cron Jobs', - scoreCategoryResource: 'Runtime Resources', - scoreDiskHigh: 'Disk {0} usage is {1}%', - scoreDiskMedium: 'Disk {0} usage is {1}%', - scoreResourceHigh: '{0} current usage is {1}%', - scoreResourceMedium: '{0} current usage is {1}%', - scoreLoadMedium: 'Current load is {0}', - scoreMonitorDisabled: 'Host monitoring is disabled', - scorePanelLoginFailedHigh: 'Panel login failed {0} times', - scorePanelLoginFailedMedium: 'Panel login failed {0} times', - scoreSSHLoginFailedHigh: 'SSH login failed {0} times', - scoreSSHLoginFailedMedium: 'SSH login failed {0} times', - scoreMFADisabled: 'MFA is disabled', - scoreAllowIPsOpen: 'Allowed IPs and bound domain are not configured or access is unrestricted', - scorePasswordExpired: 'Panel password has expired', - scorePasswordExpiring: 'Panel password expires in {0} days', - scorePanelHTTPSDisabled: 'Panel HTTPS is disabled', - scoreSSHRootLogin: 'SSH root login is allowed', - scoreSSHPasswordAuth: 'SSH password auth is enabled without key auth', - scoreSSLHigh: '{0} certificate expires in {1} days', - scoreSSLMedium: '{0} certificate expires in {1} days', - scoreWebsiteExpire: '{0} website expires in {1} days', - scoreWebsiteHTTP: '{0} does not use HTTPS', - scoreWebsiteStopped: '{0} status is abnormal', - scoreWebsiteMonitorUnavailable: 'Website monitoring detected an unavailable site', - scoreWebsiteMonitorAvailability: 'Website monitoring availability {0}% is below the threshold', - scoreWafDisabled: 'WAF is disabled and websites are not protected', - scoreWafHighRiskHit: 'WAF matched {0} risk rules in the reporting period', - scoreCronjobFailed: '{0} cron job failure records in the last 7 days', - scoreAppFailed: '{0} app is abnormal', - scoreAppStopped: '{0} app has stopped', - scoreContainerHigh: '{0} container status is abnormal', - scoreContainerExited: '{0} container has stopped', - scoreContainerResource: '{0} container resource usage is high', - attentionItems: 'Attention Items', - attentionAssets: 'Attention Assets', - riskItems: 'Risk Items', - object: 'Object', - description: 'Description', - itemUnit: 'items', - recordUnit: 'records', - certUnit: 'certs', - containerUnit: 'containers', - loginFailed: 'Failed Logins', - sslExpire: 'Certificate Expiry', - abnormalContainer: 'Abnormal Containers', - statAttentionDesc: '{0} points deducted', + 'Tahap keselamatan semasa: {0}. {1} mata dipotong, {2} item risiko dikenal pasti, {3} objek diperiksa.', + riskDistribution: 'Taburan Risiko', + totalDeducted: 'Jumlah potongan', + noRiskDeducted: 'Tiada potongan', + scoreTrend: 'Trend Skor', + scoreLevelSafe: 'Selamat', + scoreLevelAttention: 'Perlu Perhatian', + scoreLevelMediumRisk: 'Risiko Sederhana', + scoreLevelHighRisk: 'Risiko Tinggi', + scoreCategoryHost: 'Sumber Hos', + scoreCategoryLogin: 'Keselamatan Log Masuk', + scoreCategoryWebsite: 'Laman Web & Sijil', + scoreCategoryCronjob: 'Tugas Berjadual', + scoreCategoryResource: 'Sumber Masa Jalan', + scoreDiskHigh: 'Penggunaan cakera {0} adalah {1}%', + scoreDiskMedium: 'Penggunaan cakera {0} adalah {1}%', + scoreResourceHigh: 'Penggunaan semasa {0} adalah {1}%', + scoreResourceMedium: 'Penggunaan semasa {0} adalah {1}%', + scoreLoadMedium: 'Beban semasa ialah {0}', + scoreMonitorDisabled: 'Pemantauan hos dilumpuhkan', + scorePanelLoginFailedHigh: 'Log masuk panel gagal {0} kali', + scorePanelLoginFailedMedium: 'Log masuk panel gagal {0} kali', + scoreSSHLoginFailedHigh: 'Log masuk SSH gagal {0} kali', + scoreSSHLoginFailedMedium: 'Log masuk SSH gagal {0} kali', + scoreMFADisabled: 'MFA dilumpuhkan', + scoreAllowIPsOpen: 'IP dibenarkan dan domain terikat tidak dikonfigurasi atau akses tidak terhad', + scorePasswordExpired: 'Kata laluan panel telah tamat tempoh', + scorePasswordExpiring: 'Kata laluan panel tamat tempoh dalam {0} hari', + scorePanelHTTPSDisabled: 'Panel HTTPS dilumpuhkan', + scoreSSHRootLogin: 'Log masuk root SSH dibenarkan', + scoreSSHPasswordAuth: 'Kata laluan SSH didayakan tanpa pengesahan kunci', + scoreSSLHigh: 'Sijil {0} tamat tempoh dalam {1} hari', + scoreSSLMedium: 'Sijil {0} tamat tempoh dalam {1} hari', + scoreWebsiteExpire: 'Laman web {0} tamat tempoh dalam {1} hari', + scoreWebsiteHTTP: '{0} tidak menggunakan HTTPS', + scoreWebsiteStopped: 'Status {0} tidak normal', + scoreWebsiteMonitorUnavailable: 'Pemantauan laman web mengesan tapak tidak tersedia', + scoreWebsiteMonitorAvailability: 'Ketersediaan pemantauan laman web {0}% di bawah ambang', + scoreWafDisabled: 'WAF dilumpuhkan dan laman web tidak dilindungi', + scoreWafHighRiskHit: 'WAF sepadan dengan {0} peraturan risiko dalam tempoh laporan', + scoreCronjobFailed: '{0} rekod kegagalan tugas berjadual dalam 7 hari terakhir', + scoreAppFailed: 'Aplikasi {0} tidak normal', + scoreAppStopped: 'Aplikasi {0} telah berhenti', + scoreContainerHigh: 'Status bekas {0} tidak normal', + scoreContainerExited: 'Bekas {0} telah berhenti', + scoreContainerResource: 'Penggunaan sumber bekas {0} terlalu tinggi', + attentionItems: 'Item Perhatian', + attentionAssets: 'Aset Perhatian', + riskItems: 'Item Risiko', + object: 'Objek', + description: 'Penerangan', + itemUnit: 'item', + recordUnit: 'rekod', + certUnit: 'sijil', + containerUnit: 'bekas', + loginFailed: 'Log Masuk Gagal', + sslExpire: 'Tamat Tempoh Sijil', + abnormalContainer: 'Bekas Tidak Normal', + statAttentionDesc: '{0} mata dipotong', statLoginDesc: 'Panel {0} · SSH {1}', - statSslDesc: '{0} certificates checked', - statContainerDesc: '{0} containers checked', - assetHostDesc: 'Max disk usage {0}%', - assetWebsiteDesc: '{0} certificates expiring soon, {1} abnormal websites', - assetResourceDesc: '{0} abnormal apps, {1} stopped apps, {2} abnormal containers', - assetCronjobDesc: '{0} failure records in the last 7 days, {1} disabled jobs', - app: 'Apps', - website: 'Websites', - websiteSsl: 'Websites / Certificates', - cronjob: 'Cron Jobs', - container: 'Containers', - sslCertificate: 'SSL Certificates', - loginSecurity: 'Login Security', - panelLogin: 'Panel Login', - sshLogin: 'SSH Login', - failedRecord: 'Failed Records', - expiredDays: 'Expired {0} days ago', - remainingDays: '{0} · {1} days left', - enabled: 'Enabled', - disabled: 'Disabled', - exportRecordFailed: 'Failed to save export record', - hostInfo: 'Host Info', - hostname: 'Hostname', - osVersion: 'OS Version', - kernelVersion: 'Kernel Version', - arch: 'Architecture', - uptime: 'Uptime', - diskUsage: 'Disk Usage', - mountPoint: 'Mount Point', - device: 'Device', - capacity: 'Capacity', - used: 'Used', - usageRate: 'Usage', - memory: 'Memory', - load: 'Load', - maxDiskUsage: 'Max Disk Usage', - panelLoginSecurity: 'Panel Login Security', - sshSecurity: 'Linux Server SSH Security', - panelFailedRecords: 'Panel Failed Login Records', - sshFailedRecords: 'SSH Failed Login Records', - location: 'Location', - configItem: 'Config Item', - currentValue: 'Current Value', - securityEntrance: 'Security Entrance', - configured: 'Configured', - notConfigured: 'Not Configured', + statSslDesc: '{0} sijil diperiksa', + statContainerDesc: '{0} bekas diperiksa', + assetHostDesc: 'Penggunaan cakera maksimum {0}%', + assetWebsiteDesc: '{0} sijil hampir tamat tempoh, {1} laman web tidak normal', + assetResourceDesc: '{0} aplikasi tidak normal, {1} aplikasi berhenti, {2} bekas tidak normal', + assetCronjobDesc: '{0} rekod kegagalan dalam 7 hari terakhir, {1} tugas dilumpuhkan', + app: 'Aplikasi', + website: 'Laman Web', + websiteSsl: 'Laman Web / Sijil', + cronjob: 'Tugas Berjadual', + container: 'Bekas', + sslCertificate: 'Sijil SSL', + loginSecurity: 'Keselamatan Log Masuk', + panelLogin: 'Log Masuk Panel', + sshLogin: 'Log Masuk SSH', + failedRecord: 'Rekod Gagal', + expiredDays: 'Tamat tempoh {0} hari lalu', + remainingDays: '{0} · Baki {1} hari', + enabled: 'Didayakan', + disabled: 'Dilumpuhkan', + exportRecordFailed: 'Gagal menyimpan rekod eksport', + hostInfo: 'Maklumat Hos', + hostname: 'Nama Hos', + osVersion: 'Versi OS', + kernelVersion: 'Versi Kernel', + arch: 'Seni Bina', + uptime: 'Masa Operasi', + diskUsage: 'Penggunaan Cakera', + mountPoint: 'Titik Pemasangan', + device: 'Peranti', + capacity: 'Kapasiti', + used: 'Digunakan', + usageRate: 'Kadar Penggunaan', + memory: 'Memori', + load: 'Beban', + maxDiskUsage: 'Penggunaan Cakera Maksimum', + panelLoginSecurity: 'Keselamatan Log Masuk Panel', + sshSecurity: 'Keselamatan SSH Pelayan Linux', + panelFailedRecords: 'Rekod Log Masuk Panel Gagal', + sshFailedRecords: 'Rekod Log Masuk SSH Gagal', + location: 'Lokasi', + configItem: 'Item Konfigurasi', + currentValue: 'Nilai Semasa', + securityEntrance: 'Pintu Masuk Keselamatan', + configured: 'Dikonfigurasi', + notConfigured: 'Belum Dikonfigurasi', normal: 'Normal', - needAttention: 'Needs Attention', - allowIPs: 'Allowed IPs', - restricted: 'Restricted', - unrestricted: 'Unrestricted', - bindDomain: 'Bound Domain', - accessRestriction: 'Access Restriction', + needAttention: 'Perlu Perhatian', + allowIPs: 'IP Dibenarkan', + restricted: 'Dihadkan', + unrestricted: 'Tidak Dihadkan', + bindDomain: 'Domain Terikat', + accessRestriction: 'Sekatan Akses', panelHTTPS: 'Panel HTTPS', - passwordComplexity: 'Password Complexity', - sshService: 'SSH Service', - running: 'Running', - notRunning: 'Not Running', - listenPort: 'Listen Port', - read: 'Read', - rootLogin: 'Root Login', - passwordAuth: 'Password Auth', - keyAuth: 'Key Auth', - panelLoginFailed: 'Panel Failed Logins', - sshLoginFailed: 'SSH Failed Logins', - panelSecurityItems: 'Panel Security Items', - sshSecurityItems: 'SSH Security Items', - loginSecurityHealthStatus: 'Login Security Health', - adjustSSHSecurity: 'Adjust SSH Security', - viewLoginLogs: 'View Login Logs', - riskLevel: 'Risk Level', - goConfig: 'Configure', - viewMore: 'View More', - involvedIPs: '{0} IPs involved', - sessionTimeout: 'Session Timeout', - countUnit: 'times', - recent24Hours: 'Last 24 hours', + passwordComplexity: 'Kerumitan Kata Laluan', + sshService: 'Perkhidmatan SSH', + running: 'Berjalan', + notRunning: 'Tidak Berjalan', + listenPort: 'Port Mendengar', + read: 'Dibaca', + rootLogin: 'Log Masuk Root', + passwordAuth: 'Pengesahan Kata Laluan', + keyAuth: 'Pengesahan Kunci', + panelLoginFailed: 'Log Masuk Panel Gagal', + sshLoginFailed: 'Log Masuk SSH Gagal', + panelSecurityItems: 'Item Keselamatan Panel', + sshSecurityItems: 'Item Keselamatan SSH', + loginSecurityHealthStatus: 'Status Kesihatan Keselamatan Log Masuk', + adjustSSHSecurity: 'Laraskan Keselamatan SSH', + viewLoginLogs: 'Lihat Log Log Masuk', + riskLevel: 'Tahap Risiko', + goConfig: 'Konfigurasi', + viewMore: 'Lihat Lagi', + involvedIPs: '{0} IP terlibat', + sessionTimeout: 'Masa Tamat Sesi', + countUnit: 'kali', + recent24Hours: '24 jam terakhir', currentService: 'Perkhidmatan semasa', - riskItemsExist: '{0} risk items', + riskItemsExist: '{0} item risiko', loginHealthRiskDesc: - '{0} risky configurations detected. Harden login security to reduce intrusion risk.', - loginHealthNormalDesc: 'Current login and SSH security configurations are normal', - loginHealthNormalReason: 'Login security is normal', - securityEntranceConfiguredDesc: 'Security entrance is configured to reduce default entry exposure', - securityEntranceRiskDesc: 'Security entrance is disabled. Hide the default login entry', - allowIPsRestrictedDesc: 'Allowed IPs are restricted for Panel access', - allowIPsRiskDesc: 'Access IPs are unrestricted. Configure allowed IPs for public environments', - bindDomainRestrictedDesc: 'Access domain is bound', - bindDomainRiskDesc: 'Access domain is not bound. Restrict access to a fixed domain', - accessRestrictionValue: 'Allowed IPs: {0} / Bound Domain: {1}', + '{0} konfigurasi berisiko dikesan. Kukuhkan keselamatan log masuk untuk mengurangkan risiko pencerobohan.', + loginHealthNormalDesc: 'Konfigurasi keselamatan log masuk dan SSH semasa adalah normal', + loginHealthNormalReason: 'Keselamatan log masuk adalah normal', + securityEntranceConfiguredDesc: 'Pintu masuk keselamatan dikonfigurasi untuk mengurangkan pendedahan laluan lalai', + securityEntranceRiskDesc: 'Pintu masuk keselamatan tidak didayakan. Sembunyikan pintu masuk log masuk lalai', + allowIPsRestrictedDesc: 'IP dibenarkan dihadkan untuk akses panel', + allowIPsRiskDesc: 'IP akses tidak dihadkan. Konfigurasikan IP dibenarkan untuk persekitaran awam', + bindDomainRestrictedDesc: 'Domain akses telah diikat', + bindDomainRiskDesc: 'Domain akses belum diikat. Hadkan akses kepada domain tetap', + accessRestrictionValue: 'IP Dibenarkan: {0} / Domain Terikat: {1}', accessRestrictionNormalDesc: - 'Allowed IPs or bound domain is configured to restrict Panel access sources', + 'IP dibenarkan atau domain terikat dikonfigurasi untuk mengehadkan sumber akses panel', accessRestrictionRiskDesc: - 'Allowed IPs and bound domain are not configured or access is unrestricted. Configure at least one', - panelHTTPSNormalDesc: 'Panel HTTPS is enabled', - panelHTTPSRiskDesc: 'Panel HTTPS is disabled. Login traffic may be exposed', - passwordComplexityNormalDesc: 'Password complexity verification is enabled', + 'IP dibenarkan dan domain terikat tidak dikonfigurasi atau akses tidak terhad. Konfigurasikan sekurang-kurangnya satu', + panelHTTPSNormalDesc: 'Panel HTTPS didayakan', + panelHTTPSRiskDesc: 'Panel HTTPS dilumpuhkan. Laluan log masuk mungkin terdedah', + passwordComplexityNormalDesc: 'Pengesahan kerumitan kata laluan didayakan', passwordComplexityRiskDesc: - 'Password complexity verification is disabled, increasing weak password risk', - sessionTimeoutNormalDesc: 'Session timeout is within a safer range', - sessionTimeoutRiskDesc: 'Session timeout is long. Limit idle session lifetime', - sshServiceNormalDesc: 'SSH service is running normally', - sshServiceRiskDesc: 'SSH service is not running or is abnormal', - sshPortNormalDesc: 'SSH port is changed from the default port', - sshPortRiskDesc: 'SSH still uses default port 22. Change it when appropriate', - rootLoginNormalDesc: 'Root user cannot log in directly', - rootLoginRiskDesc: 'Root user can log in directly. Disable it', - passwordAuthNormalDesc: 'SSH password login is disabled', - passwordAuthRiskDesc: 'Password login is allowed, increasing brute-force risk', - keyAuthNormalDesc: 'SSH key authentication is enabled', - keyAuthRiskDesc: 'Key authentication is disabled. Use key-based login', - websiteOverview: 'Website Overview', - primaryDomain: 'Primary Domain', - expireTime: 'Expiry Time', + 'Pengesahan kerumitan kata laluan dilumpuhkan, meningkatkan risiko kata laluan lemah', + sessionTimeoutNormalDesc: 'Masa tamat sesi berada dalam julat yang lebih selamat', + sessionTimeoutRiskDesc: 'Masa tamat sesi terlalu lama. Hadkan tempoh sesi terbiar', + sshServiceNormalDesc: 'Perkhidmatan SSH berjalan normal', + sshServiceRiskDesc: 'Perkhidmatan SSH tidak berjalan atau tidak normal', + sshPortNormalDesc: 'Port SSH telah ditukar daripada port lalai', + sshPortRiskDesc: 'Masih menggunakan port lalai 22. Tukar jika perlu', + rootLoginNormalDesc: 'Pengguna root tidak dapat log masuk terus', + rootLoginRiskDesc: 'Pengguna root boleh log masuk terus. Lumpuhkannya', + passwordAuthNormalDesc: 'Log masuk kata laluan SSH dilumpuhkan', + passwordAuthRiskDesc: 'Log masuk kata laluan dibenarkan, meningkatkan risiko serangan ganas', + keyAuthNormalDesc: 'Pengesahan kunci SSH didayakan', + keyAuthRiskDesc: 'Pengesahan kunci tidak didayakan. Gunakan log masuk berasaskan kunci', + websiteOverview: 'Gambaran Laman Web', + primaryDomain: 'Domain Utama', + expireTime: 'Masa Tamat Tempoh', domain: 'Domain', - issuer: 'Issuer', - autoRenew: 'Auto Renew', - websiteCount: 'Websites', - httpsWebsite: 'HTTPS Websites', - certCount: 'Certificates', - websiteExpire: 'Website Expiry', - database: 'Databases', - remoteDatabase: 'Remote Databases', - address: 'Address', - containerResourceUsage: 'Container Resource Usage', - spaceUsage: 'Space Usage', - reclaimable: 'Reclaimable', - containerReclaimable: 'Container Reclaimable', - image: 'Images', - volume: 'Volumes', - buildCache: 'Build Cache', - alert: 'Alert', - alertConfigured: 'Alerts Configured', - alertOperations: 'Alert Notifications', - alertTaskCount: 'Alert Tasks', - enabledAlertTask: 'Enabled Tasks', - disabledAlertTask: 'Disabled Tasks', - alertChannels: 'Notification Channels', - alertLogCount: 'Alert Logs', - alertSuccessRate: 'Alert Success Rate', - alertFailedLogs: 'Failed Alert Logs', - alertPendingLogs: 'Pending Sync Logs', - alertPending: 'Pending Sync', - alertTaskStats: 'Alert Task Statistics', - alertTaskType: 'Alert Type', - alertLogStatusStats: 'Alert Execution Status', + issuer: 'Penerbit', + autoRenew: 'Perbaharui Automatik', + websiteCount: 'Laman Web', + httpsWebsite: 'Laman Web HTTPS', + certCount: 'Sijil', + websiteExpire: 'Tamat Tempoh Laman Web', + database: 'Pangkalan Data', + remoteDatabase: 'Pangkalan Data Jauh', + address: 'Alamat', + containerResourceUsage: 'Penggunaan Sumber Bekas', + spaceUsage: 'Penggunaan Ruang', + reclaimable: 'Boleh Dituntut Semula', + containerReclaimable: 'Bekas Boleh Dituntut Semula', + image: 'Imej', + volume: 'Volum', + buildCache: 'Cache Binaan', + alert: 'Amaran', + alertConfigured: 'Amaran Dikonfigurasi', + alertOperations: 'Pemberitahuan Amaran', + alertTaskCount: 'Tugas Amaran', + enabledAlertTask: 'Tugas Didayakan', + disabledAlertTask: 'Tugas Dilumpuhkan', + alertChannels: 'Saluran Pemberitahuan', + alertLogCount: 'Log Amaran', + alertSuccessRate: 'Kadar Kejayaan Amaran', + alertFailedLogs: 'Log Amaran Gagal', + alertPendingLogs: 'Log Menunggu Sync', + alertPending: 'Menunggu Sync', + alertTaskStats: 'Statistik Tugas Amaran', + alertTaskType: 'Jenis Amaran', + alertLogStatusStats: 'Status Pelaksanaan Amaran', alertHealthNormal: 'Normal', - alertHealthAttention: 'Needs Attention', - alertHealthRisk: 'High Risk', - alertHealthSummary: 'Alert Health', - alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy', - alertNoChannelReason: 'No notification channel is enabled', - alertFailedLogReason: '{0} failed alert logs found', - alertPendingReason: '{0} alert logs are pending sync', - alertDisabledTaskReason: '{0} alert tasks are disabled', - alertNoTaskReason: 'No alert tasks are configured', - goAlertConfig: 'Alert Config', - goAlertLogs: 'Alert Logs', - configureAlertChannel: 'Configure Channels', - createAlertTask: 'Create Alert Task', - viewAlertTasks: 'View Alert Tasks', - viewFailedAlertLogs: 'View Failed Logs', - viewAlertLogs: 'View Alert Logs', - alertChannelSummary: '{0} / {1} channels enabled', - alertTaskEnabledDesc: '{0} tasks enabled', - alertTaskSummary: '{0} enabled, {1} disabled', - alertLogSummary: '{0} successful, {1} failed', - alertPendingDesc: '{0} logs pending sync', - alertLogSuccessDesc: 'Notification completed', - alertLogFailedDesc: 'Check channel configuration or delivery path', - alertLogPendingDesc: 'Offline or sync path pending', - failedAlertLogs: 'Failed Alert Logs', - disabledAlertTasks: 'Disabled Alert Tasks', - alertTableDisplayDesc: 'Showing {0} of {1}', - alertMsg: 'Alert Message', - alertMethod: 'Alert Method', - alertRule: 'Alert Rule', - noAlertTask: 'No alert tasks', - noFailedAlertLog: 'No failed alert logs', - noDisabledAlertTask: 'No disabled alert tasks', - alertCronjobType: 'Cron Job: {0}', - alertAllTargets: 'All Targets', - alertAllDisks: 'All Disks', - alertAllCertificates: 'All Certificates', - alertAllWebsites: 'All Websites', - alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day', - alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day', - alertTimeRuleShort: 'Trigger within {0} days, send {1} times', - alertSendCountRuleShort: 'Send {0} times per day', - alertConfigInvalid: 'Invalid Config', - scoreCategoryAlert: 'Alert Notifications', - scoreAlertNoTask: 'No alert tasks are configured', - scoreAlertNoEnabledTask: 'All alert tasks are disabled', - scoreAlertDisabledTask: '{0} alert tasks are disabled', - scoreAlertNoChannel: 'No alert notification channel is enabled', - scoreAlertFailedHigh: '{0} alert failure logs found', - scoreAlertFailedMedium: '{0} alert failure logs found', - scoreAlertPending: '{0} alert logs are pending sync', - statAlertDesc: '{0} enabled tasks · {1} channels', - assetAlertDesc: '{0} failed logs, {1} pending sync logs', - failedExecutionRecords: 'Failed Execution Records', - taskID: 'Task ID', - executeTime: 'Execution Time', - backupTasks: 'Backup Tasks', - systemMetrics: 'Runtime Metrics', + alertHealthAttention: 'Perlu Perhatian', + alertHealthRisk: 'Risiko Tinggi', + alertHealthSummary: 'Status Kesihatan Amaran', + alertHealthNormalReason: 'Tugas amaran, saluran pemberitahuan dan log pelaksanaan adalah sihat', + alertNoChannelReason: 'Tiada saluran pemberitahuan didayakan', + alertFailedLogReason: '{0} log amaran gagal ditemui', + alertPendingReason: '{0} log amaran menunggu sync', + alertDisabledTaskReason: '{0} tugas amaran dilumpuhkan', + alertNoTaskReason: 'Tiada tugas amaran dikonfigurasi', + goAlertConfig: 'Konfigurasi Amaran', + goAlertLogs: 'Log Amaran', + configureAlertChannel: 'Konfigurasi Saluran', + createAlertTask: 'Cipta Tugas Amaran', + viewAlertTasks: 'Lihat Tugas Amaran', + viewFailedAlertLogs: 'Lihat Log Gagal', + viewAlertLogs: 'Lihat Log Amaran', + alertChannelSummary: '{0} / {1} saluran didayakan', + alertTaskEnabledDesc: '{0} tugas didayakan', + alertTaskSummary: '{0} didayakan, {1} dilumpuhkan', + alertLogSummary: '{0} berjaya, {1} gagal', + alertPendingDesc: '{0} log menunggu sync', + alertLogSuccessDesc: 'Pemberitahuan selesai', + alertLogFailedDesc: 'Semak konfigurasi saluran atau laluan penghantaran', + alertLogPendingDesc: 'Luar talian atau laluan sync belum selesai', + failedAlertLogs: 'Log Amaran Gagal', + disabledAlertTasks: 'Tugas Amaran Dilumpuhkan', + alertTableDisplayDesc: 'Memaparkan {0} daripada {1}', + alertMsg: 'Mesej Amaran', + alertMethod: 'Kaedah Amaran', + alertRule: 'Peraturan Amaran', + noAlertTask: 'Tiada tugas amaran', + noFailedAlertLog: 'Tiada log amaran gagal', + noDisabledAlertTask: 'Tiada tugas amaran dilumpuhkan', + alertCronjobType: 'Tugas Berjadual: {0}', + alertAllTargets: 'Semua Sasaran', + alertAllDisks: 'Semua Cakera', + alertAllCertificates: 'Semua Sijil', + alertAllWebsites: 'Semua Laman Web', + alertDiskRuleShort: '{0} melebihi {1}{2}, {3} kali sehari', + alertAverageRuleShort: 'Purata {0} minit melebihi {1}%, {2} kali sehari', + alertTimeRuleShort: 'Dicetuskan dalam {0} hari, dihantar {1} kali', + alertSendCountRuleShort: 'Dihantar {0} kali sehari', + alertConfigInvalid: 'Konfigurasi Tidak Sah', + scoreCategoryAlert: 'Pemberitahuan Amaran', + scoreAlertNoTask: 'Tiada tugas amaran dikonfigurasi', + scoreAlertNoEnabledTask: 'Semua tugas amaran dilumpuhkan', + scoreAlertDisabledTask: '{0} tugas amaran dilumpuhkan', + scoreAlertNoChannel: 'Tiada saluran pemberitahuan amaran didayakan', + scoreAlertFailedHigh: '{0} log kegagalan amaran ditemui', + scoreAlertFailedMedium: '{0} log kegagalan amaran ditemui', + scoreAlertPending: '{0} log amaran menunggu sync', + statAlertDesc: '{0} tugas didayakan · {1} saluran', + assetAlertDesc: '{0} log gagal, {1} log menunggu sync', + failedExecutionRecords: 'Rekod Pelaksanaan Gagal', + taskID: 'ID Tugas', + executeTime: 'Masa Pelaksanaan', + backupTasks: 'Tugas Sandaran', + systemMetrics: 'Metrik Masa Jalan', cpu: 'CPU', thresholdPercent: 'Ambang {0}%', - recent24HourPeakPercent: 'Last 24h peak {0}', - loadAverage: '1 / 5 / 15 minute load: {0} / {1} / {2}', - sourceMount: 'Mount point {0}', - storageUsage: 'Storage Usage', - localDisk: 'Local Disk', - highUsagePeriods: 'High Usage Periods', - timeRange: 'Time Range', + recent24HourPeakPercent: 'Puncak 24 jam terakhir {0}', + loadAverage: 'Beban 1 / 5 / 15 minit: {0} / {1} / {2}', + sourceMount: 'Titik pemasangan {0}', + storageUsage: 'Penggunaan Storan', + localDisk: 'Cakera Tempatan', + highUsagePeriods: 'Tempoh Penggunaan Tinggi', + timeRange: 'Julat Masa', threshold: 'Ambang', - duration: 'Duration', - peak: 'Peak', - scoring: 'Scoring', - counted: 'Counted', - notCounted: 'Not Counted', - dataSource: 'Data Source', - noHighUsagePeriod: 'No high usage periods', - monitorDisabledOrNoData: 'Host monitoring is disabled or no monitor data is available', - systemHealthStatus: 'Last 24h Host Runtime Risk', - mainReasons: 'Main Reasons', - viewHostMonitor: 'View Host Monitor', + duration: 'Tempoh', + peak: 'Puncak', + scoring: 'Pemarkahan', + counted: 'Dikira', + notCounted: 'Tidak Dikira', + dataSource: 'Sumber Data', + noHighUsagePeriod: 'Tiada tempoh penggunaan tinggi', + monitorDisabledOrNoData: 'Pemantauan hos dilumpuhkan atau tiada data pemantauan', + systemHealthStatus: 'Status Risiko Operasi Hos 24 Jam Terakhir', + mainReasons: 'Sebab Utama', + viewHostMonitor: 'Lihat Pemantauan Hos', systemHealthAttentionDesc: - '{0} risk items detected in the last 24 hours. Prioritize resource peaks and disk usage.', - systemHealthNormalDesc: 'Host runtime metrics were normal in the last 24 hours', - monitorEnabled: 'Monitoring Enabled', - cpuCoreUsage: '{0} / {1} cores', - load1Minute: '1-min load', - diskSpaceUsage: 'Disk Space Usage', - usedCapacity: 'Used / Total', - fileSystem: 'File System', - resourceTrendSummary: 'Resource Trend Summary', - last24Hours: 'Last 24 Hours', - granularityHour: 'Granularity: 1 hour', - current: 'Current', - average: 'Average', - totalItems: '{0} items', - to: 'to', - hoursShort: '{0} h', - minutesShort: '{0} min', - websiteStatus: 'Website Status', - websiteHealthStatus: 'Website Protection Health', - websiteHealthNormalReason: 'Websites, certificates, WAF, and website monitoring are healthy', + '{0} item risiko dikesan dalam 24 jam terakhir. Utamakan puncak sumber dan penggunaan cakera.', + systemHealthNormalDesc: 'Metrik operasi hos adalah normal dalam 24 jam terakhir', + monitorEnabled: 'Pemantauan Didayakan', + cpuCoreUsage: '{0} / {1} teras', + load1Minute: 'Beban 1 minit', + diskSpaceUsage: 'Penggunaan Ruang Cakera', + usedCapacity: 'Digunakan / Jumlah', + fileSystem: 'Sistem Fail', + resourceTrendSummary: 'Ringkasan Trend Sumber', + last24Hours: '24 Jam Terakhir', + granularityHour: 'Ketelitian: 1 jam', + current: 'Semasa', + average: 'Purata', + totalItems: '{0} item', + to: 'hingga', + hoursShort: '{0} jam', + minutesShort: '{0} minit', + websiteStatus: 'Status Laman Web', + websiteHealthStatus: 'Status Kesihatan Perlindungan Laman Web', + websiteHealthNormalReason: 'Laman web, sijil, WAF dan pemantauan laman web adalah sihat', websiteHealthAttentionDesc: - '{0} risk items detected. Handle them soon to protect website security and availability.', - websiteHealthNormalDesc: 'Current website protection metrics are normal', - handleSslRisk: 'Handle Certificate Risks', - viewWaf: 'View WAF', - priority: 'Priority', - riskDescription: 'Risk Description', - deductScore: 'Deducted Score', - remaining: 'Remaining', - wafSourceIpTop: 'WAF Source IP TOP5', - wafAffectedSiteTop: 'Affected Sites TOP5', - sslRisk: 'Certificate Risks', - sslExpiring: 'Expiring Certificates', - includedInReport: 'Included in report', - needRenewal: 'Renewal recommended', - fromExpireInfo: 'From expiry information', - runningWebsite: 'Running Websites', - fromWebsiteStatus: 'From website list status', - stoppedWebsite: 'Stopped Websites', - confirmStoppedWebsite: 'Confirm whether this is expected', - expiringWebsite: 'Expiring Websites', - expiringSoon: 'Expiring Soon', - none: 'None', - noSslRisk: 'No certificates need handling', - websiteProtection: 'WAF and Website Monitoring', - websiteMonitor: 'Website Monitoring', + '{0} item risiko dikesan. Selesaikan segera untuk melindungi keselamatan dan ketersediaan laman web.', + websiteHealthNormalDesc: 'Metrik perlindungan laman web semasa adalah normal', + handleSslRisk: 'Urusi Risiko Sijil', + viewWaf: 'Lihat WAF', + priority: 'Keutamaan', + riskDescription: 'Penerangan Risiko', + deductScore: 'Skor Dipotong', + remaining: 'Baki', + wafSourceIpTop: 'IP Sumber WAF TOP5', + wafAffectedSiteTop: 'Tapak Terjejas TOP5', + sslRisk: 'Risiko Sijil', + sslExpiring: 'Sijil Hampir Tamat', + includedInReport: 'Dimasukkan dalam laporan', + needRenewal: 'Disarankan perbaharui', + fromExpireInfo: 'Daripada maklumat tamat tempoh', + runningWebsite: 'Laman Web Berjalan', + fromWebsiteStatus: 'Daripada status senarai laman web', + stoppedWebsite: 'Laman Web Berhenti', + confirmStoppedWebsite: 'Sahkan sama ada seperti yang dijangka', + expiringWebsite: 'Laman Web Hampir Tamat', + expiringSoon: 'Akan Tamat Tempoh', + none: 'Tiada', + noSslRisk: 'Tiada sijil yang perlu diurus', + websiteProtection: 'WAF dan Pemantauan Laman Web', + websiteMonitor: 'Pemantauan Laman Web', waf: 'WAF', - siteAvailability: 'Site Availability', - monitoredSites: 'Monitored Sites', - requestCount: 'Requests', - abnormalSites: 'Abnormal Sites', - count5xxSource: 'Counted by 5xx requests', - wafIntercept: 'WAF Blocks', - highRiskHit: 'High-risk Hits', - websiteMonitorDisabledOrNoData: 'Website monitoring is disabled or no monitor data is available', - wafDisabledOrNoData: 'WAF is disabled or no block data is available', - noWafData: 'No WAF block data', - sourceIP: 'Source IP', - hitCount: 'Hits', - level: 'Level', - attackType: 'Attack Type', - requestRatio: 'Request Ratio', - installed: 'Installed', - normalRunning: 'Running Normally', - failedStart: 'Startup Failed', - manualStopped: 'Manually Stopped', - failed: 'Failed', - success: 'Success', - canUpdate: 'Upgradable', + siteAvailability: 'Ketersediaan Tapak', + monitoredSites: 'Tapak Dipantau', + requestCount: 'Jumlah Permintaan', + abnormalSites: 'Tapak Tidak Normal', + count5xxSource: 'Bilangan berdasarkan permintaan 5xx', + wafIntercept: 'Sekatan WAF', + highRiskHit: 'Hit Risiko Tinggi', + websiteMonitorDisabledOrNoData: 'Pemantauan laman web dilumpuhkan atau tiada data pemantauan', + wafDisabledOrNoData: 'WAF dilumpuhkan atau tiada data sekatan', + noWafData: 'Tiada data sekatan WAF', + sourceIP: 'IP Sumber', + hitCount: 'Jumlah Hit', + level: 'Tahap', + attackType: 'Jenis Serangan', + requestRatio: 'Nisbah Permintaan', + installed: 'Dipasang', + normalRunning: 'Berjalan Normal', + failedStart: 'Gagal Mula', + manualStopped: 'Dihentikan Secara Manual', + failed: 'Gagal', + success: 'Berjaya', + canUpdate: 'Boleh Dinaik Taraf', listSeparator: ', ', - containerCount: 'Containers', - stopped: 'Stopped', - abnormal: 'Abnormal', - abnormalContainers: 'Abnormal Containers', - resourceUsage: 'Resource Usage', - exposedContainerPorts: 'Exposed Ports', - portMapping: 'Port Mapping', - risk: 'Risk', - noAbnormalContainer: 'No abnormal containers', - noExposedContainer: 'No exposed ports detected', - publicExpose: 'Public Exposure', - privateExpose: 'Private Mapping', + containerCount: 'Bekas', + stopped: 'Berhenti', + abnormal: 'Tidak Normal', + abnormalContainers: 'Bekas Tidak Normal', + resourceUsage: 'Penggunaan Sumber', + exposedContainerPorts: 'Port Terdedah', + portMapping: 'Pemetaan Port', + risk: 'Risiko', + noAbnormalContainer: 'Tiada bekas tidak normal', + noExposedContainer: 'Tiada port terdedah dikesan', + publicExpose: 'Pendedahan Awam', + privateExpose: 'Pemetaan Persendirian', resourceHealth: 'Kesihatan Sumber Runtime', checkTime: 'Masa Semakan', resourceHealthNormalDesc: 'Aplikasi, pangkalan data dan bekas berada dalam keadaan sihat', @@ -4485,22 +4485,22 @@ const message = { stoppedContainerSpace: 'Ruang bekas terhenti', unusedVolumeSpace: 'Ruang volume tidak digunakan', buildCacheSpace: 'Ruang cache binaan Docker', - executionRecords: 'Execution Records', - successRate: 'Success Rate', - failedJobs: 'Failed Jobs', - recentRecoveryPoint: 'Latest Recovery Point', - remoteCoverage: 'Remote Coverage', - recent7Days: 'Last 7 days', - taskTypeStats: 'Task Type Statistics', - total: 'Total', - taskTypeDesc: '{0} enabled, {1} disabled', - failedOrAttentionTasks: 'Failed or Attention Tasks', - execution: 'Execution', - latestExecution: 'Latest Execution', - remoteBackup: 'Remote Backup', - localOnly: 'Local Only', - covered: 'Covered', - noAttentionCronjob: 'No failed or attention cron jobs', + executionRecords: 'Rekod Pelaksanaan', + successRate: 'Kadar Kejayaan', + failedJobs: 'Tugas Gagal', + recentRecoveryPoint: 'Titik Pemulihan Terkini', + remoteCoverage: 'Liputan Jauh', + recent7Days: '7 Hari Terakhir', + taskTypeStats: 'Statistik Jenis Tugas', + total: 'Jumlah', + taskTypeDesc: '{0} didayakan, {1} dilumpuhkan', + failedOrAttentionTasks: 'Tugas Gagal atau Perlu Perhatian', + execution: 'Pelaksanaan', + latestExecution: 'Pelaksanaan Terkini', + remoteBackup: 'Sandaran Jauh', + localOnly: 'Tempatan Sahaja', + covered: 'Diliputi', + noAttentionCronjob: 'Tiada tugas berjadual gagal atau perlu perhatian', cronjobHealth: 'Kesihatan Tugas Berjadual', cronjobHealthNormalDesc: 'Pelaksanaan tugas dan liputan sandaran berada dalam keadaan sihat', cronjobHealthAttentionDesc: '{0} item risiko dikesan. Utamakan tugas dilumpuhkan dan liputan sandaran.', @@ -4512,68 +4512,68 @@ const message = { viewFailedRecords: 'Lihat Tugas Gagal', viewCronjobTasks: 'Lihat Tugas Berjadual', checkBackupTasks: 'Semak Tugas Sandaran', - generationRule: 'Generation Rules', - scheduleDaily: 'Daily', - scheduleDailyDesc: 'Generate a report for the last 24 hours at 09:00 every day', - scheduleWeekly: 'Weekly', - scheduleWeeklyDesc: 'Generate a report for the last 7 days at 09:00 every Monday', - scheduleMonthly: 'Monthly', - scheduleMonthlyDesc: 'Generate a report for the previous month at 09:00 on the 1st', - scheduleCurrentDaily: 'Every day at 09:00, generate the last 24 hours report · Next {0}', - scheduleCurrentWeekly: 'Every Monday at 09:00, generate the last 7 days report · Next {0}', - scheduleCurrentMonthly: 'On the 1st at 09:00, generate the previous month report · Next {0}', - notificationMethod: 'Notification Methods', - channel: 'Channel', - receiver: 'Receiver', + generationRule: 'Peraturan Penjanaan', + scheduleDaily: 'Harian', + scheduleDailyDesc: 'Jana laporan 24 jam terakhir pada 09:00 setiap hari', + scheduleWeekly: 'Mingguan', + scheduleWeeklyDesc: 'Jana laporan 7 hari terakhir pada 09:00 setiap Isnin', + scheduleMonthly: 'Bulanan', + scheduleMonthlyDesc: 'Jana laporan bulan sebelumnya pada 09:00 setiap 1hb', + scheduleCurrentDaily: 'Setiap hari pada 09:00, jana laporan 24 jam terakhir · Seterusnya {0}', + scheduleCurrentWeekly: 'Setiap Isnin pada 09:00, jana laporan 7 hari terakhir · Seterusnya {0}', + scheduleCurrentMonthly: 'Pada 1hb pada 09:00, jana laporan bulan sebelumnya · Seterusnya {0}', + notificationMethod: 'Kaedah Pemberitahuan', + channel: 'Saluran', + receiver: 'Penerima', systemThreshold: 'Ambang Sistem', - metric: 'Metric', - currentRule: 'Current Rule', - hostMonitor: 'Host Monitor', - monitorInterval: 'Monitor Interval', - exportSettings: 'Export Settings', - lastExportReport: 'Recent Generated Result', - noLastExportReport: 'No exported report records', - lastExportStatus: 'Last Export Status', - exportFile: 'Export File', - generateTime: 'Generated At', - fileSize: 'File Size', - viewExportHistory: 'View Export History', - defaultFormat: 'Default Format', - savePath: 'Save Directory', - savePathRequired: 'Set the report save directory', - autoExport: 'Enable Auto Export', - autoExportDesc: 'Generate an Ops Report automatically every day at 09:00 when enabled', - autoExportEnabled: 'Auto export enabled', - autoExportDisabled: 'Auto export disabled', + metric: 'Metrik', + currentRule: 'Peraturan Semasa', + hostMonitor: 'Pemantauan Hos', + monitorInterval: 'Selang Pemantauan', + exportSettings: 'Tetapan Eksport', + lastExportReport: 'Hasil Janaan Terkini', + noLastExportReport: 'Tiada rekod laporan eksport', + lastExportStatus: 'Status Eksport Terakhir', + exportFile: 'Fail Eksport', + generateTime: 'Masa Penjanaan', + fileSize: 'Saiz Fail', + viewExportHistory: 'Lihat Sejarah Eksport', + defaultFormat: 'Format Lalai', + savePath: 'Direktori Simpan', + savePathRequired: 'Tetapkan direktori simpan laporan', + autoExport: 'Dayakan Eksport Automatik', + autoExportDesc: 'Jana Laporan Operasi secara automatik setiap hari pada 09:00 apabila didayakan', + autoExportEnabled: 'Eksport automatik didayakan', + autoExportDisabled: 'Eksport automatik dilumpuhkan', readOnlyPermissionTip: - 'The current account can only view Ops Report settings. Contact an administrator to make changes.', - refreshing: 'Refreshing', - exporting: 'Exporting', - exportFailed: 'Failed to export report', - generating: 'Generating', - saved: 'Saved', - saveFailed: 'Failed to save settings', - generateNow: 'Generate Now', - generateSuccess: 'Report file generated: {0}', - generateFailed: 'Failed to generate report', - enabledStatus: 'Enabled', - disabledStatus: 'Disabled', - thresholdRule: 'Threshold {0}, trigger after {1} consecutive times', - hours: '{0} hours', - minutes: '{0} minutes', - seconds: '{0} seconds', - totalExports: 'Total Exports', - successExports: 'Successful Exports', - failedExports: 'Failed Exports', - reportName: 'Report Name', - exportFormat: 'Export Format', - operator: 'Operator', - triggerType: 'Trigger', - filePath: 'File Path', + 'Akaun semasa hanya boleh melihat tetapan Laporan Operasi. Hubungi pentadbir untuk membuat perubahan.', + refreshing: 'Menyegarkan', + exporting: 'Mengeksport', + exportFailed: 'Gagal mengeksport laporan', + generating: 'Menjana', + saved: 'Disimpan', + saveFailed: 'Gagal menyimpan tetapan', + generateNow: 'Jana Sekarang', + generateSuccess: 'Fail laporan dijana: {0}', + generateFailed: 'Gagal menjana laporan', + enabledStatus: 'Didayakan', + disabledStatus: 'Dilumpuhkan', + thresholdRule: 'Ambang {0}, dicetuskan selepas {1} kali berturut-turut', + hours: '{0} jam', + minutes: '{0} minit', + seconds: '{0} saat', + totalExports: 'Jumlah Eksport', + successExports: 'Eksport Berjaya', + failedExports: 'Eksport Gagal', + reportName: 'Nama Laporan', + exportFormat: 'Format Eksport', + operator: 'Pengendali', + triggerType: 'Pencetus', + filePath: 'Laluan Fail', manualExport: 'Manual', - scheduledExport: 'Scheduled', - exportResult: 'Export Result', - exportDetail: 'Export Detail', + scheduledExport: 'Berjadual', + exportResult: 'Hasil Eksport', + exportDetail: 'Butiran Eksport', }, }, user: { diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index 28fb1771e60b..86f74026f909 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -4211,393 +4211,393 @@ const message = { website: 'Proteção de sites', resource: 'Recursos de execução', cronjob: 'Tarefas agendadas', - alert: 'Alert Notifications', + alert: 'Notificações de alerta', history: 'Histórico de exportação', setting: 'Configurações', page: { - enterprise: 'Enterprise', - reportNode: 'Report Node', - selectReportNode: 'Select report node', - currentNode: 'Current', - scoreMeta: '{0} points deducted · {1} risks', - hostAddress: 'Host Address', - panelVersion: 'Panel Version', - cpuCores: 'Physical Cores', - coreUnit: '{0} cores', - memoryTotal: 'Memory Total', - reportDate: 'Report Date', - serverSecurityOverview: 'Server Security Operations Overview', - securityScore: 'Security Score', + enterprise: 'Edição Empresarial', + reportNode: 'Nó do relatório', + selectReportNode: 'Selecionar nó do relatório', + currentNode: 'Nó atual', + scoreMeta: '{0} pontos deduzidos · {1} riscos', + hostAddress: 'Endereço do host', + panelVersion: 'Versão do painel', + cpuCores: 'Núcleos físicos', + coreUnit: '{0} núcleos', + memoryTotal: 'Memória total', + reportDate: 'Data do relatório', + serverSecurityOverview: 'Visão geral de segurança do servidor', + securityScore: 'Pontuação de segurança', overviewSummary: - 'Current security level: {0}. {1} points deducted, {2} risk items found, {3} objects checked.', - riskDistribution: 'Risk Distribution', - totalDeducted: 'Total deducted', - noRiskDeducted: 'No deductions', - scoreTrend: 'Score Trend', - scoreLevelSafe: 'Safe', - scoreLevelAttention: 'Needs Attention', - scoreLevelMediumRisk: 'Medium Risk', - scoreLevelHighRisk: 'High Risk', - scoreCategoryHost: 'Host Resources', - scoreCategoryLogin: 'Login Security', - scoreCategoryWebsite: 'Websites & Certificates', - scoreCategoryCronjob: 'Cron Jobs', - scoreCategoryResource: 'Runtime Resources', - scoreDiskHigh: 'Disk {0} usage is {1}%', - scoreDiskMedium: 'Disk {0} usage is {1}%', - scoreResourceHigh: '{0} current usage is {1}%', - scoreResourceMedium: '{0} current usage is {1}%', - scoreLoadMedium: 'Current load is {0}', - scoreMonitorDisabled: 'Host monitoring is disabled', - scorePanelLoginFailedHigh: 'Panel login failed {0} times', - scorePanelLoginFailedMedium: 'Panel login failed {0} times', - scoreSSHLoginFailedHigh: 'SSH login failed {0} times', - scoreSSHLoginFailedMedium: 'SSH login failed {0} times', - scoreMFADisabled: 'MFA is disabled', - scoreAllowIPsOpen: 'Allowed IPs and bound domain are not configured or access is unrestricted', - scorePasswordExpired: 'Panel password has expired', - scorePasswordExpiring: 'Panel password expires in {0} days', - scorePanelHTTPSDisabled: 'Panel HTTPS is disabled', - scoreSSHRootLogin: 'SSH root login is allowed', - scoreSSHPasswordAuth: 'SSH password auth is enabled without key auth', - scoreSSLHigh: '{0} certificate expires in {1} days', - scoreSSLMedium: '{0} certificate expires in {1} days', - scoreWebsiteExpire: '{0} website expires in {1} days', - scoreWebsiteHTTP: '{0} does not use HTTPS', - scoreWebsiteStopped: '{0} status is abnormal', - scoreWebsiteMonitorUnavailable: 'Website monitoring detected an unavailable site', - scoreWebsiteMonitorAvailability: 'Website monitoring availability {0}% is below the threshold', - scoreWafDisabled: 'WAF is disabled and websites are not protected', - scoreWafHighRiskHit: 'WAF matched {0} risk rules in the reporting period', - scoreCronjobFailed: '{0} cron job failure records in the last 7 days', - scoreAppFailed: '{0} app is abnormal', - scoreAppStopped: '{0} app has stopped', - scoreContainerHigh: '{0} container status is abnormal', - scoreContainerExited: '{0} container has stopped', - scoreContainerResource: '{0} container resource usage is high', - attentionItems: 'Attention Items', - attentionAssets: 'Attention Assets', - riskItems: 'Risk Items', - object: 'Object', - description: 'Description', - itemUnit: 'items', - recordUnit: 'records', - certUnit: 'certs', - containerUnit: 'containers', - loginFailed: 'Failed Logins', - sslExpire: 'Certificate Expiry', - abnormalContainer: 'Abnormal Containers', - statAttentionDesc: '{0} points deducted', - statLoginDesc: 'Panel {0} · SSH {1}', - statSslDesc: '{0} certificates checked', - statContainerDesc: '{0} containers checked', - assetHostDesc: 'Max disk usage {0}%', - assetWebsiteDesc: '{0} certificates expiring soon, {1} abnormal websites', - assetResourceDesc: '{0} abnormal apps, {1} stopped apps, {2} abnormal containers', - assetCronjobDesc: '{0} failure records in the last 7 days, {1} disabled jobs', - app: 'Apps', - website: 'Websites', - websiteSsl: 'Websites / Certificates', - cronjob: 'Cron Jobs', - container: 'Containers', - sslCertificate: 'SSL Certificates', - loginSecurity: 'Login Security', - panelLogin: 'Panel Login', - sshLogin: 'SSH Login', - failedRecord: 'Failed Records', - expiredDays: 'Expired {0} days ago', - remainingDays: '{0} · {1} days left', - enabled: 'Enabled', - disabled: 'Disabled', - exportRecordFailed: 'Failed to save export record', - hostInfo: 'Host Info', - hostname: 'Hostname', - osVersion: 'OS Version', - kernelVersion: 'Kernel Version', - arch: 'Architecture', - uptime: 'Uptime', - diskUsage: 'Disk Usage', - mountPoint: 'Mount Point', - device: 'Device', - capacity: 'Capacity', - used: 'Used', - usageRate: 'Usage', - memory: 'Memory', - load: 'Load', - maxDiskUsage: 'Max Disk Usage', - panelLoginSecurity: 'Panel Login Security', - sshSecurity: 'Linux Server SSH Security', - panelFailedRecords: 'Panel Failed Login Records', - sshFailedRecords: 'SSH Failed Login Records', - location: 'Location', - configItem: 'Config Item', - currentValue: 'Current Value', - securityEntrance: 'Security Entrance', - configured: 'Configured', - notConfigured: 'Not Configured', + 'Nível de segurança atual: {0}. {1} pontos deduzidos, {2} itens de risco encontrados, {3} objetos verificados.', + riskDistribution: 'Distribuição de riscos', + totalDeducted: 'Total deduzido', + noRiskDeducted: 'Sem deduções', + scoreTrend: 'Tendência da pontuação', + scoreLevelSafe: 'Seguro', + scoreLevelAttention: 'Atenção necessária', + scoreLevelMediumRisk: 'Risco médio', + scoreLevelHighRisk: 'Alto risco', + scoreCategoryHost: 'Recursos do host', + scoreCategoryLogin: 'Segurança de login', + scoreCategoryWebsite: 'Sites e certificados', + scoreCategoryCronjob: 'Tarefas agendadas', + scoreCategoryResource: 'Recursos de execução', + scoreDiskHigh: 'Disco {0} uso em {1}%', + scoreDiskMedium: 'Disco {0} uso em {1}%', + scoreResourceHigh: '{0} uso atual em {1}%', + scoreResourceMedium: '{0} uso atual em {1}%', + scoreLoadMedium: 'Carga atual é {0}', + scoreMonitorDisabled: 'Monitoramento do host desativado', + scorePanelLoginFailedHigh: 'Falha no login do painel {0} vezes', + scorePanelLoginFailedMedium: 'Falha no login do painel {0} vezes', + scoreSSHLoginFailedHigh: 'Falha no login SSH {0} vezes', + scoreSSHLoginFailedMedium: 'Falha no login SSH {0} vezes', + scoreMFADisabled: 'MFA desativado', + scoreAllowIPsOpen: 'IPs autorizados e domínio vinculado não configurados ou acesso irrestrito', + scorePasswordExpired: 'Senha do painel expirada', + scorePasswordExpiring: 'Senha do painel expira em {0} dias', + scorePanelHTTPSDisabled: 'HTTPS do painel desativado', + scoreSSHRootLogin: 'Login SSH como Root permitido', + scoreSSHPasswordAuth: 'Autenticação por senha SSH ativada sem autenticação por chave', + scoreSSLHigh: 'Certificado {0} expira em {1} dias', + scoreSSLMedium: 'Certificado {0} expira em {1} dias', + scoreWebsiteExpire: 'Site {0} expira em {1} dias', + scoreWebsiteHTTP: '{0} não utiliza HTTPS', + scoreWebsiteStopped: 'Status de {0} anormal', + scoreWebsiteMonitorUnavailable: 'Monitoramento de sites detectou um site indisponível', + scoreWebsiteMonitorAvailability: 'Disponibilidade do monitoramento de sites {0}% está abaixo do limite', + scoreWafDisabled: 'WAF desativado e sites não estão protegidos', + scoreWafHighRiskHit: 'WAF encontrou {0} regras de risco no período do relatório', + scoreCronjobFailed: '{0} registros de falha de tarefas agendadas nos últimos 7 dias', + scoreAppFailed: 'Aplicação {0} está anormal', + scoreAppStopped: 'Aplicação {0} foi parada', + scoreContainerHigh: 'Contêiner {0} com status anormal', + scoreContainerExited: 'Contêiner {0} foi parado', + scoreContainerResource: 'Uso de recursos do contêiner {0} está alto', + attentionItems: 'Itens de atenção', + attentionAssets: 'Ativos em atenção', + riskItems: 'Itens de risco', + object: 'Objeto', + description: 'Descrição', + itemUnit: 'itens', + recordUnit: 'registros', + certUnit: 'certificados', + containerUnit: 'contêineres', + loginFailed: 'Falhas de login', + sslExpire: 'Vencimento de certificado', + abnormalContainer: 'Contêineres anormais', + statAttentionDesc: '{0} pontos deduzidos', + statLoginDesc: 'Painel {0} · SSH {1}', + statSslDesc: '{0} certificados verificados', + statContainerDesc: '{0} contêineres verificados', + assetHostDesc: 'Uso máximo de disco {0}%', + assetWebsiteDesc: '{0} certificados prestes a vencer, {1} sites anormais', + assetResourceDesc: '{0} aplicações anormais, {1} aplicações paradas, {2} contêineres anormais', + assetCronjobDesc: '{0} registros de falha nos últimos 7 dias, {1} tarefas desativadas', + app: 'Aplicações', + website: 'Sites', + websiteSsl: 'Sites / Certificados', + cronjob: 'Tarefas agendadas', + container: 'Contêineres', + sslCertificate: 'Certificados SSL', + loginSecurity: 'Segurança de login', + panelLogin: 'Login do painel', + sshLogin: 'Login SSH', + failedRecord: 'Registros com falha', + expiredDays: 'Expirado há {0} dias', + remainingDays: '{0} · {1} dias restantes', + enabled: 'Ativado', + disabled: 'Desativado', + exportRecordFailed: 'Falha ao salvar registro de exportação', + hostInfo: 'Informações do host', + hostname: 'Nome do host', + osVersion: 'Versão do sistema', + kernelVersion: 'Versão do kernel', + arch: 'Arquitetura', + uptime: 'Tempo de atividade', + diskUsage: 'Uso de disco', + mountPoint: 'Ponto de montagem', + device: 'Dispositivo', + capacity: 'Capacidade', + used: 'Usado', + usageRate: 'Uso', + memory: 'Memória', + load: 'Carga', + maxDiskUsage: 'Uso máximo de disco', + panelLoginSecurity: 'Segurança de login do painel', + sshSecurity: 'Segurança SSH do servidor Linux', + panelFailedRecords: 'Registros de falha de login do painel', + sshFailedRecords: 'Registros de falha de login SSH', + location: 'Localização', + configItem: 'Item de configuração', + currentValue: 'Valor atual', + securityEntrance: 'Entrada de segurança', + configured: 'Configurado', + notConfigured: 'Não configurado', normal: 'Normal', - needAttention: 'Needs Attention', - allowIPs: 'Allowed IPs', - restricted: 'Restricted', - unrestricted: 'Unrestricted', - bindDomain: 'Bound Domain', - accessRestriction: 'Access Restriction', - panelHTTPS: 'Panel HTTPS', - passwordComplexity: 'Password Complexity', - sshService: 'SSH Service', - running: 'Running', - notRunning: 'Not Running', - listenPort: 'Listen Port', - read: 'Read', - rootLogin: 'Root Login', - passwordAuth: 'Password Auth', - keyAuth: 'Key Auth', - panelLoginFailed: 'Panel Failed Logins', - sshLoginFailed: 'SSH Failed Logins', - panelSecurityItems: 'Panel Security Items', - sshSecurityItems: 'SSH Security Items', - loginSecurityHealthStatus: 'Login Security Health', - adjustSSHSecurity: 'Adjust SSH Security', - viewLoginLogs: 'View Login Logs', - riskLevel: 'Risk Level', - goConfig: 'Configure', - viewMore: 'View More', - involvedIPs: '{0} IPs involved', - sessionTimeout: 'Session Timeout', - countUnit: 'times', - recent24Hours: 'Last 24 hours', + needAttention: 'Atenção necessária', + allowIPs: 'IPs autorizados', + restricted: 'Restrito', + unrestricted: 'Sem restrição', + bindDomain: 'Domínio vinculado', + accessRestriction: 'Restrição de acesso', + panelHTTPS: 'HTTPS do painel', + passwordComplexity: 'Complexidade da senha', + sshService: 'Serviço SSH', + running: 'Em execução', + notRunning: 'Não está em execução', + listenPort: 'Porta de escuta', + read: 'Lido', + rootLogin: 'Login como Root', + passwordAuth: 'Autenticação por senha', + keyAuth: 'Autenticação por chave', + panelLoginFailed: 'Falhas de login do painel', + sshLoginFailed: 'Falhas de login SSH', + panelSecurityItems: 'Itens de segurança do painel', + sshSecurityItems: 'Itens de segurança SSH', + loginSecurityHealthStatus: 'Saúde da segurança de login', + adjustSSHSecurity: 'Ajustar segurança SSH', + viewLoginLogs: 'Ver registros de login', + riskLevel: 'Nível de risco', + goConfig: 'Configurar', + viewMore: 'Ver mais', + involvedIPs: '{0} IPs envolvidos', + sessionTimeout: 'Tempo limite da sessão', + countUnit: 'vezes', + recent24Hours: 'Últimas 24 horas', currentService: 'Serviço atual', - riskItemsExist: '{0} risk items', + riskItemsExist: '{0} itens de risco', loginHealthRiskDesc: - '{0} risky configurations detected. Harden login security to reduce intrusion risk.', - loginHealthNormalDesc: 'Current login and SSH security configurations are normal', - loginHealthNormalReason: 'Login security is normal', - securityEntranceConfiguredDesc: 'Security entrance is configured to reduce default entry exposure', - securityEntranceRiskDesc: 'Security entrance is disabled. Hide the default login entry', - allowIPsRestrictedDesc: 'Allowed IPs are restricted for Panel access', - allowIPsRiskDesc: 'Access IPs are unrestricted. Configure allowed IPs for public environments', - bindDomainRestrictedDesc: 'Access domain is bound', - bindDomainRiskDesc: 'Access domain is not bound. Restrict access to a fixed domain', - accessRestrictionValue: 'Allowed IPs: {0} / Bound Domain: {1}', + '{0} configurações de risco detectadas. Fortaleça a segurança de login para reduzir o risco de invasão.', + loginHealthNormalDesc: 'As configurações atuais de login e segurança SSH estão normais', + loginHealthNormalReason: 'Segurança de login está normal', + securityEntranceConfiguredDesc: 'Entrada de segurança configurada para reduzir a exposição da entrada padrão', + securityEntranceRiskDesc: 'Entrada de segurança desativada. Oculte a entrada de login padrão', + allowIPsRestrictedDesc: 'IPs autorizados estão restritos para acesso ao painel', + allowIPsRiskDesc: 'IPs de acesso sem restrição. Configure IPs autorizados para ambientes públicos', + bindDomainRestrictedDesc: 'Domínio de acesso vinculado', + bindDomainRiskDesc: 'Domínio de acesso não vinculado. Restrinja o acesso a um domínio fixo', + accessRestrictionValue: 'IPs autorizados: {0} / Domínio vinculado: {1}', accessRestrictionNormalDesc: - 'Allowed IPs or bound domain is configured to restrict Panel access sources', + 'IPs autorizados ou domínio vinculado configurado para restringir origens de acesso ao painel', accessRestrictionRiskDesc: - 'Allowed IPs and bound domain are not configured or access is unrestricted. Configure at least one', - panelHTTPSNormalDesc: 'Panel HTTPS is enabled', - panelHTTPSRiskDesc: 'Panel HTTPS is disabled. Login traffic may be exposed', - passwordComplexityNormalDesc: 'Password complexity verification is enabled', + 'IPs autorizados e domínio vinculado não configurados ou acesso irrestrito. Configure pelo menos um', + panelHTTPSNormalDesc: 'HTTPS do painel está ativado', + panelHTTPSRiskDesc: 'HTTPS do painel desativado. O tráfego de login pode estar exposto', + passwordComplexityNormalDesc: 'Verificação de complexidade de senha está ativada', passwordComplexityRiskDesc: - 'Password complexity verification is disabled, increasing weak password risk', - sessionTimeoutNormalDesc: 'Session timeout is within a safer range', - sessionTimeoutRiskDesc: 'Session timeout is long. Limit idle session lifetime', - sshServiceNormalDesc: 'SSH service is running normally', - sshServiceRiskDesc: 'SSH service is not running or is abnormal', - sshPortNormalDesc: 'SSH port is changed from the default port', - sshPortRiskDesc: 'SSH still uses default port 22. Change it when appropriate', - rootLoginNormalDesc: 'Root user cannot log in directly', - rootLoginRiskDesc: 'Root user can log in directly. Disable it', - passwordAuthNormalDesc: 'SSH password login is disabled', - passwordAuthRiskDesc: 'Password login is allowed, increasing brute-force risk', - keyAuthNormalDesc: 'SSH key authentication is enabled', - keyAuthRiskDesc: 'Key authentication is disabled. Use key-based login', - websiteOverview: 'Website Overview', - primaryDomain: 'Primary Domain', - expireTime: 'Expiry Time', - domain: 'Domain', - issuer: 'Issuer', - autoRenew: 'Auto Renew', - websiteCount: 'Websites', - httpsWebsite: 'HTTPS Websites', - certCount: 'Certificates', - websiteExpire: 'Website Expiry', - database: 'Databases', - remoteDatabase: 'Remote Databases', - address: 'Address', - containerResourceUsage: 'Container Resource Usage', - spaceUsage: 'Space Usage', - reclaimable: 'Reclaimable', - containerReclaimable: 'Container Reclaimable', - image: 'Images', + 'Verificação de complexidade de senha desativada, aumentando o risco de senha fraca', + sessionTimeoutNormalDesc: 'Tempo limite da sessão está dentro de um intervalo seguro', + sessionTimeoutRiskDesc: 'Tempo limite da sessão é longo. Limite a duração de sessões inativas', + sshServiceNormalDesc: 'Serviço SSH está em execução normal', + sshServiceRiskDesc: 'Serviço SSH não está em execução ou está anormal', + sshPortNormalDesc: 'Porta SSH alterada da porta padrão', + sshPortRiskDesc: 'SSH ainda usa a porta padrão 22. Altere quando necessário', + rootLoginNormalDesc: 'Usuário Root não pode fazer login direto', + rootLoginRiskDesc: 'Usuário Root pode fazer login direto. Desative esta opção', + passwordAuthNormalDesc: 'Login por senha SSH está desativado', + passwordAuthRiskDesc: 'Login por senha está permitido, aumentando o risco de força bruta', + keyAuthNormalDesc: 'Autenticação por chave SSH está ativada', + keyAuthRiskDesc: 'Autenticação por chave desativada. Use login por chave', + websiteOverview: 'Visão geral dos sites', + primaryDomain: 'Domínio principal', + expireTime: 'Data de vencimento', + domain: 'Domínio', + issuer: 'Emissor', + autoRenew: 'Renovação automática', + websiteCount: 'Sites', + httpsWebsite: 'Sites HTTPS', + certCount: 'Certificados', + websiteExpire: 'Vencimento do site', + database: 'Bancos de dados', + remoteDatabase: 'Bancos de dados remotos', + address: 'Endereço', + containerResourceUsage: 'Uso de recursos dos contêineres', + spaceUsage: 'Uso de espaço', + reclaimable: 'Recuperável', + containerReclaimable: 'Contêineres recuperáveis', + image: 'Imagens', volume: 'Volumes', - buildCache: 'Build Cache', - alert: 'Alert', - alertConfigured: 'Alerts Configured', - alertOperations: 'Alert Notifications', - alertTaskCount: 'Alert Tasks', - enabledAlertTask: 'Enabled Tasks', - disabledAlertTask: 'Disabled Tasks', - alertChannels: 'Notification Channels', - alertLogCount: 'Alert Logs', - alertSuccessRate: 'Alert Success Rate', - alertFailedLogs: 'Failed Alert Logs', - alertPendingLogs: 'Pending Sync Logs', - alertPending: 'Pending Sync', - alertTaskStats: 'Alert Task Statistics', - alertTaskType: 'Alert Type', - alertLogStatusStats: 'Alert Execution Status', + buildCache: 'Cache de build', + alert: 'Alerta', + alertConfigured: 'Alertas configurados', + alertOperations: 'Notificações de alerta', + alertTaskCount: 'Tarefas de alerta', + enabledAlertTask: 'Tarefas ativadas', + disabledAlertTask: 'Tarefas desativadas', + alertChannels: 'Canais de notificação', + alertLogCount: 'Registros de alerta', + alertSuccessRate: 'Taxa de sucesso dos alertas', + alertFailedLogs: 'Registros de alerta com falha', + alertPendingLogs: 'Registros pendentes de sincronização', + alertPending: 'Pendente de sincronização', + alertTaskStats: 'Estatísticas de tarefas de alerta', + alertTaskType: 'Tipo de alerta', + alertLogStatusStats: 'Status de execução do alerta', alertHealthNormal: 'Normal', - alertHealthAttention: 'Needs Attention', - alertHealthRisk: 'High Risk', - alertHealthSummary: 'Alert Health', - alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy', - alertNoChannelReason: 'No notification channel is enabled', - alertFailedLogReason: '{0} failed alert logs found', - alertPendingReason: '{0} alert logs are pending sync', - alertDisabledTaskReason: '{0} alert tasks are disabled', - alertNoTaskReason: 'No alert tasks are configured', - goAlertConfig: 'Alert Config', - goAlertLogs: 'Alert Logs', - configureAlertChannel: 'Configure Channels', - createAlertTask: 'Create Alert Task', - viewAlertTasks: 'View Alert Tasks', - viewFailedAlertLogs: 'View Failed Logs', - viewAlertLogs: 'View Alert Logs', - alertChannelSummary: '{0} / {1} channels enabled', - alertTaskEnabledDesc: '{0} tasks enabled', - alertTaskSummary: '{0} enabled, {1} disabled', - alertLogSummary: '{0} successful, {1} failed', - alertPendingDesc: '{0} logs pending sync', - alertLogSuccessDesc: 'Notification completed', - alertLogFailedDesc: 'Check channel configuration or delivery path', - alertLogPendingDesc: 'Offline or sync path pending', - failedAlertLogs: 'Failed Alert Logs', - disabledAlertTasks: 'Disabled Alert Tasks', - alertTableDisplayDesc: 'Showing {0} of {1}', - alertMsg: 'Alert Message', - alertMethod: 'Alert Method', - alertRule: 'Alert Rule', - noAlertTask: 'No alert tasks', - noFailedAlertLog: 'No failed alert logs', - noDisabledAlertTask: 'No disabled alert tasks', - alertCronjobType: 'Cron Job: {0}', - alertAllTargets: 'All Targets', - alertAllDisks: 'All Disks', - alertAllCertificates: 'All Certificates', - alertAllWebsites: 'All Websites', - alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day', - alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day', - alertTimeRuleShort: 'Trigger within {0} days, send {1} times', - alertSendCountRuleShort: 'Send {0} times per day', - alertConfigInvalid: 'Invalid Config', - scoreCategoryAlert: 'Alert Notifications', - scoreAlertNoTask: 'No alert tasks are configured', - scoreAlertNoEnabledTask: 'All alert tasks are disabled', - scoreAlertDisabledTask: '{0} alert tasks are disabled', - scoreAlertNoChannel: 'No alert notification channel is enabled', - scoreAlertFailedHigh: '{0} alert failure logs found', - scoreAlertFailedMedium: '{0} alert failure logs found', - scoreAlertPending: '{0} alert logs are pending sync', - statAlertDesc: '{0} enabled tasks · {1} channels', - assetAlertDesc: '{0} failed logs, {1} pending sync logs', - failedExecutionRecords: 'Failed Execution Records', - taskID: 'Task ID', - executeTime: 'Execution Time', - backupTasks: 'Backup Tasks', - systemMetrics: 'Runtime Metrics', + alertHealthAttention: 'Atenção necessária', + alertHealthRisk: 'Alto risco', + alertHealthSummary: 'Saúde do alerta', + alertHealthNormalReason: 'Tarefas de alerta, canais de notificação e registros de execução estão saudáveis', + alertNoChannelReason: 'Nenhum canal de notificação está ativado', + alertFailedLogReason: '{0} registros de alerta com falha encontrados', + alertPendingReason: '{0} registros de alerta pendentes de sincronização', + alertDisabledTaskReason: '{0} tarefas de alerta estão desativadas', + alertNoTaskReason: 'Nenhuma tarefa de alerta configurada', + goAlertConfig: 'Configuração de alertas', + goAlertLogs: 'Registros de alertas', + configureAlertChannel: 'Configurar canais', + createAlertTask: 'Criar tarefa de alerta', + viewAlertTasks: 'Ver tarefas de alerta', + viewFailedAlertLogs: 'Ver registros com falha', + viewAlertLogs: 'Ver registros de alerta', + alertChannelSummary: '{0} / {1} canais ativados', + alertTaskEnabledDesc: '{0} tarefas ativadas', + alertTaskSummary: '{0} ativadas, {1} desativadas', + alertLogSummary: '{0} bem-sucedidos, {1} com falha', + alertPendingDesc: '{0} registros pendentes de sincronização', + alertLogSuccessDesc: 'Notificação concluída', + alertLogFailedDesc: 'Verifique a configuração do canal ou o caminho de entrega', + alertLogPendingDesc: 'Offline ou caminho de sincronização pendente', + failedAlertLogs: 'Registros de alerta com falha', + disabledAlertTasks: 'Tarefas de alerta desativadas', + alertTableDisplayDesc: 'Exibindo {0} de {1}', + alertMsg: 'Conteúdo do alerta', + alertMethod: 'Método de alerta', + alertRule: 'Regra de alerta', + noAlertTask: 'Nenhuma tarefa de alerta', + noFailedAlertLog: 'Nenhum registro de alerta com falha', + noDisabledAlertTask: 'Nenhuma tarefa de alerta desativada', + alertCronjobType: 'Tarefa agendada: {0}', + alertAllTargets: 'Todos os alvos', + alertAllDisks: 'Todos os discos', + alertAllCertificates: 'Todos os certificados', + alertAllWebsites: 'Todos os sites', + alertDiskRuleShort: '{0} excede {1}{2}, {3} vezes por dia', + alertAverageRuleShort: 'Média de {0} min excede {1}%, {2} vezes por dia', + alertTimeRuleShort: 'Acionamento em {0} dias, enviar {1} vezes', + alertSendCountRuleShort: 'Enviar {0} vezes por dia', + alertConfigInvalid: 'Configuração inválida', + scoreCategoryAlert: 'Notificações de alerta', + scoreAlertNoTask: 'Nenhuma tarefa de alerta configurada', + scoreAlertNoEnabledTask: 'Todas as tarefas de alerta estão desativadas', + scoreAlertDisabledTask: '{0} tarefas de alerta estão desativadas', + scoreAlertNoChannel: 'Nenhum canal de notificação de alerta está ativado', + scoreAlertFailedHigh: '{0} registros de falha de alerta encontrados', + scoreAlertFailedMedium: '{0} registros de falha de alerta encontrados', + scoreAlertPending: '{0} registros de alerta pendentes de sincronização', + statAlertDesc: '{0} tarefas ativadas · {1} canais', + assetAlertDesc: '{0} registros com falha, {1} registros pendentes de sincronização', + failedExecutionRecords: 'Registros de execução com falha', + taskID: 'ID da tarefa', + executeTime: 'Tempo de execução', + backupTasks: 'Tarefas de backup', + systemMetrics: 'Métricas de execução', cpu: 'CPU', thresholdPercent: 'Limite {0}%', - recent24HourPeakPercent: 'Last 24h peak {0}', - loadAverage: '1 / 5 / 15 minute load: {0} / {1} / {2}', - sourceMount: 'Mount point {0}', - storageUsage: 'Storage Usage', - localDisk: 'Local Disk', - highUsagePeriods: 'High Usage Periods', - timeRange: 'Time Range', + recent24HourPeakPercent: 'Pico nas últimas 24h: {0}', + loadAverage: 'Carga 1 / 5 / 15 min: {0} / {1} / {2}', + sourceMount: 'Ponto de montagem {0}', + storageUsage: 'Uso de armazenamento', + localDisk: 'Disco local', + highUsagePeriods: 'Períodos de alto uso', + timeRange: 'Intervalo de tempo', threshold: 'Limite', - duration: 'Duration', - peak: 'Peak', - scoring: 'Scoring', - counted: 'Counted', - notCounted: 'Not Counted', - dataSource: 'Data Source', - noHighUsagePeriod: 'No high usage periods', - monitorDisabledOrNoData: 'Host monitoring is disabled or no monitor data is available', - systemHealthStatus: 'Last 24h Host Runtime Risk', - mainReasons: 'Main Reasons', - viewHostMonitor: 'View Host Monitor', + duration: 'Duração', + peak: 'Pico', + scoring: 'Pontuação', + counted: 'Contabilizado', + notCounted: 'Não contabilizado', + dataSource: 'Fonte de dados', + noHighUsagePeriod: 'Nenhum período de alto uso', + monitorDisabledOrNoData: 'Monitoramento do host desativado ou sem dados disponíveis', + systemHealthStatus: 'Risco de execução do host nas últimas 24h', + mainReasons: 'Principais motivos', + viewHostMonitor: 'Ver monitor do host', systemHealthAttentionDesc: - '{0} risk items detected in the last 24 hours. Prioritize resource peaks and disk usage.', - systemHealthNormalDesc: 'Host runtime metrics were normal in the last 24 hours', - monitorEnabled: 'Monitoring Enabled', - cpuCoreUsage: '{0} / {1} cores', - load1Minute: '1-min load', - diskSpaceUsage: 'Disk Space Usage', - usedCapacity: 'Used / Total', - fileSystem: 'File System', - resourceTrendSummary: 'Resource Trend Summary', - last24Hours: 'Last 24 Hours', - granularityHour: 'Granularity: 1 hour', - current: 'Current', - average: 'Average', - totalItems: '{0} items', - to: 'to', + '{0} itens de risco detectados nas últimas 24 horas. Priorize picos de recursos e uso de disco.', + systemHealthNormalDesc: 'Métricas de execução do host estiveram normais nas últimas 24 horas', + monitorEnabled: 'Monitoramento ativado', + cpuCoreUsage: '{0} / {1} núcleos', + load1Minute: 'Carga de 1 min', + diskSpaceUsage: 'Uso de espaço em disco', + usedCapacity: 'Usado / Total', + fileSystem: 'Sistema de arquivos', + resourceTrendSummary: 'Resumo de tendência de recursos', + last24Hours: 'Últimas 24 horas', + granularityHour: 'Granularidade: 1 hora', + current: 'Atual', + average: 'Média', + totalItems: '{0} itens', + to: 'até', hoursShort: '{0} h', minutesShort: '{0} min', - websiteStatus: 'Website Status', - websiteHealthStatus: 'Website Protection Health', - websiteHealthNormalReason: 'Websites, certificates, WAF, and website monitoring are healthy', + websiteStatus: 'Status do site', + websiteHealthStatus: 'Saúde da proteção do site', + websiteHealthNormalReason: 'Sites, certificados, WAF e monitoramento de sites estão saudáveis', websiteHealthAttentionDesc: - '{0} risk items detected. Handle them soon to protect website security and availability.', - websiteHealthNormalDesc: 'Current website protection metrics are normal', - handleSslRisk: 'Handle Certificate Risks', - viewWaf: 'View WAF', - priority: 'Priority', - riskDescription: 'Risk Description', - deductScore: 'Deducted Score', - remaining: 'Remaining', - wafSourceIpTop: 'WAF Source IP TOP5', - wafAffectedSiteTop: 'Affected Sites TOP5', - sslRisk: 'Certificate Risks', - sslExpiring: 'Expiring Certificates', - includedInReport: 'Included in report', - needRenewal: 'Renewal recommended', - fromExpireInfo: 'From expiry information', - runningWebsite: 'Running Websites', - fromWebsiteStatus: 'From website list status', - stoppedWebsite: 'Stopped Websites', - confirmStoppedWebsite: 'Confirm whether this is expected', - expiringWebsite: 'Expiring Websites', - expiringSoon: 'Expiring Soon', - none: 'None', - noSslRisk: 'No certificates need handling', - websiteProtection: 'WAF and Website Monitoring', - websiteMonitor: 'Website Monitoring', + '{0} itens de risco detectados. Trate-os em breve para proteger a segurança e disponibilidade do site.', + websiteHealthNormalDesc: 'Métricas atuais de proteção do site estão normais', + handleSslRisk: 'Tratar riscos de certificado', + viewWaf: 'Ver WAF', + priority: 'Prioridade', + riskDescription: 'Descrição do risco', + deductScore: 'Pontuação deduzida', + remaining: 'Restante', + wafSourceIpTop: 'IPs de origem WAF TOP5', + wafAffectedSiteTop: 'Sites afetados TOP5', + sslRisk: 'Riscos de certificado', + sslExpiring: 'Certificados a vencer', + includedInReport: 'Incluído no relatório', + needRenewal: 'Renovação recomendada', + fromExpireInfo: 'Das informações de vencimento', + runningWebsite: 'Sites em execução', + fromWebsiteStatus: 'Do status da lista de sites', + stoppedWebsite: 'Sites parados', + confirmStoppedWebsite: 'Confirme se isso é esperado', + expiringWebsite: 'Sites a vencer', + expiringSoon: 'Vencendo em breve', + none: 'Nenhum', + noSslRisk: 'Nenhum certificado precisa de tratamento', + websiteProtection: 'WAF e monitoramento de sites', + websiteMonitor: 'Monitoramento de sites', waf: 'WAF', - siteAvailability: 'Site Availability', - monitoredSites: 'Monitored Sites', - requestCount: 'Requests', - abnormalSites: 'Abnormal Sites', - count5xxSource: 'Counted by 5xx requests', - wafIntercept: 'WAF Blocks', - highRiskHit: 'High-risk Hits', - websiteMonitorDisabledOrNoData: 'Website monitoring is disabled or no monitor data is available', - wafDisabledOrNoData: 'WAF is disabled or no block data is available', - noWafData: 'No WAF block data', - sourceIP: 'Source IP', - hitCount: 'Hits', - level: 'Level', - attackType: 'Attack Type', - requestRatio: 'Request Ratio', - installed: 'Installed', - normalRunning: 'Running Normally', - failedStart: 'Startup Failed', - manualStopped: 'Manually Stopped', - failed: 'Failed', - success: 'Success', - canUpdate: 'Upgradable', + siteAvailability: 'Disponibilidade do site', + monitoredSites: 'Sites monitorados', + requestCount: 'Requisições', + abnormalSites: 'Sites anormais', + count5xxSource: 'Contagem por requisições 5xx', + wafIntercept: 'Bloqueios WAF', + highRiskHit: 'Detecções de alto risco', + websiteMonitorDisabledOrNoData: 'Monitoramento de sites desativado ou sem dados disponíveis', + wafDisabledOrNoData: 'WAF desativado ou sem dados de bloqueio disponíveis', + noWafData: 'Nenhum dado de bloqueio WAF', + sourceIP: 'IP de origem', + hitCount: 'Detecções', + level: 'Nível', + attackType: 'Tipo de ataque', + requestRatio: 'Proporção de requisições', + installed: 'Instalado', + normalRunning: 'Execução normal', + failedStart: 'Falha na inicialização', + manualStopped: 'Parado manualmente', + failed: 'Falha', + success: 'Sucesso', + canUpdate: 'Atualizável', listSeparator: ', ', - containerCount: 'Containers', - stopped: 'Stopped', - abnormal: 'Abnormal', - abnormalContainers: 'Abnormal Containers', - resourceUsage: 'Resource Usage', - exposedContainerPorts: 'Exposed Ports', - portMapping: 'Port Mapping', - risk: 'Risk', - noAbnormalContainer: 'No abnormal containers', - noExposedContainer: 'No exposed ports detected', - publicExpose: 'Public Exposure', - privateExpose: 'Private Mapping', + containerCount: 'Contêineres', + stopped: 'Parado', + abnormal: 'Anormal', + abnormalContainers: 'Contêineres anormais', + resourceUsage: 'Uso de recursos', + exposedContainerPorts: 'Portas expostas', + portMapping: 'Mapeamento de portas', + risk: 'Risco', + noAbnormalContainer: 'Nenhum contêiner anormal', + noExposedContainer: 'Nenhuma porta exposta detectada', + publicExpose: 'Exposição pública', + privateExpose: 'Mapeamento privado', resourceHealth: 'Saúde dos recursos em execução', checkTime: 'Hora da verificação', resourceHealthNormalDesc: 'Aplicações, bancos de dados e contêineres estão saudáveis', @@ -4625,22 +4625,22 @@ const message = { stoppedContainerSpace: 'Espaço de contêineres parados', unusedVolumeSpace: 'Espaço de volumes não usados', buildCacheSpace: 'Cache de build do Docker', - executionRecords: 'Execution Records', - successRate: 'Success Rate', - failedJobs: 'Failed Jobs', - recentRecoveryPoint: 'Latest Recovery Point', - remoteCoverage: 'Remote Coverage', - recent7Days: 'Last 7 days', - taskTypeStats: 'Task Type Statistics', + executionRecords: 'Registros de execução', + successRate: 'Taxa de sucesso', + failedJobs: 'Tarefas com falha', + recentRecoveryPoint: 'Último ponto de recuperação', + remoteCoverage: 'Cobertura remota', + recent7Days: 'Últimos 7 dias', + taskTypeStats: 'Estatísticas por tipo de tarefa', total: 'Total', - taskTypeDesc: '{0} enabled, {1} disabled', - failedOrAttentionTasks: 'Failed or Attention Tasks', - execution: 'Execution', - latestExecution: 'Latest Execution', - remoteBackup: 'Remote Backup', - localOnly: 'Local Only', - covered: 'Covered', - noAttentionCronjob: 'No failed or attention cron jobs', + taskTypeDesc: '{0} ativadas, {1} desativadas', + failedOrAttentionTasks: 'Tarefas com falha ou em atenção', + execution: 'Execução', + latestExecution: 'Última execução', + remoteBackup: 'Backup remoto', + localOnly: 'Apenas local', + covered: 'Coberto', + noAttentionCronjob: 'Nenhuma tarefa agendada com falha ou em atenção', cronjobHealth: 'Saúde das tarefas agendadas', cronjobHealthNormalDesc: 'A execução das tarefas e a cobertura de backup estão saudáveis', cronjobHealthAttentionDesc: @@ -4653,68 +4653,68 @@ const message = { viewFailedRecords: 'Ver tarefas com falha', viewCronjobTasks: 'Ver tarefas agendadas', checkBackupTasks: 'Verificar tarefas de backup', - generationRule: 'Generation Rules', - scheduleDaily: 'Daily', - scheduleDailyDesc: 'Generate a report for the last 24 hours at 09:00 every day', - scheduleWeekly: 'Weekly', - scheduleWeeklyDesc: 'Generate a report for the last 7 days at 09:00 every Monday', - scheduleMonthly: 'Monthly', - scheduleMonthlyDesc: 'Generate a report for the previous month at 09:00 on the 1st', - scheduleCurrentDaily: 'Every day at 09:00, generate the last 24 hours report · Next {0}', - scheduleCurrentWeekly: 'Every Monday at 09:00, generate the last 7 days report · Next {0}', - scheduleCurrentMonthly: 'On the 1st at 09:00, generate the previous month report · Next {0}', - notificationMethod: 'Notification Methods', - channel: 'Channel', - receiver: 'Receiver', + generationRule: 'Regras de geração', + scheduleDaily: 'Diário', + scheduleDailyDesc: 'Gerar um relatório das últimas 24 horas às 09:00 todos os dias', + scheduleWeekly: 'Semanal', + scheduleWeeklyDesc: 'Gerar um relatório dos últimos 7 dias às 09:00 toda segunda-feira', + scheduleMonthly: 'Mensal', + scheduleMonthlyDesc: 'Gerar um relatório do mês anterior às 09:00 no dia 1', + scheduleCurrentDaily: 'Todos os dias às 09:00, gerar relatório das últimas 24 horas · Próximo {0}', + scheduleCurrentWeekly: 'Toda segunda-feira às 09:00, gerar relatório dos últimos 7 dias · Próximo {0}', + scheduleCurrentMonthly: 'No dia 1 às 09:00, gerar relatório do mês anterior · Próximo {0}', + notificationMethod: 'Métodos de notificação', + channel: 'Canal', + receiver: 'Destinatário', systemThreshold: 'Limite do sistema', - metric: 'Metric', - currentRule: 'Current Rule', - hostMonitor: 'Host Monitor', - monitorInterval: 'Monitor Interval', - exportSettings: 'Export Settings', - lastExportReport: 'Recent Generated Result', - noLastExportReport: 'No exported report records', - lastExportStatus: 'Last Export Status', - exportFile: 'Export File', - generateTime: 'Generated At', - fileSize: 'File Size', - viewExportHistory: 'View Export History', - defaultFormat: 'Default Format', - savePath: 'Save Directory', - savePathRequired: 'Set the report save directory', - autoExport: 'Enable Auto Export', - autoExportDesc: 'Generate an Ops Report automatically every day at 09:00 when enabled', - autoExportEnabled: 'Auto export enabled', - autoExportDisabled: 'Auto export disabled', + metric: 'Métrica', + currentRule: 'Regra atual', + hostMonitor: 'Monitor do host', + monitorInterval: 'Intervalo de monitoramento', + exportSettings: 'Configurações de exportação', + lastExportReport: 'Último resultado gerado', + noLastExportReport: 'Nenhum registro de relatório exportado', + lastExportStatus: 'Último status de exportação', + exportFile: 'Arquivo exportado', + generateTime: 'Gerado em', + fileSize: 'Tamanho do arquivo', + viewExportHistory: 'Ver histórico de exportação', + defaultFormat: 'Formato padrão', + savePath: 'Diretório de salvamento', + savePathRequired: 'Configure o diretório de salvamento do relatório', + autoExport: 'Ativar exportação automática', + autoExportDesc: 'Gerar um relatório de operações automaticamente todos os dias às 09:00 quando ativado', + autoExportEnabled: 'Exportação automática ativada', + autoExportDisabled: 'Exportação automática desativada', readOnlyPermissionTip: - 'The current account can only view Ops Report settings. Contact an administrator to make changes.', - refreshing: 'Refreshing', - exporting: 'Exporting', - exportFailed: 'Failed to export report', - generating: 'Generating', - saved: 'Saved', - saveFailed: 'Failed to save settings', - generateNow: 'Generate Now', - generateSuccess: 'Report file generated: {0}', - generateFailed: 'Failed to generate report', - enabledStatus: 'Enabled', - disabledStatus: 'Disabled', - thresholdRule: 'Threshold {0}, trigger after {1} consecutive times', - hours: '{0} hours', - minutes: '{0} minutes', - seconds: '{0} seconds', - totalExports: 'Total Exports', - successExports: 'Successful Exports', - failedExports: 'Failed Exports', - reportName: 'Report Name', - exportFormat: 'Export Format', - operator: 'Operator', - triggerType: 'Trigger', - filePath: 'File Path', + 'A conta atual só pode visualizar as configurações do relatório de operações. Entre em contato com um administrador para fazer alterações.', + refreshing: 'Atualizando', + exporting: 'Exportando', + exportFailed: 'Falha ao exportar relatório', + generating: 'Gerando', + saved: 'Salvo', + saveFailed: 'Falha ao salvar configurações', + generateNow: 'Gerar agora', + generateSuccess: 'Arquivo de relatório gerado: {0}', + generateFailed: 'Falha ao gerar relatório', + enabledStatus: 'Ativado', + disabledStatus: 'Desativado', + thresholdRule: 'Limite {0}, acionamento após {1} vezes consecutivas', + hours: '{0} horas', + minutes: '{0} minutos', + seconds: '{0} segundos', + totalExports: 'Total de exportações', + successExports: 'Exportações bem-sucedidas', + failedExports: 'Exportações com falha', + reportName: 'Nome do relatório', + exportFormat: 'Formato de exportação', + operator: 'Operador', + triggerType: 'Tipo de acionamento', + filePath: 'Caminho do arquivo', manualExport: 'Manual', - scheduledExport: 'Scheduled', - exportResult: 'Export Result', - exportDetail: 'Export Detail', + scheduledExport: 'Agendado', + exportResult: 'Resultado da exportação', + exportDetail: 'Detalhes da exportação', }, }, user: { diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index f8e8576133f6..5f882cb739ae 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -4078,378 +4078,386 @@ const message = { coreUnit: '{0} cores', memoryTotal: 'Memory Total', reportDate: 'Report Date', - serverSecurityOverview: 'Server Security Operations Overview', - securityScore: 'Security Score', + serverSecurityOverview: 'Обзор безопасности сервера', + securityScore: 'Оценка безопасности', overviewSummary: - 'Current security level: {0}. {1} points deducted, {2} risk items found, {3} objects checked.', - riskDistribution: 'Risk Distribution', - totalDeducted: 'Total deducted', - noRiskDeducted: 'No deductions', - scoreTrend: 'Score Trend', - scoreLevelSafe: 'Safe', - scoreLevelAttention: 'Needs Attention', - scoreLevelMediumRisk: 'Medium Risk', - scoreLevelHighRisk: 'High Risk', - scoreCategoryHost: 'Host Resources', - scoreCategoryLogin: 'Login Security', - scoreCategoryWebsite: 'Websites & Certificates', - scoreCategoryCronjob: 'Cron Jobs', - scoreCategoryResource: 'Runtime Resources', - scoreDiskHigh: 'Disk {0} usage is {1}%', - scoreDiskMedium: 'Disk {0} usage is {1}%', - scoreResourceHigh: '{0} current usage is {1}%', - scoreResourceMedium: '{0} current usage is {1}%', - scoreLoadMedium: 'Current load is {0}', - scoreMonitorDisabled: 'Host monitoring is disabled', - scorePanelLoginFailedHigh: 'Panel login failed {0} times', - scorePanelLoginFailedMedium: 'Panel login failed {0} times', - scoreSSHLoginFailedHigh: 'SSH login failed {0} times', - scoreSSHLoginFailedMedium: 'SSH login failed {0} times', - scoreMFADisabled: 'MFA is disabled', - scoreAllowIPsOpen: 'Allowed IPs and bound domain are not configured or access is unrestricted', - scorePasswordExpired: 'Panel password has expired', - scorePasswordExpiring: 'Panel password expires in {0} days', - scorePanelHTTPSDisabled: 'Panel HTTPS is disabled', - scoreSSHRootLogin: 'SSH root login is allowed', - scoreSSHPasswordAuth: 'SSH password auth is enabled without key auth', - scoreSSLHigh: '{0} certificate expires in {1} days', - scoreSSLMedium: '{0} certificate expires in {1} days', - scoreWebsiteExpire: '{0} website expires in {1} days', - scoreWebsiteHTTP: '{0} does not use HTTPS', - scoreWebsiteStopped: '{0} status is abnormal', - scoreWebsiteMonitorUnavailable: 'Website monitoring detected an unavailable site', - scoreWebsiteMonitorAvailability: 'Website monitoring availability {0}% is below the threshold', - scoreWafDisabled: 'WAF is disabled and websites are not protected', - scoreWafHighRiskHit: 'WAF matched {0} risk rules in the reporting period', - scoreCronjobFailed: '{0} cron job failure records in the last 7 days', - scoreAppFailed: '{0} app is abnormal', - scoreAppStopped: '{0} app has stopped', - scoreContainerHigh: '{0} container status is abnormal', - scoreContainerExited: '{0} container has stopped', - scoreContainerResource: '{0} container resource usage is high', - attentionItems: 'Attention Items', - attentionAssets: 'Attention Assets', - riskItems: 'Risk Items', - object: 'Object', - description: 'Description', - itemUnit: 'items', - recordUnit: 'records', - certUnit: 'certs', - containerUnit: 'containers', - loginFailed: 'Failed Logins', - sslExpire: 'Certificate Expiry', - abnormalContainer: 'Abnormal Containers', - statAttentionDesc: '{0} points deducted', - statLoginDesc: 'Panel {0} · SSH {1}', - statSslDesc: '{0} certificates checked', - statContainerDesc: '{0} containers checked', - assetHostDesc: 'Max disk usage {0}%', - assetWebsiteDesc: '{0} certificates expiring soon, {1} abnormal websites', - assetResourceDesc: '{0} abnormal apps, {1} stopped apps, {2} abnormal containers', - assetCronjobDesc: '{0} failure records in the last 7 days, {1} disabled jobs', - app: 'Apps', - website: 'Websites', - websiteSsl: 'Websites / Certificates', - cronjob: 'Cron Jobs', - container: 'Containers', - sslCertificate: 'SSL Certificates', - loginSecurity: 'Login Security', - panelLogin: 'Panel Login', - sshLogin: 'SSH Login', - failedRecord: 'Failed Records', - expiredDays: 'Expired {0} days ago', - remainingDays: '{0} · {1} days left', - enabled: 'Enabled', - disabled: 'Disabled', - exportRecordFailed: 'Failed to save export record', - hostInfo: 'Host Info', - hostname: 'Hostname', - osVersion: 'OS Version', - kernelVersion: 'Kernel Version', - arch: 'Architecture', - uptime: 'Uptime', - diskUsage: 'Disk Usage', - mountPoint: 'Mount Point', - device: 'Device', - capacity: 'Capacity', - used: 'Used', - usageRate: 'Usage', - memory: 'Memory', - load: 'Load', - maxDiskUsage: 'Max Disk Usage', - panelLoginSecurity: 'Panel Login Security', - sshSecurity: 'Linux Server SSH Security', - panelFailedRecords: 'Panel Failed Login Records', - sshFailedRecords: 'SSH Failed Login Records', - location: 'Location', - configItem: 'Config Item', - currentValue: 'Current Value', - securityEntrance: 'Security Entrance', - configured: 'Configured', - notConfigured: 'Not Configured', - normal: 'Normal', - needAttention: 'Needs Attention', - allowIPs: 'Allowed IPs', - restricted: 'Restricted', - unrestricted: 'Unrestricted', - bindDomain: 'Bound Domain', - accessRestriction: 'Access Restriction', - panelHTTPS: 'Panel HTTPS', - passwordComplexity: 'Password Complexity', - sshService: 'SSH Service', - running: 'Running', - notRunning: 'Not Running', - listenPort: 'Listen Port', - read: 'Read', - rootLogin: 'Root Login', - passwordAuth: 'Password Auth', - keyAuth: 'Key Auth', - panelLoginFailed: 'Panel Failed Logins', - sshLoginFailed: 'SSH Failed Logins', - panelSecurityItems: 'Panel Security Items', - sshSecurityItems: 'SSH Security Items', - loginSecurityHealthStatus: 'Login Security Health', - adjustSSHSecurity: 'Adjust SSH Security', - viewLoginLogs: 'View Login Logs', - riskLevel: 'Risk Level', - goConfig: 'Configure', - viewMore: 'View More', - involvedIPs: '{0} IPs involved', - sessionTimeout: 'Session Timeout', - countUnit: 'times', - recent24Hours: 'Last 24 hours', + 'Текущий уровень безопасности — {0}, штраф — {1} баллов, выявлено {2} рисков, проверено {3} объектов.', + riskDistribution: 'Распределение рисков', + totalDeducted: 'Суммарный штраф', + noRiskDeducted: 'Штрафов нет', + scoreTrend: 'Динамика оценки', + scoreLevelSafe: 'Безопасно', + scoreLevelAttention: 'Требует внимания', + scoreLevelMediumRisk: 'Средний риск', + scoreLevelHighRisk: 'Высокий риск', + scoreCategoryHost: 'Ресурсы хоста', + scoreCategoryLogin: 'Безопасность входа', + scoreCategoryWebsite: 'Сайты и сертификаты', + scoreCategoryCronjob: 'Плановые задачи', + scoreCategoryResource: 'Ресурсы выполнения', + scoreDiskHigh: 'Диск {0} — заполнен на {1}%', + scoreDiskMedium: 'Диск {0} — заполнен на {1}%', + scoreResourceHigh: '{0} — текущая загрузка {1}%', + scoreResourceMedium: '{0} — текущая загрузка {1}%', + scoreLoadMedium: 'Текущая нагрузка — {0}', + scoreMonitorDisabled: 'Мониторинг хоста отключён', + scorePanelLoginFailedHigh: 'Неудачных входов в панель — {0}', + scorePanelLoginFailedMedium: 'Неудачных входов в панель — {0}', + scoreSSHLoginFailedHigh: 'Неудачных SSH-входов — {0}', + scoreSSHLoginFailedMedium: 'Неудачных SSH-входов — {0}', + scoreMFADisabled: 'MFA не включён', + scoreAllowIPsOpen: 'Доверенные IP и привязанный домен не настроены или доступ не ограничен', + scorePasswordExpired: 'Срок действия пароля панели истёк', + scorePasswordExpiring: 'Срок действия пароля панели истекает через {0} дней', + scorePanelHTTPSDisabled: 'HTTPS для панели не включён', + scoreSSHRootLogin: 'SSH-вход под root разрешён', + scoreSSHPasswordAuth: 'SSH-аутентификация по паролю включена без ключевой аутентификации', + scoreSSLHigh: '{0} — сертификат истекает через {1} дней', + scoreSSLMedium: '{0} — сертификат истекает через {1} дней', + scoreWebsiteExpire: '{0} — сайт истекает через {1} дней', + scoreWebsiteHTTP: '{0} — HTTPS не включён', + scoreWebsiteStopped: '{0} — аномальный статус', + scoreWebsiteMonitorUnavailable: 'Мониторинг сайтов обнаружил недоступный сайт', + scoreWebsiteMonitorAvailability: 'Доступность мониторинга сайтов {0}% ниже порога', + scoreWafDisabled: 'WAF отключён, сайты не защищены', + scoreWafHighRiskHit: 'WAF зафиксировал {0} срабатываний рискованных правил за отчётный период', + scoreCronjobFailed: '{0} записей о сбоях плановых задач за последние 7 дней', + scoreAppFailed: '{0} — приложение работает неправильно', + scoreAppStopped: '{0} — приложение остановлено', + scoreContainerHigh: '{0} — аномальное состояние контейнера', + scoreContainerExited: '{0} — контейнер остановлен', + scoreContainerResource: '{0} — высокое потребление ресурсов контейнером', + attentionItems: 'Требующие внимания', + attentionAssets: 'Активы для проверки', + riskItems: 'Рисковые элементы', + object: 'Объект', + description: 'Описание', + itemUnit: 'шт.', + recordUnit: 'записей', + certUnit: 'сертификатов', + containerUnit: 'контейнеров', + loginFailed: 'Неудачные входы', + sslExpire: 'Истечение сертификата', + abnormalContainer: 'Аномальные контейнеры', + statAttentionDesc: 'Суммарный штраф — {0} баллов', + statLoginDesc: 'Панель {0} · SSH {1}', + statSslDesc: 'Проверено сертификатов: {0}', + statContainerDesc: 'Проверено контейнеров: {0}', + assetHostDesc: 'Максимальная заполненность диска — {0}%', + assetWebsiteDesc: '{0} сертификатов скоро истекут, {1} сайтов с аномалиями', + assetResourceDesc: '{0} приложений с аномалиями, {1} остановлено, {2} аномальных контейнеров', + assetCronjobDesc: '{0} записей о сбоях за 7 дней, {1} задач отключено', + app: 'Приложения', + website: 'Сайты', + websiteSsl: 'Сайты / Сертификаты', + cronjob: 'Плановые задачи', + container: 'Контейнеры', + sslCertificate: 'SSL-сертификаты', + loginSecurity: 'Безопасность входа', + panelLogin: 'Вход в панель', + sshLogin: 'SSH-вход', + failedRecord: 'Неудачные записи', + expiredDays: 'Истёк {0} дней назад', + remainingDays: '{0} · осталось {1} дней', + enabled: 'Включено', + disabled: 'Отключено', + exportRecordFailed: 'Не удалось сохранить запись экспорта', + hostInfo: 'Информация о хосте', + hostname: 'Имя хоста', + osVersion: 'Версия ОС', + kernelVersion: 'Версия ядра', + arch: 'Архитектура', + uptime: 'Время работы', + diskUsage: 'Использование дисков', + mountPoint: 'Точка монтирования', + device: 'Устройство', + capacity: 'Ёмкость', + used: 'Использовано', + usageRate: 'Заполненность', + memory: 'Память', + load: 'Нагрузка', + maxDiskUsage: 'Максимальная заполненность диска', + panelLoginSecurity: 'Настройки безопасности входа в панель', + sshSecurity: 'Настройки SSH безопасности Linux-сервера', + panelFailedRecords: 'Журнал неудачных входов в панель', + sshFailedRecords: 'Журнал неудачных SSH-входов', + location: 'Местоположение', + configItem: 'Параметр конфигурации', + currentValue: 'Текущее значение', + securityEntrance: 'Безопасный вход', + configured: 'Настроено', + notConfigured: 'Не настроено', + normal: 'Норма', + needAttention: 'Требует внимания', + allowIPs: 'Доверенные IP', + restricted: 'Ограничено', + unrestricted: 'Не ограничено', + bindDomain: 'Привязанный домен', + accessRestriction: 'Ограничение доступа', + panelHTTPS: 'HTTPS панели', + passwordComplexity: 'Сложность пароля', + sshService: 'Служба SSH', + running: 'Работает', + notRunning: 'Не работает', + listenPort: 'Прослушиваемый порт', + read: 'Прочитано', + rootLogin: 'Вход под root', + passwordAuth: 'Аутентификация по паролю', + keyAuth: 'Аутентификация по ключу', + panelLoginFailed: 'Неудачные входы в панель', + sshLoginFailed: 'Неудачные SSH-входы', + panelSecurityItems: 'Параметры безопасности панели', + sshSecurityItems: 'Параметры SSH безопасности', + loginSecurityHealthStatus: 'Состояние безопасности входа', + adjustSSHSecurity: 'Настроить SSH-безопасность', + viewLoginLogs: 'Просмотреть журнал входов', + riskLevel: 'Уровень риска', + goConfig: 'Перейти к настройкам', + viewMore: 'Подробнее', + involvedIPs: 'Задействовано {0} IP-адресов', + sessionTimeout: 'Тайм-аут сессии', + countUnit: 'раз', + recent24Hours: 'Последние 24 часа', currentService: 'Текущий сервис', - riskItemsExist: '{0} risk items', + riskItemsExist: '{0} рисковых элементов', loginHealthRiskDesc: - '{0} risky configurations detected. Harden login security to reduce intrusion risk.', - loginHealthNormalDesc: 'Current login and SSH security configurations are normal', - loginHealthNormalReason: 'Login security is normal', - securityEntranceConfiguredDesc: 'Security entrance is configured to reduce default entry exposure', - securityEntranceRiskDesc: 'Security entrance is disabled. Hide the default login entry', - allowIPsRestrictedDesc: 'Allowed IPs are restricted for Panel access', - allowIPsRiskDesc: 'Access IPs are unrestricted. Configure allowed IPs for public environments', - bindDomainRestrictedDesc: 'Access domain is bound', - bindDomainRiskDesc: 'Access domain is not bound. Restrict access to a fixed domain', - accessRestrictionValue: 'Allowed IPs: {0} / Bound Domain: {1}', + 'Обнаружено {0} рисковых настроек. Рекомендуется усилить безопасность входа для снижения риска вторжения.', + loginHealthNormalDesc: 'Текущие настройки безопасности входа и SSH в норме', + loginHealthNormalReason: 'Настройки безопасности входа в норме', + securityEntranceConfiguredDesc: 'Безопасный вход настроен, снижается риск раскрытия стандартной точки входа', + securityEntranceRiskDesc: 'Безопасный вход не включён. Рекомендуется скрыть стандартную точку входа', + allowIPsRestrictedDesc: 'Доступ к панели ограничен по IP-адресам', + allowIPsRiskDesc: 'Доступ по IP не ограничен. Для публичных сред рекомендуется настроить доверенные IP', + bindDomainRestrictedDesc: 'Домен доступа привязан', + bindDomainRiskDesc: 'Домен доступа не привязан. Рекомендуется ограничить доступ фиксированным доменом', + accessRestrictionValue: 'Доверенные IP: {0} / Привязанный домен: {1}', accessRestrictionNormalDesc: - 'Allowed IPs or bound domain is configured to restrict Panel access sources', + 'Настроены доверенные IP или привязанный домен, источник доступа к панели ограничен', accessRestrictionRiskDesc: - 'Allowed IPs and bound domain are not configured or access is unrestricted. Configure at least one', - panelHTTPSNormalDesc: 'Panel HTTPS is enabled', - panelHTTPSRiskDesc: 'Panel HTTPS is disabled. Login traffic may be exposed', - passwordComplexityNormalDesc: 'Password complexity verification is enabled', + 'Доверенные IP и привязанный домен не настроены или доступ не ограничен. Рекомендуется настроить хотя бы одно', + panelHTTPSNormalDesc: 'HTTPS для панели включён', + panelHTTPSRiskDesc: 'HTTPS для панели не включён, трафик входа передаётся открытым текстом', + passwordComplexityNormalDesc: 'Проверка сложности пароля включена', passwordComplexityRiskDesc: - 'Password complexity verification is disabled, increasing weak password risk', - sessionTimeoutNormalDesc: 'Session timeout is within a safer range', - sessionTimeoutRiskDesc: 'Session timeout is long. Limit idle session lifetime', - sshServiceNormalDesc: 'SSH service is running normally', - sshServiceRiskDesc: 'SSH service is not running or is abnormal', - sshPortNormalDesc: 'SSH port is changed from the default port', - sshPortRiskDesc: 'SSH still uses default port 22. Change it when appropriate', - rootLoginNormalDesc: 'Root user cannot log in directly', - rootLoginRiskDesc: 'Root user can log in directly. Disable it', - passwordAuthNormalDesc: 'SSH password login is disabled', - passwordAuthRiskDesc: 'Password login is allowed, increasing brute-force risk', - keyAuthNormalDesc: 'SSH key authentication is enabled', - keyAuthRiskDesc: 'Key authentication is disabled. Use key-based login', - websiteOverview: 'Website Overview', - primaryDomain: 'Primary Domain', - expireTime: 'Expiry Time', - domain: 'Domain', - issuer: 'Issuer', - autoRenew: 'Auto Renew', - websiteCount: 'Websites', - httpsWebsite: 'HTTPS Websites', - certCount: 'Certificates', - websiteExpire: 'Website Expiry', - database: 'Databases', - remoteDatabase: 'Remote Databases', - address: 'Address', - containerResourceUsage: 'Container Resource Usage', - spaceUsage: 'Space Usage', - reclaimable: 'Reclaimable', - containerReclaimable: 'Container Reclaimable', - image: 'Images', - volume: 'Volumes', - buildCache: 'Build Cache', - alert: 'Alert', - alertConfigured: 'Alerts Configured', - alertOperations: 'Alert Notifications', - alertTaskCount: 'Alert Tasks', - enabledAlertTask: 'Enabled Tasks', - disabledAlertTask: 'Disabled Tasks', - alertChannels: 'Notification Channels', - alertLogCount: 'Alert Logs', - alertSuccessRate: 'Alert Success Rate', - alertFailedLogs: 'Failed Alert Logs', - alertPendingLogs: 'Pending Sync Logs', - alertPending: 'Pending Sync', - alertTaskStats: 'Alert Task Statistics', - alertTaskType: 'Alert Type', - alertLogStatusStats: 'Alert Execution Status', - alertHealthNormal: 'Normal', - alertHealthAttention: 'Needs Attention', - alertHealthRisk: 'High Risk', - alertHealthSummary: 'Alert Health', - alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy', - alertNoChannelReason: 'No notification channel is enabled', - alertFailedLogReason: '{0} failed alert logs found', - alertPendingReason: '{0} alert logs are pending sync', - alertDisabledTaskReason: '{0} alert tasks are disabled', - alertNoTaskReason: 'No alert tasks are configured', - goAlertConfig: 'Alert Config', - goAlertLogs: 'Alert Logs', - configureAlertChannel: 'Configure Channels', - createAlertTask: 'Create Alert Task', - viewAlertTasks: 'View Alert Tasks', - viewFailedAlertLogs: 'View Failed Logs', - viewAlertLogs: 'View Alert Logs', - alertChannelSummary: '{0} / {1} channels enabled', - alertTaskEnabledDesc: '{0} tasks enabled', - alertTaskSummary: '{0} enabled, {1} disabled', - alertLogSummary: '{0} successful, {1} failed', - alertPendingDesc: '{0} logs pending sync', - alertLogSuccessDesc: 'Notification completed', - alertLogFailedDesc: 'Check channel configuration or delivery path', - alertLogPendingDesc: 'Offline or sync path pending', - failedAlertLogs: 'Failed Alert Logs', - disabledAlertTasks: 'Disabled Alert Tasks', - alertTableDisplayDesc: 'Showing {0} of {1}', - alertMsg: 'Alert Message', - alertMethod: 'Alert Method', - alertRule: 'Alert Rule', - noAlertTask: 'No alert tasks', - noFailedAlertLog: 'No failed alert logs', - noDisabledAlertTask: 'No disabled alert tasks', - alertCronjobType: 'Cron Job: {0}', - alertAllTargets: 'All Targets', - alertAllDisks: 'All Disks', - alertAllCertificates: 'All Certificates', - alertAllWebsites: 'All Websites', - alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day', - alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day', - alertTimeRuleShort: 'Trigger within {0} days, send {1} times', - alertSendCountRuleShort: 'Send {0} times per day', - alertConfigInvalid: 'Invalid Config', - scoreCategoryAlert: 'Alert Notifications', - scoreAlertNoTask: 'No alert tasks are configured', - scoreAlertNoEnabledTask: 'All alert tasks are disabled', - scoreAlertDisabledTask: '{0} alert tasks are disabled', - scoreAlertNoChannel: 'No alert notification channel is enabled', - scoreAlertFailedHigh: '{0} alert failure logs found', - scoreAlertFailedMedium: '{0} alert failure logs found', - scoreAlertPending: '{0} alert logs are pending sync', - statAlertDesc: '{0} enabled tasks · {1} channels', - assetAlertDesc: '{0} failed logs, {1} pending sync logs', - failedExecutionRecords: 'Failed Execution Records', - taskID: 'Task ID', - executeTime: 'Execution Time', - backupTasks: 'Backup Tasks', - systemMetrics: 'Runtime Metrics', + 'Проверка сложности пароля отключена, высокий риск использования слабых паролей', + mfa: 'MFA-аутентификация', + mfaNormalDesc: 'MFA-аутентификация включена, вход более защищён', + mfaRiskDesc: 'MFA-аутентификация отключена, рекомендуется включить многофакторную аутентификацию', + passwordExpiration: 'Срок действия пароля', + passwordExpirationNormalDesc: 'Срок действия пароля находится в безопасном диапазоне', + passwordExpirationUnsetDesc: 'Срок действия пароля не задан, рекомендуется скорее настроить', + passwordExpirationRiskDesc: 'Срок действия пароля истекает через {0} дней, рекомендуется заблаговременно продлить', + passwordExpirationExpiredDesc: 'Срок действия пароля истёк {0} дней назад, продлите как можно скорее', + sessionTimeoutNormalDesc: 'Тайм-аут сессии находится в безопасном диапазоне', + sessionTimeoutRiskDesc: 'Тайм-аут сессии слишком велик. Рекомендуется ограничить срок неактивных сессий', + sshServiceNormalDesc: 'Служба SSH работает нормально', + sshServiceRiskDesc: 'Служба SSH не работает или находится в аномальном состоянии', + sshPortNormalDesc: 'SSH-порт изменён с порта по умолчанию', + sshPortRiskDesc: 'Используется порт 22 по умолчанию. Рекомендуется изменить', + rootLoginNormalDesc: 'Вход под пользователем root запрещён', + rootLoginRiskDesc: 'Пользователь root может входить напрямую. Рекомендуется отключить', + passwordAuthNormalDesc: 'SSH-вход по паролю отключён', + passwordAuthRiskDesc: 'Вход по паролю разрешён, высокий риск подбора пароля', + keyAuthNormalDesc: 'SSH-аутентификация по ключу включена', + keyAuthRiskDesc: 'Ключевая аутентификация отключена. Рекомендуется использовать вход по ключу', + websiteOverview: 'Обзор сайтов', + primaryDomain: 'Основной домен', + expireTime: 'Дата истечения', + domain: 'Домен', + issuer: 'Издатель', + autoRenew: 'Автопродление', + websiteCount: 'Количество сайтов', + httpsWebsite: 'HTTPS-сайты', + certCount: 'Количество сертификатов', + websiteExpire: 'Истечение сайтов', + database: 'Базы данных', + remoteDatabase: 'Удалённые базы данных', + address: 'Адрес', + containerResourceUsage: 'Использование ресурсов контейнерами', + spaceUsage: 'Использованное пространство', + reclaimable: 'Можно освободить', + containerReclaimable: 'Контейнеры можно освободить', + image: 'Образы', + volume: 'Тома данных', + buildCache: 'Кэш сборки', + alert: 'Оповещения', + alertConfigured: 'Оповещения настроены', + alertOperations: 'Уведомления оповещений', + alertTaskCount: 'Задачи оповещений', + enabledAlertTask: 'Активные задачи', + disabledAlertTask: 'Отключённые задачи', + alertChannels: 'Каналы уведомлений', + alertLogCount: 'Журнал оповещений', + alertSuccessRate: 'Процент успешных оповещений', + alertFailedLogs: 'Журнал неудачных оповещений', + alertPendingLogs: 'Журнал ожидающих синхронизации', + alertPending: 'Ожидает синхронизации', + alertTaskStats: 'Статистика задач оповещений', + alertTaskType: 'Тип оповещения', + alertLogStatusStats: 'Статус выполнения оповещений', + alertHealthNormal: 'Норма', + alertHealthAttention: 'Требует внимания', + alertHealthRisk: 'Высокий риск', + alertHealthSummary: 'Состояние оповещений', + alertHealthNormalReason: 'Задачи оповещений, каналы уведомлений и журналы выполнения в норме', + alertNoChannelReason: 'Каналы уведомлений не включены', + alertFailedLogReason: 'Обнаружено {0} записей неудачных оповещений', + alertPendingReason: '{0} записей оповещений ожидают синхронизации', + alertDisabledTaskReason: '{0} задач оповещений отключены', + alertNoTaskReason: 'Задачи оповещений не настроены', + goAlertConfig: 'Настройки оповещений', + goAlertLogs: 'Журнал оповещений', + configureAlertChannel: 'Настроить каналы уведомлений', + createAlertTask: 'Создать задачу оповещения', + viewAlertTasks: 'Просмотреть задачи оповещений', + viewFailedAlertLogs: 'Просмотреть журнал неудачных оповещений', + viewAlertLogs: 'Просмотреть журнал оповещений', + alertChannelSummary: 'Включено каналов: {0} / {1}', + alertTaskEnabledDesc: 'Активных задач: {0}', + alertTaskSummary: 'Активных: {0}, отключённых: {1}', + alertLogSummary: 'Успешных: {0}, неудачных: {1}', + alertPendingDesc: '{0} записей ожидают синхронизации', + alertLogSuccessDesc: 'Уведомление доставлено', + alertLogFailedDesc: 'Проверьте настройки канала или маршрут доставки', + alertLogPendingDesc: 'Офлайн или маршрут синхронизации ожидает обработки', + failedAlertLogs: 'Журнал неудачных оповещений', + disabledAlertTasks: 'Отключённые задачи оповещений', + alertTableDisplayDesc: 'Показано {0} из {1}', + alertMsg: 'Текст оповещения', + alertMethod: 'Способ оповещения', + alertRule: 'Правило оповещения', + noAlertTask: 'Задачи оповещений отсутствуют', + noFailedAlertLog: 'Нет записей неудачных оповещений', + noDisabledAlertTask: 'Нет отключённых задач оповещений', + alertCronjobType: 'Плановая задача: {0}', + alertAllTargets: 'Все объекты', + alertAllDisks: 'Все диски', + alertAllCertificates: 'Все сертификаты', + alertAllWebsites: 'Все сайты', + alertDiskRuleShort: '{0} превышает {1}{2}, {3} раз в день', + alertAverageRuleShort: 'Среднее за {0} мин. превышает {1}%, {2} раз в день', + alertTimeRuleShort: 'Срабатывает в течение {0} дней, отправка {1} раз', + alertSendCountRuleShort: 'Отправка {0} раз в день', + alertConfigInvalid: 'Некорректная конфигурация', + scoreCategoryAlert: 'Уведомления оповещений', + scoreAlertNoTask: 'Задачи оповещений не настроены', + scoreAlertNoEnabledTask: 'Все задачи оповещений отключены', + scoreAlertDisabledTask: '{0} задач оповещений отключены', + scoreAlertNoChannel: 'Каналы уведомлений не включены', + scoreAlertFailedHigh: 'Обнаружено {0} записей неудачных оповещений', + scoreAlertFailedMedium: 'Обнаружено {0} записей неудачных оповещений', + scoreAlertPending: '{0} записей оповещений ожидают синхронизации', + statAlertDesc: 'Активных задач {0} · каналов {1}', + assetAlertDesc: '{0} неудачных записей, {1} ожидающих синхронизации', + failedExecutionRecords: 'Журнал неудачных выполнений', + taskID: 'ID задачи', + executeTime: 'Время выполнения', + backupTasks: 'Задачи резервного копирования', + systemMetrics: 'Метрики выполнения', cpu: 'CPU', thresholdPercent: 'Порог {0}%', - recent24HourPeakPercent: 'Last 24h peak {0}', - loadAverage: '1 / 5 / 15 minute load: {0} / {1} / {2}', - sourceMount: 'Mount point {0}', - storageUsage: 'Storage Usage', - localDisk: 'Local Disk', - highUsagePeriods: 'High Usage Periods', - timeRange: 'Time Range', + recent24HourPeakPercent: 'Пик за 24 ч: {0}', + loadAverage: 'Нагрузка за 1 / 5 / 15 мин.: {0} / {1} / {2}', + sourceMount: 'Точка монтирования {0}', + storageUsage: 'Использование хранилища', + localDisk: 'Локальный диск', + highUsagePeriods: 'Периоды высокой нагрузки', + timeRange: 'Временной диапазон', threshold: 'Порог', - duration: 'Duration', - peak: 'Peak', - scoring: 'Scoring', - counted: 'Counted', - notCounted: 'Not Counted', - dataSource: 'Data Source', - noHighUsagePeriod: 'No high usage periods', - monitorDisabledOrNoData: 'Host monitoring is disabled or no monitor data is available', - systemHealthStatus: 'Last 24h Host Runtime Risk', - mainReasons: 'Main Reasons', - viewHostMonitor: 'View Host Monitor', + duration: 'Продолжительность', + peak: 'Пик', + scoring: 'Подсчёт баллов', + counted: 'Учитывается', + notCounted: 'Не учитывается', + dataSource: 'Источник данных', + noHighUsagePeriod: 'Периоды высокой нагрузки отсутствуют', + monitorDisabledOrNoData: 'Мониторинг хоста отключён или данные отсутствуют', + systemHealthStatus: 'Состояние рисков хоста за последние 24 часа', + mainReasons: 'Основные причины', + viewHostMonitor: 'Просмотреть мониторинг хоста', systemHealthAttentionDesc: - '{0} risk items detected in the last 24 hours. Prioritize resource peaks and disk usage.', - systemHealthNormalDesc: 'Host runtime metrics were normal in the last 24 hours', - monitorEnabled: 'Monitoring Enabled', - cpuCoreUsage: '{0} / {1} cores', - load1Minute: '1-min load', - diskSpaceUsage: 'Disk Space Usage', - usedCapacity: 'Used / Total', - fileSystem: 'File System', - resourceTrendSummary: 'Resource Trend Summary', - last24Hours: 'Last 24 Hours', - granularityHour: 'Granularity: 1 hour', - current: 'Current', - average: 'Average', - totalItems: '{0} items', - to: 'to', - hoursShort: '{0} h', - minutesShort: '{0} min', - websiteStatus: 'Website Status', - websiteHealthStatus: 'Website Protection Health', - websiteHealthNormalReason: 'Websites, certificates, WAF, and website monitoring are healthy', + 'За последние 24 часа обнаружено {0} рисковых элементов. Рекомендуется обратить внимание на пиковые значения ресурсов и заполненность дисков.', + systemHealthNormalDesc: 'Метрики работы хоста за последние 24 часа в норме', + monitorEnabled: 'Мониторинг включён', + cpuCoreUsage: '{0} / {1} ядер', + load1Minute: 'Нагрузка за 1 мин.', + diskSpaceUsage: 'Использование дискового пространства', + usedCapacity: 'Использовано / Всего', + fileSystem: 'Файловая система', + resourceTrendSummary: 'Сводка динамики ресурсов', + last24Hours: 'Последние 24 часа', + granularityHour: 'Шаг: 1 час', + current: 'Текущее', + average: 'Среднее', + totalItems: 'Всего {0} элементов', + to: 'до', + hoursShort: '{0} ч', + minutesShort: '{0} мин', + websiteStatus: 'Статус сайтов', + websiteHealthStatus: 'Состояние защиты сайтов', + websiteHealthNormalReason: 'Сайты, сертификаты, WAF и мониторинг сайтов в норме', websiteHealthAttentionDesc: - '{0} risk items detected. Handle them soon to protect website security and availability.', - websiteHealthNormalDesc: 'Current website protection metrics are normal', - handleSslRisk: 'Handle Certificate Risks', - viewWaf: 'View WAF', - priority: 'Priority', - riskDescription: 'Risk Description', - deductScore: 'Deducted Score', - remaining: 'Remaining', - wafSourceIpTop: 'WAF Source IP TOP5', - wafAffectedSiteTop: 'Affected Sites TOP5', - sslRisk: 'Certificate Risks', - sslExpiring: 'Expiring Certificates', - includedInReport: 'Included in report', - needRenewal: 'Renewal recommended', - fromExpireInfo: 'From expiry information', - runningWebsite: 'Running Websites', - fromWebsiteStatus: 'From website list status', - stoppedWebsite: 'Stopped Websites', - confirmStoppedWebsite: 'Confirm whether this is expected', - expiringWebsite: 'Expiring Websites', - expiringSoon: 'Expiring Soon', - none: 'None', - noSslRisk: 'No certificates need handling', - websiteProtection: 'WAF and Website Monitoring', - websiteMonitor: 'Website Monitoring', + 'Обнаружено {0} рисковых элементов. Рекомендуется скорее устранить для обеспечения безопасности и доступности сайтов.', + websiteHealthNormalDesc: 'Текущие показатели защиты сайтов в норме', + handleSslRisk: 'Обработать риски сертификатов', + viewWaf: 'Просмотреть WAF', + priority: 'Приоритет', + riskDescription: 'Описание риска', + deductScore: 'Штрафные баллы', + remaining: 'Осталось', + wafSourceIpTop: 'WAF — TOP5 IP-источников перехвата', + wafAffectedSiteTop: 'TOP5 затронутых сайтов', + sslRisk: 'Риски сертификатов', + sslExpiring: 'Срок действия сертификатов истекает', + includedInReport: 'Включено в отчёт', + needRenewal: 'Рекомендуется продлить', + fromExpireInfo: 'Из информации об истечении', + runningWebsite: 'Работающие сайты', + fromWebsiteStatus: 'Из статуса списка сайтов', + stoppedWebsite: 'Остановленные сайты', + confirmStoppedWebsite: 'Подтвердите, что это ожидаемое поведение', + expiringWebsite: 'Сайты с истекающим сроком', + expiringSoon: 'Скоро истекает', + none: 'Нет', + noSslRisk: 'Нет сертификатов, требующих обработки', + websiteProtection: 'WAF и мониторинг сайтов', + websiteMonitor: 'Мониторинг сайтов', waf: 'WAF', - siteAvailability: 'Site Availability', - monitoredSites: 'Monitored Sites', - requestCount: 'Requests', - abnormalSites: 'Abnormal Sites', - count5xxSource: 'Counted by 5xx requests', - wafIntercept: 'WAF Blocks', - highRiskHit: 'High-risk Hits', - websiteMonitorDisabledOrNoData: 'Website monitoring is disabled or no monitor data is available', - wafDisabledOrNoData: 'WAF is disabled or no block data is available', - noWafData: 'No WAF block data', - sourceIP: 'Source IP', - hitCount: 'Hits', - level: 'Level', - attackType: 'Attack Type', - requestRatio: 'Request Ratio', - installed: 'Installed', - normalRunning: 'Running Normally', - failedStart: 'Startup Failed', - manualStopped: 'Manually Stopped', - failed: 'Failed', - success: 'Success', - canUpdate: 'Upgradable', + siteAvailability: 'Доступность сайтов', + monitoredSites: 'Отслеживаемые сайты', + requestCount: 'Количество запросов', + abnormalSites: 'Аномальные сайты', + count5xxSource: 'По количеству запросов 5xx', + wafIntercept: 'Перехваты WAF', + highRiskHit: 'Высокорисковые срабатывания', + websiteMonitorDisabledOrNoData: 'Мониторинг сайтов отключён или данные отсутствуют', + wafDisabledOrNoData: 'WAF отключён или данные о перехватах отсутствуют', + noWafData: 'Данные о перехватах WAF отсутствуют', + sourceIP: 'IP-источник', + hitCount: 'Количество срабатываний', + level: 'Уровень', + attackType: 'Тип атаки', + requestRatio: 'Доля запросов', + installed: 'Установлено', + normalRunning: 'Работает нормально', + failedStart: 'Ошибка запуска', + manualStopped: 'Остановлено вручную', + failed: 'Неудачно', + success: 'Успешно', + canUpdate: 'Доступно обновление', listSeparator: ', ', - containerCount: 'Containers', - stopped: 'Stopped', - abnormal: 'Abnormal', - abnormalContainers: 'Abnormal Containers', - resourceUsage: 'Resource Usage', - exposedContainerPorts: 'Exposed Ports', - portMapping: 'Port Mapping', - risk: 'Risk', - noAbnormalContainer: 'No abnormal containers', - noExposedContainer: 'No exposed ports detected', - publicExpose: 'Public Exposure', - privateExpose: 'Private Mapping', + containerCount: 'Количество контейнеров', + stopped: 'Остановлено', + abnormal: 'Аномально', + abnormalContainers: 'Аномальные контейнеры', + resourceUsage: 'Использование ресурсов', + exposedContainerPorts: 'Открытые порты', + portMapping: 'Проброс портов', + risk: 'Риск', + noAbnormalContainer: 'Аномальные контейнеры отсутствуют', + noExposedContainer: 'Открытые порты не обнаружены', + publicExpose: 'Публичный доступ', + privateExpose: 'Внутренний проброс', resourceHealth: 'Состояние ресурсов выполнения', checkTime: 'Время проверки', resourceHealthNormalDesc: 'Приложения, базы данных и контейнеры сейчас в норме', @@ -4477,27 +4485,27 @@ const message = { stoppedContainerSpace: 'Остановленные контейнеры', unusedVolumeSpace: 'Неиспользуемые тома', buildCacheSpace: 'Кэш сборки Docker', - executionRecords: 'Execution Records', - successRate: 'Success Rate', - failedJobs: 'Failed Jobs', - recentRecoveryPoint: 'Latest Recovery Point', - remoteCoverage: 'Remote Coverage', - recent7Days: 'Last 7 days', - taskTypeStats: 'Task Type Statistics', - total: 'Total', - taskTypeDesc: '{0} enabled, {1} disabled', - failedOrAttentionTasks: 'Failed or Attention Tasks', - execution: 'Execution', - latestExecution: 'Latest Execution', - remoteBackup: 'Remote Backup', - localOnly: 'Local Only', - covered: 'Covered', - noAttentionCronjob: 'No failed or attention cron jobs', + executionRecords: 'Записи выполнений', + successRate: 'Процент успеха', + failedJobs: 'Неудачные задачи', + recentRecoveryPoint: 'Последняя точка восстановления', + remoteCoverage: 'Удалённое покрытие', + recent7Days: 'Последние 7 дней', + taskTypeStats: 'Статистика по типам задач', + total: 'Итого', + taskTypeDesc: 'Активных {0}, отключённых {1}', + failedOrAttentionTasks: 'Неудачные или требующие внимания задачи', + execution: 'Выполнение', + latestExecution: 'Последнее выполнение', + remoteBackup: 'Удалённое резервное копирование', + localOnly: 'Только локально', + covered: 'Покрыто', + noAttentionCronjob: 'Нет неудачных или требующих внимания плановых задач', cronjobHealth: 'Состояние плановых задач', cronjobHealthNormalDesc: 'Выполнение задач и покрытие резервного копирования в норме', cronjobHealthAttentionDesc: - 'Обнаружено {0} пунктов риска. Сначала проверьте отключенные задачи и покрытие бэкапов.', - cronjobHealthRiskDesc: 'Обнаружено {0} пунктов риска. Сначала обработайте ошибки и отключенные задачи.', + 'Обнаружено {0} пунктов риска. Сначала проверьте отключённые задачи и покрытие бэкапов.', + cronjobHealthRiskDesc: 'Обнаружено {0} пунктов риска. Сначала обработайте ошибки и отключённые задачи.', cronjobReasonFailed: '{0} неуспешных записей', cronjobReasonDisabled: '{0} задач отключено', cronjobReasonLocalOnlyBackup: '{0} бэкапов только локально', @@ -4505,68 +4513,68 @@ const message = { viewFailedRecords: 'Показать сбойные задачи', viewCronjobTasks: 'Показать плановые задачи', checkBackupTasks: 'Проверить задачи бэкапа', - generationRule: 'Generation Rules', - scheduleDaily: 'Daily', - scheduleDailyDesc: 'Generate a report for the last 24 hours at 09:00 every day', - scheduleWeekly: 'Weekly', - scheduleWeeklyDesc: 'Generate a report for the last 7 days at 09:00 every Monday', - scheduleMonthly: 'Monthly', - scheduleMonthlyDesc: 'Generate a report for the previous month at 09:00 on the 1st', - scheduleCurrentDaily: 'Every day at 09:00, generate the last 24 hours report · Next {0}', - scheduleCurrentWeekly: 'Every Monday at 09:00, generate the last 7 days report · Next {0}', - scheduleCurrentMonthly: 'On the 1st at 09:00, generate the previous month report · Next {0}', - notificationMethod: 'Notification Methods', - channel: 'Channel', - receiver: 'Receiver', + generationRule: 'Правила генерации', + scheduleDaily: 'Ежедневно', + scheduleDailyDesc: 'Ежедневно в 09:00 генерируется отчёт за последние 24 часа', + scheduleWeekly: 'Еженедельно', + scheduleWeeklyDesc: 'Каждый понедельник в 09:00 генерируется отчёт за последние 7 дней', + scheduleMonthly: 'Ежемесячно', + scheduleMonthlyDesc: '1-го числа в 09:00 генерируется отчёт за прошлый месяц', + scheduleCurrentDaily: 'Ежедневно в 09:00 — отчёт за 24 часа · Следующий {0}', + scheduleCurrentWeekly: 'Каждый понедельник в 09:00 — отчёт за 7 дней · Следующий {0}', + scheduleCurrentMonthly: '1-го числа в 09:00 — отчёт за прошлый месяц · Следующий {0}', + notificationMethod: 'Способ уведомления', + channel: 'Канал', + receiver: 'Получатель', systemThreshold: 'Системный порог', - metric: 'Metric', - currentRule: 'Current Rule', - hostMonitor: 'Host Monitor', - monitorInterval: 'Monitor Interval', - exportSettings: 'Export Settings', - lastExportReport: 'Recent Generated Result', - noLastExportReport: 'No exported report records', - lastExportStatus: 'Last Export Status', - exportFile: 'Export File', - generateTime: 'Generated At', - fileSize: 'File Size', - viewExportHistory: 'View Export History', - defaultFormat: 'Default Format', - savePath: 'Save Directory', - savePathRequired: 'Set the report save directory', - autoExport: 'Enable Auto Export', - autoExportDesc: 'Generate an Ops Report automatically every day at 09:00 when enabled', - autoExportEnabled: 'Auto export enabled', - autoExportDisabled: 'Auto export disabled', + metric: 'Показатель', + currentRule: 'Текущее правило', + hostMonitor: 'Мониторинг хоста', + monitorInterval: 'Интервал мониторинга', + exportSettings: 'Настройки экспорта', + lastExportReport: 'Последний результат генерации', + noLastExportReport: 'Записей экспорта отчётов нет', + lastExportStatus: 'Статус последнего экспорта', + exportFile: 'Файл экспорта', + generateTime: 'Время генерации', + fileSize: 'Размер файла', + viewExportHistory: 'Просмотреть историю экспорта', + defaultFormat: 'Формат по умолчанию', + savePath: 'Каталог сохранения', + savePathRequired: 'Укажите каталог для сохранения отчёта', + autoExport: 'Включить автоматический экспорт', + autoExportDesc: 'После включения отчёт будет автоматически генерироваться ежедневно в 09:00', + autoExportEnabled: 'Автоматический экспорт включён', + autoExportDisabled: 'Автоматический экспорт отключён', readOnlyPermissionTip: - 'The current account can only view Ops Report settings. Contact an administrator to make changes.', - refreshing: 'Refreshing', - exporting: 'Exporting', - exportFailed: 'Failed to export report', - generating: 'Generating', - saved: 'Saved', - saveFailed: 'Failed to save settings', - generateNow: 'Generate Now', - generateSuccess: 'Report file generated: {0}', - generateFailed: 'Failed to generate report', - enabledStatus: 'Enabled', - disabledStatus: 'Disabled', - thresholdRule: 'Threshold {0}, trigger after {1} consecutive times', - hours: '{0} hours', - minutes: '{0} minutes', - seconds: '{0} seconds', - totalExports: 'Total Exports', - successExports: 'Successful Exports', - failedExports: 'Failed Exports', - reportName: 'Report Name', - exportFormat: 'Export Format', - operator: 'Operator', - triggerType: 'Trigger', - filePath: 'File Path', - manualExport: 'Manual', - scheduledExport: 'Scheduled', - exportResult: 'Export Result', - exportDetail: 'Export Detail', + 'Текущая учётная запись может только просматривать настройки отчёта. Для изменений обратитесь к администратору.', + refreshing: 'Обновление', + exporting: 'Экспорт', + exportFailed: 'Не удалось экспортировать отчёт', + generating: 'Генерация', + saved: 'Сохранено', + saveFailed: 'Не удалось сохранить настройки', + generateNow: 'Сгенерировать сейчас', + generateSuccess: 'Файл отчёта создан: {0}', + generateFailed: 'Не удалось сгенерировать отчёт', + enabledStatus: 'Включено', + disabledStatus: 'Отключено', + thresholdRule: 'Порог {0}, срабатывает после {1} последовательных раз', + hours: '{0} ч', + minutes: '{0} мин', + seconds: '{0} сек', + totalExports: 'Всего экспортов', + successExports: 'Успешных экспортов', + failedExports: 'Неудачных экспортов', + reportName: 'Название отчёта', + exportFormat: 'Формат экспорта', + operator: 'Оператор', + triggerType: 'Способ запуска', + filePath: 'Путь к файлу', + manualExport: 'Вручную', + scheduledExport: 'По расписанию', + exportResult: 'Результат экспорта', + exportDetail: 'Описание экспорта', }, }, user: { diff --git a/frontend/src/lang/modules/tr.ts b/frontend/src/lang/modules/tr.ts index 6532b1c65e46..887454f46b5e 100644 --- a/frontend/src/lang/modules/tr.ts +++ b/frontend/src/lang/modules/tr.ts @@ -4064,393 +4064,393 @@ const message = { website: 'Web Sitesi Koruması', resource: 'Çalışma Kaynakları', cronjob: 'Zamanlanmış Görevler', - alert: 'Alert Notifications', + alert: 'Uyarı Bildirimleri', history: 'Dışa Aktarma Geçmişi', setting: 'Ayarlar', page: { - enterprise: 'Enterprise', - reportNode: 'Report Node', - selectReportNode: 'Select report node', - currentNode: 'Current', - scoreMeta: '{0} points deducted · {1} risks', - hostAddress: 'Host Address', - panelVersion: 'Panel Version', - cpuCores: 'Physical Cores', - coreUnit: '{0} cores', - memoryTotal: 'Memory Total', - reportDate: 'Report Date', - serverSecurityOverview: 'Server Security Operations Overview', - securityScore: 'Security Score', + enterprise: 'Kurumsal', + reportNode: 'Rapor Düğümü', + selectReportNode: 'Rapor düğümü seçin', + currentNode: 'Geçerli Düğüm', + scoreMeta: '{0} puan düşüldü · {1} risk', + hostAddress: 'Ana Makine Adresi', + panelVersion: 'Panel Sürümü', + cpuCores: 'Fiziksel Çekirdek', + coreUnit: '{0} Çekirdek', + memoryTotal: 'Toplam Bellek', + reportDate: 'Rapor Tarihi', + serverSecurityOverview: 'Sunucu Güvenlik Operasyon Genel Bakışı', + securityScore: 'Güvenlik Puanı', overviewSummary: - 'Current security level: {0}. {1} points deducted, {2} risk items found, {3} objects checked.', - riskDistribution: 'Risk Distribution', - totalDeducted: 'Total deducted', - noRiskDeducted: 'No deductions', - scoreTrend: 'Score Trend', - scoreLevelSafe: 'Safe', - scoreLevelAttention: 'Needs Attention', - scoreLevelMediumRisk: 'Medium Risk', - scoreLevelHighRisk: 'High Risk', - scoreCategoryHost: 'Host Resources', - scoreCategoryLogin: 'Login Security', - scoreCategoryWebsite: 'Websites & Certificates', - scoreCategoryCronjob: 'Cron Jobs', - scoreCategoryResource: 'Runtime Resources', - scoreDiskHigh: 'Disk {0} usage is {1}%', - scoreDiskMedium: 'Disk {0} usage is {1}%', - scoreResourceHigh: '{0} current usage is {1}%', - scoreResourceMedium: '{0} current usage is {1}%', - scoreLoadMedium: 'Current load is {0}', - scoreMonitorDisabled: 'Host monitoring is disabled', - scorePanelLoginFailedHigh: 'Panel login failed {0} times', - scorePanelLoginFailedMedium: 'Panel login failed {0} times', - scoreSSHLoginFailedHigh: 'SSH login failed {0} times', - scoreSSHLoginFailedMedium: 'SSH login failed {0} times', - scoreMFADisabled: 'MFA is disabled', - scoreAllowIPsOpen: 'Allowed IPs and bound domain are not configured or access is unrestricted', - scorePasswordExpired: 'Panel password has expired', - scorePasswordExpiring: 'Panel password expires in {0} days', - scorePanelHTTPSDisabled: 'Panel HTTPS is disabled', - scoreSSHRootLogin: 'SSH root login is allowed', - scoreSSHPasswordAuth: 'SSH password auth is enabled without key auth', - scoreSSLHigh: '{0} certificate expires in {1} days', - scoreSSLMedium: '{0} certificate expires in {1} days', - scoreWebsiteExpire: '{0} website expires in {1} days', - scoreWebsiteHTTP: '{0} does not use HTTPS', - scoreWebsiteStopped: '{0} status is abnormal', - scoreWebsiteMonitorUnavailable: 'Website monitoring detected an unavailable site', - scoreWebsiteMonitorAvailability: 'Website monitoring availability {0}% is below the threshold', - scoreWafDisabled: 'WAF is disabled and websites are not protected', - scoreWafHighRiskHit: 'WAF matched {0} risk rules in the reporting period', - scoreCronjobFailed: '{0} cron job failure records in the last 7 days', - scoreAppFailed: '{0} app is abnormal', - scoreAppStopped: '{0} app has stopped', - scoreContainerHigh: '{0} container status is abnormal', - scoreContainerExited: '{0} container has stopped', - scoreContainerResource: '{0} container resource usage is high', - attentionItems: 'Attention Items', - attentionAssets: 'Attention Assets', - riskItems: 'Risk Items', - object: 'Object', - description: 'Description', - itemUnit: 'items', - recordUnit: 'records', - certUnit: 'certs', - containerUnit: 'containers', - loginFailed: 'Failed Logins', - sslExpire: 'Certificate Expiry', - abnormalContainer: 'Abnormal Containers', - statAttentionDesc: '{0} points deducted', + 'Mevcut güvenlik seviyesi: {0}. {1} puan düşüldü, {2} risk öğesi bulundu, {3} nesne kontrol edildi.', + riskDistribution: 'Risk Dağılımı', + totalDeducted: 'Toplam Düşülen', + noRiskDeducted: 'Düşülme yok', + scoreTrend: 'Puan Trendi', + scoreLevelSafe: 'Güvenli', + scoreLevelAttention: 'Dikkat Gerekli', + scoreLevelMediumRisk: 'Orta Risk', + scoreLevelHighRisk: 'Yüksek Risk', + scoreCategoryHost: 'Ana Makine Kaynakları', + scoreCategoryLogin: 'Giriş Güvenliği', + scoreCategoryWebsite: 'Web Siteleri ve Sertifikalar', + scoreCategoryCronjob: 'Zamanlanmış Görevler', + scoreCategoryResource: 'Çalışma Kaynakları', + scoreDiskHigh: 'Disk {0} kullanımı %{1}', + scoreDiskMedium: 'Disk {0} kullanımı %{1}', + scoreResourceHigh: '{0} mevcut kullanımı %{1}', + scoreResourceMedium: '{0} mevcut kullanımı %{1}', + scoreLoadMedium: 'Mevcut yük {0}', + scoreMonitorDisabled: 'Ana makine izleme devre dışı', + scorePanelLoginFailedHigh: 'Panel girişi {0} kez başarısız oldu', + scorePanelLoginFailedMedium: 'Panel girişi {0} kez başarısız oldu', + scoreSSHLoginFailedHigh: 'SSH girişi {0} kez başarısız oldu', + scoreSSHLoginFailedMedium: 'SSH girişi {0} kez başarısız oldu', + scoreMFADisabled: 'MFA devre dışı', + scoreAllowIPsOpen: 'İzin verilen IP\'ler ve bağlı alan adı yapılandırılmamış veya erişim kısıtlanmamış', + scorePasswordExpired: 'Panel şifresi süresi dolmuş', + scorePasswordExpiring: 'Panel şifresi {0} gün içinde sona eriyor', + scorePanelHTTPSDisabled: 'Panel HTTPS devre dışı', + scoreSSHRootLogin: 'SSH root girişi etkin', + scoreSSHPasswordAuth: 'SSH şifre doğrulaması etkin, anahtar doğrulaması devre dışı', + scoreSSLHigh: '{0} sertifikasının {1} günü kaldı', + scoreSSLMedium: '{0} sertifikasının {1} günü kaldı', + scoreWebsiteExpire: '{0} web sitesinin {1} günü kaldı', + scoreWebsiteHTTP: '{0} HTTPS kullanmıyor', + scoreWebsiteStopped: '{0} durumu anormal', + scoreWebsiteMonitorUnavailable: 'Web sitesi izleme kullanılamayan bir site algıladı', + scoreWebsiteMonitorAvailability: 'Web sitesi izleme kullanılabilirliği %{0} eşiğin altında', + scoreWafDisabled: 'WAF devre dışı, web siteleri koruma altında değil', + scoreWafHighRiskHit: 'WAF rapor döneminde {0} risk kuralı eşleştirdi', + scoreCronjobFailed: 'Son 7 günde {0} zamanlanmış görev başarısızlık kaydı', + scoreAppFailed: '{0} uygulama anormal', + scoreAppStopped: '{0} uygulama durdu', + scoreContainerHigh: '{0} konteyner durumu anormal', + scoreContainerExited: '{0} konteyner durdu', + scoreContainerResource: '{0} konteyner kaynak kullanımı yüksek', + attentionItems: 'Dikkat Öğeleri', + attentionAssets: 'Dikkat Varlıkları', + riskItems: 'Risk Öğeleri', + object: 'Nesne', + description: 'Açıklama', + itemUnit: 'öğe', + recordUnit: 'kayıt', + certUnit: 'sertifika', + containerUnit: 'konteyner', + loginFailed: 'Başarısız Girişler', + sslExpire: 'Sertifika Süresi', + abnormalContainer: 'Anormal Konteynerler', + statAttentionDesc: 'Toplam {0} puan düşüldü', statLoginDesc: 'Panel {0} · SSH {1}', - statSslDesc: '{0} certificates checked', - statContainerDesc: '{0} containers checked', - assetHostDesc: 'Max disk usage {0}%', - assetWebsiteDesc: '{0} certificates expiring soon, {1} abnormal websites', - assetResourceDesc: '{0} abnormal apps, {1} stopped apps, {2} abnormal containers', - assetCronjobDesc: '{0} failure records in the last 7 days, {1} disabled jobs', - app: 'Apps', - website: 'Websites', - websiteSsl: 'Websites / Certificates', - cronjob: 'Cron Jobs', - container: 'Containers', - sslCertificate: 'SSL Certificates', - loginSecurity: 'Login Security', - panelLogin: 'Panel Login', - sshLogin: 'SSH Login', - failedRecord: 'Failed Records', - expiredDays: 'Expired {0} days ago', - remainingDays: '{0} · {1} days left', - enabled: 'Enabled', - disabled: 'Disabled', - exportRecordFailed: 'Failed to save export record', - hostInfo: 'Host Info', - hostname: 'Hostname', - osVersion: 'OS Version', - kernelVersion: 'Kernel Version', - arch: 'Architecture', - uptime: 'Uptime', - diskUsage: 'Disk Usage', - mountPoint: 'Mount Point', - device: 'Device', - capacity: 'Capacity', - used: 'Used', - usageRate: 'Usage', - memory: 'Memory', - load: 'Load', - maxDiskUsage: 'Max Disk Usage', - panelLoginSecurity: 'Panel Login Security', - sshSecurity: 'Linux Server SSH Security', - panelFailedRecords: 'Panel Failed Login Records', - sshFailedRecords: 'SSH Failed Login Records', - location: 'Location', - configItem: 'Config Item', - currentValue: 'Current Value', - securityEntrance: 'Security Entrance', - configured: 'Configured', - notConfigured: 'Not Configured', + statSslDesc: '{0} sertifika kontrol edildi', + statContainerDesc: '{0} konteyner kontrol edildi', + assetHostDesc: 'Disk en yüksek kullanım %{0}', + assetWebsiteDesc: '{0} sertifika süresi dolmak üzere, {1} anormal web sitesi', + assetResourceDesc: '{0} anormal uygulama, {1} durmuş uygulama, {2} anormal konteyner', + assetCronjobDesc: 'Son 7 günde {0} başarısızlık kaydı, {1} görev devre dışı', + app: 'Uygulamalar', + website: 'Web Siteleri', + websiteSsl: 'Web Siteleri / Sertifikalar', + cronjob: 'Zamanlanmış Görevler', + container: 'Konteynerler', + sslCertificate: 'SSL Sertifikaları', + loginSecurity: 'Giriş Güvenliği', + panelLogin: 'Panel Girişi', + sshLogin: 'SSH Girişi', + failedRecord: 'Başarısız Kayıtlar', + expiredDays: '{0} gün önce süresi doldu', + remainingDays: '{0} · {1} gün kaldı', + enabled: 'Etkin', + disabled: 'Devre dışı', + exportRecordFailed: 'Dışa aktarma kaydı kaydedilemedi', + hostInfo: 'Ana Makine Bilgisi', + hostname: 'Ana Makine Adı', + osVersion: 'İşletim Sistemi Sürümü', + kernelVersion: 'Çekirdek Sürümü', + arch: 'Mimari', + uptime: 'Çalışma Süresi', + diskUsage: 'Disk Kullanımı', + mountPoint: 'Bağlama Noktası', + device: 'Cihaz', + capacity: 'Kapasite', + used: 'Kullanılan', + usageRate: 'Kullanım Oranı', + memory: 'Bellek', + load: 'Yük', + maxDiskUsage: 'Disk En Yüksek Kullanım', + panelLoginSecurity: 'Panel Giriş Güvenlik Yapılandırması', + sshSecurity: 'Linux Sunucu SSH Güvenlik Yapılandırması', + panelFailedRecords: 'Panel Başarısız Giriş Kayıtları', + sshFailedRecords: 'SSH Başarısız Giriş Kayıtları', + location: 'Konum', + configItem: 'Yapılandırma Öğesi', + currentValue: 'Mevcut Değer', + securityEntrance: 'Güvenlik Girişi', + configured: 'Yapılandırılmış', + notConfigured: 'Yapılandırılmamış', normal: 'Normal', - needAttention: 'Needs Attention', - allowIPs: 'Allowed IPs', - restricted: 'Restricted', - unrestricted: 'Unrestricted', - bindDomain: 'Bound Domain', - accessRestriction: 'Access Restriction', + needAttention: 'Dikkat Gerekli', + allowIPs: 'İzin Verilen IP\'ler', + restricted: 'Kısıtlanmış', + unrestricted: 'Kısıtlanmamış', + bindDomain: 'Bağlı Alan Adı', + accessRestriction: 'Erişim Kısıtlaması', panelHTTPS: 'Panel HTTPS', - passwordComplexity: 'Password Complexity', - sshService: 'SSH Service', - running: 'Running', - notRunning: 'Not Running', - listenPort: 'Listen Port', - read: 'Read', - rootLogin: 'Root Login', - passwordAuth: 'Password Auth', - keyAuth: 'Key Auth', - panelLoginFailed: 'Panel Failed Logins', - sshLoginFailed: 'SSH Failed Logins', - panelSecurityItems: 'Panel Security Items', - sshSecurityItems: 'SSH Security Items', - loginSecurityHealthStatus: 'Login Security Health', - adjustSSHSecurity: 'Adjust SSH Security', - viewLoginLogs: 'View Login Logs', - riskLevel: 'Risk Level', - goConfig: 'Configure', - viewMore: 'View More', - involvedIPs: '{0} IPs involved', - sessionTimeout: 'Session Timeout', - countUnit: 'times', - recent24Hours: 'Last 24 hours', + passwordComplexity: 'Şifre Karmaşıklığı', + sshService: 'SSH Servisi', + running: 'Çalışıyor', + notRunning: 'Çalışmıyor', + listenPort: 'Dinleme Portu', + read: 'Okundu', + rootLogin: 'Root Girişi', + passwordAuth: 'Şifre Doğrulaması', + keyAuth: 'Anahtar Doğrulaması', + panelLoginFailed: 'Panel Başarısız Girişler', + sshLoginFailed: 'SSH Başarısız Girişler', + panelSecurityItems: 'Panel Güvenlik Öğeleri', + sshSecurityItems: 'SSH Güvenlik Öğeleri', + loginSecurityHealthStatus: 'Giriş Güvenliği Sağlık Durumu', + adjustSSHSecurity: 'SSH Güvenliğini Ayarla', + viewLoginLogs: 'Giriş Günlüklerini Gör', + riskLevel: 'Risk Seviyesi', + goConfig: 'Yapılandır', + viewMore: 'Daha Fazla Gör', + involvedIPs: '{0} IP ilgili', + sessionTimeout: 'Oturum Zaman Aşımı', + countUnit: 'kez', + recent24Hours: 'Son 24 saat', currentService: 'Mevcut servis', - riskItemsExist: '{0} risk items', + riskItemsExist: '{0} risk öğesi mevcut', loginHealthRiskDesc: - '{0} risky configurations detected. Harden login security to reduce intrusion risk.', - loginHealthNormalDesc: 'Current login and SSH security configurations are normal', - loginHealthNormalReason: 'Login security is normal', - securityEntranceConfiguredDesc: 'Security entrance is configured to reduce default entry exposure', - securityEntranceRiskDesc: 'Security entrance is disabled. Hide the default login entry', - allowIPsRestrictedDesc: 'Allowed IPs are restricted for Panel access', - allowIPsRiskDesc: 'Access IPs are unrestricted. Configure allowed IPs for public environments', - bindDomainRestrictedDesc: 'Access domain is bound', - bindDomainRiskDesc: 'Access domain is not bound. Restrict access to a fixed domain', - accessRestrictionValue: 'Allowed IPs: {0} / Bound Domain: {1}', + '{0} riskli yapılandırma algılandı. Saldırı riskini azaltmak için giriş güvenliğini güçlendirin.', + loginHealthNormalDesc: 'Mevcut giriş ve SSH güvenlik yapılandırmaları normal durumda', + loginHealthNormalReason: 'Giriş güvenliği normal', + securityEntranceConfiguredDesc: 'Güvenlik girişi yapılandırılmış, varsayılan giriş maruziyeti azaltılmış', + securityEntranceRiskDesc: 'Güvenlik girişi devre dışı. Varsayılan giriş girişini gizleyin', + allowIPsRestrictedDesc: 'Panel erişimi için izin verilen IP\'ler kısıtlanmış', + allowIPsRiskDesc: 'Erişim IP\'leri kısıtlanmamış. Genel ortamlar için izin verilen IP\'leri yapılandırın', + bindDomainRestrictedDesc: 'Erişim alan adı bağlanmış', + bindDomainRiskDesc: 'Erişim alan adı bağlanmamış. Erişimi sabit bir alan adıyla kısıtlayın', + accessRestrictionValue: 'İzin verilen IP\'ler: {0} / Bağlı alan adı: {1}', accessRestrictionNormalDesc: - 'Allowed IPs or bound domain is configured to restrict Panel access sources', + 'Panel erişim kaynaklarını kısıtlamak için izin verilen IP\'ler veya bağlı alan adı yapılandırılmış', accessRestrictionRiskDesc: - 'Allowed IPs and bound domain are not configured or access is unrestricted. Configure at least one', - panelHTTPSNormalDesc: 'Panel HTTPS is enabled', - panelHTTPSRiskDesc: 'Panel HTTPS is disabled. Login traffic may be exposed', - passwordComplexityNormalDesc: 'Password complexity verification is enabled', + 'İzin verilen IP\'ler ve bağlı alan adı yapılandırılmamış veya erişim kısıtlanmamış. En az birini yapılandırın', + panelHTTPSNormalDesc: 'Panel HTTPS etkin', + panelHTTPSRiskDesc: 'Panel HTTPS devre dışı. Giriş trafiği açığa çıkabilir', + passwordComplexityNormalDesc: 'Şifre karmaşıklık doğrulaması etkin', passwordComplexityRiskDesc: - 'Password complexity verification is disabled, increasing weak password risk', - sessionTimeoutNormalDesc: 'Session timeout is within a safer range', - sessionTimeoutRiskDesc: 'Session timeout is long. Limit idle session lifetime', - sshServiceNormalDesc: 'SSH service is running normally', - sshServiceRiskDesc: 'SSH service is not running or is abnormal', - sshPortNormalDesc: 'SSH port is changed from the default port', - sshPortRiskDesc: 'SSH still uses default port 22. Change it when appropriate', - rootLoginNormalDesc: 'Root user cannot log in directly', - rootLoginRiskDesc: 'Root user can log in directly. Disable it', - passwordAuthNormalDesc: 'SSH password login is disabled', - passwordAuthRiskDesc: 'Password login is allowed, increasing brute-force risk', - keyAuthNormalDesc: 'SSH key authentication is enabled', - keyAuthRiskDesc: 'Key authentication is disabled. Use key-based login', - websiteOverview: 'Website Overview', - primaryDomain: 'Primary Domain', - expireTime: 'Expiry Time', - domain: 'Domain', - issuer: 'Issuer', - autoRenew: 'Auto Renew', - websiteCount: 'Websites', - httpsWebsite: 'HTTPS Websites', - certCount: 'Certificates', - websiteExpire: 'Website Expiry', - database: 'Databases', - remoteDatabase: 'Remote Databases', - address: 'Address', - containerResourceUsage: 'Container Resource Usage', - spaceUsage: 'Space Usage', - reclaimable: 'Reclaimable', - containerReclaimable: 'Container Reclaimable', - image: 'Images', - volume: 'Volumes', - buildCache: 'Build Cache', - alert: 'Alert', - alertConfigured: 'Alerts Configured', - alertOperations: 'Alert Notifications', - alertTaskCount: 'Alert Tasks', - enabledAlertTask: 'Enabled Tasks', - disabledAlertTask: 'Disabled Tasks', - alertChannels: 'Notification Channels', - alertLogCount: 'Alert Logs', - alertSuccessRate: 'Alert Success Rate', - alertFailedLogs: 'Failed Alert Logs', - alertPendingLogs: 'Pending Sync Logs', - alertPending: 'Pending Sync', - alertTaskStats: 'Alert Task Statistics', - alertTaskType: 'Alert Type', - alertLogStatusStats: 'Alert Execution Status', + 'Şifre karmaşıklık doğrulaması devre dışı, zayıf şifre riski yüksek', + sessionTimeoutNormalDesc: 'Oturum zaman aşımı güvenli aralıkta', + sessionTimeoutRiskDesc: 'Oturum zaman aşımı uzun. Boş oturum geçerlilik süresini kısıtlayın', + sshServiceNormalDesc: 'SSH servisi normal çalışıyor', + sshServiceRiskDesc: 'SSH servisi çalışmıyor veya durumu anormal', + sshPortNormalDesc: 'SSH portu varsayılan porttan değiştirilmiş', + sshPortRiskDesc: 'Hâlâ varsayılan 22 portunu kullanıyor, gerektiğinde değiştirin', + rootLoginNormalDesc: 'Root kullanıcısı doğrudan giriş yapamaz', + rootLoginRiskDesc: 'Root kullanıcısı doğrudan giriş yapabilir. Devre dışı bırakın', + passwordAuthNormalDesc: 'SSH şifre girişi devre dışı', + passwordAuthRiskDesc: 'Şifre girişi etkin, kaba kuvvet saldırısı riski yüksek', + keyAuthNormalDesc: 'SSH anahtar doğrulaması etkin', + keyAuthRiskDesc: 'Anahtar doğrulaması devre dışı. Anahtar tabanlı giriş kullanın', + websiteOverview: 'Web Sitesi Genel Bakışı', + primaryDomain: 'Birincil Alan Adı', + expireTime: 'Son Kullanma Tarihi', + domain: 'Alan Adı', + issuer: 'Düzenleyen Kurum', + autoRenew: 'Otomatik Yenileme', + websiteCount: 'Web Sitesi Sayısı', + httpsWebsite: 'HTTPS Web Siteleri', + certCount: 'Sertifika Sayısı', + websiteExpire: 'Web Sitesi Süresi', + database: 'Veritabanları', + remoteDatabase: 'Uzak Veritabanları', + address: 'Adres', + containerResourceUsage: 'Konteyner Kaynak Kullanımı', + spaceUsage: 'Alan Kullanımı', + reclaimable: 'Geri Kazanılabilir', + containerReclaimable: 'Konteyner Geri Kazanılabilir', + image: 'İmajlar', + volume: 'Birimler', + buildCache: 'Derleme Önbelleği', + alert: 'Uyarı', + alertConfigured: 'Uyarılar Yapılandırılmış', + alertOperations: 'Uyarı Bildirimleri', + alertTaskCount: 'Uyarı Görevleri', + enabledAlertTask: 'Etkin Görevler', + disabledAlertTask: 'Devre Dışı Görevler', + alertChannels: 'Bildirim Kanalları', + alertLogCount: 'Uyarı Günlükleri', + alertSuccessRate: 'Uyarı Başarı Oranı', + alertFailedLogs: 'Başarısız Uyarı Günlükleri', + alertPendingLogs: 'Senkronize Edilecek Günlükler', + alertPending: 'Senkronizasyon Bekliyor', + alertTaskStats: 'Uyarı Görev İstatistikleri', + alertTaskType: 'Uyarı Türü', + alertLogStatusStats: 'Uyarı Yürütme Durumu', alertHealthNormal: 'Normal', - alertHealthAttention: 'Needs Attention', - alertHealthRisk: 'High Risk', - alertHealthSummary: 'Alert Health', - alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy', - alertNoChannelReason: 'No notification channel is enabled', - alertFailedLogReason: '{0} failed alert logs found', - alertPendingReason: '{0} alert logs are pending sync', - alertDisabledTaskReason: '{0} alert tasks are disabled', - alertNoTaskReason: 'No alert tasks are configured', - goAlertConfig: 'Alert Config', - goAlertLogs: 'Alert Logs', - configureAlertChannel: 'Configure Channels', - createAlertTask: 'Create Alert Task', - viewAlertTasks: 'View Alert Tasks', - viewFailedAlertLogs: 'View Failed Logs', - viewAlertLogs: 'View Alert Logs', - alertChannelSummary: '{0} / {1} channels enabled', - alertTaskEnabledDesc: '{0} tasks enabled', - alertTaskSummary: '{0} enabled, {1} disabled', - alertLogSummary: '{0} successful, {1} failed', - alertPendingDesc: '{0} logs pending sync', - alertLogSuccessDesc: 'Notification completed', - alertLogFailedDesc: 'Check channel configuration or delivery path', - alertLogPendingDesc: 'Offline or sync path pending', - failedAlertLogs: 'Failed Alert Logs', - disabledAlertTasks: 'Disabled Alert Tasks', - alertTableDisplayDesc: 'Showing {0} of {1}', - alertMsg: 'Alert Message', - alertMethod: 'Alert Method', - alertRule: 'Alert Rule', - noAlertTask: 'No alert tasks', - noFailedAlertLog: 'No failed alert logs', - noDisabledAlertTask: 'No disabled alert tasks', - alertCronjobType: 'Cron Job: {0}', - alertAllTargets: 'All Targets', - alertAllDisks: 'All Disks', - alertAllCertificates: 'All Certificates', - alertAllWebsites: 'All Websites', - alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day', - alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day', - alertTimeRuleShort: 'Trigger within {0} days, send {1} times', - alertSendCountRuleShort: 'Send {0} times per day', - alertConfigInvalid: 'Invalid Config', - scoreCategoryAlert: 'Alert Notifications', - scoreAlertNoTask: 'No alert tasks are configured', - scoreAlertNoEnabledTask: 'All alert tasks are disabled', - scoreAlertDisabledTask: '{0} alert tasks are disabled', - scoreAlertNoChannel: 'No alert notification channel is enabled', - scoreAlertFailedHigh: '{0} alert failure logs found', - scoreAlertFailedMedium: '{0} alert failure logs found', - scoreAlertPending: '{0} alert logs are pending sync', - statAlertDesc: '{0} enabled tasks · {1} channels', - assetAlertDesc: '{0} failed logs, {1} pending sync logs', - failedExecutionRecords: 'Failed Execution Records', - taskID: 'Task ID', - executeTime: 'Execution Time', - backupTasks: 'Backup Tasks', - systemMetrics: 'Runtime Metrics', + alertHealthAttention: 'Dikkat Gerekli', + alertHealthRisk: 'Yüksek Risk', + alertHealthSummary: 'Uyarı Sağlık Durumu', + alertHealthNormalReason: 'Uyarı görevleri, bildirim kanalları ve yürütme günlükleri sağlıklı', + alertNoChannelReason: 'Bildirim kanalı etkin değil', + alertFailedLogReason: '{0} başarısız uyarI günlüğü bulundu', + alertPendingReason: '{0} uyarI günlüğü senkronizasyon bekliyor', + alertDisabledTaskReason: '{0} uyarI görevi devre dışı', + alertNoTaskReason: 'UyarI görevi yapılandırılmamış', + goAlertConfig: 'UyarI Yapılandırması', + goAlertLogs: 'UyarI Günlükleri', + configureAlertChannel: 'Kanalları Yapılandır', + createAlertTask: 'UyarI Görevi Oluştur', + viewAlertTasks: 'UyarI Görevlerini Gör', + viewFailedAlertLogs: 'Başarısız Günlükleri Gör', + viewAlertLogs: 'UyarI Günlüklerini Gör', + alertChannelSummary: '{0} / {1} kanal etkin', + alertTaskEnabledDesc: '{0} görev etkin', + alertTaskSummary: '{0} etkin, {1} devre dışı', + alertLogSummary: '{0} başarılı, {1} başarısız', + alertPendingDesc: '{0} günlük senkronizasyon bekliyor', + alertLogSuccessDesc: 'Bildirim tamamlandı', + alertLogFailedDesc: 'Kanal yapılandırmasını veya teslim yolunu kontrol edin', + alertLogPendingDesc: 'Çevrimdışı veya senkronizasyon yolu bekliyor', + failedAlertLogs: 'Başarısız Uyarı Günlükleri', + disabledAlertTasks: 'Devre Dışı Uyarı Görevleri', + alertTableDisplayDesc: '{1} öğeden {0} gösteriliyor', + alertMsg: 'Uyarı İçeriği', + alertMethod: 'Uyarı Yöntemi', + alertRule: 'Uyarı Kuralı', + noAlertTask: 'Uyarı görevi yok', + noFailedAlertLog: 'Başarısız uyarI günlüğü yok', + noDisabledAlertTask: 'Devre dışı uyarI görevi yok', + alertCronjobType: 'Zamanlanmış Görev: {0}', + alertAllTargets: 'Tüm Hedefler', + alertAllDisks: 'Tüm Diskler', + alertAllCertificates: 'Tüm Sertifikalar', + alertAllWebsites: 'Tüm Web Siteleri', + alertDiskRuleShort: '{0} {1}{2} aşıyor, günde {3} kez', + alertAverageRuleShort: '{0} dk ortalama %{1} aşıyor, günde {2} kez', + alertTimeRuleShort: '{0} gün içinde tetikle, {1} kez gönder', + alertSendCountRuleShort: 'Günde {0} kez gönder', + alertConfigInvalid: 'Geçersiz Yapılandırma', + scoreCategoryAlert: 'Uyarı Bildirimleri', + scoreAlertNoTask: 'Uyarı görevi yapılandırılmamış', + scoreAlertNoEnabledTask: 'Tüm uyarı görevleri devre dışı', + scoreAlertDisabledTask: '{0} uyarI görevi devre dışı', + scoreAlertNoChannel: 'Uyarı bildirim kanalı etkin değil', + scoreAlertFailedHigh: '{0} uyarI başarısızlık günlüğü bulundu', + scoreAlertFailedMedium: '{0} uyarI başarısızlık günlüğü bulundu', + scoreAlertPending: '{0} uyarI günlüğü senkronizasyon bekliyor', + statAlertDesc: '{0} etkin görev · {1} kanal', + assetAlertDesc: '{0} başarısız günlük, {1} senkronizasyon bekleyen günlük', + failedExecutionRecords: 'Başarısız Yürütme Kayıtları', + taskID: 'Görev ID', + executeTime: 'Yürütme Zamanı', + backupTasks: 'Yedekleme Görevleri', + systemMetrics: 'Çalışma Metrikleri', cpu: 'CPU', - thresholdPercent: 'Eşik {0}%', - recent24HourPeakPercent: 'Last 24h peak {0}', - loadAverage: '1 / 5 / 15 minute load: {0} / {1} / {2}', - sourceMount: 'Mount point {0}', - storageUsage: 'Storage Usage', - localDisk: 'Local Disk', - highUsagePeriods: 'High Usage Periods', - timeRange: 'Time Range', + thresholdPercent: 'Eşik %{0}', + recent24HourPeakPercent: 'Son 24 saat zirve {0}', + loadAverage: '1 / 5 / 15 dakika yük: {0} / {1} / {2}', + sourceMount: 'Bağlama noktası {0}', + storageUsage: 'Depolama Kullanımı', + localDisk: 'Yerel Disk', + highUsagePeriods: 'Yüksek Kullanım Dönemleri', + timeRange: 'Zaman Aralığı', threshold: 'Eşik', - duration: 'Duration', - peak: 'Peak', - scoring: 'Scoring', - counted: 'Counted', - notCounted: 'Not Counted', - dataSource: 'Data Source', - noHighUsagePeriod: 'No high usage periods', - monitorDisabledOrNoData: 'Host monitoring is disabled or no monitor data is available', - systemHealthStatus: 'Last 24h Host Runtime Risk', - mainReasons: 'Main Reasons', - viewHostMonitor: 'View Host Monitor', + duration: 'Süre', + peak: 'Zirve', + scoring: 'Puanlama', + counted: 'Dahil', + notCounted: 'Dahil Değil', + dataSource: 'Veri Kaynağı', + noHighUsagePeriod: 'Yüksek kullanım dönemi yok', + monitorDisabledOrNoData: 'Ana makine izleme devre dışı veya izleme verisi yok', + systemHealthStatus: 'Son 24 saat ana makine çalışma risk durumu', + mainReasons: 'Başlıca Nedenler', + viewHostMonitor: 'Ana Makine İzlemeyi Gör', systemHealthAttentionDesc: - '{0} risk items detected in the last 24 hours. Prioritize resource peaks and disk usage.', - systemHealthNormalDesc: 'Host runtime metrics were normal in the last 24 hours', - monitorEnabled: 'Monitoring Enabled', - cpuCoreUsage: '{0} / {1} cores', - load1Minute: '1-min load', - diskSpaceUsage: 'Disk Space Usage', - usedCapacity: 'Used / Total', - fileSystem: 'File System', - resourceTrendSummary: 'Resource Trend Summary', - last24Hours: 'Last 24 Hours', - granularityHour: 'Granularity: 1 hour', - current: 'Current', - average: 'Average', - totalItems: '{0} items', - to: 'to', - hoursShort: '{0} h', - minutesShort: '{0} min', - websiteStatus: 'Website Status', - websiteHealthStatus: 'Website Protection Health', - websiteHealthNormalReason: 'Websites, certificates, WAF, and website monitoring are healthy', + 'Son 24 saatte {0} risk öğesi algılandı. Kaynak zirvelerine ve disk kullanımına öncelik verin.', + systemHealthNormalDesc: 'Son 24 saatte ana makine çalışma metrikleri normaldi', + monitorEnabled: 'İzleme Etkin', + cpuCoreUsage: '{0} / {1} çekirdek', + load1Minute: '1 dk yük', + diskSpaceUsage: 'Disk Alanı Kullanımı', + usedCapacity: 'Kullanılan / Toplam', + fileSystem: 'Dosya Sistemi', + resourceTrendSummary: 'Kaynak Trend Özeti', + last24Hours: 'Son 24 Saat', + granularityHour: 'Hassasiyet: 1 saat', + current: 'Mevcut', + average: 'Ortalama', + totalItems: 'Toplam {0} öğe', + to: '-', + hoursShort: '{0} saat', + minutesShort: '{0} dk', + websiteStatus: 'Web Sitesi Durumu', + websiteHealthStatus: 'Web Sitesi Koruma Sağlığı', + websiteHealthNormalReason: 'Web siteleri, sertifikalar, WAF ve web sitesi izleme sağlıklı', websiteHealthAttentionDesc: - '{0} risk items detected. Handle them soon to protect website security and availability.', - websiteHealthNormalDesc: 'Current website protection metrics are normal', - handleSslRisk: 'Handle Certificate Risks', - viewWaf: 'View WAF', - priority: 'Priority', - riskDescription: 'Risk Description', - deductScore: 'Deducted Score', - remaining: 'Remaining', - wafSourceIpTop: 'WAF Source IP TOP5', - wafAffectedSiteTop: 'Affected Sites TOP5', - sslRisk: 'Certificate Risks', - sslExpiring: 'Expiring Certificates', - includedInReport: 'Included in report', - needRenewal: 'Renewal recommended', - fromExpireInfo: 'From expiry information', - runningWebsite: 'Running Websites', - fromWebsiteStatus: 'From website list status', - stoppedWebsite: 'Stopped Websites', - confirmStoppedWebsite: 'Confirm whether this is expected', - expiringWebsite: 'Expiring Websites', - expiringSoon: 'Expiring Soon', - none: 'None', - noSslRisk: 'No certificates need handling', - websiteProtection: 'WAF and Website Monitoring', - websiteMonitor: 'Website Monitoring', + '{0} risk öğesi algılandı. Web sitesi güvenliğini ve kullanılabilirliğini korumak için yakında ele alın.', + websiteHealthNormalDesc: 'Mevcut web sitesi koruma metrikleri normal', + handleSslRisk: 'Sertifika Risklerini Ele Al', + viewWaf: 'WAF\'ı Gör', + priority: 'Öncelik', + riskDescription: 'Risk Açıklaması', + deductScore: 'Düşülen Puan', + remaining: 'Kalan', + wafSourceIpTop: 'WAF Kaynak IP TOP5', + wafAffectedSiteTop: 'Etkilenen Siteler TOP5', + sslRisk: 'Sertifika Riskleri', + sslExpiring: 'Süresi Dolan Sertifikalar', + includedInReport: 'Rapora dahil edildi', + needRenewal: 'Yenileme öneriliyor', + fromExpireInfo: 'Son kullanma bilgisinden', + runningWebsite: 'Çalışan Web Siteleri', + fromWebsiteStatus: 'Web sitesi listesi durumundan', + stoppedWebsite: 'Duran Web Siteleri', + confirmStoppedWebsite: 'Bunun beklenen bir durum olup olmadığını doğrulayın', + expiringWebsite: 'Süresi Dolacak Web Siteleri', + expiringSoon: 'Yakında Sona Eriyor', + none: 'Yok', + noSslRisk: 'Ele alınması gereken sertifika yok', + websiteProtection: 'WAF ve Web Sitesi İzleme', + websiteMonitor: 'Web Sitesi İzleme', waf: 'WAF', - siteAvailability: 'Site Availability', - monitoredSites: 'Monitored Sites', - requestCount: 'Requests', - abnormalSites: 'Abnormal Sites', - count5xxSource: 'Counted by 5xx requests', - wafIntercept: 'WAF Blocks', - highRiskHit: 'High-risk Hits', - websiteMonitorDisabledOrNoData: 'Website monitoring is disabled or no monitor data is available', - wafDisabledOrNoData: 'WAF is disabled or no block data is available', - noWafData: 'No WAF block data', - sourceIP: 'Source IP', - hitCount: 'Hits', - level: 'Level', - attackType: 'Attack Type', - requestRatio: 'Request Ratio', - installed: 'Installed', - normalRunning: 'Running Normally', - failedStart: 'Startup Failed', - manualStopped: 'Manually Stopped', - failed: 'Failed', - success: 'Success', - canUpdate: 'Upgradable', + siteAvailability: 'Site Kullanılabilirliği', + monitoredSites: 'İzlenen Siteler', + requestCount: 'İstek Sayısı', + abnormalSites: 'Anormal Siteler', + count5xxSource: '5xx isteklere göre sayılır', + wafIntercept: 'WAF Engelleme', + highRiskHit: 'Yüksek Riskli Eşleşme', + websiteMonitorDisabledOrNoData: 'Web sitesi izleme devre dışı veya izleme verisi yok', + wafDisabledOrNoData: 'WAF devre dışı veya engelleme verisi yok', + noWafData: 'WAF engelleme verisi yok', + sourceIP: 'Kaynak IP', + hitCount: 'Eşleşme Sayısı', + level: 'Seviye', + attackType: 'Saldırı Türü', + requestRatio: 'İstek Oranı', + installed: 'Yüklü', + normalRunning: 'Normal Çalışıyor', + failedStart: 'Başlatma Başarısız', + manualStopped: 'Manuel Olarak Durduruldu', + failed: 'Başarısız', + success: 'Başarılı', + canUpdate: 'Yükseltilebilir', listSeparator: ', ', - containerCount: 'Containers', - stopped: 'Stopped', - abnormal: 'Abnormal', - abnormalContainers: 'Abnormal Containers', - resourceUsage: 'Resource Usage', - exposedContainerPorts: 'Exposed Ports', - portMapping: 'Port Mapping', + containerCount: 'Konteyner Sayısı', + stopped: 'Durdu', + abnormal: 'Anormal', + abnormalContainers: 'Anormal Konteynerler', + resourceUsage: 'Kaynak Kullanımı', + exposedContainerPorts: 'Açık Portlar', + portMapping: 'Port Eşleme', risk: 'Risk', - noAbnormalContainer: 'No abnormal containers', - noExposedContainer: 'No exposed ports detected', - publicExpose: 'Public Exposure', - privateExpose: 'Private Mapping', + noAbnormalContainer: 'Anormal konteyner yok', + noExposedContainer: 'Açık port algılanmadı', + publicExpose: 'Genel Maruziyet', + privateExpose: 'Özel Eşleme', resourceHealth: 'Çalışma Kaynağı Sağlığı', checkTime: 'Kontrol Zamanı', resourceHealthNormalDesc: 'Uygulamalar, veritabanları ve konteynerler sağlıklı durumda', @@ -4478,22 +4478,22 @@ const message = { stoppedContainerSpace: 'Duran konteyner alanı', unusedVolumeSpace: 'Kullanılmayan birim alanı', buildCacheSpace: 'Docker derleme önbelleği alanı', - executionRecords: 'Execution Records', - successRate: 'Success Rate', - failedJobs: 'Failed Jobs', - recentRecoveryPoint: 'Latest Recovery Point', - remoteCoverage: 'Remote Coverage', - recent7Days: 'Last 7 days', - taskTypeStats: 'Task Type Statistics', - total: 'Total', - taskTypeDesc: '{0} enabled, {1} disabled', - failedOrAttentionTasks: 'Failed or Attention Tasks', - execution: 'Execution', - latestExecution: 'Latest Execution', - remoteBackup: 'Remote Backup', - localOnly: 'Local Only', - covered: 'Covered', - noAttentionCronjob: 'No failed or attention cron jobs', + executionRecords: 'Yürütme Kayıtları', + successRate: 'Başarı Oranı', + failedJobs: 'Başarısız Görevler', + recentRecoveryPoint: 'Son Kurtarma Noktası', + remoteCoverage: 'Uzak Kapsama', + recent7Days: 'Son 7 gün', + taskTypeStats: 'Görev Türü İstatistikleri', + total: 'Toplam', + taskTypeDesc: '{0} etkin, {1} devre dışı', + failedOrAttentionTasks: 'Başarısız veya Dikkat Gerektiren Görevler', + execution: 'Yürütme', + latestExecution: 'Son Yürütme', + remoteBackup: 'Uzak Yedekleme', + localOnly: 'Yalnızca Yerel', + covered: 'Kapsanmış', + noAttentionCronjob: 'Başarısız veya dikkat gerektiren zamanlanmış görev yok', cronjobHealth: 'Zamanlanmış Görev Sağlığı', cronjobHealthNormalDesc: 'Görev yürütme ve yedekleme kapsamı sağlıklı', cronjobHealthAttentionDesc: @@ -4506,68 +4506,68 @@ const message = { viewFailedRecords: 'Başarısız Görevleri Gör', viewCronjobTasks: 'Zamanlanmış Görevleri Gör', checkBackupTasks: 'Yedek Görevlerini Kontrol Et', - generationRule: 'Generation Rules', - scheduleDaily: 'Daily', - scheduleDailyDesc: 'Generate a report for the last 24 hours at 09:00 every day', - scheduleWeekly: 'Weekly', - scheduleWeeklyDesc: 'Generate a report for the last 7 days at 09:00 every Monday', - scheduleMonthly: 'Monthly', - scheduleMonthlyDesc: 'Generate a report for the previous month at 09:00 on the 1st', - scheduleCurrentDaily: 'Every day at 09:00, generate the last 24 hours report · Next {0}', - scheduleCurrentWeekly: 'Every Monday at 09:00, generate the last 7 days report · Next {0}', - scheduleCurrentMonthly: 'On the 1st at 09:00, generate the previous month report · Next {0}', - notificationMethod: 'Notification Methods', - channel: 'Channel', - receiver: 'Receiver', + generationRule: 'Oluşturma Kuralları', + scheduleDaily: 'Günlük', + scheduleDailyDesc: 'Her gün 09:00\'da son 24 saatin raporunu oluştur', + scheduleWeekly: 'Haftalık', + scheduleWeeklyDesc: 'Her Pazartesi 09:00\'da son 7 günün raporunu oluştur', + scheduleMonthly: 'Aylık', + scheduleMonthlyDesc: 'Her ayın 1\'inde 09:00\'da bir önceki ayın raporunu oluştur', + scheduleCurrentDaily: 'Her gün 09:00\'da son 24 saatin raporu oluşturulur · Sonraki {0}', + scheduleCurrentWeekly: 'Her Pazartesi 09:00\'da son 7 günün raporu oluşturulur · Sonraki {0}', + scheduleCurrentMonthly: 'Her ayın 1\'inde 09:00\'da bir önceki ayın raporu oluşturulur · Sonraki {0}', + notificationMethod: 'Bildirim Yöntemleri', + channel: 'Kanal', + receiver: 'Alıcı', systemThreshold: 'Sistem eşiği', - metric: 'Metric', - currentRule: 'Current Rule', - hostMonitor: 'Host Monitor', - monitorInterval: 'Monitor Interval', - exportSettings: 'Export Settings', - lastExportReport: 'Recent Generated Result', - noLastExportReport: 'No exported report records', - lastExportStatus: 'Last Export Status', - exportFile: 'Export File', - generateTime: 'Generated At', - fileSize: 'File Size', - viewExportHistory: 'View Export History', - defaultFormat: 'Default Format', - savePath: 'Save Directory', - savePathRequired: 'Set the report save directory', - autoExport: 'Enable Auto Export', - autoExportDesc: 'Generate an Ops Report automatically every day at 09:00 when enabled', - autoExportEnabled: 'Auto export enabled', - autoExportDisabled: 'Auto export disabled', + metric: 'Metrik', + currentRule: 'Mevcut Kural', + hostMonitor: 'Ana Makine İzleme', + monitorInterval: 'İzleme Aralığı', + exportSettings: 'Dışa Aktarma Ayarları', + lastExportReport: 'Son Oluşturulan Sonuç', + noLastExportReport: 'Dışa aktarılmış rapor kaydı yok', + lastExportStatus: 'Son Dışa Aktarma Durumu', + exportFile: 'Dışa Aktarma Dosyası', + generateTime: 'Oluşturma Zamanı', + fileSize: 'Dosya Boyutu', + viewExportHistory: 'Dışa Aktarma Geçmişini Gör', + defaultFormat: 'Varsayılan Biçim', + savePath: 'Kayıt Dizini', + savePathRequired: 'Rapor kayıt dizinini ayarlayın', + autoExport: 'Otomatik Dışa Aktarmayı Etkinleştir', + autoExportDesc: 'Etkinleştirildiğinde her gün 09:00\'da otomatik olarak operasyon raporu oluşturulur', + autoExportEnabled: 'Otomatik dışa aktarma etkin', + autoExportDisabled: 'Otomatik dışa aktarma devre dışı', readOnlyPermissionTip: - 'The current account can only view Ops Report settings. Contact an administrator to make changes.', - refreshing: 'Refreshing', - exporting: 'Exporting', - exportFailed: 'Failed to export report', - generating: 'Generating', - saved: 'Saved', - saveFailed: 'Failed to save settings', - generateNow: 'Generate Now', - generateSuccess: 'Report file generated: {0}', - generateFailed: 'Failed to generate report', - enabledStatus: 'Enabled', - disabledStatus: 'Disabled', - thresholdRule: 'Threshold {0}, trigger after {1} consecutive times', - hours: '{0} hours', - minutes: '{0} minutes', - seconds: '{0} seconds', - totalExports: 'Total Exports', - successExports: 'Successful Exports', - failedExports: 'Failed Exports', - reportName: 'Report Name', - exportFormat: 'Export Format', - operator: 'Operator', - triggerType: 'Trigger', - filePath: 'File Path', - manualExport: 'Manual', - scheduledExport: 'Scheduled', - exportResult: 'Export Result', - exportDetail: 'Export Detail', + 'Mevcut hesap yalnızca operasyon raporu ayarlarını görüntüleyebilir. Değişiklik yapmak için yönetici ile iletişime geçin.', + refreshing: 'Yenileniyor', + exporting: 'Dışa Aktarılıyor', + exportFailed: 'Rapor dışa aktarılamadı', + generating: 'Oluşturuluyor', + saved: 'Kaydedildi', + saveFailed: 'Ayarlar kaydedilemedi', + generateNow: 'Şimdi Oluştur', + generateSuccess: 'Rapor dosyası oluşturuldu: {0}', + generateFailed: 'Rapor oluşturulamadı', + enabledStatus: 'Etkin', + disabledStatus: 'Devre Dışı', + thresholdRule: 'Eşik {0}, art arda {1} kez tetikleme', + hours: '{0} saat', + minutes: '{0} dakika', + seconds: '{0} saniye', + totalExports: 'Toplam Dışa Aktarma', + successExports: 'Başarılı Dışa Aktarma', + failedExports: 'Başarısız Dışa Aktarma', + reportName: 'Rapor Adı', + exportFormat: 'Dışa Aktarma Biçimi', + operator: 'Operatör', + triggerType: 'Tetikleme', + filePath: 'Dosya Yolu', + manualExport: 'Manuel', + scheduledExport: 'Zamanlanmış', + exportResult: 'Dışa Aktarma Sonucu', + exportDetail: 'Dışa Aktarma Detayı', }, }, user: {