feat: add advanced library filters (source, quality, format, date)

- Add filter button next to Select in Library tab (All/Singles)
- Source filter: All, Downloaded, Local
- Quality filter: Hi-Res (24bit), CD (16bit), Lossy
- Format filter: Dynamic based on available formats (FLAC, MP3, etc.)
- Date filter: Today, This Week, This Month, This Year
- Badge shows active filter count
- Long-press filter button to reset all filters
- Filters apply to both All and Singles tabs
- Add 18 new localization keys for filter UI
This commit is contained in:
zarzet
2026-02-03 22:52:29 +07:00
parent b21e953ef1
commit a2eb89e230
17 changed files with 1448 additions and 15 deletions
+132
View File
@@ -4582,6 +4582,96 @@ abstract class AppLocalizations {
/// **'Local'**
String get libraryFilterLocal;
/// Filter bottom sheet title
///
/// In en, this message translates to:
/// **'Filters'**
String get libraryFilterTitle;
/// Reset all filters button
///
/// In en, this message translates to:
/// **'Reset'**
String get libraryFilterReset;
/// Apply filters button
///
/// In en, this message translates to:
/// **'Apply'**
String get libraryFilterApply;
/// Filter section - source type
///
/// In en, this message translates to:
/// **'Source'**
String get libraryFilterSource;
/// Filter section - audio quality
///
/// In en, this message translates to:
/// **'Quality'**
String get libraryFilterQuality;
/// Filter option - high resolution audio
///
/// In en, this message translates to:
/// **'Hi-Res (24bit)'**
String get libraryFilterQualityHiRes;
/// Filter option - CD quality audio
///
/// In en, this message translates to:
/// **'CD (16bit)'**
String get libraryFilterQualityCD;
/// Filter option - lossy compressed audio
///
/// In en, this message translates to:
/// **'Lossy'**
String get libraryFilterQualityLossy;
/// Filter section - file format
///
/// In en, this message translates to:
/// **'Format'**
String get libraryFilterFormat;
/// Filter section - date range
///
/// In en, this message translates to:
/// **'Date Added'**
String get libraryFilterDate;
/// Filter option - today only
///
/// In en, this message translates to:
/// **'Today'**
String get libraryFilterDateToday;
/// Filter option - this week
///
/// In en, this message translates to:
/// **'This Week'**
String get libraryFilterDateWeek;
/// Filter option - this month
///
/// In en, this message translates to:
/// **'This Month'**
String get libraryFilterDateMonth;
/// Filter option - this year
///
/// In en, this message translates to:
/// **'This Year'**
String get libraryFilterDateYear;
/// Badge showing number of active filters
///
/// In en, this message translates to:
/// **'{count} filter(s) active'**
String libraryFilterActive(int count);
/// Relative time - less than a minute ago
///
/// In en, this message translates to:
@@ -4701,6 +4791,48 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Failed'**
String get uploadStatusFailed;
/// Status when cloud save is disabled
///
/// In en, this message translates to:
/// **'Cloud Save Off'**
String get cloudStatusDisabled;
/// Subtitle when cloud save is disabled
///
/// In en, this message translates to:
/// **'Enable to auto-upload tracks'**
String get cloudStatusDisabledSubtitle;
/// Status when no provider selected
///
/// In en, this message translates to:
/// **'Select Provider'**
String get cloudStatusNoProvider;
/// Subtitle when no provider selected
///
/// In en, this message translates to:
/// **'Choose a cloud service'**
String get cloudStatusNoProviderSubtitle;
/// Status when settings missing
///
/// In en, this message translates to:
/// **'Setup Required'**
String get cloudStatusNotConfigured;
/// Subtitle when settings missing
///
/// In en, this message translates to:
/// **'Configure your server details'**
String get cloudStatusNotConfiguredSubtitle;
/// Status when cloud save is active
///
/// In en, this message translates to:
/// **'Connected'**
String get cloudStatusActive;
}
class _AppLocalizationsDelegate
+69
View File
@@ -2557,6 +2557,53 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2636,4 +2683,26 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
+69
View File
@@ -2542,6 +2542,53 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2621,4 +2668,26 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
+69
View File
@@ -2542,6 +2542,53 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2621,6 +2668,28 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
/// The translations for Spanish Castilian, as used in Spain (`es_ES`).
+69
View File
@@ -2542,6 +2542,53 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2621,4 +2668,26 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
+69
View File
@@ -2542,6 +2542,53 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2621,4 +2668,26 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
+69
View File
@@ -2555,6 +2555,53 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2634,4 +2681,26 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
+69
View File
@@ -2528,6 +2528,53 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2607,4 +2654,26 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
+69
View File
@@ -2542,6 +2542,53 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2621,4 +2668,26 @@ class AppLocalizationsKo extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
+69
View File
@@ -2542,6 +2542,53 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2621,4 +2668,26 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
+69
View File
@@ -2542,6 +2542,53 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2621,6 +2668,28 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
/// The translations for Portuguese, as used in Portugal (`pt_PT`).
+69
View File
@@ -2588,6 +2588,53 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2667,4 +2714,26 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
+69
View File
@@ -2557,6 +2557,53 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2636,4 +2683,26 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
+69
View File
@@ -2542,6 +2542,53 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get libraryFilterLocal => 'Local';
@override
String get libraryFilterTitle => 'Filters';
@override
String get libraryFilterReset => 'Reset';
@override
String get libraryFilterApply => 'Apply';
@override
String get libraryFilterSource => 'Source';
@override
String get libraryFilterQuality => 'Quality';
@override
String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';
@override
String get libraryFilterQualityCD => 'CD (16bit)';
@override
String get libraryFilterQualityLossy => 'Lossy';
@override
String get libraryFilterFormat => 'Format';
@override
String get libraryFilterDate => 'Date Added';
@override
String get libraryFilterDateToday => 'Today';
@override
String get libraryFilterDateWeek => 'This Week';
@override
String get libraryFilterDateMonth => 'This Month';
@override
String get libraryFilterDateYear => 'This Year';
@override
String libraryFilterActive(int count) {
return '$count filter(s) active';
}
@override
String get timeJustNow => 'Just now';
@@ -2621,6 +2668,28 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get uploadStatusFailed => 'Failed';
@override
String get cloudStatusDisabled => 'Cloud Save Off';
@override
String get cloudStatusDisabledSubtitle => 'Enable to auto-upload tracks';
@override
String get cloudStatusNoProvider => 'Select Provider';
@override
String get cloudStatusNoProviderSubtitle => 'Choose a cloud service';
@override
String get cloudStatusNotConfigured => 'Setup Required';
@override
String get cloudStatusNotConfiguredSubtitle =>
'Configure your server details';
@override
String get cloudStatusActive => 'Connected';
}
/// The translations for Chinese, as used in China (`zh_CN`).
+52 -1
View File
@@ -1883,6 +1883,42 @@
"libraryFilterLocal": "Local",
"@libraryFilterLocal": {"description": "Filter chip - show only local library items"},
"libraryFilterTitle": "Filters",
"@libraryFilterTitle": {"description": "Filter bottom sheet title"},
"libraryFilterReset": "Reset",
"@libraryFilterReset": {"description": "Reset all filters button"},
"libraryFilterApply": "Apply",
"@libraryFilterApply": {"description": "Apply filters button"},
"libraryFilterSource": "Source",
"@libraryFilterSource": {"description": "Filter section - source type"},
"libraryFilterQuality": "Quality",
"@libraryFilterQuality": {"description": "Filter section - audio quality"},
"libraryFilterQualityHiRes": "Hi-Res (24bit)",
"@libraryFilterQualityHiRes": {"description": "Filter option - high resolution audio"},
"libraryFilterQualityCD": "CD (16bit)",
"@libraryFilterQualityCD": {"description": "Filter option - CD quality audio"},
"libraryFilterQualityLossy": "Lossy",
"@libraryFilterQualityLossy": {"description": "Filter option - lossy compressed audio"},
"libraryFilterFormat": "Format",
"@libraryFilterFormat": {"description": "Filter section - file format"},
"libraryFilterDate": "Date Added",
"@libraryFilterDate": {"description": "Filter section - date range"},
"libraryFilterDateToday": "Today",
"@libraryFilterDateToday": {"description": "Filter option - today only"},
"libraryFilterDateWeek": "This Week",
"@libraryFilterDateWeek": {"description": "Filter option - this week"},
"libraryFilterDateMonth": "This Month",
"@libraryFilterDateMonth": {"description": "Filter option - this month"},
"libraryFilterDateYear": "This Year",
"@libraryFilterDateYear": {"description": "Filter option - this year"},
"libraryFilterActive": "{count} filter(s) active",
"@libraryFilterActive": {
"description": "Badge showing number of active filters",
"placeholders": {
"count": {"type": "int"}
}
},
"timeJustNow": "Just now",
"@timeJustNow": {"description": "Relative time - less than a minute ago"},
"timeMinutesAgo": "{count, plural, =1{1 minute ago} other{{count} minutes ago}}",
@@ -1941,5 +1977,20 @@
"uploadStatusDone": "Done",
"@uploadStatusDone": {"description": "Upload queue status - completed"},
"uploadStatusFailed": "Failed",
"@uploadStatusFailed": {"description": "Upload queue status - error"}
"@uploadStatusFailed": {"description": "Upload queue status - error"},
"cloudStatusDisabled": "Cloud Save Off",
"@cloudStatusDisabled": {"description": "Status when cloud save is disabled"},
"cloudStatusDisabledSubtitle": "Enable to auto-upload tracks",
"@cloudStatusDisabledSubtitle": {"description": "Subtitle when cloud save is disabled"},
"cloudStatusNoProvider": "Select Provider",
"@cloudStatusNoProvider": {"description": "Status when no provider selected"},
"cloudStatusNoProviderSubtitle": "Choose a cloud service",
"@cloudStatusNoProviderSubtitle": {"description": "Subtitle when no provider selected"},
"cloudStatusNotConfigured": "Setup Required",
"@cloudStatusNotConfigured": {"description": "Status when settings missing"},
"cloudStatusNotConfiguredSubtitle": "Configure your server details",
"@cloudStatusNotConfiguredSubtitle": {"description": "Subtitle when settings missing"},
"cloudStatusActive": "Connected",
"@cloudStatusActive": {"description": "Status when cloud save is active"}
}