{
  "toast": {
    "connectionLost": {
      "title": "Conexión con el servidor perdida",
      "message": "No se puede acceder al servidor backend. Comprueba si el servidor está en ejecución."
    }
  },
  "common": {
    "appName": "OpenWA",
    "appSubtitle": "API de WhatsApp",
    "loading": "Cargando...",
    "save": "Guardar",
    "cancel": "Cancelar",
    "delete": "Eliminar",
    "edit": "Editar",
    "create": "Crear",
    "close": "Cerrar",
    "submit": "Enviar",
    "confirm": "Confirmar",
    "search": "Buscar",
    "filter": "Filtrar",
    "actions": "Acciones",
    "status": "Estado",
    "name": "Nombre",
    "role": "Rol",
    "type": "Tipo",
    "url": "URL",
    "port": "Puerto",
    "host": "Host",
    "username": "Usuario",
    "password": "Contraseña",
    "active": "Activo",
    "inactive": "Inactivo",
    "enabled": "Habilitado",
    "disabled": "Deshabilitado",
    "connected": "Conectado",
    "disconnected": "Desconectado",
    "never": "Nunca",
    "justNow": "Ahora mismo",
    "minAgo": "Hace {{count}} min",
    "hoursAgo": "Hace {{count}} horas",
    "optional": "opcional",
    "language": "Idioma",
    "english": "English",
    "hebrew": "עברית",
    "back": "Atrás",
    "next": "Siguiente",
    "previous": "Anterior",
    "expand": "Expandir",
    "collapse": "Colapsar",
    "logout": "Cerrar sesión",
    "refresh": "Actualizar",
    "errorGeneric": "Ha ocurrido un error",
    "unknownError": "Error desconocido",
    "showApiKey": "Mostrar clave API",
    "hideApiKey": "Ocultar clave API"
  },
  "theme": {
    "light": "Claro",
    "dark": "Oscuro",
    "system": "Sistema",
    "label": "Tema: {{value}}",
    "appearance": "Apariencia",
    "mode": "Modo",
    "palette": "Paleta"
  },
  "nav": {
    "dashboard": "Panel",
    "sessions": "Sesiones",
    "chats": "Chats",
    "webhooks": "Webhooks",
    "apiKeys": "Claves API",
    "messageTester": "Probador de mensajes",
    "infrastructure": "Infraestructura",
    "plugins": "Plugins",
    "logs": "Registros",
    "templates": "Plantillas"
  },
  "chats": {
    "subtitle": "Envía y responde mensajes de WhatsApp en tiempo real",
    "noSessionsTitle": "Sin sesiones conectadas",
    "noSessionsDesc": "Conecta primero una sesión de WhatsApp desde el menú <1>Sesiones</1> para usar el chat.",
    "sessionLabel": "Sesión de WhatsApp",
    "noPhone": "Sin teléfono",
    "searchPlaceholder": "Buscar chats...",
    "loadingChats": "Cargando chats...",
    "empty": "Sin chats",
    "noMessageYet": "Aún sin mensajes",
    "loadingMessages": "Cargando mensajes...",
    "noMessagesInChat": "Aún no hay mensajes. ¡Envía el primero para empezar!",
    "downloadDocument": "Descargar documento",
    "actions": {
      "reply": "Responder",
      "react": "Reaccionar",
      "delete": "Eliminar mensaje"
    },
    "replyingTo": "Respondiendo a {{name}}",
    "you": "Tú",
    "youPrefix": "Tú: ",
    "yesterday": "Ayer",
    "attachTitle": "Enviar archivo / imagen",
    "emojiTitle": "Elegir emoji",
    "captionPlaceholder": "Añadir un pie de foto...",
    "messagePlaceholder": "Escribe un mensaje...",
    "noPermission": "No tienes permiso para enviar mensajes",
    "send": "Enviar",
    "placeholderTitle": "Empieza a escribir",
    "placeholderDesc": "Selecciona un chat activo de la barra lateral izquierda para leer y enviar mensajes de WhatsApp.",
    "deleteConfirm": "¿Eliminar este mensaje para todos?",
    "messageDeleted": "🚫 Este mensaje fue eliminado",
    "errors": {
      "loadSessions": "Error al cargar las sesiones",
      "loadChats": "Error al cargar los chats",
      "loadMessages": "Error al cargar los mensajes",
      "markRead": "Error al marcar el chat como leído",
      "send": "Error al enviar el mensaje",
      "react": "Error al reaccionar al mensaje",
      "delete": "Error al eliminar el mensaje"
    }
  },
  "errorBoundary": {
    "title": "Algo salió mal",
    "description": "El panel encontró un error inesperado.",
    "reload": "Recargar panel"
  },
  "login": {
    "apiKey": "Clave API",
    "apiKeyPlaceholder": "Introduce tu clave API",
    "apiKeyRequired": "La clave API es obligatoria",
    "connect": "Conectar",
    "connecting": "Conectando...",
    "invalidKey": "Clave API no válida",
    "connectionError": "No se puede conectar al servidor. Por favor, inténtalo de nuevo.",
    "help": "¿Necesitas ayuda?",
    "viewDocs": "Ver documentación",
    "footer": "Hecho con ❤️ por Yudhi Armyndharis y la comunidad OpenWA",
    "version": "v{{version}} · {{date}}"
  },
  "dashboard": {
    "title": "Panel",
    "subtitle": "Resumen de tus sesiones de WhatsApp y actividad",
    "stats": {
      "activeSessions": "Sesiones activas",
      "messagesToday": "Mensajes hoy",
      "webhooksConfigured": "Webhooks configurados",
      "apiCalls": "Llamadas API (24h)",
      "totalMessages": "Mensajes totales"
    },
    "sessionsOverview": "Resumen de sesiones",
    "showingSessions": "Mostrando {{shown}} de {{total}} sesiones",
    "columns": {
      "sessionId": "ID de sesión",
      "phone": "Número de teléfono",
      "status": "Estado",
      "lastActive": "Última actividad",
      "actions": "Acciones"
    },
    "noSessions": "No se encontraron sesiones. Crea una para empezar.",
    "view": "Ver",
    "disconnect": "Desconectar",
    "errorPrefix": "Error: {{message}}",
    "loadError": "Error al cargar los datos",
    "charts": {
      "title": "Analíticas de mensajes",
      "period": {
        "24h": "24 h",
        "7d": "7 d",
        "30d": "30 d"
      },
      "overTime": "Mensajes a lo largo del tiempo",
      "byType": "Mensajes por tipo",
      "topChats": "Chats principales",
      "sent": "Enviados",
      "received": "Recibidos",
      "messages": "Mensajes",
      "empty": "Sin actividad de mensajes en este período."
    }
  },
  "sessionStatus": {
    "created": "Nueva",
    "idle": "Inactiva",
    "initializing": "Iniciando...",
    "connecting": "Conectando...",
    "qr_ready": "Escanear QR",
    "ready": "Conectada",
    "disconnected": "Desconectada"
  },
  "sessions": {
    "title": "Sesiones",
    "subtitle": "Gestiona tus sesiones de WhatsApp y conexiones por código QR",
    "newSession": "Nueva sesión",
    "searchPlaceholder": "Buscar sesiones...",
    "filter": {
      "all": "Todos los estados",
      "active": "Activas (Conectadas)",
      "inactive": "Inactivas",
      "connecting": "Conectando"
    },
    "empty": {
      "title": "No se encontraron sesiones",
      "description": "Crea una nueva sesión para empezar"
    },
    "create": {
      "title": "Crear nueva sesión",
      "label": "Nombre de sesión",
      "placeholder": "ej., bot-marketing",
      "hint": "Usa solo letras minúsculas, números y guiones. Ejemplo: <code>soporte-cliente</code>, <code>bot-1</code>",
      "invalidChars": "Caracteres no válidos. Solo se permiten letras minúsculas, números y guiones.",
      "tooLong": "El nombre debe tener 50 caracteres o menos ({{length}}/50).",
      "duplicate": "Ya existe una sesión con ese nombre.",
      "successTitle": "Sesión creada",
      "successDesc": "Sesión \"{{name}}\" creada correctamente",
      "errorTitle": "Error al crear",
      "errorDefault": "No se pudo crear la sesión"
    },
    "delete": {
      "title": "Confirmar eliminación",
      "message": "¿Seguro que quieres eliminar la sesión <strong>\"{{name}}\"</strong>?",
      "warning": "Esta acción no se puede deshacer.",
      "successTitle": "Sesión eliminada",
      "successDescNamed": "Sesión \"{{name}}\" eliminada",
      "successDescGeneric": "Sesión eliminada",
      "errorTitle": "Error al eliminar",
      "errorDefault": "No se pudo eliminar la sesión"
    },
    "qr": {
      "title": "Escanear código QR",
      "step1": "<strong>1.</strong> Abre WhatsApp en tu teléfono",
      "step2": "<strong>2.</strong> Toca <strong>Menú</strong> → <strong>Dispositivos vinculados</strong>",
      "step3": "<strong>3.</strong> Toca <strong>Vincular dispositivo</strong> y escanea este QR",
      "autoRefresh": "El QR se actualiza automáticamente cada 5 segundos",
      "generating": "Generando código QR...",
      "unavailable": "El código QR aún no está disponible. Inténtalo en un momento.",
      "preparing": "Preparando código QR...",
      "showQr": "Mostrar QR",
      "loading": "Cargando...",
      "scanToConnect": "Escanea el código QR para conectar"
    },
    "details": {
      "title": "Detalles de sesión",
      "name": "Nombre",
      "status": "Estado",
      "sessionId": "ID de sesión",
      "phone": "Número de teléfono",
      "phoneNone": "No conectado",
      "created": "Creado",
      "lastActive": "Última actividad"
    },
    "actions": {
      "view": "Ver",
      "start": "Iniciar",
      "stop": "Detener",
      "reconnect": "Reconectar",
      "delete": "Eliminar",
      "killStuck": "Kill Stuck"
    },
    "toasts": {
      "readyTitle": "Sesión lista",
      "readyDesc": "La sesión de WhatsApp está conectada",
      "disconnectedTitle": "Sesión desconectada",
      "disconnectedDesc": "La sesión de WhatsApp se ha desconectado",
      "failedTitle": "Sesión fallida",
      "failedDesc": "La sesión de WhatsApp no pudo iniciarse. Abre la sesión para ver el motivo."
    },
    "card": {
      "phone": "Teléfono",
      "sessionId": "ID de sesión",
      "lastActive": "Última actividad",
      "error": "Error"
    },
    "forceKill": {
      "title": "Kill Stuck Session",
      "message": "Are you sure you want to force-kill session \"{{name}}\"?",
      "warning": "This will forcefully terminate the WhatsApp browser process. The session may need to be re-scanned on restart.",
      "confirm": "Kill Session",
      "successTitle": "Session Killed",
      "success": "Session has been force-killed. You can restart it now.",
      "failedTitle": "Force-Kill Failed",
      "failed": "Failed to force-kill the session."
    }
  },
  "webhooks": {
    "title": "Webhooks",
    "subtitle": "Configura callbacks HTTP para notificaciones de eventos en tiempo real",
    "addWebhook": "Añadir webhook",
    "createTitle": "Crear webhook",
    "editTitle": "Editar webhook",
    "deleteTitle": "Eliminar webhook",
    "deleteConfirm": "¿Seguro que quieres eliminar este webhook?",
    "selectSession": "Seleccionar sesión...",
    "session": "Sesión",
    "events": "Eventos",
    "available": "Eventos disponibles",
    "saveChanges": "Guardar cambios",
    "filters": {
      "title": "Filtros (opcional)",
      "hint": "Activar solo cuando se cumplan todas las condiciones. Se aplica a eventos de mensajes.",
      "badge": "{{count}} filtro",
      "badge_other": "{{count}} filtros",
      "addCondition": "Añadir condición",
      "removeCondition": "Eliminar condición",
      "caseSensitive": "Distinguir mayúsculas",
      "contactPlaceholder": "Número o ID de WhatsApp...",
      "textPlaceholder": "Texto a buscar...",
      "addValue": "Añadir \"{{value}}\"",
      "yes": "Sí",
      "no": "No",
      "fields": {
        "sender": "Remitente",
        "recipient": "Destinatario",
        "body": "Cuerpo del mensaje",
        "type": "Tipo de mensaje",
        "isGroup": "Es chat de grupo",
        "fromMe": "Enviado por mí",
        "hasMedia": "Tiene multimedia",
        "mentions": "Menciones"
      },
      "operators": {
        "is": "es",
        "isNot": "no es",
        "contains": "contiene",
        "equals": "es igual a"
      }
    },
    "columns": {
      "url": "URL",
      "events": "Eventos",
      "session": "Sesión",
      "status": "Estado",
      "actions": "Acciones"
    },
    "empty": {
      "title": "No hay webhooks configurados",
      "description": "Añade un webhook para recibir notificaciones de eventos en tiempo real"
    },
    "toasts": {
      "created": "Webhook creado correctamente",
      "createFailed": "Error al crear el webhook: {{message}}",
      "deleted": "Webhook eliminado correctamente",
      "deleteFailed": "Error al eliminar el webhook: {{message}}",
      "updated": "Webhook actualizado correctamente",
      "updateFailed": "Error al actualizar el webhook: {{message}}",
      "testOk": "Prueba de webhook exitosa. Estado: {{status}}",
      "testFailed": "Prueba de webhook fallida: {{message}}",
      "testError": "Error al probar el webhook: {{message}}"
    },
    "actions": {
      "test": "Probar",
      "edit": "Editar",
      "delete": "Eliminar"
    },
    "eventDescriptions": {
      "message.received": "Cuando se recibe un mensaje",
      "message.sent": "Cuando se envía un mensaje",
      "session.connected": "Cuando una sesión se conecta",
      "session.disconnected": "Cuando una sesión se desconecta",
      "session.qr": "Cuando se genera un código QR",
      "all": "Todos los eventos"
    }
  },
  "apiKeys": {
    "title": "Claves API",
    "subtitle": "Gestiona las claves API para autenticación y control de acceso",
    "createBtn": "Crear clave API",
    "modalTitle": "Crear clave API",
    "createdTitle": "Clave API creada",
    "createdHint": "Copia esta clave ahora. No podrás verla de nuevo.",
    "namePlaceholder": "ej., Clave de producción",
    "rolesTitle": "Referencia de roles",
    "roles": {
      "admin": "Administrador",
      "operator": "Operador",
      "viewer": "Lector"
    },
    "roleDescriptions": {
      "admin": "Acceso completo a todos los recursos",
      "operator": "Gestión de sesiones y mensajes",
      "viewer": "Acceso de solo lectura"
    },
    "columns": {
      "name": "Nombre",
      "key": "Clave",
      "role": "Rol",
      "status": "Estado",
      "lastUsed": "Último uso",
      "actions": "Acciones"
    },
    "statuses": {
      "active": "Activa",
      "revoked": "Revocada"
    },
    "empty": {
      "title": "No hay claves API creadas",
      "description": "Crea una clave API para autenticar tus peticiones"
    },
    "confirm": {
      "deleteTitle": "Eliminar clave API",
      "revokeTitle": "Revocar clave API",
      "deleteMessage": "¿Seguro que quieres eliminar permanentemente <strong>{{name}}</strong>? Esta acción no se puede deshacer.",
      "revokeMessage": "¿Seguro que quieres revocar <strong>{{name}}</strong>? Dejará de funcionar.",
      "delete": "Eliminar",
      "revoke": "Revocar"
    },
    "actions": {
      "copy": "Copiar",
      "revoke": "Revocar",
      "delete": "Eliminar"
    }
  },
  "logs": {
    "title": "Registros de auditoría",
    "subtitle": "Rastrea y revisa todas las acciones de la API y eventos del sistema",
    "exportCsv": "Exportar CSV",
    "searchPlaceholder": "Buscar registros...",
    "severity": {
      "all": "Todas las severidades",
      "info": "Info",
      "warn": "Advertencia",
      "error": "Error"
    },
    "columns": {
      "timestamp": "Fecha/Hora",
      "action": "Acción",
      "session": "Sesión",
      "apiKey": "Clave API",
      "ip": "Dirección IP",
      "severity": "Severidad"
    },
    "empty": {
      "title": "No se encontraron registros",
      "description": "Los registros de auditoría aparecerán aquí cuando se realicen acciones"
    }
  },
  "messageTester": {
    "title": "Probador de mensajes",
    "subtitle": "Envía mensajes de prueba a través de la API",
    "compose": "Enviar mensaje de prueba",
    "responseTitle": "Respuesta de la API",
    "session": "Sesión",
    "noReadySessions": "Sin sesiones listas",
    "sessionOptionPhoneNone": "Sin teléfono",
    "recipientType": "Tipo de destinatario",
    "personal": "Personal",
    "group": "Grupo",
    "selectGroup": "Seleccionar grupo",
    "recipientPhone": "Número de teléfono del destinatario",
    "loadingGroups": "Cargando grupos...",
    "noGroupsFound": "No se encontraron grupos",
    "selectGroupHint": "Selecciona un grupo de tu WhatsApp",
    "phoneHint": "Usa formato internacional sin espacios",
    "messageType": "Tipo de mensaje",
    "types": {
      "text": "Texto",
      "image": "Imagen",
      "video": "Vídeo",
      "audio": "Audio",
      "document": "Documento"
    },
    "messageContent": "Contenido del mensaje",
    "messagePlaceholder": "Escribe tu mensaje aquí...",
    "mediaUrl": "URL del medio",
    "caption": "Pie de foto",
    "filename": "Nombre de archivo",
    "captionPlaceholder": "Escribe un pie de foto...",
    "filenamePlaceholder": "documento.pdf",
    "send": "Enviar mensaje",
    "sending": "Enviando...",
    "viewOnly": "Solo lectura",
    "responseEmpty": "Envía un mensaje para ver la respuesta de la API",
    "successLabel": "200 OK - Éxito",
    "failedLabel": "400 - Fallido",
    "response": {
      "timestamp": "Fecha/Hora",
      "messageId": "ID de mensaje",
      "error": "Error"
    },
    "sendFailed": "Error al enviar el mensaje",
    "notOnWhatsApp": "Este número no está registrado en WhatsApp"
  },
  "templates": {
    "title": "Plantillas",
    "subtitle": "Crea plantillas de mensaje reutilizables para cada sesión de WhatsApp",
    "createTitle": "Crear plantilla",
    "editTitle": "Editar plantilla",
    "newTemplate": "Nueva plantilla",
    "createTemplate": "Crear plantilla",
    "saveChanges": "Guardar cambios",
    "viewOnly": "Solo lectura",
    "noSessions": "Sin sesiones",
    "sessionHint": "Guardada en {{name}}",
    "namePlaceholder": "ej., confirmacion-pedido",
    "header": "Encabezado",
    "headerPlaceholder": "Línea de introducción opcional",
    "body": "Cuerpo",
    "bodyPlaceholder": "Hola {{customer}}, tu pedido {{orderId}} está listo.",
    "footer": "Pie",
    "footerPlaceholder": "Línea de cierre opcional",
    "previewTitle": "Vista previa",
    "previewValuePlaceholder": "Valor de ejemplo",
    "previewEmpty": "Empieza a escribir una plantilla para previsualizarla aquí.",
    "noPlaceholders": "Usa marcadores {{nombre}} para probar sustituciones.",
    "savedTitle": "Plantillas guardadas",
    "count": "{{count}} en total",
    "deleteTitle": "Eliminar plantilla",
    "deleteConfirm": "¿Eliminar la plantilla \"{{name}}\"? Esta acción no se puede deshacer.",
    "actions": {
      "copyName": "Copiar nombre de plantilla"
    },
    "empty": {
      "title": "No hay plantillas guardadas",
      "description": "Crea una plantilla reutilizable para agilizar respuestas y notificaciones habituales.",
      "noSessionsTitle": "No hay sesiones disponibles",
      "noSessionsDesc": "Crea una sesión de WhatsApp antes de añadir plantillas."
    },
    "toasts": {
      "created": "Plantilla creada correctamente",
      "createFailed": "Error al crear la plantilla: {{message}}",
      "updated": "Plantilla actualizada correctamente",
      "updateFailed": "Error al actualizar la plantilla: {{message}}",
      "deleted": "Plantilla eliminada correctamente",
      "deleteFailed": "Error al eliminar la plantilla: {{message}}",
      "copied": "Nombre de plantilla copiado"
    }
  },
  "infrastructure": {
    "title": "Infraestructura",
    "subtitle": "Configura el servidor, base de datos, caché, almacenamiento y motor",
    "saveConfig": "Guardar configuración",
    "saving": "Guardando...",
    "server": {
      "title": "Configuración del servidor",
      "production": "Producción",
      "development": "Desarrollo",
      "environment": "Entorno",
      "domain": "Dominio",
      "apiPort": "Puerto API",
      "dashboardPort": "Puerto del panel",
      "corsOrigins": "Orígenes CORS",
      "corsPlaceholder": "* o varios orígenes separados por comas",
      "publicApiUrl": "URL pública de la API (opcional)",
      "publicDashboardUrl": "URL pública del panel (opcional)"
    },
    "webhook": {
      "title": "Webhook y límite de velocidad",
      "settings": "Configuración de webhook",
      "timeout": "Tiempo de espera (ms)",
      "maxRetries": "Máximo de reintentos",
      "retryDelay": "Retardo entre reintentos (ms)",
      "rateLimit": "Límite de velocidad",
      "window": "Ventana de tiempo (segundos)",
      "maxReq": "Máximo de peticiones por ventana"
    },
    "database": {
      "title": "Configuración de la base de datos",
      "sqlite": "SQLite",
      "sqliteDesc": "Base de datos local en archivo",
      "postgres": "PostgreSQL",
      "postgresDesc": "Base de datos para producción",
      "useBuiltIn": "Usar contenedor PostgreSQL integrado",
      "builtInDesc": "OpenWA gestionará un contenedor PostgreSQL por ti",
      "dbName": "Nombre de la base de datos",
      "poolSize": "Tamaño del pool",
      "ssl": "Conexión SSL",
      "sslDesc": "Habilitar TLS/SSL para conexiones seguras a la base de datos",
      "sslRejectUnauthorized": "Verificar certificado SSL",
      "sslRejectUnauthorizedDesc": "Rechazar certificados autofirmados o no válidos. Desactívalo para Postgres gestionado con certificados autofirmados (Supabase, Heroku, Render, Railway).",
      "migrationsTitle": "Migraciones de la base de datos",
      "migrationsStatus": "El esquema se sincroniza automáticamente con TypeORM",
      "migrationsHint": "Las migraciones se gestionan automáticamente. Usa la CLI para migraciones manuales."
    },
    "engine": {
      "title": "Motor de WhatsApp",
      "subtitle": "Elige y configura el motor de conexión de WhatsApp.",
      "builtIn": "Integrado",
      "headless": "Modo headless",
      "headlessDesc": "Ejecuta el navegador sin interfaz visible (recomendado para producción).",
      "sessionDataPath": "Ruta de datos de sesión",
      "browserArgs": "Argumentos del navegador",
      "noBrowser": "Este motor se conecta por WebSocket: no tiene navegador, por lo que no hay ajustes de modo headless ni de argumentos del navegador. El motor activo se aplica tras reiniciar.",
      "restartNote": "Cambiar el motor surte efecto tras reiniciar el servidor."
    },
    "redis": {
      "title": "Redis",
      "enable": "Habilitar Redis",
      "enableDesc": "Necesario para caché, almacenamiento de sesiones y colas BullMQ",
      "useBuiltIn": "Usar contenedor Redis integrado",
      "builtInDesc": "OpenWA gestionará un contenedor Redis por ti",
      "queueTitle": "Habilitar sistema de colas BullMQ",
      "queueDesc": "Usa colas de mensajes para entrega fiable de mensajes y webhooks",
      "statsTitle": "Estadísticas de colas",
      "messageQueue": "Cola de mensajes",
      "webhookQueue": "Cola de webhooks",
      "pending": "Pendiente",
      "completed": "Completado",
      "failed": "Fallido",
      "clearFailed": "Limpiar trabajos fallidos",
      "viewBullMq": "Ver panel BullMQ",
      "disabledTitle": "Redis está deshabilitado",
      "disabledDesc": "Habilita Redis para caché, almacenamiento de sesiones y colas de mensajes BullMQ.",
      "passwordOptional": "(opcional)"
    },
    "storage": {
      "title": "Configuración de almacenamiento",
      "local": "Sistema de archivos local",
      "localDesc": "Almacenar archivos multimedia localmente",
      "s3": "Amazon S3",
      "s3Desc": "Almacenamiento en la nube (compatible con S3)",
      "useBuiltIn": "Usar contenedor MinIO integrado",
      "builtInDesc": "OpenWA gestionará un contenedor MinIO (compatible con S3) por ti",
      "storagePath": "Ruta de almacenamiento",
      "bucket": "Nombre del bucket",
      "region": "Región",
      "accessKey": "Clave de acceso",
      "secretKey": "Clave secreta",
      "endpoint": "Endpoint personalizado (opcional)",
      "endpointHint": "Para MinIO u otros servicios compatibles con S3"
    },
    "statusLabels": {
      "connected": "Conectado",
      "disconnected": "Desconectado",
      "disabled": "Deshabilitado"
    },
    "restart": {
      "idleTitle": "⚙️ Configuración guardada",
      "restartingTitle": "🔄 Reiniciando servidor...",
      "waitingTitle": "⏳ Por favor espera...",
      "successTitle": "✅ Servidor listo",
      "errorTitle": "❌ Error al reiniciar",
      "idleDesc": "La configuración se ha guardado en <code>.env.generated</code>.<br/>Es necesario reiniciar el servidor para aplicar los cambios.",
      "later": "Reiniciar más tarde",
      "now": "Reiniciar ahora",
      "restartingMsg": "Reiniciando servidor... {{count}}s",
      "checking": "Comprobando estado del servidor...",
      "dontClose": "Por favor, no cierres esta ventana",
      "successMsg": "¡El servidor volvió a estar en línea! La página se recargará automáticamente.",
      "errorMsg": "El servidor no respondió tras 30 segundos. Revisa los logs de Docker y reinicia manualmente.",
      "reload": "Recargar página"
    },
    "toasts": {
      "saveFailed": "Error al guardar"
    }
  },
  "plugins": {
    "title": "Plugins",
    "subtitle": "Instala, configura y gestiona extensiones",
    "refresh": "Actualizar",
    "engineCard": "Motor de WhatsApp activo",
    "running": "En ejecución",
    "supportedFeatures": "Funciones compatibles:",
    "builtIn": "Integrado",
    "noDescription": "Sin descripción disponible",
    "required": "Obligatorio",
    "active": "Activo",
    "activate": "Activar",
    "enable": "Habilitar",
    "disable": "Deshabilitar",
    "healthCheck": "Comprobación de salud",
    "configure": "Configurar",
    "available": "Disponible",
    "install": "Instalar plugin",
    "uninstall": "Desinstalar",
    "uninstallConfirm": "¿Desinstalar \"{{name}}\"? Esto elimina sus archivos.",
    "engineSwitchHint": "Establécelo como el motor activo en Ajustes y luego reinicia",
    "empty": {
      "title": "No se encontraron plugins",
      "description": "Instala plugins para ampliar la funcionalidad de OpenWA"
    },
    "config": {
      "title": "Configurar {{name}}",
      "restartNotice": "Los cambios requieren reiniciar el servidor para aplicarse",
      "engineType": "Tipo de motor",
      "headless": "Modo sin cabeza",
      "headlessDesc": "Ejecutar el navegador sin interfaz visible (recomendado para producción)",
      "sessionDataPath": "Ruta de datos de sesión",
      "browserArgs": "Argumentos del navegador",
      "noOptions": "No hay opciones de configuración disponibles para este plugin",
      "save": "Guardar configuración",
      "addItem": "Añadir",
      "tabConfig": "Configuración",
      "tabSessions": "Sesiones"
    },
    "rail": {
      "engine": "Motor activo",
      "enabled": "habilitado",
      "installed": "instalado",
      "active": "Plugins activos",
      "none": "Ninguno habilitado todavía"
    },
    "installModal": {
      "title": "Instalar un plugin",
      "hint": "Sube un plugin empaquetado como un .zip (con un manifest.json). Se ejecuta en modo aislado una vez habilitado.",
      "choose": "Elige un archivo .zip…",
      "tooLarge": "El archivo supera el límite de 5 MB."
    },
    "toasts": {
      "errorTitle": "Error de plugin",
      "errorDefault": "Error al activar/desactivar el plugin",
      "healthOk": "Comprobación de salud superada",
      "healthFail": "Comprobación de salud fallida",
      "healthError": "Error en la comprobación de salud",
      "savedTitle": "Configuración guardada",
      "savedDesc": "Es necesario reiniciar el servidor para aplicar los cambios.",
      "saveFailed": "Error al guardar",
      "installed": "Plugin instalado",
      "installFailed": "Error en la instalación",
      "uninstalled": "Plugin desinstalado",
      "uninstallFailed": "Error al desinstalar"
    },
    "sessions": {
      "activationTitle": "Ejecutar para",
      "activationDesc": "Elige para qué sesiones se ejecuta este complemento.",
      "allSessions": "Todas las sesiones",
      "specificSessions": "Sesiones específicas",
      "noSessions": "Aún no hay sesiones.",
      "saveActivation": "Guardar activación",
      "perSessionTitle": "Configuración por sesión",
      "perSessionDesc": "Anula la configuración global para una sesión; los campos sin modificar heredan el valor global.",
      "selectSession": "Selecciona una sesión…",
      "saveOverride": "Guardar anulación",
      "clearOverride": "Borrar anulación"
    }
  }
}
