{
  "title": "Proyectos",
  "subtitle": "",
  "create": "Crear proyecto",
  "createHint": "Después de crear, abra los detalles para implementar, publicar y ajustar recursos",
  "empty": "Aún no hay proyectos",
  "emptyHint": "Cree su primer proyecto, luego implemente y publique Nginx",
  "emptyFilter": "No hay proyectos coincidentes",
  "emptyFilterHint": "Borrar búsqueda o cambiar el filtro de tiempo de ejecución",
  "name": "Nombre",
  "domain": "Dominio (opcional)",
  "detail": "Detalle del proyecto",
  "deploy": "Desplegar",
  "deployPhp": "Implementar PHP",
  "stop": "Detener",
  "health": "control de salud",
  "publishNginx": "Publicar Nginx",
  "publishNginxSsl": "Publicar Nginx + SSL",
  "opsResult": "resultado de operaciones",
  "runtime": "Tiempo de ejecución",
  "template": "Plantilla (opcional)",
  "templateNone": "- ninguno -",
  "searchPlaceholder": "Buscar nombre, dominio o ID…",
  "listDesc": "Administrar sitios en este host.",
  "filterAll": "Todos los tiempos de ejecución",
  "statTotal": "Total",
  "statRunning": "Correr",
  "statDegraded": "Degradado",
  "statUnhealthy": "Malsano",
  "statStopped": "Detenido/listo",
  "statStoppedOnly": "Interrumpido",
  "statReadyOnly": "Listo",
  "statPendingOs": "SO pendiente",
  "status": {
    "failed": "Fallido",
    "failedHint": "Falló la implementación o la verificación de estado: verifique los registros",
    "unhealthy": "Malsano",
    "unhealthyHint": "El proceso está activo pero la verificación de estado falló",
    "pendingOs": "Usuario del sistema operativo pendiente",
    "pendingOsHint": "Usuario del sistema no aprovisionado",
    "degraded": "Corriendo (degradado)",
    "degradedHint": "El proceso está activo pero no en modo de producción completo (por ejemplo, no raíz/archivo pid)",
    "deploying": "Implementando",
    "published": "Publicado",
    "publishedHint": "Configuración de Nginx escrita; El proceso puede ser separado.",
    "running": "Correr",
    "stopped": "Interrumpido",
    "ready": "Listo",
    "readyHint": "Creado: implementar para comenzar",
    "unknown": "Desconocido"
  },
  "checklist": {
    "title": "Ruta de lanzamiento",
    "desc": "Complete estos pasos para atender el tráfico",
    "created": "Creado",
    "os": "Usuario del sistema operativo",
    "deploy": "Desplegar",
    "nginx": "nginx",
    "health": "Salud"
  },
  "next": {
    "pendingOsTitle": "Usuario del sistema no aprovisionado",
    "provisionOsAction": "Crear usuario del sistema",
    "pendingOsBody": "Este proyecto aún no tiene ningún usuario de sistema aislado.",
    "pendingOsActions": "Aún puedes implementar; El aislamiento total necesita privilegios de administrador en el host.",
    "deployTitle": "Siguiente: Implementar",
    "deployBody": "Utilice Implementar en el encabezado o la pestaña Implementar para Git.",
    "nginxTitle": "Siguiente: Publicar Nginx",
    "nginxBody": "Abra la pestaña Red para publicar Nginx (SSL opcional)."
  },
  "healthDetail": {
    "none": "Aún no hay control de salud",
    "overall": "Resultado",
    "nginxStatus": "Estado de Nginx",
    "nginxReloaded": "recarga de nginx",
    "httpStatus": "HTTP",
    "latency": "Estado latente",
    "error": "Error",
    "at": "Comprobado en",
    "deployMode": "Modo de implementación",
    "edgeKind": "Borde",
    "goLiveOk": "Entrar en funcionamiento",
    "goLiveAt": "Entra en funcionamiento en",
    "degraded": "Degradado"
  },
  "railPhp": "PHP/sitio",
  "railStatic": "Sitio estático",
  "sectionPhpDeploy": "Implementación de PHP",
  "sectionPhpDeployDesc": "Escriba un sitio/grupo PHP y aplique cuando esté permitido",
  "sectionStaticDeploy": "Contenido estático",
  "sectionStaticDeployDesc": "Los sitios estáticos usan archivos + Nginx, sin proceso de nodo",
  "staticDeployHint": "Extraiga contenido a través de Git, luego publique Nginx en Red.",
  "noDomain": "Sin dominio",
  "lastDeploy": "Última implementación",
  "neverDeployed": "Nunca implementado",
  "created": "Creado {{name}}",
  "backToList": "Volver a proyectos",
  "openUrl": "Abrir URL",
  "openUrlNeedDomain": "Primero establezca un dominio: no abra 127.0.0.1 en su navegador",
  "needOsUser": "Primero cree el usuario del sistema en la pestaña Aislamiento.",
  "goIsolation": "Abrir pestaña Aislamiento",
  "homeMissing": "El directorio de inicio no existe",
  "homeMissingHint": "La misma sonda en vivo que migrar inventario: cree el usuario del sistema en aislamiento",
  "stopTitle": "Detener este proyecto (unidad systemd y sitio público)",
  "deployTitle": "Implementar este proyecto",
  "httpStatsHint": "Del registro de acceso de este proyecto (última muestra)",
  "httpStatsNone": "Aún no hay registro de acceso al proyecto",
  "notFound": "Proyecto no encontrado",
  "home": "Directorio de inicio",
  "env": "Ambiente",
  "backup": "Respaldo",
  "resources": "Recursos",
  "quotaUnlimited": "Sin cuota",
  "lastHealth": "Última salud",
  "tabOverview": "Descripción general",
  "tabDeploy": "Desplegar",
  "tabApp": "Aplicación",
  "tabNetwork": "Red",
  "tabResources": "Recursos",
  "tabIsolation": "Aislamiento",
  "tabLogs": "Registros",
  "tabAdvanced": "Avanzado",
  "tabMore": "Más",
  "createGoLive": "Implementar y publicar Nginx después de crear",
  "createPreferredPort": "Puerto fijo (opcional)",
  "goLiveOk": "Implementado y publicado",
  "goLivePartial": "Creado; implementar/publicar incompleto",
  "nginxLive": "Vivir",
  "nginxWritten": "Escrito",
  "nginxNeedsDeploy": "Necesita implementarse",
  "nginxFailed": "Error de publicación",
  "netEdgeStatus": "Estado del borde",
  "netUpstream": "Río arriba",
  "netPortTitle": "Puerto de proceso",
  "netCurrentPort": "Puerto actual",
  "netPublishTitle": "Publicar",
  "netConfPreview": "conferencia",
  "savePublishSsl": "Guardar y publicar + SSL",
  "retryLiveTitle": "Entrada en funcionamiento incompleta",
  "retryLiveBody": "La implementación o la publicación de Nginx no finalizó. Vuelva a intentarlo a continuación.",
  "retryDeploy": "Reintentar implementación",
  "retryPublish": "Reintentar publicar Nginx",
  "preferredPortRedeployHint": "Guarde y luego vuelva a implementar para que el proceso use este puerto.",
  "railProcess": "Proceso",
  "railNginx": "nginx",
  "railOs": "Usuario del sistema operativo",
  "railHealth": "Salud",
  "nginxPublished": "Configuración publicada",
  "nginxNone": "No publicado",
  "osProvisioned": "Usuario del sistema aprovisionado",
  "osPending": "Aislamiento del sistema operativo pendiente",
  "healthOk": "Saludable",
  "healthBad": "Fallido",
  "healthUnknown": "No comprobado",
  "sectionRuntimeDeploy": "Implementación en tiempo de ejecución",
  "sectionRuntimeDeployDesc": "Inicie el proceso para este proyecto en tiempo de ejecución (Nodo/PHP)",
  "sectionGit": "implementación de git",
  "sectionGitDesc": "Extraiga de Git y vuelva a implementar",
  "sectionEnv": "Variables ambientales",
  "sectionEnvDesc": "Escriba líneas KEY=value en el proyecto .env",
  "gitUrl": "URL de Git",
  "gitDeploy": "implementación de git",
  "envFile": "Entorno (.env)",
  "saveEnv": "Guardar entorno",
  "sectionNginx": "Nginx y SSL",
  "sectionNginxDesc": "Escribir y aplicar la configuración del sitio",
  "domainHint": "Establezca un dominio en el momento de la creación para una publicación más limpia",
  "sectionQuota": "Cuota de disco",
  "sectionQuotaDesc": "Limitar el tamaño del directorio de inicio (MiB)",
  "sectionLimits": "procesador/memoria",
  "sectionLimitsDesc": "límites del sistema; Redistribuir para aplicar la unidad.",
  "quotaMb": "Cuota (MiB)",
  "memoryMax": "Memoria máxima",
  "cpuQuota": "% de cuota de CPU",
  "setQuota": "Establecer cuota",
  "setResources": "Guardar límites de recursos",
  "sectionLogs": "Registros de aplicaciones",
  "sectionLogsDesc": "Cola de archivos de registro recientes en la página de inicio del proyecto",
  "viewLogs": "Cargar registros",
  "logsEmpty": "Aún no se han cargado registros",
  "logsNoFiles": "(aún no hay archivos de registro; implemente primero)",
  "sectionAdvanced": "Otras acciones",
  "sectionAdvancedDesc": "Copias de seguridad y contenido de plantillas",
  "downloadWp": "Descargar WordPress",
  "dangerZone": "Zona de peligro",
  "dangerZoneDesc": "Eliminar elimina los registros del proyecto y los recursos relacionados.",
  "delete": "Eliminar proyecto",
  "confirmStopTitle": "¿Detener este proyecto?",
  "confirmStopDesc": "Esto detendrá el proceso en ejecución para \"{{name}}\".",
  "confirmDeleteTitle": "¿Eliminar este proyecto?",
  "confirmDeleteDesc": "¿Eliminar “{{name}}”? Esto no se puede deshacer desde la interfaz de usuario.",
  "close": "Cerca",
  "statProjects": "{{count}} proyectos",
  "noProjectsShort": "Aún no hay proyectos",
  "runtimeStatic": "Estático",
  "logsLoadFailed": "No se pudieron cargar los registros",
  "deleteFailed": "Error al eliminar",
  "tabAbout": "Acerca de",
  "statusLabel": "Estado",
  "userLabel": "Usuario",
  "nginxValuePublished": "Publicado",
  "nginxValueNone": "No publicado",
  "osValueReady": "Listo",
  "osValuePending": "Pendiente",
  "openFiles": "Archivos",
  "enableCdn": "Habilitar CDN",
  "openLogs": "Registros",
  "osUserReadyMsg": "Usuario del sistema listo. {{detail}}",
  "osUserNeedRoot": "No se puede crear un usuario del sistema: necesita YSK_EXECUTE + root. {{detail}}",
  "osUserIncomplete": "Aprovisionamiento de usuarios del sistema incompleto",
  "saveLogDirsFailed": "No se pudieron guardar los directorios de registros",
  "createName": "Nombre del proyecto",
  "noPathSepHint": "El nombre no puede contener / o \\.",
  "createRuntime": "Tiempo de ejecución",
  "createRuntimeHint": "Puede cambiar las opciones de implementación más adelante en detalle",
  "createVersion": "Versión",
  "createVersionHint": "Almacenado como runtime_version; utilizado por implementar / FPM",
  "createVersionAria": "Versión en tiempo de ejecución",
  "createPrimaryDomain": "Dominio primario",
  "createPrimaryDomainHint": "Opcional por ahora",
  "createAliases": "Alias",
  "createAliasesHint": "Separados por coma o nueva línea",
  "createTemplate": "Plantilla",
  "createTemplateHint": "Un ¡Hola mundo! demostración por tiempo de ejecución; elegir una plantilla establece ese tiempo de ejecución",
  "createTemplateNote": "Las plantillas sólo escriben un esqueleto; implementar para construir/iniciar.",
  "createRuntimeNow": "Tiempo de ejecución actual:",
  "createTemplateFooter": ". Plantilla opcional para comenzar más rápido o dejarla vacía.",
  "createDraftResources": "También cree borradores de recursos con el dominio.",
  "createNeedDomainFirst": "Ingrese primero el dominio principal para que las opciones de borrador se apliquen juntas.",
  "createDnsZone": "Crear también zona DNS",
  "createDnsZoneDesc": "Escribe solo borradores de administración, no DNS autorizados en vivo.",
  "createMailDomain": "Registrar también dominio de correo",
  "createMailDomainDesc": "Termine los buzones y presente la solicitud en la página de correo más tarde.",
  "createServerIpv4": "Servidor IPv4",
  "createServerIpv4Hint": "Para DNS/plantillas de correo",
  "createServerIpv4Ph": "Este host público IPv4",
  "createServerIpv6": "Servidor IPv6 (opcional)",
  "createServerIpv6Ph": "IPv6 público (opcional)",
  "sshCardDesc": "Las claves de inicio de sesión deciden quién puede ingresar;",
  "sshLoginKeys": "Se permiten claves públicas de inicio de sesión",
  "sshKeyCount": "{{count}} tecla(s)",
  "sshOutbound": "Identidad saliente",
  "sshOutboundNone": "No creado",
  "sshOutboundCreated": "Identidad saliente creada (clave privada cifrada)",
  "sshCreateFailed": "Error al crear",
  "sshWriteTried": "Intenté escribir en el disco",
  "sshOutboundHint": "Después de la creación, este usuario del proyecto puede usar git/scripts salientes.",
  "sshCreateOutbound": "Crear identidad saliente",
  "sshWriteHome": "Escribir inicio/.ssh",
  "sshOpenWorkspace": "Abrir espacio de trabajo SSH",
  "sshManageLoginKeys": "Administrar claves de inicio de sesión",
  "logsSectionDesc": "Escanear registros/, log/ y directorios adicionales; buscar por nombre o palabra clave de contenido",
  "logsNameSearch": "Búsqueda de nombre de archivo",
  "logsNameSearchHint": "Coincidir con la ruta relativa, p. error, aplicación.fuera",
  "logsContentKw": "Palabra clave de contenido",
  "logsContentKwHint": "Buscar colas de archivos (no archivos completos)",
  "logsSearch": "Buscar",
  "logsRescan": "Volver a escanear",
  "logsRefreshFile": "Actualizar este archivo",
  "logsCopy": "Copiar contenido",
  "logsDownloadTail": "Descargar cola",
  "logsCenter": "Centro de registro",
  "logsHitsTitle": "{{count}} archivo(s) con resultados: haga clic para abrir la cola (con filtro de palabras clave)",
  "logsLinesHit": "{{count}} acierto(s) de línea",
  "logsFileCount": "Archivos de registro {{count}}",
  "logsNameFilter": "(el nombre contiene “{{q}}”)",
  "logsScanning": "Escaneando registros…",
  "logsNoneYet": "Aún no hay archivos de registro: aparecen después de la implementación/ejecución; Los directorios adicionales también funcionan.",
  "logsNoContent": "Aún no hay contenido",
  "logsRelated": "Fuentes relacionadas",
  "logsRelatedDesc": "diario / nginx / PHP-FPM (ver centro de registro)",
  "logsAvailable": "Disponible",
  "logsMissing": "Desaparecido",
  "logsOpenInCenter": "Abrir en el centro de registro",
  "logsExtraDirs": "Directorios de registro adicionales",
  "logsExtraDirsDesc": "Rutas relativas al inicio del proyecto (además de logs/ y log/)",
  "logsDirList": "lista de directorio",
  "logsDirListHint": "Uno por línea; solo rutas relativas al hogar",
  "logsReset": "Reiniciar",
  "logsSaveScan": "Guardar y escanear",
  "logsDefaultNote": "Siempre escanea logs/ y log/. Los directorios adicionales solo incluyen *.log/*.out/*.err.",
  "resOsTitle": "Aislamiento de usuarios del sistema",
  "resOsDesc": "Cada proyecto tiene su propio usuario de Linux;",
  "resLinuxUser": "usuario de linux",
  "resOsIsolation": "Aislamiento del sistema operativo",
  "resOsReady": "Listo",
  "resOsNotCreated": "No creado (necesita administrador)",
  "resHomeDir": "Directorio de inicio",
  "resCanonical": "Camino previsto",
  "resUserMissing": "Usuario desaparecido",
  "resShellLive": "Shell/bloqueo en vivo",
  "resLocked": "bloqueado",
  "resUnlocked": "desbloqueado",
  "resHomeMode": "modo hogar",
  "resHomeExists": "Existe · modo {{mode}}",
  "resHomeMissing": "Desaparecido",
  "resIsolationOn": "Aislado",
  "resIsolationPending": "Pendiente de aislamiento",
  "resOsHint": "Los procesos se ejecutan como usuario del proyecto.",
  "resProvisionUser": "Crear/reparar usuario del sistema",
  "resRefreshStatus": "Actualizar estado",
  "resFixHome": "Arreglar la propiedad de la vivienda",
  "resMigrateHome": "Migrar a /home/ysk-server-…",
  "resQuotaDesc": "Cuota flexible (du antes de la implementación) + aplicación estricta cuando existe setquota",
  "resQuotaHint": "p.ej. 1024 = 1 GB",
  "resSetSoftQuota": "Guardar cuota flexible",
  "resLimitsTitle": "Límites de proceso y cuenta",
  "resLimitsDesc": "systemd MemoryMax / CPUQuota / TasksMax / NOFILE + shell / bloqueo",
  "resLimitsDescSystemd": "systemd cgroup: MemoryMax / CPUQuota / TasksMax / NOFILE + shell / lock",
  "resLimitsDescPm2": "PM2: la memoria se asigna a max_memory_restart; otros límites usan systemd.",
  "resRunnerSystemd": "Administrador de procesos: systemd",
  "resRunnerPm2": "Responsable de procesos: PM2",
  "resMemMax": "Memoria máxima",
  "resMemHint": "p.ej. 512M o 1G",
  "resMemHintSystemd": "systemd MemoryMax (límite máximo de cgroup, por ejemplo, 512 M o 1 G)",
  "resMemHintPm2": "Escribe ecosistema max_memory_restart (umbral de reinicio, no eliminación de cgroup);",
  "resFieldSystemdOnly": "solo cgroup systemd; todavía guardado en la base de datos para cuando vuelvas a systemd",
  "resCpuHint": "100 = una CPU",
  "resCustomPct": "Costumbre %",
  "resTasksHint": "Tareas máximas",
  "resNofileHint": "Límite de archivos abiertos",
  "resShellHint": "No inicio de sesión predeterminado",
  "resShellBashRisk": "fiesta · riesgo",
  "resLockAccount": "Bloquear cuenta de Linux",
  "resLockDesc": "mod de usuario -L; desmarque para desbloquear",
  "resLimitsHint": "Guardar y aplicar escribe DB y prueba usermod / setquota / systemctl set-property",
  "resLimitsHintSystemd": "Guarde y aplique el estado del panel de escrituras y los límites del sistema operativo/sistema cuando esté permitido.",
  "resLimitsHintPm2": "Guarde y aplique el estado del panel de escrituras y el límite de memoria PM2.",
  "resSaveApply": "Guardar y aplicar límites al sistema operativo",
  "resSaveControlOnly": "Guarde Mem/CPU solo en el plano de control",
  "resReapply": "Vuelva a presentar la solicitud una vez (sin cambios de formulario)",
  "resMigrateDone": "Migración completa",
  "resMigrateIncomplete": "Migración incompleta",
  "resMigrateTitle": "¿Migrar el usuario del sistema a casa?",
  "resMigrateDesc": "Migra a /home/ysk-server-{id} y crea/repara el usuario del sistema",
  "resMigrate": "Emigrar",
  "resWrittenOnly": "Escrito para controlar el avión; SO no aplicado (necesita root). {{notes}}",
  "resAppliedOs": "Límites aplicados al sistema operativo. {{notes}}",
  "resSaved": "Guardado",
  "resIncomplete": "Incompleto",
  "resApplyLimitsFailed": "No se pudieron aplicar los límites",
  "resApplied": "Aplicado",
  "resApplyFailed": "No se pudo aplicar",
  "resChownOk": "chown completo",
  "resChownFailed": "chown falló",
  "netSavedPublished": "Red guardada y Nginx publicado",
  "netSavedOnly": "Configuración de red guardada (no publicada)",
  "netSaveFailed": "Error al guardar",
  "netSuspended": "Proyecto suspendido: los visitantes obtienen 503. Anular la suspensión y luego publicar.",
  "netDomainTitle": "Dominio",
  "netDomainDesc": "Dominio principal y alias; guardar también puede escribir la configuración de administración de Nginx",
  "netPrimaryDomain": "Dominio primario",
  "netPrimaryHint": "Dominio del visitante, p.e. aplicación.ejemplo.com",
  "netAliases": "Alias",
  "netAliasesHint": "Uno por línea, p.e. www o subdominio del blog",
  "netNeedPrimary": "Introduzca primero el dominio principal",
  "netHttpsTitle": "HTTPS y redireccionamiento del sitio",
  "netHttpsDesc": "Publicar Nginx después de guardar. El sitio completo 301 anula el contenido proxy/PHP/estático",
  "netForceHttps": "Forzar HTTPS",
  "netForceHttpsDesc": "HTTP → HTTPS (301); necesita certificado SSL y publicación SSL",
  "netForceHttpsOn": "HTTP redireccionará a HTTPS después de publicar el borde.",
  "netForceHttpsOff": "No se almacena ninguna redirección forzada.",
  "netBoundCert": "Certificado vinculado",
  "netBoundCertExpiry": "caduca {{at}}",
  "netNoBoundCert": "No hay certificado en disco para este nombre",
  "netForceHttpsNeedCert": "Emita un certificado en /ssl para este dominio antes de forzar HTTPS.",
  "netHttpsLiveNotForced": "Existe un archivo de borde; Es posible que HTTPS ya funcione. Este cuadro solo fuerza HTTP→HTTPS.",
  "netHsts": "Habilitar HSTS",
  "netHstsDesc": "Los navegadores se ciñen a HTTPS (recomendado después de forzar HTTPS)",
  "netHstsNeedHttps": "Primero active forzar HTTPS",
  "netRedirectUrl": "URL de redireccionamiento de sitio completo",
  "netRedirectHint": "Opcional. Sitio completo 301 a esta URL (mover / apex→www)",
  "netBasicAuthTitle": "Autenticación básica HTTP (inicio de sesión del navegador)",
  "netBasicAuthDesc": "Escribe htpasswd al publicar; nombre de usuario vacío = desactivado. Contraseña vacía = mantener almacenada",
  "netAuthUserHint": "Vacío desactiva la autenticación",
  "netAuthPassHint": "Requerido por primera vez; dejar vacío más tarde para conservar",
  "netAuthPassSet": "Establecer o actualizar contraseña",
  "netCacheNote": "Estático/PHP estático Cache-Control 7d por defecto; la purga borra el directorio de caché nginx del host (necesita YSK_EXECUTE)",
  "netPurgeOk": "Intenté purgar caché",
  "netPurgeFailed": "purga fallida",
  "netDocrootTitle": "Directorio del sitio (docroot)",
  "netDocrootDesc": "En relación con la casa del proyecto; utilizado como raíz de Nginx en la publicación (aplicación predeterminada/pública)",
  "netDocrootLabel": "Raíz del documento",
  "netDocrootFull": "Ruta completa: {{path}}",
  "netDocrootCustom": "Ruta relativa personalizada...",
  "netAdvancedTitle": "Avanzado y publicar",
  "netAdvancedDesc": "Vincular IP, publicar en el sistema Nginx",
  "netCollapseBind": "Contraer vincular IP",
  "netExpandBind": "Expandir IP de enlace",
  "netBindIp": "Vincular IP",
  "netBindHint": "Vacío = todas las interfaces",
  "netBindPh": "Vacío = todo; o vincular IP",
  "netNeedDomainSave": "Ingrese y guarde el dominio principal primero",
  "ovUsed": "Usado",
  "ovQuota": "Cuota",
  "ovQuotaUnset": "Desarmado",
  "ovQuotaStatus": "Estado de la cuota",
  "ovOverQuota": "Sobre cuota",
  "ovQuotaOk": "OK",
  "ovDocroot": "Raíz del documento",
  "ovAccessSample": "Acceder a la muestra",
  "ovLines": "{{count}} líneas",
  "ovDailyDays": "Días de estadísticas diarias.",
  "ovDailyTitle": "Estadísticas de visitas diarias (máximo 60 días)",
  "ovDailyDesc": "Pasando de muestras de registros de acceso",
  "ovQuickTitle": "Accesos directos al sitio",
  "ovQuickDesc": "Publicación y copia de seguridad (implementación principal a través del encabezado o pestaña Implementar)",
  "ovNeedNetworkDomain": "Configure el dominio en la pestaña Red primero",
  "ovPublishNginx": "Publicar Nginx",
  "ovPublishSsl": "Publicar Nginx + SSL",
  "ovBackupProject": "Copia de seguridad de este proyecto",
  "ovOpenFiles": "Abrir archivos de proyecto",
  "ovNoDomainHint": "Sin dominio: configúrelo en la pestaña Red antes de publicar.",
  "ovPublishNote": "Publicar escrituras de configuración de administración; La recarga en vivo de Nginx necesita derechos de cambio de sistema.",
  "ovStatic": "Estático",
  "ovAliases": "Alias",
  "ovForceOn": "Forzado",
  "ovForceOff": "no forzado",
  "advFtpCreated": "FTP {{user}} creado (borrador: aplicar en la página FTPS)",
  "advCreateFailed": "Error al crear",
  "advFtpFailed": "Error al crear FTP",
  "advMaintTitle": "Mantenimiento",
  "advMaintDesc": "Copia de seguridad, suspender/reanudar, herramientas opcionales",
  "advBackupProject": "Copia de seguridad de este proyecto",
  "advOneClickWp": "WordPress con un clic (descargar + configurar)",
  "advSuspendedHint": "Suspendido: proceso detenido, los visitantes obtienen 503.",
  "advSuspendHint": "Suspender detiene el proceso y muestra una página de mantenimiento 503.",
  "advFtpTitle": "Proyecto FTP (cárcel de ruta)",
  "advFtpDesc": "Cuenta encarcelada en el directorio de la aplicación del proyecto; aplicar en la página del servicio FTPS después de crear",
  "advFtpUserHint": "Opcional; el sistema puede generar",
  "advFtpPassHint": "Al menos 8 caracteres",
  "advDangerTitle": "Zona de peligro",
  "advDangerDesc": "La eliminación no se puede deshacer desde la interfaz de usuario: primero haga una copia de seguridad.",
  "advDelete": "Eliminar proyecto",
  "deployPyHint": "Predeterminado: venv + pip; ASGI vía uvicorn, Django vía gunicorn.",
  "deployGoHint": "Predeterminado: vaya a compilar -o aplicación. luego ./aplicación; omita la compilación si existe el binario.",
  "deployRustHint": "Predeterminado: cargo build --release luego target/release/{crate}; omitir compilación opcional.",
  "deployNodeHint": "Iniciar proceso de nodo (entrada predeterminada server.js); systemd recomendado en prod.",
  "deployDefaultHint": "Comience por tiempo de ejecución; externo sólo después de aplicar.",
  "deployOsStep": "Usuario de Linux aislado + /home/ysk-server-{id del proyecto} (se puede crear en la pestaña Recursos)",
  "deployPyReady": "Tiempo de ejecución de Python listo",
  "deployPipNet": "requisitos.txt necesita pip de salida",
  "deployCheckPort": "Después de implementar, verifique el puerto y /health",
  "deployPublishProxy": "Publicar proxy inverso de Nginx",
  "deployToolchainReady": "{{runtime}} cadena de herramientas lista",
  "deployFirstBuild": "Primeras compilaciones de implementación (puede tardar un poco)",
  "deployNeedBinary": "Binario sólo después de una construcción exitosa",
  "deployPhpFpmOk": "Versión PHP-FPM correcta",
  "deployPhpPool": "Implementar PHP/aplicar grupo",
  "deployNginxSsl": "Publicar Nginx + SSL opcional",
  "deployPublicContent": "Confirmar público/tiene contenido",
  "deployNetPublish": "Publicar Nginx en la pestaña Red",
  "deployConfirmToolchain": "Confirmar la cadena de herramientas instalada en la página de ejecución (o el host la tiene)",
  "deployConfirmCode": "Confirmar que la aplicación/tiene código (plantilla o Git)",
  "deployPressDeploy": "Presione Implementar; luego publique Nginx en la red",
  "deployVersionSaved": "Guardado {{runtime}} versión {{version}} (usado en la implementación)",
  "deployVersionSaveFailed": "No se pudo guardar la versión en tiempo de ejecución",
  "deployInstallingToolchain": "Instalando/confirmando la cadena de herramientas...",
  "deployToolchainIncomplete": "Instalación de la cadena de herramientas incompleta (permiso o red); prueba la página de tiempo de ejecución",
  "deployToolchainDone": "Paso de la cadena de herramientas realizado, iniciando la implementación...",
  "deployToolchainFailed": "Error en la instalación de la cadena de herramientas",
  "deployChecklistTitle": "Creado: lista de verificación de implementación",
  "deployChecklistDesc": "{{runtime}} esqueleto listo; terminar los pasos para atender el tráfico",
  "deploySectionTitle": "{{runtime}} implementar",
  "deploySectionDesc": "Iniciar proceso {{runtime}} (puerto/systemd o pidfile)",
  "deployPhpVersion": "versión PHP",
  "deployPhpVersionHint": "Versión PHP para este sitio (se debe instalar FPM correspondiente)",
  "deployRuntimeVersion": "{{runtime}} versión",
  "deployRuntimeVersionHint": "Guardado en el proyecto; utilizado en la implementación. Instalar en la página de tiempo de ejecución",
  "deployRuntimeVersionCreateHint": "Escrito en crear; referenciado en la implementación",
  "deployRuntimeVersionGeneric": "Versión en tiempo de ejecución",
  "deployEntry": "Iniciar entrada",
  "deployEntryHint": "Vacío = predeterminado ({{hint}}); sincronizado con el servidor",
  "deploySkipBuild": "Saltar construcción",
  "deploySkipBuildHint": "Si existe venv/binary; reinicio de velocidades (preferencia local)",
  "deployPort": "· puerto {{port}}",
  "deployFpmApplied": "Grupo PHP-FPM aplicado",
  "deployFpmIncomplete": "FPM incompleto",
  "deployFpmNote": "Escribe la configuración del sitio/grupo; La recarga en vivo necesita derechos de cambio de sistema.",
  "deployBuildNote": "Los errores de compilación/inicio se muestran en el resultado de las operaciones. La entrada escribe en el servidor; skip-build es una preferencia local.",
  "deployPhpIniTitle": "Anulaciones del proyecto php.ini",
  "deployPhpIniDesc": "Sólo claves para cambiar;",
  "deployPhpIniExample": "p.ej. 256 millones; vacío = global",
  "deployGlobal": "Global",
  "deployCustom": "Costumbre",
  "deployOff": "Apagado",
  "deployOnCareful": "En · cuidado",
  "deployPhpIniSaved": "Anulaciones del proyecto php.ini guardadas; implementar o aplicar FPM nuevamente",
  "deployHistory": "Historial de implementación ({{count}})",
  "deployHistoryDesc": "De auditoría; lo nuevo primero",
  "deployGitUrlHint": "URL de repositorio HTTPS o SSH; sincronizar y luego volver a implementar por tiempo de ejecución",
  "deployEnvHint": "Una CLAVE=valor por línea; # comentarios",
  "resume": "Reanudar proyecto",
  "suspend": "Suspender proyecto",
  "goFtpsApply": "Vaya a solicitar el servicio FTPS",
  "toolchainNote": "La instalación de la cadena de herramientas ≠ el proyecto está activa; Implementación exitosa ≠ Nginx público (publicar en la red).",
  "installToolchainDeploy": "Instalar la cadena de herramientas e implementar",
  "deployOnly": "Implementar solo",
  "openRuntime": "Abrir {{runtime}} tiempo de ejecución",
  "later": "Más tarde",
  "installToolchainDeployShort": "Cadena de herramientas + implementación",
  "runtimeEnv": "{{runtime}} entorno",
  "applyFpmPool": "Aplicar grupo de FPM",
  "staticNginxHint": "Los sitios estáticos dependen de Publish Nginx: use accesos directos de red o descripción general.",
  "fullIniLink": "Catálogo completo y opcache/sesión, etc. en",
  "phpIniLink": "Tiempo de ejecución de PHP → php.ini",
  "savePhpIniOverride": "Guardar anulaciones de php.ini",
  "scaffoldNote": "Si app/ es un andamio YSK (.ysk-scaffold), se borra antes de clonar; El contenido personalizado se niega a sobrescribir.",
  "saveOnly": "Guardar solo",
  "savePublishNginx": "Guardar y publicar Nginx",
  "needDomainToPublish": "Ingrese el dominio principal antes de publicar.",
  "savePublish": "Guardar y publicar",
  "saveAuth": "Guardar autenticación",
  "cacheZoneNote": "Las zonas FastCGI/proxy_cache completas necesitan key_zone en el host nginx.conf; El panel ofrece purga de mejor esfuerzo.",
  "purgeNginxCache": "Purgar caché de Nginx",
  "nginxManageFile": "Archivo de gestión de Nginx:",
  "publishRuntimeNote": "Publicar escrituras proxy/PHP-FPM/conf estática por tiempo de ejecución (autenticación, redirecciones, docroot)",
  "publishStored": "Publicar con la configuración guardada",
  "publishStoredSsl": "Publicar guardado + SSL",
  "publishNote": "Publicar escribe administración conf; sincronizar con /etc/nginx y recargar necesita derechos de cambio de sistema.",
  "hitsFiles": "{{count}} archivo(s) con resultados: haga clic para abrir la cola (filtro de palabras clave)",
  "logFilesCount": "Archivos de registro {{count}}",
  "defaultScanNote": "Siempre escanea logs/ y log/. Los directorios adicionales solo incluyen *.log/*.out/*.err.",
  "opsOk": "{{label}} completado{{url}}",
  "opsOkWithNote": "{{label}} completado: {{note}}{{url}}",
  "opsFail": "{{label}} falló: {{reason}}",
  "railPython": "proceso de pitón",
  "railGo": "Ir proceso",
  "railRust": "Proceso de oxidación",
  "railNode": "Proceso de nodo",
  "runtimeName": {
    "php": "PHP",
    "node": "Nodo.js",
    "static": "Estático",
    "python": "Pitón",
    "go": "Ir",
    "rust": "Óxido",
    "java": "Java",
    "kotlin": "Kotlin",
    "bun": "Bollo"
  },
  "netCacheTitle": "Cache",
  "logsDeepAccess": "Centro de registro · acceso",
  "logsDeepError": "Centro de registro · error",
  "logsDeepNginxUnit": "Registros de la unidad Nginx",
  "logsPresetAccess": "Filtrar acceso.log",
  "logsPresetError": "Filtrar error.log",
  "railJava": "proceso java",
  "railKotlin": "proceso de kotlin",
  "railBun": "proceso de bollo",
  "deployProcessManager": "Gerente de procesos",
  "deployProcessManagerSystemd": "sistemad (recomendado)",
  "deployProcessManagerPm2": "PM2",
  "proc_restart": "Reanudar",
  "proc_stop": "Detener",
  "proc_reload": "Recargar",
  "procControlsHint": "Controles de proceso ({{manager}})",
  "procActionOk": "{{action}} vale · {{notes}}",
  "procActionFail": "{{action}} falló · {{notes}}",
  "procActionFailShort": "La acción del proceso falló",
  "procMissingUser": "El proyecto no tiene ningún usuario de Linux: no puede apuntar a la aplicación PM2",
  "deploySystemdHint": "Valor predeterminado de producción: unidad ysk-project-*",
  "deployPm2Hint": "Comienza a través de pm2 (ecosistema",
  "deleteDialogTitle": "Eliminar proyecto permanentemente",
  "deletePermanent": "Eliminar permanentemente",
  "deleteRemoveFiles": "Eliminar disco de inicio y usuario de Linux",
  "deleteTypeName": "Escriba el nombre del proyecto para confirmar",
  "deletedOk": "Proyecto eliminado",
  "sslRequiredFirst": "Aún no hay certificado SSL para este dominio. Cree o cargue uno en Certificados SSL antes de Publicar + SSL.",
  "sslGateHint": "Acciones SSL bloqueadas: vaya a",
  "sslGateHint2": "para emitir/cargar un certificado para este dominio primero.",
  "netPublishPrimary": "Básico",
  "netPublishSsl": "HTTPS/SSL",
  "netPublishMaint": "Mantenimiento",
  "sslNeedDomain": "Establezca un dominio antes de publicar Nginx/SSL.",
  "createTemplateMissing": "{{v0}} ；「— —」。",
  "deleteDialogDesc": "「{{name}}」。。",
  "deleteWillStop": "sistemad/PM2/",
  "deleteWillWeb": "Configuración de Nginx, grupo PHP-FPM, Apache vhost ()",
  "deleteWillOs": "Inicio de Linux（）",
  "deleteKeepOs": "inicio Linux（）",
  "deleteWillDb": "…",
  "deleteRemoveFilesDesc": "Cancelar,",
  "deleteTypeNameHint": "「{{name}}」",
  "deleteDnsWarn": "Zona/dominio DNS 。",
  "manageInNginx": "Administrar en Nginx",
  "advFtpHomeApp": "Directorio app del sitio",
  "advFtpHomeRoot": "Inicio del proyecto (completo)",
  "advFtpManage": "Abrir página FTP",
  "resShell": "shell de inicio de sesión",
  "resSaveHint": "Guarde y aplique los cambios del sistema operativo en vivo. El plano de control solo almacena el formulario. Volver a aplicar utiliza los últimos valores guardados.",
  "resBashConfirmTitle": "¿Permitir bash interactivo?",
  "resBashConfirmDesc": "Esto otorga un shell de inicio de sesión interactivo al usuario del proyecto. Confirme solo si necesita SSH o PTY como ese usuario.",
  "createGitHint": "Opcional. Almacenado en el proyecto; clonar desde la pestaña Implementar (no se clona al crear).",
  "gitTokenLaterHint": "El token HTTPS y la profundidad de clonación se configuran en la pestaña Implementar del proyecto después de la creación.",
  "gitBranch": "Rama",
  "gitBranchHint": "Branch or tag. Empty uses the remote default. First clone is shallow (depth 1).",
  "gitBranchAfterUrl": "Introduzca primero la URL de Git. Vacío usa la rama predeterminada remota.",
  "gitLastRef": "Última sincronización: {{branch}} @ {{commit}}",
  "gitConfirmTitle": "¿Clonar en este proyecto?",
  "gitConfirmBody": "Si app/ sigue siendo el marcador de posición Hola Mundo, se borrará y luego se clonará. Se rechazan los archivos personalizados que no sean un andamio de YSK.",
  "gitConfirmRemoteBody": "Esto apunta el origen a la nueva URL y extrae. Las historias no relacionadas fallan; Los archivos personalizados no se borran.",
  "runtimeActual": "Binario real {{path}}",
  "runtimeFallback": "Elegido {{version}} no está en este host. Usos del proceso {{path}}.",
  "gitSync": "Sincronizar",
  "gitFetch": "Buscar",
  "gitCheckout": "Verificar",
  "gitReset": "Restablecer a control remoto",
  "gitResetNeedConfirm": "Requiere confirmación — descarta confirmaciones locales",
  "gitDeepen": "Obtener el historial completo",
  "gitLogTitle": "Confirmaciones recientes",
  "gitDirtyTitle": "Extracción de bloques de cambios locales",
  "gitDirtyBody": "{{count}} los archivos difieren de Git (ediciones de archivos o la aplicación). Deséchelos o cancele.",
  "gitSyncBlockedDirty": "La sincronización está deshabilitada hasta que se descarten los cambios locales (Restablecer) o los archivos coincidan con Git.",
  "gitViewDiff": "Ver diferencia",
  "gitDiscard": "Descartar archivos locales",
  "gitOpenFiles": "Abrir en archivos",
  "gitNotCloned": "No clonado",
  "gitClean": "Limpio",
  "gitDirty": "Sucio",
  "gitBehind": "Detrás {{count}}",
  "gitAhead": "Adelante {{count}}",
  "gitDetached": "Fijado",
  "gitShallow": "Poco profundo",
  "gitMissing": "falta git",
  "gitResetConfirmTitle": "¿Restablecer difícilmente a control remoto?",
  "gitResetConfirmBody": "Esto descarta el historial de Git local y los archivos sin seguimiento, excepto .env, y luego restaura .env desde el plano de control.",
  "gitHeads": "Sucursales remotas",
  "gitToken": "token HTTPS",
  "gitTokenHint": "Personal access token. Stored encrypted; never written into the remote URL.",
  "gitTokenPlaceholder": "ghp_… o glpat-…",
  "gitTokenSet": "Conjunto de fichas",
  "gitSaveToken": "Guardar token",
  "gitClearToken": "Borrar token",
  "gitDeployKey": "Implementar clave pública",
  "gitDeployKeyHint": "Agregue esto como una clave de implementación de solo lectura en el host Git.",
  "gitDeployKeyOn": "Implementar clave",
  "gitMakeKey": "Crear clave de implementación",
  "gitCopyPub": "Copiar clave pública",
  "gitClearKey": "Borrar clave de implementación",
  "gitKeyCopied": "Clave pública copiada",
  "gitPinHost": "Fijar clave de host",
  "gitPinHostBody": "{{host}} no está fijado. Confirme las huellas digitales, luego fije antes del clon SSH.",
  "gitHostUnpinned": "Clave de host no fijada",
  "gitHookTitle": "Inbound hook",
  "gitHookHint": "Paste POST /api/v1/hooks/git/<id> into GitHub / Gitea / GitLab yourself (push events). Not Slack. Secret is HMAC or X-YSK-Git-Hook.",
  "gitHookOn": "Hook on",
  "gitHookOff": "Hook off",
  "gitHookEnable": "Enable hook",
  "gitHookRotate": "Rotar secreto",
  "gitHookDisable": "Disable hook",
  "gitHookSecretOnce": "Copy this secret now — it is not stored in the page after you leave.",
  "gitHookCopyUrl": "Copy URL",
  "gitHookCopySecret": "Copiar secreto",
  "gitHookCopied": "copiado",
  "gitHookSetup": "Add the webhook yourself. Payload URL = the URL above. Content type application/json. Events: push only. Secret = the one-time value.",
  "gitHookGithub": "GitHub: Settings → Webhooks → Add webhook. Content type application/json. Events: Just the push event. GitHub.com requires HTTPS.",
  "gitHookGitea": "Gitea: Settings → Webhooks → Add Webhook → Gitea. HTTP Method POST. Push events.",
  "gitHookGitlab": "GitLab: Settings → Webhooks. Trigger: Push events. Secret token = the hook secret (sent as X-Gitlab-Token).",
  "gitHookHonesty": "The host unit must have YSK_EXECUTE=1. Without it the hook answers but does not clone or deploy.",
  "gitHookSkipOther": "Pushes to other branches are ignored. Only the project ref syncs.",
  "gitAuthHttps": "token HTTPS",
  "gitAuthSsh": "Clave de implementación SSH",
  "gitLoadRefs": "Cargar ramas",
  "gitRefDefault": "Predeterminado remoto",
  "gitRefBranches": "Sucursales",
  "gitRefTags": "Etiquetas",
  "gitRefOther": "Otra ref…",
  "gitRefCustom": "cometer o ref.",
  "gitRefsNeedUrl": "Primero ingrese una URL.",
  "gitRefsNeedAuth": "Guarde un token o implemente una clave, luego cargue las ramas.",
  "gitRefsHint": "Cargado desde el control remoto. Elija uno: no escriba.",
  "gitHookSetupToggle": "como pegar esto",
  "gitHookOneLiner": "HMAC o X-YSK-Git-Hook. Sólo la ref de este proyecto.",
  "gitHookExecuteHint": "Necesita YSK_EXECUTE=1 para clonar o implementar.",
  "gitShowKey": "Mostrar clave",
  "gitHideKey": "Esconder",
  "gitBehindShort": "↓{{count}}",
  "gitAheadShort": "↑{{count}}",
  "gitDirtyShort": "Sucio · {{count}}",
  "gitFilesLink": "Archivos",
  "nameInvalid": "Utilice un nombre en minúscula: comience con una letra, luego letras, dígitos o guión (máximo 31).",
  "deployVersionMissing": "El nodo {{version}} no está instalado en este host. Elija una versión instalada o instale esta versión primero.",
  "deployUsedBinary": "Implementación usada {{path}}"
}
