mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-09-23 01:50:44 +02:00
feat: add stable cover cache keys, Qobuz album-search fallback, metadata filters and extended sort options
- Introduce coverCacheKey parameter through Go backend and Kotlin bridge for stable SAF cover caching - Add MetadataFromFilename flag to skip filename-only metadata and retry via temp-file copy - Add Qobuz album-search fallback between API search and store scraping - Extract buildReEnrichFFmpegMetadata to skip empty metadata fields - Add metadata completeness filter (complete, missing year/genre/album artist) - Add sort modes: artist, album, release date, genre (asc/desc) - Prune stale library cover cache files after full scan - Skip empty values and zero track/disc numbers in FFmpeg metadata - Add new l10n keys for metadata filter and sort options
This commit is contained in:
@@ -3478,6 +3478,42 @@ abstract class AppLocalizations {
|
||||
/// **'Format'**
|
||||
String get libraryFilterFormat;
|
||||
|
||||
/// Filter section - metadata completeness
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Metadata'**
|
||||
String get libraryFilterMetadata;
|
||||
|
||||
/// Filter option - items with complete metadata
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Complete metadata'**
|
||||
String get libraryFilterMetadataComplete;
|
||||
|
||||
/// Filter option - items missing any tracked metadata field
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Missing any metadata'**
|
||||
String get libraryFilterMetadataMissingAny;
|
||||
|
||||
/// Filter option - items missing release year/date
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Missing year'**
|
||||
String get libraryFilterMetadataMissingYear;
|
||||
|
||||
/// Filter option - items missing genre
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Missing genre'**
|
||||
String get libraryFilterMetadataMissingGenre;
|
||||
|
||||
/// Filter option - items missing album artist
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Missing album artist'**
|
||||
String get libraryFilterMetadataMissingAlbumArtist;
|
||||
|
||||
/// Filter section - sort order
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
@@ -3496,6 +3532,30 @@ abstract class AppLocalizations {
|
||||
/// **'Oldest'**
|
||||
String get libraryFilterSortOldest;
|
||||
|
||||
/// Sort option - album ascending
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Album (A-Z)'**
|
||||
String get libraryFilterSortAlbumAsc;
|
||||
|
||||
/// Sort option - album descending
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Album (Z-A)'**
|
||||
String get libraryFilterSortAlbumDesc;
|
||||
|
||||
/// Sort option - genre ascending
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Genre (A-Z)'**
|
||||
String get libraryFilterSortGenreAsc;
|
||||
|
||||
/// Sort option - genre descending
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Genre (Z-A)'**
|
||||
String get libraryFilterSortGenreDesc;
|
||||
|
||||
/// Relative time - less than a minute ago
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
@@ -1930,6 +1930,24 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sortieren';
|
||||
|
||||
@@ -1939,6 +1957,18 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Älteste';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Gerade eben';
|
||||
|
||||
|
||||
@@ -1902,6 +1902,24 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sort';
|
||||
|
||||
@@ -1911,6 +1929,18 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Oldest';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Just now';
|
||||
|
||||
|
||||
@@ -1902,6 +1902,24 @@ class AppLocalizationsEs extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sort';
|
||||
|
||||
@@ -1911,6 +1929,18 @@ class AppLocalizationsEs extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Oldest';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Just now';
|
||||
|
||||
|
||||
@@ -1904,6 +1904,24 @@ class AppLocalizationsFr extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sort';
|
||||
|
||||
@@ -1913,6 +1931,18 @@ class AppLocalizationsFr extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Oldest';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Just now';
|
||||
|
||||
|
||||
@@ -1902,6 +1902,24 @@ class AppLocalizationsHi extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sort';
|
||||
|
||||
@@ -1911,6 +1929,18 @@ class AppLocalizationsHi extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Oldest';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Just now';
|
||||
|
||||
|
||||
@@ -1912,6 +1912,24 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sort';
|
||||
|
||||
@@ -1921,6 +1939,18 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Oldest';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Just now';
|
||||
|
||||
|
||||
@@ -1889,6 +1889,24 @@ class AppLocalizationsJa extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => '形式';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sort';
|
||||
|
||||
@@ -1898,6 +1916,18 @@ class AppLocalizationsJa extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Oldest';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Just now';
|
||||
|
||||
|
||||
@@ -1882,6 +1882,24 @@ class AppLocalizationsKo extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sort';
|
||||
|
||||
@@ -1891,6 +1909,18 @@ class AppLocalizationsKo extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Oldest';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Just now';
|
||||
|
||||
|
||||
@@ -1902,6 +1902,24 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sort';
|
||||
|
||||
@@ -1911,6 +1929,18 @@ class AppLocalizationsNl extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Oldest';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Just now';
|
||||
|
||||
|
||||
@@ -1902,6 +1902,24 @@ class AppLocalizationsPt extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sort';
|
||||
|
||||
@@ -1911,6 +1929,18 @@ class AppLocalizationsPt extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Oldest';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Just now';
|
||||
|
||||
|
||||
@@ -1948,6 +1948,24 @@ class AppLocalizationsRu extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Формат';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Сортировка';
|
||||
|
||||
@@ -1957,6 +1975,18 @@ class AppLocalizationsRu extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Старые';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Только что';
|
||||
|
||||
|
||||
@@ -1908,6 +1908,24 @@ class AppLocalizationsTr extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sort';
|
||||
|
||||
@@ -1917,6 +1935,18 @@ class AppLocalizationsTr extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Oldest';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Just now';
|
||||
|
||||
|
||||
@@ -1902,6 +1902,24 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterFormat => 'Format';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadata => 'Metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataComplete => 'Complete metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAny => 'Missing any metadata';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingYear => 'Missing year';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingGenre => 'Missing genre';
|
||||
|
||||
@override
|
||||
String get libraryFilterMetadataMissingAlbumArtist => 'Missing album artist';
|
||||
|
||||
@override
|
||||
String get libraryFilterSort => 'Sort';
|
||||
|
||||
@@ -1911,6 +1929,18 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
@override
|
||||
String get libraryFilterSortOldest => 'Oldest';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumAsc => 'Album (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortAlbumDesc => 'Album (Z-A)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreAsc => 'Genre (A-Z)';
|
||||
|
||||
@override
|
||||
String get libraryFilterSortGenreDesc => 'Genre (Z-A)';
|
||||
|
||||
@override
|
||||
String get timeJustNow => 'Just now';
|
||||
|
||||
|
||||
@@ -2513,6 +2513,30 @@
|
||||
"@libraryFilterFormat": {
|
||||
"description": "Filter section - file format"
|
||||
},
|
||||
"libraryFilterMetadata": "Metadata",
|
||||
"@libraryFilterMetadata": {
|
||||
"description": "Filter section - metadata completeness"
|
||||
},
|
||||
"libraryFilterMetadataComplete": "Complete metadata",
|
||||
"@libraryFilterMetadataComplete": {
|
||||
"description": "Filter option - items with complete metadata"
|
||||
},
|
||||
"libraryFilterMetadataMissingAny": "Missing any metadata",
|
||||
"@libraryFilterMetadataMissingAny": {
|
||||
"description": "Filter option - items missing any tracked metadata field"
|
||||
},
|
||||
"libraryFilterMetadataMissingYear": "Missing year",
|
||||
"@libraryFilterMetadataMissingYear": {
|
||||
"description": "Filter option - items missing release year/date"
|
||||
},
|
||||
"libraryFilterMetadataMissingGenre": "Missing genre",
|
||||
"@libraryFilterMetadataMissingGenre": {
|
||||
"description": "Filter option - items missing genre"
|
||||
},
|
||||
"libraryFilterMetadataMissingAlbumArtist": "Missing album artist",
|
||||
"@libraryFilterMetadataMissingAlbumArtist": {
|
||||
"description": "Filter option - items missing album artist"
|
||||
},
|
||||
"libraryFilterSort": "Sort",
|
||||
"@libraryFilterSort": {
|
||||
"description": "Filter section - sort order"
|
||||
@@ -2525,6 +2549,22 @@
|
||||
"@libraryFilterSortOldest": {
|
||||
"description": "Sort option - oldest first"
|
||||
},
|
||||
"libraryFilterSortAlbumAsc": "Album (A-Z)",
|
||||
"@libraryFilterSortAlbumAsc": {
|
||||
"description": "Sort option - album ascending"
|
||||
},
|
||||
"libraryFilterSortAlbumDesc": "Album (Z-A)",
|
||||
"@libraryFilterSortAlbumDesc": {
|
||||
"description": "Sort option - album descending"
|
||||
},
|
||||
"libraryFilterSortGenreAsc": "Genre (A-Z)",
|
||||
"@libraryFilterSortGenreAsc": {
|
||||
"description": "Sort option - genre ascending"
|
||||
},
|
||||
"libraryFilterSortGenreDesc": "Genre (Z-A)",
|
||||
"@libraryFilterSortGenreDesc": {
|
||||
"description": "Sort option - genre descending"
|
||||
},
|
||||
"timeJustNow": "Just now",
|
||||
"@timeJustNow": {
|
||||
"description": "Relative time - less than a minute ago"
|
||||
|
||||
Reference in New Issue
Block a user