'Artículos', 'catalog' => 'Catálogo', 'my_feeds' => 'Mis fuentes', 'settings' => 'Ajustes', 'logout' => 'Cerrar sesión', 'change_theme' => 'Cambiar de tema', 'language' => 'Idioma', 'self_hosting' => 'Autoalojamiento', 'login' => 'Iniciar sesión', 'create_account' => 'Crear una cuenta', 'source_code' => 'Código fuente', 'footer_tagline' => 'BloomFeed — proyecto open source y autoalojado.', 'meta_description' => 'BloomFeed es un agregador RSS personal y autoalojado, con lector integrado.', // Inicio 'hero_eyebrow' => 'Autoalojado · Privacidad', 'hero_title' => 'Tus fuentes RSS, leídas en profundidad, sin salir nunca de BloomFeed.', 'hero_lede' => 'BloomFeed centraliza tus fuentes favoritas y extrae su contenido completo bajo demanda, directamente en tu propio servidor. Ningún dato se envía a terceros.', 'how_to_self_host' => '¿Cómo autoalojarlo?', 'feature_feeds_title' => 'Fuentes personalizadas', 'feature_feeds_text' => 'Añade cualquier fuente RSS o Atom, organízalas y sigue tus no leídos de un vistazo.', 'feature_reader_title' => 'Lector integrado', 'feature_reader_text' => 'BloomFeed recupera la página original, extrae el contenido principal y lo muestra limpiamente — se acabó abrir diez pestañas.', 'feature_home_title' => 'En tu casa, para ti', 'feature_home_text' => 'Una instancia de BloomFeed = un propietario. Sin registros públicos por defecto, sin rastreo, tu servidor, tus datos.', 'screenshots_title' => 'En imágenes', 'screenshots_lede' => 'Un vistazo rápido al panel, al lector integrado, al catálogo de fuentes y a la pantalla de notificadores.', 'screenshot_dashboard' => 'Panel', 'screenshot_dark' => 'Modo oscuro', 'screenshot_reader' => 'Lector integrado', 'screenshot_catalog' => 'Catálogo de fuentes en un clic', 'screenshot_notifiers' => 'Notificadores de Discord y webhook', // Autenticación 'login_title' => 'Iniciar sesión', 'login_subtitle' => 'Accede a tus fuentes y a tu lectura', 'email' => 'Correo electrónico', 'password' => 'Contraseña', 'confirm_password' => 'Confirmar la contraseña', 'name' => 'Nombre', 'no_account_yet' => '¿Aún no tienes cuenta?', 'already_account' => '¿Ya tienes una cuenta?', 'register_owner_title' => 'Configura tu instancia', 'register_owner_subtitle' => 'Esta cuenta será la cuenta propietaria de esta instancia de BloomFeed', 'register_title' => 'Crear una cuenta', 'register_subtitle' => 'Únete a esta instancia de BloomFeed', 'register_button' => 'Crear mi cuenta', 'registrations_closed' => 'Los registros están cerrados en esta instancia. Inicia sesión.', 'invalid_credentials' => 'Estas credenciales no corresponden a ninguna cuenta.', // Panel 'latest_articles' => 'Últimos artículos', 'unread_only' => 'Solo no leídos', 'show_all' => 'Mostrar todo', 'empty_no_feeds' => 'Añade tu primera fuente RSS desde la barra lateral para empezar.', 'empty_no_articles' => 'Todavía no hay artículos. Prueba a actualizar tus fuentes.', // Barra lateral 'feeds_label' => 'Fuentes', 'all_articles' => 'Todos los artículos', 'add_feed' => 'Añadir una fuente', 'add' => 'Añadir', 'refresh_all' => 'Actualizar todo', 'manage_feeds' => 'Gestionar mis fuentes', 'feed_url_placeholder' => 'https://ejemplo.com/rss.xml', // Gestión de fuentes 'custom_title_optional' => 'Título personalizado (opcional)', 'articles_count' => ':count artículo(s)', 'refreshed_ago' => 'actualizado :time', 'refresh' => 'Actualizar', 'delete' => 'Eliminar', 'confirm_delete_feed' => '¿Eliminar esta fuente y todos sus artículos?', 'no_feeds_yet' => 'Todavía no has añadido ninguna fuente.', 'feed_added' => 'Fuente añadida con :count artículo(s).', 'feed_added_error' => 'Fuente añadida, pero la primera recuperación falló: :error', 'feed_deleted' => 'Fuente eliminada.', 'refresh_failed' => 'Fallo al recuperar: :error', 'new_articles' => ':count artículo(s) nuevo(s).', 'new_articles_across' => ':count artículo(s) nuevo(s) en :feeds fuentes.', // Lector 'back_to_articles' => 'Volver a los artículos', 'view_original' => 'Ver la fuente original', 'fetch_error' => 'No se pudo recuperar el contenido completo de este artículo (:error).', 'retry' => 'Reintentar', 'fetching' => 'Recuperando el contenido…', // Catálogo 'catalog_title' => 'Catálogo de fuentes', 'catalog_lede' => 'Una selección de fuentes RSS incluida con BloomFeed — añádelas a tu colección con un clic.', 'search_placeholder' => 'Buscar una fuente… (nombre, descripción, categoría)', 'all' => 'Todo', 'added' => 'Añadida', 'catalog_empty' => 'El catálogo está vacío por ahora.', 'no_match' => 'Ninguna fuente coincide con tu búsqueda.', // Ajustes 'settings_title' => 'Ajustes de la instancia', 'registrations_section' => 'Registros públicos', 'registrations_desc' => 'Permite que cualquier visitante cree una cuenta en esta instancia desde la página de inicio de sesión.', 'registrations_state_open' => 'Los registros están actualmente abiertos.', 'registrations_state_closed' => 'Los registros están actualmente cerrados.', 'open_registrations' => 'Abrir los registros', 'close_registrations' => 'Cerrar los registros', 'registrations_now_open' => 'Los registros están ahora abiertos.', 'registrations_now_closed' => 'Los registros están ahora cerrados.', 'create_user_section' => 'Crear una cuenta', 'create_user_desc' => 'Crea directamente una cuenta para alguien de confianza, sin abrir los registros públicos.', 'user_created' => 'Cuenta creada.', 'users_section' => 'Cuentas existentes', 'owner_badge' => 'Propietario', // Página de autoalojamiento 'selfhost_title' => 'Autoalojar BloomFeed', 'selfhost_intro' => 'BloomFeed está pensado para instalarse en tu propio servidor, para ti (o tu hogar). Todo funciona en Docker: la aplicación, el planificador y la base de datos MariaDB.', 'prereq_title' => 'Requisitos previos', 'prereq_docker' => 'Un servidor Linux con Docker y el plugin Docker Compose.', 'prereq_port' => 'El puerto 7081 libre (configurable en docker-compose.yml).', 'prereq_proxy' => 'Opcional: un nombre de dominio y un proxy inverso si quieres HTTPS.', 'install_title' => 'Instalación', 'install_step_clone' => 'Clona el repositorio en tu servidor.', 'install_step_script' => 'Ejecuta el script de despliegue:', 'install_env_note' => 'Crea automáticamente un archivo .env (a partir de .env.example) y genera secretos aleatorios (APP_KEY, contraseñas de base de datos) si faltan — nunca se regeneran en despliegues posteriores.', 'install_step_containers' => 'El script construye las imágenes y arranca los contenedores (aplicación, planificador, MariaDB).', 'install_step_owner' => 'Abre http://tu-servidor:7081 y crea la cuenta propietaria — los registros se cierran automáticamente después.', 'config_title' => 'Configuración', 'config_registrations' => 'Desde el menú Ajustes, la cuenta propietaria puede crear cuentas directamente para personas de confianza, o abrir/cerrar los registros públicos con un clic.', 'config_language' => 'La interfaz está disponible en francés, inglés, español y alemán — cada usuario elige su idioma con el selector de la parte superior.', 'config_catalog' => 'El catálogo de fuentes integrado se personaliza editando resources/data/bloomflux.json y volviendo a desplegar.', 'update_title' => 'Actualizar', 'update_text' => 'Simplemente vuelve a ejecutar el script de despliegue: recupera los últimos cambios y reconstruye la pila sin tocar tus datos.', 'uninstall_title' => 'Desinstalar', 'uninstall_text' => 'El script uninstall.sh detiene y elimina limpiamente la pila Docker. Pide confirmación explícita antes de borrar tus datos y nunca elimina el código fuente sin una confirmación separada.', 'source_title' => 'Código fuente', // Fuentes de catálogo y filtro de idioma 'all_languages' => 'Todos los idiomas', 'catalog_sources_section' => 'Fuentes del catálogo', 'catalog_sources_desc' => 'Añade otros catálogos de fuentes indicando la URL directa (raw) de un archivo bloomflux.json alojado en otro repositorio git. Las fuentes se fusionan con el catálogo integrado, y se sirve la última copia conocida si la fuente no está disponible.', 'source_url_label' => 'URL del archivo bloomflux.json', 'add_source' => 'Añadir la fuente', 'remove' => 'Quitar', 'source_added' => 'Fuente añadida (:count fuentes).', 'source_already_added' => 'Esta fuente ya está registrada.', 'source_removed' => 'Fuente eliminada.', 'source_invalid' => 'No se pudo leer esta fuente (se espera un archivo bloomflux.json válido).', 'no_sources' => 'Ninguna fuente externa por ahora.', // Notificadores 'notifiers' => 'Notificadores', 'notifiers_lede' => 'Recibe una alerta de Discord o una llamada webhook genérica cuando llegue un nuevo artículo a tus fuentes. Cada usuario gestiona sus propios notificadores.', 'new_notifier' => 'Nuevo notificador', 'notifier_type' => 'Tipo', 'generic_webhook' => 'Webhook genérico', 'notifier_name' => 'Nombre', 'notifier_name_placeholder' => 'Ej: Discord #noticias', 'notifier_url' => 'URL del webhook', 'notifier_scope' => 'Alcance', 'scope_all' => 'Todas mis fuentes', 'scope_feeds' => 'Fuentes específicas', 'scope_feeds_pick' => 'Elegir fuentes', 'scope_feeds_list' => 'Fuentes: :feeds', 'no_feeds_selected' => 'ninguna fuente seleccionada', 'add_notifier' => 'Añadir notificador', 'your_notifiers' => 'Tus notificadores', 'no_notifiers_yet' => 'Todavía no has configurado ningún notificador.', 'disabled' => 'desactivado', 'send_test' => 'Probar', 'enable' => 'Activar', 'disable' => 'Desactivar', 'confirm_delete_notifier' => '¿Eliminar este notificador?', 'edit' => 'Editar', 'save' => 'Guardar', 'last_triggered' => 'activado :time', 'notifier_created' => 'Notificador creado.', 'notifier_updated' => 'Notificador actualizado.', 'notifier_deleted' => 'Notificador eliminado.', 'notifier_test_ok' => 'Notificación de prueba enviada con éxito.', 'notifier_test_failed' => 'No se pudo enviar la notificación de prueba — comprueba la URL.', 'reset_title' => 'Reiniciar', 'reset_text' => 'El script reset.sh restablece la instancia a un estado en blanco (cuentas, fuentes, artículos, notificadores) sin tocar el código fuente, el .env ni las imágenes Docker — útil para empezar de cero.', ];