feat(grabaciones): add recordings library screen

This commit is contained in:
2026-07-28 23:01:33 +02:00
parent c1903623be
commit 589fc54580
23 changed files with 1825 additions and 13 deletions
+72
View File
@@ -796,6 +796,78 @@ abstract class AppLocalizations {
/// **'Límite de grabación actualizado a {size} MB'**
String recordingsMaxSizeSaved(int size);
/// No description provided for @recordingsLibraryTitle.
///
/// In es, this message translates to:
/// **'Mis grabaciones'**
String get recordingsLibraryTitle;
/// No description provided for @recordingsLibraryStorageCaption.
///
/// In es, this message translates to:
/// **'{usedMb} MB de {totalMb} MB usados'**
String recordingsLibraryStorageCaption(int usedMb, int totalMb);
/// No description provided for @recordingsLibraryEmptyTitle.
///
/// In es, this message translates to:
/// **'Todavía no hay grabaciones'**
String get recordingsLibraryEmptyTitle;
/// No description provided for @recordingsLibraryEmptySubtitle.
///
/// In es, this message translates to:
/// **'Las grabaciones que guardes van a aparecer acá.'**
String get recordingsLibraryEmptySubtitle;
/// No description provided for @recordingActionRename.
///
/// In es, this message translates to:
/// **'Renombrar'**
String get recordingActionRename;
/// No description provided for @recordingActionShare.
///
/// In es, this message translates to:
/// **'Compartir'**
String get recordingActionShare;
/// No description provided for @recordingActionDelete.
///
/// In es, this message translates to:
/// **'Eliminar'**
String get recordingActionDelete;
/// No description provided for @recordingRenameDialogTitle.
///
/// In es, this message translates to:
/// **'Renombrar grabación'**
String get recordingRenameDialogTitle;
/// No description provided for @recordingRenameLabel.
///
/// In es, this message translates to:
/// **'Nombre'**
String get recordingRenameLabel;
/// No description provided for @recordingRenameEmptyError.
///
/// In es, this message translates to:
/// **'Ingresá un nombre'**
String get recordingRenameEmptyError;
/// No description provided for @recordingDeleteConfirmTitle.
///
/// In es, this message translates to:
/// **'¿Eliminar grabación?'**
String get recordingDeleteConfirmTitle;
/// No description provided for @recordingDeleteConfirmMessage.
///
/// In es, this message translates to:
/// **'Esta acción no se puede deshacer.'**
String get recordingDeleteConfirmMessage;
/// No description provided for @stationOrderTitle.
///
/// In es, this message translates to:
+40
View File
@@ -395,6 +395,46 @@ class AppLocalizationsAr extends AppLocalizations {
return 'تم تحديث حد التسجيل إلى $size ميغابايت';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => 'ترتيب المحطات';
+40
View File
@@ -398,6 +398,46 @@ class AppLocalizationsBn extends AppLocalizations {
return 'রেকর্ডিং সীমা $size MB-এ আপডেট হয়েছে';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => 'স্টেশনের ক্রম';
+40
View File
@@ -401,6 +401,46 @@ class AppLocalizationsDe extends AppLocalizations {
return 'Aufnahmelimit auf $size MB aktualisiert';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => 'Senderreihenfolge';
+39
View File
@@ -396,6 +396,45 @@ class AppLocalizationsEn extends AppLocalizations {
return 'Recording limit updated to $size MB';
}
@override
String get recordingsLibraryTitle => 'My recordings';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB of $totalMb MB used';
}
@override
String get recordingsLibraryEmptyTitle => 'No recordings yet';
@override
String get recordingsLibraryEmptySubtitle =>
'Recordings you save will appear here.';
@override
String get recordingActionRename => 'Rename';
@override
String get recordingActionShare => 'Share';
@override
String get recordingActionDelete => 'Delete';
@override
String get recordingRenameDialogTitle => 'Rename recording';
@override
String get recordingRenameLabel => 'Name';
@override
String get recordingRenameEmptyError => 'Enter a name';
@override
String get recordingDeleteConfirmTitle => 'Delete recording?';
@override
String get recordingDeleteConfirmMessage => 'This can\'t be undone.';
@override
String get stationOrderTitle => 'Station order';
+40
View File
@@ -399,6 +399,46 @@ class AppLocalizationsEs extends AppLocalizations {
return 'Límite de grabación actualizado a $size MB';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => 'Orden de emisoras';
+40
View File
@@ -403,6 +403,46 @@ class AppLocalizationsFr extends AppLocalizations {
return 'Limite denregistrement mise à jour à $size Mo';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => 'Ordre des stations';
+40
View File
@@ -396,6 +396,46 @@ class AppLocalizationsHi extends AppLocalizations {
return 'रिकॉर्डिंग सीमा $size MB पर अपडेट हुई';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => 'स्टेशन क्रम';
+40
View File
@@ -397,6 +397,46 @@ class AppLocalizationsId extends AppLocalizations {
return 'Batas rekaman diperbarui menjadi $size MB';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => 'Urutan stasiun';
+40
View File
@@ -399,6 +399,46 @@ class AppLocalizationsIt extends AppLocalizations {
return 'Limite di registrazione aggiornato a $size MB';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => 'Ordine emittenti';
+40
View File
@@ -386,6 +386,46 @@ class AppLocalizationsJa extends AppLocalizations {
return '録音上限を $size MB に更新しました';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => '局の並び順';
+40
View File
@@ -398,6 +398,46 @@ class AppLocalizationsPt extends AppLocalizations {
return 'Limite de gravação atualizado para $size MB';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => 'Ordem das estações';
+40
View File
@@ -399,6 +399,46 @@ class AppLocalizationsRu extends AppLocalizations {
return 'Лимит записи обновлён до $size МБ';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => 'Порядок станций';
+40
View File
@@ -384,6 +384,46 @@ class AppLocalizationsZh extends AppLocalizations {
return '录音限制已更新为 $size MB';
}
@override
String get recordingsLibraryTitle => 'Mis grabaciones';
@override
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
return '$usedMb MB de $totalMb MB usados';
}
@override
String get recordingsLibraryEmptyTitle => 'Todavía no hay grabaciones';
@override
String get recordingsLibraryEmptySubtitle =>
'Las grabaciones que guardes van a aparecer acá.';
@override
String get recordingActionRename => 'Renombrar';
@override
String get recordingActionShare => 'Compartir';
@override
String get recordingActionDelete => 'Eliminar';
@override
String get recordingRenameDialogTitle => 'Renombrar grabación';
@override
String get recordingRenameLabel => 'Nombre';
@override
String get recordingRenameEmptyError => 'Ingresá un nombre';
@override
String get recordingDeleteConfirmTitle => '¿Eliminar grabación?';
@override
String get recordingDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get stationOrderTitle => '电台排序';