# TODO ## Internacionalización AAA - [x] Diseñar una base de internacionalización profesional con ficheros ARB separados por idioma. - [x] Permitir que el usuario cambie el idioma manualmente desde la aplicación, sin depender únicamente del idioma del sistema. - [x] Añadir traducción inicial español/inglés para el shell, navegación, timer de sueño y selector de idioma. - [x] Añadir soporte inicial para un conjunto amplio de idiomas muy hablados: inglés, español, chino, hindi, árabe, portugués, francés, ruso, alemán, japonés, indonesio, bengalí e italiano. - [x] Ejecutar escaneo UTF-8 sobre ARB/código tocado y corregir corrupciones visibles en los textos migrados. - [ ] Validar no solo el guardado UTF-8 en código, sino también el render real en la aplicación para acentos, ñ, signos, alfabetos no latinos y direcciones RTL. - [ ] Repasar absolutamente todos los literales de la aplicación en todas las pantallas, componentes, servicios con mensajes visibles y notificaciones. - [ ] Soportar formatos locales de fecha, hora, números y duración usando helpers centralizados. - [ ] Resolver correctamente singular/plural y variantes por cantidad, por ejemplo `1 emisora` vs `2 emisoras`. - [ ] Revisar profesionalmente todas las traducciones nuevas con hablantes nativos o servicio especializado antes de considerarlas definitivas. - [ ] Preparar traducciones adicionales si se decide ampliar más allá del conjunto inicial. - [ ] Revisar la aplicación de Farolero como referencia para detectar el conjunto de idiomas que nos interesa mantener. - [ ] Verificar que no queda ningún literal hardcodeado fuera del sistema de traducciones. ## UX y accesibilidad visual - [x] Revisar los paneles informativos superiores de cada pantalla: recuperar márgenes internos elegantes para que el texto no quede pegado a los bordes. - [x] Añadir comportamiento adaptativo en el header premium para escalas de texto grandes y pantallas estrechas. - [ ] Probar la aplicación con escalas de texto grandes/muy grandes del sistema en dispositivo real o golden tests. - [ ] Diseñar una solución elegante para textos largos en todos los paneles secundarios: reflow, límites razonables, scroll, wraps controlados y jerarquías que mantengan la estética AAA. ## Grabaciones - [x] Añadir en Ajustes un acceso elegante para abrir la carpeta de grabaciones con el gestor de ficheros del sistema mediante intent. - [x] Añadir configuración de tamaño máximo de fichero de grabación; valor por defecto: 500 MB. - [x] Detener automáticamente la grabación si se para o pausa la reproducción. - [x] Detener automáticamente la grabación si se cambia de emisora. - [ ] Probar en Android real que el intent de carpeta funciona con rutas internas y rutas escogidas por el usuario. ## Búsqueda de emisoras - [x] Añadir filtro de calidad mínima de reproducción en kbps en el buscador de emisoras. ## Favoritos - [ ] Revisar el sistema de guardado de favoritos en instalaciones nuevas y migradas: inicialización de SQLite, creación de ruta/base de datos, migraciones de columnas y refresco de estado tras guardar. Reporte: en un móvil no se están guardando favoritos. - [ ] Añadir tests de regresión para favoritos en base de datos real/migrada, incluyendo esquemas antiguos y primera instalación limpia. ## Agrupaciones de favoritos - [x] Permitir crear listas de favoritos con nombre corto configurable por el usuario desde Ajustes. - [x] Mantener siempre un grupo interno por defecto traducible llamado "Sin asignar", no editable y no borrable. - [x] Gestionar desde la vista Favoritos qué emisoras pertenecen a cada agrupación/lista. - [x] Diseñar migración SQLite base para asociar favoritos existentes al grupo "Sin asignar" sin perder datos. - [x] Completar UI en Ajustes para crear, editar y borrar listas de favoritos. - [x] Completar UI en Favoritos para mover emisoras entre listas.