mirror of
https://github.com/ChrispyBacon-dev/DockFlare.git
synced 2026-04-28 03:39:32 +00:00
778 lines
58 KiB
JSON
778 lines
58 KiB
JSON
{
|
|
"nav.dashboard": "Panel",
|
|
"nav.access_policies": "Políticas de acceso",
|
|
"nav.agents": "Agentes",
|
|
"nav.settings": "Configuración",
|
|
"nav.help": "Ayuda",
|
|
"common.ok": "OK",
|
|
"common.cancel": "Cancelar",
|
|
"common.close": "Cerrar",
|
|
"common.delete": "Eliminar",
|
|
"common.edit": "Editar",
|
|
"common.save": "Guardar",
|
|
"common.copy": "Copiar",
|
|
"common.loading": "Cargando...",
|
|
"common.actions": "Acciones",
|
|
"common.status": "Estado",
|
|
"common.type": "Tipo",
|
|
"common.active": "Activo",
|
|
"common.confirm": "Confirmar",
|
|
"common.alert": "Alerta",
|
|
"common.input_required": "Entrada obligatoria",
|
|
"common.change_language": "Cambiar idioma",
|
|
"common.logout": "Cerrar sesión",
|
|
"common.sponsor_dockflare": "Patrocinar DockFlare",
|
|
"common.back": "Atrás",
|
|
"common.next": "Siguiente",
|
|
"common.submit": "Enviar",
|
|
"common.none": "Ninguno",
|
|
"common.not_set": "Sin configurar",
|
|
"login.title": "Iniciar sesión - DockFlare",
|
|
"login.username_placeholder": "Nombre de usuario",
|
|
"login.password_placeholder": "Contraseña",
|
|
"login.submit": "Iniciar sesión",
|
|
"login.sign_in_with": "Iniciar sesión con {provider}",
|
|
"help.title": "Ayuda - {title}",
|
|
"restore.title": "DockFlare se está reiniciando",
|
|
"restore.hold_tight": "Un momento, DockFlare se está reiniciando...",
|
|
"restore.flavor_text": "Estamos cargando tu configuración restaurada y animando un poco a los hámsters del túnel.",
|
|
"restore.whats_happening": "¿Qué está pasando?",
|
|
"restore.secrets_imported": "Los secretos cifrados se importaron correctamente.",
|
|
"restore.agents_warming_up": "Los agentes y las reglas se están poniendo en marcha.",
|
|
"restore.refresh_in": "Actualizaremos esta página automáticamente en <span id=\"countdown\">{seconds}</span> segundos.",
|
|
"status.title": "Panel",
|
|
"status.initialization_in_progress": "Inicialización en curso...",
|
|
"status.init_logs_below": "Puedes consultar los registros a continuación. La interfaz se actualizará cuando esté lista.",
|
|
"status.cache_label": "Caché:",
|
|
"status.cache_connected": "Conectado",
|
|
"status.cache_fallback": "Respaldo",
|
|
"status.cache_redis_title": "Caché Redis activa",
|
|
"status.cache_memory_title": "Usando caché en memoria",
|
|
"status.managed_ingress_rules": "Reglas de ingreso gestionadas",
|
|
"status.managed_by_agent": "Gestionado por el agente; el túnel no se puede editar.",
|
|
"status.manual_rules": "Reglas manuales",
|
|
"status.add_manual_rule": "Añadir regla de ingreso manual",
|
|
"status.no_ingress_rules": "Actualmente no se está gestionando ninguna regla de ingreso.",
|
|
"status.add_new_manual_rule": "Añadir nueva regla de ingreso manual",
|
|
"status.edit_ingress_rule": "Editar regla de ingreso",
|
|
"status.add_rule": "Añadir regla",
|
|
"status.save_changes": "Guardar cambios",
|
|
"status.rule_ui_override": "Regla sobrescrita desde la interfaz",
|
|
"status.ui_override": "Sobrescritura de UI",
|
|
"status.docker_rule_overridden": "Esta regla de Docker se ha sobrescrito desde la interfaz y ya no refleja las etiquetas del contenedor.",
|
|
"status.ui_policy_override": "Esta política se gestiona desde la interfaz y sobrescribe las etiquetas del contenedor.",
|
|
"status.revert_to_docker_labels": "Volver a las etiquetas de Docker",
|
|
"status.revert_policy_to_labels": "Revertir política a etiquetas",
|
|
"status.domain_required": "Dominio (obligatorio)",
|
|
"status.domain_description": "Se combina con el subdominio para formar el nombre de host público.",
|
|
"status.tunnel_required": "Túnel (obligatorio)",
|
|
"status.tunnel_description": "Elige qué túnel de Cloudflare servirá este nombre de host.",
|
|
"status.tunnel_name": "Nombre del túnel",
|
|
"status.subdomain": "Subdominio",
|
|
"status.subdomain_optional": "subdominio (opcional)",
|
|
"status.subdomain_description": "Déjalo en blanco para la raíz. \"app\" se convierte en \"/app\".",
|
|
"status.path": "Ruta",
|
|
"status.path_optional": "ruta (opcional)",
|
|
"status.public_hostname": "Nombre de host público",
|
|
"status.service": "Servicio",
|
|
"status.service_target": "Destino del servicio",
|
|
"status.service_description": "p. ej., 192.168.1.10:8000 o my-service.local:3000 para HTTP/S/TCP, etc.",
|
|
"status.type_required": "Tipo (obligatorio)",
|
|
"status.url_required": "URL (obligatoria para la mayoría de los tipos)",
|
|
"status.url_description": "p. ej., api.example.com",
|
|
"status.http": "HTTP",
|
|
"status.https": "HTTPS",
|
|
"status.tcp": "TCP",
|
|
"status.ssh": "SSH (cliente nativo)",
|
|
"status.rdp": "RDP",
|
|
"status.bastion": "Bastion (SSH/VNC en navegador)",
|
|
"status.bypass": "Bypass (aplicación pública)",
|
|
"status.zone": "Zona",
|
|
"status.select_zone": "Seleccionar zona",
|
|
"status.zone_override_help": "Si se deja en blanco, DockFlare usará el \"Nombre de dominio\". Elige una zona concreta si el \"Nombre de dominio\" es ambiguo o si CF_ZONE_ID no está configurado.",
|
|
"status.zone_override_placeholder": "tudominio.com (si es distinto del Nombre de dominio o de CF_ZONE_ID)",
|
|
"status.example_domain": "example.com",
|
|
"status.access_policy_optional": "Política de acceso (opcional)",
|
|
"status.access_policy": "Política de acceso",
|
|
"status.no_policy_assigned": "No hay ninguna política asignada",
|
|
"status.using_groups_overrides": "Usar grupos reemplaza las opciones de política manual de abajo. Puedes seleccionar varias.",
|
|
"status.http_host_header_optional": "Cabecera HTTP Host (opcional)",
|
|
"status.http_host_header_desc": "Cabecera enviada a tu servidor de origen. Útil para orígenes que esperan un nombre de host distinto del público. (Solo se aplica a servicios HTTP/HTTPS).",
|
|
"status.origin_server_name_sni": "Nombre del servidor de origen (SNI para TLS)",
|
|
"status.origin_server_name_sni_short": "Nombre del servidor de origen (SNI)",
|
|
"status.origin_server_name_description": "Especifica el nombre de host que Cloudflare debe usar como SNI TLS al conectarse a tu origen. Déjalo en blanco si no es necesario. (Solo se aplica a servicios HTTP/HTTPS).",
|
|
"status.match_sni_to_host": "Hacer coincidir SNI con el host",
|
|
"status.match_sni_to_host_description": "Hace que Cloudflare use el nombre de host público como SNI TLS para las conexiones al origen. (Solo se aplica a servicios HTTP/HTTPS).",
|
|
"status.disable_tls_verification": "Desactivar verificación TLS",
|
|
"status.no_tls_verify": "No verificar TLS",
|
|
"status.tls_verification_disabled": "Verificación TLS desactivada para el origen",
|
|
"status.tls_verification_check": "Marca esta opción si el servicio de origen usa SSL autofirmado o es HTTP. (Solo se aplica a servicios HTTP/HTTPS).",
|
|
"status.disable_chunked_encoding": "Desactivar codificación por bloques",
|
|
"status.no_chunked_encoding": "Sin codificación por bloques",
|
|
"status.chunked_encoding_description": "Desactiva la codificación de transferencia por bloques en HTTP/1.1. Útil para servidores WSGI (Flask, Django) y otros orígenes que no admiten solicitudes en chunks. (Solo se aplica a servicios HTTP/HTTPS).",
|
|
"status.chunked_encoding_disabled": "Codificación de transferencia por bloques desactivada para HTTP/1.1",
|
|
"status.enable_http2_origin": "Activar HTTP/2 hacia el origen",
|
|
"status.http2_origin": "Origen HTTP/2",
|
|
"status.http2_protocol_enabled": "Protocolo HTTP/2 activado para la conexión con el origen",
|
|
"status.http2_origin_description": "Activa el protocolo HTTP/2 entre Cloudflare y tu servidor de origen. Obligatorio para servicios gRPC. (Solo se aplica a servicios HTTP/HTTPS).",
|
|
"status.clear": "Limpiar",
|
|
"status.hostname": "Nombre de host",
|
|
"status.hostname_a_z": "Nombre de host A-Z",
|
|
"status.hostname_z_a": "Nombre de host Z-A",
|
|
"status.sort_by": "Ordenar por",
|
|
"status.group_by": "Agrupar por",
|
|
"status.all_status": "Todos los estados",
|
|
"status.all_sources": "Todas las fuentes",
|
|
"status.source": "Fuente",
|
|
"status.host": "Host",
|
|
"status.failed": "Error",
|
|
"status.pending": "Pendiente",
|
|
"status.pending_deletion": "Eliminación pendiente",
|
|
"status.last_action": "Última acción",
|
|
"status.expires_in": "Caduca en",
|
|
"status.local_docker": "Docker local",
|
|
"status.real_time_logs": "Registros de actividad en tiempo real",
|
|
"status.logs_performance_hint": "(Haz clic para activar; puede afectar al rendimiento)",
|
|
"status.enable_logs": "Activar registros",
|
|
"status.disable_logs": "Desactivar registros",
|
|
"status.click_enable_logs": "Haz clic en \"Activar registros\" para iniciar el flujo...",
|
|
"status.http_status_code": "Código de estado HTTP",
|
|
"status.url_or_status_code": "URL o código de estado",
|
|
"status.host_port_or_status_code": "host:puerto o código de estado",
|
|
"status.open_url": "Abrir https://{hostname}{path}",
|
|
"status.click_cf_icon_hint": "Haz clic en el icono de Cloudflare para abrir este nombre de host en Cloudflare Zero Trust (Tunnels → Public Hostnames). Haz clic en el icono de política de acceso para editar la aplicación Access.",
|
|
"status.view_cf_access_app": "Ver aplicación CF Access",
|
|
"status.view_cf_tunnel_route": "Ver ruta del túnel CF",
|
|
"status.select_tunnel": "Selecciona un túnel...",
|
|
"status.search_hostname": "Buscar nombre de host",
|
|
"status.search_placeholder": "Buscar...",
|
|
"status.all_tunnels": "Todos los túneles",
|
|
"status.manage_rule": "Gestionar regla",
|
|
"status.dns_records": "Registros DNS",
|
|
"status.cloudflare_zone_override": "Nombre de zona de Cloudflare (sobrescritura/específica)",
|
|
"status.zone_detection": "Detección de zona",
|
|
"status.enter_hostname_autodetect": "Introduce un nombre de host para detectar automáticamente la zona de Cloudflare. Selecciona una zona si se encuentran varias coincidencias.",
|
|
"status.filter_sort_options": "Opciones de filtrado y ordenación",
|
|
"status.showing_rules": "Mostrando {visible} de {total} reglas",
|
|
"settings.title": "Configuración",
|
|
"settings.general_settings": "Configuración general",
|
|
"settings.all_cloudflare_tunnels": "Todos los túneles de Cloudflare",
|
|
"settings.backup_restore": "Copia de seguridad y restauración",
|
|
"settings.security": "Seguridad",
|
|
"settings.oauth_authentication": "Autenticación OAuth",
|
|
"settings.tunnel_agent_status": "Estado del túnel y del agente",
|
|
"settings.check_version": "Comprobar versión",
|
|
"settings.check_version_title": "Comprobar versión de DockFlare",
|
|
"settings.agent_control": "Control del agente",
|
|
"settings.start_agent": "Iniciar agente",
|
|
"settings.stop_agent": "Detener agente",
|
|
"settings.agent_status": "Estado del agente:",
|
|
"settings.master_api_key": "Clave API del master",
|
|
"settings.show_master_api_key": "Mostrar clave API del master",
|
|
"settings.master_api_key_desc": "Mantén esta clave en secreto; rótala si se expone.",
|
|
"settings.master_api_key_warning": "Trata esta clave como una contraseña. Cualquier persona que la tenga podrá llamar a la API de DockFlare.",
|
|
"settings.session_timeout": "Tiempo de expiración de la sesión (segundos)",
|
|
"settings.cloudflare_api_token": "Token de API de Cloudflare",
|
|
"settings.cloudflare_account_id": "ID de cuenta de Cloudflare",
|
|
"settings.cf_account_id": "CF_ACCOUNT_ID",
|
|
"settings.update_cloudflare_credentials": "Actualizar credenciales de Cloudflare",
|
|
"settings.enter_new_credentials": "Introduce un nuevo ID de cuenta o token de API para actualizar. Por motivos de seguridad, los valores actuales no se muestran.",
|
|
"settings.credentials_require_restart": "Actualizar las credenciales requiere reiniciar DockFlare para que surtan efecto.",
|
|
"settings.could_not_retrieve_tunnel_info": "No se pudo obtener la información del túnel.",
|
|
"settings.ensure_api_token_permission": "Esto también puede indicar que se produjo un error. Asegúrate de que tu token de API tenga el permiso 'Account:Cloudflare Tunnel:Read'.",
|
|
"settings.delete_cloudflare_tunnel": "Eliminar túnel de Cloudflare",
|
|
"settings.delete_tunnel": "Eliminar túnel",
|
|
"settings.deleting_tunnel_warning": "Eliminar este túnel desconectará a todos los agentes que lo estén usando actualmente.",
|
|
"settings.no_tunnels_found": "No se encontraron túneles de Cloudflare para el ID de cuenta:",
|
|
"settings.all_tunnels_on_account": "Todos los túneles de la cuenta",
|
|
"settings.displaying_tunnels_for": "Mostrando túneles para el ID de cuenta:",
|
|
"settings.tunnel_list_hint": "Esta lista muestra todos los túneles de la cuenta, no solo el gestionado por DockFlare. Haz clic en '+' para ver los registros DNS asociados.",
|
|
"settings.tunnel_details": "Detalles del túnel",
|
|
"settings.tunnel_name": "Nombre del túnel",
|
|
"settings.tunnel_id": "ID del túnel",
|
|
"settings.tunnel_id_label": "ID del túnel:",
|
|
"settings.tunnel_token_label": "Token del túnel:",
|
|
"settings.desired_name_label": "Nombre deseado:",
|
|
"settings.tunnel_name_help": "Se usa para mostrar el túnel en Cloudflare. DockFlare normaliza automáticamente este valor al generar el nombre del contenedor local de cloudflared.",
|
|
"settings.create_backup": "Crear copia de seguridad",
|
|
"settings.backup_description": "Descarga un archivo de copia de seguridad completo de DockFlare (`.zip`) que contiene tu configuración cifrada, claves de agente y archivo de estado. Guárdalo de forma segura junto con `dockflare.key`, incluido en el archivo.",
|
|
"settings.download_backup": "Descargar archivo de copia de seguridad",
|
|
"settings.upload_restore_backup": "Subir y restaurar copia de seguridad",
|
|
"settings.restore_from_backup": "Restaurar desde copia de seguridad",
|
|
"settings.restore_warning": "Restaurar una copia de seguridad sobrescribe la configuración, las credenciales, las claves de agente y el estado. Esta acción no se puede deshacer.",
|
|
"settings.restore_upload_hint": "Sube un archivo de copia de seguridad de DockFlare (`.zip`). Los archivos `state.json` heredados siguen siendo compatibles, pero solo restauran reglas/grupos.",
|
|
"settings.restore_confirm": "¿Seguro que quieres sobrescribir tu configuración actual con esta copia de seguridad? Esta acción no se puede deshacer.",
|
|
"settings.password_reset": "Restablecimiento de contraseña",
|
|
"settings.current_password": "Contraseña actual",
|
|
"settings.new_password": "Nueva contraseña",
|
|
"settings.confirm_new_password": "Confirmar nueva contraseña",
|
|
"settings.change_password": "Cambiar contraseña",
|
|
"settings.to_confirm": "para confirmar",
|
|
"settings.filesystem_access_required": "Para restablecer tu contraseña, debes tener acceso al sistema de archivos del contenedor DockFlare.",
|
|
"settings.disable_password_login": "Desactivar inicio de sesión con contraseña",
|
|
"settings.disable_password_warning": "Al desactivar el inicio de sesión con contraseña, tú serás responsable de proteger el acceso a DockFlare. La práctica recomendada es usar un túnel de Cloudflare con una política de acceso y asegurarte de que los puertos de Docker no estén expuestos, evitando así el acceso desde la red local (LAN).",
|
|
"settings.security_warning": "Advertencia de seguridad:",
|
|
"settings.oauth_settings": "Configuración de OAuth",
|
|
"settings.configure_oauth_desc": "Configura proveedores OAuth para permitir que los usuarios inicien sesión con servicios de terceros como Google, GitHub o Microsoft.",
|
|
"settings.oauth_trust_warning": "Se confiará en los proveedores OAuth que configures aquí para autenticar usuarios. Añade solo proveedores que controles o en los que confíes plenamente.",
|
|
"settings.no_oauth_configured": "No hay proveedores OAuth configurados. Haz clic en \"Añadir proveedor\" para empezar.",
|
|
"settings.add_provider": "Añadir proveedor",
|
|
"settings.add_oauth_provider": "Añadir proveedor OAuth",
|
|
"settings.edit_oauth_provider": "Editar proveedor OAuth",
|
|
"settings.provider_id": "ID del proveedor",
|
|
"settings.provider_type": "Tipo de proveedor",
|
|
"settings.provider_name_example": "p. ej., Google",
|
|
"settings.provider_display_name_example": "p. ej., Google, GitHub Corporate",
|
|
"settings.provider_id_example": "p. ej., google",
|
|
"settings.oauth_client_id": "ID de cliente OAuth",
|
|
"settings.client_id": "ID de cliente",
|
|
"settings.oauth_client_secret": "Secreto de cliente OAuth",
|
|
"settings.client_secret": "Secreto de cliente",
|
|
"settings.leave_blank_keep_secret": "Déjalo en blanco para conservar el secreto actual",
|
|
"settings.issuer_url": "URL del emisor",
|
|
"settings.issuer_url_desc": "La URL del emisor del proveedor OIDC.",
|
|
"settings.issuer_url_example": "https://authentik.example.com/application/o/dockflare/",
|
|
"settings.unique_id_for_provider": "Identificador único para este proveedor",
|
|
"settings.google": "Google",
|
|
"settings.github": "GitHub",
|
|
"settings.generic_oidc": "OIDC genérico / Authentik",
|
|
"settings.enable_provider": "Activar proveedor",
|
|
"settings.authorized_users": "Usuarios autorizados",
|
|
"settings.only_listed_users": "Solo los usuarios con direcciones de correo electrónico indicadas aquí podrán autenticarse mediante OAuth.",
|
|
"settings.no_authorized_users": "No hay usuarios autorizados configurados. Haz clic en \"Añadir usuario\" para autorizar direcciones de correo.",
|
|
"settings.add_user": "Añadir usuario",
|
|
"settings.add_authorized_user": "Añadir usuario autorizado",
|
|
"settings.email_address": "Dirección de correo electrónico",
|
|
"settings.email_example": "usuario@example.com",
|
|
"settings.email_must_match": "Este correo electrónico debe coincidir exactamente con el del proveedor OAuth",
|
|
"settings.created_at": "Creado el",
|
|
"settings.keep_existing_fields": "Cuando está activado, DockFlare conserva los campos existentes de la ruta del túnel de Cloudflare que no gestiona, en lugar de borrarlos durante la sincronización.",
|
|
"settings.external_mode": "Modo externo:",
|
|
"settings.toggle_dns_records": "Alternar registros DNS",
|
|
"settings.env_var": "La",
|
|
"settings.env_var_not_configured": "variable de entorno no está configurada. No se puede mostrar esta sección.",
|
|
"settings.cf_zone_id_label": "ID principal de zona de Cloudflare",
|
|
"settings.optional_default_zone_id": "Opcional. El ID de zona predeterminado para los nuevos registros DNS.",
|
|
"settings.zone_scan_label": "Otras zonas para analizar (separadas por comas)",
|
|
"settings.zone_scan_description": "p. ej., my-other-domain.com, another.dev",
|
|
"settings.dockflare_public_url_label": "URL pública de DockFlare",
|
|
"settings.dockflare_public_url_help": "Se usa para generar el script de despliegue del agente y delimitar el alcance de la aplicación de Cloudflare Zero Trust. La variable de entorno DOCKFLARE_PUBLIC_URL tiene prioridad si está definida.",
|
|
"policies.title": "Políticas de acceso",
|
|
"policies.advanced_access_policies": "Políticas de acceso avanzadas",
|
|
"policies.create_reusable_desc": "Crea políticas de acceso reutilizables para aplicarlas con una sola etiqueta.",
|
|
"policies.filter": "Filtro:",
|
|
"policies.all_policies": "Todas las políticas",
|
|
"policies.dockflare_managed": "Gestionadas por DockFlare",
|
|
"policies.external": "Externa",
|
|
"policies.system": "Sistema",
|
|
"policies.access_groups": "Grupos de acceso",
|
|
"policies.create_new_group": "Crear nuevo grupo",
|
|
"policies.no_groups_created": "Todavía no se ha creado ningún grupo de acceso.",
|
|
"policies.click_create_group": "Haz clic en \"Crear nuevo grupo\" para empezar.",
|
|
"policies.display_name": "Nombre para mostrar",
|
|
"policies.group_id_label": "ID del grupo (para la etiqueta)",
|
|
"policies.cannot_delete_in_use": "No se puede eliminar: el grupo está en uso",
|
|
"policies.cannot_delete_system": "No se puede eliminar: política del sistema",
|
|
"policies.import_policies_desc": "Importa TODAS las políticas desde Cloudflare, incluidas las creadas manualmente o por otras herramientas. Las políticas externas se marcarán con una insignia morada.",
|
|
"policies.sync_from_cloudflare": "Sincronizar desde Cloudflare",
|
|
"policies.sync_access_policies": "Sincronizar políticas de acceso desde Cloudflare",
|
|
"policies.sync_now": "Sincronizar ahora",
|
|
"policies.sync_all_policies": "Sincronizar todas las políticas",
|
|
"policies.import_reusable_desc": "Importa políticas de acceso reutilizables desde tu cuenta de Cloudflare.",
|
|
"policies.loading_idps": "Cargando proveedores de identidad...",
|
|
"policies.loading_zone_policies": "Cargando políticas de zona...",
|
|
"policies.policy_summary": "Resumen de la política",
|
|
"policies.policy_type": "Tipo de política",
|
|
"policies.public_access_mode": "Modo de acceso público:",
|
|
"policies.authenticated_mode": "Modo autenticado:",
|
|
"policies.public_access_geo": "Regla de acceso público con restricciones geográficas",
|
|
"policies.no_auth_method": "No se ha seleccionado ningún método de autenticación",
|
|
"policies.no_rules": "Sin reglas",
|
|
"policies.rules_defined": "{count} regla(s) definida(s)",
|
|
"policies.switch_to_public": "Cambiar a acceso público",
|
|
"policies.requires_email_or_identity": "Requiere dirección de correo o proveedor de identidad",
|
|
"policies.geo_no_auth_warning": "Has seleccionado restricciones geográficas, pero ningún método de autenticación (correo electrónico o proveedor de identidad).",
|
|
"policies.create_zone_policy": "Crear política de zona",
|
|
"policies.create_zone_default": "Crear política predeterminada de zona",
|
|
"policies.protect_all_subdomains": "Protege todos los subdominios de tus zonas con un comodín",
|
|
"policies.to_protect_all_subdomains": "para proteger todos los subdominios.",
|
|
"policies.this_will_create_wildcard": "Esto creará una aplicación Access con comodín para",
|
|
"policies.access_policy_label": "política de acceso.",
|
|
"policies.select_access_policy": "Seleccionar política de acceso",
|
|
"policies.policy_protect_desc": "La política de acceso que protegerá",
|
|
"policies.used_by_services": "Usada por estos servicios:",
|
|
"policies.view_in_cf_zero_trust": "Ver políticas de acceso en Cloudflare Zero Trust",
|
|
"policies.view_idps_in_cf": "Ver proveedores de identidad en Cloudflare Zero Trust",
|
|
"policies.view_in_cloudflare": "Ver en Cloudflare",
|
|
"policies.configure_oauth_oidc": "Configura proveedores OAuth/OIDC para la autenticación Zero Trust.",
|
|
"policies.dockflare_prefix_only": "Solo prefijo DockFlare- (recomendado)",
|
|
"policies.import_with_prefix": "Importar solo políticas con",
|
|
"policies.dockflare_prefix": "DockFlare-",
|
|
"policies.rename_policies_desc": "Puedes renombrar políticas en Cloudflare para usar el prefijo",
|
|
"policies.keeps_list_clean": ". Esto mantiene tu lista de políticas limpia y centrada en la infraestructura de contenedores.",
|
|
"policies.allows_organize": ". Esto te permite organizar qué políticas aparecen en DockFlare sin activar la sincronización completa.",
|
|
"policies.did_you_want_to_create": "¿Querías crear una",
|
|
"policies.pro_tip": "Consejo:",
|
|
"policies.wildcard_geo_desc": "Cualquiera puede acceder salvo desde países bloqueados",
|
|
"policies.open_in_cf_zero_trust": "Abrir en Cloudflare Zero Trust",
|
|
"policies.identity_providers": "Proveedores de identidad",
|
|
"policies.add_provider": "Añadir proveedor",
|
|
"policies.zone_default_policies": "Políticas predeterminadas de zona (comodines *.tld)",
|
|
"policies.zone_name": "Nombre de zona",
|
|
"policies.zone_id": "ID de zona",
|
|
"policies.wildcard_hostname": "Nombre de host comodín",
|
|
"policies.protected": "Protegido",
|
|
"policies.not_protected": "No protegido",
|
|
"policies.cancel_add_auth": "Cancelar - Añadir autenticación",
|
|
"policies.policy_in_use": "política en uso",
|
|
"policies.in_use_by": "En uso por",
|
|
"policies.service": "servicio",
|
|
"policies.services": "servicios",
|
|
"policies.used_by_count": "Usada por",
|
|
"policies.failed_load_zone_policies": "Error al cargar las políticas de zona",
|
|
"policies.no_dns_zones": "No se encontraron zonas DNS en tu cuenta de Cloudflare.",
|
|
"policies.countries_selected": "de {total} países seleccionados",
|
|
"policies.no_countries_blocked": "No hay países bloqueados.",
|
|
"policies.all_countries_allowed": "Todos los países permitidos",
|
|
"policies.all_countries_blocked": "Todos los países bloqueados",
|
|
"policies.no_access_allowed": "No se permite ningún acceso.",
|
|
"policies.one_country_allowed": "Solo se permite 1 país.",
|
|
"policies.countries_blocked": "países bloqueados.",
|
|
"policies.countries_allowed": "países permitidos.",
|
|
"policies.delete_external_policy_title": "Eliminar política externa",
|
|
"policies.delete_group_confirm": "¿Seguro que quieres eliminar el grupo de acceso",
|
|
"policies.cannot_be_undone": "Esta acción no se puede deshacer.",
|
|
"policies.external_policy_warning": "ADVERTENCIA: esta es una política EXTERNA no creada por DockFlare.",
|
|
"policies.external_policy_affect": "puede afectar a servicios fuera de DockFlare.",
|
|
"policies.external_policy_confirm": "¿Seguro de que quieres eliminar esta política externa?",
|
|
"policies.security_requirement": "Requisito de seguridad",
|
|
"policies.idp_email_required": "Requisito de seguridad: cuando se usan proveedores de identidad, debes especificar las direcciones de correo permitidas para evitar accesos no autorizados.",
|
|
"policies.remove_this_item": "Eliminar este elemento",
|
|
"policies.search_select_countries": "Buscar y seleccionar países para bloquear...",
|
|
"policies.select_identity_providers": "Seleccionar proveedores de identidad...",
|
|
"agents.title": "Gestión de agentes",
|
|
"agents.agents_management": "Gestión de agentes",
|
|
"agents.force_reconciliation": "Forzar reconciliación",
|
|
"agents.generate_new_api_key": "Generar nueva clave API",
|
|
"agents.agent_id": "ID del agente",
|
|
"agents.display_name": "Nombre para mostrar",
|
|
"agents.version": "Versión",
|
|
"agents.status": "Estado",
|
|
"agents.heart_beat": "Heartbeat",
|
|
"agents.assigned_tunnel": "Túnel asignado",
|
|
"agents.migration": "Migración",
|
|
"agents.cloudflared_version": "Versión de cloudflared",
|
|
"agents.origin_ip": "IP de origen",
|
|
"agents.tunnel_status": "Estado del túnel",
|
|
"agents.active_api_keys": "Claves API activas",
|
|
"agents.generate_new_agent_key": "Generar nueva clave API del agente",
|
|
"agents.key_partial": "Clave (parcial)",
|
|
"agents.full_api_key": "Clave API completa",
|
|
"agents.created_at": "Creado el",
|
|
"agents.copy_key_now": "Copia esta clave ahora. No volverás a poder verla.",
|
|
"agents.key_rolled_success": "La rotación de la clave API se realizó correctamente",
|
|
"agents.update_agent_config": "Actualiza la configuración de tu agente DockFlare con esta nueva clave y reinicia el agente.",
|
|
"agents.revoked_keys": "Claves revocadas",
|
|
"agents.revoked_keys_desc": "Las claves API revocadas aparecerán aquí para su limpieza",
|
|
"agents.no_agents_registered": "Todavía no se ha registrado ningún agente.",
|
|
"agents.no_revoked_keys": "No hay claves revocadas",
|
|
"agents.revoked_at": "Revocada el",
|
|
"agents.auto_cleanup": "Limpieza automática",
|
|
"agents.remove_old_keys": "Eliminar claves revocadas hace más de 30 días",
|
|
"agents.auto_delete": "Eliminación automática",
|
|
"agents.clear_all": "Borrar todo",
|
|
"agents.rename_agent": "Renombrar agente",
|
|
"agents.save_name": "Guardar nombre",
|
|
"agents.name_persists": "Este nombre se mantendrá incluso cuando el agente se vuelva a conectar",
|
|
"agents.enroll_agent": "Registrar agente",
|
|
"agents.create_new_tunnel": "Crear nuevo túnel",
|
|
"agents.existing_tunnels": "Túneles existentes",
|
|
"agents.select_existing_or_create": "Selecciona un túnel de Cloudflare existente para asignarlo a este agente, o crea uno nuevo indicando un nombre.",
|
|
"agents.loading_tunnels": "Cargando túneles...",
|
|
"agents.migration_assistant": "Asistente de migración",
|
|
"agents.open_migration_assistant": "Abrir asistente de migración",
|
|
"agents.owner": "Responsable",
|
|
"agents.owner_optional": "Responsable (opcional, como referencia)",
|
|
"agents.owner_example": "p. ej., Servidor de producción, servidor NAS",
|
|
"agents.new_tunnel_name_example": "p. ej., mi-nuevo-servidor-remoto",
|
|
"agents.cf_zero_trust_title": "Cloudflare Zero Trust",
|
|
"agents.cf_zero_trust_desc": "Comunicación segura del agente mediante Cloudflare Service Token. Necesario para el despliegue del agente en un solo comando.",
|
|
"agents.cf_zero_trust_setup_btn": "Configurar Zero Trust",
|
|
"agents.cf_zero_trust_remove_btn": "Eliminar",
|
|
"agents.cf_zero_trust_checking": "Comprobando configuración...",
|
|
"agents.deploy_agent": "Desplegar agente",
|
|
"agents.deploy_quick": "Despliegue rápido",
|
|
"agents.deploy_compose_snippet": "Fragmento de Compose",
|
|
"agents.deploy_quick_desc": "Copia este script y pégalo directamente en tu sesión SSH del servidor de destino.",
|
|
"agents.deploy_compose_desc": "Guárdalo como <code>docker-compose.yml</code>, asegúrate de que la red <code>cloudflare-net</code> existe y luego ejecuta <code>docker compose up -d</code>.",
|
|
"setup.title": "Configuración de DockFlare",
|
|
"setup.step1.create_admin": "Crear usuario administrador",
|
|
"setup.step1.final_step": "Paso final: crear usuario administrador",
|
|
"setup.step1.desc_new": "Crea una cuenta de administrador segura para acceder a la interfaz web de DockFlare. Todos tus datos, incluida tu contraseña, se cifrarán para garantizar que permanezcan seguros y confidenciales.",
|
|
"setup.step1.desc_migration": "Tu configuración ha sido importada. Crea una cuenta de administrador para completar la migración.",
|
|
"setup.step1.username_placeholder": "p. ej., admin",
|
|
"setup.step1.restore_option": "¿Vienes de otra instancia de DockFlare? Restaurar desde copia de seguridad",
|
|
"setup.step2.desc": "Proporciona tu token de API de Cloudflare y tu ID de cuenta. Esto es necesario para que DockFlare gestione de forma segura tus túneles y registros DNS. Puedes encontrar tu ID de cuenta en el panel de Cloudflare, a la derecha de la página de resumen de cualquiera de tus dominios. Puedes crear un token de API desde la página de API Tokens en tu perfil.",
|
|
"setup.step2.token_placeholder": "Tu token de API de Cloudflare",
|
|
"setup.step2.account_id_placeholder": "Tu ID de cuenta de Cloudflare",
|
|
"setup.step2.back": "Volver al paso 1",
|
|
"setup.step3.desc": "Configura los ajustes de tu túnel de Cloudflare. El nombre del túnel que especifiques identificará tu túnel en el panel de Cloudflare. Además, tienes la opción de designar una zona principal y otras zonas para el escaneo DNS.",
|
|
"setup.step3.tunnel_name_help": "Un nombre descriptivo para tu túnel de Cloudflare. Este nombre aparecerá en tu panel de Cloudflare.",
|
|
"setup.step3.tunnel_name_note": "DockFlare normaliza automáticamente este valor al generar el nombre del contenedor local de cloudflared.",
|
|
"setup.step3.zone_id_placeholder": "p. ej., abc123def456...",
|
|
"setup.step3.zone_id_help": "El dominio principal (zona) para el que quieres que DockFlare gestione los registros DNS. Si lo dejas en blanco, DockFlare intentará encontrar una zona adecuada automáticamente.",
|
|
"setup.step3.scan_zones_placeholder": "p. ej., example.com, my-other-domain.net",
|
|
"setup.step3.grace_period_help": "El tiempo (en segundos) que se espera antes de eliminar automáticamente los registros DNS de un contenedor detenido. Esto evita que se eliminen de inmediato si un contenedor solo se está reiniciando. Mínimo: 60 segundos.",
|
|
"setup.step3.back": "Volver al paso 2",
|
|
"setup.step4.desc": "Revisa los detalles de tu configuración a continuación antes de completar la instalación. Una vez que finalices, DockFlare comenzará a gestionar tus túneles según estos ajustes y serás redirigido a la página de inicio de sesión.",
|
|
"setup.step4.back": "Volver",
|
|
"setup.steps.step1": "Acceso web",
|
|
"setup.steps.step2": "Cloudflare",
|
|
"setup.steps.step3": "Túnel",
|
|
"setup.steps.step4": "Finalizar",
|
|
"setup.restore.title": "Restaurar copia de seguridad de DockFlare",
|
|
"setup.restore.desc": "Sube un archivo de copia de seguridad de DockFlare (`.zip`) para restaurar la configuración, el estado y las claves de agente en este despliegue nuevo.",
|
|
"setup.restore.file_label": "Archivo de copia de seguridad (.zip)",
|
|
"setup.restore.file_help": "Las copias de seguridad deben haberse generado con DockFlare ≥ 3.0.",
|
|
"setup.restore.info": "Tras una restauración correcta, se te redirigirá a la pantalla de inicio de sesión. Los agentes existentes pueden tardar un momento en volver a conectarse.",
|
|
"setup.restore.submit": "Restaurar copia de seguridad",
|
|
"setup.restore.manual_link": "¿Prefieres configurar DockFlare manualmente?",
|
|
"setup.import.title": "Asistente de migración",
|
|
"setup.import.desc": "DockFlare ha detectado ajustes de una versión anterior (archivo .env). Los hemos importado por ti.",
|
|
"setup.import.imported_settings": "Ajustes importados",
|
|
"setup.import.review_text": "Revisa los ajustes importados. Si son correctos, pasa al paso final: crear tu cuenta de usuario administrador.",
|
|
"setup.import.proceed": "Continuar con la migración",
|
|
"setup.import.cancel": "Crear nueva configuración",
|
|
"modal.access_group.title_create": "Crear nuevo grupo de acceso",
|
|
"modal.access_group.title_edit": "Editar grupo de acceso",
|
|
"modal.access_group.tab_authenticated": "Acceso autenticado",
|
|
"modal.access_group.tab_public": "Acceso público",
|
|
"modal.access_group.auth_heading": "Acceso autenticado",
|
|
"modal.access_group.auth_desc": "Requiere autenticación de usuario mediante correo/dominio. Puede restringirse opcionalmente por ubicación geográfica. Úsalo para aplicaciones protegidas.",
|
|
"modal.access_group.public_heading": "Acceso público (Bypass)",
|
|
"modal.access_group.public_desc": "No se requiere autenticación. Acceso público con restricciones geográficas opcionales. La autenticación por correo no está disponible en este modo.",
|
|
"modal.access_group.display_name_label": "Nombre para mostrar (obligatorio)",
|
|
"modal.access_group.display_name_placeholder": "p. ej., Acceso familiar NAS",
|
|
"modal.access_group.display_name_help": "Un nombre descriptivo que se muestra en la interfaz.",
|
|
"modal.access_group.group_id_label": "ID del grupo (obligatorio)",
|
|
"modal.access_group.group_id_placeholder": "p. ej., nas-family",
|
|
"modal.access_group.group_id_help": "Se usa en las etiquetas de Docker. Solo minúsculas, números y guiones.",
|
|
"modal.access_group.policy_rules": "Reglas de la política",
|
|
"modal.access_group.idp_label": "Proveedores de identidad",
|
|
"modal.access_group.idp_help": "Selecciona proveedores OAuth/OIDC para la autenticación.",
|
|
"modal.access_group.idp_warning": "Las direcciones de correo son obligatorias cuando se usan IdP.",
|
|
"modal.access_group.idp_email_warning": "Las direcciones de correo son obligatorias cuando se usan IdP.",
|
|
"modal.access_group.tpl_block_except_us": "Bloquear todo excepto EE. UU.",
|
|
"modal.access_group.tpl_block_except_eu": "Bloquear todo excepto la UE",
|
|
"modal.access_group.tpl_block_high_risk": "Bloquear países de alto riesgo",
|
|
"modal.access_group.tpl_block_non_nato": "Bloquear países no miembros de la OTAN",
|
|
"modal.access_group.emails_label": "Correos o dominios permitidos (obligatorio con IdP)",
|
|
"modal.access_group.emails_placeholder": "yo@example.com, amigo@example.com, @miempresa.com",
|
|
"modal.access_group.emails_help": "Separados por comas. Para permitir a cualquiera de un dominio, usa",
|
|
"modal.access_group.emails_help_idp": "Cuando uses IdP, debes especificar los correos permitidos para evitar accesos no autorizados.",
|
|
"modal.access_group.ip_ranges_label": "Rangos IP permitidos",
|
|
"modal.access_group.ip_ranges_placeholder": "192.168.1.0/24, 2001:db8::/32",
|
|
"modal.access_group.ip_ranges_help": "Lista de rangos IP en formato CIDR, separados por comas.",
|
|
"modal.access_group.countries_label": "Países bloqueados",
|
|
"modal.access_group.country_counter": "{selected} de 195 países seleccionados",
|
|
"modal.access_group.select_all": "Seleccionar todo",
|
|
"modal.access_group.select_none": "No seleccionar ninguno",
|
|
"modal.access_group.invert_selection": "Invertir selección",
|
|
"modal.access_group.quick_templates": "Plantillas rápidas ▾",
|
|
"modal.access_group.block_all_except_us": "Bloquear todo excepto EE. UU.",
|
|
"modal.access_group.block_all_except_eu": "Bloquear todo excepto la UE",
|
|
"modal.access_group.block_high_risk": "Bloquear países de alto riesgo",
|
|
"modal.access_group.block_non_nato": "Bloquear países no miembros de la OTAN",
|
|
"modal.access_group.select_by_region": "Seleccionar por región ▾",
|
|
"modal.access_group.region_africa": "África",
|
|
"modal.access_group.region_asia": "Asia",
|
|
"modal.access_group.region_europe": "Europa",
|
|
"modal.access_group.region_north_america": "América del Norte",
|
|
"modal.access_group.region_south_america": "América del Sur",
|
|
"modal.access_group.region_oceania": "Oceanía",
|
|
"modal.access_group.country_policy_help": "Los países seleccionados se bloquearán. Todos los demás países estarán permitidos.",
|
|
"modal.access_group.common_scenarios": "Escenarios comunes:",
|
|
"modal.access_group.allow_us_only": "Permitir solo EE. UU.",
|
|
"modal.access_group.allow_us_eu": "Permitir EE. UU. + UE",
|
|
"modal.access_group.block_high_risk_short": "Bloquear alto riesgo",
|
|
"modal.access_group.app_settings": "Ajustes de la aplicación (opcional)",
|
|
"modal.access_group.session_duration": "Duración de la sesión",
|
|
"modal.access_group.session_duration_help": "p. ej., 24h, 30m, 720h.",
|
|
"modal.access_group.auto_redirect": "Redirección automática a la identidad",
|
|
"modal.access_group.app_launcher_visible": "Visible en el lanzador de aplicaciones",
|
|
"modal.access_group.save_group": "Guardar grupo",
|
|
"modal.idp.title_create": "Añadir proveedor de identidad",
|
|
"modal.idp.title_edit": "Editar proveedor de identidad",
|
|
"modal.idp.help_text": "¿Necesitas ayuda? Consulta",
|
|
"modal.idp.help_link_text": "la guía de configuración del proveedor de identidad",
|
|
"modal.idp.help_suffix": "para obtener instrucciones paso a paso.",
|
|
"modal.idp.help_text_before": "¿Necesitas ayuda? Consulta",
|
|
"modal.idp.help_text_link": "la guía de configuración del proveedor de identidad",
|
|
"modal.idp.help_text_after": "para obtener instrucciones paso a paso.",
|
|
"modal.idp.friendly_name": "Nombre descriptivo",
|
|
"modal.idp.friendly_name_placeholder": "p. ej., google-main, azure-work",
|
|
"modal.idp.friendly_name_help": "Nombre interno para referenciar este IdP en las etiquetas",
|
|
"modal.idp.display_name": "Nombre para mostrar",
|
|
"modal.idp.display_name_placeholder": "p. ej., Google Workspace, Azure AD corporativo",
|
|
"modal.idp.display_name_help": "Nombre que se muestra en el panel de Cloudflare",
|
|
"modal.idp.provider_type": "Tipo de proveedor",
|
|
"modal.idp.select_provider": "Selecciona un proveedor...",
|
|
"modal.idp.google": "Google (cuentas personales)",
|
|
"modal.idp.google_workspace": "Google Workspace",
|
|
"modal.idp.azure_ad": "Microsoft Azure AD",
|
|
"modal.idp.okta": "Okta",
|
|
"modal.idp.github": "GitHub",
|
|
"modal.idp.oidc": "OpenID Connect genérico",
|
|
"modal.idp.provider_google": "Google (cuentas personales)",
|
|
"modal.idp.provider_google_workspace": "Google Workspace",
|
|
"modal.idp.provider_azure_ad": "Microsoft Azure AD",
|
|
"modal.idp.provider_okta": "Okta",
|
|
"modal.idp.provider_github": "GitHub",
|
|
"modal.idp.provider_oidc": "OpenID Connect genérico",
|
|
"modal.idp.select_type_warning": "Selecciona un tipo de proveedor para configurar las credenciales",
|
|
"modal.idp.redirect_uri_heading": "URI de redirección para la configuración de OAuth:",
|
|
"modal.idp.create_provider": "Crear proveedor",
|
|
"modal.idp.save_provider": "Guardar proveedor",
|
|
"js.alert.edit_dialog_error": "No se pudo abrir el cuadro de edición debido a un error. Revisa la consola.",
|
|
"js.alert.sync_error": "Error: {error}",
|
|
"js.alert.sync_error_title": "Error de sincronización",
|
|
"js.alert.sync_error_generic": "Error al sincronizar proveedores de identidad. Revisa la consola para obtener más detalles.",
|
|
"js.alert.error_title": "Error",
|
|
"js.alert.test_url_error": "Error al abrir la URL de prueba. Revisa la consola para obtener más detalles.",
|
|
"js.alert.save_error": "Error: {error}",
|
|
"js.alert.save_error_title": "Error al guardar",
|
|
"js.alert.save_error_generic": "Error al guardar el proveedor de identidad. Revisa la consola para obtener más detalles.",
|
|
"js.alert.delete_error": "Error: {error}",
|
|
"js.alert.delete_error_title": "Error al eliminar",
|
|
"js.alert.delete_error_generic": "Error al eliminar el proveedor de identidad. Revisa la consola para obtener más detalles.",
|
|
"js.alert.cf_setup_success": "Cloudflare Zero Trust configurado correctamente.",
|
|
"js.alert.cf_setup_success_title": "Éxito",
|
|
"js.alert.cf_removed": "Configuración de Cloudflare Zero Trust eliminada.",
|
|
"js.alert.cf_removed_title": "Éxito",
|
|
"js.confirm.idp_test_success": "¡Proveedor de identidad creado correctamente!\n\n¿Quieres probar este proveedor de identidad ahora?",
|
|
"js.confirm.idp_test_title": "Probar proveedor de identidad",
|
|
"js.confirm.idp_delete": "¿Seguro que quieres eliminar el proveedor de identidad \"{friendlyName}\"? Se eliminará tanto de DockFlare como de Cloudflare.",
|
|
"js.confirm.idp_delete_title": "Eliminar proveedor de identidad",
|
|
"js.confirm.delete_api_key": "¿Seguro que quieres eliminar esta clave API?",
|
|
"js.confirm.delete_api_key_title": "Eliminar clave API",
|
|
"js.confirm.delete_rule": "¿Seguro que quieres eliminar la regla de {hostname}?",
|
|
"js.confirm.delete_rule_title": "Eliminar regla",
|
|
"js.confirm.revert_rule": "¿Revertir esta regla a las etiquetas de Docker? Se eliminará la sobrescritura de la interfaz.",
|
|
"js.confirm.revert_rule_title": "Revertir a etiquetas",
|
|
"js.confirm.revert_policy": "¿Revertir esta política a las etiquetas de Docker? Se eliminará la sobrescritura de la interfaz.",
|
|
"js.confirm.revert_policy_title": "Revertir política",
|
|
"js.confirm.delete_group": "¿Seguro que quieres eliminar el grupo de acceso \"{name}\"?",
|
|
"js.confirm.delete_group_title": "Eliminar grupo de acceso",
|
|
"js.confirm.delete_tunnel": "¿Seguro que quieres eliminar este túnel de Cloudflare?",
|
|
"js.confirm.delete_tunnel_title": "Eliminar túnel",
|
|
"js.confirm.force_reconcile": "¿Forzar una reconciliación completa ahora?",
|
|
"js.confirm.force_reconcile_title": "Forzar reconciliación",
|
|
"js.confirm.restore_backup": "Restaurar una copia de seguridad sobrescribirá toda la configuración actual. ¿Continuar?",
|
|
"js.confirm.restore_backup_title": "Restaurar copia de seguridad",
|
|
"js.confirm.cf_remove": "Esto eliminará el Cloudflare Service Token y la aplicación de acceso. Los agentes existentes perderán su autenticación de CF Zero Trust. ¿Continuar?",
|
|
"js.confirm.cf_remove_title": "Eliminar configuración de Zero Trust",
|
|
"js.text.connecting_logs": "Conectando al flujo de registros...",
|
|
"js.text.log_cleared": "Registro borrado...",
|
|
"js.text.enable_logs_prompt": "Haz clic en \"Activar registros\" para iniciar el flujo...",
|
|
"js.text.loading_dns": "Cargando registros DNS...",
|
|
"js.text.no_cname_records": "No se encontraron registros CNAME.",
|
|
"js.text.error_loading_dns": "Error al cargar los registros DNS: {error}",
|
|
"js.text.browser_sse_not_supported": "El navegador no admite Server-Sent Events.",
|
|
"js.text.log_connection_timeout": "--- Tiempo de espera agotado para la conexión al flujo de registros. Reconectando... ---",
|
|
"js.text.log_connected": "--- Flujo de registros conectado ---",
|
|
"js.text.log_connection_error": "--- Error de conexión del flujo de registros. Reintentando... ---",
|
|
"js.text.log_connection_failed": "--- No se pudo establecer la conexión con el flujo de registros: {error} ---",
|
|
"js.text.log_health_check_error": "--- Comprobación de estado: flujo de registros desconectado. Reconectando... ---",
|
|
"js.text.state_sse_not_supported": "El navegador no admite Server-Sent Events. Actualización automática del estado desactivada.",
|
|
"js.text.countdown_expired": "Caducado",
|
|
"js.text.countdown_expires_in": "Caduca en {time}",
|
|
"js.text.invalid_date": "(Fecha no válida)",
|
|
"js.text.reconciliation_complete": "Reconciliación completada",
|
|
"js.text.reconciliation_progress": "Reconciliación: {progress}%",
|
|
"js.text.reconciliation_processing": "Procesando {processed} de {total} elementos...",
|
|
"js.text.theme_not_available": "El tema \"{theme}\" no está disponible; se usará el tema claro por defecto.",
|
|
"js.text.no_tunnels_found": "No se encontraron túneles para esta cuenta. Configura un túnel de Cloudflare antes de añadir reglas.",
|
|
"js.text.no_existing_tunnels": "No hay túneles existentes",
|
|
"js.text.select_existing_tunnel": "-- Selecciona un túnel existente --",
|
|
"js.text.all_rules": "Todas las reglas",
|
|
"js.text.critical": "Crítico",
|
|
"js.text.warning": "Advertencia",
|
|
"js.text.unavailable": "No disponible",
|
|
"js.text.error": "Error",
|
|
"js.text.oauth_client_id_placeholder": "ID de cliente OAuth",
|
|
"js.text.create_access_group_title": "Crear nuevo grupo de acceso",
|
|
"js.text.edit_access_group_title": "Editar grupo de acceso: {displayName}",
|
|
"js.text.zone_enter_hostname": "Introduce un nombre de host para detectar automáticamente la zona de Cloudflare.",
|
|
"js.text.zone_override": "Usando sobrescritura de zona: {zoneName}",
|
|
"js.text.zone_detected": "Zona detectada: {zoneName}",
|
|
"js.text.zone_select_multiple": "Varias zonas coinciden con este nombre de host. Elige la correcta abajo.",
|
|
"js.text.zone_not_found": "Ninguna zona coincide con este nombre de host. Selecciona manualmente la zona adecuada.",
|
|
"js.text.zone_selected": "Zona seleccionada: {zoneName}",
|
|
"js.text.zone_badge_detected": "Detectada",
|
|
"js.text.zone_badge_select": "Seleccionar zona",
|
|
"js.text.zone_badge_required": "Zona obligatoria",
|
|
"js.text.zone_badge_selected": "Seleccionada",
|
|
"js.text.zone_badge_override": "Sobrescritura",
|
|
"js.text.cf_configured": "Configurado",
|
|
"js.text.cf_not_configured": "No configurado",
|
|
"js.text.cf_active": "✓ Service Token activo — ID de cliente: {client_id}",
|
|
"js.text.cf_setup_required": "Configuración necesaria. Define la <strong>URL pública de DockFlare</strong> en <a href=\"{settings_url}\" class=\"link\">Ajustes</a> y luego haz clic en <strong>Configurar Zero Trust</strong>.",
|
|
"js.table.provider": "Proveedor",
|
|
"js.table.cloudflare_id": "ID de Cloudflare",
|
|
"js.table.connector": "Conector",
|
|
"js.table.status": "Estado",
|
|
"js.table.actions": "Acciones",
|
|
"js.table.system_managed": "Gestionado por el sistema",
|
|
"js.table.user_configured": "Configurado por el usuario",
|
|
"js.table.idp_edit": "Editar",
|
|
"js.table.idp_test": "Probar IdP",
|
|
"js.table.idp_delete": "Eliminar",
|
|
"js.table.idp_empty": "No hay proveedores de identidad configurados. Haz clic en \"Añadir proveedor\" para empezar.",
|
|
"js.table.idp_failed_to_load": "Error al cargar los proveedores de identidad",
|
|
"js.table.idp_error_loading": "Error al cargar proveedores de identidad",
|
|
"js.modal.idp_title_create": "Añadir proveedor de identidad",
|
|
"js.modal.idp_title_edit": "Editar proveedor de identidad",
|
|
"js.modal.idp_btn_create": "Crear proveedor",
|
|
"js.modal.idp_btn_update": "Actualizar proveedor",
|
|
"js.modal.idp_select_type": "Selecciona un tipo de proveedor para configurar las credenciales",
|
|
"js.sync.syncing": "Sincronizando...",
|
|
"js.sync.default_text": "Sincronizar desde Cloudflare",
|
|
"js.form.tunnel": "Túnel",
|
|
"js.form.zone": "Zona",
|
|
"js.form.from_agent": "Desde el agente",
|
|
"js.prompt.delete_tunnel_confirm": "Escribe \"delete\" para confirmar la eliminación del túnel:",
|
|
"js.prompt.rename_agent": "Introduce un nuevo nombre para mostrar para este agente:",
|
|
"flash.general_settings_updated": "La configuración general se actualizó correctamente.",
|
|
"flash.tunnel_name_changed": "El nombre del túnel ha cambiado. Reiniciando el agente para aplicar los cambios...",
|
|
"flash.error_saving_settings": "Se produjo un error al guardar la configuración.",
|
|
"flash.security_settings_updated": "La configuración de seguridad se actualizó correctamente.",
|
|
"flash.error_saving_security": "Se produjo un error al guardar la configuración de seguridad.",
|
|
"flash.credentials_updated": "Credenciales de Cloudflare actualizadas. Reinicializando el túnel...",
|
|
"flash.no_new_credentials": "No se proporcionaron credenciales nuevas.",
|
|
"flash.error_updating_credentials": "Se produjo un error al actualizar las credenciales.",
|
|
"flash.tunnel_id_required": "Se requiere el ID del túnel para eliminar un túnel de Cloudflare.",
|
|
"flash.deletion_cancelled": "Eliminación cancelada. Escribe \"delete\" para confirmar.",
|
|
"flash.tunnel_deleted": "Túnel eliminado correctamente de Cloudflare.",
|
|
"flash.tunnel_delete_failed": "No se pudo eliminar el túnel mediante la API de Cloudflare. Verifica los permisos e inténtalo de nuevo.",
|
|
"flash.tunnel_delete_error": "Error inesperado al eliminar el túnel. Revisa los registros para obtener más detalles.",
|
|
"flash.password_changed": "La contraseña se cambió correctamente.",
|
|
"flash.error_changing_password": "Se produjo un error al cambiar la contraseña.",
|
|
"flash.incorrect_password": "La contraseña actual es incorrecta.",
|
|
"flash.country_list_error": "No se pudo cargar la lista de países para el modal del grupo de acceso.",
|
|
"flash.access_group.create_required": "Error: el ID del grupo y el nombre para mostrar son obligatorios.",
|
|
"flash.access_group.create_exists": "Error: ya existe un grupo de acceso con el ID '{groupId}'.",
|
|
"flash.access_group.create_error": "Error: {error}",
|
|
"flash.access_group.created": "Éxito: se creó el grupo de acceso '{displayName}'.",
|
|
"flash.access_group.update_not_found": "Error: no se encontró el grupo de acceso con ID '{groupId}'.",
|
|
"flash.access_group.update_required": "Error: el nombre para mostrar es obligatorio.",
|
|
"flash.access_group.update_error": "Error: {error}",
|
|
"flash.access_group.updated": "Éxito: se actualizó el grupo de acceso '{displayName}'. Iniciando reconciliación.",
|
|
"flash.access_group.delete_system": "Error: no se puede eliminar la política del sistema '{displayName}'.",
|
|
"flash.access_group.delete_in_use": "Error: no se puede eliminar el grupo de acceso '{displayName}' porque está en uso.",
|
|
"flash.access_group.deleted": "Éxito: se eliminó el grupo de acceso '{displayName}'.",
|
|
"flash.zone_policy.create_required": "Error: el nombre de zona y la política de acceso son obligatorios.",
|
|
"flash.zone_policy.policy_not_found": "Error: no se encontró la política de acceso '{accessGroupId}'.",
|
|
"flash.zone_policy.wildcard_exists": "Ya existe una política comodín para '{wildcardHostname}'.",
|
|
"flash.zone_policy.created": "Éxito: se creó la política predeterminada de zona para '{wildcardHostname}'.",
|
|
"flash.zone_policy.access_app_error": "Error: no se pudo crear la aplicación Access para '{wildcardHostname}'.",
|
|
"flash.zone_policy.create_error": "Error: no se pudo crear la política de zona. {error}",
|
|
"flash.reusable_policies_not_enabled": "Error: la función de políticas reutilizables no está activada.",
|
|
"flash.access_groups_synced": "Éxito: se sincronizaron {imported} grupos de acceso nuevos y {updated} actualizados desde Cloudflare ({modeText}). {skipped} omitidos.",
|
|
"flash.access_groups_no_new": "No hay grupos de acceso nuevos para importar. Se encontraron {skipped} políticas existentes.",
|
|
"flash.access_groups_sync_error": "Error: no se pudieron sincronizar los grupos de acceso desde Cloudflare. Revisa los registros para obtener más detalles.",
|
|
"flash.login_error": "Nombre de usuario o contraseña no válidos.",
|
|
"flash.auth_state_error": "Estado de autenticación no válido. Inténtalo de nuevo.",
|
|
"flash.auth_failed": "Error de autenticación.",
|
|
"flash.email_not_retrieved": "No se pudo recuperar el correo electrónico del proveedor. No es posible iniciar sesión.",
|
|
"flash.access_denied": "Acceso denegado para el usuario {userEmail}.",
|
|
"flash.logout": "Has cerrado sesión.",
|
|
"flash.setup.credentials_verified": "Credenciales verificadas correctamente.",
|
|
"flash.setup.validation_failed": "Error de validación. La API de Cloudflare devolvió: {errorMessage}",
|
|
"flash.setup.api_connection_failed": "No se pudo conectar con la API de Cloudflare: {error}",
|
|
"flash.setup.restore_select_error": "Selecciona un archivo de copia de seguridad de DockFlare (.zip).",
|
|
"flash.setup.restore_config_error": "La copia de seguridad se restauró, pero no se pudo cargar la configuración. Revisa los registros.",
|
|
"flash.setup.restore_failed": "La restauración falló. Asegúrate de haber seleccionado un archivo de copia de seguridad de DockFlare e inténtalo de nuevo.",
|
|
"flash.setup.migration_cancelled": "Migración cancelada. Inicia la configuración desde cero.",
|
|
"flash.setup.critical_info_missing": "Faltaba información crítica (token de API o ID de cuenta) en la importación. Configúrala manualmente.",
|
|
"flash.setup.settings_confirmed": "Configuración confirmada. Crea un usuario administrador para continuar.",
|
|
"flash.setup.required_fields_missing": "Advertencia: faltan campos obligatorios (CF_API_TOKEN o CF_ACCOUNT_ID). No podrás continuar.",
|
|
"flash.setup.setup_complete": "¡Configuración completada! Inicia sesión para continuar.",
|
|
"form.setup.username": "Nombre de usuario",
|
|
"form.setup.password": "Contraseña",
|
|
"form.setup.confirm_password": "Confirmar contraseña",
|
|
"form.setup.passwords_must_match": "Las contraseñas deben coincidir.",
|
|
"form.setup.next": "Siguiente",
|
|
"form.setup.cf_api_token": "Token de API de Cloudflare",
|
|
"form.setup.cf_account_id": "ID de cuenta de Cloudflare",
|
|
"form.setup.tunnel_name": "Nombre del túnel",
|
|
"form.setup.cf_zone_id": "ID principal de zona de Cloudflare (opcional)",
|
|
"form.setup.tunnel_dns_scan_zones": "Otras zonas para analizar (separadas por comas, opcional)",
|
|
"form.setup.tunnel_dns_scan_zones_desc": "p. ej. my-other-domain.com,another.dev",
|
|
"form.setup.grace_period": "Periodo de gracia (segundos)",
|
|
"form.setup.complete_setup": "Completar configuración",
|
|
"form.setup.proceed_to_user": "Continuar a la creación de usuario",
|
|
"form.settings.tunnel_name": "Nombre del túnel",
|
|
"form.settings.tunnel_name_required": "Se requiere un nombre de túnel.",
|
|
"form.settings.cf_zone_id": "ID principal de zona de Cloudflare",
|
|
"form.settings.tunnel_dns_scan_zones": "Otras zonas para analizar (separadas por comas)",
|
|
"form.settings.tunnel_dns_scan_zones_desc": "p. ej. my-other-domain.com,another.dev",
|
|
"form.settings.grace_period": "Periodo de gracia (segundos)",
|
|
"form.settings.grace_period_required": "El periodo de gracia es obligatorio.",
|
|
"form.settings.preserve_unmanaged_fields": "Conservar campos de ingreso de Cloudflare no gestionados",
|
|
"form.settings.save_general": "Guardar configuración general",
|
|
"form.security.disable_password_login": "Desactivar inicio de sesión con contraseña",
|
|
"form.security.oauth_session_timeout": "Tiempo de expiración de la sesión OAuth (segundos)",
|
|
"form.security.oauth_audit_logging": "Activar registro de auditoría de OAuth",
|
|
"form.security.save": "Guardar configuración de seguridad",
|
|
"form.password.current": "Contraseña actual",
|
|
"form.password.new": "Nueva contraseña",
|
|
"form.password.new_min_length": "La contraseña debe tener al menos 8 caracteres.",
|
|
"form.password.confirm": "Confirmar nueva contraseña",
|
|
"form.password.confirm_must_match": "Las nuevas contraseñas deben coincidir.",
|
|
"form.password.submit": "Cambiar contraseña",
|
|
"form.login.username": "Nombre de usuario",
|
|
"form.login.username_required": "El nombre de usuario es obligatorio.",
|
|
"form.login.password": "Contraseña",
|
|
"form.login.password_required": "La contraseña es obligatoria.",
|
|
"form.login.submit": "Iniciar sesión",
|
|
"form.cloudflare.account_id": "ID de cuenta de Cloudflare",
|
|
"form.cloudflare.account_id_length": "El ID de cuenta debe tener 32 caracteres.",
|
|
"form.cloudflare.api_token": "Token de API de Cloudflare",
|
|
"form.cloudflare.api_token_length": "El token de API debe tener 40 caracteres.",
|
|
"form.cloudflare.submit": "Actualizar credenciales de Cloudflare",
|
|
"nav.email": "Email",
|
|
"email.title": "Email Management",
|
|
"email.domain_setup": "Domain Setup",
|
|
"email.mailbox_management": "Mailboxes",
|
|
"email.permissions_title": "Permissions Required",
|
|
"email.permission_email_routing": "Email Routing",
|
|
"email.permission_workers": "Workers Scripts",
|
|
"email.permission_r2": "R2 Storage",
|
|
"email.permission_granted": "Granted",
|
|
"email.permission_missing": "Missing",
|
|
"email.recheck_permissions": "Check Permissions",
|
|
"email.setup_email": "Setup Email for Domain",
|
|
"email.setup_complete": "Configured",
|
|
"email.add_mailbox": "Add Mailbox",
|
|
"email.dns_verify": "Verify DNS",
|
|
"email.stats_received": "Emails Received",
|
|
"email.stats_sent": "Emails Sent",
|
|
"email.stats_storage": "Storage Used",
|
|
"email.stats_mailboxes": "Active Mailboxes",
|
|
"email.container_running": "Running",
|
|
"email.container_stopped": "Mail Manager or Webmail stopped",
|
|
"email.webmail_link": "Open Webmail",
|
|
"email.container_status": "Container Status",
|
|
"email.statistics": "Statistics",
|
|
"email.dns_records": "DNS Records",
|
|
"email.delete": "Delete",
|
|
"email.domain": "Domain",
|
|
"email.display_name": "Display Name",
|
|
"email.address": "Address",
|
|
"email.actions": "Actions",
|
|
"email.status": "Status",
|
|
"email.teardown": "Teardown",
|
|
"email.no_domains": "No domains configured.",
|
|
"email.choose_domain": "Choose a domain...",
|
|
"email.select_zone": "Select Cloudflare Zone"
|
|
}
|