feat(recording): add safety limits and adaptive headers
Build & Deploy Pluriwave / Análisis de código (push) Successful in 23s
Build & Deploy Pluriwave / Build APK + AAB release (push) Successful in 1m37s

This commit is contained in:
2026-05-22 15:24:14 +02:00
parent 2320dbdc5f
commit 8190c4ab8d
34 changed files with 1445 additions and 459 deletions
+49 -22
View File
@@ -129,7 +129,7 @@ class AppLocalizationsEs extends AppLocalizations {
'Selecciona la carpeta de grabaciones';
@override
String get recordingsPathUpdated => 'Ruta de grabaci?n actualizada';
String get recordingsPathUpdated => 'Ruta de grabación actualizada';
@override
String recordingsPathSaveError(Object error) {
@@ -138,10 +138,10 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get recordingsDefaultFolderRestored =>
'Se usar? la carpeta interna por defecto';
'Se usará la carpeta interna por defecto';
@override
String get recordingsFolderTitle => 'Carpeta de grabaci?n';
String get recordingsFolderTitle => 'Carpeta de grabación';
@override
String get recordingsPathCalculating => 'Calculando ruta...';
@@ -171,7 +171,7 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get equalizerPendingSubtitle =>
'Se guardan los cambios y se aplicar?n cuando Android habilite el efecto.';
'Se guardan los cambios y se aplicarán cuando Android habilite el efecto.';
@override
String get equalizerPerStationTitle => 'Usar EQ propio para esta favorita';
@@ -191,18 +191,18 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get preferredStationDescription =>
'Se preselecciona al crear alarmas y puede iniciarse como reproducci?n r?pida.';
'Se preselecciona al crear alarmas y puede iniciarse como reproducción rápida.';
@override
String get preferredStationNoStationsTitle =>
'Todav?a no hay emisoras disponibles';
'Todavía no hay emisoras disponibles';
@override
String get preferredStationNoStationsSubtitle =>
'Guard? favoritas o carg? emisoras para elegir una preferida.';
'Guardá favoritas o cargá emisoras para elegir una preferida.';
@override
String get preferredStationAutomaticFallback => 'Fallback autom?tico';
String get preferredStationAutomaticFallback => 'Fallback automático';
@override
String get preferredStationDefaultFavorite => 'Favorita por defecto';
@@ -214,7 +214,7 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String preferredStationAutoUsing(Object stationName) {
return 'Sin favoritas: usando autom?ticamente $stationName';
return 'Sin favoritas: usando automáticamente $stationName';
}
@override
@@ -224,7 +224,7 @@ class AppLocalizationsEs extends AppLocalizations {
String get customStationsTitle => 'Emisoras personalizadas';
@override
String get customStationsAdd => 'A?adir';
String get customStationsAdd => 'Añadir';
@override
String get customStationsEmpty => 'No hay emisoras personalizadas.';
@@ -236,7 +236,7 @@ class AppLocalizationsEs extends AppLocalizations {
String get deleteAction => 'Eliminar';
@override
String get addStationTitle => 'A?adir emisora';
String get addStationTitle => 'Añadir emisora';
@override
String get stationNameLabel => 'Nombre *';
@@ -248,10 +248,10 @@ class AppLocalizationsEs extends AppLocalizations {
String get streamUrlLabel => 'URL del stream *';
@override
String get invalidUrl => 'URL no v?lida';
String get invalidUrl => 'URL no válida';
@override
String get countryOptionalLabel => 'Pa?s (opcional)';
String get countryOptionalLabel => 'País (opcional)';
@override
String get saveStation => 'Guardar emisora';
@@ -260,25 +260,25 @@ class AppLocalizationsEs extends AppLocalizations {
String get backupSectionTitle => 'Copia de seguridad';
@override
String get backupExportTitle => 'Exportar configuraci?n';
String get backupExportTitle => 'Exportar configuración';
@override
String get backupExportSubtitle =>
'Favoritos, emisoras custom y presets de EQ';
@override
String get backupImportTitle => 'Importar configuraci?n';
String get backupImportTitle => 'Importar configuración';
@override
String get backupImportSubtitle =>
'Restaurar desde un fichero de copia de seguridad';
@override
String get backupShareSubject => 'PluriWave ? copia de seguridad';
String get backupShareSubject => 'PluriWave copia de seguridad';
@override
String backupShareText(Object date) {
return 'Configuraci?n de PluriWave exportada el $date';
return 'Configuración de PluriWave exportada el $date';
}
@override
@@ -288,10 +288,10 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get backupImportConfirmMessage =>
'Esto a?adir? los favoritos, emisoras y presets del fichero. ?Continuar?';
'Esto añadirá los favoritos, emisoras y presets del fichero. ¿Continuar?';
@override
String get backupImportSuccess => 'Configuraci?n importada correctamente';
String get backupImportSuccess => 'Configuración importada correctamente';
@override
String backupImportError(Object error) {
@@ -299,7 +299,7 @@ class AppLocalizationsEs extends AppLocalizations {
}
@override
String get appVersionLoading => 'Cargando versi?n...';
String get appVersionLoading => 'Cargando versión...';
@override
String appVersionSubtitle(Object version) {
@@ -319,14 +319,41 @@ class AppLocalizationsEs extends AppLocalizations {
String get backgroundAudioTitle => 'Audio en background';
@override
String get backgroundAudioSubtitle => 'Contin?a al apagar la pantalla';
String get backgroundAudioSubtitle => 'Continúa al apagar la pantalla';
@override
String get dash => '?';
String get dash => '';
@override
String get cancelAction => 'Cancelar';
@override
String get equalizerTitle => 'Ecualizador';
@override
String get recordingsOpenFolder => 'Abrir carpeta';
@override
String recordingsOpenFolderError(Object error) {
return 'No se pudo abrir la carpeta: $error';
}
@override
String get recordingsMaxSizeTitle => 'Tamaño máximo de grabación';
@override
String recordingsMaxSizeSubtitle(int size) {
return 'Límite actual: $size MB';
}
@override
String get recordingsMaxSizeDialogTitle => 'Tamaño máximo por grabación';
@override
String get recordingsMaxSizeMbLabel => 'Megabytes máximos';
@override
String recordingsMaxSizeSaved(int size) {
return 'Límite de grabación actualizado a $size MB';
}
}