9router/public/i18n/literals/es.json
Rigel Ramadhani Waloni 1fd3132647
feat(ui): enhance model select modal UX and modal traffic lights (#1111)
* feat(model-select-modal): highlight added models and support bulk selection

- Add addedModelValues prop to highlight already-added models with primary color
- Sort models alphabetically per provider, with added models floated to top
- Replace green highlight with primary brand color (orange #E56A4A)
- Use check icon (10px) inline with model name instead of check_circle
- Replace Done button with info bar explaining click-to-toggle behavior
- Add ProviderIcon to provider group headers replacing colored dot
- Import ProviderIcon, remove unused Button import

* feat(cli-tools): wire addedModelValues, onDeselect, and auto-save to model select modals

- Pass selectedModels as addedModelValues to ModelSelectModal in OpenCode and Copilot cards
- Add onDeselect handler to remove model from list on second click
- Set closeOnSelect=false to allow bulk model selection
- Remove manual setModalOpen(false) from onSelect callbacks
- Add saveModels() silent auto-save triggered on modal close (OpenCodeToolCard)
- Use useRef to track latest selectedModels in closure-safe way

* feat(modal): functional traffic light close button with hover icon and tooltip

- Make red dot a clickable button that closes the modal
- Show ✕ icon inside red dot on hover via group-hover opacity transition
- Gray out yellow and green dots (cursor-not-allowed, no tooltip)
- Increase dot size from w-3 h-3 to w-4 h-4
- Add Tooltip with brand-matched color #FF5F56 on red dot
- Remove X close button from modal header

* feat(tooltip): add color prop for themed tooltip backgrounds

* feat(i18n): add translations for model select info bar and close tooltip

- Add 'Click to add, click again to remove. Changes are saved automatically.' to all 32 locales
- Add 'Close' translation to all 32 locales

* fix(ui): address code review feedback on modal UX and auto-save

- Modal: remove showCloseButton prop, use showTrafficLights for header
  condition, hide traffic lights on mobile (hidden md:flex), add mobile
  X button (md:hidden) with aria-label, add aria-label and title on
  traffic light close button
- OpenCodeToolCard: validate activeModel membership before saving —
  fallback to models[0] or empty string; clear/reassign activeModel
  on deselect when removed model was the active one
- CopilotToolCard: add useRef + selectedModelsRef, add saveModels()
  using /api/cli-tools/copilot-settings, wire auto-save on modal close
- ModelSelectModal: fix JSX formatting — separate info bar closing div
  from Search comment onto its own line
2026-05-15 09:21:24 +07:00

192 lines
9 KiB
JSON

{
"Cancel": "Cancelar",
"Delete": "Eliminar",
"Edit": "Editar",
"Save": "Guardar",
"Close": "Cerrar",
"Add": "Añadir",
"Remove": "Quitar",
"Settings": "Configuración",
"Profile": "Perfil",
"Dashboard": "Panel de control",
"Logout": "Cerrar sesión",
"Login": "Iniciar sesión",
"Providers": "Proveedores",
"Usage": "Estadísticas",
"API Key": "Clave API",
"Connected": "Conectado",
"Disconnected": "Desconectado",
"Active": "Activo",
"Inactive": "Inactivo",
"Success": "Éxito",
"Failed": "Fallido",
"Error": "Error",
"Warning": "Advertencia",
"Info": "Información",
"Loading": "Cargando",
"Search": "Buscar",
"Filter": "Filtrar",
"Sort": "Ordenar",
"Export": "Exportar",
"Import": "Importar",
"Refresh": "Actualizar",
"Back": "Atrás",
"Next": "Siguiente",
"Previous": "Anterior",
"Submit": "Enviar",
"Confirm": "Confirmar",
"Yes": "Sí",
"No": "No",
"OK": "OK",
"Apply": "Aplicar",
"Reset": "Restablecer",
"Clear": "Limpiar",
"Select": "Seleccionar",
"Upload": "Cargar",
"Download": "Descargar",
"Copy": "Copiar",
"Paste": "Pegar",
"Cut": "Cortar",
"Undo": "Deshacer",
"Redo": "Rehacer",
"Name": "Nombre",
"Description": "Descripción",
"Status": "Estado",
"Type": "Tipo",
"Date": "Fecha",
"Time": "Hora",
"Created": "Creado",
"Updated": "Actualizado",
"Actions": "Acciones",
"Details": "Detalles",
"View": "Ver",
"New": "Nuevo",
"Total": "Total",
"Count": "Cantidad",
"Price": "Precio",
"Cost": "Costo",
"Free": "Gratuito",
"Paid": "Pagado",
"Enable": "Habilitar",
"Disable": "Deshabilitar",
"Enabled": "Habilitado",
"Disabled": "Deshabilitado",
"Online": "En línea",
"Offline": "Desconectado",
"Available": "Disponible",
"Unavailable": "No disponible",
"Required": "Requerido",
"Optional": "Opcional",
"Default": "Predeterminado",
"Custom": "Personalizado",
"Advanced": "Avanzado",
"Basic": "Básico",
"Help": "Ayuda",
"Support": "Soporte",
"Documentation": "Documentación",
"Version": "Versión",
"Language": "Idioma",
"Theme": "Tema",
"Light": "Claro",
"Dark": "Oscuro",
"Auto": "Automático",
"Endpoint": "Punto final",
"Combos": "Combinaciones",
"Quota Tracker": "Rastreador de cuota",
"MITM": "MITM",
"CLI Tools": "Herramientas CLI",
"Console Log": "Registro de consola",
"System": "Sistema",
"Debug": "Depuración",
"Shutdown": "Apagar",
"Close Proxy": "Cerrar proxy",
"Are you sure you want to close the proxy server?": "¿Está seguro de que desea cerrar el servidor proxy?",
"Server Disconnected": "Servidor desconectado",
"The proxy server has been stopped.": "El servidor proxy se ha detenido.",
"Reload Page": "Recargar página",
"Service is running in terminal. You can close this web page. Shutdown will stop the service.": "El servicio se está ejecutando en la terminal. Puede cerrar esta página web. El apagado detendrá el servicio.",
"Manage your AI provider connections": "Administre sus conexiones de proveedor de IA",
"Model combos with fallback": "Combinaciones de modelos con respaldo",
"Monitor your API usage, token consumption, and request logs": "Monitoree su uso de API, consumo de tokens y registros de solicitudes",
"Intercept CLI tool traffic and route through 9Router": "Interceptar el tráfico de herramientas CLI y enrutar a través de 9Router",
"Configure CLI tools": "Configurar herramientas CLI",
"API endpoint configuration": "Configuración del punto final de API",
"Manage your preferences": "Administrar sus preferencias",
"Debug translation flow between formats": "Depurar el flujo de traducción entre formatos",
"Live server console output": "Salida de consola del servidor en vivo",
"Create model combos with fallback support": "Crear combinaciones de modelos con soporte de respaldo",
"Local Mode": "Modo local",
"Running on your machine": "En ejecución en su máquina",
"Database Location": "Ubicación de la base de datos",
"Download Backup": "Descargar respaldo",
"Import Backup": "Importar respaldo",
"Database backup downloaded": "Respaldo de la base de datos descargado",
"Database imported successfully": "Base de datos importada correctamente",
"Security": "Seguridad",
"Require login": "Requerir inicio de sesión",
"When ON, dashboard requires password. When OFF, access without login.": "Cuando está ACTIVADO, el panel requiere contraseña. Cuando está DESACTIVADO, acceso sin iniciar sesión.",
"Current Password": "Contraseña actual",
"Enter current password": "Ingrese la contraseña actual",
"New Password": "Nueva contraseña",
"Enter new password": "Ingrese la nueva contraseña",
"Confirm New Password": "Confirmar nueva contraseña",
"Confirm new password": "Confirme la nueva contraseña",
"Update Password": "Actualizar contraseña",
"Set Password": "Establecer contraseña",
"Password updated successfully": "Contraseña actualizada correctamente",
"Passwords do not match": "Las contraseñas no coinciden",
"Routing Strategy": "Estrategia de enrutamiento",
"Round Robin": "Round Robin",
"Cycle through accounts to distribute load": "Ciclo a través de cuentas para distribuir la carga",
"Sticky Limit": "Límite pegajoso",
"Calls per account before switching": "Llamadas por cuenta antes de cambiar",
"Network": "Red",
"Outbound Proxy": "Proxy de salida",
"Enable proxy for OAuth + provider outbound requests.": "Habilite el proxy para OAuth + solicitudes de salida del proveedor.",
"Proxy URL": "URL del proxy",
"Leave empty to inherit existing env proxy (if any).": "Deje en blanco para heredar el proxy env existente (si lo hay).",
"No Proxy": "Sin proxy",
"Comma-separated hostnames/domains to bypass the proxy.": "Nombres de host/dominios separados por comas para omitir el proxy.",
"Test proxy URL": "Prueba URL del proxy",
"Proxy settings applied": "Configuración de proxy aplicada",
"Proxy enabled": "Proxy habilitado",
"Proxy disabled": "Proxy deshabilitado",
"Proxy test OK": "Prueba de proxy OK",
"Proxy test failed": "Falha en la prueba de proxy",
"Please enter a Proxy URL to test": "Por favor ingrese una URL de proxy para probar",
"Observability": "Observabilidad",
"Enable Observability": "Habilitar observabilidad",
"Turn request detail recording on/off globally": "Activar/desactivar globalmente el registro de detalles de solicitud",
"Max Records": "Número máximo de registros",
"Maximum request detail records to keep (older records are auto-deleted)": "Número máximo de registros de detalle de solicitud a mantener (los registros más antiguos se eliminan automáticamente)",
"Batch Size": "Tamaño del lote",
"Number of items to accumulate before writing to database (higher = better performance)": "Número de elementos a acumular antes de escribir en la base de datos (más alto = mejor rendimiento)",
"Flush Interval (ms)": "Intervalo de vaciado (ms)",
"Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "Tiempo máximo de espera antes de vaciar el búfer (evita pérdida de datos durante tráfico bajo)",
"Max JSON Size (KB)": "Tamaño máximo de JSON (KB)",
"Maximum size for each JSON field (request/response) before truncation": "Tamaño máximo para cada campo JSON (solicitud/respuesta) antes del truncamiento",
"All data stored on your machine": "Todos los datos almacenados en su máquina",
"MITM Server": "Servidor MITM",
"Running": "En ejecución",
"Stopped": "Detenido",
"Cert": "Certificado",
"Server": "Servidor",
"Purpose:": "Propósito:",
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "Use Antigravity IDE y GitHub Copilot → con CUALQUIER proveedor/modelo de 9Router",
"How it works:": "Cómo funciona:",
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → 9Router → response to Antigravity/Copilot": "Solicitud de Antigravity/Copilot IDE → Redireccionamiento DNS a localhost:443 → El proxy MITM intercepta → 9Router → respuesta a Antigravity/Copilot",
"No API keys — create one in Keys page": "Sin claves API — cree una en la página Claves",
"sk_9router (default)": "sk_9router (predeterminado)",
"Server started": "Servidor iniciado",
"Failed to start server": "Error al iniciar el servidor",
"Server stopped — all DNS cleared": "Servidor detenido — todo DNS borrado",
"Failed to stop server": "Error al detener el servidor",
"Sudo password is required": "Se requiere contraseña de sudo",
"Stop Server": "Detener servidor",
"Start Server": "Iniciar servidor",
"Enable DNS per tool below to activate interception": "Habilite DNS para cada herramienta a continuación para activar la intercepción",
"Sudo Password Required": "Contraseña de Sudo requerida",
"Enter your sudo password to start/stop MITM server": "Ingrese su contraseña de sudo para iniciar/detener el servidor MITM",
"Sudo Password": "Contraseña de sudo",
"Click to add, click again to remove. Changes are saved automatically.": "Haz clic para agregar, haz clic de nuevo para eliminar. Los cambios se guardan automáticamente."
}