{
  "title": "Docker",
  "subtitle": "Instala y controla el motor Docker, contenedores, imágenes, proyectos Compose y disco en este host.",
  "refresh": "Actualizar",
  "notInstalled": "Docker Engine no está instalado. Instala docker.io y docker-compose-v2 desde esta página.",
  "protected": "Protegido",
  "pruneConfirm": "Escribe PRUNE para confirmar la limpieza de volume o del sistema",
  "needEngineTitle": "Instale Docker Engine primero",
  "stopEngineDesc": "Esto detiene el motor Docker y todos los contenedores {{n}} en este host.",
  "notInstalledValue": "No instalado",
  "nameHint": "Letras, dígitos, guión bajo, punto, guión (máximo 128)",
  "volPlaceholder": "mis-datos",
  "netPlaceholder": "mi-red",
  "runPorts": "Publicar puertos",
  "runPortsHint": "host:contenedor por línea, p.e. 8080:80",
  "runEnv": "Ambiente",
  "runEnvHint": "CLAVE=valor por línea",
  "runRestart": "Reiniciar política",
  "runNetwork": "Red",
  "runVolumes": "Volúmenes",
  "runVolumesHint": "volumen: destino por línea",
  "runAdvancedHint": "Para pilas de servicios múltiples, utilice nodos de validación o redacte archivos que ya estén en este host.",
  "daemonConfirmTitle": "¿Aplicar la configuración del demonio?",
  "daemonConfirmDesc": "Escribe daemon.json y reinicia docker.service. Todos los contenedores serán interrumpidos.",
  "settingsHint": "Solo un subconjunto seguro de daemon.json. Aplicar escribe el archivo y reinicia docker.service.",
  "cli": {
    "usage": "Uso: ysk-server docker status|ps|images|volumes|networks|df|logs|inspect|exec|start|stop|restart|rm|pull|run|prune|engine|compose [--image IMG] [--name N] [--preset version|help|hostname] [--bin BIN] [--project P] [--execute] [--json]"
  },
  "tab": {
    "overview": "Resumen",
    "containers": "Contenedores",
    "images": "Imágenes",
    "compose": "Compose",
    "volumes": "Volúmenes",
    "networks": "Redes",
    "prune": "Limpiar",
    "settings": "Ajustes",
    "about": "Acerca de"
  },
  "col": {
    "engine": "Motor",
    "containers": "Contenedores",
    "version": "Versión",
    "dataRoot": "Directorio de datos",
    "disk": "Disco",
    "validators": "Pilas de validador",
    "name": "Nombre",
    "image": "Imagen",
    "status": "Estado",
    "ports": "Puertos",
    "managed": "Gestionado por el panel",
    "size": "Tamaño",
    "driver": "Controlador",
    "type": "Tipo",
    "reclaimable": "Recuperable"
  },
  "state": {
    "up": "Activo",
    "down": "Detenido",
    "running": "Correr",
    "exited": "Salido",
    "exitedCode": "Salió ({{n}})",
    "restarting": "Reiniciando",
    "restartingCount": "Reiniciando · {{n}} veces",
    "paused": "En pausa",
    "created": "Creado",
    "dead": "Muerto",
    "removing": "Eliminando",
    "unknown": "Desconocido"
  },
  "df": {
    "images": "Imágenes",
    "containers": "Contenedores",
    "volumes": "Volúmenes locales",
    "builder": "Construir caché",
    "other": "Otro"
  },
  "actions": {
    "start": "Iniciar",
    "stop": "Detener",
    "restart": "Reiniciar",
    "remove": "Eliminar",
    "logs": "Registros",
    "inspect": "Inspeccionar",
    "exec": "Exec (versión)",
    "run": "Ejecutar imagen",
    "pull": "Descargar",
    "up": "Levantar",
    "down": "Bajar",
    "createVolume": "Crear volume",
    "createNetwork": "Crear red",
    "pruneContainers": "Limpiar contenedores",
    "pruneImages": "Limpiar imágenes",
    "pruneVolumes": "Limpiar volumes",
    "pruneSystem": "Limpieza del sistema",
    "startEngine": "Iniciar motor",
    "stopEngine": "Detener motor",
    "restartEngine": "Reiniciar motor",
    "applyDaemon": "Aplicar ajustes del motor"
  },
  "empty": {
    "containers": "No hay contenedores",
    "images": "No hay imágenes",
    "compose": "No hay proyectos Compose",
    "composeDesc": "Los proyectos provienen de nodos validadores o archivos Compose que ya se encuentran en este host. Esta página no acepta cargas YAML arbitrarias.",
    "composeCta": "Abrir nodos de validación",
    "volumes": "No hay volumes",
    "networks": "No hay redes"
  },
  "logs": {
    "empty": "Aún no hay registros",
    "follow": "Seguir"
  },
  "deleteRunningWarn": "Este contenedor todavía se está ejecutando o reiniciando. Será eliminado a la fuerza.",
  "settings": {
    "logMaxSize": "Tamaño máximo de registro del contenedor",
    "liveRestore": "Restauración en vivo (mantener contenedores si el demonio se reinicia)",
    "mirrors": "Espejos de Registry (una URL por línea)",
    "insecure": "Registries sin cifrado (un host por línea)"
  },
  "about": {
    "body": "Docker es un servicio de host de primer nivel en YSK Server, como Nginx. Se instala desde el panel (Ubuntu docker.io + docker-compose-v2). Los nodos validador se ejecutan como proyectos Compose yskval-*.",
    "honesty": "Los cambios de host necesitan root y YSK_EXECUTE=1. El valor predeterminado es dry-run. Esta página no es Kubernetes.",
    "validators": "Abrir nodos validador"
  },
  "alerts": {
    "daemonTitle": "El demonio Docker está caído",
    "daemonBody": "Docker está instalado pero docker.service no está activo. Las pilas de validador no pueden arrancar."
  },
  "errors": {
    "notInstalled": "Docker no está instalado",
    "daemonDown": "El demonio Docker no está activo",
    "needCompose": "Se requiere docker compose (complemento v2)",
    "badImage": "Referencia de imagen no válida",
    "badName": "Nombre no válido",
    "badPort": "Publicación de puerto no válida",
    "badEnv": "Variable de entorno no válida",
    "badVolume": "Montaje de volumen no válido",
    "badNetwork": "Red no válida",
    "protectedNetwork": "No se puede eliminar una red Docker integrada",
    "badRestart": "Política de reinicio no válida",
    "badPrune": "Ámbito de limpieza no válido",
    "needPruneConfirm": "Limpiar volume o sistema exige confirm=PRUNE",
    "badDaemon": "Ajuste del motor no válido",
    "composeMissing": "No se encontró el archivo Compose de este proyecto",
    "logsFailed": "No se pudieron leer los registros del contenedor",
    "mutateFailed": "El comando Docker falló",
    "engineFailed": "No se pudo controlar docker.service",
    "badExec": "Exec se limita a binarios y preajustes permitidos (sin shell ni TTY)",
    "uninstallBusy": "Detén los contenedores gestionados por el panel (incluidas las pilas de validador) antes de desinstalar Docker",
    "badCommand": "Comando o punto de entrada no válido",
    "portBusy": "El puerto de host {{bind}}:{{port}} ya está en uso",
    "nameInUse": "Ya existe un contenedor llamado {{name}}. Elimínelo o elija otro nombre.",
    "unpublished": "El contenedor no se conectó a una red ni publicó puertos. No tratar esto como si comenzara."
  },
  "notes": {
    "dryMutate": "Solo dry-run. Pasa --execute y YSK_EXECUTE=1 para cambiar el host.",
    "dryPrune": "Vista previa de limpieza (no aplicada).",
    "dryEngine": "El control del motor es dry-run.",
    "dryDaemon": "Se escribiría /etc/docker/daemon.json y se reiniciaría docker.service.",
    "daemonWrote": "Se escribió daemon.json",
    "start": "Contenedor iniciado",
    "stop": "Contenedor detenido",
    "restart": "Contenedor reiniciado",
    "remove": "Contenedor eliminado",
    "ran": "Contenedor iniciado desde imagen",
    "leftoverRemoved": "Se eliminó el contenedor sobrante {{name}} después del error de vinculación",
    "pulled": "Imagen descargada",
    "exec": "Se ejecutó un exec permitido",
    "imageRemoved": "Imagen eliminada",
    "volumeCreated": "Volume creado",
    "volumeRemoved": "Volume eliminado",
    "networkCreated": "Red creada",
    "networkRemoved": "Red eliminada",
    "pruned": "Limpieza terminada",
    "compose": {
      "up": "Proyecto Compose iniciado",
      "down": "Proyecto Compose detenido",
      "restart": "Proyecto Compose reiniciado",
      "rm": "Redactar proyecto eliminado"
    },
    "engine": {
      "start": "docker.service iniciado",
      "stop": "docker.service detenido",
      "restart": "docker.service reiniciado"
    }
  },
  "ui": {
    "whatYouGet": "Qué hace esta página",
    "whatYouGetLead": "Instala primero Docker Engine. Después puedes ejecutar un contenedor, extraer imágenes y ver las pilas Compose de validador que ya están en este anfitrión.",
    "capEngine": "Motor",
    "capEngineDesc": "Instalación en un clic de docker.io y docker-compose-v2. Inicia y detén docker.service aquí.",
    "capWork": "Contenedores e imágenes",
    "capWorkDesc": "Elige una imagen habitual, extráela, ejecútala y luego lee los registros o inspecciona el contenedor.",
    "capStacks": "Pilas de validador",
    "capStacksDesc": "Las pilas de varios servicios son proyectos Compose de validador (yskval-*). Esta página no acepta YAML subido.",
    "cardEngine": "Motor",
    "cardDisk": "Disco",
    "cardWork": "En este anfitrión",
    "compose": "Compose",
    "cgroup": "grupo c",
    "used": "Usado",
    "free": "Libre",
    "running": "En ejecución",
    "images": "Imágenes",
    "volumes": "Volúmenes",
    "networks": "Redes",
    "goImages": "Imágenes",
    "goValidators": "Nodos validador",
    "imagePickHint": "Elige una imagen habitual. Usa Otra solo si necesitas otra referencia.",
    "imageCustom": "Otra",
    "driver": "Controlador",
    "driverLocalOnly": "Este panel solo crea volúmenes local.",
    "netDefaultDriver": "Las redes nuevas usan el controlador bridge predeterminado de Docker.",
    "pruneWhat": "Qué eliminar",
    "pruneAck": "Entiendo que los datos no usados se eliminarán y no se podrán restaurar",
    "pruneAckDesc": "Limpiar volúmenes o el sistema no se puede deshacer. Se eliminan contenedores detenidos e imágenes no usadas del alcance elegido.",
    "pruneNow": "Limpiar ahora",
    "useMirrors": "Usar réplicas de registro",
    "useInsecure": "Permitir registros sin cifrado",
    "publishPorts": "Publicar puertos en el anfitrión",
    "attachVolume": "Adjuntar un volumen",
    "setEnv": "Definir variables de entorno",
    "defaultNet": "Predeterminada",
    "mountPath": "Ruta de montaje",
    "restartNo": "Nunca",
    "restartUnless": "Salvo que se detenga",
    "restartAlways": "Siempre",
    "restartOnFail": "Si falla",
    "needAck": "Confirma antes de limpiar",
    "scopeContainers": "Contenedores detenidos",
    "scopeImages": "Imágenes no usadas",
    "scopeVolumes": "Volúmenes no usados",
    "scopeBuilder": "Caché de construcción",
    "scopeSystem": "Todo lo no usado",
    "noVolumesYet": "Aún no hay volúmenes: créalo primero en la pestaña Volúmenes.",
    "command": "Dominio",
    "commandHint": "Opcional. Fichas después de la imagen. Déjelo en blanco para usar la imagen CMD.",
    "entrypoint": "Punto de entrada",
    "entrypointHint": "Binario único opcional. Déjelo en blanco para utilizar la imagen PUNTO DE ENTRADA.",
    "portMap": "anfitrión: contenedor",
    "portOccupied": "Este puerto de host ya está en uso",
    "validatorImage": "Gestionado por nodos validadores",
    "newVolume": "Nuevo volumen con nombre",
    "loopbackUrl": "URL de prueba local",
    "nginxProxy": "Crear proxy inverso de Nginx",
    "intentPorts": "Solicitado (no publicado)",
    "customPort": "Otro puerto del anfitrión",
    "customPortHost": "Puerto del anfitrión",
    "customPortContainer": "Puerto del contenedor",
    "pctUsed": "{{n}}% usado",
    "customPortHint": "1–65535. Ejemplo: 9090 → 80.",
    "pickBridge": "Red de puentes"
  },
  "deleteTitle": "Eliminar {{id}}",
  "deleteDesc": "Esto no se puede deshacer.",
  "deleteC1": "El recurso se elimina de este host.",
  "deleteComposeVal": "Esta es una pila de validador; la instancia del validador también se elimina.",
  "pruneTitle": "Eliminar recursos de Docker",
  "pruneDesc": "Escriba PRUNE para confirmar. Los datos no utilizados no se pueden restaurar.",
  "pruneC1": "Se eliminan los recursos no utilizados en el ámbito seleccionado.",
  "pruneC2": "La poda de volumen y sistema elimina permanentemente los volúmenes de datos no utilizados.",
  "pruneC3": "Se eliminan los contenedores detenidos o las imágenes no utilizadas en este alcance."
}
