/** * Spanish — translated from locales/en.js. * * Register: formal (usted). * `hub`, `node` and `GEK` are left in English: they name the CLI * (`meshbay-node`), node.toml and the docs, which are English throughout. */ export default { // Nav 'nav.toggle_menu': 'Mostrar el menú', 'nav.light_mode': 'Tema claro', 'nav.dark_mode': 'Tema oscuro', 'nav.logout': 'Cerrar sesión', 'nav.login': 'Iniciar sesión', // Sidebar 'sidebar.my_groups': 'Mis grupos', 'sidebar.no_groups': 'Aún no hay grupos', 'sidebar.discover': 'Descubrir', 'sidebar.public_groups': 'Grupos públicos', // Login 'login.title': 'Iniciar sesión', 'login.username': 'Nombre de usuario', 'login.password': 'Contraseña', 'login.submit': 'Iniciar sesión', 'login.loading': 'Iniciando sesión...', 'login.no_account': '¿No tiene cuenta?', 'login.register_link': 'Crear una cuenta', // Register 'register.title': 'Crear una cuenta', 'register.username': 'Nombre de usuario', 'register.email': 'Correo electrónico', 'register.password': 'Frase de contraseña (mínimo 12 caracteres)', 'register.confirm': 'Confirmar contraseña', 'register.submit': 'Crear la cuenta', 'register.loading': 'Creando la cuenta...', 'register.has_account': '¿Ya tiene una cuenta?', 'register.login_link': 'Iniciar sesión', 'register.success_title': 'Cuenta creada', 'register.success_msg': 'Ya puede iniciar sesión con sus credenciales.', 'register.go_login': 'Ir al inicio de sesión', 'register.err_mismatch': 'Las contraseñas no coinciden', 'register.err_min_len': { one: 'Use al menos {n} carácter', other: 'Use al menos {n} caracteres', }, 'register.err_too_weak': 'Demasiado fácil de adivinar. Su frase de contraseña es lo ' + 'que protege sus claves allí donde están almacenadas — unas cuantas palabras sin ' + 'relación entre sí funcionan muy bien.', 'register.strength': 'Solidez: unos {bits} bits. Protege la copia de sus claves que ' + 'se guarda en los nodes a los que se une, así que conviene acertar.', // Home 'home.welcome': 'Bienvenido a MeshBay', 'home.no_groups': 'Todavía no es miembro de ningún grupo.', 'home.browse_prefix': 'Explore los ', 'home.browse_link': 'grupos públicos', 'home.browse_suffix': ' o pida a un administrador de grupo que le invite.', 'home.my_groups': 'Mis grupos', // Explore 'explore.title': 'Grupos públicos', 'explore.search': 'Buscar grupos...', 'explore.loading': 'Cargando...', 'explore.empty': 'No hay grupos públicos disponibles.', 'explore.create_group': 'Crear un grupo', 'explore.join': 'Unirse', 'explore.member': 'Miembro', // Group page 'group.default_name': 'Grupo', 'group.tab_files': 'Archivos', 'group.tab_chat': 'Chat', 'group.tab_members': 'Miembros', 'group.tab_settings': "Ajustes", 'members.danger_leave_hint': "Perderá el acceso a los archivos y al chat de este grupo.", 'members.uploads_title': "Subidas", 'members.uploads_on': "Los miembros pueden añadir archivos", 'members.uploads_off': "Solo usted puede añadir archivos", 'members.uploads_disable': "Desactivar", 'members.uploads_enable': "Activar", 'members.uploads_hint': "Se aplica a todos menos a usted. El nodo rechaza la subida por sí mismo: no se trata de ocultar un botón.", 'members.apps_title': "Aplicaciones", 'members.apps_hint': "Qué partes de este grupo ven los miembros. Al menos una debe permanecer activada.", 'members.apps_need_one': "Al menos una aplicación debe permanecer activada.", 'members.danger_delete_hint': "El grupo desaparece para todos sus miembros. No se puede deshacer.", 'group.filter': 'Filtrar archivos...', 'group.col_name': 'Nombre', 'group.col_size': 'Tamaño', 'group.col_type': 'Tipo', 'group.col_date': 'Fecha', 'group.empty_filter': 'Ningún archivo coincide con el filtro', 'group.empty_dir': 'Esta carpeta está vacía', 'group.download': 'Descargar', 'group.play': 'Reproducir', 'group.offline_title': 'Ningún node está en línea para este grupo en este momento.', 'group.offline_hint': 'Los archivos aparecerán cuando se conecte un node que aloje ' + 'este grupo.', 'group.upload': 'Subir', 'group.mkdir': 'Nueva carpeta', 'group.mkdir_prompt': 'Nombre de la nueva carpeta:', 'device.add_title': 'This browser is not linked to this node yet', 'device.add_hint': 'Your account is known here, but this browser holds a different key. Approve it from a device already linked — no operator needed.', 'device.add_btn': 'Get a linking code', 'device.add_show': 'Type this code into a device already linked to this node, within the hour:', 'device.mine_title': 'Your devices on this node', 'device.mine_hint': 'Each browser or client you use here holds its own key. They are separate from your devices on other nodes.', 'device.mine_empty': 'No device is linked here yet.', 'device.this_one': 'this one', 'device.revoke': 'Remove', 'device.revoke_confirm': 'Remove this device? It will lose access to this node until it is linked again.', 'device.approve_hint': 'Linking a new device? Enter the code it is showing.', 'device.approve_btn': 'Approve', 'device.approved': 'Device linked.', 'group.root_unavailable': '(no disponible — la unidad está desconectada)', 'group.view': 'Ver', 'group.delete': 'Eliminar', 'group.delete_confirm': '¿Eliminar {name}?', 'group.delete_group': 'Eliminar el grupo', 'group.delete_group_confirm': '¿Eliminar «{name}» de forma permanente y expulsar a ' + 'todos los miembros? Los archivos que están en el node se conservan.', 'group.err_transport': 'Módulo de transporte no cargado', // Status 'status.idle': 'Inactivo', 'status.discovering': 'Buscando nodes...', 'status.connecting': 'Conectando por WebRTC...', 'status.connecting_short': 'Conectando…', 'status.fetching': 'Obteniendo el índice...', 'status.files': { one: '{n} archivo', other: '{n} archivos', }, 'status.offline': 'Ningún node en línea', 'status.error': 'Error de conexión', // Chat 'chat.empty': 'Todavía no hay mensajes. ¡Empiece la conversación!', 'chat.placeholder': 'Escriba un mensaje...', 'chat.send': 'Enviar', 'chat.attach': 'Adjuntar archivo', // Video player 'video.loading': 'Cargando {name}...', 'video.buffering': 'Almacenando en búfer...', 'video.resumed_at': "Reanudado en {time}", 'video.from_start': "Empezar desde el principio", 'video.close': 'Cerrar (Esc)', 'preview.pdf_fallback': 'Este navegador no mostrará el PDF integrado. Descárguelo ' + 'en su lugar — en cualquier caso se descifró aquí.', 'group.upload_indexing': 'indexando…', 'video.err_transport': 'Transporte no conectado', 'video.err_mse': 'Códec no compatible con la reproducción en continuo: {codec}', // LAN cast 'cast.start': 'Enviar a dispositivo', 'cast.stop': 'Detener envío', 'cast.copy_url': 'Copiar URL del stream', 'cast.copied': 'URL copiada', 'cast.scanning': 'Buscando dispositivos…', 'cast.no_devices': 'No se encontraron dispositivos', // Settings 'settings.title': 'Ajustes', 'settings.coming_soon': 'Próximamente.', 'settings.downloads': 'Descargas', 'settings.dl_auto': 'Guardar automáticamente', 'settings.dl_auto_hint': 'Los archivos van directamente a la carpeta que elija más ' + 'abajo, sin ningún diálogo. Descargar veinte archivos deja allí veinte archivos.', 'settings.dl_ask': 'Preguntar cada vez', 'settings.dl_ask_hint': 'Un diálogo «Guardar como» por archivo — uno por archivo, ' + 'también cuando descarga una selección.', 'settings.dl_folder': 'Carpeta: {name}', 'settings.dl_no_folder': 'Ninguna carpeta elegida — las descargas van adonde las ' + 'ponga su navegador', 'settings.dl_choose': 'Elegir carpeta', 'settings.dl_change': 'Cambiar', 'settings.dl_forget': 'Olvidar', 'settings.profile': 'Perfil', 'settings.username': 'Nombre de usuario', 'settings.email': 'Email', 'settings.email_save': 'Save', 'settings.email_saved': 'Email updated', 'settings.notif_global_disable': 'Disable all notifications', 'settings.notif_global_hint': 'When enabled, no notifications are created for any group.', 'settings.defaults': 'Valores predeterminados', 'settings.default_tab': 'Default tab', 'settings.default_tab_hint': 'Which tab opens first when you enter a group.', 'settings.node_pins': 'Identidades de los nodes', 'settings.node_pins_hint': 'La clave de identidad de cada node se memoriza la ' + 'primera vez que se conecta. Si cambia, la conexión se rechaza — algo esperable ' + 'solo cuando un operador reinstala un node. Confírmelo con él antes de borrarla.', 'settings.node_pins_count': { one: '{n} fijada', other: '{n} fijadas', }, 'settings.node_pins_clear': 'Borrar las identidades fijadas', 'settings.danger': 'Eliminar la cuenta', 'settings.delete_hint': 'Elimina su cuenta, sus pertenencias a grupos y sus ' + 'notificaciones del hub, y libera su nombre de usuario. No alcanza lo que vive ' + 'en los nodes: los archivos que subió se quedan donde los guarda su operador, y ' + 'cada node conserva la identidad que fijó para usted hasta que su operador la ' + 'retire. Los registros de conexión se guardan un año, como exige la ley.', 'settings.delete_account': 'Eliminar mi cuenta', 'settings.delete_confirm': 'Escriba su frase de contraseña para confirmar. ' + 'Esta acción no se puede deshacer.', 'settings.delete_confirm_btn': 'Eliminar definitivamente', 'settings.cancel': 'Cancelar', 'settings.appearance': 'Apariencia', 'settings.theme': 'Tema', 'settings.theme_light': 'Claro', 'settings.theme_dark': 'Oscuro', 'settings.theme_system': 'Sistema', 'settings.language': 'Idioma', 'settings.about': 'Acerca de', 'firstrun.title': 'Which hub?', 'firstrun.hint': 'A hub holds your account and introduces you to nodes. It never sees your files, your messages or your keys.', 'firstrun.btn': 'Continue', 'firstrun.checking': 'Checking…', 'firstrun.note': 'There is no default on purpose: this application only trusts a hub for its API, never for the interface, which ships with the application itself.', 'device.this_device': 'This device', 'settings.keys_heading': 'Keys on this device', 'settings.hub_heading': 'Hub', 'settings.hub_current': 'Currently', 'settings.hub_hint': 'Changing this signs you out and restarts the window. A hub on your own machine is usually http, not https.', 'settings.hub_change': 'Change', 'settings.keys_where': 'Protected by', 'settings.keys_unprotected': 'No system keyring is running, so your keys are encrypted with a key that is not a secret. Anyone who can read this machine’s files can read them. Start a keyring, or treat this device as untrusted.', 'settings.keys_unavailable': 'This system offers no key storage at all, so this device cannot be remembered — you will be asked for your passphrase each time. That is the safe outcome: nothing was stored unprotected.', 'settings.version': 'Versión', 'settings.protocol': 'Protocolo', 'settings.role': 'Rol', 'settings.groups': 'Notificaciones de grupo', 'settings.notifications': 'Notificaciones', 'settings.node_key': 'Vincular un node', 'settings.node_key_desc': 'Si administra un node MeshBay, pegue aquí su clave ' + 'pública Ed25519 para vincularlo a su cuenta. Encontrará esa clave en el panel ' + 'de administración de su node.', 'settings.node_key_placeholder': 'Pegue la clave pública Ed25519 del node (base64)', 'settings.node_key_submit': 'Vincular el node', 'settings.node_key_success': 'Node vinculado correctamente', 'settings.node_key_current': 'Clave del node vinculado', // Sidebar 'sidebar.create_group': 'Crear un grupo', 'sidebar.settings': 'Ajustes', 'sidebar.admin': 'Administración', // User menu 'usermenu.language': 'Idioma', 'usermenu.settings': 'Ajustes', 'usermenu.theme_light': 'Tema claro', 'usermenu.theme_dark': 'Tema oscuro', 'usermenu.logout': 'Cerrar sesión', // Admin panel 'admin.title': 'Administración', 'admin.tab_stats': 'Estadísticas', 'admin.tab_users': 'Usuarios', 'admin.tab_groups': 'Grupos', 'admin.tab_nodes': 'Nodes', 'admin.tab_logs': 'Registros', 'admin.col_observed_ip': 'Visto desde', 'admin.col_hint': 'Dirección anunciada', 'admin.col_last_seen': 'Último anuncio', 'admin.node_online': 'en línea', 'admin.node_offline': 'desconectado', 'admin.no_nodes': 'Ningún node registrado', 'admin.nodes_hint': '«Visto desde» es la dirección desde la que llegó el anuncio, ' + 'en una petición firmada con la clave del node — esa es la que sirve para ' + 'responder a un requerimiento. La dirección anunciada es la que el node cree que ' + 'es la suya, aprendida de un servidor STUN y enviada aquí; sirve para alcanzar el ' + 'node y no prueba nada.', 'admin.tab_blocklist': 'Lista de bloqueo', // Admin stats 'admin.stat_users': 'Usuarios', 'admin.stat_groups': 'Grupos', 'admin.stat_nodes': 'Nodes', 'admin.stat_online': 'Nodes en línea', // Admin users 'admin.users_search': 'Buscar usuarios...', 'admin.col_username': 'Nombre de usuario', 'admin.col_role': 'Rol', 'admin.col_status': 'Estado', 'admin.col_created': 'Creación', 'admin.col_actions': 'Acciones', 'admin.col_email': 'Correo electrónico', 'admin.col_groups': 'Grupos', 'admin.no_users': 'No se ha encontrado ningún usuario', 'admin.btn_suspend': 'Suspender', 'admin.btn_unsuspend': 'Reactivar', 'admin.btn_details': 'Detalles', 'admin.btn_delete': 'Eliminar', 'admin.delete_confirm': '¿Eliminar la cuenta «{user}»? Esta acción no se puede ' + 'deshacer. Los archivos que subió permanecen en los nodes que los alojan, y cada ' + 'node conserva la identidad que fijó hasta que su operador la retire. La ' + 'suspensión es la opción reversible.', 'admin.user_detail': 'Detalles del usuario', 'admin.btn_close': 'Cerrar', 'admin.self_note': '(usted)', // Admin groups 'admin.col_name': 'Nombre', 'admin.col_visibility': 'Visibilidad', 'admin.col_members': 'Miembros', 'admin.no_groups': 'No se ha encontrado ningún grupo', // Admin logs 'admin.col_time': 'Hora', 'admin.col_event': 'Evento', 'admin.col_user': 'Usuario', 'admin.col_ip': 'IP', 'admin.col_detail': 'Detalle', 'admin.filter_all': 'Todos los eventos', 'admin.no_logs': 'No se ha encontrado ningún registro', 'admin.btn_load_more': 'Cargar más', // Admin blocklist 'admin.col_hash': 'Huella', 'admin.col_reason': 'Motivo', 'admin.col_date': 'Fecha', 'admin.col_added_by': 'Añadida por', 'admin.no_blocked': 'Ninguna huella bloqueada', 'admin.add_hash': 'Añadir una huella a la lista de bloqueo', 'admin.hash_placeholder': 'huella blake3 (64 caracteres hexadecimales)', 'admin.reason_placeholder': 'Motivo', 'admin.btn_block': 'Bloquear', 'admin.btn_unblock': 'Desbloquear', // Notifications // Create group 'create_group.title': 'Crear un grupo', 'create_group.name': 'Nombre del grupo', 'create_group.name_placeholder': 'p. ej. Fotos de familia, Archivos del proyecto...', 'create_group.join_policy': 'Política de acceso', 'create_group.invite': 'Solo por invitación', 'create_group.invite_desc': "Los miembros deben ser invitados por un administrador. El grupo no aparece en la lista pública.", 'create_group.open': 'Abierto (cualquiera puede unirse)', 'create_group.open_desc': "Aparece en los grupos públicos: cualquiera puede encontrarlo y unirse sin aprobación.", 'create_group.description': 'Descripción', 'create_group.description_hint': '¿De qué trata este grupo? (opcional)', 'create_group.submit': 'Crear', 'create_group.hint': 'Un grupo necesita un node para alojar los archivos. Puede ' + 'crear el grupo ahora y conectar un node más adelante.', 'create_group.creating': 'Creando...', // Members 'members.col_role': 'Rol', 'members.group_role': 'Rol en el grupo', 'members.admin': 'Administrador', 'members.group_admin': 'Administrador del grupo', 'members.owner': 'Propietario', 'members.member': 'Miembro', 'members.invite_title': 'Invitar a un miembro', 'members.username_placeholder': 'Nombre de usuario', 'members.invite_btn': 'Invitar', 'members.invite_needs_pairing': 'Las invitaciones se firman con la clave que este ' + 'node fijó para su navegador, así que empareje el navegador abajo antes de ' + 'invitar a nadie.', 'members.invite_ask_operator': 'Solo el operador del node que aloja este grupo puede ' + 'invitar, desde un navegador emparejado con él.', 'members.remove': 'Expulsar', 'members.remove_confirm': '¿Expulsar a {user} de este grupo? Su cuenta, sus otros ' + 'grupos y los archivos que subió no se ven afectados.', 'members.remove_hint': 'Expulsar a alguien le quita la pertenencia al grupo e impide ' + 'que el node le entregue la clave del grupo. No elimina su cuenta, y no recupera ' + 'la clave que ya tiene en su poder — rótela en el node (meshbay-node gek-init) si ' + 'eso importa.', 'members.pair_title': 'Emparejar este navegador con su node', 'members.pair_hint': 'Su node solo acepta acciones de operador — invitaciones, ' + 'eliminación de archivos — desde un navegador con el que se haya emparejado. ' + 'Ejecute `meshbay-node operator pair` en el node y escriba aquí el código. El ' + 'código nunca pasa por el hub.', 'members.pair_btn': 'Emparejar', 'members.pair_success': 'Este navegador ya está emparejado con el node.', 'members.invite_code_ready': 'Código de invitación para {user} — envíeselo por el ' + 'medio que usen habitualmente. Funciona una sola vez y nunca pasa por el hub.', 'members.invite_code_hint': 'Lo introduce la primera vez que abre este grupo. No ' + 'necesita que usted esté en línea en ese momento.', 'transfers.title': 'Transferencias', 'transfers.clear': 'Borrar las terminadas', 'transfers.cancel': 'Cancelar', 'transfers.open': 'Abrir', 'transfers.done': 'Terminada', 'transfers.cancelled': 'Cancelada', 'transfers.failed': 'Fallida', 'group.select': 'Seleccionar', 'group.select_done': 'Listo', 'group.actions': 'Acciones ({n})', 'group.download_n': 'Descargar ({n})', 'group.download_zip_n': 'Descargar las carpetas en zip ({n})', 'group.delete_n': 'Eliminar ({n})', 'group.delete_n_confirm': { one: '¿Eliminar {n} elemento? {names}', other: '¿Eliminar {n} elementos? {names}', }, 'group.download_zip': { one: 'Descargar en zip ({n} archivo)', other: 'Descargar en zip ({n} archivos)', }, 'group.zip_empty': 'Esa carpeta no contiene nada que descargar.', 'group.zip_no_stream': 'Este navegador no puede escribir una descarga directamente ' + 'en el disco, así que {name} ({size}) tiene que construirse antes en memoria. Con ' + 'un archivo comprimido grande eso puede fallar. ¿Continuar?', 'group.rmdir': 'Eliminar la carpeta', 'group.rmdir_confirm': '¿Eliminar la carpeta «{name}»? Debe estar vacía.', 'group.rmdir_not_empty': 'Esa carpeta no está vacía. Elimine antes lo que contiene — ' + 'aquí nada borra archivos que usted no ve.', 'group.desc_edit': 'Editar la descripción', 'group.desc_add': 'Añadir una descripción', 'group.desc_save': 'Guardar', 'group.desc_cancel': 'Cancelar', 'group.desc_placeholder': 'Para qué sirve este grupo — los miembros lo ven en su ' + 'página de inicio.', 'group.join_code_title': 'Este node necesita reconocerle', 'group.join_code_hint': 'Pida el código de un solo uso a quien le invitó e ' + 'introdúzcalo aquí. Después, este navegador queda reconocido y no se le volverá a ' + 'preguntar.', 'group.join_code_btn': 'Unirse', 'notif.purge': 'Borrar todo', 'notif.title': 'Notificaciones', 'notif.empty': 'Ninguna notificación', 'notif.mark_all_read': 'Marcar todo como leído', // Sidebar 'sidebar.search': 'Buscar archivos', // Status // Search 'search.title': 'Buscar archivos', 'search.placeholder': 'Buscar en todos los grupos...', 'search.no_results': 'Ningún archivo coincide con su búsqueda.', 'search.synced': 'sincronizado {ago}', 'search.cache_note': 'La búsqueda usa el estado que tenía cada grupo la última vez ' + 'que lo abrió. Abra un grupo para poner sus archivos al día aquí.', 'search.col_group': 'Grupo', 'search.result_count': { one: '{n} archivo encontrado', other: '{n} archivos encontrados', }, 'search.hint': 'Busca nombres de archivo en todos los índices de grupo en caché.', // Presence, chat paging, leaving a group, the profile page 'presence.online': 'Un node que sirve este grupo está en línea', 'presence.offline': 'Ningún node accesible para este grupo', 'presence.unknown': 'Aún sin comprobar', 'presence.indexing': 'Indexando — {pct}%', 'chat.load_older': 'Cargar {n} mensajes anteriores', 'chat.start_of_history': 'Inicio de la conversación', 'chat.today': 'Hoy', 'chat.yesterday': 'Ayer', 'chat.unread': 'Mensajes nuevos', 'chat.jump_latest': 'Ir a lo más reciente', 'chat.jump_new': 'Mensajes nuevos', 'group.leave': 'Salir del grupo', 'group.leave_confirm': '¿Salir de «{name}»? Perderá el acceso a sus archivos y a su chat. Los archivos que subió permanecen en el node, y este conserva la identidad que fijó para usted hasta que su operador la retire.', 'group.mute': 'Mute notifications', 'group.unmute': 'Unmute notifications', 'profile.title': 'Perfil', 'usermenu.profile': 'Perfil', // First-run setup wizard 'setup.welcome_title': 'Bienvenido a MeshBay', 'setup.welcome_message': 'Su node aloja sus archivos — cifrados, en su máquina. Vamos a ponerlo en marcha y crear su primer grupo.', 'setup.node_detected': 'Node local detectado y en funcionamiento.', 'setup.node_not_running': 'Su node está instalado pero no se está ejecutando.', 'setup.node_start': 'Iniciar node', 'setup.node_starting': 'Iniciando node…', 'setup.node_started': 'Node iniciado.', 'setup.node_not_installed': 'meshbay-node no está instalado en esta máquina.', 'setup.node_install_hint': 'Instálelo con su gestor de paquetes y vuelva aquí.', 'setup.skip': 'Omitir — crear un grupo sin node local', 'setup.create_group': 'Crear su primer grupo', 'setup.dismiss': 'Omitir configuración', // Group 'group.retry': 'Reintentar', // Sidebar 'sidebar.node': 'Node', // Node admin 'node.title': 'Node', 'node.service_checking': 'Comprobando el servicio del nodo…', 'node.service_not_installed': 'No instalado como servicio', 'node.service_state_active': 'En ejecución', 'node.service_state_inactive': 'Detenido', 'node.service_state_failed': 'Fallido', 'node.service_state_activating': 'Iniciando…', 'node.service_state_deactivating': 'Deteniendo…', 'node.service_state_unknown': 'Desconocido', 'node.service_start': 'Iniciar', 'node.service_starting': 'Iniciando…', 'node.service_stop': 'Detener', 'node.service_stopping': 'Deteniendo…', 'node.service_restart': 'Reiniciar', 'node.service_restarting': 'Reiniciando…', 'node.not_operator': 'No se pudo contactar con su node. Asegúrese de que esté en ejecución.', 'node.offline': 'Node sin conexión', 'node.retry': 'Reintentar', 'node.reload': 'Recargar configuración', 'node.reloaded': 'Configuración recargada. Los cambios de directorios en los grupos existentes ya están activos.', 'node.restart_needed': 'Después de añadir: inicialice la clave de grupo (meshbay-node gek-init --group ).', 'node.no_groups': 'No hay grupos configurados en este node.', 'node.stale': 'no está en el hub', 'node.unavailable': 'no disponible', 'node.files': { one: '1 archivo', other: '{n} archivos' }, 'node.peers': { one: '1 par', other: '{n} pares' }, 'node.roots': 'Directorios', 'node.add_root': 'Añadir directorio', 'node.remove_root': 'Eliminar', 'node.root_added': 'Directorio añadido.', 'node.root_remove_confirm': '¿Eliminar «{name}» de este grupo?', 'node.root_removed': 'Directorio eliminado. Se recomienda reiniciar para actualizar el índice.', 'node.upload_root': 'subidas', 'node.attach_group': 'Añadir grupo', 'node.attach_pick': 'Grupo a alojar', 'node.attach_dir': 'Directorio compartido', 'node.attach_upload_dir': 'Directorio de subida', 'node.attach_upload_label': 'Directorio de subida (para archivos y adjuntos del chat)', 'node.attached': 'Grupo añadido y cargado. Ejecute meshbay-node gek-init --group {name} si aún no lo ha hecho.', 'node.detach_group': 'Retirar grupo', 'node.detach_confirm': '¿Retirar «{name}» de este node?', 'node.detached': 'Grupo retirado.', 'node.gek': 'Clave de grupo', 'node.no_gek': 'Sin clave de grupo', 'node.gek_init_hint': 'Aún no hay clave de grupo. Ejecute GEK init desde la línea de comandos para configurarla.', 'node.gek_public_hint': 'La rotación de clave no está disponible para los grupos públicos.', 'node.gek_rotate': 'Rotar clave de grupo', 'node.gek_rotate_confirm': '¿Rotar la clave de grupo? Los miembros conectados recibirán la nueva clave automáticamente. El contenido ya descargado no se ve afectado.', 'node.gek_rotated': 'Clave de grupo rotada.', 'node.roster': 'Registro', 'node.roster_load': 'Cargar registro', 'node.roster_empty': 'Aún no hay miembros fijados.', 'node.roster_user': 'Usuario', 'node.roster_role': 'Rol', 'node.roster_status': 'Estado', 'node.roster_via': 'Fijado mediante', 'node.roster_invites': { one: '1 invitación pendiente', other: '{n} invitaciones pendientes' }, 'node.unpin': 'Desvincular', 'node.unpin_confirm': '¿Desvincular a «{name}»? Deberá emparejarse de nuevo.', 'node.unpin_done': 'Identidad desvinculada.', 'node.denylist': 'Lista de bloqueo', 'node.denylist_load': 'Cargar lista de bloqueo', 'node.denylist_empty': 'La lista de bloqueo está vacía.', 'node.denylist_count': { one: '1 entrada', other: '{n} entradas' }, 'node.denylist_remove': 'Eliminar', 'node.denylist_clear_all': 'Eliminar todas', 'node.denylist_clear_confirm': '¿Eliminar «{subject}» de la lista de bloqueo?', 'node.denylist_cleared': 'Entrada de la lista de bloqueo eliminada.', // Node settings 'settings_node.detach_failed_continue': 'No se pudo desconectar el grupo del node. ¿Eliminar del hub de todos modos?', 'settings_node.roots': 'Directorios compartidos', 'settings_node.scan_title': 'Escaneo', 'settings_node.scan_hint': 'Con qué frecuencia el node vuelve a comprobar sus directorios en busca de cambios que pudo haber pasado por alto, y cuánto tiempo espera tras un cambio antes de indexar un archivo.', 'settings_node.scan_reconcile_label': 'Intervalo de comprobación (minutos)', 'settings_node.scan_debounce_label': 'Espera tras un cambio (segundos)', 'settings_node.scan_save': 'Guardar', 'settings_node.scan_saving': 'Guardando…', 'settings_node.scan_saved': 'Guardado.', // Create group wizard 'wizard.title': 'Crear grupo', 'wizard.detecting': 'Detectando node local…', 'wizard.node_not_found': 'No se detectó un node local. Asegúrese de que meshbay-node esté en ejecución.', 'wizard.node_offline_warning': 'El node no está en ejecución. El grupo se creará solo en el hub. Podrá conectar el node más tarde desde la página Node.', 'wizard.retry': 'Reintentar', 'wizard.skip_node': 'Continuar sin node', 'wizard.directories': 'Directorios compartidos', 'wizard.directories_hint': 'Elija los directorios que este grupo compartirá. Se requiere al menos uno.', 'wizard.add_directory': 'Añadir directorio', 'wizard.remove': 'Eliminar', 'wizard.set_upload': 'Establecer como destino de subida', 'wizard.upload_target': 'destino de subida', 'wizard.create_and_setup': 'Crear y configurar', 'wizard.create_hub_only': 'Crear solo en el hub', 'wizard.setting_up': 'Configurando su grupo…', 'wizard.step_create_hub': 'Creando grupo en el hub', 'wizard.step_attach': 'Conectando al node', 'wizard.step_add_roots': 'Añadiendo directorios', 'wizard.step_gek': 'Inicializando clave de cifrado', 'wizard.step_pair': 'Configurando emparejamiento', 'wizard.step_index': 'Indexando archivos', 'wizard.indexing_progress': 'Indexando… {pct}%', 'wizard.indexing_current_dir': 'Analizando: {dir}', 'wizard.done_title': 'Grupo creado', 'wizard.done_message': 'Su grupo está listo. Su node lo aloja y el cifrado está configurado.', 'wizard.go_to_group': 'Ir al grupo', 'wizard.finish_later': 'Finalizar configuración más tarde', };