mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-10 17:45:42 +00:00
9d8354188a
Copy panel password hashes into missing Go users on SQLite dual-DB so RustDesk client login matches the console; clarify LDAP sub-tab discoverability and provider-bound hints.
4330 lines
228 KiB
JSON
4330 lines
228 KiB
JSON
{
|
||
"meta": {
|
||
"lang": "es",
|
||
"name": "Spanish",
|
||
"native_name": "Español",
|
||
"direction": "ltr"
|
||
},
|
||
"common": {
|
||
"loading": "Cargando...",
|
||
"confirm": "Confirmar",
|
||
"alert": "Alerta",
|
||
"prompt": "Pregunta",
|
||
"copied": "Copied!",
|
||
"save": "Guardar",
|
||
"saved": "Guardado",
|
||
"error": "Error",
|
||
"success": "Éxito",
|
||
"warning": "Advertencia",
|
||
"info": "Información",
|
||
"all": "All",
|
||
"cancel": "Cancelar",
|
||
"delete": "Eliminar",
|
||
"actions": "Acciones",
|
||
"close": "Cerrar",
|
||
"required": "Requerido",
|
||
"name_required": "El nombre de la carpeta es obligatorio",
|
||
"active": "Activo",
|
||
"inactive": "Inactivo",
|
||
"invalid_json": "JSON no válido",
|
||
"field_required": "El campo {field} es obligatorio",
|
||
"back": "Volver",
|
||
"edit": "Editar",
|
||
"yes": "Sí",
|
||
"no": "No"
|
||
},
|
||
"nav": {
|
||
"main": "Principal",
|
||
"tools": "Herramientas de red",
|
||
"system": "Sistema",
|
||
"dashboard": "Panel principal",
|
||
"devices": "Dispositivos",
|
||
"keys": "keys",
|
||
"generator": "Generator",
|
||
"settings": "Configuración",
|
||
"users": "Usuarios",
|
||
"inventory": "Inventory",
|
||
"tickets": "Tickets",
|
||
"help_requests": "Solicitudes de ayuda",
|
||
"activity": "Actividad",
|
||
"automation": "Automatización",
|
||
"file_transfer": "Transferencia de archivos",
|
||
"network": "Red",
|
||
"dataguard": "DataGuard",
|
||
"reports": "Informes",
|
||
"tenants": "Tenants",
|
||
"registrations": "Registros",
|
||
"management": "Administración",
|
||
"toggle_sidebar": "Alternar barra lateral",
|
||
"toggle_theme": "Cambiar tema",
|
||
"cdap": "CDAP",
|
||
"fleet": "Flota",
|
||
"scaling": "Escalado",
|
||
"cross_platform": "Multiplataforma",
|
||
"tokens": "Tokens de acceso",
|
||
"organizations": "Organizaciones",
|
||
"policies": "Políticas",
|
||
"attestation": "Atestación",
|
||
"remote": "Acceso remoto",
|
||
"toolkit": "Toolkit",
|
||
"security_audit": "Auditoría de Seguridad",
|
||
"languages": "Idiomas",
|
||
"resource_control": "Control de recursos",
|
||
"sdk_studio": "SDK Studio",
|
||
"chat": "Chat",
|
||
"help": "Help",
|
||
"expand_sidebar": "Expandir barra lateral",
|
||
"login": "Iniciar sesión",
|
||
"permissions": "Permisos",
|
||
"server_management": "Gestión del servidor",
|
||
"server_attestation": "Certificación del servidor",
|
||
"commercialization": "Comercialización",
|
||
"remote_open_tab": "Abrir cliente de escritorio remoto en una pestaña nueva"
|
||
},
|
||
"auth": {
|
||
"login": "Iniciar sesión",
|
||
"logout": "Cerrar sesión",
|
||
"login_title": "Iniciar sesión",
|
||
"login_subtitle": "Inicie sesión en la consola BetterDesk",
|
||
"username": "Nombre de usuario",
|
||
"username_placeholder": "Introduzca el nombre de usuario",
|
||
"password": "Contraseña",
|
||
"password_placeholder": "Introduzca la contraseña",
|
||
"remember_me": "Recordarme",
|
||
"login_failed": "Error de inicio de sesión. Verifique sus credenciales.",
|
||
"invalid_credentials": "Nombre de usuario o contraseña inválidos.",
|
||
"username_collision": "Ya existe una cuenta local con este nombre de usuario. Inicie sesión con su contraseña local o pida a un administrador que renombre o elimine la cuenta en conflicto.",
|
||
"pro_only_account": "Esta cuenta es solo para el cliente de escritorio RustDesk. Use la aplicación RustDesk para iniciar sesión.",
|
||
"fill_all_fields": "Por favor, rellene todos los campos",
|
||
"logout_confirm": "¿Está seguro de que desea cerrar sesión?",
|
||
"change_password": "Cambiar contraseña",
|
||
"password_required": "La contraseña es obligatoria",
|
||
"totp_title": "Autenticación de dos factores",
|
||
"totp_subtitle": "Introduzca el código de 6 dígitos de su aplicación de autenticación",
|
||
"totp_code": "Código de verificación",
|
||
"totp_verify": "Verificar",
|
||
"totp_use_recovery": "Usar un código de recuperación en su lugar",
|
||
"totp_use_code": "Usar el código de autenticación en su lugar",
|
||
"totp_recovery_code": "Código de recuperación",
|
||
"totp_back_to_login": "Volver al inicio de sesión",
|
||
"totp_invalid_code": "Código de verificación no válido. Inténtelo de nuevo.",
|
||
"totp_enter_code": "Introduzca un código de 6 dígitos",
|
||
"totp_enter_recovery": "Introduzca un código de recuperación",
|
||
"totp_session_expired": "Sesión expirada. Inicie sesión de nuevo.",
|
||
"totp_already_enabled": "La autenticación de dos factores ya está activada",
|
||
"passwords_mismatch": "Las contraseñas no coinciden",
|
||
"or": "o",
|
||
"login_sso": "Iniciar sesión con SSO",
|
||
"login_sso_with": "Iniciar sesión con {{provider}}",
|
||
"oidc_denied": "El proveedor de identidad denegó el acceso.",
|
||
"oidc_invalid": "Callback OIDC no válido. Inténtalo de nuevo.",
|
||
"oidc_failed": "La autenticación OIDC falló. Inténtalo de nuevo.",
|
||
"oidc_error": "Se produjo un error durante el inicio de sesión SSO.",
|
||
"oidc_no_account": "No se encontró tu cuenta y el registro automático está deshabilitado.",
|
||
"totp_rate_limited": "Demasiados intentos. Inténtalo de nuevo más tarde.",
|
||
"emergency_mode_banner": "Servidor Go no disponible — funcionando en modo de emergencia (solo administrador, funcionalidad limitada)"
|
||
},
|
||
"dashboard": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"total_devices": "Total de dispositivos",
|
||
"online_now": "En línea ahora",
|
||
"banned": "Bloqueados",
|
||
"active_connections": "Conexiones activas",
|
||
"offline_devices": "Sin conexión",
|
||
"server_status": "Estado del servidor",
|
||
"quick_actions": "Acciones rápidas",
|
||
"manage_devices": "Gestionar dispositivos conectados",
|
||
"view_keys": "Ver claves del servidor",
|
||
"generate_config": "Generar configuración de cliente",
|
||
"server_settings": "Configurar ajustes",
|
||
"greeting_morning": "Buenos días, {name}",
|
||
"greeting_afternoon": "Buenas tardes, {name}",
|
||
"greeting_evening": "Buenas noches, {name}",
|
||
"greeting_night": "Buenas noches, {name}",
|
||
"health_overview": "Resumen de estado",
|
||
"devices_online": "Dispositivos en línea",
|
||
"active_alerts": "Alertas activas",
|
||
"recent_connections": "Dispositivos totales",
|
||
"server_uptime": "Tiempo de actividad del servidor",
|
||
"activity_feed": "Actividad reciente",
|
||
"no_recent_activity": "No hay actividad reciente",
|
||
"just_now": "ahora mismo",
|
||
"ago": "hace",
|
||
"tip_desktop_mode": "Pruebe el modo escritorio para un espacio de trabajo multiventana con widgets de monitorización.",
|
||
"tip_keyboard_shortcuts": "Pulse Ctrl+K en cualquier lugar para abrir la paleta de comandos de búsqueda rápida.",
|
||
"tip_address_book": "Sincronice su libreta de direcciones entre dispositivos iniciando sesión desde el cliente RustDesk.",
|
||
"tip_2fa": "Active la autenticación de dos factores en Ajustes para reforzar la seguridad de la cuenta.",
|
||
"tip_bulk_actions": "Seleccione varios dispositivos y use acciones masivas para gestionarlos a la vez.",
|
||
"tip_theme": "Cambie entre los temas oscuro y claro en los ajustes de la barra lateral.",
|
||
"tip_cdap": "Conecte dispositivos IoT y sensores industriales mediante la pasarela CDAP.",
|
||
"tip_tutorials": "Haga clic en el botón de ayuda de la esquina inferior derecha para ver tutoriales interactivos.",
|
||
"client_config_eyebrow": "Configuración del cliente",
|
||
"client_config_title": "Configuración del cliente RustDesk",
|
||
"client_config_subtitle": "Use estos valores en RustDesk para conectar los clientes a este servidor BetterDesk.",
|
||
"copy_all_config": "Copiar todo",
|
||
"show_config_qr": "Mostrar QR",
|
||
"config_server_id": "Servidor ID",
|
||
"config_relay_server": "Servidor relay",
|
||
"config_api_server": "Servidor API",
|
||
"config_key": "Clave",
|
||
"client_config_hint": "Introduzca estos valores en la configuración de red de RustDesk, en la sección de servidor ID/relay.",
|
||
"open_generator": "Generador de cliente",
|
||
"open_keys": "Abrir claves",
|
||
"open_remote": "Abrir la consola de escritorio remoto",
|
||
"attention_panel": "Requiere atención",
|
||
"system_ready": "Sistema listo",
|
||
"system_attention": "Requiere atención",
|
||
"config_not_ready": "La configuración del cliente aún no está lista.",
|
||
"client_config_qr_title": "QR de configuración de RustDesk",
|
||
"client_config_qr_hint": "Escanee este código desde un cliente RustDesk compatible con códigos QR de configuración.",
|
||
"client_server_host_label": "Dirección del servidor para clientes",
|
||
"client_server_host_placeholder": "p. ej. 203.0.113.10 o desk.example.com",
|
||
"client_server_host_hint": "Dirección que usan los clientes RustDesk para llegar a este servidor. Cámbiela cuando la URL del panel difiera de la IP/DNS del cliente. Para dominios separados: Ajustes → Endpoints públicos del cliente.",
|
||
"apply_client_host": "Aplicar",
|
||
"copy_deploy_string": "Copiar cadena de despliegue",
|
||
"show_intune_script": "Script Intune / PSADT",
|
||
"intune_script_title": "Fragmento de despliegue en Windows",
|
||
"intune_script_hint": "Ejecútelo como administrador tras finalizar el MSI de RustDesk. Usa la misma cadena que Copiar cadena de despliegue.",
|
||
"deploy_string_not_ready": "La cadena de despliegue no está disponible hasta que se cargue la clave pública del servidor.",
|
||
"client_server_host_env_hint": "Los endpoints públicos de ID, relay y API están en Ajustes → Endpoints públicos del cliente. Bórrelos allí para volver a usar este campo."
|
||
},
|
||
"devices": {
|
||
"title": "Panel",
|
||
"id": "ID",
|
||
"hostname": "Nombre de host",
|
||
"username": "Nombre de usuario",
|
||
"platform": "Plataforma",
|
||
"version": "Versión",
|
||
"ip_address": "Dirección IP",
|
||
"note": "Nota",
|
||
"last_seen": "Visto por última vez",
|
||
"last_online": "Last Online",
|
||
"first_seen": "First Seen",
|
||
"created": "Creado",
|
||
"status": "Estado",
|
||
"ban_reason": "Motivo del bloqueo",
|
||
"actions": "Acciones",
|
||
"search_placeholder": "Buscar dispositivos...",
|
||
"filter_all": "Todos",
|
||
"filter_online": "En línea",
|
||
"filter_offline": "Sin conexión",
|
||
"filter_banned": "Bloqueados",
|
||
"selected": "selected",
|
||
"showing": "Showing",
|
||
"of": "of",
|
||
"sync_status": "Estado de sincronización",
|
||
"sync_success": "Estado sincronizado correctamente",
|
||
"empty_title": "No se encontraron dispositivos",
|
||
"empty_text": "Ningún dispositivo coincide con sus filtros actuales",
|
||
"edit_title": "Detalles del dispositivo",
|
||
"delete_title": "Eliminar usuario",
|
||
"delete_confirm": "¿Está seguro de que desea eliminar el dispositivo {id}?",
|
||
"delete_reserved_hint": "El dispositivo se ocultará y su ID permanecerá reservada. Seleccione la eliminación permanente para liberar el ID y reutilizarlo.",
|
||
"delete_warning": "Esta acción elimina el dispositivo de la consola.",
|
||
"delete_permanent": "Esta acción no se puede deshacer. Todos los datos asociados a este dispositivo se eliminarán permanentemente de la base de datos.",
|
||
"delete_success": "Dispositivo eliminado correctamente",
|
||
"revoke_option": "Revocar dispositivo",
|
||
"revoke_hint": "Bloquear dispositivo y desconectar conexiones activas",
|
||
"revoke_success": "Dispositivo revocado correctamente",
|
||
"details": "Detalles del dispositivo",
|
||
"ban_title": "Bloquear dispositivo",
|
||
"ban_confirm": "¿Seguro que quieres bloquear el dispositivo {id}?",
|
||
"ban_success": "Dispositivo bloqueado correctamente",
|
||
"unban_title": "Desbloquear dispositivo",
|
||
"unban_confirm": "¿Está seguro de que desea desbloquear el dispositivo {id}?",
|
||
"unban_success": "Dispositivo desbloqueado correctamente",
|
||
"change_id": "Cambiar ID",
|
||
"change_id_title": "Cambiar ID del dispositivo",
|
||
"new_id": "Nuevo ID",
|
||
"change_id_hint": "6-16 caracteres, solo letras, números, guiones y guiones bajos",
|
||
"change_id_online_warn": "El dispositivo está en línea. Prefiera cambiar el ID en el cliente RustDesk. Un cambio en el panel conserva la identidad del dispositivo, pero el cliente debe adoptar el nuevo ID.",
|
||
"change_id_success": "ID del dispositivo cambiado correctamente",
|
||
"id_length_error": "El ID debe tener entre 6 y 16 caracteres",
|
||
"id_format_error": "El ID solo puede contener letras, números, guiones y guiones bajos",
|
||
"bulk_delete_title": "Eliminar múltiples dispositivos",
|
||
"bulk_delete_confirm": "¿Está seguro de que desea eliminar {count} dispositivos?",
|
||
"bulk_delete_success": "{count} dispositivos eliminados correctamente",
|
||
"columns": "Columnas",
|
||
"toggle_columns": "Alternar columnas visibles",
|
||
"not_found": "No encontrado",
|
||
"delete_failed": "No se pudo eliminar el dispositivo",
|
||
"change_id_failed": "No se pudo cambiar el ID del dispositivo",
|
||
"invalid_id": "ID de dispositivo no válido",
|
||
"invalid_id_format": "Formato de ID no válido",
|
||
"id_exists": "Este ID de dispositivo ya existe",
|
||
"id_reserved_deleted": "Este ID pertenece a un dispositivo eliminado. Restáurelo o elimínelo permanentemente para liberar el ID.",
|
||
"show_deleted": "Mostrar dispositivos eliminados",
|
||
"deleted_badge": "Eliminado",
|
||
"restore_title": "Restaurar dispositivo",
|
||
"restore_confirm": "¿Restaurar el dispositivo {id}? Volverá a ser visible y podrá reconectarse con la misma identidad.",
|
||
"restore_success": "Dispositivo restaurado correctamente",
|
||
"restore_action": "Restaurar",
|
||
"permanent_delete_title": "Eliminar dispositivo permanentemente",
|
||
"permanent_delete_confirm": "¿Eliminar permanentemente el dispositivo {id}? Libera su ID y no se puede deshacer.",
|
||
"permanent_delete_success": "Dispositivo eliminado permanentemente",
|
||
"filter_deleted": "Eliminados",
|
||
"no_selection": "No hay dispositivos seleccionados",
|
||
"device_type": "Tipo de dispositivo",
|
||
"filter_type_all": "All Types",
|
||
"filter_type_rustdesk": "RustDesk",
|
||
"filter_type_desktop": "Desktop",
|
||
"filter_type_scada": "SCADA",
|
||
"filter_type_iot": "IoT",
|
||
"filter_type_agent": "Agent",
|
||
"cdap_connected": "CDAP conectado",
|
||
"revoke": "Revocar",
|
||
"access_policy": "Política de acceso",
|
||
"unattended_access": "Acceso no supervisado",
|
||
"enable_unattended": "Habilitar acceso no supervisado",
|
||
"access_password": "Contraseña de acceso",
|
||
"password_configured": "Contraseña configurada",
|
||
"no_password": "Sin contraseña configurada",
|
||
"new_password": "Nueva contraseña",
|
||
"clear_password": "Borrar contraseña",
|
||
"access_schedule": "Horario de acceso",
|
||
"enable_schedule": "Habilitar horario",
|
||
"allowed_days": "Días permitidos",
|
||
"start_time": "Start time",
|
||
"end_time": "End time",
|
||
"timezone": "Timezone",
|
||
"allowed_operators": "Operadores permitidos",
|
||
"all_operators": "Todos los operadores",
|
||
"operators_hint": "Déjalo vacío para permitir acceso a todos los operadores.",
|
||
"last_updated_by": "Última actualización por",
|
||
"access_policy_saved": "Política de acceso guardada",
|
||
"display_name": "Nombre visible",
|
||
"display_name_placeholder": "Introduce un nombre visible...",
|
||
"note_placeholder": "Introduce una nota...",
|
||
"tabs": {
|
||
"overview": "Resumen",
|
||
"hardware": "Hardware",
|
||
"metrics": "Métricas",
|
||
"connections": "Conexiones",
|
||
"audit": "Audit",
|
||
"info": "Información",
|
||
"history": "Historial"
|
||
},
|
||
"hardware": {
|
||
"cpu": "Processor",
|
||
"memory": "Memory",
|
||
"disk": "Disk",
|
||
"os": "Operating System",
|
||
"hostname": "Nombre de host",
|
||
"uptime": "Uptime",
|
||
"load_avg": "Carga media",
|
||
"network": "Red",
|
||
"no_data": "No hay datos de hardware disponibles",
|
||
"title": "Panel",
|
||
"gpu": "Graphics Card"
|
||
},
|
||
"tags": "Tags",
|
||
"filter_by_tags": "Filtrar por etiquetas",
|
||
"no_tags": "No tags",
|
||
"all_groups": "Todos los grupos",
|
||
"create_group": "Crear grupo",
|
||
"manage_groups": "Administrar grupos",
|
||
"group_name": "Nombre del grupo",
|
||
"group_name_placeholder": "p. ej. equipos multimedia",
|
||
"dynamic_group": "Grupo dinámico por etiqueta",
|
||
"dynamic_group_hint": "Los dispositivos con esta etiqueta se unirán automáticamente.",
|
||
"tag_filter": "Tag filter",
|
||
"group_allowed_users": "Usuarios permitidos",
|
||
"group_allowed_users_hint": "Déjalo vacío para que el grupo siga visible para todos los usuarios con permisos de dispositivo.",
|
||
"group_tag_required": "El filtro de etiqueta es obligatorio para grupos dinámicos",
|
||
"group_invalid": "Identificador de grupo no válido",
|
||
"group_not_found": "Grupo no encontrado",
|
||
"group_saved": "Grupo de dispositivos guardado",
|
||
"strategies_title": "Access control strategies",
|
||
"strategies_hint": "Link user groups to device groups and push RustDesk Pro security settings to matching clients.",
|
||
"create_strategy": "Add strategy",
|
||
"edit_strategy": "Edit strategy",
|
||
"delete_strategy": "Delete strategy",
|
||
"delete_strategy_confirm": "Delete strategy {name}?",
|
||
"strategy_name": "Strategy name",
|
||
"strategy_name_required": "Strategy name is required",
|
||
"strategy_user_group": "User group",
|
||
"strategy_device_group": "Device group",
|
||
"strategy_any_user_group": "Any user group",
|
||
"strategy_any_device_group": "Any device group",
|
||
"strategy_enabled": "Enabled",
|
||
"strategy_disabled": "Disabled",
|
||
"strategy_enabled_label": "Strategy enabled",
|
||
"strategy_permissions": "Client security settings",
|
||
"strategy_permissions_hint": "Uses RustDesk advanced-setting keys (Y/N). Leave Default to keep client or strategy inheritance.",
|
||
"strategy_permissions_count": "{count} settings",
|
||
"strategy_perm_default": "Default",
|
||
"strategy_perm_allow": "Allow (Y)",
|
||
"strategy_perm_deny": "Deny (N)",
|
||
"strategy_perm_file_transfer": "File transfer",
|
||
"strategy_perm_disable_clipboard": "Disable clipboard",
|
||
"strategy_perm_enable_clipboard": "Enable clipboard",
|
||
"strategy_perm_audio": "Audio",
|
||
"strategy_perm_tunnel": "TCP tunnel",
|
||
"strategy_perm_camera": "Camera",
|
||
"strategy_perm_restart": "Remote restart",
|
||
"strategy_perm_block_input": "Block user input",
|
||
"strategy_created": "Strategy created",
|
||
"strategy_updated": "Strategy updated",
|
||
"strategy_deleted": "Strategy deleted",
|
||
"strategy_not_found": "Strategy not found",
|
||
"no_strategies": "No access control strategies yet",
|
||
"loading_strategies": "Loading strategies...",
|
||
"groups_saved": "Grupos de dispositivos guardados",
|
||
"group_membership_added": "Añadido al grupo",
|
||
"group_membership_removed": "Eliminado del grupo",
|
||
"no_groups": "Aún no hay grupos",
|
||
"manual_groups": "Grupos manuales",
|
||
"dynamic_memberships": "Membresías dinámicas",
|
||
"group_allowed_user_groups": "Grupos de usuarios permitidos",
|
||
"group_allowed_user_groups_hint": "Los usuarios de los grupos seleccionados podrán acceder a este grupo de dispositivos.",
|
||
"no_user_groups": "Sin grupos de usuarios",
|
||
"edit_group": "Editar grupo",
|
||
"delete_group": "Eliminar grupo",
|
||
"delete_group_confirm": "¿Eliminar el grupo de dispositivos {name}?",
|
||
"group_deleted": "Grupo de dispositivos eliminado",
|
||
"folder_group_readonly": "Los grupos basados en carpetas se administran desde Carpetas.",
|
||
"manage_user_groups": "Administrar grupos de usuarios",
|
||
"restore_failed": "Error al restaurar el dispositivo",
|
||
"no_signal_tooltip": "El cliente contactó la API recientemente, pero no está registrado en el servidor de señal (UDP :21116). Reinicie el cliente tras la migración del servidor.",
|
||
"per_page": "Por página",
|
||
"strategy_assign": "Assign targets",
|
||
"strategy_assign_title": "Assign strategy: {name}",
|
||
"strategy_assign_devices": "Devices",
|
||
"strategy_assign_users": "Users",
|
||
"strategy_assign_groups": "Device groups",
|
||
"strategy_assign_hint": "Select devices, users, or device groups that should use this strategy directly (RustDesk Pro priority: device > user > group).",
|
||
"strategy_assign_saved": "Strategy assignments saved",
|
||
"strategy_assign_counts": "{peers} devices, {users} users, {groups} groups",
|
||
"strategy_assign_none": "No direct assignments"
|
||
},
|
||
"keys": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"public_key": "Clave pública",
|
||
"qr_code": "Código QR",
|
||
"server_info": "Información del servidor",
|
||
"download": "Descargar clave",
|
||
"show_qr": "Mostrar QR",
|
||
"qr_hint": "Escanee este código QR con la aplicación móvil RustDesk",
|
||
"no_key": "No se encontró clave pública",
|
||
"no_key_to_copy": "No hay clave para copiar",
|
||
"no_qr": "Código QR no disponible",
|
||
"download_success": "Archivo de clave descargado",
|
||
"not_found": "No encontrado",
|
||
"api_not_found": "Clave API no encontrada"
|
||
},
|
||
"settings": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"tab_general": "General",
|
||
"tab_server": "Servidor",
|
||
"tab_branding": "Marca",
|
||
"tab_backup": "Copia de seguridad",
|
||
"language": "Idioma",
|
||
"change_password": "Cambiar contraseña",
|
||
"password_desc": "Actualizar la contraseña de su cuenta",
|
||
"current_password": "Contraseña actual",
|
||
"new_password": "New password (leave empty to keep current)",
|
||
"confirm_password": "Confirmar contraseña",
|
||
"save_password": "Actualizar contraseña",
|
||
"password_changed": "Contraseña cambiada correctamente",
|
||
"fill_all_fields": "Por favor, rellene todos los campos",
|
||
"passwords_not_match": "Las contraseñas no coinciden",
|
||
"password_requirements": "Requisitos de contraseña",
|
||
"password_requirements_not_met": "La contraseña no cumple los requisitos",
|
||
"req_length": "Al menos 8 caracteres",
|
||
"req_uppercase": "Al menos una letra mayúscula",
|
||
"req_lowercase": "Al menos una letra minúscula",
|
||
"req_number": "Al menos un número",
|
||
"server_info": "Información del servidor",
|
||
"version": "Versión",
|
||
"database": "Base de datos",
|
||
"uptime": "Uptime",
|
||
"audit_log": "Registro de auditoría",
|
||
"audit_desc": "Actividad reciente de la consola",
|
||
"no_audit_logs": "No se encontraron registros de auditoría",
|
||
"backend_title": "Backend del servidor",
|
||
"backend_desc": "Elija el backend del servidor para la gestión de dispositivos y servicios de señal/relay.",
|
||
"backend_original": "Original",
|
||
"backend_enhanced": "Mejorado",
|
||
"backend_rustdesk_desc": "Servidores de señal y relay estándar de RustDesk (hbbs + hbbr). API HTTP básica con endpoints limitados.",
|
||
"backend_betterdesk_desc": "Servidor mejorado basado en Go con API REST completa, autenticación JWT, lista de bloqueo, etiquetas, eventos WebSocket en tiempo real y registro de auditoría.",
|
||
"backend_feature_signal": "Servidor de señal (registro de ID)",
|
||
"backend_feature_relay": "Servidor relay (retransmisión de conexiones)",
|
||
"backend_feature_basic_api": "API REST básica",
|
||
"backend_feature_full_api": "API REST completa (34+ endpoints)",
|
||
"backend_feature_jwt": "Autenticación JWT y TOTP 2FA",
|
||
"backend_feature_blocklist": "Gestión de lista de bloqueo IP/ID",
|
||
"backend_feature_tags": "Etiquetas y agrupación de dispositivos",
|
||
"backend_feature_audit": "Registro de eventos de auditoría",
|
||
"backend_feature_websocket": "Eventos WebSocket en tiempo real",
|
||
"backend_connection": "Conexión",
|
||
"backend_api_url": "URL de la API",
|
||
"backend_test": "Probar conexión",
|
||
"backend_testing": "Probando...",
|
||
"backend_save": "Aplicar backend",
|
||
"backend_saved": "Backend del servidor cambiado correctamente. Los datos de dispositivos serán gestionados por el nuevo backend.",
|
||
"backend_save_failed": "Error al cambiar el backend del servidor",
|
||
"backend_test_success": "¡Conexión exitosa! El servidor es accesible.",
|
||
"backend_test_failed": "Error de conexión. El servidor no es accesible.",
|
||
"backend_confirm_switch": "¿Está seguro de que desea cambiar el backend del servidor? Esto cambiará la gestión de dispositivos.",
|
||
"backend_unreachable": "No se puede cambiar: el servidor de destino no es accesible. Inicie el servidor primero.",
|
||
"invalid_backend": "Selección de backend no válida. Elija 'rustdesk' o 'betterdesk'.",
|
||
"backend_status_running": "Conectado",
|
||
"backend_status_unreachable": "No accesible",
|
||
"backend_status_error": "Error",
|
||
"backend_status_unknown": "Desconocido",
|
||
"totp_title": "Autenticación de dos factores",
|
||
"totp_desc": "Añada una capa adicional de seguridad con aplicaciones de autenticación TOTP (Google Authenticator, Microsoft Authenticator, Authy, etc.)",
|
||
"totp_enabled": "2FA activado",
|
||
"totp_enabled_desc": "Su cuenta está protegida con autenticación de dos factores.",
|
||
"totp_disabled": "2FA no activado",
|
||
"totp_disabled_desc": "Active la autenticación de dos factores para mayor seguridad de la cuenta.",
|
||
"totp_setup": "Activar 2FA",
|
||
"totp_disable": "Desactivar 2FA",
|
||
"totp_step1": "Instale una aplicación de autenticación en su teléfono",
|
||
"totp_step2": "Escanee el código QR a continuación",
|
||
"totp_step3": "Introduzca el código de 6 dígitos para verificar",
|
||
"totp_manual_key": "Clave manual",
|
||
"totp_enter_code": "Introduzca un código de 6 dígitos",
|
||
"totp_verify_enable": "Verificar y activar",
|
||
"totp_enabled_success": "¡Autenticación de dos factores activada!",
|
||
"totp_recovery_warning": "Guarde estos códigos de recuperación en un lugar seguro. Cada código solo se puede usar una vez. Si pierde el acceso a su aplicación de autenticación, puede usar estos códigos para iniciar sesión.",
|
||
"totp_done": "Listo",
|
||
"totp_disable_warning": "Desactivar la autenticación de dos factores hará que su cuenta sea menos segura. Introduzca su contraseña para confirmar.",
|
||
"totp_disabled_success": "La autenticación de dos factores ha sido desactivada.",
|
||
"tutorials_title": "Tutoriales interactivos",
|
||
"tutorials_desc": "Muestra indicaciones guiadas breves para áreas nuevas o modificadas de la consola.",
|
||
"tutorials_enabled": "Habilitar tutoriales",
|
||
"tutorials_enabled_hint": "Cuando está habilitado, los tutoriales se muestran automáticamente para áreas que aún no completaste.",
|
||
"tutorials_reset_hint": "Borra todo el progreso guardado para que los tutoriales vuelvan a mostrarse.",
|
||
"tutorials_enabled_toast": "Tutoriales habilitados",
|
||
"tutorials_disabled_toast": "Tutoriales deshabilitados",
|
||
"tutorials_reset_toast": "Progreso de tutoriales restablecido",
|
||
"tab_auth": "Autenticación",
|
||
"ldap_title": "LDAP / Active Directory",
|
||
"ldap_desc": "Configura la autenticación externa mediante LDAP o Active Directory. Los usuarios podrán iniciar sesión con sus credenciales de dominio.",
|
||
"ldap_enabled": "Habilitar autenticación LDAP",
|
||
"ldap_enabled_hint": "Cuando está habilitado, los usuarios del directorio pueden iniciar sesión con credenciales LDAP/AD. Cada cuenta está vinculada a un proveedor (local, LDAP u OIDC): las contraseñas locales no se aceptan en cuentas LDAP.",
|
||
"ldap_connection": "Conexión del servidor",
|
||
"ldap_host": "Servidor",
|
||
"ldap_port": "Puerto",
|
||
"ldap_use_tls": "LDAPS (TLS)",
|
||
"ldap_start_tls": "StartTLS",
|
||
"ldap_skip_verify": "Omitir verificación TLS",
|
||
"ldap_timeout": "Tiempo de espera de conexión (s)",
|
||
"ldap_timeout_hint": "Segundos de espera para la respuesta del servidor LDAP",
|
||
"ldap_bind_mode": "Modo de enlace",
|
||
"ldap_direct_bind": "Enlace directo",
|
||
"ldap_direct_bind_hint": "Enlazar directamente con una plantilla DN en lugar de usar una cuenta de servicio para buscar.",
|
||
"ldap_bind_dn": "DN de enlace (cuenta de servicio)",
|
||
"ldap_bind_dn_hint": "Nombre distinguido de una cuenta de servicio de solo lectura usada para buscar usuarios.",
|
||
"ldap_bind_password": "Contraseña de enlace",
|
||
"ldap_base_dn": "DN base",
|
||
"ldap_base_dn_hint": "Base de búsqueda para encontrar usuarios, p. ej. dc=example,dc=com",
|
||
"ldap_user_filter": "Filtro de usuario",
|
||
"ldap_user_filter_hint": "Filtro LDAP para encontrar usuarios. Usa {{username}} como marcador. Predeterminado: (sAMAccountName={{username}})",
|
||
"ldap_direct_bind_dn": "Plantilla DN para enlace directo",
|
||
"ldap_direct_bind_dn_hint": "Plantilla DN para enlace directo. Usa {{username}} como marcador, p. ej. uid={{username}},ou=users,dc=example,dc=com",
|
||
"ldap_user_attrs": "Atributos de usuario",
|
||
"ldap_attr_id": "Atributo de nombre de usuario",
|
||
"ldap_attr_email": "Atributo de correo electrónico",
|
||
"ldap_attr_name": "Atributo de nombre visible",
|
||
"ldap_group_mapping": "Asignación grupo → rol",
|
||
"ldap_group_base_dn": "DN base de grupos",
|
||
"ldap_group_base_dn_hint": "Déjalo vacío para usar el DN base principal",
|
||
"ldap_group_filter": "Filtro de grupos",
|
||
"ldap_group_attr_name": "Atributo de nombre de grupo",
|
||
"ldap_default_role": "Rol predeterminado",
|
||
"ldap_default_role_hint": "Rol asignado a usuarios cuyos grupos LDAP no coinciden con ninguna asignación",
|
||
"ldap_role_viewer": "Visualizador",
|
||
"ldap_role_operator": "Operador",
|
||
"ldap_role_admin": "Administrador",
|
||
"ldap_group_role_map": "Mapa grupo → rol",
|
||
"ldap_group_role_map_hint": "Asigna grupos LDAP a roles de BetterDesk. Formato: GroupDN=rol separado por | (pipe). Ejemplo: CN=Admins,DC=example,DC=com=admin|CN=Ops,DC=example,DC=com=operator",
|
||
"ldap_test_connection": "Probar conexión",
|
||
"ldap_testing": "Probando...",
|
||
"ldap_test_success": "¡Conexión correcta! El servidor LDAP es accesible y las credenciales de enlace son válidas.",
|
||
"ldap_test_failed": "La conexión falló",
|
||
"ldap_save": "Guardar configuración LDAP",
|
||
"ldap_saved": "Configuración LDAP guardada correctamente",
|
||
"oidc_title": "OIDC / OAuth2 (SSO)",
|
||
"oidc_desc": "Configura el inicio de sesión único mediante un proveedor OpenID Connect (Azure AD, Okta, Google, Keycloak, etc.).",
|
||
"oidc_enabled": "Habilitar autenticación OIDC",
|
||
"oidc_enabled_hint": "Permitir que los usuarios inicien sesión con un proveedor de identidad externo",
|
||
"oidc_provider": "Proveedor de identidad",
|
||
"oidc_display_name": "Nombre visible del botón",
|
||
"oidc_display_name_hint": "Texto mostrado en el botón de inicio de sesión (p. ej. Azure AD, Okta)",
|
||
"oidc_issuer_url": "URL del emisor",
|
||
"oidc_issuer_url_hint": "URL del emisor OpenID Connect (la detección se realiza automáticamente)",
|
||
"oidc_client_id": "ID de cliente",
|
||
"oidc_client_secret": "Secreto de cliente",
|
||
"oidc_redirect_url": "URL de redirección (callback)",
|
||
"oidc_redirect_url_hint": "Debe coincidir exactamente con la configuración de tu IdP. Normalmente: http(s)://tu-servidor:21114/api/auth/oidc/callback",
|
||
"oidc_panel_url": "URL del panel",
|
||
"oidc_panel_url_hint": "URL que usan los operadores para abrir la consola web (puerto 5000 o nombre de host del proxy inverso). Requerida para el inicio de sesión SSO cuando la devolución de llamada OIDC se ejecuta en el puerto de la API Go.",
|
||
"oidc_scopes": "Ámbitos",
|
||
"oidc_use_pkce": "Usar PKCE (recomendado)",
|
||
"oidc_auto_discovery": "Detección automática",
|
||
"oidc_allow_signup": "Crear usuarios automáticamente",
|
||
"oidc_manual_endpoints": "URLs de endpoints manuales",
|
||
"oidc_authorization_url": "Endpoint de autorización",
|
||
"oidc_token_url": "Endpoint de token",
|
||
"oidc_userinfo_url": "Endpoint UserInfo",
|
||
"oidc_claim_mapping": "Asignación de claims",
|
||
"oidc_claim_username": "Claim de nombre de usuario",
|
||
"oidc_claim_email": "Claim de correo electrónico",
|
||
"oidc_claim_name": "Claim de nombre visible",
|
||
"oidc_claim_groups": "Claim de grupos",
|
||
"oidc_role_mapping": "Asignación de roles",
|
||
"oidc_default_role": "Rol predeterminado",
|
||
"oidc_group_role_map": "Asignación grupo → rol",
|
||
"oidc_group_role_map_hint": "Una asignación por línea: nombre_grupo=rol (p. ej. admins=admin, operators=operator)",
|
||
"oidc_test_discovery": "Probar detección",
|
||
"oidc_testing": "Probando...",
|
||
"oidc_test_success": "¡Detección correcta! Endpoints resueltos.",
|
||
"oidc_test_failed": "La detección falló",
|
||
"oidc_issuer_required": "La URL del emisor es obligatoria para probar la detección",
|
||
"oidc_save": "Guardar configuración OIDC",
|
||
"oidc_saved": "Configuración OIDC guardada correctamente",
|
||
"tab_advanced": "Avanzado",
|
||
"connection_mode_title": "Estrategia de conexión",
|
||
"connection_mode_desc": "Controla cómo se conectan los clientes de escritorio RustDesk: P2P directo (hole punch) cuando sea posible, o siempre a través de retransmisión.",
|
||
"connection_mode_label": "Modo de conexión predeterminado",
|
||
"connection_mode_p2p_first": "P2P primero (recomendado) — intentar conexión directa, usar retransmisión como alternativa",
|
||
"connection_mode_relay_only": "Solo retransmisión — todas las sesiones usan el servidor de retransmisión",
|
||
"connection_mode_advanced": "Opciones avanzadas",
|
||
"connection_mode_fallback_ms": "Tiempo de espera de fallback P2P (ms)",
|
||
"connection_mode_same_nat_relay": "Forzar retransmisión cuando ambos pares comparten la misma IP pública (NAT hairpin)",
|
||
"connection_mode_network_hint": "P2P requiere que el puerto UDP 21116 sea accesible entre los clientes. Signal TCP 21116, relay TCP 21117, NAT test 21115 deben estar abiertos en el servidor. Los clientes de navegador web siempre usan retransmisión.",
|
||
"connection_mode_save": "Guardar",
|
||
"connection_mode_save_restart": "Guardar y reiniciar servidor",
|
||
"connection_mode_saved": "Modo de conexión guardado",
|
||
"connection_mode_restart_started": "Reinicio del servidor iniciado",
|
||
"connection_mode_restart_failed": "Error al reiniciar el servidor",
|
||
"connection_mode_not_configurable": "El modo de conexión no se puede cambiar en este despliegue (no se encontró unidad systemd ni docker-compose)",
|
||
"connection_mode_compose_error": "No se pudo encontrar la sección de entorno del servidor en docker-compose.yml",
|
||
"connection_mode_source_saved": "Guardado en",
|
||
"connection_mode_source_defaults": "Usando valores predeterminados del servidor (no modificables desde el panel)",
|
||
"connection_mode_runtime": "Servidor activo",
|
||
"advanced_title": "Archivos de configuración",
|
||
"advanced_desc": "Edita los archivos de configuración del servidor directamente. Los cambios pueden requerir reiniciar los servicios. Se crea una copia de seguridad antes de cada guardado.",
|
||
"advanced_warning": "Estos archivos contienen secretos (claves API, contraseñas de base de datos, secretos de sesión). Edita solo si sabes lo que estás haciendo. Una sintaxis incorrecta puede impedir que el servidor arranque.",
|
||
"advanced_files_label": "Archivos",
|
||
"advanced_select_file": "Selecciona un archivo de la lista para ver o editar su contenido.",
|
||
"advanced_reload": "Recargar",
|
||
"advanced_save": "Guardar archivo",
|
||
"advanced_apply_restart": "Aplicar (reiniciar servicio)",
|
||
"advanced_saved": "Archivo de configuración guardado",
|
||
"advanced_restart_after_save": "Configuración guardada. ¿Reiniciar el servicio afectado ahora para que los cambios surtan efecto?",
|
||
"advanced_restart_confirm": "¿Reiniciar el(los) servicio(s) BetterDesk relacionado(s)? Las conexiones activas pueden interrumpirse brevemente.",
|
||
"advanced_restart_console_confirm": "¿Reiniciar el servicio de consola web? La sesión del navegador se desconectará brevemente y la página se recargará cuando la consola vuelva.",
|
||
"advanced_restart_started": "Reinicio del servicio iniciado",
|
||
"advanced_restart_done": "Consola reiniciada — recargando página…",
|
||
"advanced_restart_polling": "Esperando que la consola vuelva a estar en línea…",
|
||
"advanced_restart_timeout": "Se envió el reinicio pero la consola no respondió a tiempo. Revisa los registros de systemd/NSSM y recarga manualmente.",
|
||
"advanced_restart_failed": "Error al reiniciar el servicio (privilegios insuficientes o servicio no instalado)",
|
||
"advanced_save_confirm": "¿Guardar cambios en este archivo? Se creará una copia de seguridad de la versión anterior.",
|
||
"advanced_unsaved_confirm": "Tienes cambios sin guardar. ¿Descartarlos?",
|
||
"advanced_no_files": "No hay archivos de configuración disponibles en este sistema.",
|
||
"advanced_readonly": "solo lectura",
|
||
"advanced_missing": "faltante",
|
||
"advanced_new_file": "Nuevo archivo (no se crea hasta que guardes)",
|
||
"advanced_new_file_hint": "Nuevo archivo — agrega contenido y guarda",
|
||
"advanced_backup_created": "copia de seguridad creada",
|
||
"advanced_restart_console": "Reinicia el servicio de consola web (p. ej. systemctl restart betterdesk-console) para que los cambios en .env surtan efecto.",
|
||
"advanced_restart_goserver": "Reinicia el servidor Go de BetterDesk para que se carguen los cambios en la lista de bloqueo.",
|
||
"advanced_restart_systemd": "Después de editar las unidades de systemd, ejecuta: systemctl daemon-reload && systemctl restart <service>",
|
||
"advanced_restart_generic": "Reinicia el servicio afectado para que los cambios surtan efecto.",
|
||
"advanced_error_unknown": "Archivo de configuración desconocido",
|
||
"advanced_error_not_found": "El archivo no existe",
|
||
"advanced_error_not_file": "La ruta no es un archivo regular",
|
||
"advanced_error_too_large": "El archivo excede el tamaño máximo editable (512 KB)",
|
||
"advanced_error_binary": "Los archivos binarios no se pueden editar en el panel",
|
||
"advanced_error_invalid": "Contenido de archivo no válido",
|
||
"advanced_error_not_writable": "El archivo no es escribible por el proceso de consola",
|
||
"advanced_file_console-env": "Entorno de la consola (.env)",
|
||
"advanced_file_console-env-local": "Anulaciones de la consola (.env.local)",
|
||
"advanced_file_go-blocklist": "Lista de bloqueo del servidor Go (blocklist.txt)",
|
||
"advanced_file_systemd-console": "systemd: betterdesk-console (unidad de servicio)",
|
||
"advanced_file_systemd-server": "systemd: betterdesk-server (unidad de servicio)",
|
||
"advanced_file_console-session-secret": "Secreto de sesión de la consola (.session_secret)",
|
||
"advanced_file_go-audit-log": "Registro de auditoría del servidor Go (audit.jsonl)",
|
||
"advanced_file_build-env": "Entorno de compilación del agente (/etc/betterdesk/build.env)",
|
||
"advanced_file_docker-supervisord": "Docker: supervisord.conf (configuración del supervisor)",
|
||
"advanced_file_docker-compose": "Docker: docker-compose.yml (orquestación)",
|
||
"advanced_restart_none": "No se requiere reinicio del servicio para este archivo.",
|
||
"enrollment_title": "Inscripción de dispositivo (RustDesk)",
|
||
"enrollment_desc": "Controla cómo se registran los nuevos clientes RustDesk y cómo los operadores los aprueban en la página de solicitudes de inscripción.",
|
||
"enrollment_require_approval": "Requiere aprobación del operador (modo administrado)",
|
||
"enrollment_require_approval_hint": "Cuando está habilitado, los clientes desconocidos se ponen en cola hasta que un operador los aprueba en Solicitudes de inscripción.",
|
||
"enrollment_rich_approve": "Formulario de aprobación completo (nombre, carpeta, grupos, etiquetas)",
|
||
"enrollment_rich_approve_hint": "Muestra un diálogo detallado al aprobar solicitudes de inscripción o registro LAN.",
|
||
"enrollment_tag_picker": "Elegir etiquetas de las etiquetas de dispositivos existentes",
|
||
"enrollment_tag_picker_hint": "Permite a los operadores seleccionar etiquetas de la lista usada en la página de Dispositivos en lugar de solo escribirlas.",
|
||
"enrollment_open_requests": "Solicitudes de inscripción abiertas",
|
||
"enrollment_pending_count": "{count} solicitud(es) de inscripción pendiente(s)",
|
||
"go_server_version": "Servidor Go",
|
||
"go_server_version_dev_hint": "El binario Go informa compilación de desarrollo — recompile o actualice el servidor para igualar la versión del producto",
|
||
"tab_email": "Correo",
|
||
"email": {
|
||
"title": "Notificaciones por correo",
|
||
"desc": "Configure SMTP para notificaciones operativas y correos de alerta del sistema.",
|
||
"smtp_host": "Servidor SMTP",
|
||
"smtp_port": "Puerto",
|
||
"smtp_secure": "Usar TLS/SSL",
|
||
"smtp_user": "Usuario",
|
||
"smtp_pass": "Contraseña",
|
||
"smtp_from": "Dirección de remitente",
|
||
"alert_email": "Correo de alerta",
|
||
"alert_email_hint": "Dirección de respaldo cuando no hay correo del operador, y para avisos del sistema.",
|
||
"smtp_test": "Probar conexión",
|
||
"smtp_save": "Guardar configuración",
|
||
"smtp_saved": "Ajustes de correo guardados",
|
||
"smtp_test_success": "Conexión correcta",
|
||
"smtp_test_failed": "Error de conexión"
|
||
},
|
||
"ui": {
|
||
"search_placeholder": "Search settings…",
|
||
"search_results": "{count} matching sections",
|
||
"auth_sub_enrollment": "Enrollment",
|
||
"auth_sub_ldap": "LDAP / AD",
|
||
"auth_sub_oidc": "OIDC / SSO",
|
||
"branding_rdclient": "RdClient",
|
||
"connection_p2p_hint": "Try direct peer connection first; fall back to relay when P2P fails.",
|
||
"connection_relay_hint": "Route all client traffic through the relay server.",
|
||
"auth_sub_client_sessions": "Clientes RustDesk"
|
||
},
|
||
"confirm": {
|
||
"connection_mode_title": "Save connection strategy?",
|
||
"connection_mode": "Apply the new connection strategy for RustDesk clients?",
|
||
"connection_restart_title": "Save and restart server?",
|
||
"connection_restart": "Save connection settings and restart the BetterDesk server? Active sessions may disconnect briefly.",
|
||
"enrollment_mode_title": "Change enrollment mode?",
|
||
"enrollment_mode": "Switch enrollment to “{mode}”? This affects how new RustDesk clients can register.",
|
||
"ldap_enable_title": "Enable LDAP?",
|
||
"ldap_enable": "Enable LDAP / Active Directory sign-in? Console users may authenticate against your directory.",
|
||
"ldap_save_title": "Save LDAP settings?",
|
||
"ldap_save": "Save LDAP configuration? Incorrect settings can block directory sign-in.",
|
||
"oidc_enable_title": "Enable SSO?",
|
||
"oidc_enable": "Enable OIDC / SSO sign-in? Users may authenticate through your identity provider.",
|
||
"oidc_save_title": "Save SSO settings?",
|
||
"oidc_save": "Save OIDC / SSO configuration? Incorrect settings can block SSO sign-in.",
|
||
"smtp_save_title": "Save SMTP settings?",
|
||
"smtp_save": "Save SMTP configuration? Alert emails and notifications will use this mail server.",
|
||
"backup_restore_title": "Restore backup?",
|
||
"backup_restore": "Restore from this backup file? Selected data will be overwritten.",
|
||
"tutorials_reset_title": "Reset tutorials?",
|
||
"tutorials_reset": "Reset all tutorial progress? Guided tips will show again on each page.",
|
||
"advanced_save_title": "Save configuration file?",
|
||
"advanced_restart_after_title": "Restart service?",
|
||
"advanced_restart_title": "Restart service?",
|
||
"advanced_discard_title": "Discard changes?"
|
||
},
|
||
"public_endpoints_title": "Endpoints públicos del cliente",
|
||
"public_endpoints_desc": "Hostname y URL API que usan los clientes RustDesk. Para configuración del dashboard, códigos QR y cadenas de despliegue.",
|
||
"public_endpoints_hint": "Configúrelos cuando el hostname de la consola difiera del ID/relay/API (proxy inverso / DNS separado). Vacío = autodetección.",
|
||
"public_endpoints_server_id": "Servidor ID público",
|
||
"public_endpoints_server_id_placeholder": "p. ej. remote.example.com",
|
||
"public_endpoints_relay": "Servidor relay público",
|
||
"public_endpoints_relay_placeholder": "p. ej. remote.example.com (predeterminado: ID)",
|
||
"public_endpoints_api_url": "URL API pública",
|
||
"public_endpoints_api_url_placeholder": "p. ej. https://api.example.com",
|
||
"public_endpoints_api_url_hint": "URL completa para login y API de RustDesk (puerto 21114 por defecto).",
|
||
"public_endpoints_save": "Guardar endpoints",
|
||
"public_endpoints_saved": "Endpoints públicos del cliente guardados",
|
||
"public_endpoints_invalid_host": "Hostname ID o relay no válido",
|
||
"public_endpoints_invalid_api_url": "URL API no válida — use http:// o https://",
|
||
"public_endpoints_save_title": "¿Guardar endpoints públicos del cliente?",
|
||
"public_endpoints_save_confirm": "¿Actualizar valores de configuración RustDesk en el dashboard?",
|
||
"device_scope_title": "Device visibility default",
|
||
"device_scope_desc": "Controls what non-admin users see when no folder, group, or direct device grants exist.",
|
||
"device_scope_open": "Open (legacy) — show all devices until ACL is configured",
|
||
"device_scope_restricted": "Restricted — show only explicitly granted devices",
|
||
"device_scope_save": "Save visibility default",
|
||
"device_scope_saved": "Device visibility default saved",
|
||
"device_scope_invalid": "Invalid visibility mode",
|
||
"device_scope_restricted_warning": "Restricted mode is active. Ensure users have folder, group, or direct device grants or they will see an empty device list.",
|
||
"client_sessions_title": "Sesiones de cliente RustDesk",
|
||
"client_sessions_desc": "Controla cuánto tiempo permanecen conectadas las apps de RustDesk a tu cuenta BetterDesk.",
|
||
"client_sessions_expiry_days": "Duración de sesión (días)",
|
||
"client_sessions_expiry_hint": "El valor predeterminado es 7 días. Sin renovación deslizante, los clientes deben iniciar sesión de nuevo.",
|
||
"client_sessions_sliding": "Extender sesión con actividad",
|
||
"client_sessions_sliding_hint": "Mientras el cliente está en uso, la sesión se renueva hasta el máximo indicado abajo.",
|
||
"client_sessions_max_days": "Duración máxima de sesión (días)",
|
||
"client_sessions_max_days_hint": "Límite superior de renovación desde el primer inicio de sesión (predeterminado 30 días).",
|
||
"client_sessions_save": "Guardar ajustes de sesión",
|
||
"enrollment_ldap_hint": "La configuración LDAP/AD y OIDC está en las pestañas LDAP / AD y OIDC / SSO de arriba."
|
||
},
|
||
"audit": {
|
||
"time": "Hora",
|
||
"user": "Usuario",
|
||
"action": "Acción",
|
||
"details": "Detalles del dispositivo",
|
||
"action_login": "Login",
|
||
"action_login_failed": "Inicio de sesión fallido",
|
||
"action_logout": "Logout",
|
||
"action_password_change": "Contraseña cambiada",
|
||
"action_2fa_enable": "2FA habilitado",
|
||
"action_2fa_disable": "2FA deshabilitado",
|
||
"action_user_create": "Usuario creado",
|
||
"action_user_update": "Usuario actualizado",
|
||
"action_user_delete": "Usuario eliminado",
|
||
"action_settings_update": "Configuración actualizada",
|
||
"action_device_ban": "Dispositivo bloqueado",
|
||
"action_device_unban": "Bloqueo de dispositivo eliminado",
|
||
"action_device_delete": "Dispositivo eliminado"
|
||
},
|
||
"generator": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"alpha_badge": "ALPHA",
|
||
"alpha_tooltip": "Función temprana — el generador de paquetes de agente está en desarrollo activo.",
|
||
"config_options": "Opciones de configuración",
|
||
"server_address": "Dirección del servidor",
|
||
"server_address_hint": "Dominio o dirección IP de su servidor",
|
||
"custom_port": "Puerto personalizado",
|
||
"port_hint": "Dejar vacío para el predeterminado (21116)",
|
||
"relay_server": "Servidor relay",
|
||
"relay_placeholder": "Igual que el servidor ID si está vacío",
|
||
"relay_hint": "Opcional: dirección de servidor relay separada",
|
||
"include_key": "Incluir clave pública en la configuración",
|
||
"generate": "Generar configuración",
|
||
"output": "Resultado de configuración",
|
||
"usage_title": "Detalles de conexión",
|
||
"generated": "Configuración generada",
|
||
"server_required": "La dirección del servidor es obligatoria",
|
||
"nothing_to_copy": "Genere primero una configuración",
|
||
"bundles_title": "Paquetes del agente",
|
||
"new_bundle": "Nuevo paquete",
|
||
"editor_title": "Editor de paquetes",
|
||
"empty_state": "Selecciona un paquete a la izquierda o crea uno nuevo para empezar.",
|
||
"loading": "Cargando…",
|
||
"no_bundles": "Aún no hay paquetes. Crea tu primer paquete.",
|
||
"bundle_name": "Nombre del paquete",
|
||
"bundle_name_hint": "Solo una etiqueta interna; no se muestra a los usuarios finales.",
|
||
"short_link": "Enlace de descarga corto",
|
||
"short_link_hint": "Se usa en la URL pública (/d/…). Solo letras minúsculas, números y guiones (2–32 caracteres). Se rellena automáticamente desde el nombre del paquete — acórtelo para compartirlo más fácilmente (p. ej. acme).",
|
||
"branding_section": "Marca",
|
||
"company_name": "Nombre de empresa/marca",
|
||
"short_text": "Descripción corta",
|
||
"contact_email": "Correo de contacto",
|
||
"contact_phone": "Teléfono de contacto",
|
||
"contact_url": "Sitio web de contacto",
|
||
"logo": "Logotipo",
|
||
"logo_hint": "PNG, JPEG, SVG o WebP. Máximo 256 KB.",
|
||
"logo_clear": "Quitar logotipo",
|
||
"primary_color": "Color principal",
|
||
"accent_color": "Color de cabecera",
|
||
"default_lang": "Idioma predeterminado",
|
||
"allow_unattended": "Permitir acceso no supervisado",
|
||
"allow_unattended_hint": "Cuando está habilitado, el agente muestra una contraseña persistente para acceso de operadores.",
|
||
"save": "Guardar paquete",
|
||
"revoke": "Revocar",
|
||
"unrevoke": "Reactivar",
|
||
"revoked": "Revocado",
|
||
"preview_title": "Vista previa en vivo",
|
||
"preview_hint": "Aspecto aproximado de la ventana del agente para usuarios finales.",
|
||
"preview_default_name": "Soporte BetterDesk",
|
||
"preview_status_ready": "Listo",
|
||
"preview_id": "Tu ID",
|
||
"preview_password": "Contraseña",
|
||
"preview_chat": "Chatear con soporte",
|
||
"preview_settings": "Configuración (solo admin)",
|
||
"preview_quit": "Salir (solo admin)",
|
||
"download_link_title": "Enlace de descarga",
|
||
"download_link_hint": "Comparte este enlace con usuarios finales. Verán una página de descarga con tu marca. Los enlaces hex antiguos siguen funcionando después de cambiar el enlace corto.",
|
||
"open_portal": "Abrir",
|
||
"created": "Paquete creado",
|
||
"saved": "Paquete guardado",
|
||
"deleted": "Paquete eliminado",
|
||
"revoked_ok": "Paquete revocado",
|
||
"unrevoked_ok": "Paquete reactivado",
|
||
"link_copied": "Enlace copiado al portapapeles",
|
||
"copy_failed": "La copia automática falló; cópialo manualmente",
|
||
"unsaved_confirm": "¿Descartar los cambios no guardados?",
|
||
"confirm_revoke": "¿Revocar este paquete? El enlace de descarga dejará de funcionar.",
|
||
"confirm_unrevoke": "¿Reactivar este paquete?",
|
||
"confirm_delete": "¿Eliminar este paquete de forma permanente? Esta acción no se puede deshacer.",
|
||
"errors": {
|
||
"validation_failed": "La validación falló",
|
||
"name_required": "El nombre del paquete es obligatorio",
|
||
"company_name_required": "El nombre de la empresa es obligatorio",
|
||
"logo_invalid": "El logotipo debe ser un archivo de imagen válido",
|
||
"logo_too_large": "El logotipo puede tener como máximo 256 KB",
|
||
"logo_read_failed": "No se pudo leer el archivo del logotipo",
|
||
"primary_color_invalid": "El color principal debe ser un valor hexadecimal (p. ej. #2563eb)",
|
||
"accent_color_invalid": "El color de cabecera debe ser un valor hexadecimal (p. ej. #1e293b)",
|
||
"contact_url_invalid": "El sitio web de contacto debe ser una URL válida",
|
||
"rebuild_revoked": "No se puede reconstruir un paquete revocado — vuelva a habilitarlo primero",
|
||
"server_host_invalid": "Ingrese un nombre de dominio o dirección IPv4 válido",
|
||
"server_host_required": "La dirección pública del servidor es obligatoria",
|
||
"token_failed": "No se pudo generar el token de inscripción — compruebe la conectividad del servidor",
|
||
"slug_invalid": "El enlace corto solo puede contener letras minúsculas, números y guiones",
|
||
"slug_too_short": "El enlace corto debe tener al menos 2 caracteres",
|
||
"slug_too_long": "El enlace corto debe tener como máximo 32 caracteres",
|
||
"slug_taken": "Este enlace corto ya lo usa otro paquete"
|
||
},
|
||
"legacy_title": "Generador de configuración del cliente",
|
||
"background_color": "Fondo de ventana",
|
||
"build_error_hint": "Error de compilación",
|
||
"build_status_building": "Compilando",
|
||
"build_status_failed": "Fallido",
|
||
"build_status_pending": "En cola",
|
||
"build_status_ready": "Listo",
|
||
"builds_empty": "Aún no hay compilaciones en cola — guarda el paquete o haz clic en Reconstruir todo.",
|
||
"builds_hint": "Instaladores compilados en este servidor para cada plataforma. Reconstruir después de corregir errores de la cadena de herramientas o actualizar el código fuente del agente.",
|
||
"builds_loading": "Cargando estado de compilación…",
|
||
"builds_summary": "{{ready}} listo · {{pending}} en cola · {{building}} compilando · {{failed}} fallido",
|
||
"builds_title": "Compilaciones de cliente",
|
||
"connection_section": "Conexión al servidor",
|
||
"enrollment_per_device": "Por dispositivo — aprobar en Registros",
|
||
"enrollment_token": "Registro de dispositivo",
|
||
"enrollment_token_hint": "Cada instalación se registra por sí sola. Aprueba nuevos dispositivos en el panel de Registros; el servidor emite entonces una clave de acceso única por ordenador.",
|
||
"enrollment_token_pending": "Por dispositivo tras aprobación",
|
||
"enrollment_token_set": "Por dispositivo — aprobar en Registros",
|
||
"header_text_color": "Color del texto de encabezado",
|
||
"rebuild_all": "Reconstruir todo",
|
||
"rebuild_confirm": "¿Reconstruir todos los instaladores de plataforma para este paquete? Los artefactos listos existentes serán reemplazados.",
|
||
"rebuild_queued": "Todas las compilaciones de plataforma en cola",
|
||
"rebuilding_all": "Poniendo en cola las reconstrucciones…",
|
||
"server_host": "Dirección pública del servidor",
|
||
"server_host_hint": "Nombre de dominio o IP pública donde los usuarios finales acceden a su servidor BetterDesk. El puerto se toma de la configuración de la consola.",
|
||
"server_host_placeholder": "support.example.com o 203.0.113.10",
|
||
"status_ready_color": "Color del indicador de listo",
|
||
"surface_color": "Fondo de tarjeta",
|
||
"text_color": "Color del texto",
|
||
"text_muted_color": "Color de texto atenuado",
|
||
"use_https": "Usar HTTPS / WSS (recomendado)",
|
||
"preview_help": "Solicitar ayuda",
|
||
"rdclient_tab": "RdClient escritorio",
|
||
"rdclient_new_bundle": "Nuevo paquete RdClient",
|
||
"rdclient_subtitle": "Generar instaladores RdClient con URL del panel integrada",
|
||
"rdclient_server_url_hint": "URL pública de la consola BetterDesk (/remote).",
|
||
"agent_client_tab": "Agent Client",
|
||
"agent_client_new_bundle": "New Agent Client bundle",
|
||
"support_agent_tab": "Support Agent",
|
||
"support_agent_new_bundle": "New Support Agent bundle",
|
||
"product_agent_client": "Agent Client",
|
||
"product_support_agent": "Support",
|
||
"product_rdclient": "RdClient"
|
||
},
|
||
"server": {
|
||
"port": "Puerto",
|
||
"api_port": "Puerto API",
|
||
"id_server": "Servidor ID",
|
||
"relay_server": "Servidor relay",
|
||
"api_key": "Clave API"
|
||
},
|
||
"status": {
|
||
"online": "En línea",
|
||
"offline": "Sin conexión",
|
||
"banned": "Bloqueados",
|
||
"running": "En ejecución",
|
||
"stopped": "Detenido",
|
||
"unknown": "Desconocido",
|
||
"checking": "Verificando...",
|
||
"label": "Status",
|
||
"no_signal": "Sin señal"
|
||
},
|
||
"actions": {
|
||
"refresh": "Actualizar",
|
||
"copy": "Copiar",
|
||
"connect": "Conectar",
|
||
"connect_desktop": "Conectar vía cliente de escritorio",
|
||
"remote_viewer": "Visor remoto",
|
||
"web_remote": "Escritorio remoto web",
|
||
"details": "Detalles del dispositivo",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"ban": "Bloquear",
|
||
"unban": "Desbloquear",
|
||
"save": "Guardar",
|
||
"cancel": "Cancelar",
|
||
"confirm": "Confirmar",
|
||
"close": "Cerrar",
|
||
"clear": "Limpiar",
|
||
"ok": "OK",
|
||
"saved": "Guardado",
|
||
"back": "Volver",
|
||
"create": "Crear",
|
||
"dismiss": "Descartar",
|
||
"view_all": "Ver todo",
|
||
"cdap_viewer": "CDAP Snapshot Viewer",
|
||
"add": "Add",
|
||
"remove": "Remove",
|
||
"retry": "Reintentar"
|
||
},
|
||
"time": {
|
||
"just_now": "ahora mismo",
|
||
"seconds_ago": "Hace {count} segundo(s)",
|
||
"minutes_ago": "Hace {count} minuto(s)",
|
||
"hours_ago": "Hace {count} hora(s)",
|
||
"days_ago": "Hace {count} día(s)",
|
||
"day_mon": "Mon",
|
||
"day_tue": "Tue",
|
||
"day_wed": "Wed",
|
||
"day_thu": "Thu",
|
||
"day_fri": "Fri",
|
||
"day_sat": "Sat",
|
||
"day_sun": "Sun"
|
||
},
|
||
"users": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"add_user": "Añadir usuario",
|
||
"edit_user": "Editar usuario",
|
||
"username": "Nombre de usuario",
|
||
"username_placeholder": "Introduzca el nombre de usuario",
|
||
"username_hint": "3-32 caracteres, solo letras, números y guiones bajos",
|
||
"password": "Contraseña",
|
||
"password_placeholder": "Introduzca la contraseña",
|
||
"password_hint": "Mínimo 8 caracteres con mayúsculas, minúsculas, números y símbolos",
|
||
"password_leave_empty": "Dejar vacío para mantener la actual",
|
||
"role": "Rol",
|
||
"role_admin": "Administrador",
|
||
"role_operator": "Remote Operator",
|
||
"role_viewer": "Observador",
|
||
"role_pro": "Pro License (client API only)",
|
||
"role_hint": "Server-wide role. Remote Operators connect remotely and can change their own password. Viewers are read-only (no Web Client). Pro License accounts activate RustDesk Pro via the desktop client API only — no web panel access. Organization roles are configured separately.",
|
||
"created": "Creado",
|
||
"last_login": "Último inicio de sesión",
|
||
"never": "Nunca",
|
||
"actions": "Acciones",
|
||
"create": "Crear",
|
||
"edit": "Editar",
|
||
"reset_password": "Restablecer contraseña",
|
||
"new_password": "New password (leave empty to keep current)",
|
||
"delete_title": "Eliminar usuario",
|
||
"delete_confirm": "¿Está seguro de que desea eliminar el usuario {username}?",
|
||
"delete_success": "Dispositivo eliminado correctamente",
|
||
"user_created": "Usuario creado correctamente",
|
||
"user_updated": "Usuario actualizado correctamente",
|
||
"password_reset_success": "Contraseña restablecida correctamente",
|
||
"empty_title": "No se encontraron dispositivos",
|
||
"empty_text": "Ningún dispositivo coincide con sus filtros actuales",
|
||
"fill_required": "Por favor, rellene todos los campos obligatorios",
|
||
"invalid_username": "El nombre de usuario debe tener 3-32 caracteres, solo letras, números y guiones bajos",
|
||
"username_exists": "El nombre de usuario ya existe",
|
||
"weak_password": "La contraseña es demasiado débil",
|
||
"password_too_short": "La contraseña debe tener al menos 8 caracteres",
|
||
"invalid_role": "Rol no válido",
|
||
"cannot_demote_self": "No puede degradarse a sí mismo",
|
||
"cannot_delete_self": "No puede eliminar su propia cuenta",
|
||
"last_admin": "No se puede eliminar el último administrador",
|
||
"admin_only": "Esta función solo está disponible para administradores",
|
||
"password_required": "La contraseña es obligatoria",
|
||
"not_found": "No encontrado",
|
||
"strength_weak": "Débil",
|
||
"strength_medium": "Media",
|
||
"strength_strong": "Fuerte",
|
||
"security_tips_title": "Buenas prácticas de seguridad",
|
||
"tip_strong_passwords": "Use contraseñas fuertes y únicas para cada usuario",
|
||
"tip_unique_accounts": "Cree cuentas individuales para cada persona",
|
||
"tip_viewer_role": "Use Viewer for read-only monitoring; Remote Operator for users who need to connect",
|
||
"tip_operator_role": "Use operator role for users who need to manage devices but not users",
|
||
"tip_audit_logs": "Revise regularmente los registros de auditoría en busca de actividad sospechosa",
|
||
"role_super_admin": "Super Admin",
|
||
"role_server_admin": "Administrador del servidor",
|
||
"role_global_admin": "Administrador global",
|
||
"organizations": "Organizaciones",
|
||
"user_organizations": "Organizaciones de {username}",
|
||
"no_organizations": "Sin organizaciones",
|
||
"org_removed": "Usuario eliminado de la organización",
|
||
"server_role_label": "Rol del servidor",
|
||
"server_role_hint": "Define qué puede hacer el usuario en toda la consola (acceso al panel, configuración del servidor, auditoría, etc.).",
|
||
"org_membership_section": "Membresía de organización",
|
||
"org_membership_hint": "Un usuario puede pertenecer a varias organizaciones. El rol de organización controla solo los permisos dentro de esa organización y es independiente del rol del servidor anterior.",
|
||
"column_organizations": "Organizaciones",
|
||
"no_orgs_short": "—",
|
||
"org_count_one": "{count} organización",
|
||
"org_count_many": "{count} organizaciones",
|
||
"all_orgs_assigned": "El usuario ya pertenece a todas las organizaciones.",
|
||
"user_groups": "Grupos de usuarios",
|
||
"user_groups_hint": "Los grupos de usuarios pueden conceder acceso a grupos de dispositivos seleccionados.",
|
||
"loading_user_groups": "Cargando grupos de usuarios...",
|
||
"no_user_groups": "No hay grupos de usuarios disponibles",
|
||
"create_user_group": "Crear grupo",
|
||
"edit_user_group": "Editar grupo de usuarios",
|
||
"delete_user_group": "Eliminar grupo de usuarios",
|
||
"delete_user_group_confirm": "¿Eliminar el grupo de usuarios {name}? Los miembros perderán el acceso concedido por este grupo.",
|
||
"user_group_created": "Grupo de usuarios creado",
|
||
"user_group_updated": "Grupo de usuarios actualizado",
|
||
"user_group_deleted": "Grupo de usuarios eliminado",
|
||
"user_group_not_found": "Grupo de usuarios no encontrado",
|
||
"group_name": "Nombre del grupo",
|
||
"group_name_placeholder": "Operadores",
|
||
"group_note": "Note",
|
||
"group_note_placeholder": "Nota opcional",
|
||
"group_name_required": "El nombre del grupo es obligatorio",
|
||
"group_members_count": "{count} miembros",
|
||
"provider": "Proveedor",
|
||
"provider_local": "Local",
|
||
"provider_ldap": "LDAP/AD",
|
||
"provider_oidc": "SSO",
|
||
"password_managed_by_provider": "Gestionado por el proveedor de identidad",
|
||
"provider_managed_hint": "Esta cuenta está gestionada por un proveedor de identidad externo (LDAP/AD o SSO). La contraseña y el rol son controlados por el proveedor y no se pueden cambiar aquí.",
|
||
"email": "Correo",
|
||
"email_placeholder": "operator@example.com",
|
||
"email_hint": "Se usa para notificaciones de solicitudes de ayuda cuando el usuario está asignado a carpetas o grupos de dispositivos.",
|
||
"scope_hint": "Limit which devices this user sees: assign user groups, folders, and/or direct devices. Without restrictions, operators and viewers see all devices (unless the server uses restricted default mode in Settings).",
|
||
"role_desc_viewer": "Read-only panel access: device list, audit, metrics. Cannot use Web Remote Desktop.",
|
||
"role_desc_operator": "Can connect via Web Client and RustDesk desktop, edit devices, and change own password in Settings.",
|
||
"role_desc_pro": "RustDesk desktop client API only — activates Pro license. Blocked from web panel login.",
|
||
"role_desc_admin": "Full access (legacy alias for Super Admin).",
|
||
"role_desc_super_admin": "Full server and panel access, including user and server configuration.",
|
||
"role_desc_server_admin": "Server infrastructure, keys, and read-only user visibility. No device connect.",
|
||
"role_desc_global_admin": "Manage all users, organizations, and devices. Cannot change server config.",
|
||
"user_folders": "Folder access",
|
||
"user_folders_hint": "Devices in selected folders are visible to this user when folder ACL is configured.",
|
||
"user_direct_devices": "Direct devices",
|
||
"user_direct_devices_hint": "Grant access to specific devices regardless of folder or group membership.",
|
||
"user_direct_devices_placeholder": "Enter device IDs separated by commas",
|
||
"effective_scope_count": "{count} devices visible",
|
||
"loading_folders": "Loading folders...",
|
||
"no_folders": "No folders available",
|
||
"pro_strategy_label": "RustDesk Pro strategy",
|
||
"pro_strategy_hint": "Optional access-control strategy for RustDesk Pro client features (separate from panel role).",
|
||
"pro_strategy_none": "None",
|
||
"column_scope": "Scope"
|
||
},
|
||
"folders": {
|
||
"title": "Panel",
|
||
"create": "Crear",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"name": "Folder Name",
|
||
"name_placeholder": "Introduzca el nombre de la carpeta",
|
||
"name_required": "El nombre de la carpeta es obligatorio",
|
||
"name_too_long": "El nombre de la carpeta es demasiado largo (máx. 50 caracteres)",
|
||
"color": "Color",
|
||
"icon": "Icono",
|
||
"not_found": "No encontrado",
|
||
"delete_confirm": "¿Está seguro de que desea eliminar esta carpeta? Los dispositivos dejarán de estar asignados.",
|
||
"delete_success": "Dispositivo eliminado correctamente",
|
||
"created": "Creado",
|
||
"updated": "Carpeta actualizada correctamente",
|
||
"no_devices_selected": "No hay dispositivos seleccionados",
|
||
"devices_moved": "Dispositivos movidos correctamente",
|
||
"device_assigned": "Dispositivo asignado a la carpeta",
|
||
"unassigned": "Sin asignar",
|
||
"all_devices": "Todos los dispositivos",
|
||
"drag_hint": "Arrastre dispositivos a las carpetas para organizarlos",
|
||
"move_to": "Mover a",
|
||
"toggle_sidebar": "Alternar barra lateral"
|
||
},
|
||
"errors": {
|
||
"forbidden_title": "Acceso denegado",
|
||
"forbidden_message": "No tiene permiso para acceder a esta página.",
|
||
"not_found_title": "Página no encontrada",
|
||
"not_found_message": "La página que busca no existe o ha sido movida.",
|
||
"server_error_title": "Error del servidor",
|
||
"server_error_message": "Algo salió mal. Inténtelo de nuevo más tarde.",
|
||
"go_home": "Ir al inicio",
|
||
"try_again": "Reintentar",
|
||
"load_devices_failed": "Error al cargar dispositivos",
|
||
"load_key_failed": "Error al cargar la clave",
|
||
"load_qr_failed": "Error al cargar el QR",
|
||
"load_audit_failed": "Error al cargar el registro de auditoría",
|
||
"load_users_failed": "Error al cargar usuarios",
|
||
"load_folders_failed": "Error al cargar carpetas",
|
||
"download_failed": "Error en la descarga",
|
||
"logout_failed": "Error al cerrar sesión",
|
||
"password_change_failed": "Error al cambiar la contraseña",
|
||
"language_change_failed": "Error al cambiar el idioma",
|
||
"ban_failed": "Error al bloquear el dispositivo",
|
||
"unban_failed": "Error al desbloquear el dispositivo",
|
||
"delete_failed": "Error al eliminar",
|
||
"change_id_failed": "Error al cambiar el ID",
|
||
"bulk_delete_failed": "Error al eliminar dispositivos",
|
||
"sync_failed": "Error de sincronización",
|
||
"error": "Error",
|
||
"not_found": "No encontrado",
|
||
"server_error": "Error del servidor",
|
||
"load_device_failed": "No se pudieron cargar los detalles del dispositivo",
|
||
"load_orgs_failed": "No se pudieron cargar las organizaciones"
|
||
},
|
||
"remote": {
|
||
"title": "Panel",
|
||
"connecting": "Conectando...",
|
||
"waiting_password": "Esperando contraseña",
|
||
"authenticating": "Autenticando...",
|
||
"streaming": "Conectado",
|
||
"disconnected": "Desconectado",
|
||
"error": "Error",
|
||
"status_idle": "Inactivo",
|
||
"password_required": "La contraseña es obligatoria",
|
||
"enter_password_for": "Introduzca la contraseña del dispositivo",
|
||
"password_placeholder": "Introduzca la contraseña",
|
||
"connect": "Conectar",
|
||
"reconnect": "Reconectar",
|
||
"disconnect": "Desconectar",
|
||
"back_to_devices": "Volver a dispositivos",
|
||
"fullscreen": "Pantalla completa",
|
||
"toggle_audio": "Alternar audio",
|
||
"send_keys": "Enviar teclas",
|
||
"scale_mode": "Modo de escala",
|
||
"scale_fit": "Ajustar a ventana",
|
||
"scale_fill": "Llenar ventana",
|
||
"scale_original": "Tamaño original (1:1)",
|
||
"scale_stretch": "Estirar",
|
||
"actions": "Acciones",
|
||
"lock_screen": "Bloquear pantalla",
|
||
"restart_remote": "Reiniciar dispositivo remoto",
|
||
"refresh_screen": "Actualizar pantalla",
|
||
"clipboard_paste": "Pegar desde portapapeles",
|
||
"block_input": "Bloquear entrada",
|
||
"reset_keyboard": "Restablecer estado del teclado",
|
||
"reset_keyboard_done": "Estado del teclado restablecido en el remoto",
|
||
"keyboard_mode": "Modo de teclado",
|
||
"keyboard_mode_auto": "Auto (Map, como RustDesk)",
|
||
"keyboard_mode_legacy": "Legacy (carácter)",
|
||
"keyboard_mode_map": "Map (escaneo físico)",
|
||
"display_settings": "Ajustes de pantalla",
|
||
"image_quality": "Calidad de imagen",
|
||
"quality_best": "Mejor calidad",
|
||
"quality_balanced": "Equilibrada",
|
||
"quality_low": "Rendimiento",
|
||
"show_cursor": "Mostrar cursor remoto",
|
||
"lock_after_session": "Bloquear después de la sesión",
|
||
"privacy_mode": "Modo privacidad",
|
||
"disable_clipboard": "Desactivar portapapeles",
|
||
"chat": "Chat",
|
||
"chat_placeholder": "Escriba un mensaje...",
|
||
"record": "Grabar pantalla",
|
||
"view_only": "Solo visualización",
|
||
"pin_toolbar": "Fijar barra de herramientas",
|
||
"monitors": "Monitors",
|
||
"select_monitor": "Seleccionar monitor",
|
||
"quality_speed": "Velocidad",
|
||
"quality_quality": "Calidad",
|
||
"recording_started": "Grabación iniciada",
|
||
"recording_stopped": "Grabación detenida",
|
||
"download_recording": "Descargar grabación",
|
||
"e2e_encrypted": "Cifrado de extremo a extremo",
|
||
"e2e_key_exchange": "Intercambio de claves en curso...",
|
||
"confirm_restart": "¿Está seguro de que desea reiniciar el dispositivo remoto?",
|
||
"webcodecs_not_supported": "Su navegador no soporta la API WebCodecs. Utilice Chrome 94+ o Edge 94+.",
|
||
"webcodecs_insecure_context": "WebCodecs no disponible por HTTP. El vídeo usa decodificación por software. Para mejor rendimiento, use HTTPS.",
|
||
"webcodecs_fallback_active": "Decodificador de vídeo por software activo (rendimiento limitado)",
|
||
"click_to_start": "Haga clic para iniciar",
|
||
"autoplay_blocked": "El navegador requiere interacción del usuario para iniciar vídeo y audio.",
|
||
"start_playback": "Iniciar reproducción",
|
||
"new_connection": "Nueva conexión",
|
||
"device_id_placeholder": "Introduzca ID de dispositivo",
|
||
"session_picker": {
|
||
"title": "Elegir dispositivo",
|
||
"already_connected": "Ya conectado"
|
||
},
|
||
"http_warning": "Modo HTTP: limitado a decodificación H.264 por software (~15 FPS). Use HTTPS para máximo rendimiento (WebCodecs, VP9, 60 FPS).",
|
||
"file_transfer": "Transferencia de archivos",
|
||
"file_upload": "Subir",
|
||
"file_download": "Descargar",
|
||
"file_empty": "Esta carpeta está vacía",
|
||
"file_transfers": "Transferencias",
|
||
"file_complete": "Completado",
|
||
"file_error": "Transferencia fallida",
|
||
"file_show_hidden": "Mostrar archivos ocultos",
|
||
"file_new_folder": "Nueva carpeta",
|
||
"file_new_folder_prompt": "Ingrese nombre de carpeta:",
|
||
"file_parent": "Carpeta superior",
|
||
"file_root": "Raíz",
|
||
"file_rename": "Renombrar",
|
||
"file_rename_prompt": "Ingrese nuevo nombre:",
|
||
"file_delete_confirm": "¿Está seguro de que desea eliminar este elemento?",
|
||
"file_cancelled": "Transferencia cancelada",
|
||
"2fa_required": "Código de dos factores requerido",
|
||
"2fa_hint": "Introduce el código TOTP de seis dígitos para continuar la sesión.",
|
||
"2fa_invalid": "Código 2FA no válido",
|
||
"verify": "Verify",
|
||
"use_cdap_fallback": "Usar visor CDAP",
|
||
"cdap_fallback_hint": "Abre el visor JPEG ligero que usa bd-signal/CDAP en lugar del relay de RustDesk. Útil cuando el par está desconectado del relay pero es accesible a través del canal de gestión del agente.",
|
||
"clipboard_empty": "El portapapeles está vacío",
|
||
"clipboard_denied": "Acceso al portapapeles denegado. Se requiere HTTPS o no se concedió el permiso.",
|
||
"file_loading": "Cargando...",
|
||
"file_timeout": "El dispositivo remoto no respondió. Es posible que la transferencia de archivos no sea compatible o esté deshabilitada en el equipo remoto.",
|
||
"codec": "Códec de vídeo",
|
||
"codec_auto": "Automático (recomendado)",
|
||
"remember_peer_password": "Recordar contraseña del dispositivo en este equipo",
|
||
"save_peer_password": "Guardar contraseña",
|
||
"input_mode_touch": "Táctil",
|
||
"input_mode_touchpad": "Touchpad",
|
||
"show_keyboard": "Teclado",
|
||
"special_keys": "Teclas especiales",
|
||
"special_print_screen": "Impr Pant",
|
||
"mobile_toolbar": "Controles remotos",
|
||
"phone_unsupported_title": "El escritorio remoto requiere una pantalla más grande",
|
||
"phone_unsupported_body": "Use una tablet, plegable desplegado o escritorio. La gestión de dispositivos sigue en la consola.",
|
||
"phone_unsupported_back_devices": "Volver a dispositivos",
|
||
"phone_unsupported_get_desktop": "Obtener RdClient desktop",
|
||
"file_local": "Equipo local",
|
||
"file_remote": "Equipo remoto",
|
||
"file_send": "Enviar",
|
||
"file_pick_folder": "Elegir carpeta",
|
||
"file_queue_empty": "No hay transferencias en curso",
|
||
"file_connecting": "Conectando sesión de transferencia de archivos…",
|
||
"file_connect_failed": "No se pudo abrir la sesión de transferencia de archivos",
|
||
"file_local_limited": "La navegación completa de carpetas locales requiere Chrome o Edge con HTTPS. Aún puede subir y descargar archivos.",
|
||
"file_transfer_unavailable_cdap": "La transferencia de archivos no está disponible en sesiones de instantánea CDAP.",
|
||
"file_status_waiting": "Esperando…",
|
||
"file_status_transferring": "Transfiriendo…",
|
||
"file_status_saving": "Guardando…",
|
||
"file_status_downloaded": "Descargado",
|
||
"file_status_uploaded": "Subido",
|
||
"file_drop_upload_hint": "Suelta para subir a: {path}",
|
||
"file_local_upload_hint": "Suelta archivos en el recuadro izquierdo o haz clic para subir. El destino es la carpeta abierta en el equipo remoto.",
|
||
"file_transfer_stalled": "El dispositivo remoto no inició la transferencia",
|
||
"file_no_local_tree": "Elige una carpeta para explorar archivos locales (opcional)",
|
||
"file_dropzone_title": "Suelta archivos aquí",
|
||
"file_dropzone_subtitle": "o haz clic para elegir archivos",
|
||
"file_dropzone_multiple": "Varios archivos admitidos",
|
||
"file_dropzone_waiting": "Esperando conexión remota…",
|
||
"file_overwrite_title": "El archivo ya existe",
|
||
"file_overwrite_message": "Ya existe un archivo llamado «{name}» en el equipo remoto. ¿Sobrescribir?",
|
||
"file_overwrite_skip": "Omitir",
|
||
"file_overwrite_skip_all": "Omitir todos",
|
||
"file_overwrite_confirm": "Sobrescribir",
|
||
"file_overwrite_all": "Sobrescribir todos",
|
||
"file_resume": "Reanudar",
|
||
"file_open": "Abrir",
|
||
"file_up": "Subir",
|
||
"file_home": "Inicio",
|
||
"file_hide_hidden": "Ocultar archivos ocultos",
|
||
"windows_sessions": "Sesiones de Windows"
|
||
},
|
||
"branding": {
|
||
"identity_title": "Identidad de marca",
|
||
"identity_desc": "Personalice el nombre y la descripción de la aplicación que se muestran en la consola",
|
||
"app_name": "Nombre de la aplicación",
|
||
"app_description": "Descripción de la aplicación",
|
||
"logo_title": "Logotipo",
|
||
"logo_desc": "Elija cómo aparece su logotipo en la barra lateral y la página de inicio de sesión",
|
||
"logo_type_icon": "Icono Material",
|
||
"logo_type_svg": "Código SVG",
|
||
"logo_type_image": "URL de imagen",
|
||
"logo_icon_name": "Nombre del icono",
|
||
"logo_icon_hint": "Introduzca un nombre de Material Icons (ej: dns, cloud, security). Ver fonts.google.com/icons",
|
||
"logo_svg_code": "Código SVG",
|
||
"logo_svg_hint": "Pegue su marcado SVG aquí. Soporta elementos <svg> completos con rutas y estilos.",
|
||
"logo_image_upload": "Subir imagen",
|
||
"logo_image_choose": "Elegir archivo de imagen",
|
||
"logo_image_hint": "PNG, JPG, GIF, WebP o SVG. Máx. 1,5 MB. La imagen se almacena como datos base64.",
|
||
"logo_image_url": "Datos / URL de imagen",
|
||
"logo_image_url_hint": "Se rellena automáticamente al subir o pegue una URL manualmente.",
|
||
"logo_image_too_large": "La imagen es demasiado grande. Tamaño máximo: 1,5 MB.",
|
||
"logo_image_invalid_type": "Tipo de archivo no válido. Use PNG, JPG, GIF, WebP o SVG.",
|
||
"preview": "Vista previa",
|
||
"colors_title": "Esquema de colores",
|
||
"colors_desc": "Personalice la paleta de colores. Deje vacío para los valores predeterminados.",
|
||
"colors_backgrounds": "Fondos",
|
||
"colors_text": "Texto",
|
||
"colors_accents": "Colores de acento",
|
||
"colors_borders": "Bordes",
|
||
"import_export_title": "Importar / exportar",
|
||
"import_export_desc": "Guarde su tema como archivo JSON o importe uno de otra instancia",
|
||
"export_theme": "Exportar tema",
|
||
"import_theme": "Importar tema",
|
||
"reset_defaults": "Restablecer valores predeterminados",
|
||
"save_branding": "Guardar marca",
|
||
"saved": "Branding saved successfully.",
|
||
"exported": "Tema exportado",
|
||
"imported": "Theme imported successfully.",
|
||
"import_error": "Error al importar el tema. Formato de archivo no válido.",
|
||
"reset_confirm": "¿Está seguro de que desea restablecer la marca a los valores predeterminados? Esta acción no se puede deshacer.",
|
||
"reset_success": "Branding reset to defaults.",
|
||
"logo_type_text": "Text Logo",
|
||
"logo_text": "Logo Text",
|
||
"logo_text_hint": "Texto principal mostrado como logotipo de la marca",
|
||
"logo_text_accent": "Accent Text",
|
||
"logo_text_accent_hint": "Texto secundario bajo el logotipo (por ejemplo, nombre del producto o lema)",
|
||
"logo_upload_success": "Logotipo subido correctamente.",
|
||
"typography_title": "Typography",
|
||
"typography_desc": "Elige fuentes para encabezados y texto. Las fuentes se descargarán al servidor para alojamiento propio.",
|
||
"font_heading": "Fuente de encabezados",
|
||
"font_heading_hint": "Usada para encabezados (H1-H6) y logotipo de texto",
|
||
"font_body": "Body Font",
|
||
"font_body_hint": "Usada para texto del cuerpo y elementos de interfaz",
|
||
"font_search_placeholder": "Buscar fuentes...",
|
||
"font_system_default": "Predeterminada del sistema",
|
||
"font_clear": "Clear",
|
||
"font_cat_all": "All",
|
||
"font_downloaded_count": "Fuentes descargadas en el servidor",
|
||
"agent_desc": "Personaliza el portal de descarga de agentes público que se muestra a los usuarios finales.",
|
||
"agent_show_powered": "Mostrar «Desarrollado por BetterDesk»",
|
||
"agent_show_powered_hint": "Mostrar la atribución de BetterDesk en el pie de página del portal de descargas.",
|
||
"agent_title": "Página de descarga del agente",
|
||
"background_desc": "Establece un fondo de pantalla, degradado o color sólido para la consola. Las tarjetas flotan sobre él.",
|
||
"background_title": "Fondo y apariencia",
|
||
"bg_blur": "Desenfoque de fondo",
|
||
"bg_color": "Color de fondo",
|
||
"bg_gradient": "Degradado CSS",
|
||
"bg_gradient_hint": "Cualquier degradado CSS válido, p. ej. linear-gradient(135deg, #1e293b, #0f172a)",
|
||
"bg_image_choose": "Elegir archivo de imagen",
|
||
"bg_image_hint": "PNG, JPG, WebP o GIF. Máx. 8 MB. Almacenado en el servidor.",
|
||
"bg_image_invalid_type": "Tipo de archivo no válido. Use PNG, JPG, WebP o GIF.",
|
||
"bg_image_too_large": "La imagen es demasiado grande. El tamaño máximo es 8 MB.",
|
||
"bg_image_upload": "Subir imagen de fondo",
|
||
"bg_image_url": "Ruta de imagen / URL",
|
||
"bg_overlay": "Superposición oscura",
|
||
"bg_overlay_hint": "Oscurece el fondo para mejorar la legibilidad del texto.",
|
||
"bg_size": "Tamaño de imagen",
|
||
"bg_size_auto": "Automático (original)",
|
||
"bg_size_contain": "Contener (ajustar)",
|
||
"bg_size_cover": "Cubrir (llenar pantalla)",
|
||
"bg_type_color": "Color sólido",
|
||
"bg_type_gradient": "Degradado",
|
||
"bg_type_image": "Imagen",
|
||
"bg_type_none": "Ninguno",
|
||
"bg_upload_success": "Imagen de fondo subida correctamente.",
|
||
"custom_css_desc": "Avanzado: inserta CSS personalizado aplicado en toda la consola y la página de inicio de sesión.",
|
||
"custom_css_hint": "Úsalo con cuidado. Las reglas inválidas o no seguras se eliminan. Máximo 20.000 caracteres.",
|
||
"custom_css_title": "CSS personalizado",
|
||
"footer_desc": "Agrega una línea de pie de página personalizada que se muestra en la pantalla de inicio de sesión y en la barra lateral de la consola.",
|
||
"footer_text": "Texto del pie de página",
|
||
"footer_text_hint": "p. ej. un aviso de copyright o el nombre de la empresa.",
|
||
"footer_title": "Pie de página y derechos de autor",
|
||
"login_bg_inherit": "Igual que la consola",
|
||
"login_desc": "Personaliza el título, subtítulo y fondo de la pantalla de inicio de sesión.",
|
||
"login_heading": "Encabezado de inicio de sesión",
|
||
"login_heading_placeholder": "Bienvenido de nuevo",
|
||
"login_subheading": "Subtítulo de inicio de sesión",
|
||
"login_subheading_placeholder": "Iniciar sesión en su cuenta",
|
||
"login_title": "Página de inicio de sesión",
|
||
"powered_by": "Desarrollado por",
|
||
"show_powered": "Mostrar atribución «BetterDesk»",
|
||
"show_powered_hint": "Mostrar el nombre y la versión de BetterDesk en el pie de página de inicio de sesión y en la barra lateral.",
|
||
"save_now": "Save now",
|
||
"autosaved": "Changes saved automatically.",
|
||
"status_saved": "All changes saved",
|
||
"status_dirty": "Unsaved changes",
|
||
"status_saving": "Saving…",
|
||
"status_error": "Save failed",
|
||
"revert_changes": "Revert changes",
|
||
"profiles_label": "Appearance profile",
|
||
"profile_apply": "Apply profile",
|
||
"profile_new": "New profile",
|
||
"profile_save": "Save to profile",
|
||
"profile_duplicate": "Duplicate",
|
||
"profile_delete": "Delete",
|
||
"profile_none": "— Select profile —",
|
||
"profile_active": "active",
|
||
"profile_applied": "Profile applied.",
|
||
"profile_created": "Profile created.",
|
||
"profile_updated": "Profile updated.",
|
||
"profile_duplicated": "Profile duplicated.",
|
||
"profile_deleted": "Profile deleted.",
|
||
"profile_delete_confirm": "Delete this appearance profile?",
|
||
"profile_name_prompt": "Profile name:",
|
||
"profile_select_first": "Select a profile first.",
|
||
"builtin_themes": "Built-in themes",
|
||
"theme_apply_confirm": "Apply this built-in theme? Current settings will be replaced.",
|
||
"theme_applied": "Theme applied.",
|
||
"module_identity": "Identity & logo",
|
||
"module_colors": "Colors",
|
||
"module_typography": "Typography",
|
||
"module_backgrounds": "Console background",
|
||
"module_pages": "Login & agent pages",
|
||
"module_advanced": "Advanced",
|
||
"modules_nav": "Appearance modules",
|
||
"live_preview": "Live preview",
|
||
"preview_apply_page": "Preview on this page",
|
||
"preview_card_title": "Dashboard card",
|
||
"preview_card_body": "Sample body text showing your typography and colors.",
|
||
"preview_btn_primary": "Primary",
|
||
"preview_btn_secondary": "Secondary",
|
||
"font_google": "Google Fonts",
|
||
"font_local": "Downloaded",
|
||
"font_upload": "Upload custom",
|
||
"font_upload_choose": "Choose font file",
|
||
"font_upload_name": "Font family name",
|
||
"font_upload_success": "Font uploaded successfully.",
|
||
"font_local_empty": "No fonts downloaded yet.",
|
||
"font_delete": "Remove font",
|
||
"glass_title": "Superficies de cristal",
|
||
"glass_desc": "Fondo de cristal esmerilado para tarjetas, modales, formularios y otros elementos del panel.",
|
||
"glass_enabled": "Activar superficies de cristal",
|
||
"glass_color": "Color del tinte de cristal",
|
||
"glass_color_hint": "Color base para paneles esmerilados. Usa el color de fondo secundario si está vacío.",
|
||
"glass_blur": "Desenfoque de superficie",
|
||
"glass_opacity": "Opacidad del cristal"
|
||
},
|
||
"device_detail": {
|
||
"tab_overview": "Resumen",
|
||
"tab_tags": "Etiquetas y notas",
|
||
"tab_actions": "Acciones",
|
||
"section_identity": "Identidad",
|
||
"section_network": "Red",
|
||
"section_timestamps": "Marcas de tiempo",
|
||
"section_connect": "Conexión",
|
||
"section_manage": "Gestión",
|
||
"folder": "Carpeta",
|
||
"status_tier": "Nivel de estado",
|
||
"device_banned": "Este dispositivo está bloqueado",
|
||
"no_reason": "Sin motivo proporcionado",
|
||
"tags": "Etiquetas",
|
||
"no_tags": "No hay etiquetas asignadas a este dispositivo",
|
||
"tag_placeholder": "Introduzca un nombre de etiqueta...",
|
||
"add_tag": "Añadir",
|
||
"tag_exists": "Esta etiqueta ya existe",
|
||
"notes": "Notas",
|
||
"notes_placeholder": "Añada notas sobre este dispositivo...",
|
||
"danger_zone": "Zona de peligro",
|
||
"action_connect_web": "Remoto web",
|
||
"action_connect_web_desc": "Conectar vía escritorio remoto del navegador",
|
||
"action_native_remote": "Remote BetterDesk",
|
||
"action_native_remote_desc": "Transmisión JPEG nativa — sin plugins necesarios",
|
||
"action_connect_desktop": "Cliente de escritorio",
|
||
"action_connect_desktop_desc": "Abrir en la aplicación de escritorio",
|
||
"action_change_id_desc": "Cambiar el ID de registro del dispositivo",
|
||
"action_ban_desc": "Impedir que este dispositivo se conecte",
|
||
"action_unban_desc": "Permitir que este dispositivo se conecte de nuevo",
|
||
"action_delete_desc": "Eliminar permanentemente este dispositivo",
|
||
"tab_hardware": "Hardware",
|
||
"tab_metrics": "Métricas",
|
||
"section_system": "Sistema",
|
||
"section_cpu": "Procesador",
|
||
"section_memory": "Memoria",
|
||
"section_displays": "Pantallas",
|
||
"section_encoding": "Capacidades de codificación",
|
||
"section_live_metrics": "Métricas en vivo",
|
||
"section_current_usage": "Uso actual",
|
||
"section_usage_history": "Historial de uso",
|
||
"os": "Sistema operativo",
|
||
"version": "Versión",
|
||
"cpu_model": "Modelo de CPU",
|
||
"cpu_cores": "Núcleos de CPU",
|
||
"cpu_freq": "Frecuencia de CPU",
|
||
"total_memory": "Memoria total",
|
||
"metric_memory": "Memoria",
|
||
"metric_disk": "Disco",
|
||
"metrics_updated": "Actualizado",
|
||
"device_groups": "Grupos",
|
||
"no_sysinfo": "No hay información de hardware disponible",
|
||
"no_sysinfo_hint": "La información del sistema aparecerá después de que el dispositivo envíe un informe de sysinfo",
|
||
"no_metrics": "No hay métricas disponibles",
|
||
"no_metrics_hint": "Las métricas aparecerán después de que el dispositivo envíe informes de latido",
|
||
"chart_oldest": "← Más antiguo",
|
||
"chart_newest": "Más reciente →",
|
||
"tab_services": "Services",
|
||
"tab_processes": "Processes",
|
||
"tab_events": "Events",
|
||
"tab_activity": "Activity",
|
||
"tab_files": "Archivos",
|
||
"agent_lazy_hint": "Haz clic en esta pestaña para cargar datos en vivo del agente",
|
||
"agent_offline": "El agente está sin conexión",
|
||
"agent_timeout": "El agente no respondió a tiempo",
|
||
"agent_error": "No se pudieron cargar datos del agente",
|
||
"service_name": "Name",
|
||
"service_display": "Nombre visible",
|
||
"service_status": "Status",
|
||
"service_start": "Start mode",
|
||
"process_name": "Name",
|
||
"process_user": "User",
|
||
"process_memory": "Memory"
|
||
},
|
||
"inventory": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"device_id": "ID del dispositivo",
|
||
"hostname": "Nombre de host",
|
||
"os": "Sistema operativo",
|
||
"cpu": "Processor",
|
||
"cpu_cores": "Núcleos de CPU",
|
||
"cpu_usage": "Uso de CPU",
|
||
"memory": "Memory",
|
||
"memory_total": "Memoria total",
|
||
"memory_used": "Memoria usada",
|
||
"memory_available": "Memoria disponible",
|
||
"memory_usage": "Uso de memoria",
|
||
"swap": "Swap",
|
||
"disks": "Discos",
|
||
"disk_count": "Cantidad de discos",
|
||
"network": "Red",
|
||
"network_interfaces": "Interfaces de red",
|
||
"software": "Software",
|
||
"software_count": "Software instalado",
|
||
"system": "Sistema",
|
||
"kernel": "Kernel",
|
||
"architecture": "Arquitectura",
|
||
"uptime": "Uptime",
|
||
"frequency": "Frecuencia",
|
||
"physical_cores": "Núcleos físicos",
|
||
"logical_cores": "Núcleos lógicos",
|
||
"model": "Modelo",
|
||
"usage": "Uso",
|
||
"total": "Total",
|
||
"used": "Usado",
|
||
"available": "Disponible",
|
||
"mount_point": "Punto de montaje",
|
||
"removable": "Extraíble",
|
||
"mac_address": "Dirección MAC",
|
||
"ip_addresses": "Direcciones IP",
|
||
"traffic": "Tráfico",
|
||
"collect_now": "Recopilar ahora",
|
||
"collector_running": "Recopilación en curso",
|
||
"collector_stopped": "Recopilación detenida",
|
||
"last_upload": "Última subida",
|
||
"total_uploads": "Total",
|
||
"last_seen": "Visto por última vez",
|
||
"collected_at": "Recopilado el",
|
||
"no_data": "No hardware data available",
|
||
"no_devices": "No se encontraron dispositivos con datos de inventario",
|
||
"detail_title": "Detalle del inventario del dispositivo",
|
||
"telemetry": "Telemetría",
|
||
"view_detail": "Ver detalle",
|
||
"export": "Exportar",
|
||
"refresh": "Actualizar"
|
||
},
|
||
"tickets": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"create": "Crear",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"detail": "Detalle del ticket",
|
||
"ticket_id": "ID del ticket",
|
||
"ticket_title": "Título",
|
||
"description": "Descripción",
|
||
"status": "Estado",
|
||
"priority": "Prioridad",
|
||
"category": "Categoría",
|
||
"assigned_to": "Asignado a",
|
||
"created_by": "Creado por",
|
||
"device": "Dispositivo",
|
||
"sla_due": "Vencimiento SLA",
|
||
"created_at": "Creado",
|
||
"updated_at": "Actualizado",
|
||
"resolved_at": "Resuelto",
|
||
"closed_at": "Cerrado",
|
||
"status_open": "Abierto",
|
||
"status_in_progress": "En progreso",
|
||
"status_resolved": "Resuelto",
|
||
"status_closed": "Cerrado",
|
||
"priority_low": "Baja",
|
||
"priority_medium": "Media",
|
||
"priority_high": "Alta",
|
||
"priority_critical": "Crítica",
|
||
"category_general": "General",
|
||
"category_hardware": "Hardware",
|
||
"category_software": "Software",
|
||
"category_network": "Red",
|
||
"category_access": "Acceso",
|
||
"category_other": "Otro",
|
||
"comments": "Comentarios",
|
||
"add_comment": "Añadir comentario",
|
||
"comment_placeholder": "Escriba un comentario...",
|
||
"internal_note": "Nota interna (no visible para usuarios finales)",
|
||
"attachments": "Adjuntos",
|
||
"upload_attachment": "Subir adjunto",
|
||
"download": "Descargar clave",
|
||
"connect_device": "Conectar al dispositivo",
|
||
"no_tickets": "No se encontraron tickets",
|
||
"no_comments": "Sin comentarios aún",
|
||
"no_attachments": "Sin adjuntos",
|
||
"title_required": "El título es obligatorio",
|
||
"delete_confirm": "¿Está seguro de que desea eliminar el ticket #{id}?",
|
||
"delete_success": "Dispositivo eliminado correctamente",
|
||
"created_success": "Ticket creado correctamente",
|
||
"updated_success": "Ticket actualizado correctamente",
|
||
"sla_overdue": "SLA vencido",
|
||
"filter_all": "Todos",
|
||
"search_placeholder": "Buscar dispositivos...",
|
||
"assign_to_me": "Asignarme",
|
||
"unassign": "Desasignar",
|
||
"stats_total": "Total",
|
||
"stats_open": "Abiertos",
|
||
"stats_in_progress": "En progreso",
|
||
"stats_resolved": "Resueltos",
|
||
"stats_closed": "Cerrados"
|
||
},
|
||
"activity": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"device": "Dispositivo",
|
||
"hostname": "Nombre de host",
|
||
"sessions": "Sesiones",
|
||
"idle_time": "Tiempo inactivo",
|
||
"active_time": "Tiempo activo",
|
||
"last_report": "Último informe",
|
||
"top_apps": "Aplicaciones principales",
|
||
"app_name": "Nombre de la aplicación",
|
||
"window_title": "Título de ventana",
|
||
"category": "Categoría",
|
||
"duration": "Duración",
|
||
"started_at": "Iniciado",
|
||
"ended_at": "Finalizado",
|
||
"session_count": "Cantidad de sesiones",
|
||
"total_active": "Total activo",
|
||
"total_idle": "Total inactivo",
|
||
"detail_count": "Registros detallados",
|
||
"no_data": "No hardware data available",
|
||
"no_sessions": "No hay sesiones registradas",
|
||
"filter_from": "Desde",
|
||
"filter_to": "Hasta",
|
||
"filter_apply": "Aplicar filtro",
|
||
"hours": "horas",
|
||
"minutes": "minutos",
|
||
"seconds": "segundos",
|
||
"category_browser": "Navegador",
|
||
"category_productivity": "Productividad",
|
||
"category_communication": "Comunicación",
|
||
"category_development": "Desarrollo",
|
||
"category_media": "Multimedia",
|
||
"category_gaming": "Juegos",
|
||
"category_system": "Sistema",
|
||
"category_other": "Otro",
|
||
"summary": "Resumen",
|
||
"details": "Detalles del dispositivo",
|
||
"refresh": "Actualizar",
|
||
"search": "Buscar dispositivos...",
|
||
"date_range": "Rango de fechas",
|
||
"device_id": "ID del dispositivo",
|
||
"session_start": "Inicio de sesión",
|
||
"session_end": "Fin de sesión",
|
||
"user": "Usuario",
|
||
"no_activity": "No hay actividad registrada",
|
||
"reported_at": "Reported At",
|
||
"detail": "Detalle del ticket",
|
||
"no_apps": "No hay aplicaciones"
|
||
},
|
||
"automation": {
|
||
"title": "Panel",
|
||
"subtitle": "Reglas de alerta, comandos remotos",
|
||
"rules": "Reglas de alerta",
|
||
"rules_subtitle": "Definir condiciones que activan notificaciones",
|
||
"alerts": "Historial de alertas",
|
||
"alerts_subtitle": "Ver y confirmar alertas activadas",
|
||
"commands": "Comandos remotos",
|
||
"commands_subtitle": "Enviar comandos a dispositivos remotos",
|
||
"smtp": "Configuración SMTP",
|
||
"smtp_subtitle": "Ajustes de notificación por correo electrónico",
|
||
"rule_name": "Nombre de la regla",
|
||
"description": "Descripción",
|
||
"condition_type": "Tipo de condición",
|
||
"condition_op": "Operador",
|
||
"condition_value": "Umbral",
|
||
"severity": "Severidad",
|
||
"scope_device": "Dispositivo objetivo",
|
||
"scope_all": "Todos los dispositivos",
|
||
"cooldown": "Tiempo de enfriamiento (segundos)",
|
||
"notify_emails": "Correos de notificación",
|
||
"enabled": "Activado",
|
||
"disabled": "Desactivado",
|
||
"create_rule": "Crear regla",
|
||
"edit_rule": "Editar regla",
|
||
"delete_rule": "Eliminar regla",
|
||
"acknowledge": "Confirmar",
|
||
"acknowledged": "Confirmado",
|
||
"unacknowledged": "Sin confirmar",
|
||
"triggered_at": "Activado el",
|
||
"severity_info": "Información",
|
||
"severity_warning": "Advertencia",
|
||
"severity_critical": "Crítico",
|
||
"op_gt": "Mayor que",
|
||
"op_gte": "Mayor o igual",
|
||
"op_lt": "Menor que",
|
||
"op_lte": "Menor o igual",
|
||
"op_eq": "Igual a",
|
||
"op_neq": "Diferente de",
|
||
"type_cpu_usage": "Uso de CPU (%)",
|
||
"type_memory_usage": "Uso de memoria (%)",
|
||
"type_disk_usage": "Uso de disco (%)",
|
||
"type_offline_duration": "Duración sin conexión (s)",
|
||
"type_idle_duration": "Duración inactivo (s)",
|
||
"type_custom": "Personalizado",
|
||
"command_type": "Tipo de comando",
|
||
"command_payload": "Comando / Script",
|
||
"command_result": "Resultado",
|
||
"command_status": "Estado",
|
||
"send_command": "Enviar comando",
|
||
"status_pending": "Pendiente",
|
||
"status_running": "En ejecución",
|
||
"status_completed": "Completado",
|
||
"status_failed": "Fallido",
|
||
"smtp_host": "Host SMTP",
|
||
"smtp_port": "Puerto",
|
||
"smtp_secure": "Usar TLS",
|
||
"smtp_user": "Nombre de usuario",
|
||
"smtp_pass": "Contraseña",
|
||
"smtp_from": "Dirección de remitente",
|
||
"smtp_test": "Probar conexión",
|
||
"smtp_save": "Guardar configuración",
|
||
"smtp_test_success": "Conexión exitosa",
|
||
"smtp_test_failed": "Error de conexión",
|
||
"no_rules": "No hay reglas de asignación.",
|
||
"no_alerts": "No se han activado alertas",
|
||
"no_commands": "No se han enviado comandos",
|
||
"id_payload_required": "Se requieren ID de dispositivo y payload",
|
||
"no_commands_sent": "Aún no se han enviado comandos"
|
||
},
|
||
"file_transfer": {
|
||
"title": "Panel",
|
||
"transfers": "Transferencias",
|
||
"new_transfer": "Nueva transferencia",
|
||
"upload": "Subir",
|
||
"download": "Descargar clave",
|
||
"direction": "Direction",
|
||
"filename": "Nombre del archivo",
|
||
"file_size": "Tamaño del archivo",
|
||
"mime_type": "Tipo MIME",
|
||
"progress": "Progreso",
|
||
"status": "Estado",
|
||
"device": "Dispositivo",
|
||
"initiated_by": "Iniciado por",
|
||
"created_at": "Creado",
|
||
"cancel": "Cancelar",
|
||
"cancel_confirm": "¿Está seguro de que desea cancelar esta transferencia?",
|
||
"download_file": "Descargar archivo",
|
||
"browse_files": "Explorar archivos",
|
||
"select_file": "Seleccionar archivo",
|
||
"select_device": "Seleccionar dispositivo",
|
||
"no_transfers": "No hay transferencias de archivos",
|
||
"status_pending": "Pendiente",
|
||
"status_active": "Activa",
|
||
"status_completed": "Completado",
|
||
"status_failed": "Fallido",
|
||
"status_cancelled": "Cancelada",
|
||
"bytes_transferred": "Bytes transferidos",
|
||
"chunks": "Bloques",
|
||
"transfer_started": "Transferencia iniciada",
|
||
"transfer_completed": "Transferencia completada",
|
||
"transfer_failed": "Transferencia fallida",
|
||
"transfer_cancelled": "Transferencia cancelada",
|
||
"max_file_size": "Tamaño máximo de archivo: 4 GB",
|
||
"error_too_large": "El archivo es demasiado grande",
|
||
"error_no_device": "No hay dispositivo seleccionado",
|
||
"error_no_file": "No hay archivo seleccionado"
|
||
},
|
||
"network": {
|
||
"title": "Panel",
|
||
"targets": "Objetivos de monitoreo",
|
||
"add_target": "Añadir objetivo",
|
||
"edit_target": "Editar objetivo",
|
||
"delete_target": "Eliminar objetivo",
|
||
"delete_confirm": "¿Está seguro de que desea eliminar este objetivo?",
|
||
"target_name": "Nombre",
|
||
"host": "Host",
|
||
"port": "Puerto",
|
||
"url": "URL",
|
||
"check_type": "Tipo de verificación",
|
||
"timeout": "Tiempo de espera (ms)",
|
||
"interval": "Intervalo (ms)",
|
||
"enabled": "Activado",
|
||
"status": "Estado",
|
||
"last_check": "Última verificación",
|
||
"last_rtt": "Último RTT",
|
||
"rtt_ms": "RTT (ms)",
|
||
"status_up": "Accesible",
|
||
"status_down": "No accesible",
|
||
"status_unknown": "Desconocido",
|
||
"check_now": "Verificar ahora",
|
||
"history": "History",
|
||
"stats": "Estadísticas",
|
||
"total_targets": "Total de objetivos",
|
||
"targets_up": "Objetivos accesibles",
|
||
"targets_down": "Objetivos no accesibles",
|
||
"type_ping": "Ping (ICMP)",
|
||
"type_tcp": "Puerto TCP",
|
||
"type_http": "HTTP",
|
||
"type_https": "HTTPS",
|
||
"tools": "Herramientas de red",
|
||
"ping_tool": "Prueba de ping",
|
||
"tcp_tool": "Verificación de puerto TCP",
|
||
"http_tool": "Verificación HTTP",
|
||
"dns_tool": "Resolución DNS",
|
||
"monitor_start": "Iniciar monitoreo",
|
||
"monitor_stop": "Detener monitoreo",
|
||
"monitor_running": "Monitoreo en curso",
|
||
"monitor_stopped": "Monitoreo detenido",
|
||
"no_targets": "No hay objetivos de monitoreo configurados",
|
||
"no_history": "No hay historial de verificaciones disponible",
|
||
"error_code": "Error",
|
||
"status_code": "Código de estado HTTP",
|
||
"search_targets": "Buscar objetivos...",
|
||
"name": "Name",
|
||
"tab_targets": "Targets",
|
||
"tab_tools": "Tools",
|
||
"avg_latency": "Avg Latency",
|
||
"type": "Type",
|
||
"latency": "Latency",
|
||
"check_history": "Historial de comprobaciones",
|
||
"name_host_required": "Nombre y host son obligatorios",
|
||
"uptime": "Uptime",
|
||
"response_time": "Tiempo de respuesta",
|
||
"avg_response": "Respuesta media",
|
||
"charts": "Gráficos",
|
||
"realtime": "Tiempo real",
|
||
"response_time_ms": "Tiempo de respuesta (ms)",
|
||
"uptime_percent": "Tiempo de actividad %",
|
||
"last_24h": "Últimas 24 horas",
|
||
"last_7d": "Últimos 7 días",
|
||
"last_30d": "Últimos 30 días"
|
||
},
|
||
"dataguard": {
|
||
"title": "Panel",
|
||
"policies": "Políticas",
|
||
"add_policy": "Añadir política",
|
||
"edit_policy": "Editar política",
|
||
"delete_policy": "Eliminar política",
|
||
"delete_confirm": "¿Está seguro de que desea eliminar esta política?",
|
||
"policy_name": "Nombre",
|
||
"policy_description": "Descripción",
|
||
"policy_desc": "Descripción de la política",
|
||
"status": "Estado",
|
||
"enabled": "Activado",
|
||
"disabled": "Desactivado",
|
||
"rules": "Reglas de alerta",
|
||
"add_rule": "Añadir regla",
|
||
"rule_type": "Tipo de regla",
|
||
"rule_type_usb": "Dispositivo USB",
|
||
"rule_type_file": "Operación de archivo",
|
||
"action": "Acción",
|
||
"action_allow": "Permitir",
|
||
"action_block": "Bloquear",
|
||
"action_log": "Solo registrar",
|
||
"filter": "Filtro",
|
||
"vid": "ID de fabricante (VID)",
|
||
"pid": "ID de producto (PID)",
|
||
"serial": "Número de serie",
|
||
"device_class": "Clase de dispositivo",
|
||
"drive_type": "Tipo de unidad",
|
||
"file_extensions": "Extensiones de archivo",
|
||
"events": "Eventos DLP",
|
||
"event_source": "Fuente",
|
||
"event_source_usb": "USB",
|
||
"event_source_file": "Archivo",
|
||
"event_type": "Tipo de evento",
|
||
"event_details": "Detalles",
|
||
"no_policies": "No hay políticas DLP configuradas",
|
||
"no_events": "No se registraron eventos DLP",
|
||
"stats": "Estadísticas",
|
||
"total_events": "Total de eventos",
|
||
"blocked_events": "Bloqueados",
|
||
"logged_events": "Registrados",
|
||
"usb_events": "Eventos USB",
|
||
"file_events": "Eventos de archivo",
|
||
"device_id": "ID del dispositivo",
|
||
"policy_matched": "Política coincidente",
|
||
"timestamp": "Marca de tiempo",
|
||
"drive_removable": "Extraíble",
|
||
"drive_fixed": "Fijo",
|
||
"drive_network": "Red",
|
||
"drive_cdrom": "CD-ROM",
|
||
"drive_unknown": "Desconocido",
|
||
"total_policies": "Políticas totales",
|
||
"active_policies": "Políticas activas",
|
||
"violations": "Violations",
|
||
"blocked": "Blocked",
|
||
"tab_policies": "Políticas",
|
||
"tab_events": "Events",
|
||
"search_policies": "Buscar políticas...",
|
||
"create_policy": "Crear política",
|
||
"policy_type": "Tipo de política",
|
||
"scope": "Scope",
|
||
"events_count": "Events",
|
||
"search_events": "Buscar eventos...",
|
||
"event_time": "Event Time",
|
||
"device": "Dispositivo",
|
||
"policy": "Política",
|
||
"detail": "Detalle del ticket",
|
||
"scope_help": "IDs de dispositivos separados por comas o vacío para todos",
|
||
"scope_all": "Todos los dispositivos",
|
||
"active": "Activo",
|
||
"type_file_type": "Tipo de archivo",
|
||
"type_usb": "USB",
|
||
"type_clipboard": "Portapapeles",
|
||
"type_screen_share": "Compartir pantalla",
|
||
"type_file_transfer": "Transferencia de archivos"
|
||
},
|
||
"reports": {
|
||
"title": "Panel",
|
||
"generate": "Generar configuración",
|
||
"generate_csv": "Exportar CSV",
|
||
"report_type": "Tipo de informe",
|
||
"type_devices": "Resumen de dispositivos",
|
||
"type_activity": "Resumen de actividad",
|
||
"type_security": "Informe de seguridad",
|
||
"type_tickets": "Informe de tickets",
|
||
"type_network": "Informe de red",
|
||
"type_inventory": "Informe de inventario",
|
||
"type_alerts": "Informe de alertas",
|
||
"saved": "Guardado",
|
||
"save_report": "Guardar informe",
|
||
"delete_report": "Eliminar informe",
|
||
"delete_confirm": "¿Está seguro de que desea eliminar este informe guardado?",
|
||
"no_saved": "No hay informes guardados",
|
||
"report_title": "Título",
|
||
"created_by": "Creado por",
|
||
"created_at": "Creado",
|
||
"filters": "Filtros",
|
||
"date_from": "Desde",
|
||
"date_to": "Hasta",
|
||
"device_filter": "ID del dispositivo",
|
||
"generated_at": "Generado el",
|
||
"section": "Sección de datos",
|
||
"total_devices": "Total de dispositivos",
|
||
"online": "En línea",
|
||
"offline": "Sin conexión",
|
||
"banned": "Bloqueados",
|
||
"platform_distribution": "Distribución por plataforma",
|
||
"top_applications": "Aplicaciones principales",
|
||
"total_active": "Total activo",
|
||
"total_idle": "Total inactivo",
|
||
"dlp_stats": "Estadísticas DLP",
|
||
"banned_devices": "Dispositivos bloqueados",
|
||
"audit_logs": "Registros de auditoría",
|
||
"ticket_stats": "Estadísticas de tickets",
|
||
"category_distribution": "Distribución por categoría",
|
||
"priority_distribution": "Distribución por prioridad",
|
||
"targets_status": "Estado de los objetivos",
|
||
"os_distribution": "Distribución de SO",
|
||
"avg_ram": "RAM promedio",
|
||
"alert_rules": "Reglas de alerta",
|
||
"recent_alerts": "Alertas recientes",
|
||
"tab_generate": "Generar informe",
|
||
"tab_saved": "Informes guardados",
|
||
"type_devices_desc": "Vista general de todos los dispositivos, plataformas y estados",
|
||
"type_activity_desc": "Resumen de uso de aplicaciones y tiempo inactivo",
|
||
"type_security_desc": "Acciones de bloqueo, eventos DLP y registros de auditoría",
|
||
"type_tickets_desc": "Estadísticas de tickets y rendimiento SLA",
|
||
"type_network_desc": "Objetivos de monitoreo de red y datos de disponibilidad",
|
||
"type_inventory_desc": "Resumen de inventario de hardware y software",
|
||
"type_alerts_desc": "Reglas de alerta e historial de alertas activadas",
|
||
"report_name": "Nombre del informe",
|
||
"format": "Formato",
|
||
"save": "Guardar",
|
||
"preview": "Vista previa",
|
||
"download": "Descargar clave",
|
||
"delete_saved": "Eliminar informe",
|
||
"raw_json": "Raw JSON"
|
||
},
|
||
"tenants": {
|
||
"title": "Panel",
|
||
"list": "Inquilinos",
|
||
"add_tenant": "Añadir inquilino",
|
||
"edit_tenant": "Editar inquilino",
|
||
"delete_tenant": "Eliminar inquilino",
|
||
"delete_confirm": "¿Está seguro de que desea eliminar este tenant? Se eliminarán todas las asignaciones de dispositivos y usuarios.",
|
||
"name": "Name",
|
||
"slug": "Slug",
|
||
"contact_name": "Nombre de contacto",
|
||
"contact_email": "Correo de contacto",
|
||
"max_devices": "Máx. dispositivos",
|
||
"max_devices_hint": "0 = ilimitado",
|
||
"notes": "Notas",
|
||
"active": "Activo",
|
||
"inactive": "Inactivo",
|
||
"devices": "Dispositivos",
|
||
"users": "Usuarios",
|
||
"assign_device": "Asignar dispositivo",
|
||
"assign_devices": "Asignar dispositivos",
|
||
"remove_device": "Quitar dispositivo",
|
||
"assign_user": "Asignar usuario",
|
||
"remove_user": "Quitar usuario",
|
||
"no_tenants": "No hay inquilinos configurados",
|
||
"no_devices": "No se encontraron dispositivos con datos de inventario",
|
||
"no_users": "No hay usuarios asignados a este inquilino",
|
||
"stats": "Estadísticas",
|
||
"total_devices": "Total de dispositivos",
|
||
"online_devices": "Dispositivos en línea",
|
||
"total_users": "Total de usuarios",
|
||
"created_at": "Creado",
|
||
"updated_at": "Actualizado",
|
||
"slug_exists": "El slug del inquilino ya existe",
|
||
"total_tenants": "Total de inquilinos",
|
||
"active_tenants": "Inquilinos activos",
|
||
"search": "Search devices...",
|
||
"create_tenant": "Crear inquilino",
|
||
"detail": "Detalle del ticket",
|
||
"contact": "Contacto",
|
||
"enabled": "Activado",
|
||
"disabled": "Desactivado",
|
||
"max": "máx",
|
||
"info": "Información",
|
||
"status": "Estado"
|
||
},
|
||
"registrations": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"search_placeholder": "Buscar dispositivos...",
|
||
"no_registrations": "No hay solicitudes de registro",
|
||
"col_device_id": "ID del dispositivo",
|
||
"col_hostname": "Nombre de host",
|
||
"col_platform": "Plataforma",
|
||
"col_ip": "Dirección IP",
|
||
"col_version": "Versión",
|
||
"col_status": "Estado",
|
||
"col_requested": "Solicitado",
|
||
"col_actions": "Acciones",
|
||
"status_pending": "Pendiente",
|
||
"status_approved": "Aprobado",
|
||
"status_rejected": "Rechazado",
|
||
"approve_btn": "Aprobar",
|
||
"approve_confirm": "¿Está seguro de que desea aprobar este dispositivo? Recibirá las credenciales del servidor y podrá conectarse automáticamente.",
|
||
"approved_success": "Registro de dispositivo aprobado correctamente",
|
||
"reject_btn": "Rechazar",
|
||
"reject_title": "Rechazar registro",
|
||
"reject_confirm": "¿Está seguro de que desea rechazar esta solicitud de registro?",
|
||
"reject_reason": "Motivo (opcional)",
|
||
"reject_reason_placeholder": "Introduzca el motivo del rechazo...",
|
||
"rejected_success": "Registro de dispositivo rechazado",
|
||
"delete_confirm": "¿Está seguro de que desea eliminar este registro de inscripción?",
|
||
"deleted_success": "Registro eliminado",
|
||
"enrollment_title": "Registro de dispositivos",
|
||
"enrollment_subtitle": "Solicitudes de registro pendientes de clientes de escritorio BetterDesk",
|
||
"enrollment_empty": "No hay solicitudes de registro pendientes",
|
||
"enrollment_approve": "Approve",
|
||
"enrollment_reject": "Reject",
|
||
"enrollment_display_name": "Nombre visible",
|
||
"enrollment_display_name_placeholder": "Introduce un nombre para este dispositivo...",
|
||
"enrollment_sync_mode": "Modo de sincronización",
|
||
"enrollment_sync_silent": "Silencioso — telemetría mínima",
|
||
"enrollment_sync_standard": "Estándar — sincronización equilibrada",
|
||
"enrollment_sync_turbo": "Turbo — sincronización agresiva",
|
||
"enrollment_approved_success": "Registro de dispositivo aprobado",
|
||
"enrollment_rejected_success": "Registro de dispositivo rechazado",
|
||
"approve_title": "Aprobar dispositivo",
|
||
"banner_locked_mode": "La inscripción está bloqueada — solo los dispositivos vinculados a un token pueden registrarse. El modo administrado es necesario para que el operador apruebe clientes desconocidos.",
|
||
"banner_open_mode": "La inscripción está abierta — los nuevos clientes RustDesk se registran sin aprobación del operador. Establece el modo administrado en Configuración para usar esta cola.",
|
||
"enrollment_settings_link": "Configuración de inscripción",
|
||
"field_folder": "Carpeta",
|
||
"field_folder_none": "Sin carpeta",
|
||
"field_groups": "Grupos de dispositivos",
|
||
"field_name": "Nombre del dispositivo",
|
||
"field_name_placeholder": "Ingresa un nombre para este dispositivo...",
|
||
"field_sync_mode": "Modo de sincronización",
|
||
"field_tag_add_btn": "Agregar",
|
||
"field_tag_add_placeholder": "Agregar nueva etiqueta...",
|
||
"field_tags": "Etiquetas",
|
||
"field_tags_existing": "Etiquetas existentes",
|
||
"field_tags_placeholder": "Etiquetas separadas por comas (p. ej. oficina, portátil)...",
|
||
"reject_ban_hint": "El dispositivo será bloqueado y no podrá enviar nuevas solicitudes de registro.",
|
||
"reject_ban_option": "Prohibir este dispositivo",
|
||
"sync_silent": "Silencioso — telemetría mínima",
|
||
"sync_standard": "Estándar — sincronización equilibrada",
|
||
"sync_turbo": "Turbo — sincronización agresiva"
|
||
},
|
||
"backup": {
|
||
"title": "Panel",
|
||
"desc": "Descargue una copia de seguridad completa de la configuración de su consola, usuarios, grupos y ajustes. Los datos de peers del servidor Go se incluyen cuando el backend BetterDesk está activo.",
|
||
"restore_title": "Restaurar",
|
||
"restore_desc": "Suba un archivo de copia de seguridad descargado previamente para restaurar la configuración de la consola. Seleccione qué secciones restaurar a continuación.",
|
||
"stat_users": "Usuarios",
|
||
"stat_settings": "Configuración",
|
||
"stat_folders": "Carpetas",
|
||
"stat_groups": "Grupos",
|
||
"stat_strategies": "Estrategias",
|
||
"stat_backend": "Backend",
|
||
"download": "Descargar clave",
|
||
"creating": "Creando copia de seguridad...",
|
||
"download_success": "Archivo de clave descargado",
|
||
"upload": "Subir",
|
||
"restore_confirm": "¿Está seguro de que desea restaurar desde esta copia de seguridad? Las secciones seleccionadas serán sobrescritas.",
|
||
"restore_success": "Copia de seguridad restaurada correctamente. Algunos cambios pueden requerir recargar la página.",
|
||
"restored": "Restaurado",
|
||
"skipped": "Omitido",
|
||
"backup_date": "Fecha de la copia",
|
||
"opt_settings": "Configuración de la consola",
|
||
"opt_branding": "Marca / Tema",
|
||
"opt_folders": "Carpetas de dispositivos",
|
||
"opt_groups": "Grupos de usuarios y dispositivos",
|
||
"opt_addressbooks": "Libretas de direcciones",
|
||
"opt_users": "Cuentas de usuario",
|
||
"opt_users_warning": "Destructivo: reemplaza TODAS las cuentas de usuario con los datos de la copia. Puede que se cierre su sesión.",
|
||
"no_file": "No se seleccionó archivo de copia de seguridad",
|
||
"invalid_json": "Formato JSON inválido",
|
||
"invalid_format": "Archivo de copia de seguridad no válido: no es una copia de BetterDesk",
|
||
"opt_database": "Base de datos (todas las tablas)",
|
||
"opt_database_hint": "Reimporta todos los datos de la consola. Se aplica en vivo, no se requiere reinicio.",
|
||
"opt_env": "Archivo de entorno (.env)",
|
||
"opt_env_warning": "Sobreescribe SESSION_SECRET, clave API, DSN de la base de datos, puertos y configuración TLS. Requiere reinicio del servicio.",
|
||
"opt_godb": "Base de datos del servidor Go",
|
||
"opt_godb_warning": "Sobreescribe la base de datos SQLite del servidor Go (solo backend SQLite). Requiere reinicio del servicio.",
|
||
"opt_secrets": "Claves y secretos del servidor",
|
||
"opt_secrets_warning": "Sobreescribe la identidad del servidor Ed25519, la clave API y el secreto de sesión. Requiere reinicio del servicio.",
|
||
"opt_uploads": "Archivos de marca",
|
||
"opt_uploads_hint": "Logos e imágenes subidas.",
|
||
"restart_required": "Algunos componentes restaurados (claves / .env / base de datos Go) requieren un reinicio del servicio para tomar efecto.",
|
||
"restore_warning": "Restaurar los secretos, el archivo de entorno o la base de datos del servidor Go sobrescribe la identidad del servidor y requiere un reinicio del servicio después.",
|
||
"security_warning": "Esta copia de seguridad contiene secretos (claves del servidor, archivo de entorno, hashes de contraseñas y secretos 2FA). Guárdela de forma segura y nunca la comparta.",
|
||
"stat_database": "Motor de base de datos",
|
||
"stat_env": "Archivo de entorno",
|
||
"stat_keys": "Claves del servidor incluidas",
|
||
"stat_uploads": "Archivos de marca"
|
||
},
|
||
"cdap": {
|
||
"device_detail": "Detalle del dispositivo",
|
||
"loading": "Cargando...",
|
||
"loading_widgets": "Cargando widgets del dispositivo...",
|
||
"load_error": "No se pudieron cargar los datos del dispositivo",
|
||
"connected": "Conectado",
|
||
"disconnected": "Desconectado",
|
||
"device_offline_msg": "El dispositivo está actualmente sin conexión. Los valores de los widgets pueden estar desactualizados.",
|
||
"no_widgets": "Este dispositivo no reporta widgets.",
|
||
"no_widgets_desc": "Este dispositivo no registró un manifiesto CDAP con definiciones de widgets.",
|
||
"command_log": "Registro de comandos",
|
||
"clear_log": "Limpiar registro",
|
||
"confirm_command": "¿Ejecutar este comando?",
|
||
"select_option": "Seleccionar",
|
||
"cdap_status": "Estado CDAP",
|
||
"cdap_enabled": "CDAP habilitado",
|
||
"cdap_disabled": "CDAP deshabilitado",
|
||
"cdap_devices": "Dispositivos CDAP",
|
||
"cdap_connections": "Conexiones activas",
|
||
"send_command": "Enviar comando",
|
||
"command_sent": "Comando enviado",
|
||
"command_failed": "Error al enviar comando",
|
||
"devices_title": "Dispositivos CDAP",
|
||
"devices_subtitle": "Dispositivos conectados mediante Custom Device Application Protocol",
|
||
"stat_connected": "Conectado",
|
||
"stat_port": "Puerto",
|
||
"search_devices": "Buscar dispositivos...",
|
||
"no_devices": "No se encontraron dispositivos con datos de inventario",
|
||
"no_devices_desc": "No hay dispositivos CDAP conectados actualmente. Los dispositivos aparecerán aquí cuando se conecten al gateway.",
|
||
"gateway_disabled": "Gateway CDAP deshabilitado",
|
||
"gateway_disabled_desc": "Habilita el gateway CDAP estableciendo CDAP_ENABLED=true en la configuración del servidor.",
|
||
"gateway_active": "Activa",
|
||
"toggle_enable": "Habilitar CDAP",
|
||
"toggle_disable": "Deshabilitar CDAP",
|
||
"enabled_restart": "CDAP habilitado. Se requiere reiniciar el servidor para aplicar los cambios.",
|
||
"disabled_restart": "CDAP deshabilitado. Se requiere reiniciar el servidor para aplicar los cambios.",
|
||
"widgets": "Widgets de control",
|
||
"type_all": "Todos",
|
||
"type_iot": "IoT",
|
||
"type_scada": "SCADA",
|
||
"type_os_agent": "Agente de SO",
|
||
"type_network": "Informe de red",
|
||
"type_camera": "Cámara",
|
||
"type_custom": "Personalizado",
|
||
"active_alerts": "Alertas activas",
|
||
"alert_fired": "Alerta activada",
|
||
"alert_cleared": "Alerta cerrada",
|
||
"no_alerts": "No se han activado alertas",
|
||
"connect_terminal": "Conectar terminal",
|
||
"table_search": "Buscar...",
|
||
"just_now": "ahora mismo",
|
||
"terminal_connecting": "Conectando con el dispositivo...",
|
||
"terminal_disconnected": "Desconectado",
|
||
"terminal_error": "La conexión del terminal falló",
|
||
"linked_devices": "Dispositivos vinculados",
|
||
"link_device": "Vincular dispositivo",
|
||
"unlink_device": "Desvincular",
|
||
"no_linked_devices": "No hay dispositivos vinculados",
|
||
"unlink_confirm": "¿Seguro que quieres desvincular este dispositivo?",
|
||
"link_prompt": "Introduce el ID del peer para vincularlo con este dispositivo:",
|
||
"connect_desktop": "Conectar vía cliente de escritorio",
|
||
"connect_video": "Conectar transmisión",
|
||
"connect_files": "Explorar archivos",
|
||
"connect_audio": "Conectar audio",
|
||
"upload_file": "Upload",
|
||
"desktop_connecting": "Conectando...",
|
||
"video_connecting": "Conectando...",
|
||
"files_connecting": "Conectando...",
|
||
"audio_connecting": "Conectando audio...",
|
||
"audio_streaming": "Audio transmitiendo",
|
||
"clipboard_in": "Portapapeles del dispositivo → navegador",
|
||
"clipboard_out": "Portapapeles del navegador → dispositivo",
|
||
"monitor_select": "Seleccionar monitor",
|
||
"keyframe_request": "Solicitar fotograma clave",
|
||
"quality_auto": "Calidad automática"
|
||
},
|
||
"desktop": {
|
||
"switch_mode": "Cambiar modo",
|
||
"console_mode": "Modo consola",
|
||
"loading": "Cargando...",
|
||
"minimize": "Minimize",
|
||
"maximize": "Maximize",
|
||
"restore": "Restore",
|
||
"close": "Cerrar",
|
||
"widgets_mode": "Modo de widgets",
|
||
"windows_mode": "Windows",
|
||
"wallpaper": "Fondo de pantalla",
|
||
"add_widget": "Agregar widget",
|
||
"remove_widget": "Quitar widget",
|
||
"pop_out_widget": "Pop Out",
|
||
"pop_in_widget": "Pop In",
|
||
"configure": "Configurar",
|
||
"search_widgets": "Buscar widgets...",
|
||
"cat_monitoring": "Monitoring",
|
||
"cat_devices": "Dispositivos",
|
||
"cat_tools": "Tools",
|
||
"cat_general": "General",
|
||
"notes_placeholder": "Añada notas sobre este dispositivo...",
|
||
"search_placeholder": "Buscar dispositivos...",
|
||
"search_pages": "Pages",
|
||
"search_devices": "Search devices...",
|
||
"search_no_results": "No results",
|
||
"exit_desktop": "Salir del escritorio",
|
||
"refresh": "Actualizar",
|
||
"fullscreen": "Pantalla completa",
|
||
"help": "Help",
|
||
"widget_clock": "Clock",
|
||
"widget_device_status": "Estado de dispositivos",
|
||
"widget_server_health": "Salud del servidor",
|
||
"widget_system_stats": "Estadísticas del sistema",
|
||
"widget_device_list": "Lista de dispositivos",
|
||
"widget_quick_actions": "Acciones rápidas",
|
||
"widget_recent_activity": "Actividad reciente",
|
||
"widget_notes": "Notes",
|
||
"widget_network_monitor": "Monitor de red",
|
||
"widget_tickets_summary": "Tickets",
|
||
"widget_iframe": "Web Embed",
|
||
"widget_cdap_devices": "Dispositivos CDAP",
|
||
"widget_uptime": "Uptime",
|
||
"widget_port_status": "Port Status",
|
||
"widget_device_grid": "Cuadrícula de dispositivos",
|
||
"widget_multi_gauge": "Indicador múltiple",
|
||
"widget_weekly_chart": "Gráfico semanal",
|
||
"widget_quick_controls": "Controles rápidos",
|
||
"widget_bandwidth": "Bandwidth",
|
||
"widget_connection_stats": "Estadísticas de conexión",
|
||
"widget_weather": "Weather",
|
||
"widget_world_clock": "World Clock",
|
||
"widget_bookmarks": "Bookmarks",
|
||
"widget_user_sessions": "Sesiones de usuario",
|
||
"widget_alert_feed": "Alert Feed",
|
||
"label_online": "Online",
|
||
"label_offline": "Offline",
|
||
"label_total": "Total",
|
||
"label_blocked": "Blocked",
|
||
"label_banned": "Banned",
|
||
"label_active": "Active",
|
||
"label_service": "Service",
|
||
"label_port": "Port",
|
||
"label_uptime_prefix": "Uptime:",
|
||
"label_uptime": "Uptime",
|
||
"label_no_devices": "Sin dispositivos",
|
||
"label_no_activity": "No activity",
|
||
"label_no_targets": "No targets",
|
||
"label_unavailable": "Unavailable",
|
||
"label_open": "Abrir",
|
||
"label_in_progress": "In Progress",
|
||
"label_resolved": "Resolved",
|
||
"label_set_url": "Establecer URL",
|
||
"label_server_uptime": "Tiempo activo del servidor",
|
||
"label_merged_info": "Información combinada",
|
||
"label_with_notes": "Con notas",
|
||
"label_metric": "Metric",
|
||
"label_count": "Count",
|
||
"label_total_devices": "Dispositivos totales",
|
||
"label_throughput": "Throughput",
|
||
"label_active_relays": "Relays activos",
|
||
"label_total_relayed": "Retransmitidos totales",
|
||
"label_total_bytes": "Total Bytes",
|
||
"label_filter_devices": "Filtrar dispositivos",
|
||
"label_all": "All",
|
||
"label_ban": "Ban",
|
||
"label_unban": "Unban",
|
||
"label_connect": "Connect",
|
||
"label_no_cdap_devices": "Sin dispositivos CDAP",
|
||
"action_add_widget": "Agregar widget",
|
||
"label_merged_server_info": "Información combinada del servidor",
|
||
"wp_images": "Imágenes",
|
||
"wp_colors": "Colores sólidos",
|
||
"wp_custom_color": "Color personalizado",
|
||
"wp_fit_style": "Estilo",
|
||
"wp_fill": "Rellenar",
|
||
"wp_fit": "Ajustar",
|
||
"wp_stretch": "Estirar",
|
||
"wp_center": "Centrar",
|
||
"wp_unavailable": "Fondos no disponibles",
|
||
"wp_download_hint": "Descarga fondos para usarlos aquí.",
|
||
"widget_calendar": "Calendar",
|
||
"widget_process_monitor": "Monitor de procesos",
|
||
"widget_disk_usage": "Disk Usage",
|
||
"widget_log_viewer": "Log Viewer",
|
||
"widget_speed_test": "Speed Test",
|
||
"widget_database_stats": "Estadísticas de base de datos",
|
||
"widget_docker_containers": "Contenedores Docker",
|
||
"widget_shell_command": "Comando de shell",
|
||
"widget_device_map": "Mapa de dispositivos",
|
||
"widget_remote_connect": "Conexión remota",
|
||
"label_no_online": "No hay dispositivos en línea",
|
||
"label_no_events": "Sin eventos",
|
||
"label_event_title": "Título del evento",
|
||
"label_no_data": "Sin datos",
|
||
"label_download_speed": "Velocidad de descarga",
|
||
"label_latency": "Latency",
|
||
"label_server": "Instancia del servidor",
|
||
"label_run_test": "Run Test",
|
||
"label_testing": "Probando",
|
||
"label_table": "Table",
|
||
"label_rows": "Rows",
|
||
"label_last_backup": "Last Backup",
|
||
"label_no_containers": "Sin contenedores",
|
||
"label_docker_unavailable": "Docker no disponible",
|
||
"label_no_command": "Sin comando",
|
||
"label_no_output": "Sin salida",
|
||
"label_run": "Run",
|
||
"label_presets": "Presets",
|
||
"label_save_preset": "Guardar preajuste",
|
||
"label_load_preset": "Load Preset",
|
||
"label_preset_name": "Nombre del preajuste",
|
||
"label_preset_monitoring": "Monitoring",
|
||
"label_preset_helpdesk": "Helpdesk",
|
||
"label_preset_minimal": "Minimal",
|
||
"label_preset_developer": "Developer",
|
||
"label_snap_layout": "Snap Layout",
|
||
"label_auto_arrange": "Ordenar automáticamente",
|
||
"label_zone_layout": "Zone Layout",
|
||
"label_2col_equal": "2 columnas iguales",
|
||
"label_2col_wide": "2 columnas ancho",
|
||
"label_3col": "3 Columns",
|
||
"label_2x2_grid": "2×2 Grid",
|
||
"label_1_2": "1 + 2",
|
||
"label_1_3": "1 + 3",
|
||
"widget_group": "Grupo de widgets",
|
||
"ungroup_widgets": "Desagrupar widgets",
|
||
"group_widgets": "Agrupar widgets",
|
||
"snap_layouts": "Diseños de ajuste",
|
||
"snap_left": "Snap Left",
|
||
"snap_right": "Snap Right",
|
||
"snap_top_left": "Ajustar arriba izquierda",
|
||
"snap_top_right": "Ajustar arriba derecha",
|
||
"snap_bottom_left": "Ajustar abajo izquierda",
|
||
"snap_bottom_right": "Ajustar abajo derecha",
|
||
"aero_shake": "Sacudir ventana",
|
||
"zone_resize": "Cambiar tamaño de zona",
|
||
"zone_borders": "Bordes de zona",
|
||
"app_drawer": "Applications",
|
||
"search_apps": "Buscar apps",
|
||
"edit_shortcuts": "Editar accesos directos",
|
||
"widgets": "widgets",
|
||
"theme": "Theme"
|
||
},
|
||
"desktop_login": {
|
||
"click_to_sign_in": "Haz clic para iniciar sesión",
|
||
"username_placeholder": "Introduzca el nombre de usuario",
|
||
"password_placeholder": "Introduzca la contraseña",
|
||
"sign_in": "Sign in",
|
||
"verify": "Verify",
|
||
"totp_title": "Autenticación de dos factores",
|
||
"totp_subtitle": "Introduzca el código de 6 dígitos de su aplicación de autenticación",
|
||
"back_to_login": "Volver al inicio de sesión",
|
||
"fill_all_fields": "Por favor, rellene todos los campos",
|
||
"invalid_credentials": "Nombre de usuario o contraseña inválidos.",
|
||
"invalid_code": "Código no válido",
|
||
"enter_6_digits": "Introduce 6 dígitos",
|
||
"network_error": "Error de red",
|
||
"session_expired": "Sesión caducada"
|
||
},
|
||
"tokens": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"enrollment_mode": "Modo de registro",
|
||
"mode_open": "Abierto",
|
||
"mode_open_desc": "Cualquier cliente válido puede solicitar registro.",
|
||
"mode_managed": "Managed",
|
||
"mode_managed_desc": "Devices need a valid token to register",
|
||
"mode_locked": "Locked",
|
||
"mode_locked_desc": "No new device registrations allowed",
|
||
"total": "Total",
|
||
"active": "Activo",
|
||
"used": "Usado",
|
||
"revoked": "Token revocado",
|
||
"search_placeholder": "Buscar dispositivos...",
|
||
"status_pending": "Pendiente",
|
||
"status_active": "Activa",
|
||
"status_used": "Used",
|
||
"status_revoked": "Revocado",
|
||
"status_expired": "Expirado",
|
||
"bulk_generate": "Generar en lote",
|
||
"create": "Crear",
|
||
"edit": "Editar",
|
||
"token": "Token",
|
||
"name": "Name",
|
||
"status": "Estado",
|
||
"uses": "Uses",
|
||
"bound_peer": "Bound Peer",
|
||
"expires": "Fecha de expiración",
|
||
"created": "Creado",
|
||
"actions": "Acciones",
|
||
"name_placeholder": "Introduzca el nombre de la carpeta",
|
||
"max_uses": "Max Uses",
|
||
"max_uses_hint": "Número máximo de usos permitidos para este token.",
|
||
"expires_in": "Expires In",
|
||
"no_expiration": "Sin caducidad",
|
||
"expires_1h": "1 hour",
|
||
"expires_24h": "24 hours",
|
||
"expires_7d": "7 days",
|
||
"expires_30d": "30 días",
|
||
"note": "Nota",
|
||
"note_placeholder": "Notes about this device",
|
||
"count": "Count",
|
||
"count_range": "La cantidad debe estar entre 1 y 100",
|
||
"name_prefix": "Name Prefix",
|
||
"generate": "Generar configuración",
|
||
"token_created": "Token creado correctamente",
|
||
"tokens_generated": "Tokens generados",
|
||
"copy_warning": "Copia estos tokens ahora. No se volverán a mostrar.",
|
||
"copy_token": "Copy Token",
|
||
"copied": "Copied!",
|
||
"revoke": "Revocar",
|
||
"revoke_confirm": "¿Está seguro de que desea revocar este token? Esto invalidará inmediatamente todas las peticiones de API que lo utilicen.",
|
||
"revoked_success": "Token revocado correctamente",
|
||
"no_tokens": "No hay tokens de API creados",
|
||
"expired": "Expired",
|
||
"never": "Nunca",
|
||
"save": "Guardar",
|
||
"cancel": "Cancelar",
|
||
"unlimited": "Unlimited"
|
||
},
|
||
"tutorial": {
|
||
"next": "Siguiente",
|
||
"prev": "Anterior",
|
||
"skip": "Saltar tutorial",
|
||
"finish": "Finalizar",
|
||
"close": "Cerrar",
|
||
"step_of": "Paso {current} de {total}",
|
||
"console_sidebar_title": "Navegación de la consola",
|
||
"console_sidebar_text": "Usa la barra lateral para moverte entre dispositivos, usuarios, ajustes y herramientas.",
|
||
"console_expand_title": "Expandir barra lateral",
|
||
"console_expand_text": "Abre la barra lateral para ver todas las secciones y herramientas de la consola.",
|
||
"console_search_title": "Búsqueda rápida",
|
||
"console_search_text": "Usa la búsqueda para encontrar dispositivos, ajustes y acciones más rápido.",
|
||
"console_dashboard_title": "Revisar el panel",
|
||
"console_dashboard_text": "El panel resume el estado del servidor, dispositivos y actividad reciente.",
|
||
"console_devices_title": "Lista de dispositivos",
|
||
"console_devices_text": "Aquí puedes buscar, filtrar y administrar todos los dispositivos registrados.",
|
||
"console_settings_title": "Configuración",
|
||
"console_settings_text": "Gestiona seguridad, autenticación, actualizaciones e integraciones.",
|
||
"console_desktop_title": "Modo escritorio",
|
||
"console_desktop_text": "Cambia al escritorio de widgets para crear una vista operativa personalizada.",
|
||
"console_complete_title": "Consola lista",
|
||
"console_complete_text": "Ya conoces las áreas principales de la consola BetterDesk.",
|
||
"desktop_topbar_title": "Top Bar",
|
||
"desktop_topbar_text": "La barra superior contiene controles de ventana, búsqueda y accesos rápidos.",
|
||
"desktop_drawer_title": "App Drawer",
|
||
"desktop_drawer_text": "Abre el selector de widgets para colocar nuevas tarjetas en el escritorio.",
|
||
"desktop_widgets_title": "Widgets",
|
||
"desktop_widgets_text": "Los widgets muestran datos operativos en vivo y accesos rápidos.",
|
||
"desktop_add_widget_title": "Agregar widgets",
|
||
"desktop_add_widget_text": "Elige un widget y colócalo donde lo necesites.",
|
||
"desktop_taskbar_title": "Taskbar",
|
||
"desktop_taskbar_text": "Open apps appear here. Click to focus or minimize windows. The clock shows current time and wallpaper button changes the background.",
|
||
"desktop_snap_title": "Diseños de ajuste",
|
||
"desktop_snap_text": "Usa diseños de ajuste para organizar widgets rápidamente en zonas.",
|
||
"desktop_windows_title": "App Windows",
|
||
"desktop_windows_text": "Mueve, agrupa y redimensiona ventanas como en un escritorio moderno.",
|
||
"desktop_search_title": "Buscar apps",
|
||
"desktop_search_text": "Busca widgets y herramientas disponibles desde el lanzador.",
|
||
"desktop_complete_title": "Escritorio listo",
|
||
"desktop_complete_text": "El modo escritorio está configurado y listo para personalizarse.",
|
||
"devices_folders_title": "Carpetas y grupos",
|
||
"devices_folders_text": "Organiza dispositivos en carpetas o grupos dinámicos.",
|
||
"devices_search_title": "Buscar dispositivos",
|
||
"devices_search_text": "Filtra por ID, hostname, plataforma, usuario o etiquetas.",
|
||
"devices_table_title": "Tabla de dispositivos",
|
||
"devices_table_text": "Abre acciones desde el menú de cada fila o haz doble clic para ver detalles.",
|
||
"devices_complete_title": "Gestión de dispositivos lista",
|
||
"devices_complete_text": "Ahora puedes buscar, agrupar y administrar dispositivos.",
|
||
"settings_tabs_title": "Secciones de configuración",
|
||
"settings_tabs_text": "Cambia entre configuración del servidor, seguridad, autenticación e interfaz.",
|
||
"settings_content_title": "Editar configuración",
|
||
"settings_content_text": "Guarda los cambios por sección para mantener la configuración clara.",
|
||
"settings_complete_title": "Configuración lista",
|
||
"settings_complete_text": "Ya conoces las áreas principales de configuración.",
|
||
"help": "Help",
|
||
"tour_console": "Tour de la consola",
|
||
"tour_desktop": "Tour del escritorio",
|
||
"tour_devices": "Tour de dispositivos",
|
||
"tour_remote": "Tour remoto",
|
||
"tour_organization": "Tour de organización",
|
||
"tour_cdap": "Tour CDAP",
|
||
"tour_chat": "Tour del chat",
|
||
"tour_settings": "Tour de configuración",
|
||
"reset_all": "Restablecer todos los tours",
|
||
"remote_toolbar_title": "Barra remota",
|
||
"remote_toolbar_text": "Controla calidad, monitores, portapapeles, grabación y acciones de sesión.",
|
||
"remote_canvas_title": "Pantalla remota",
|
||
"remote_canvas_text": "Haz clic en el área de pantalla para enviar teclado y ratón al dispositivo.",
|
||
"remote_clipboard_title": "Portapapeles",
|
||
"remote_clipboard_text": "Sincroniza texto de forma segura entre el navegador y el dispositivo remoto.",
|
||
"remote_complete_title": "Sesión remota lista",
|
||
"remote_complete_text": "Ya puedes controlar y supervisar una sesión.",
|
||
"org_overview_title": "Resumen de organización",
|
||
"org_overview_text": "Revisa miembros, dispositivos y políticas de la organización de un vistazo.",
|
||
"org_create_title": "Crear organización",
|
||
"org_create_text": "Crea una organización nueva para separar dispositivos y usuarios.",
|
||
"org_members_title": "Administrar miembros",
|
||
"org_members_text": "Asigna usuarios y establece roles específicos de la organización.",
|
||
"org_devices_title": "Asignar dispositivos",
|
||
"org_devices_text": "Asigna dispositivos a una organización para mantener los datos dentro de su alcance.",
|
||
"org_policies_title": "Configurar políticas",
|
||
"org_policies_text": "Controla reglas de acceso, transferencia de archivos y límites de sesión.",
|
||
"org_complete_title": "Organización lista",
|
||
"org_complete_text": "La organización está preparada para usuarios, dispositivos y políticas.",
|
||
"cdap_devices_title": "Dispositivos CDAP",
|
||
"cdap_devices_text": "Ver todos los dispositivos CDAP conectados — sensores IoT, PLCs, puentes y agentes personalizados. Los indicadores verdes muestran conexiones en vivo.",
|
||
"cdap_widgets_title": "Panel de widgets",
|
||
"cdap_widgets_text": "Los widgets muestran datos en tiempo real de los dispositivos. Medidores, interruptores, LEDs, gráficos — cada tipo de widget visualiza un tipo de dato diferente.",
|
||
"cdap_commands_title": "Enviar comandos",
|
||
"cdap_commands_text": "Interactúa con los dispositivos enviando comandos. Algunos comandos requieren confirmación. El registro de comandos guarda el historial de todos los comandos enviados.",
|
||
"cdap_terminal_title": "Terminal del dispositivo",
|
||
"cdap_terminal_text": "Abre una sesión de terminal hacia los agentes CDAP para diagnósticos avanzados o configuración manual. Escribe los comandos directamente.",
|
||
"cdap_complete_title": "¡Resumen de CDAP completado!",
|
||
"cdap_complete_text": "Explora los widgets de dispositivos, envía comandos y usa el terminal o el explorador de archivos para una gestión más profunda. Los agentes CDAP reportan métricas automáticamente.",
|
||
"chat_contacts_title": "Contactos",
|
||
"chat_contacts_text": "Selecciona operadores, agentes o grupos para una conversación.",
|
||
"chat_send_title": "Enviar mensajes",
|
||
"chat_send_text": "Escribe mensajes, envía archivos y usa confirmaciones de lectura.",
|
||
"chat_file_title": "Compartir archivos",
|
||
"chat_file_text": "Los archivos se transfieren cifrados cuando el cifrado de extremo a extremo está activo.",
|
||
"chat_complete_title": "Chat listo",
|
||
"chat_complete_text": "Ya puedes comunicarte de forma segura con usuarios y operadores.",
|
||
"disable_tutorials": "Deshabilitar tutoriales",
|
||
"enable_tutorials": "Habilitar tutoriales"
|
||
},
|
||
"help_request": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"new_request": "Nueva solicitud de ayuda",
|
||
"device": "Dispositivo",
|
||
"hostname": "Nombre de host",
|
||
"message": "Message",
|
||
"status": "Estado",
|
||
"pending": "Pending",
|
||
"accepted": "Accepted",
|
||
"resolved": "Resolved",
|
||
"accept": "Accept",
|
||
"resolve": "Resolve",
|
||
"no_requests": "Sin solicitudes de ayuda",
|
||
"notification": "Notificación de solicitud de ayuda",
|
||
"stats_total": "Total",
|
||
"filter_all": "Todos"
|
||
},
|
||
"organizations": {
|
||
"title": "Panel",
|
||
"create": "Crear",
|
||
"edit": "Editar",
|
||
"detail": "Detalle del ticket",
|
||
"name": "Name",
|
||
"slug": "Slug",
|
||
"logo_url": "Logo URL",
|
||
"users": "Usuarios",
|
||
"devices": "Dispositivos",
|
||
"invitations": "Invitations",
|
||
"settings": "Configuración",
|
||
"add_user": "Añadir usuario",
|
||
"assign_device": "Asignar dispositivo",
|
||
"create_invitation": "Crear invitación",
|
||
"delete_confirm": "¿Eliminar esta organización? Se eliminarán todos los usuarios, dispositivos y ajustes asociados.",
|
||
"no_orgs": "Sin organizaciones",
|
||
"no_orgs_hint": "Crea una organización para administrar usuarios y dispositivos por separado.",
|
||
"connection_policy": "Política de conexión",
|
||
"allow_file_transfer": "Permitir transferencia de archivos",
|
||
"allow_clipboard": "Permitir portapapeles",
|
||
"max_session_duration": "Duración máxima de sesión",
|
||
"role_owner": "Propietario (admin org.)",
|
||
"role_admin": "Administrador",
|
||
"role_operator": "Operador",
|
||
"role_user": "Miembro",
|
||
"username": "Nombre de usuario",
|
||
"password": "Contraseña",
|
||
"display_name": "Nombre visible",
|
||
"email": "Email",
|
||
"role": "Role",
|
||
"last_login": "Last Login",
|
||
"actions": "Actions",
|
||
"device_id": "ID del dispositivo",
|
||
"department": "Department",
|
||
"building": "Building",
|
||
"location": "Location",
|
||
"assigned_user": "Usuario asignado",
|
||
"token": "Token",
|
||
"expires": "Expires",
|
||
"used": "Used",
|
||
"no_users": "Sin usuarios",
|
||
"no_devices": "Sin dispositivos",
|
||
"no_invitations": "Sin invitaciones",
|
||
"user_added": "User added",
|
||
"user_removed": "Usuario eliminado",
|
||
"user_updated": "Usuario actualizado",
|
||
"device_assigned": "Dispositivo asignado",
|
||
"device_unassigned": "Dispositivo desasignado",
|
||
"invitation_created": "Invitación creada",
|
||
"settings_saved": "Configuración de organización guardada",
|
||
"org_deleted": "Organización eliminada",
|
||
"confirm_remove_user": "¿Quitar este usuario de la organización?",
|
||
"confirm_unassign_device": "¿Quitar este dispositivo de la organización?",
|
||
"confirm_delete_org": "¿Eliminar esta organización de forma permanente?",
|
||
"edit_role": "Editar rol",
|
||
"raw_settings": "Configuración sin procesar",
|
||
"key": "Key",
|
||
"value": "Value",
|
||
"save": "Guardar",
|
||
"policy_unattended": "Acceso no supervisado",
|
||
"policy_attended": "Acceso supervisado",
|
||
"policy_ask": "Always ask",
|
||
"expires_hours": "Caduca en horas",
|
||
"loading_failed": "No se pudieron cargar las organizaciones",
|
||
"name_slug_required": "Nombre y slug son obligatorios",
|
||
"org_created": "Organización creada",
|
||
"org_updated": "Organización actualizada",
|
||
"create_new_user": "Crear usuario nuevo",
|
||
"add_existing_user": "Agregar usuario existente",
|
||
"none_available": "none",
|
||
"select_user": "Seleccionar usuario",
|
||
"org_role": "Rol de organización",
|
||
"link_user_hint": "Vincula un usuario existente con esta organización.",
|
||
"no_available_users": "No hay usuarios disponibles",
|
||
"user_linked": "Usuario vinculado",
|
||
"device_groups_tab": "Grupos de dispositivos",
|
||
"device_groups_intro": "Los grupos de dispositivos vinculados a esta organización definen a qué máquinas pueden acceder los miembros en el cliente RustDesk. Configure membresía y acceso en la página Dispositivos.",
|
||
"manage_in_devices": "Abrir Dispositivos → Grupos",
|
||
"no_org_device_groups": "Aún no hay grupos de dispositivos vinculados a esta organización.",
|
||
"create_org_device_group": "Crear grupo de dispositivos",
|
||
"org_device_group_created": "Grupo de dispositivos creado",
|
||
"org_user_groups_title": "Grupos de usuarios",
|
||
"org_user_groups_intro": "Los grupos de usuarios vinculados a la organización pueden obtener acceso a los grupos de dispositivos anteriores (Dispositivos → Grupos → Grupos de usuarios permitidos).",
|
||
"no_org_user_groups": "No hay grupos de usuarios vinculados a esta organización.",
|
||
"group_name": "Name",
|
||
"group_type": "Type",
|
||
"group_members": "Dispositivos",
|
||
"group_type_manual": "Manual",
|
||
"group_type_tag": "Tag",
|
||
"group_allowed_user_groups": "Grupos de usuarios permitidos",
|
||
"group_devices_suffix": "dispositivos",
|
||
"group_name_required": "El nombre del grupo es obligatorio",
|
||
"org_team_id": "ID de equipo de la organización",
|
||
"link_team_id_hint": "El grupo se vinculará automáticamente a esta organización (team ID = ID de organización).",
|
||
"address_book": "Libreta de direcciones",
|
||
"address_book_import_devices": "Importar dispositivos de la organización",
|
||
"address_book_save": "Guardar libreta de direcciones",
|
||
"address_book_intro": "Gestiona los contactos compartidos con los miembros de esta organización. Las entradas personales siguen siendo privadas y tienen prioridad en caso de conflicto.",
|
||
"address_book_enabled": "Compartir esta libreta de direcciones con los miembros de la organización",
|
||
"address_book_json": "JSON de la libreta de direcciones",
|
||
"address_book_json_hint": "Formato heredado de RustDesk, por ejemplo: {\"peers\":[{\"id\":\"123456789\",\"alias\":\"PC oficina\"}],\"tags\":[\"Oficina\"]}",
|
||
"address_book_invalid_json": "La libreta de direcciones debe ser JSON válido",
|
||
"address_book_peers_array_required": "Los peers de la libreta de direcciones deben ser un array",
|
||
"address_book_tags_array_required": "Las etiquetas de la libreta de direcciones deben ser un array",
|
||
"address_book_saved": "Libreta de direcciones guardada",
|
||
"address_book_save_failed": "No se pudo guardar la libreta de direcciones",
|
||
"address_book_imported": "Dispositivos de la organización importados",
|
||
"address_book_import_none": "No hay nuevos dispositivos de la organización para importar",
|
||
"address_book_contacts": "Shared contacts",
|
||
"address_book_add_peer": "Add contact",
|
||
"address_book_peer_id": "Device ID",
|
||
"address_book_alias": "Alias",
|
||
"address_book_peer_tags": "Contact tags",
|
||
"address_book_peer_tags_placeholder": "office, support",
|
||
"address_book_tags_label": "Global tags",
|
||
"address_book_tags_placeholder": "Office, Support",
|
||
"address_book_tags_hint": "Comma-separated tags available in the RustDesk client address book.",
|
||
"address_book_no_peers": "No contacts yet — add a device ID or import organization devices.",
|
||
"address_book_show_json": "Advanced JSON",
|
||
"address_book_hide_json": "Structured editor"
|
||
},
|
||
"chat": {
|
||
"e2e_enabled": "Cifrado de extremo a extremo",
|
||
"e2e_establishing": "Estableciendo canal seguro...",
|
||
"e2e_established": "Canal seguro establecido",
|
||
"e2e_unsupported": "Cifrado E2E no compatible con este navegador",
|
||
"typing_indicator": "escribiendo...",
|
||
"read_receipt": "Leído",
|
||
"delivered": "Entregado",
|
||
"file_share": "Archivo",
|
||
"file_too_large": "Archivo demasiado grande (máx. 50MB)",
|
||
"file_encrypted": "Transferencia de archivo cifrada",
|
||
"presence_online": "En línea",
|
||
"presence_away": "Ausente",
|
||
"presence_busy": "Ocupado",
|
||
"presence_offline": "Desconectado",
|
||
"key_rotation": "Claves de seguridad renovadas",
|
||
"new_message": "Nuevo mensaje",
|
||
"title": "Panel",
|
||
"contacts": "Contactos",
|
||
"groups": "Grupos",
|
||
"no_contacts": "Aún no hay contactos",
|
||
"no_groups": "Aún no hay grupos",
|
||
"no_messages": "Aún no hay mensajes",
|
||
"no_results": "No se encontraron resultados",
|
||
"select_conversation": "Seleccione una conversación para comenzar a chatear",
|
||
"select_conversation_hint": "Selecciona una conversación para ver los mensajes",
|
||
"type_message": "Escriba un mensaje...",
|
||
"send": "Enviar",
|
||
"attach_file": "Adjuntar archivo",
|
||
"emoji": "Emoji",
|
||
"info": "Información",
|
||
"search_messages": "Buscar mensajes",
|
||
"create_group": "Crear grupo",
|
||
"group_name": "Nombre del grupo",
|
||
"group_name_placeholder": "Introduce el nombre del grupo",
|
||
"group_members": "Miembros",
|
||
"cancel": "Cancelar",
|
||
"create": "Crear",
|
||
"members": "miembros",
|
||
"today": "Hoy",
|
||
"yesterday": "Ayer",
|
||
"react": "Reaccionar",
|
||
"my_presence": "Mi estado",
|
||
"search_placeholder": "Buscar dispositivos..."
|
||
},
|
||
"toast": {
|
||
"device_connected": "Dispositivo conectado",
|
||
"device_disconnected": "Dispositivo desconectado",
|
||
"session_started": "Sesión iniciada",
|
||
"session_ended": "Sesión finalizada",
|
||
"file_upload_complete": "Carga de archivo completada",
|
||
"settings_saved": "Configuración guardada",
|
||
"error_generic": "Se produjo un error",
|
||
"connection_lost": "Conexión perdida",
|
||
"reconnecting": "Reconectando"
|
||
},
|
||
"theme": {
|
||
"dark": "Dark",
|
||
"light": "Light",
|
||
"auto": "System",
|
||
"title": "Panel"
|
||
},
|
||
"days": {
|
||
"mon": "Mon",
|
||
"tue": "Tue",
|
||
"wed": "Wed",
|
||
"thu": "Thu",
|
||
"fri": "Fri",
|
||
"sat": "Sat",
|
||
"sun": "Sun"
|
||
},
|
||
"toolkit": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"cat_network": "Network",
|
||
"cat_crypto": "Crypto",
|
||
"cat_encoding": "Encoding",
|
||
"cat_system": "System",
|
||
"host": "Host",
|
||
"port": "Puerto",
|
||
"domain": "Domain",
|
||
"run": "Run",
|
||
"generate": "Generar configuración",
|
||
"encode": "Encode",
|
||
"decode": "Decode",
|
||
"send": "Enviar",
|
||
"refresh": "Actualizar",
|
||
"algorithm": "Algorithm",
|
||
"input_text": "Input Text",
|
||
"enter_text": "Introduce texto...",
|
||
"length": "Length",
|
||
"options": "Options",
|
||
"source": "Source",
|
||
"lines": "Lines",
|
||
"log_console": "Console",
|
||
"log_go": "Servidor Go",
|
||
"mac_address": "Dirección MAC",
|
||
"broadcast": "Broadcast",
|
||
"ping_title": "Ping",
|
||
"ping_desc": "Comprobar disponibilidad y latencia de un host",
|
||
"tcp_title": "Comprobación de puerto TCP",
|
||
"tcp_desc": "Probar conectividad de un puerto TCP",
|
||
"ssl_title": "Inspector SSL",
|
||
"ssl_desc": "Inspeccionar detalles del certificado SSL/TLS",
|
||
"http_title": "Comprobación de estado HTTP",
|
||
"http_desc": "Comprobar el estado de un endpoint HTTP",
|
||
"dns_title": "DNS Lookup",
|
||
"dns_desc": "Resolver un hostname a dirección IP",
|
||
"whois_title": "DNS Records",
|
||
"whois_desc": "Consultar registros A, AAAA, MX, TXT y NS",
|
||
"speed_title": "Speed Test",
|
||
"speed_desc": "Medir el ancho de banda de descarga",
|
||
"run_speed_test": "Ejecutar prueba de velocidad",
|
||
"wol_title": "Wake-on-LAN",
|
||
"wol_desc": "Enviar un paquete mágico para despertar un dispositivo",
|
||
"wol_sent": "Paquete mágico enviado",
|
||
"hash_title": "Generador de hashes",
|
||
"hash_desc": "Generar hashes criptográficos",
|
||
"password_title": "Generador de contraseñas",
|
||
"password_desc": "Actualizar la contraseña de su cuenta",
|
||
"jwt_title": "JWT Decoder",
|
||
"jwt_desc": "Decodificar e inspeccionar JSON Web Tokens",
|
||
"jwt_token": "JWT Token",
|
||
"base64_title": "Base64",
|
||
"base64_desc": "Codificar o decodificar datos Base64",
|
||
"url_title": "URL Encoder",
|
||
"url_desc": "Codificar o decodificar componentes de URL",
|
||
"processes_title": "Lista de procesos",
|
||
"processes_desc": "Mostrar procesos del sistema en ejecución",
|
||
"disk_title": "Disk Usage",
|
||
"disk_desc": "Mostrar uso de particiones de disco",
|
||
"db_title": "Estadísticas de base de datos",
|
||
"db_desc": "Mostrar estadísticas de tablas de la base de datos",
|
||
"docker_title": "Contenedores Docker",
|
||
"docker_desc": "Mostrar contenedores Docker en ejecución",
|
||
"logs_title": "Log Viewer",
|
||
"logs_desc": "Mostrar salidas recientes del registro",
|
||
"ip_address": "Dirección IP",
|
||
"latency": "Latency",
|
||
"ttl": "TTL",
|
||
"status": "Estado",
|
||
"resolved": "Resolved",
|
||
"subject": "Subject",
|
||
"issuer": "Issuer",
|
||
"valid_from": "Válido desde",
|
||
"valid_to": "Válido hasta",
|
||
"days_left": "Days Left",
|
||
"days": "days",
|
||
"protocol": "Protocol",
|
||
"cipher": "Cipher",
|
||
"alt_names": "SANs",
|
||
"chain": "Chain",
|
||
"record_type": "Type",
|
||
"record_value": "Value",
|
||
"hash_value": "Hash",
|
||
"entropy": "Entropy",
|
||
"very_strong": "Very Strong",
|
||
"strong": "Strong",
|
||
"weak": "Weak",
|
||
"expiry": "Expiry",
|
||
"expired": "Expired",
|
||
"valid": "Valid",
|
||
"process_name": "Name",
|
||
"db_type": "Type",
|
||
"db_size": "Size",
|
||
"table_name": "Table",
|
||
"row_count": "Rows",
|
||
"no_data": "No hardware data available",
|
||
"no_docker": "No se encontraron contenedores Docker o Docker no está disponible",
|
||
"no_logs": "No hay líneas de registro disponibles"
|
||
},
|
||
"policies": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"select_org": "Organización",
|
||
"select_org_placeholder": "Seleccionar organización...",
|
||
"select_org_first": "Seleccione una organización para ver el registro de auditoría de políticas.",
|
||
"configured": "Configurado",
|
||
"connection_title": "Política de conexión",
|
||
"connection_desc": "Controlar cómo se establecen las sesiones remotas",
|
||
"connection_mode": "Modo de conexión",
|
||
"mode_attended": "Asistido (requiere aprobación del usuario)",
|
||
"mode_unattended": "No asistido (permitir siempre)",
|
||
"mode_ask": "Preguntar siempre",
|
||
"max_session": "Duración máx. de sesión (minutos)",
|
||
"idle_lock": "Bloqueo por inactividad (minutos)",
|
||
"wallpaper_policy": "Fondo durante la sesión",
|
||
"wallpaper_show": "Mostrar",
|
||
"wallpaper_hide_session": "Ocultar durante sesión",
|
||
"wallpaper_hide_always": "Ocultar siempre",
|
||
"features_title": "Política de funciones",
|
||
"features_desc": "Habilitar o deshabilitar funciones específicas para dispositivos",
|
||
"allow_file_transfer": "Permitir transferencia de archivos",
|
||
"allow_clipboard": "Allow Clipboard",
|
||
"allow_audio": "Permitir transmisión de audio",
|
||
"allow_recording": "Permitir grabación de sesión",
|
||
"security_title": "Política de seguridad",
|
||
"security_desc": "Aplicar requisitos de seguridad para dispositivos de la organización",
|
||
"require_2fa": "Requerir 2FA para acceso no asistido",
|
||
"password_min_length": "Longitud mínima de contraseña",
|
||
"password_require_special": "Requerir caracteres especiales",
|
||
"password_max_age": "Edad máx. de contraseña (días, 0=nunca)",
|
||
"allowed_operators": "Allowed Operators",
|
||
"network_title": "Política de red",
|
||
"network_desc": "Controlar servidores relay y conexiones directas",
|
||
"block_direct_p2p": "Bloquear P2P directo (forzar relay)",
|
||
"allowed_relays": "Servidores relay permitidos (uno por línea)",
|
||
"ip_allowlist": "Lista blanca IP (CIDR, uno por línea)",
|
||
"update_title": "Política de actualización",
|
||
"update_desc": "Controlar actualizaciones automáticas y canales de actualización",
|
||
"auto_update": "Habilitar actualización automática",
|
||
"update_channel": "Canal de actualización",
|
||
"audit_title": "Cambios de políticas",
|
||
"audit_desc": "Actividad reciente de la consola",
|
||
"no_audit": "No se registraron cambios de políticas.",
|
||
"save_success": "Política guardada correctamente",
|
||
"save_failed": "No se pudo guardar la política",
|
||
"load_failed": "No se pudieron cargar las políticas",
|
||
"block_direct_p2p_hint": "Se aplica a los dispositivos de esta organización. El valor predeterminado global está en Configuración → Estrategia de conexión."
|
||
},
|
||
"attestation": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"verified": "Verificado",
|
||
"pending": "Pending",
|
||
"failed": "Fallido",
|
||
"device_list": "Registros de atestación",
|
||
"device_list_desc": "Huellas de hardware y estado de verificación de identidad",
|
||
"col_device": "ID de dispositivo",
|
||
"col_hostname": "Nombre de host",
|
||
"col_fingerprint": "Huella",
|
||
"col_status": "Estado",
|
||
"col_last_check": "Última verificación",
|
||
"col_actions": "Acciones",
|
||
"no_records": "No se encontraron registros de atestación.",
|
||
"verify_success": "Dispositivo marcado como verificado",
|
||
"verify_failed": "No se pudo verificar el dispositivo",
|
||
"revoke_success": "Atestación del dispositivo revocada",
|
||
"revoke_failed": "No se pudo revocar la atestación"
|
||
},
|
||
"fleet": {
|
||
"title": "Panel",
|
||
"tab_resources": "Recursos",
|
||
"tab_tasks": "Tareas",
|
||
"tab_builder": "Constructor",
|
||
"tab_compliance": "Cumplimiento",
|
||
"res_title": "Mapeo de recursos",
|
||
"res_all_types": "Todos los tipos",
|
||
"res_type_printer": "Impresora",
|
||
"res_type_network_drive": "Unidad de red",
|
||
"res_type_dns": "Servidor DNS",
|
||
"res_type_proxy": "Proxy",
|
||
"res_type_vpn": "VPN",
|
||
"res_add": "Añadir recurso",
|
||
"res_name": "Nombre del recurso",
|
||
"res_type": "Tipo",
|
||
"res_address": "Dirección / Ruta",
|
||
"res_target": "Destino",
|
||
"res_scope": "Alcance",
|
||
"res_scope_org": "Organización",
|
||
"res_scope_group": "Grupo",
|
||
"res_scope_device": "Dispositivo",
|
||
"res_scope_value": "Valor del alcance",
|
||
"res_status": "Estado",
|
||
"res_active": "Activo",
|
||
"res_inactive": "Inactivo",
|
||
"res_no_data": "No se encontraron recursos. Haga clic en 'Añadir recurso'.",
|
||
"res_confirm_delete": "¿Está seguro de que desea eliminar este recurso?",
|
||
"task_title": "Programador de tareas",
|
||
"task_all_status": "Todos los estados",
|
||
"task_status_pending": "Pendiente",
|
||
"task_status_running": "En ejecución",
|
||
"task_status_success": "Éxito",
|
||
"task_status_failed": "Fallido",
|
||
"task_search": "Buscar tareas…",
|
||
"task_create": "Crear tarea",
|
||
"task_name": "Nombre de la tarea",
|
||
"task_type": "Tipo",
|
||
"task_type_script": "Script",
|
||
"task_type_install": "Instalación",
|
||
"task_type_update": "Actualización",
|
||
"task_type_restart": "Reinicio",
|
||
"task_type_deploy": "Despliegue",
|
||
"task_type_scan": "Escaneo",
|
||
"task_targets": "Destinos",
|
||
"task_targets_help": "IDs de dispositivos o nombres de grupos, separados por comas",
|
||
"task_schedule": "Programación",
|
||
"task_schedule_once": "Una vez",
|
||
"task_schedule_cron": "Cron",
|
||
"task_schedule_interval": "Intervalo",
|
||
"task_schedule_value": "Valor de programación",
|
||
"task_script": "Script / Comando",
|
||
"task_retries": "Reintentos",
|
||
"task_timeout": "Tiempo límite (s)",
|
||
"task_last_run": "Última ejecución",
|
||
"task_no_data": "No se encontraron tareas. Cree una nueva tarea.",
|
||
"task_confirm_delete": "¿Está seguro de que desea eliminar esta tarea?",
|
||
"task_output": "Salida de la tarea",
|
||
"task_retry": "Reintentar",
|
||
"builder_title": "Constructor de flujos de trabajo",
|
||
"builder_select_workflow": "Seleccionar flujo…",
|
||
"builder_new": "Nuevo",
|
||
"builder_save": "Guardar",
|
||
"builder_export": "Exportar",
|
||
"builder_execute": "Ejecutar",
|
||
"builder_dry_run": "Simulación",
|
||
"builder_triggers": "Disparadores",
|
||
"builder_conditions": "Condiciones",
|
||
"builder_actions": "Acciones",
|
||
"builder_results": "Resultados",
|
||
"builder_transforms": "Transformaciones",
|
||
"builder_properties": "Propiedades",
|
||
"builder_no_selection": "Seleccione un nodo para editar sus propiedades.",
|
||
"builder_node_trigger_manual": "Disparador manual",
|
||
"builder_node_trigger_schedule": "Schedule",
|
||
"builder_node_trigger_event": "Disparador por evento",
|
||
"builder_node_cond_os": "OS Check",
|
||
"builder_node_cond_threshold": "Threshold",
|
||
"builder_node_cond_time_window": "Time Window",
|
||
"builder_node_action_script": "Run Script",
|
||
"builder_node_action_install": "Install SW",
|
||
"builder_node_action_restart": "Reiniciar servicio",
|
||
"builder_node_action_file_deploy": "Desplegar archivo",
|
||
"builder_node_action_message": "Enviar mensaje",
|
||
"builder_node_result_log": "Log Output",
|
||
"builder_node_result_alert": "Enviar alerta",
|
||
"builder_node_result_chain": "Encadenar flujo",
|
||
"builder_node_transform_parse": "Parse JSON",
|
||
"builder_node_transform_filter": "Filter",
|
||
"builder_node_transform_delay": "Delay",
|
||
"workflow_name": "Nombre del flujo:",
|
||
"comp_title": "Cumplimiento de software",
|
||
"comp_compliant": "Conforme",
|
||
"comp_warning": "Advertencia",
|
||
"comp_critical": "Crítico",
|
||
"comp_score": "Puntuación media",
|
||
"comp_device": "Dispositivo",
|
||
"comp_hostname": "Nombre de host",
|
||
"comp_os": "SO",
|
||
"comp_score_col": "Puntuación",
|
||
"comp_issues": "Problemas",
|
||
"comp_last_scan": "Último escaneo",
|
||
"comp_scan": "Escanear",
|
||
"comp_scan_all": "Escanear todo",
|
||
"comp_remediate": "Remediar",
|
||
"comp_remediate_confirm": "¿Ejecutar auto-remediación en este dispositivo?",
|
||
"comp_no_data": "Sin datos de cumplimiento. Ejecute un escaneo.",
|
||
"save": "Guardar",
|
||
"cancel": "Cancelar",
|
||
"close": "Cerrar",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"actions": "Acciones",
|
||
"all_orgs": "Todas las organizaciones",
|
||
"select_org_placeholder": "Seleccionar organización...",
|
||
"all_types": "All Types",
|
||
"type_printer": "Printer",
|
||
"type_network_drive": "Unidad de red",
|
||
"type_dns": "Servidor DNS",
|
||
"type_vpn": "VPN",
|
||
"type_proxy": "Proxy",
|
||
"add_resource": "Agregar recurso",
|
||
"edit_resource": "Editar recurso",
|
||
"col_name": "Name",
|
||
"col_type": "Type",
|
||
"col_target": "Target",
|
||
"col_scope": "Scope",
|
||
"col_status": "Estado",
|
||
"col_actions": "Acciones",
|
||
"no_resources": "No resources found.",
|
||
"active": "Activo",
|
||
"inactive": "Inactivo",
|
||
"address": "Dirección / ruta",
|
||
"scope_org": "Organización",
|
||
"scope_group": "Grupo",
|
||
"scope_device": "Dispositivo objetivo",
|
||
"scope_value": "Scope Value",
|
||
"scope_value_hint": "Organization, group, or device ID",
|
||
"confirm_delete": "¿Seguro que quieres eliminar este elemento?",
|
||
"all_statuses": "Todos los estados",
|
||
"status_pending": "Pendiente",
|
||
"status_running": "En ejecución",
|
||
"status_success": "Success",
|
||
"status_failed": "Fallido",
|
||
"search_tasks": "Buscar tareas...",
|
||
"create_task": "Crear tarea",
|
||
"edit_task": "Editar tarea",
|
||
"col_task_name": "Task Name",
|
||
"col_task_type": "Type",
|
||
"col_schedule": "Schedule",
|
||
"col_last_run": "Last Run",
|
||
"no_tasks": "No tasks found.",
|
||
"task_type_file_deploy": "Despliegue de archivo",
|
||
"task_type_registry": "Registry",
|
||
"target_devices": "Dispositivos objetivo",
|
||
"target_hint": "Device IDs or group names",
|
||
"schedule_immediate": "Immediate",
|
||
"schedule_once": "Once",
|
||
"schedule_cron": "Cron",
|
||
"cron_placeholder": "*/5 * * * *",
|
||
"script_content": "Script / comando",
|
||
"retry_count": "Retries",
|
||
"timeout_sec": "Timeout (s)",
|
||
"loading": "Cargando...",
|
||
"no_output": "No hay salida disponible",
|
||
"error_loading": "Error al cargar datos",
|
||
"select_workflow": "Seleccionar flujo...",
|
||
"new_workflow": "New",
|
||
"export": "Exportar",
|
||
"execute": "Execute",
|
||
"dry_run": "Dry Run",
|
||
"node_triggers": "Triggers",
|
||
"node_manual": "Disparador manual",
|
||
"node_schedule": "Schedule",
|
||
"node_event": "Disparador por evento",
|
||
"node_conditions": "Conditions",
|
||
"node_os_check": "OS Check",
|
||
"node_threshold": "Threshold",
|
||
"node_time_window": "Time Window",
|
||
"node_actions": "Actions",
|
||
"node_run_script": "Run Script",
|
||
"node_install": "Install SW",
|
||
"node_restart": "Reiniciar servicio",
|
||
"node_file_deploy": "Desplegar archivo",
|
||
"node_send_message": "Enviar mensaje",
|
||
"node_results": "Results",
|
||
"node_log_output": "Log Output",
|
||
"node_send_alert": "Enviar alerta",
|
||
"node_chain": "Encadenar flujo",
|
||
"node_transforms": "Transforms",
|
||
"node_parse_json": "Parse JSON",
|
||
"node_filter": "Filter",
|
||
"node_delay": "Delay",
|
||
"node_properties": "Properties",
|
||
"all_organizations": "Todas las organizaciones",
|
||
"scan_all": "Scan All",
|
||
"compliant": "Compliant",
|
||
"non_compliant": "Warning",
|
||
"critical_issues": "Critical",
|
||
"avg_score": "Avg. Score",
|
||
"col_device": "ID de dispositivo",
|
||
"col_hostname": "Nombre de host",
|
||
"col_os": "OS",
|
||
"col_score": "Score",
|
||
"col_issues": "Issues",
|
||
"col_last_scan": "Last Scan",
|
||
"no_compliance_data": "No compliance data available.",
|
||
"confirm_remediate": "¿Ejecutar remediación automática en este dispositivo?"
|
||
},
|
||
"scaling": {
|
||
"title": "Panel",
|
||
"tab_overview": "Resumen",
|
||
"tab_relays": "Nodos de relé",
|
||
"tab_rules": "Reglas de asignación",
|
||
"tab_capacity": "Planificación de capacidad",
|
||
"arch_title": "Arquitectura de red",
|
||
"arch_loading": "Cargando diagrama de arquitectura...",
|
||
"stat_relay_nodes": "Nodos de relé",
|
||
"stat_total_devices": "Dispositivos totales",
|
||
"stat_active_sessions": "Sesiones activas",
|
||
"stat_bandwidth": "Ancho de banda total",
|
||
"relay_health": "Estado de relés",
|
||
"no_relays": "No hay nodos de relé configurados. Agregue su primer nodo para distribuir la carga.",
|
||
"relay_search": "Buscar relés...",
|
||
"relay_add": "Agregar nodo de relé",
|
||
"relay_edit": "Editar nodo de relé",
|
||
"col_name": "Name",
|
||
"col_address": "Dirección",
|
||
"col_location": "Ubicación",
|
||
"col_devices": "Dispositivos",
|
||
"col_sessions": "Sesiones",
|
||
"col_bandwidth": "Ancho de banda",
|
||
"col_status": "Estado",
|
||
"col_actions": "Acciones",
|
||
"col_priority": "Prioridad",
|
||
"col_rule_name": "Nombre de regla",
|
||
"col_match": "Coincidencia",
|
||
"col_target_relay": "Relé destino",
|
||
"col_fallback": "Respaldo",
|
||
"status_online": "En línea",
|
||
"status_degraded": "Degradado",
|
||
"status_offline": "Fuera de línea",
|
||
"status_enabled": "Habilitado",
|
||
"status_disabled": "Deshabilitado",
|
||
"confirm_delete_relay": "¿Está seguro de que desea eliminar este nodo de relé?",
|
||
"confirm_delete_rule": "¿Está seguro de que desea eliminar esta regla de asignación?",
|
||
"rules_hint": "Las reglas de asignación determinan qué servidor de relé maneja grupos de dispositivos específicos. Las reglas se evalúan por prioridad (la más baja primero).",
|
||
"no_rules": "No hay reglas de asignación.",
|
||
"rule_add": "Agregar regla",
|
||
"rule_edit": "Editar regla",
|
||
"rule_match_type": "Tipo de coincidencia",
|
||
"match_subnet": "Subred",
|
||
"match_group": "Grupo de dispositivos",
|
||
"match_tag": "Etiqueta de dispositivo",
|
||
"match_location": "Ubicación",
|
||
"rule_match_value": "Valor de coincidencia",
|
||
"fallback_master": "Servidor maestro",
|
||
"fallback_nearest": "Relé más cercano",
|
||
"relay_max_sessions": "Máx. sesiones",
|
||
"relay_max_bandwidth": "Máx. ancho de banda (Mbps)",
|
||
"cap_tiers": "Niveles de capacidad",
|
||
"cap_loading": "Cargando datos de capacidad...",
|
||
"cap_recommendations": "Recomendaciones",
|
||
"cap_no_recs": "No hay recomendaciones disponibles.",
|
||
"cap_planning": "Planificación de infraestructura",
|
||
"cap_config": "Configuración",
|
||
"cap_max_devices": "Máx. dispositivos",
|
||
"cap_max_sessions": "Máx. sesiones",
|
||
"cap_current": "Actual",
|
||
"cap_utilization": "Utilización",
|
||
"cap_tier_devices": "Capacidad de dispositivos",
|
||
"cap_tier_sessions": "Capacidad de sesiones",
|
||
"cap_tier_bandwidth": "Capacidad de ancho de banda",
|
||
"cap_single_sqlite": "Servidor único (SQLite)",
|
||
"cap_single_pg": "Servidor único (PostgreSQL)",
|
||
"cap_master_3": "Maestro + 3 relés",
|
||
"cap_master_10": "Maestro + 10 relés",
|
||
"rec_no_relays": "No hay nodos configurados. Considere agregar relés para mejor rendimiento y redundancia.",
|
||
"rec_devices_high": "La utilización de dispositivos es alta. Considere agregar más nodos de relé.",
|
||
"rec_sessions_high": "La capacidad de sesiones se acerca al límite. Considere actualizar la infraestructura.",
|
||
"rec_cpu_high": "Algunos nodos reportan alto uso de CPU. Considere balanceo de carga.",
|
||
"rec_all_good": "Todos los sistemas operan dentro de parámetros normales. No se requiere acción.",
|
||
"save": "Guardar",
|
||
"cancel": "Cancelar",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"close": "Cerrar",
|
||
"relays_info_banner": "Esta lista es informativa. Los servidores relay usados realmente por los clientes se configuran mediante la variable de entorno RELAY_SERVERS en el servidor BetterDesk.",
|
||
"relay_name_address_required": "El nombre y la dirección son obligatorios.",
|
||
"relay_save_failed": "No se pudo guardar el nodo relay.",
|
||
"relay_delete_failed": "No se pudo eliminar el nodo relay.",
|
||
"relay_saved": "Nodo relay guardado.",
|
||
"relay_deleted": "Nodo relay eliminado.",
|
||
"rule_name_value_required": "El nombre de la regla y el valor de coincidencia son obligatorios.",
|
||
"rule_save_failed": "No se pudo guardar la regla.",
|
||
"rule_delete_failed": "No se pudo eliminar la regla.",
|
||
"rule_saved": "Regla guardada.",
|
||
"rule_deleted": "Regla eliminada."
|
||
},
|
||
"cross_platform": {
|
||
"title": "Panel",
|
||
"tab_matrix": "Matriz de compatibilidad",
|
||
"tab_distribution": "Distribución",
|
||
"tab_protocols": "Protocolos",
|
||
"tab_limitations": "Limitaciones",
|
||
"matrix_hint": "Matriz de soporte de funciones para todas las plataformas compatibles. Verde = soporte completo, Amarillo = parcial, Gris = no disponible, Azul = planificado.",
|
||
"col_feature": "Función",
|
||
"legend_full": "Soporte completo",
|
||
"legend_partial": "Soporte parcial",
|
||
"legend_none": "No disponible",
|
||
"legend_planned": "Planificado",
|
||
"platform_breakdown": "Distribución por plataforma",
|
||
"arch_breakdown": "Distribución por arquitectura",
|
||
"version_breakdown": "Distribución por versión",
|
||
"summary": "Resumen",
|
||
"total_devices": "Total de dispositivos",
|
||
"unique_platforms": "Plataformas",
|
||
"unique_archs": "Arquitecturas",
|
||
"unique_versions": "Versiones de cliente",
|
||
"no_devices": "No se encontraron dispositivos con datos de inventario",
|
||
"protocols_hint": "La negociación de capacidades del protocolo asegura que cada cliente reciba solo las funciones que soporta. El servidor adapta su comportamiento basándose en las capacidades reportadas.",
|
||
"capability_negotiation": "Negociación de capacidades",
|
||
"codec_support": "Soporte de códecs (dispositivos en línea)",
|
||
"feature_support": "Soporte de funciones (dispositivos en línea)",
|
||
"no_codec_data": "No hay datos de códecs de dispositivos en línea.",
|
||
"no_feature_data": "No hay datos de funciones de dispositivos en línea.",
|
||
"protobuf_schema": "Esquema Protobuf ClientCapabilities",
|
||
"diagram_client": "Cliente",
|
||
"diagram_server": "Servidor BetterDesk",
|
||
"diagram_peer": "Peer remoto",
|
||
"limitations_hint": "Cada plataforma tiene limitaciones específicas que afectan las funciones disponibles. Revíselas al planificar implementaciones.",
|
||
"feat_desktop_client": "Cliente de escritorio",
|
||
"feat_background_agent": "Agente en segundo plano",
|
||
"feat_remote_target": "Objetivo remoto",
|
||
"feat_screen_capture": "Captura de pantalla",
|
||
"feat_input_injection": "Inyección de entrada",
|
||
"feat_file_transfer": "Transferencia de archivos",
|
||
"feat_clipboard_sync": "Sincronización de portapapeles",
|
||
"feat_audio_streaming": "Transmisión de audio",
|
||
"feat_chat": "Chat",
|
||
"feat_h264": "Códec H.264",
|
||
"feat_vp9": "Códec VP9",
|
||
"feat_av1": "Códec AV1",
|
||
"feat_cdap_agent": "Agente CDAP",
|
||
"platform_windows": "Windows",
|
||
"platform_linux": "Linux",
|
||
"platform_macos": "macOS",
|
||
"platform_android": "Android",
|
||
"platform_ios": "iOS",
|
||
"platform_web": "Navegador web",
|
||
"platform_chromeos": "ChromeOS",
|
||
"status_production": "Producción",
|
||
"status_testing": "Pruebas",
|
||
"status_planned": "Planificado",
|
||
"status_limited": "Limitado",
|
||
"status_experimental": "Experimental",
|
||
"limit_win_uac": "Se requiere elevación UAC para instalación de servicio e inyección de entrada en escritorios seguros.",
|
||
"limit_win_service": "Se ejecuta como servicio NSSM; requiere derechos de administrador para instalar.",
|
||
"limit_win_firewall": "Las reglas del Firewall de Windows deben permitir los puertos 21115-21119 para conexiones relay.",
|
||
"limit_linux_wayland": "Los compositores Wayland restringen la captura programática de pantalla; se requiere API de portal PipeWire.",
|
||
"limit_linux_pipewire": "La captura de audio requiere PipeWire; alternativa PulseAudio disponible pero limitada.",
|
||
"limit_linux_arm": "Compilaciones ARM64 disponibles; algunos códecs pueden usar decodificación por software (más lento).",
|
||
"limit_mac_screen": "Se requiere permiso de grabación de pantalla en Configuración del Sistema > Privacidad y Seguridad.",
|
||
"limit_mac_signing": "El agente debe estar firmado con Apple Developer ID para distribución.",
|
||
"limit_mac_notarize": "Se requiere notarización para macOS Gatekeeper (distribución fuera de App Store).",
|
||
"limit_android_projection": "La API MediaProjection requiere consentimiento del usuario para cada sesión de captura de pantalla.",
|
||
"limit_android_accessibility": "La inyección de entrada requiere AccessibilityService; restringido desde Android 14+.",
|
||
"limit_android_battery": "Servicio en segundo plano limitado por modo Doze; puede necesitar exención de optimización de batería.",
|
||
"limit_ios_capture": "Apple prohíbe la captura de pantalla en segundo plano; solo modo visor soportado.",
|
||
"limit_ios_input": "No se permite inyección de entrada; solo vista remota y chat.",
|
||
"limit_ios_appstore": "Distribución solo a través de App Store; TestFlight para pruebas beta.",
|
||
"limit_web_https": "La API WebCodecs y WebRTC requieren HTTPS; HTTP recurre a JMuxer (códecs limitados).",
|
||
"limit_web_codec": "Soporte de códecs depende del navegador; H.264 ampliamente soportado, VP9/AV1 varía.",
|
||
"limit_web_performance": "Rendimiento limitado por sandbox del navegador; sin aceleración de hardware directa.",
|
||
"limit_chrome_crostini": "Soporte completo de agente solo dentro del contenedor Linux Crostini.",
|
||
"limit_chrome_pwa": "El modo PWA proporciona solo capacidades web; sin funciones nativas de agente.",
|
||
"limit_chrome_input": "Inyección de entrada fuera del contenedor Crostini no soportada.",
|
||
"feat_multi_monitor": "Múltiples monitores",
|
||
"feat_session_recording": "Grabación de sesión",
|
||
"feat_unattended_access": "Acceso desatendido",
|
||
"limit_linux_unprivileged": "Los servicios se ejecutan bajo la cuenta sin privilegios dedicada «betterdesk» con endurecimiento de systemd (NoNewPrivileges, ProtectSystem=strict).",
|
||
"limit_win_virtual_account": "Los servicios se ejecutan bajo cuentas virtuales aisladas en lugar de LocalSystem; las rutas de registro personalizadas pueden necesitar ajuste de ACL."
|
||
},
|
||
"security_audit": {
|
||
"title": "Panel",
|
||
"tab_overview": "Resumen",
|
||
"tab_events": "Events",
|
||
"tab_hardening": "Endurecimiento",
|
||
"tab_vulnerabilities": "Vulnerabilidades",
|
||
"security_score": "Puntuación de seguridad",
|
||
"failed_logins": "Inicios de sesión fallidos (24h)",
|
||
"active_bans": "Bloqueos activos",
|
||
"api_keys": "Claves API",
|
||
"old_keys": "Claves antiguas (>90d)",
|
||
"security_checks": "Verificaciones de seguridad",
|
||
"tls_status": "Estado TLS",
|
||
"pass": "OK",
|
||
"warning": "Advertencia",
|
||
"fail": "Fallo",
|
||
"tls_signal": "Signal TLS",
|
||
"tls_relay": "Relay TLS",
|
||
"tls_api": "API TLS",
|
||
"tls_wss": "WebSockets seguros",
|
||
"enabled": "Activado",
|
||
"disabled": "Desactivado",
|
||
"all_events": "Todos los eventos",
|
||
"event_login_failed": "Inicio de sesión fallido",
|
||
"event_login_success": "Inicio de sesión exitoso",
|
||
"event_peer_banned": "Dispositivo bloqueado",
|
||
"event_ip_banned": "IP bloqueada",
|
||
"event_config_changed": "Configuración cambiada",
|
||
"event_key_created": "Clave creada",
|
||
"refresh": "Actualizar",
|
||
"col_time": "Hora",
|
||
"col_action": "Acción",
|
||
"col_actor": "Actor",
|
||
"col_target": "Target",
|
||
"col_ip": "Dirección IP",
|
||
"col_details": "Detalles",
|
||
"no_events": "No se registraron eventos DLP",
|
||
"hardening_hint": "Prioridades de endurecimiento de seguridad para su implementación BetterDesk. Ordenados por gravedad.",
|
||
"no_hardening": "No hay elementos de endurecimiento disponibles.",
|
||
"vuln_hint": "Resultados del escaneo de vulnerabilidades de dependencias. Ejecute npm audit regularmente.",
|
||
"no_vulns": "No se encontraron vulnerabilidades. Sus dependencias son seguras."
|
||
},
|
||
"languages": {
|
||
"title": "Panel",
|
||
"total_languages": "Idiomas totales",
|
||
"fully_translated": "Completamente traducido",
|
||
"needs_review": "Requiere revisión",
|
||
"reference_keys": "Claves de referencia",
|
||
"no_languages": "No se encontraron archivos de idioma.",
|
||
"badge_reference": "Reference",
|
||
"badge_review": "Revisar",
|
||
"badge_complete": "Complete",
|
||
"coverage": "coverage",
|
||
"keys": "keys",
|
||
"missing": "missing",
|
||
"extra": "extra",
|
||
"view_missing": "Ver elementos faltantes",
|
||
"fix_missing": "Fix Missing",
|
||
"missing_keys_for": "Claves faltantes para",
|
||
"missing_keys_count": "keys missing (English fallback values shown)",
|
||
"and_more": "y {n} más...",
|
||
"all_keys_present": "¡Todas las claves están presentes!",
|
||
"confirm_fix": "Add missing keys to {code} with English fallback values?",
|
||
"fixed_title": "Keys Fixed",
|
||
"fixed_msg": "Las claves faltantes en {code} deben traducirse manualmente.",
|
||
"no_fix_needed": "No hay claves faltantes que completar."
|
||
},
|
||
"resource_control": {
|
||
"title": "Panel",
|
||
"tab_overview": "Resumen",
|
||
"tab_usb": "USB Control",
|
||
"tab_optical": "Unidades ópticas",
|
||
"tab_monitors": "Monitors",
|
||
"tab_disks": "Disk Access",
|
||
"tab_quotas": "Cuotas de recursos",
|
||
"compliance_by_category": "Cumplimiento por categoría",
|
||
"device_compliance": "Cumplimiento de dispositivos",
|
||
"search_devices": "Buscar dispositivos...",
|
||
"col_device": "ID de dispositivo",
|
||
"col_platform": "Plataforma",
|
||
"col_status": "Estado",
|
||
"col_usb": "USB",
|
||
"col_optical": "Optical",
|
||
"col_monitors": "Monitors",
|
||
"col_disks": "Disks",
|
||
"col_quotas": "Quotas",
|
||
"col_actions": "Acciones",
|
||
"stat_total_devices": "Dispositivos totales",
|
||
"stat_compliant": "Compliant",
|
||
"stat_partial": "Partial",
|
||
"stat_noncompliant": "Non-Compliant",
|
||
"stat_compliance_rate": "Tasa de cumplimiento",
|
||
"badge_na": "N/A",
|
||
"badge_compliant": "OK",
|
||
"badge_partial": "Partial",
|
||
"badge_noncompliant": "Fail",
|
||
"btn_configure": "Configurar",
|
||
"no_devices": "No se encontraron dispositivos con datos de inventario",
|
||
"usb_title": "Control de puertos USB",
|
||
"usb_hint": "Controla el acceso a dispositivos de almacenamiento USB para el dispositivo seleccionado o la política predeterminada de la organización.",
|
||
"usb_storage_policy": "Política de almacenamiento USB",
|
||
"usb_whitelist": "Dispositivos permitidos (uno por línea)",
|
||
"usb_whitelist_hint": "VID:PID (p. ej. 0781:5583)",
|
||
"usb_audit_log": "Registrar conexiones de dispositivos USB",
|
||
"optical_title": "Control de unidades ópticas",
|
||
"optical_hint": "Controla el acceso a unidades CD/DVD/Blu-ray para el dispositivo seleccionado.",
|
||
"optical_policy": "Política de unidades ópticas",
|
||
"optical_audit_log": "Registrar acceso a unidades ópticas",
|
||
"monitors_title": "Gestión de monitores",
|
||
"monitors_hint": "Configura ajustes de monitores, incluida la cantidad máxima, resolución aplicada, brillo y horarios de energía.",
|
||
"monitors_max_count": "Cantidad máxima de monitores (0 = ilimitado)",
|
||
"monitors_max_hint": "0 significa sin límite",
|
||
"monitors_resolution": "Resolución máxima",
|
||
"monitors_brightness": "Límite de brillo",
|
||
"monitors_power_schedule": "Horario de energía",
|
||
"monitors_power_hint": "p. ej. off:22:00-06:00",
|
||
"disks_title": "Control de acceso a discos",
|
||
"disks_hint": "Configura políticas de acceso a discos, incluido modo solo lectura, requisito de cifrado y visibilidad de particiones.",
|
||
"disks_readonly": "Forzar modo solo lectura",
|
||
"disks_encryption": "Requerir cifrado (BitLocker/LUKS)",
|
||
"disks_smart": "Habilitar supervisión S.M.A.R.T.",
|
||
"disks_hidden": "Particiones ocultas",
|
||
"disks_hidden_hint": "Letras de unidad o puntos de montaje separados por comas",
|
||
"quotas_title": "Cuotas de recursos",
|
||
"quotas_hint": "Define cuotas de CPU, RAM, ancho de banda y disco por usuario para el dispositivo seleccionado.",
|
||
"quotas_cpu": "CPU Limit",
|
||
"quotas_ram": "RAM Limit",
|
||
"quotas_bandwidth": "Límite de ancho de banda (Mbps)",
|
||
"quotas_bandwidth_hint": "0 = ilimitado",
|
||
"quotas_disk_quota": "Cuota de disco (GB)",
|
||
"quotas_disk_hint": "0 = ilimitado",
|
||
"quotas_process_whitelist": "Lista de procesos permitidos (uno por línea)",
|
||
"quotas_process_hint": "p. ej. chrome.exe, code.exe",
|
||
"policy_allowed": "Allowed",
|
||
"policy_blocked": "Blocked",
|
||
"policy_whitelist": "Solo lista permitida",
|
||
"policy_any": "Any"
|
||
},
|
||
"sdk_studio": {
|
||
"title": "Panel",
|
||
"subtitle": "Resumen de su servidor RustDesk",
|
||
"new_flow": "New Flow",
|
||
"open_flow": "Open Flow",
|
||
"save_flow": "Save Flow",
|
||
"import_flow": "Import Flow",
|
||
"run_flow": "Run",
|
||
"debug": "Debug",
|
||
"deploy": "Deploy",
|
||
"undo": "Undo",
|
||
"redo": "Redo",
|
||
"untitled": "Untitled Flow",
|
||
"code_mode": "Code Mode",
|
||
"toggle_grid": "Toggle Grid",
|
||
"zoom_in": "Zoom In",
|
||
"zoom_out": "Zoom Out",
|
||
"zoom_fit": "Fit to Screen",
|
||
"palette": "Node Palette",
|
||
"search_nodes": "Search nodes...",
|
||
"cat_sources": "Sources",
|
||
"cat_processing": "Processing",
|
||
"cat_outputs": "Outputs",
|
||
"empty_title": "No se encontraron dispositivos",
|
||
"empty_desc": "Drag nodes from the palette to start building a flow",
|
||
"browse_templates": "Browse Templates",
|
||
"inspector": "Inspector",
|
||
"select_node": "Select a node to inspect its properties",
|
||
"console": "Console",
|
||
"clear_console": "Clear",
|
||
"console_ready": "Studio ready",
|
||
"label": "Status",
|
||
"configuration": "Configuration",
|
||
"connections": "Connections",
|
||
"inputs": "Inputs",
|
||
"outputs": "Outputs",
|
||
"delete_node": "Delete Node",
|
||
"nodes": "Nodes",
|
||
"wires": "Wires",
|
||
"status_ready": "Ready",
|
||
"status_deployed": "Deployed",
|
||
"flow_name": "Flow Name",
|
||
"flow_desc": "Description",
|
||
"loading": "Cargando...",
|
||
"no_flows": "No saved flows yet",
|
||
"confirm_delete": "Are you sure you want to delete this item?",
|
||
"templates": "Templates",
|
||
"node_modbus_tcp": "Modbus TCP",
|
||
"node_modbus_rtu": "Modbus RTU",
|
||
"node_snmp_poll": "SNMP Poll",
|
||
"node_rest_poll": "REST Poll",
|
||
"node_mqtt_subscribe": "MQTT Subscribe",
|
||
"node_webhook": "Webhook",
|
||
"node_device_telemetry": "Device Telemetry",
|
||
"node_database_query": "Database Query",
|
||
"node_file_watch": "File Watch",
|
||
"node_filter": "Filter",
|
||
"node_transform": "Transform",
|
||
"node_aggregate": "Aggregate",
|
||
"node_delay": "Delay",
|
||
"node_debounce": "Debounce",
|
||
"node_switch": "Switch",
|
||
"node_merge": "Merge",
|
||
"node_script": "Script",
|
||
"node_widget_update": "Widget Update",
|
||
"node_alert": "Alert",
|
||
"node_command": "Command",
|
||
"node_log": "Log",
|
||
"node_rest_call": "REST Call",
|
||
"node_mqtt_publish": "MQTT Publish",
|
||
"node_database_write": "Database Write",
|
||
"node_email": "Email",
|
||
"node_modbus_write": "Modbus Write"
|
||
},
|
||
"updates": {
|
||
"tab_title": "Updates",
|
||
"title": "Panel",
|
||
"desc": "Descargue una copia de seguridad completa de la configuración de su consola, usuarios, grupos y ajustes. Los datos de peers del servidor Go se incluyen cuando el backend BetterDesk está activo.",
|
||
"current_version": "Versión instalada",
|
||
"latest_version": "Latest version",
|
||
"status": "Estado",
|
||
"check_now": "Verificar ahora",
|
||
"checking": "Verificando...",
|
||
"up_to_date": "Actualizado",
|
||
"update_available": "Actualización disponible",
|
||
"changelog": "Release Notes",
|
||
"no_changelog": "No hay notas de versión disponibles",
|
||
"files_changed": "Archivos modificados",
|
||
"files": "Archivos",
|
||
"changes_unavailable": "No se pudo cargar la lista de cambios. Aun así puedes instalar la actualización.",
|
||
"create_backup": "Crear copia de seguridad antes de actualizar",
|
||
"install": "Install Update",
|
||
"install_confirm": "Are you sure you want to install this update? The console will restart after the update.",
|
||
"installing": "Instalando actualización...",
|
||
"creating_backup": "Creando copia de seguridad...",
|
||
"downloading": "Descargando archivos...",
|
||
"install_success": "Actualización instalada correctamente. La consola se reiniciará...",
|
||
"install_failed": "La instalación de la actualización falló",
|
||
"restarting": "Esperando el reinicio de la consola...",
|
||
"restart_complete": "Consola reiniciada correctamente",
|
||
"restart_timeout": "Console did not restart in time. Please check manually.",
|
||
"no_version": "No se seleccionó versión de actualización. Busca actualizaciones primero.",
|
||
"backups_title": "Copias de seguridad de actualización",
|
||
"backups_desc": "Copias previas creadas automáticamente antes de cada actualización",
|
||
"no_backups": "No se encontraron copias de seguridad de actualización",
|
||
"restore": "Restore",
|
||
"restore_confirm": "¿Está seguro de que desea restaurar desde esta copia de seguridad? Las secciones seleccionadas serán sobrescritas.",
|
||
"restore_success": "Copia de seguridad restaurada correctamente. Algunos cambios pueden requerir recargar la página.",
|
||
"baseline_set": "Referencia establecida",
|
||
"commits_behind": "commits por detrás",
|
||
"total_files": "Archivos totales",
|
||
"applied": "Applied",
|
||
"failed": "Fallido",
|
||
"skipped": "Skipped",
|
||
"removed": "Removed",
|
||
"auto": "Auto",
|
||
"manual": "Manual",
|
||
"component_console": "Web Console",
|
||
"component_server": "Servidor Go",
|
||
"component_agent": "Agent",
|
||
"component_scripts": "Scripts y Docker",
|
||
"component_other": "Other",
|
||
"server_rebuild_warning": "Go Server source changed — binary rebuild required. Use the ALL-IN-ONE script or compile manually.",
|
||
"include_server": "Include Go Server (compile & deploy binary)",
|
||
"checking_go": "Comprobando Go...",
|
||
"go_not_found": "Go no está instalado",
|
||
"go_check_failed": "No se pudo comprobar la disponibilidad de Go",
|
||
"server_building": "Compilando servidor Go... Esto puede tardar unos minutos.",
|
||
"server_built": "Binario del servidor compilado",
|
||
"server_build_failed": "Compilación del servidor fallida",
|
||
"server_stale_title": "Binario del servidor obsoleto",
|
||
"server_stale_desc": "El código fuente del servidor Go se actualizó, pero el binario en ejecución no se reconstruyó. Reconstrúyelo ahora para aplicar actualizaciones de seguridad y bibliotecas.",
|
||
"rebuild_server": "Reconstruir binario del servidor",
|
||
"rebuilding_server": "Rebuilding…",
|
||
"rebuild_server_success": "Binario del servidor reconstruido y reiniciado",
|
||
"rebuild_server_failed": "No se pudo reconstruir el binario del servidor",
|
||
"server_deployed": "Binario del servidor desplegado",
|
||
"server_deploy_failed": "Despliegue del servidor fallido",
|
||
"server_build_note": "Server compilation may take 1-5 minutes. The page will remain unresponsive during compilation.",
|
||
"server_source_downloading": "Descargando código fuente del servidor...",
|
||
"delete": "Eliminar",
|
||
"delete_confirm": "¿Eliminar permanentemente la copia {name}? Esta acción no se puede deshacer.",
|
||
"delete_success": "Copia de seguridad eliminada",
|
||
"delete_failed": "No se pudo eliminar la copia de seguridad",
|
||
"retention_label": "Conservar las N copias más recientes",
|
||
"retention_hint": "Las copias antiguas se eliminan automáticamente después de cada actualización. Usa 0 para conservarlas todas.",
|
||
"retention_saved": "Configuración de retención guardada",
|
||
"retention_invalid": "La retención debe ser un entero entre 0 y 1000",
|
||
"retention_required_for_prune": "Primero establece un valor de retención mayor que 0",
|
||
"prune_now": "Apply now",
|
||
"prune_confirm": "¿Conservar solo las {n} copias más recientes y eliminar el resto?",
|
||
"prune_done": "{n} copia(s) eliminada(s)",
|
||
"total_size": "Total size",
|
||
"backups_count": "backup(s)",
|
||
"strategy_label": "Método de actualización",
|
||
"strategy_download": "Descargar binario precompilado",
|
||
"strategy_compile": "Compilar desde fuentes",
|
||
"both_available": "Descargar y compilar",
|
||
"download_available": "Descarga disponible",
|
||
"no_method": "Sin método de actualización",
|
||
"no_release": "No release",
|
||
"available": "Disponible",
|
||
"server_downloading": "Descargando binario del servidor...",
|
||
"server_downloaded": "Binario del servidor descargado",
|
||
"server_download_failed": "Descarga del binario del servidor fallida",
|
||
"server_download_note": "Se descargará un binario precompilado desde GitHub Releases. Normalmente tarda menos de un minuto.",
|
||
"install_go_hint": "Instala Go desde https://go.dev/dl/ para habilitar la compilación, o publica una release con binarios precompilados",
|
||
"strategy_install_go": "Instalar Go automáticamente y compilar",
|
||
"strategy_install_go_hint": "Downloads the official Go toolchain (~120 MB) into the console data directory, then compiles the server. Use this when Go is not installed on the host.",
|
||
"auto_strategy": "Auto",
|
||
"auto_strategy_hint": "The console will pick the best available method (download → compile → auto-install Go).",
|
||
"auto_available": "Reconstrucción automática lista",
|
||
"toolchain_ready": "Toolchain instalada",
|
||
"toolchain_will_install": "Go toolchain will be installed automatically",
|
||
"toolchain_downloading": "Descargando toolchain de Go...",
|
||
"toolchain_failed": "Instalación de la toolchain de Go fallida",
|
||
"modal_title": "Instalando actualización",
|
||
"modal_done_title": "Actualización completada",
|
||
"modal_close": "Cerrar",
|
||
"modal_reload_now": "Recargar consola",
|
||
"log_title": "Registro de actualización",
|
||
"log_expand": "Expandir registro",
|
||
"log_collapse": "Contraer registro",
|
||
"log_copy": "Copiar registro",
|
||
"progress_step": "Paso {current} de {total}",
|
||
"reload_countdown": "Recarga automática en {seconds} s",
|
||
"retry_update": "Reintentar actualización",
|
||
"retry_confirm": "¿Reintentar instalar esta actualización?",
|
||
"phase_confirm": "Confirmation",
|
||
"phase_backup": "Backup",
|
||
"phase_console": "Archivos de consola",
|
||
"phase_server": "Servidor Go",
|
||
"phase_restart": "Reinicio",
|
||
"phase_done": "Done",
|
||
"preparing": "Preparing…",
|
||
"backup_skipped": "Copia de seguridad omitida (elección del usuario)",
|
||
"server_skipped": "Servidor Go omitido",
|
||
"server_not_selected": "Go server not selected",
|
||
"server_processing": "Procesando actualización del servidor Go...",
|
||
"no_restart_needed": "No se requiere reinicio",
|
||
"complete": "Actualización aplicada",
|
||
"complete_summary": "La actualización se aplicó correctamente.",
|
||
"complete_with_errors": "La actualización terminó, pero algunos pasos fallaron. Consulta los detalles abajo.",
|
||
"modal_done_with_errors_title": "Actualización terminada con errores",
|
||
"console_will_restart": "El proceso de consola se reiniciará ahora...",
|
||
"restart_complete_msg": "La consola terminó de reiniciarse. Haz clic en Recargar para cargar la nueva versión. La página se recargará automáticamente en 8 segundos.",
|
||
"refresh_recommended": "Los recursos estáticos cambiaron — recarga la página para ver la nueva interfaz.",
|
||
"confirm_title": "Aplicar actualización",
|
||
"confirm_with_backup": "Se creará automáticamente una copia de seguridad previa.",
|
||
"confirm_no_backup": "No se creará copia de seguridad (continúa bajo tu propio riesgo).",
|
||
"channel_title": "Canal de actualización",
|
||
"channel_desc": "Elige de dónde el panel busca actualizaciones. En producción usa Stable.",
|
||
"channel_stable": "Estable (main)",
|
||
"channel_development": "Desarrollo (dev)",
|
||
"channel_branch_label": "Rama de GitHub",
|
||
"channel_save": "Cambiar canal",
|
||
"channel_saved": "Canal cambiado. Pulse Comprobar actualizaciones.",
|
||
"channel_save_failed": "No se pudo guardar el canal de actualización",
|
||
"channel_switch_warning": "Cambiar el canal modifica la rama GitHub usada. Se conserva el SHA rastreado — la próxima comprobación puede mostrar una gran diferencia. ¿Continuar?",
|
||
"channel_pick_label": "Cambiar a",
|
||
"channel_apply_hint": "Tras confirmar se guarda al instante. Luego pulse Comprobar actualizaciones.",
|
||
"channel_confirm_switch": "¿Cambiar origen de {from} a {to}? El commit instalado se mantiene hasta comprobar actualizaciones.",
|
||
"docker_title": "Despliegue de imágenes Docker",
|
||
"docker_desc": "Esta consola se ejecuta desde una imagen de contenedor precompilada (all-in-one oficial o split legacy). Las actualizaciones se aplican en el host descargando imagen(es) más recientes de GHCR, no mediante instalación en la app ni recompilación Go.",
|
||
"docker_install_note": "La instalación en la app está deshabilitada en Docker. Ejecute los comandos anteriores en el host y actualice esta página.",
|
||
"docker_update_available": "Nueva(s) imagen(es) de contenedor disponible(s)",
|
||
"docker_sha_unknown": "Actualizado (commit de imagen desconocido)",
|
||
"docker_images": "Imágenes",
|
||
"more_options": "Más opciones",
|
||
"option_advanced": "Opciones avanzadas",
|
||
"option_advanced_desc": "Retención de copias, despliegue Docker, reconstrucción del servidor y estrategia de actualización"
|
||
},
|
||
"permissions": {
|
||
"title": "Permisos",
|
||
"subtitle": "Administrar permisos granulares de roles y anulaciones",
|
||
"info_title": "Permisos basados en roles",
|
||
"info_desc": "Los roles predeterminados reciben permisos predefinidos. Puedes anular permisos individuales por rol sin cambiar el rol base.",
|
||
"select_role": "Seleccionar rol",
|
||
"select_role_placeholder": "Elige un rol...",
|
||
"reset_overrides": "Restablecer anulaciones",
|
||
"granted": "Granted",
|
||
"overrides": "Overrides",
|
||
"level": "Level",
|
||
"super_admin_tag": "Full access",
|
||
"server_level_tag": "Nivel de servidor",
|
||
"custom": "Custom",
|
||
"default": "Default",
|
||
"revert": "Revertir",
|
||
"saved": "Permiso guardado",
|
||
"reverted": "Anulación revertida",
|
||
"all_reverted": "Todas las anulaciones revertidas",
|
||
"confirm_reset": "¿Restablecer todas las anulaciones de permisos para este rol?",
|
||
"empty_title": "Selecciona un rol",
|
||
"empty_desc": "Elige un rol a la izquierda para ver sus permisos.",
|
||
"locked_title": "Super Admin",
|
||
"locked_desc": "Este rol está protegido y solo puede cambiarse mediante la asignación predeterminada.",
|
||
"cat_device": "Dispositivos",
|
||
"cat_user": "Users",
|
||
"cat_server": "Administración del servidor",
|
||
"cat_org": "Organizaciones",
|
||
"cat_audit": "Auditoría",
|
||
"cat_cdap": "CDAP",
|
||
"cat_enrollment": "Enrollment",
|
||
"cat_chat": "Chat",
|
||
"cat_branding": "Branding",
|
||
"perm_device_view": "Ver dispositivos",
|
||
"perm_device_connect": "Conectar con dispositivos",
|
||
"perm_device_edit": "Editar dispositivos",
|
||
"perm_device_delete": "Eliminar dispositivos",
|
||
"perm_device_ban": "Bloquear dispositivos",
|
||
"perm_device_change_id": "Cambiar ID de dispositivo",
|
||
"perm_user_view": "Ver usuarios",
|
||
"perm_user_create": "Crear usuarios",
|
||
"perm_user_edit": "Editar usuarios",
|
||
"perm_user_delete": "Eliminar usuarios",
|
||
"perm_server_config": "Configurar servidor",
|
||
"perm_server_keys": "Administrar claves del servidor",
|
||
"perm_org_create": "Crear organizaciones",
|
||
"perm_org_edit": "Editar organizaciones",
|
||
"perm_org_delete": "Eliminar organizaciones",
|
||
"perm_org_manage_users": "Administrar usuarios de organización",
|
||
"perm_org_manage_devices": "Administrar dispositivos de organización",
|
||
"perm_audit_view": "Ver auditoría",
|
||
"perm_metrics_view": "Ver métricas",
|
||
"perm_blocklist_edit": "Editar lista de bloqueo",
|
||
"perm_cdap_view": "Ver CDAP",
|
||
"perm_cdap_command": "Ejecutar comandos CDAP",
|
||
"perm_cdap_terminal": "Usar terminal CDAP",
|
||
"perm_cdap_files": "Administrar archivos CDAP",
|
||
"perm_enrollment_manage": "Administrar registros",
|
||
"perm_enrollment_approve": "Aprobar registros",
|
||
"perm_chat_access": "Chat access",
|
||
"perm_branding_edit": "Editar marca",
|
||
"perm_server_attestation": "Certificación de rendimiento del servidor"
|
||
},
|
||
"notifications": {
|
||
"title": "Notificaciones",
|
||
"empty": "No hay notificaciones nuevas",
|
||
"mark_all_read": "Marcar todo como leído",
|
||
"see_all": "Ver todas las solicitudes de ayuda",
|
||
"help_request": "Solicitud de ayuda",
|
||
"just_now": "just now"
|
||
},
|
||
"accessibility": {
|
||
"title": "Accesibilidad",
|
||
"subtitle": "Ajusta la consola a tu visión, movimiento y lectura.",
|
||
"close": "Cerrar menú de accesibilidad",
|
||
"profiles": "Perfiles rápidos",
|
||
"profile_low_vision": "Low vision",
|
||
"profile_low_vision_hint": "Texto más grande, alto contraste y foco visible.",
|
||
"profile_dyslexia": "Comodidad de lectura",
|
||
"profile_dyslexia_hint": "Fuente legible y espaciado más amplio.",
|
||
"profile_motion_safe": "Motion safe",
|
||
"profile_motion_safe_hint": "Reduce transiciones y pausa animaciones.",
|
||
"profile_color_assist": "Ayuda de color",
|
||
"profile_color_assist_hint": "Filtro de color, etiquetas y enlaces resaltados.",
|
||
"reading": "Lectura",
|
||
"font_size": "Tamaño del texto",
|
||
"line_height": "Altura de línea",
|
||
"letter_spacing": "Espaciado de letras",
|
||
"word_spacing": "Espaciado de palabras",
|
||
"readable_font": "Fuente legible",
|
||
"readable_font_hint": "Usa formas de letras amplias y familiares.",
|
||
"dyslexia_spacing": "Espaciado para dislexia",
|
||
"dyslexia_spacing_hint": "Agrega espaciado adicional para textos largos.",
|
||
"visual": "Visual",
|
||
"contrast": "Contraste",
|
||
"contrast_normal": "Normal",
|
||
"contrast_high_dark": "Alto contraste oscuro",
|
||
"contrast_high_light": "Alto contraste claro",
|
||
"contrast_yellow_black": "Amarillo sobre negro",
|
||
"color_filter": "Filtro de visión de color",
|
||
"filter_none": "None",
|
||
"filter_protanopia": "Protanopia",
|
||
"filter_deuteranopia": "Deuteranopia",
|
||
"filter_tritanopia": "Tritanopia",
|
||
"filter_achromatopsia": "Achromatopsia",
|
||
"saturation": "Saturación de color",
|
||
"underline_links": "Subrayar enlaces",
|
||
"underline_links_hint": "Hace visibles los enlaces sin depender del color.",
|
||
"highlight_links": "Resaltar acciones",
|
||
"highlight_links_hint": "Dibuja un contorno alrededor de enlaces y botones.",
|
||
"highlight_headings": "Resaltar encabezados",
|
||
"highlight_headings_hint": "Marca los encabezados de sección con una barra de color.",
|
||
"hide_media": "Dim media",
|
||
"hide_media_hint": "Atenúa imágenes, vídeos y áreas de canvas.",
|
||
"interaction": "Interacción",
|
||
"strong_focus": "Foco reforzado",
|
||
"strong_focus_hint": "Muestra un contorno amplio para el foco del teclado.",
|
||
"large_cursor": "Cursor grande",
|
||
"large_cursor_hint": "Usa un puntero más grande con alto contraste.",
|
||
"reduce_motion": "Reducir movimiento",
|
||
"reduce_motion_hint": "Acorta transiciones y desplazamiento suave.",
|
||
"pause_animations": "Pausar animaciones",
|
||
"pause_animations_hint": "Detiene movimientos visuales repetitivos.",
|
||
"reading_guide": "Guía de lectura",
|
||
"reading_guide_hint": "Sigue el puntero con una línea luminosa.",
|
||
"reading_mask": "Máscara de lectura",
|
||
"reading_mask_hint": "Oscurece el contenido por encima y por debajo del puntero.",
|
||
"preview": "Vista previa",
|
||
"preview_title": "Vista previa del espacio del operador",
|
||
"preview_text": "Comprueba si el texto, enlaces, controles y etiquetas de estado son cómodos de leer antes de cerrar este menú.",
|
||
"preview_link": "Enlace a detalles del dispositivo",
|
||
"preview_status": "Online",
|
||
"preview_button": "Acción principal",
|
||
"preview_secondary": "Secondary",
|
||
"reset": "Restablecer",
|
||
"done": "Listo"
|
||
},
|
||
"server_mgmt": {
|
||
"title": "Gestión del servidor",
|
||
"subtitle": "Panel tipo Cockpit para el host de la consola BetterDesk (BETA).",
|
||
"beta_tooltip": "Función beta — en desarrollo activo.",
|
||
"notice_title": "Función beta",
|
||
"notice_body": "Estas herramientas se ejecutan en el host donde corre el proceso de la consola BetterDesk. Todas las operaciones son auditadas.",
|
||
"tab_overview": "Resumen",
|
||
"tab_terminal": "Terminal",
|
||
"tab_files": "Archivos",
|
||
"tab_services": "Servicios",
|
||
"cpu": "CPU",
|
||
"memory": "Memoria",
|
||
"load": "Carga promedio",
|
||
"disks": "Discos",
|
||
"history": "Historial (últimas 60 muestras)",
|
||
"host_info": "Info del host",
|
||
"cores": "núcleos",
|
||
"uptime": "Tiempo activo",
|
||
"no_disks": "No hay datos de disco disponibles",
|
||
"info_hostname": "Hostname",
|
||
"info_platform": "Platform",
|
||
"info_kernel": "Kernel",
|
||
"info_node": "Node.js",
|
||
"info_process_id": "Process ID",
|
||
"info_pty_available": "PTY disponible",
|
||
"term_connect": "Conectar",
|
||
"term_disconnect": "Desconectar",
|
||
"term_clear": "Limpiar",
|
||
"term_status": "Status",
|
||
"term_connecting": "Conectando…",
|
||
"term_connected": "Conectado",
|
||
"term_disconnected": "Desconectado",
|
||
"term_error": "Error de conexión",
|
||
"term_warning": "Los comandos se ejecutan como el usuario propietario del proceso de consola. Agrega una regla sudoers para permitir elevación.",
|
||
"term_hint": "Consejo: escribe `sudo -i` para obtener privilegios root (requiere configuración sudoers).",
|
||
"term_lib_failed": "No se pudo cargar la biblioteca de terminal",
|
||
"files_up": "Subir un nivel",
|
||
"files_go": "Go",
|
||
"files_mkdir": "New folder",
|
||
"files_name": "Nombre",
|
||
"files_size": "Tamaño",
|
||
"files_perms": "Mode",
|
||
"files_mtime": "Modificado",
|
||
"files_rename": "Renombrar",
|
||
"files_rename_prompt": "New name:",
|
||
"files_empty": "Directorio vacío",
|
||
"files_error": "No se pudo listar el directorio",
|
||
"read_failed": "No se pudo leer el archivo",
|
||
"save_failed": "No se pudo guardar el archivo",
|
||
"rename_failed": "Error al renombrar",
|
||
"delete_failed": "Error al eliminar",
|
||
"delete_confirm": "¿Eliminar esta entrada?",
|
||
"mkdir_prompt": "Nombre de la nueva carpeta:",
|
||
"mkdir_failed": "No se pudo crear la carpeta",
|
||
"file_saved": "Archivo guardado",
|
||
"binary_warn": "Archivo binario — solo vista previa",
|
||
"encoding_utf8": "UTF-8 text",
|
||
"truncated": "truncated",
|
||
"full": "full",
|
||
"svc_search_placeholder": "Buscar servicios...",
|
||
"svc_name": "Servicio",
|
||
"svc_state": "Estado",
|
||
"svc_description": "Descripción",
|
||
"svc_empty": "No se encontraron servicios",
|
||
"svc_load_failed": "No se pudieron cargar los servicios",
|
||
"svc_action_failed": "Acción fallida",
|
||
"svc_confirm": "Run",
|
||
"svc_start": "Iniciar",
|
||
"svc_stop": "Detener",
|
||
"svc_restart": "Reiniciar",
|
||
"svc_reload": "Recargar",
|
||
"svc_enable": "Habilitar",
|
||
"svc_disable": "Deshabilitar",
|
||
"svc_status": "Status"
|
||
},
|
||
"download": {
|
||
"title": "Descargar BetterDesk Agent",
|
||
"choose_platform": "Elegir plataforma",
|
||
"choose_platform_hint": "Selecciona el instalador correspondiente a tu sistema operativo.",
|
||
"download": "Descargar",
|
||
"building": "Compilando…",
|
||
"failed": "Compilación fallida",
|
||
"need_help": "¿Necesitas ayuda?",
|
||
"powered_by": "Desarrollado por",
|
||
"product_agent_client": "BetterDesk Agent Client — full managed endpoint agent",
|
||
"product_support_agent": "BetterDesk Support Agent — lightweight end-user client",
|
||
"product_rdclient": "BetterDesk RdClient — operator remote desktop client"
|
||
},
|
||
"server_attestation": {
|
||
"title": "Certificación del servidor",
|
||
"subtitle": "Benchmark de rendimiento que determina la capacidad de conexiones remotas simultáneas en un umbral del 80% de CPU, RAM y disco.",
|
||
"warning_title": "Prueba de carga",
|
||
"warning_body": "El benchmark simula conexiones WebSocket paralelas a los servidores de señal y retransmisión. Ejecutar en horas de baja actividad — esta prueba carga producción.",
|
||
"run_benchmark": "Ejecutar benchmark",
|
||
"abort": "Cancelar",
|
||
"download_report": "Descargar informe JSON",
|
||
"last_test": "Última prueba",
|
||
"no_test_yet": "Aún no se ha ejecutado ningún benchmark",
|
||
"max_connections": "Conexiones máximas",
|
||
"threshold_80": "Umbral del 80% — métricas finales",
|
||
"disk": "Disco",
|
||
"ramp_chart": "Gráfico de rampa de carga",
|
||
"connections": "Conexiones",
|
||
"connections_short": "con.",
|
||
"tier_guide_title": "¿Qué significa cada nivel?",
|
||
"tier_bronze": "BRONZE",
|
||
"tier_iron": "IRON",
|
||
"tier_titanium": "TITANIUM",
|
||
"tier_platinum": "PLATINUM",
|
||
"tier_obsidian": "OBSIDIAN",
|
||
"tier_none": "SIN CALIFICAR",
|
||
"tier_bronze_desc": "1–25 conexiones simultáneas — VPS pequeño (1–2 vCPU, 2–4 GB RAM).",
|
||
"tier_iron_desc": "26–75 conexiones — servidor de gama media (2–4 vCPU, 4–8 GB RAM).",
|
||
"tier_platinum_desc": "76–200 conexiones — servidor de alto rendimiento (4–8 vCPU, 8–16 GB RAM).",
|
||
"tier_titanium_desc": "201–400 conexiones — infraestructura empresarial (8+ vCPU, 16–32 GB RAM).",
|
||
"tier_obsidian_desc": "401+ conexiones — clase turbo: hardware dedicado, 16+ vCPU, 32+ GB RAM, NVMe.",
|
||
"docker_note": "Nota: en Docker, las métricas de CPU/RAM pueden reflejar los límites del contenedor en lugar del host físico.",
|
||
"badge_tooltip": "Certificación del servidor BetterDesk — certificación de rendimiento del servidor",
|
||
"confirm_run": "Este benchmark realizará una prueba de carga del servidor con conexiones simuladas. ¿Continuar?",
|
||
"starting": "Iniciando…",
|
||
"complete": "Benchmark completado",
|
||
"signal_peers": "Pares de señal",
|
||
"relay_sessions": "Sesiones de retransmisión",
|
||
"page_error": "Error al cargar la página de certificación del servidor",
|
||
"mode_estimated": "Estimado (WebSocket inaccesible)",
|
||
"incomplete": "Benchmark completado sin nivel válido"
|
||
},
|
||
"commercialization": {
|
||
"title": "Comercialización",
|
||
"subtitle": "Paquetes de soporte, sesiones facturables e informes",
|
||
"alpha_badge": "ALPHA",
|
||
"alpha_tooltip": "Función temprana — facturación y paquetes en desarrollo activo.",
|
||
"tabs": {
|
||
"overview": "Resumen",
|
||
"packages": "Paquetes y contratos",
|
||
"sessions": "Sesiones",
|
||
"reports": "Informes",
|
||
"settings": "Configuración avanzada"
|
||
},
|
||
"clock": {
|
||
"title": "Hora del servidor (NTP)",
|
||
"check_now": "Comprobar ahora",
|
||
"unsynced": "El reloj del servidor no está sincronizado — las sesiones facturables pueden bloquearse",
|
||
"synced_detail": "Reloj sincronizado para facturación",
|
||
"ntp_servers": "Servidores NTP",
|
||
"ntp_servers_hint": "Nombres de host o IP separados por comas. Aplica al servidor Go (betterdesk-server).",
|
||
"max_skew_ms": "Desviación máxima del reloj (ms)",
|
||
"require_sync": "Exigir reloj sincronizado para sesiones facturables",
|
||
"trust_os": "Confiar en NTP del SO si fallan las consultas directas",
|
||
"trust_os_hint": "Usar estado systemd-timesyncd/chrony cuando UDP NTP esté bloqueado (DMZ/firewall).",
|
||
"save": "Guardar ajustes NTP",
|
||
"saved": "Ajustes de reloj guardados. Reinicio del servidor Go iniciado.",
|
||
"save_restart": "¿Guardar NTP y reiniciar el servidor Go? Las sesiones activas pueden desconectarse brevemente.",
|
||
"status_offset": "Desviación",
|
||
"status_server": "Fuente NTP",
|
||
"status_os": "Reloj del SO sincronizado",
|
||
"status_error": "Último error",
|
||
"os_yes": "Sí",
|
||
"os_no": "No",
|
||
"checked": "Clock check completed"
|
||
},
|
||
"stats": {
|
||
"active_sessions": "Sesiones facturables activas",
|
||
"expiring_contracts": "Contracts expiring (30 days)",
|
||
"expiring_hint": "Active assignments with end date within 30 days"
|
||
},
|
||
"packages": {
|
||
"new": "Nuevo paquete",
|
||
"name": "Nombre",
|
||
"included_minutes": "Minutos incluidos",
|
||
"overage_rate": "Tarifa de exceso / h",
|
||
"currency": "Moneda",
|
||
"heading": "Paquetes de soporte",
|
||
"prompt_name": "Nombre del paquete",
|
||
"create_title": "Nuevo paquete para organización",
|
||
"create_submit": "Crear paquete",
|
||
"select_org": "Organización",
|
||
"select_org_placeholder": "Seleccionar organización…",
|
||
"description": "Description",
|
||
"edit_title": "Edit package",
|
||
"created": "Package created",
|
||
"updated": "Package updated",
|
||
"deleted": "Package deleted",
|
||
"delete_confirm": "Delete this package? Assignments using it must be removed first."
|
||
},
|
||
"sessions": {
|
||
"device": "Dispositivo",
|
||
"operator": "Operador",
|
||
"duration": "Duración",
|
||
"phase": "Fase",
|
||
"amount": "Importe",
|
||
"org": "Organization"
|
||
},
|
||
"reports": {
|
||
"session": "Sesión",
|
||
"summary": "Resumen",
|
||
"date": "Fecha"
|
||
},
|
||
"contracts": {
|
||
"title": "Contratos de organización",
|
||
"new": "Asignar paquete",
|
||
"org": "Organización",
|
||
"package": "Paquete",
|
||
"remaining": "Minutos restantes",
|
||
"status": "Estado",
|
||
"actions": "Acciones",
|
||
"suspend": "Suspender",
|
||
"activate": "Activar",
|
||
"select_org": "Seleccionar organización",
|
||
"select_package": "Seleccionar paquete",
|
||
"no_orgs": "No se encontraron organizaciones",
|
||
"no_packages": "Cree un paquete primero",
|
||
"assignments_title": "Package assignments",
|
||
"target": "Target",
|
||
"hourly_rate": "Hourly rate",
|
||
"custom_overage": "Custom overage rate / h",
|
||
"validity": "Validity",
|
||
"valid_from": "Valid from",
|
||
"valid_until": "Valid until",
|
||
"edit_title": "Edit assignment",
|
||
"updated": "Assignment updated",
|
||
"deleted": "Assignment removed",
|
||
"delete_confirm": "Remove this package assignment?"
|
||
},
|
||
"export": {
|
||
"csv": "Exportar CSV",
|
||
"pdf": "Exportar PDF",
|
||
"sessions_csv": "Exportar sesiones CSV"
|
||
},
|
||
"report": {
|
||
"title": "Informe de trabajo",
|
||
"subtitle": "Describa el trabajo realizado durante esta sesión remota.",
|
||
"category": "Categoría",
|
||
"ticket_ref": "Referencia de ticket",
|
||
"summary": "Trabajo realizado",
|
||
"skip": "Omitir por ahora",
|
||
"submit": "Enviar informe",
|
||
"summary_required": "El resumen es obligatorio",
|
||
"saved": "Informe de trabajo guardado"
|
||
},
|
||
"empty": {
|
||
"packages": "Aún no hay paquetes. Cree uno con el botón de arriba.",
|
||
"contracts": "Aún no hay contratos de organización. Asigne un paquete a una organización.",
|
||
"sessions": "Aún no hay sesiones facturables registradas.",
|
||
"reports": "Aún no se han enviado informes de trabajo."
|
||
},
|
||
"assign": {
|
||
"title": "Asignar paquete existente",
|
||
"submit": "Asignar",
|
||
"target_type": "Target type",
|
||
"target": "Target",
|
||
"select_target": "Select target…",
|
||
"missing_fields": "Select target and package",
|
||
"optional": "Optional",
|
||
"success": "Package assigned"
|
||
},
|
||
"form": {
|
||
"cancel": "Cancelar"
|
||
},
|
||
"notifications": {
|
||
"title": "Notificaciones por correo",
|
||
"desc": "Notifique a los operadores por correo cuando dispositivos de sus carpetas o grupos soliciten ayuda.",
|
||
"smtp_status": "Estado SMTP",
|
||
"smtp_configured": "SMTP configurado",
|
||
"smtp_missing": "SMTP no configurado — configúrelo en Ajustes → Correo",
|
||
"smtp_link": "Abrir ajustes SMTP",
|
||
"help_requests_enabled": "Enviar correo para nuevas solicitudes de ayuda",
|
||
"notify_assigned_operators": "Notificar a operadores asignados a la carpeta o grupo del dispositivo",
|
||
"fallback_alert_email": "Usar correo de alerta si no hay dirección del operador",
|
||
"include_folder_in_subject": "Incluir nombre de carpeta en el asunto del correo",
|
||
"save": "Guardar ajustes de notificación",
|
||
"saved": "Ajustes de notificación guardados"
|
||
},
|
||
"targets": {
|
||
"org": "Organization",
|
||
"device_group": "Device group",
|
||
"folder": "Folder",
|
||
"device": "Device"
|
||
},
|
||
"actions": {
|
||
"edit": "Edit",
|
||
"delete": "Delete",
|
||
"save": "Save",
|
||
"refresh": "Refresh"
|
||
},
|
||
"filters": {
|
||
"target_type": "Target type",
|
||
"all_types": "All types",
|
||
"all_statuses": "All statuses",
|
||
"all_orgs": "All organizations",
|
||
"organization": "Organization",
|
||
"search": "Search",
|
||
"search_placeholder": "Name or package…",
|
||
"device_id_placeholder": "Device ID"
|
||
},
|
||
"status": {
|
||
"active": "Active",
|
||
"suspended": "Suspended",
|
||
"pending_report": "Pending report",
|
||
"closed": "Closed"
|
||
}
|
||
},
|
||
"remote_dashboard": {
|
||
"title": "Cliente de escritorio remoto",
|
||
"subtitle": "Conéctese a sus dispositivos desde el navegador",
|
||
"search_placeholder": "Buscar por ID, hostname o nota…",
|
||
"filter_all": "Todos",
|
||
"filter_online": "En línea",
|
||
"filter_offline": "Desconectado",
|
||
"col_id": "ID del dispositivo",
|
||
"col_hostname": "Nombre de host",
|
||
"col_platform": "Plataforma",
|
||
"col_status": "Estado",
|
||
"col_last_seen": "Última conexión",
|
||
"connect": "Conectar",
|
||
"empty": "Ningún dispositivo coincide con los filtros",
|
||
"loading": "Cargando dispositivos…",
|
||
"error_load": "No se pudieron cargar los dispositivos",
|
||
"open_panel": "Abrir consola",
|
||
"devices_count": "{count} dispositivos",
|
||
"retry": "Reintentar",
|
||
"nav_address_book": "Libreta de direcciones",
|
||
"nav_folders": "Carpetas",
|
||
"nav_groups": "Grupos",
|
||
"nav_tags": "Etiquetas",
|
||
"quick_connect": "Controlar escritorio remoto",
|
||
"quick_connect_placeholder": "Introduzca ID remoto…",
|
||
"view_grid": "Vista cuadrícula",
|
||
"view_list": "Vista lista",
|
||
"sync_now": "Actualizar",
|
||
"last_sync": "Actualizado",
|
||
"status_ready": "Listo",
|
||
"sync_error": "Error de sincronización",
|
||
"unassigned": "Sin asignar",
|
||
"no_groups": "Sin grupos",
|
||
"no_tags": "Sin etiquetas",
|
||
"collapse_devices": "Contraer lista de dispositivos",
|
||
"expand_devices": "Expandir lista de dispositivos",
|
||
"open_settings": "Ajustes"
|
||
},
|
||
"rdclient_login": {
|
||
"title": "Cliente de escritorio remoto",
|
||
"subtitle": "Inicie sesión para conectarse a sus dispositivos",
|
||
"username_placeholder": "Usuario",
|
||
"password_placeholder": "Contraseña",
|
||
"remember_me": "Recordarme en este dispositivo",
|
||
"sign_in": "Iniciar sesión",
|
||
"totp_title": "Autenticación de dos factores",
|
||
"totp_subtitle": "Introduzca el código de 6 dígitos de su aplicación de autenticación",
|
||
"verify": "Verificar",
|
||
"back_to_login": "Volver al inicio de sesión",
|
||
"open_console_login": "Abrir inicio de sesión de consola",
|
||
"session_expired": "Sesión expirada. Inicie sesión de nuevo.",
|
||
"fill_all_fields": "Complete todos los campos",
|
||
"invalid_credentials": "Credenciales inválidas",
|
||
"network_error": "Error de red",
|
||
"enter_6_digits": "Introduzca los 6 dígitos",
|
||
"invalid_code": "Código inválido"
|
||
},
|
||
"rdclient_settings": {
|
||
"title": "Ajustes de RdClient",
|
||
"open": "Ajustes",
|
||
"server_url": "URL del panel",
|
||
"tls_strict": "TLS estricto",
|
||
"sign_out": "Cerrar sesión",
|
||
"reset_client": "Restablecer cliente",
|
||
"discovery_refresh": "Actualizar",
|
||
"discovery_empty": "No se encontraron servidores en la red local"
|
||
},
|
||
"mobile_nav": {
|
||
"label": "Navegación principal",
|
||
"home": "Inicio",
|
||
"devices": "Dispositivos",
|
||
"remote": "Remoto",
|
||
"chat": "Chat",
|
||
"more": "Más"
|
||
},
|
||
"mesh": {
|
||
"settings_title": "MeshCentral Compatibility",
|
||
"enabled": "MeshCentral layer enabled",
|
||
"disabled": "MeshCentral layer disabled",
|
||
"server_id": "Server ID (for .msh)",
|
||
"download_msh": "Download MeshAgent .msh",
|
||
"agents_online": "Mesh agents online",
|
||
"device_type": "Mesh Agent",
|
||
"transport_mesh": "MeshCentral KVM",
|
||
"linked_peer": "Linked device",
|
||
"link_peer": "Link to RustDesk/CDAP peer on same host",
|
||
"onboarding_title": "MeshAgent onboarding",
|
||
"onboarding_body": "Download the .msh file, install MeshAgent on endpoints, and devices appear as mesh_agent in the device list.",
|
||
"run_command": "Ejecutar comando",
|
||
"terminal": "Terminal",
|
||
"files": "Explorador de archivos",
|
||
"run_command_title": "Ejecutar comando en el dispositivo",
|
||
"command_placeholder": "Comando a ejecutar",
|
||
"command_sent": "Comando enviado al agente",
|
||
"command_failed": "Error al enviar",
|
||
"run_as_shell": "Ejecutar en shell",
|
||
"terminal_title": "Terminal remoto",
|
||
"terminal_unavailable": "Módulo de terminal no cargado",
|
||
"link_peer_title": "Vincular agente Mesh",
|
||
"link_peer_hint": "ID RustDesk o CDAP en el mismo host. Vacío para desvincular.",
|
||
"link_saved": "Vínculo actualizado",
|
||
"transport_terminal": "Terminal Mesh",
|
||
"transport_files": "Archivos Mesh",
|
||
"settings_desc": "Onboarding de MeshAgent e ID de servidor para archivos .msh.",
|
||
"mesh_name": "Nombre del grupo Mesh (.msh)",
|
||
"copy_server_id": "Copiar ID de servidor",
|
||
"copy_server_id_ok": "ID de servidor copiado",
|
||
"enabled_label": "Activado",
|
||
"disabled_label": "Desactivado",
|
||
"share_link": "Enlace de escritorio para invitado",
|
||
"share_link_title": "Crear enlace de escritorio para invitado",
|
||
"share_link_hint": "Enlace de solo visualización con tiempo limitado. Los destinatarios pueden abrir el escritorio remoto sin cuenta en el panel.",
|
||
"share_ttl": "Válido por (minutos)",
|
||
"share_url": "URL para compartir",
|
||
"share_create": "Crear enlace",
|
||
"share_created": "Enlace de invitado creado",
|
||
"port_tcp": "Reenvío de puerto TCP",
|
||
"port_forward_title": "Reenvío TCP vía MeshAgent",
|
||
"port_connect": "Conectar",
|
||
"port_connected": "Relay listo",
|
||
"port_connecting": "Conectando…",
|
||
"port_closed": "Desconectado",
|
||
"port_error": "Error de WebSocket",
|
||
"port_invalid": "Puerto no válido",
|
||
"port_send": "Enviar",
|
||
"port_send_placeholder": "Enviar texto al puerto remoto…",
|
||
"port_unavailable": "Módulo de reenvío de puerto no cargado",
|
||
"power_sleep": "Suspender",
|
||
"power_reset": "Reiniciar",
|
||
"power_confirm": "Enviar acción de energía",
|
||
"power_sent": "Comando de energía enviado",
|
||
"power_wake": "Wake",
|
||
"power_off": "Power off",
|
||
"filter_mesh": "Mesh agents",
|
||
"port_udp": "UDP port relay",
|
||
"groups_title": "Mesh groups",
|
||
"group_id_placeholder": "Group ID",
|
||
"group_name_placeholder": "Display name",
|
||
"group_add": "Add group",
|
||
"groups_save": "Save groups",
|
||
"groups_empty": "No mesh groups yet.",
|
||
"groups_load_error": "Could not load mesh groups.",
|
||
"groups_saved": "Mesh groups saved",
|
||
"groups_save_error": "Failed to save mesh groups",
|
||
"recordings_title": "Session recordings (server)",
|
||
"recordings_desc": "Mesh desktop sessions captured on the server (.mcrec). CDAP/RustDesk browser recordings stay local unless exported.",
|
||
"recordings_empty": "No server recordings yet.",
|
||
"recordings_load_error": "Could not load recordings.",
|
||
"recording_download": "Download",
|
||
"recording_server_on": "Server recording enabled — reconnecting…",
|
||
"recording_server_off": "Server recording disabled — reconnecting…",
|
||
"cert_missing": "Agent-server certificate not found. Back up mesh_agent_server.pem after agents connect.",
|
||
"cert_ok": "Agent-server certificate present",
|
||
"onboarding_step_msh": "Download the .msh file and set the mesh group name.",
|
||
"onboarding_step_install": "Install unmodified MeshAgent on endpoints using the .msh file.",
|
||
"onboarding_step_verify": "Confirm devices appear as mesh_agent and show online."
|
||
},
|
||
"guest_access": {
|
||
"title": "Remoto de invitado",
|
||
"subtitle": "Acceso temporal — solo los dispositivos compartidos",
|
||
"menu": "Enlace de acceso de invitado",
|
||
"create_title": "Crear enlace de acceso de invitado",
|
||
"create_hint": "Enlace RdClient con tiempo limitado. El destinatario solo puede conectar a los dispositivos seleccionados — sin inicio de sesión en Console ni lista completa.",
|
||
"devices": "Dispositivos",
|
||
"ttl": "Válido durante (minutos)",
|
||
"label": "Etiqueta (opcional)",
|
||
"view_only": "Solo ver",
|
||
"url": "URL para compartir",
|
||
"create": "Crear enlace",
|
||
"created": "Enlace de invitado creado",
|
||
"invalid_title": "Enlace de invitado no válido",
|
||
"missing_token": "A este enlace de invitado le falta el token.",
|
||
"expired": "Este enlace de invitado no es válido o ha caducado.",
|
||
"device_denied": "Este enlace no es válido, ha caducado o no permite este dispositivo.",
|
||
"empty": "No hay dispositivos en este enlace.",
|
||
"expires": "Caduca",
|
||
"back_to_list": "Volver a la lista de invitado"
|
||
}
|
||
}
|