BloomFeed Upgrade v0.21

This commit is contained in:
Esteban
2026-07-04 03:07:54 +02:00
parent d73c25cbbb
commit 28ba35da13
36 changed files with 1981 additions and 274 deletions
+146
View File
@@ -0,0 +1,146 @@
<?php
return [
// Navegación
'articles' => '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.',
// 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.',
];