From 9071db9b88088f82c49697efaa4f8d1a6fbab365 Mon Sep 17 00:00:00 2001 From: zarzet Date: Wed, 4 Feb 2026 09:39:54 +0700 Subject: [PATCH] feat: block duplicate downloads for tracks in local library - Add local library check before downloading in all screens - Show 'Already exists in your library' snackbar when track is found - Add 'In Library' badge to track items in album and playlist screens - Update home_tab, album_screen, playlist_screen, artist_screen - Add snackbarAlreadyInLibrary localization string --- lib/l10n/app_localizations.dart | 133 ++++-- lib/l10n/app_localizations_de.dart | 317 ++++++++----- lib/l10n/app_localizations_en.dart | 272 +++++++---- lib/l10n/app_localizations_es.dart | 574 +++++++++++++++-------- lib/l10n/app_localizations_fr.dart | 272 +++++++---- lib/l10n/app_localizations_hi.dart | 272 +++++++---- lib/l10n/app_localizations_id.dart | 311 ++++++++----- lib/l10n/app_localizations_ja.dart | 230 +++++++--- lib/l10n/app_localizations_ko.dart | 272 +++++++---- lib/l10n/app_localizations_nl.dart | 272 +++++++---- lib/l10n/app_localizations_pt.dart | 565 +++++++++++++++-------- lib/l10n/app_localizations_ru.dart | 350 +++++++++----- lib/l10n/app_localizations_tr.dart | 317 ++++++++----- lib/l10n/app_localizations_zh.dart | 714 +++++++++++++++++++---------- lib/l10n/arb/app_en.arb | 7 + lib/screens/album_screen.dart | 54 ++- lib/screens/artist_screen.dart | 31 +- lib/screens/home_tab.dart | 19 +- lib/screens/playlist_screen.dart | 54 ++- 19 files changed, 3415 insertions(+), 1621 deletions(-) diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index 5f9635b9..8b48af34 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -73,7 +73,8 @@ import 'app_localizations_zh.dart'; /// be consistent with the languages listed in the AppLocalizations.supportedLocales /// property. abstract class AppLocalizations { - AppLocalizations(String locale) : localeName = intl.Intl.canonicalizedLocale(locale.toString()); + AppLocalizations(String locale) + : localeName = intl.Intl.canonicalizedLocale(locale.toString()); final String localeName; @@ -81,7 +82,8 @@ abstract class AppLocalizations { return Localizations.of(context, AppLocalizations)!; } - static const LocalizationsDelegate delegate = _AppLocalizationsDelegate(); + static const LocalizationsDelegate delegate = + _AppLocalizationsDelegate(); /// A list of this localizations delegate along with the default localizations /// delegates. @@ -93,12 +95,13 @@ abstract class AppLocalizations { /// Additional delegates can be added by appending to this list in /// MaterialApp. This list does not have to be used at all if a custom list /// of delegates is preferred or required. - static const List> localizationsDelegates = >[ - delegate, - GlobalMaterialLocalizations.delegate, - GlobalCupertinoLocalizations.delegate, - GlobalWidgetsLocalizations.delegate, - ]; + static const List> localizationsDelegates = + >[ + delegate, + GlobalMaterialLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + ]; /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ @@ -118,7 +121,7 @@ abstract class AppLocalizations { Locale('tr'), Locale('zh'), Locale('zh', 'CN'), - Locale('zh', 'TW') + Locale('zh', 'TW'), ]; /// App name - DO NOT TRANSLATE @@ -1765,6 +1768,12 @@ abstract class AppLocalizations { /// **'\"{trackName}\" already downloaded'** String snackbarAlreadyDownloaded(String trackName); + /// Snackbar - track already exists in local library + /// + /// In en, this message translates to: + /// **'\"{trackName}\" already exists in your library'** + String snackbarAlreadyInLibrary(String trackName); + /// Snackbar - history deleted /// /// In en, this message translates to: @@ -4412,7 +4421,8 @@ abstract class AppLocalizations { String timeHoursAgo(int count); } -class _AppLocalizationsDelegate extends LocalizationsDelegate { +class _AppLocalizationsDelegate + extends LocalizationsDelegate { const _AppLocalizationsDelegate(); @override @@ -4421,58 +4431,91 @@ class _AppLocalizationsDelegate extends LocalizationsDelegate } @override - bool isSupported(Locale locale) => ['de', 'en', 'es', 'fr', 'hi', 'id', 'ja', 'ko', 'nl', 'pt', 'ru', 'tr', 'zh'].contains(locale.languageCode); + bool isSupported(Locale locale) => [ + 'de', + 'en', + 'es', + 'fr', + 'hi', + 'id', + 'ja', + 'ko', + 'nl', + 'pt', + 'ru', + 'tr', + 'zh', + ].contains(locale.languageCode); @override bool shouldReload(_AppLocalizationsDelegate old) => false; } AppLocalizations lookupAppLocalizations(Locale locale) { - // Lookup logic when language+country codes are specified. switch (locale.languageCode) { - case 'es': { - switch (locale.countryCode) { - case 'ES': return AppLocalizationsEsEs(); - } - break; - } - case 'pt': { - switch (locale.countryCode) { - case 'PT': return AppLocalizationsPtPt(); - } - break; - } - case 'zh': { - switch (locale.countryCode) { - case 'CN': return AppLocalizationsZhCn(); -case 'TW': return AppLocalizationsZhTw(); - } - break; - } + case 'es': + { + switch (locale.countryCode) { + case 'ES': + return AppLocalizationsEsEs(); + } + break; + } + case 'pt': + { + switch (locale.countryCode) { + case 'PT': + return AppLocalizationsPtPt(); + } + break; + } + case 'zh': + { + switch (locale.countryCode) { + case 'CN': + return AppLocalizationsZhCn(); + case 'TW': + return AppLocalizationsZhTw(); + } + break; + } } // Lookup logic when only language code is specified. switch (locale.languageCode) { - case 'de': return AppLocalizationsDe(); - case 'en': return AppLocalizationsEn(); - case 'es': return AppLocalizationsEs(); - case 'fr': return AppLocalizationsFr(); - case 'hi': return AppLocalizationsHi(); - case 'id': return AppLocalizationsId(); - case 'ja': return AppLocalizationsJa(); - case 'ko': return AppLocalizationsKo(); - case 'nl': return AppLocalizationsNl(); - case 'pt': return AppLocalizationsPt(); - case 'ru': return AppLocalizationsRu(); - case 'tr': return AppLocalizationsTr(); - case 'zh': return AppLocalizationsZh(); + case 'de': + return AppLocalizationsDe(); + case 'en': + return AppLocalizationsEn(); + case 'es': + return AppLocalizationsEs(); + case 'fr': + return AppLocalizationsFr(); + case 'hi': + return AppLocalizationsHi(); + case 'id': + return AppLocalizationsId(); + case 'ja': + return AppLocalizationsJa(); + case 'ko': + return AppLocalizationsKo(); + case 'nl': + return AppLocalizationsNl(); + case 'pt': + return AppLocalizationsPt(); + case 'ru': + return AppLocalizationsRu(); + case 'tr': + return AppLocalizationsTr(); + case 'zh': + return AppLocalizationsZh(); } throw FlutterError( 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely ' 'an issue with the localizations generation tool. Please file an issue ' 'on GitHub with a reproducible sample app and the gen-l10n configuration ' - 'that was used.' + 'that was used.', ); } diff --git a/lib/l10n/app_localizations_de.dart b/lib/l10n/app_localizations_de.dart index cb6f8ab8..06e5a87d 100644 --- a/lib/l10n/app_localizations_de.dart +++ b/lib/l10n/app_localizations_de.dart @@ -12,7 +12,8 @@ class AppLocalizationsDe extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Laden Sie Spotify-Titel in verlustfreier Qualität von Tidal, Qobuz und Amazon Music herunter.'; + String get appDescription => + 'Laden Sie Spotify-Titel in verlustfreier Qualität von Tidal, Qobuz und Amazon Music herunter.'; @override String get navHome => 'Startseite'; @@ -44,7 +45,8 @@ class AppLocalizationsDe extends AppLocalizations { String get homeSubtitle => 'Spotify-Link einfügen oder nach Namen suchen'; @override - String get homeSupports => 'Unterstützt: Titel, Album, Playlist, Künstler-URLs'; + String get homeSupports => + 'Unterstützt: Titel, Album, Playlist, Künstler-URLs'; @override String get homeRecent => 'Zuletzt'; @@ -95,19 +97,22 @@ class AppLocalizationsDe extends AppLocalizations { String get historyNoDownloads => 'Kein Download-Verlauf'; @override - String get historyNoDownloadsSubtitle => 'Heruntergeladene Titel werden hier angezeigt'; + String get historyNoDownloadsSubtitle => + 'Heruntergeladene Titel werden hier angezeigt'; @override String get historyNoAlbums => 'Keine Album-Downloads'; @override - String get historyNoAlbumsSubtitle => 'Laden Sie mehrere Titel eines Albums herunter, um sie hier zu sehen'; + String get historyNoAlbumsSubtitle => + 'Laden Sie mehrere Titel eines Albums herunter, um sie hier zu sehen'; @override String get historyNoSingles => 'Keine Einzel-Downloads'; @override - String get historyNoSinglesSubtitle => 'Einzelne Titel-Downloads werden hier angezeigt'; + String get historyNoSinglesSubtitle => + 'Einzelne Titel-Downloads werden hier angezeigt'; @override String get historySearchHint => 'Suchverlauf...'; @@ -137,7 +142,8 @@ class AppLocalizationsDe extends AppLocalizations { String get downloadLocation => 'Download-Speicherort'; @override - String get downloadLocationSubtitle => 'Wählen Sie den Speicherort für Dateien'; + String get downloadLocationSubtitle => + 'Wählen Sie den Speicherort für Dateien'; @override String get downloadLocationDefault => 'Standard-Speicherort'; @@ -155,7 +161,8 @@ class AppLocalizationsDe extends AppLocalizations { String get downloadAskQuality => 'Qualität vor Download abfragen'; @override - String get downloadAskQualitySubtitle => 'Qualitätsauswahl für jeden Download anzeigen'; + String get downloadAskQualitySubtitle => + 'Qualitätsauswahl für jeden Download anzeigen'; @override String get downloadFilenameFormat => 'Dateinamenformat'; @@ -167,7 +174,8 @@ class AppLocalizationsDe extends AppLocalizations { String get downloadSeparateSingles => 'Singles trennen'; @override - String get downloadSeparateSinglesSubtitle => 'Einzelne Titel in separatem Ordner speichern'; + String get downloadSeparateSinglesSubtitle => + 'Einzelne Titel in separatem Ordner speichern'; @override String get qualityBest => 'Beste Qualität'; @@ -200,7 +208,8 @@ class AppLocalizationsDe extends AppLocalizations { String get appearanceDynamicColor => 'Dynamische Farben'; @override - String get appearanceDynamicColorSubtitle => 'Farben von Ihrem Hintergrundbild verwenden'; + String get appearanceDynamicColorSubtitle => + 'Farben von Ihrem Hintergrundbild verwenden'; @override String get appearanceAccentColor => 'Akzentfarbe'; @@ -224,7 +233,8 @@ class AppLocalizationsDe extends AppLocalizations { String get optionsPrimaryProvider => 'Primärer Anbieter'; @override - String get optionsPrimaryProviderSubtitle => 'Dienst für die Suche nach Titelnamen.'; + String get optionsPrimaryProviderSubtitle => + 'Dienst für die Suche nach Titelnamen.'; @override String optionsUsingExtension(String extensionName) { @@ -232,34 +242,40 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get optionsSwitchBack => 'Tippen Sie auf Deezer oder Spotify, um von der Erweiterung zurückzuwechseln'; + String get optionsSwitchBack => + 'Tippen Sie auf Deezer oder Spotify, um von der Erweiterung zurückzuwechseln'; @override String get optionsAutoFallback => 'Automatischer Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Andere Dienste versuchen, wenn Download fehlschlägt'; + String get optionsAutoFallbackSubtitle => + 'Andere Dienste versuchen, wenn Download fehlschlägt'; @override String get optionsUseExtensionProviders => 'Erweiterungs-Anbieter verwenden'; @override - String get optionsUseExtensionProvidersOn => 'Erweiterungen werden zuerst versucht'; + String get optionsUseExtensionProvidersOn => + 'Erweiterungen werden zuerst versucht'; @override - String get optionsUseExtensionProvidersOff => 'Nur integrierte Anbieter verwenden'; + String get optionsUseExtensionProvidersOff => + 'Nur integrierte Anbieter verwenden'; @override String get optionsEmbedLyrics => 'Liedtexte einbetten'; @override - String get optionsEmbedLyricsSubtitle => 'Synchronisierte Liedtexte in FLAC-Dateien einbetten'; + String get optionsEmbedLyricsSubtitle => + 'Synchronisierte Liedtexte in FLAC-Dateien einbetten'; @override String get optionsMaxQualityCover => 'Maximale Cover-Qualität'; @override - String get optionsMaxQualityCoverSubtitle => 'Cover in höchster Auflösung herunterladen'; + String get optionsMaxQualityCoverSubtitle => + 'Cover in höchster Auflösung herunterladen'; @override String get optionsConcurrentDownloads => 'Parallele Downloads'; @@ -273,19 +289,22 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Parallele Downloads können Ratenlimitierung auslösen'; + String get optionsConcurrentWarning => + 'Parallele Downloads können Ratenlimitierung auslösen'; @override String get optionsExtensionStore => 'Erweiterungs-Store'; @override - String get optionsExtensionStoreSubtitle => 'Store-Tab in Navigation anzeigen'; + String get optionsExtensionStoreSubtitle => + 'Store-Tab in Navigation anzeigen'; @override String get optionsCheckUpdates => 'Nach Updates suchen'; @override - String get optionsCheckUpdatesSubtitle => 'Benachrichtigen, wenn neue Version verfügbar'; + String get optionsCheckUpdatesSubtitle => + 'Benachrichtigen, wenn neue Version verfügbar'; @override String get optionsUpdateChannel => 'Update-Kanal'; @@ -297,19 +316,22 @@ class AppLocalizationsDe extends AppLocalizations { String get optionsUpdateChannelPreview => 'Vorschau-Versionen erhalten'; @override - String get optionsUpdateChannelWarning => 'Vorschau kann Fehler oder unvollständige Funktionen enthalten'; + String get optionsUpdateChannelWarning => + 'Vorschau kann Fehler oder unvollständige Funktionen enthalten'; @override String get optionsClearHistory => 'Download-Verlauf löschen'; @override - String get optionsClearHistorySubtitle => 'Alle heruntergeladenen Titel aus dem Verlauf entfernen'; + String get optionsClearHistorySubtitle => + 'Alle heruntergeladenen Titel aus dem Verlauf entfernen'; @override String get optionsDetailedLogging => 'Detaillierte Protokollierung'; @override - String get optionsDetailedLoggingOn => 'Detaillierte Protokolle werden aufgezeichnet'; + String get optionsDetailedLoggingOn => + 'Detaillierte Protokolle werden aufgezeichnet'; @override String get optionsDetailedLoggingOff => 'Für Fehlerberichte aktivieren'; @@ -323,10 +345,12 @@ class AppLocalizationsDe extends AppLocalizations { } @override - String get optionsSpotifyCredentialsRequired => 'Erforderlich - zum Konfigurieren tippen'; + String get optionsSpotifyCredentialsRequired => + 'Erforderlich - zum Konfigurieren tippen'; @override - String get optionsSpotifyWarning => 'Spotify erfordert eigene API-Anmeldedaten. Kostenlos erhältlich auf developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify erfordert eigene API-Anmeldedaten. Kostenlos erhältlich auf developer.spotify.com'; @override String get extensionsTitle => 'Erweiterungen'; @@ -338,7 +362,8 @@ class AppLocalizationsDe extends AppLocalizations { String get extensionsNone => 'Keine Erweiterungen installiert'; @override - String get extensionsNoneSubtitle => 'Erweiterungen aus dem Store-Tab installieren'; + String get extensionsNoneSubtitle => + 'Erweiterungen aus dem Store-Tab installieren'; @override String get extensionsEnabled => 'Aktiviert'; @@ -390,7 +415,8 @@ class AppLocalizationsDe extends AppLocalizations { String get aboutOriginalCreator => 'Schöpfer des ursprünglichen SpotiFLAC'; @override - String get aboutLogoArtist => 'Der talentierte Künstler, der unser wunderschönes App-Logo entworfen hat!'; + String get aboutLogoArtist => + 'Der talentierte Künstler, der unser wunderschönes App-Logo entworfen hat!'; @override String get aboutTranslators => 'Übersetzer'; @@ -411,13 +437,15 @@ class AppLocalizationsDe extends AppLocalizations { String get aboutReportIssue => 'Problem melden'; @override - String get aboutReportIssueSubtitle => 'Melde jedes Problem, die dir auftreten'; + String get aboutReportIssueSubtitle => + 'Melde jedes Problem, die dir auftreten'; @override String get aboutFeatureRequest => 'Feature vorschlagen'; @override - String get aboutFeatureRequestSubtitle => 'Schlage neue Funktionen für die App vor'; + String get aboutFeatureRequestSubtitle => + 'Schlage neue Funktionen für die App vor'; @override String get aboutTelegramChannel => 'Telegram Kanal'; @@ -441,7 +469,8 @@ class AppLocalizationsDe extends AppLocalizations { String get aboutBuyMeCoffee => 'Spendiere mir einen Kaffee'; @override - String get aboutBuyMeCoffeeSubtitle => 'Unterstütze die Entwicklung auf Ko-fi'; + String get aboutBuyMeCoffeeSubtitle => + 'Unterstütze die Entwicklung auf Ko-fi'; @override String get aboutApp => 'App'; @@ -450,28 +479,34 @@ class AppLocalizationsDe extends AppLocalizations { String get aboutVersion => 'Version'; @override - String get aboutBinimumDesc => 'Der Schöpfer der QQDL & HiFi API. Ohne diese API gäbe es keine Tidal-Downloads!'; + String get aboutBinimumDesc => + 'Der Schöpfer der QQDL & HiFi API. Ohne diese API gäbe es keine Tidal-Downloads!'; @override - String get aboutSachinsenalDesc => 'Der ursprüngliche Entwickler des HiFi-Projekts. Die Grundlage der Tidal-Integration!'; + String get aboutSachinsenalDesc => + 'Der ursprüngliche Entwickler des HiFi-Projekts. Die Grundlage der Tidal-Integration!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Wundervolle API für Amazon Music Downloads.\nVielen Dank, dass Sie sie kostenlos zur Verfügung stellen!'; + String get aboutDoubleDoubleDesc => + 'Wundervolle API für Amazon Music Downloads.\nVielen Dank, dass Sie sie kostenlos zur Verfügung stellen!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'Die beste Qobuz-Streaming-API. Hi-Res-Downloads wären ohne diese nicht möglich!'; + String get aboutDabMusicDesc => + 'Die beste Qobuz-Streaming-API. Hi-Res-Downloads wären ohne diese nicht möglich!'; @override - String get aboutAppDescription => 'Lade Spotify-Titel in verlustfreier Qualität von Tidal, Qobuz und Amazon Music herunter.'; + String get aboutAppDescription => + 'Lade Spotify-Titel in verlustfreier Qualität von Tidal, Qobuz und Amazon Music herunter.'; @override String get albumTitle => 'Album'; @@ -576,7 +611,8 @@ class AppLocalizationsDe extends AppLocalizations { String get setupStoragePermission => 'Speicherberechtigung'; @override - String get setupStoragePermissionSubtitle => 'Benötigt um heruntergeladene Dateien zu Speichern'; + String get setupStoragePermissionSubtitle => + 'Benötigt um heruntergeladene Dateien zu Speichern'; @override String get setupStoragePermissionGranted => 'Berechtigung erteilt'; @@ -603,16 +639,19 @@ class AppLocalizationsDe extends AppLocalizations { String get setupStorageAccessRequired => 'Speicherzugriff erforderlich'; @override - String get setupStorageAccessMessage => 'SpotiFLAC benötigt die Berechtigung \"Auf alle Dateien zugreifen\", um Musikdateien in deinen gewählten Ordner zu speichern.'; + String get setupStorageAccessMessage => + 'SpotiFLAC benötigt die Berechtigung \"Auf alle Dateien zugreifen\", um Musikdateien in deinen gewählten Ordner zu speichern.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ benötigt die Berechtigung „Auf alle Dateien“, um Dateien im ausgewählten Download-Ordner zu speichern.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ benötigt die Berechtigung „Auf alle Dateien“, um Dateien im ausgewählten Download-Ordner zu speichern.'; @override String get setupOpenSettings => 'Einstellungen öffnen'; @override - String get setupPermissionDeniedMessage => 'Berechtigung verweigert. Bitte erteilen Sie alle Berechtigungen um fortzufahren.'; + String get setupPermissionDeniedMessage => + 'Berechtigung verweigert. Bitte erteilen Sie alle Berechtigungen um fortzufahren.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +670,8 @@ class AppLocalizationsDe extends AppLocalizations { String get setupUseDefaultFolder => 'Als Standardordner verwenden?'; @override - String get setupNoFolderSelected => 'Kein Ordner ausgewählt. Soll der Standard-Musikordner verwendet werden?'; + String get setupNoFolderSelected => + 'Kein Ordner ausgewählt. Soll der Standard-Musikordner verwendet werden?'; @override String get setupUseDefault => 'Standart benutzen'; @@ -640,25 +680,30 @@ class AppLocalizationsDe extends AppLocalizations { String get setupDownloadLocationTitle => 'Speicherort'; @override - String get setupDownloadLocationIosMessage => 'Auf iOS werden Downloads im Dokumentenverzeichnis der App gespeichert. Sie können sie über die Datei-App aufrufen.'; + String get setupDownloadLocationIosMessage => + 'Auf iOS werden Downloads im Dokumentenverzeichnis der App gespeichert. Sie können sie über die Datei-App aufrufen.'; @override String get setupAppDocumentsFolder => 'App-Dokumentenordner'; @override - String get setupAppDocumentsFolderSubtitle => 'Empfohlen - zugänglich über die Datei-App'; + String get setupAppDocumentsFolderSubtitle => + 'Empfohlen - zugänglich über die Datei-App'; @override String get setupChooseFromFiles => 'Aus Dateien auswählen'; @override - String get setupChooseFromFilesSubtitle => 'Wählen Sie iCloud oder einen anderen Ort'; + String get setupChooseFromFilesSubtitle => + 'Wählen Sie iCloud oder einen anderen Ort'; @override - String get setupIosEmptyFolderWarning => 'iOS-Einschränkung: Leere Ordner können nicht ausgewählt werden. Wählen Sie einen Ordner mit mindestens einer Datei.'; + String get setupIosEmptyFolderWarning => + 'iOS-Einschränkung: Leere Ordner können nicht ausgewählt werden. Wählen Sie einen Ordner mit mindestens einer Datei.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Spotify Titel in FLAC herunterladen'; @@ -685,16 +730,19 @@ class AppLocalizationsDe extends AppLocalizations { String get setupStorageRequired => 'Speicherzugriff erforderlich'; @override - String get setupStorageDescription => 'SpotiFLAC benötigt Speicherrechte, um die heruntergeladenen Musikdateien zu speichern.'; + String get setupStorageDescription => + 'SpotiFLAC benötigt Speicherrechte, um die heruntergeladenen Musikdateien zu speichern.'; @override - String get setupNotificationGranted => 'Benachrichtigungs-Berechtigung erteilt'; + String get setupNotificationGranted => + 'Benachrichtigungs-Berechtigung erteilt'; @override String get setupNotificationEnable => 'Benachrichtigungen aktivieren'; @override - String get setupNotificationDescription => 'Benachrichtigt werden, wenn Downloads abgeschlossen sind.'; + String get setupNotificationDescription => + 'Benachrichtigt werden, wenn Downloads abgeschlossen sind.'; @override String get setupFolderSelected => 'Download Ordner ausgewählt!'; @@ -703,7 +751,8 @@ class AppLocalizationsDe extends AppLocalizations { String get setupFolderChoose => 'Speicherort auwählen'; @override - String get setupFolderDescription => 'Wählen Sie einen Ordner, in dem Ihre heruntergeladene Musik gespeichert wird.'; + String get setupFolderDescription => + 'Wählen Sie einen Ordner, in dem Ihre heruntergeladene Musik gespeichert wird.'; @override String get setupChangeFolder => 'Ordner ändern'; @@ -715,7 +764,8 @@ class AppLocalizationsDe extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify-API (optional)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Use Spotify API'; @@ -733,7 +783,8 @@ class AppLocalizationsDe extends AppLocalizations { String get setupEnterClientSecret => 'Enter Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Get your free API credentials from the Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Get your free API credentials from the Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Enable Notifications'; @@ -742,10 +793,12 @@ class AppLocalizationsDe extends AppLocalizations { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => 'Skip for now'; @@ -763,10 +816,12 @@ class AppLocalizationsDe extends AppLocalizations { String get setupSkipAndStart => 'Skip & Start'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'Get credentials from developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Get credentials from developer.spotify.com'; @override String get dialogCancel => 'Cancel'; @@ -817,7 +872,8 @@ class AppLocalizationsDe extends AppLocalizations { String get dialogDiscardChanges => 'Discard Changes?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'Download Failed'; @@ -835,7 +891,8 @@ class AppLocalizationsDe extends AppLocalizations { String get dialogClearAll => 'Clear All'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'Remove from device?'; @@ -844,7 +901,8 @@ class AppLocalizationsDe extends AppLocalizations { String get dialogRemoveExtension => 'Remove Extension'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => 'Uninstall Extension?'; @@ -858,7 +916,8 @@ class AppLocalizationsDe extends AppLocalizations { String get dialogClearHistoryTitle => 'Clear History'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => 'Delete Selected'; @@ -902,6 +961,11 @@ class AppLocalizationsDe extends AppLocalizations { return '\"$trackName\" already downloaded'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'History cleared'; @@ -953,7 +1017,8 @@ class AppLocalizationsDe extends AppLocalizations { String get snackbarProviderPrioritySaved => 'Provider priority saved'; @override - String get snackbarMetadataProviderSaved => 'Metadata provider priority saved'; + String get snackbarMetadataProviderSaved => + 'Metadata provider priority saved'; @override String snackbarExtensionInstalled(String extensionName) { @@ -975,7 +1040,8 @@ class AppLocalizationsDe extends AppLocalizations { String get errorRateLimited => 'Rate Limited'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -1142,19 +1208,23 @@ class AppLocalizationsDe extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Artist/Album'; @override - String get folderOrganizationDescription => 'Organize downloaded files into folders'; + String get folderOrganizationDescription => + 'Organize downloaded files into folders'; @override String get folderOrganizationNoneSubtitle => 'All files in download folder'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => 'Update Available'; @@ -1213,10 +1283,12 @@ class AppLocalizationsDe extends AppLocalizations { String get providerPriorityTitle => 'Provider Priority'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => 'Built-in'; @@ -1228,16 +1300,19 @@ class AppLocalizationsDe extends AppLocalizations { String get metadataProviderPriority => 'Metadata Provider Priority'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'Metadata Priority'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'No rate limits'; @@ -1309,16 +1384,19 @@ class AppLocalizationsDe extends AppLocalizations { String get logIssueSummary => 'Issue Summary'; @override - String get logIspBlockingDescription => 'Your ISP may be blocking access to download services'; + String get logIspBlockingDescription => + 'Your ISP may be blocking access to download services'; @override - String get logIspBlockingSuggestion => 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; @override String get logRateLimitedDescription => 'Too many requests to the service'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => 'Connection issues detected'; @@ -1327,10 +1405,12 @@ class AppLocalizationsDe extends AppLocalizations { String get logNetworkErrorSuggestion => 'Check your internet connection'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -1356,7 +1436,8 @@ class AppLocalizationsDe extends AppLocalizations { String get credentialsTitle => 'Spotify Credentials'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'Client ID'; @@ -1410,7 +1491,8 @@ class AppLocalizationsDe extends AppLocalizations { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -1422,7 +1504,8 @@ class AppLocalizationsDe extends AppLocalizations { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -1582,7 +1665,8 @@ class AppLocalizationsDe extends AppLocalizations { String get trackDeleteConfirmTitle => 'Remove from device?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1818,15 @@ class AppLocalizationsDe extends AppLocalizations { String get extensionsNoExtensions => 'No extensions installed'; @override - String get extensionsNoExtensionsSubtitle => 'Install .spotiflac-ext files to add new providers'; + String get extensionsNoExtensionsSubtitle => + 'Install .spotiflac-ext files to add new providers'; @override String get extensionsInstallButton => 'Install Extension'; @override - String get extensionsInfoTip => 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; + String get extensionsInfoTip => + 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; @override String get extensionsInstalledSuccess => 'Extension installed successfully'; @@ -1752,16 +1838,19 @@ class AppLocalizationsDe extends AppLocalizations { String get extensionsDownloadPrioritySubtitle => 'Set download service order'; @override - String get extensionsNoDownloadProvider => 'No extensions with download provider'; + String get extensionsNoDownloadProvider => + 'No extensions with download provider'; @override String get extensionsMetadataPriority => 'Metadata Priority'; @override - String get extensionsMetadataPrioritySubtitle => 'Set search & metadata source order'; + String get extensionsMetadataPrioritySubtitle => + 'Set search & metadata source order'; @override - String get extensionsNoMetadataProvider => 'No extensions with metadata provider'; + String get extensionsNoMetadataProvider => + 'No extensions with metadata provider'; @override String get extensionsSearchProvider => 'Search Provider'; @@ -1770,7 +1859,8 @@ class AppLocalizationsDe extends AppLocalizations { String get extensionsNoCustomSearch => 'No extensions with custom search'; @override - String get extensionsSearchProviderDescription => 'Choose which service to use for searching tracks'; + String get extensionsSearchProviderDescription => + 'Choose which service to use for searching tracks'; @override String get extensionsCustomSearch => 'Custom search'; @@ -1812,7 +1902,8 @@ class AppLocalizationsDe extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,10 +1915,12 @@ class AppLocalizationsDe extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -1917,13 +2010,15 @@ class AppLocalizationsDe extends AppLocalizations { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2030,8 @@ class AppLocalizationsDe extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2043,8 @@ class AppLocalizationsDe extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'No downloads in queue'; @@ -1983,7 +2080,8 @@ class AppLocalizationsDe extends AppLocalizations { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -2001,7 +2099,8 @@ class AppLocalizationsDe extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -2111,7 +2210,8 @@ class AppLocalizationsDe extends AppLocalizations { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -2158,13 +2258,16 @@ class AppLocalizationsDe extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2288,8 @@ class AppLocalizationsDe extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2301,8 @@ class AppLocalizationsDe extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2320,8 @@ class AppLocalizationsDe extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2333,15 @@ class AppLocalizationsDe extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2379,8 @@ class AppLocalizationsDe extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index 928ee6c1..8f150ce6 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -12,7 +12,8 @@ class AppLocalizationsEn extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get appDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get navHome => 'Home'; @@ -101,13 +102,15 @@ class AppLocalizationsEn extends AppLocalizations { String get historyNoAlbums => 'No album downloads'; @override - String get historyNoAlbumsSubtitle => 'Download multiple tracks from an album to see them here'; + String get historyNoAlbumsSubtitle => + 'Download multiple tracks from an album to see them here'; @override String get historyNoSingles => 'No single downloads'; @override - String get historyNoSinglesSubtitle => 'Single track downloads will appear here'; + String get historyNoSinglesSubtitle => + 'Single track downloads will appear here'; @override String get historySearchHint => 'Search history...'; @@ -155,7 +158,8 @@ class AppLocalizationsEn extends AppLocalizations { String get downloadAskQuality => 'Ask Quality Before Download'; @override - String get downloadAskQualitySubtitle => 'Show quality picker for each download'; + String get downloadAskQualitySubtitle => + 'Show quality picker for each download'; @override String get downloadFilenameFormat => 'Filename Format'; @@ -167,7 +171,8 @@ class AppLocalizationsEn extends AppLocalizations { String get downloadSeparateSingles => 'Separate Singles'; @override - String get downloadSeparateSinglesSubtitle => 'Put single tracks in a separate folder'; + String get downloadSeparateSinglesSubtitle => + 'Put single tracks in a separate folder'; @override String get qualityBest => 'Best Available'; @@ -224,7 +229,8 @@ class AppLocalizationsEn extends AppLocalizations { String get optionsPrimaryProvider => 'Primary Provider'; @override - String get optionsPrimaryProviderSubtitle => 'Service used when searching by track name.'; + String get optionsPrimaryProviderSubtitle => + 'Service used when searching by track name.'; @override String optionsUsingExtension(String extensionName) { @@ -232,13 +238,15 @@ class AppLocalizationsEn extends AppLocalizations { } @override - String get optionsSwitchBack => 'Tap Deezer or Spotify to switch back from extension'; + String get optionsSwitchBack => + 'Tap Deezer or Spotify to switch back from extension'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Try other services if download fails'; + String get optionsAutoFallbackSubtitle => + 'Try other services if download fails'; @override String get optionsUseExtensionProviders => 'Use Extension Providers'; @@ -253,13 +261,15 @@ class AppLocalizationsEn extends AppLocalizations { String get optionsEmbedLyrics => 'Embed Lyrics'; @override - String get optionsEmbedLyricsSubtitle => 'Embed synced lyrics into FLAC files'; + String get optionsEmbedLyricsSubtitle => + 'Embed synced lyrics into FLAC files'; @override String get optionsMaxQualityCover => 'Max Quality Cover'; @override - String get optionsMaxQualityCoverSubtitle => 'Download highest resolution cover art'; + String get optionsMaxQualityCoverSubtitle => + 'Download highest resolution cover art'; @override String get optionsConcurrentDownloads => 'Concurrent Downloads'; @@ -273,7 +283,8 @@ class AppLocalizationsEn extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Parallel downloads may trigger rate limiting'; + String get optionsConcurrentWarning => + 'Parallel downloads may trigger rate limiting'; @override String get optionsExtensionStore => 'Extension Store'; @@ -285,7 +296,8 @@ class AppLocalizationsEn extends AppLocalizations { String get optionsCheckUpdates => 'Check for Updates'; @override - String get optionsCheckUpdatesSubtitle => 'Notify when new version is available'; + String get optionsCheckUpdatesSubtitle => + 'Notify when new version is available'; @override String get optionsUpdateChannel => 'Update Channel'; @@ -297,13 +309,15 @@ class AppLocalizationsEn extends AppLocalizations { String get optionsUpdateChannelPreview => 'Get preview releases'; @override - String get optionsUpdateChannelWarning => 'Preview may contain bugs or incomplete features'; + String get optionsUpdateChannelWarning => + 'Preview may contain bugs or incomplete features'; @override String get optionsClearHistory => 'Clear Download History'; @override - String get optionsClearHistorySubtitle => 'Remove all downloaded tracks from history'; + String get optionsClearHistorySubtitle => + 'Remove all downloaded tracks from history'; @override String get optionsDetailedLogging => 'Detailed Logging'; @@ -326,7 +340,8 @@ class AppLocalizationsEn extends AppLocalizations { String get optionsSpotifyCredentialsRequired => 'Required - tap to configure'; @override - String get optionsSpotifyWarning => 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; @override String get extensionsTitle => 'Extensions'; @@ -390,7 +405,8 @@ class AppLocalizationsEn extends AppLocalizations { String get aboutOriginalCreator => 'Creator of the original SpotiFLAC'; @override - String get aboutLogoArtist => 'The talented artist who created our beautiful app logo!'; + String get aboutLogoArtist => + 'The talented artist who created our beautiful app logo!'; @override String get aboutTranslators => 'Translators'; @@ -450,28 +466,34 @@ class AppLocalizationsEn extends AppLocalizations { String get aboutVersion => 'Version'; @override - String get aboutBinimumDesc => 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; + String get aboutBinimumDesc => + 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; @override - String get aboutSachinsenalDesc => 'The original HiFi project creator. The foundation of Tidal integration!'; + String get aboutSachinsenalDesc => + 'The original HiFi project creator. The foundation of Tidal integration!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazing API for Amazon Music downloads. Thank you for making it free!'; + String get aboutDoubleDoubleDesc => + 'Amazing API for Amazon Music downloads. Thank you for making it free!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; + String get aboutDabMusicDesc => + 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; @override - String get aboutAppDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get aboutAppDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get albumTitle => 'Album'; @@ -576,7 +598,8 @@ class AppLocalizationsEn extends AppLocalizations { String get setupStoragePermission => 'Storage Permission'; @override - String get setupStoragePermissionSubtitle => 'Required to save downloaded files'; + String get setupStoragePermissionSubtitle => + 'Required to save downloaded files'; @override String get setupStoragePermissionGranted => 'Permission granted'; @@ -603,16 +626,19 @@ class AppLocalizationsEn extends AppLocalizations { String get setupStorageAccessRequired => 'Storage Access Required'; @override - String get setupStorageAccessMessage => 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; + String get setupStorageAccessMessage => + 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; @override String get setupOpenSettings => 'Open Settings'; @override - String get setupPermissionDeniedMessage => 'Permission denied. Please grant all permissions to continue.'; + String get setupPermissionDeniedMessage => + 'Permission denied. Please grant all permissions to continue.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +657,8 @@ class AppLocalizationsEn extends AppLocalizations { String get setupUseDefaultFolder => 'Use Default Folder?'; @override - String get setupNoFolderSelected => 'No folder selected. Would you like to use the default Music folder?'; + String get setupNoFolderSelected => + 'No folder selected. Would you like to use the default Music folder?'; @override String get setupUseDefault => 'Use Default'; @@ -640,13 +667,15 @@ class AppLocalizationsEn extends AppLocalizations { String get setupDownloadLocationTitle => 'Download Location'; @override - String get setupDownloadLocationIosMessage => 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; + String get setupDownloadLocationIosMessage => + 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; @override String get setupAppDocumentsFolder => 'App Documents Folder'; @override - String get setupAppDocumentsFolderSubtitle => 'Recommended - accessible via Files app'; + String get setupAppDocumentsFolderSubtitle => + 'Recommended - accessible via Files app'; @override String get setupChooseFromFiles => 'Choose from Files'; @@ -655,10 +684,12 @@ class AppLocalizationsEn extends AppLocalizations { String get setupChooseFromFilesSubtitle => 'Select iCloud or other location'; @override - String get setupIosEmptyFolderWarning => 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; + String get setupIosEmptyFolderWarning => + 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Download Spotify tracks in FLAC'; @@ -685,7 +716,8 @@ class AppLocalizationsEn extends AppLocalizations { String get setupStorageRequired => 'Storage Permission Required'; @override - String get setupStorageDescription => 'SpotiFLAC needs storage permission to save your downloaded music files.'; + String get setupStorageDescription => + 'SpotiFLAC needs storage permission to save your downloaded music files.'; @override String get setupNotificationGranted => 'Notification Permission Granted!'; @@ -694,7 +726,8 @@ class AppLocalizationsEn extends AppLocalizations { String get setupNotificationEnable => 'Enable Notifications'; @override - String get setupNotificationDescription => 'Get notified when downloads complete or require attention.'; + String get setupNotificationDescription => + 'Get notified when downloads complete or require attention.'; @override String get setupFolderSelected => 'Download Folder Selected!'; @@ -703,7 +736,8 @@ class AppLocalizationsEn extends AppLocalizations { String get setupFolderChoose => 'Choose Download Folder'; @override - String get setupFolderDescription => 'Select a folder where your downloaded music will be saved.'; + String get setupFolderDescription => + 'Select a folder where your downloaded music will be saved.'; @override String get setupChangeFolder => 'Change Folder'; @@ -715,7 +749,8 @@ class AppLocalizationsEn extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (Optional)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Use Spotify API'; @@ -733,7 +768,8 @@ class AppLocalizationsEn extends AppLocalizations { String get setupEnterClientSecret => 'Enter Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Get your free API credentials from the Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Get your free API credentials from the Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Enable Notifications'; @@ -742,10 +778,12 @@ class AppLocalizationsEn extends AppLocalizations { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => 'Skip for now'; @@ -763,10 +801,12 @@ class AppLocalizationsEn extends AppLocalizations { String get setupSkipAndStart => 'Skip & Start'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'Get credentials from developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Get credentials from developer.spotify.com'; @override String get dialogCancel => 'Cancel'; @@ -817,7 +857,8 @@ class AppLocalizationsEn extends AppLocalizations { String get dialogDiscardChanges => 'Discard Changes?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'Download Failed'; @@ -835,7 +876,8 @@ class AppLocalizationsEn extends AppLocalizations { String get dialogClearAll => 'Clear All'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'Remove from device?'; @@ -844,7 +886,8 @@ class AppLocalizationsEn extends AppLocalizations { String get dialogRemoveExtension => 'Remove Extension'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => 'Uninstall Extension?'; @@ -858,7 +901,8 @@ class AppLocalizationsEn extends AppLocalizations { String get dialogClearHistoryTitle => 'Clear History'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => 'Delete Selected'; @@ -902,6 +946,11 @@ class AppLocalizationsEn extends AppLocalizations { return '\"$trackName\" already downloaded'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'History cleared'; @@ -953,7 +1002,8 @@ class AppLocalizationsEn extends AppLocalizations { String get snackbarProviderPrioritySaved => 'Provider priority saved'; @override - String get snackbarMetadataProviderSaved => 'Metadata provider priority saved'; + String get snackbarMetadataProviderSaved => + 'Metadata provider priority saved'; @override String snackbarExtensionInstalled(String extensionName) { @@ -975,7 +1025,8 @@ class AppLocalizationsEn extends AppLocalizations { String get errorRateLimited => 'Rate Limited'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -1142,19 +1193,23 @@ class AppLocalizationsEn extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Artist/Album'; @override - String get folderOrganizationDescription => 'Organize downloaded files into folders'; + String get folderOrganizationDescription => + 'Organize downloaded files into folders'; @override String get folderOrganizationNoneSubtitle => 'All files in download folder'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => 'Update Available'; @@ -1213,10 +1268,12 @@ class AppLocalizationsEn extends AppLocalizations { String get providerPriorityTitle => 'Provider Priority'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => 'Built-in'; @@ -1228,16 +1285,19 @@ class AppLocalizationsEn extends AppLocalizations { String get metadataProviderPriority => 'Metadata Provider Priority'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'Metadata Priority'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'No rate limits'; @@ -1309,16 +1369,19 @@ class AppLocalizationsEn extends AppLocalizations { String get logIssueSummary => 'Issue Summary'; @override - String get logIspBlockingDescription => 'Your ISP may be blocking access to download services'; + String get logIspBlockingDescription => + 'Your ISP may be blocking access to download services'; @override - String get logIspBlockingSuggestion => 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; @override String get logRateLimitedDescription => 'Too many requests to the service'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => 'Connection issues detected'; @@ -1327,10 +1390,12 @@ class AppLocalizationsEn extends AppLocalizations { String get logNetworkErrorSuggestion => 'Check your internet connection'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -1356,7 +1421,8 @@ class AppLocalizationsEn extends AppLocalizations { String get credentialsTitle => 'Spotify Credentials'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'Client ID'; @@ -1410,7 +1476,8 @@ class AppLocalizationsEn extends AppLocalizations { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -1422,7 +1489,8 @@ class AppLocalizationsEn extends AppLocalizations { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -1582,7 +1650,8 @@ class AppLocalizationsEn extends AppLocalizations { String get trackDeleteConfirmTitle => 'Remove from device?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1803,15 @@ class AppLocalizationsEn extends AppLocalizations { String get extensionsNoExtensions => 'No extensions installed'; @override - String get extensionsNoExtensionsSubtitle => 'Install .spotiflac-ext files to add new providers'; + String get extensionsNoExtensionsSubtitle => + 'Install .spotiflac-ext files to add new providers'; @override String get extensionsInstallButton => 'Install Extension'; @override - String get extensionsInfoTip => 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; + String get extensionsInfoTip => + 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; @override String get extensionsInstalledSuccess => 'Extension installed successfully'; @@ -1752,16 +1823,19 @@ class AppLocalizationsEn extends AppLocalizations { String get extensionsDownloadPrioritySubtitle => 'Set download service order'; @override - String get extensionsNoDownloadProvider => 'No extensions with download provider'; + String get extensionsNoDownloadProvider => + 'No extensions with download provider'; @override String get extensionsMetadataPriority => 'Metadata Priority'; @override - String get extensionsMetadataPrioritySubtitle => 'Set search & metadata source order'; + String get extensionsMetadataPrioritySubtitle => + 'Set search & metadata source order'; @override - String get extensionsNoMetadataProvider => 'No extensions with metadata provider'; + String get extensionsNoMetadataProvider => + 'No extensions with metadata provider'; @override String get extensionsSearchProvider => 'Search Provider'; @@ -1770,7 +1844,8 @@ class AppLocalizationsEn extends AppLocalizations { String get extensionsNoCustomSearch => 'No extensions with custom search'; @override - String get extensionsSearchProviderDescription => 'Choose which service to use for searching tracks'; + String get extensionsSearchProviderDescription => + 'Choose which service to use for searching tracks'; @override String get extensionsCustomSearch => 'Custom search'; @@ -1812,7 +1887,8 @@ class AppLocalizationsEn extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,10 +1900,12 @@ class AppLocalizationsEn extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -1917,13 +1995,15 @@ class AppLocalizationsEn extends AppLocalizations { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2015,8 @@ class AppLocalizationsEn extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2028,8 @@ class AppLocalizationsEn extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'No downloads in queue'; @@ -1983,7 +2065,8 @@ class AppLocalizationsEn extends AppLocalizations { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -2001,7 +2084,8 @@ class AppLocalizationsEn extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -2111,7 +2195,8 @@ class AppLocalizationsEn extends AppLocalizations { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -2158,13 +2243,16 @@ class AppLocalizationsEn extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2273,8 @@ class AppLocalizationsEn extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2286,8 @@ class AppLocalizationsEn extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2305,8 @@ class AppLocalizationsEn extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2318,15 @@ class AppLocalizationsEn extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2364,8 @@ class AppLocalizationsEn extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; diff --git a/lib/l10n/app_localizations_es.dart b/lib/l10n/app_localizations_es.dart index 5a049042..73c92940 100644 --- a/lib/l10n/app_localizations_es.dart +++ b/lib/l10n/app_localizations_es.dart @@ -12,7 +12,8 @@ class AppLocalizationsEs extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get appDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get navHome => 'Home'; @@ -101,13 +102,15 @@ class AppLocalizationsEs extends AppLocalizations { String get historyNoAlbums => 'No album downloads'; @override - String get historyNoAlbumsSubtitle => 'Download multiple tracks from an album to see them here'; + String get historyNoAlbumsSubtitle => + 'Download multiple tracks from an album to see them here'; @override String get historyNoSingles => 'No single downloads'; @override - String get historyNoSinglesSubtitle => 'Single track downloads will appear here'; + String get historyNoSinglesSubtitle => + 'Single track downloads will appear here'; @override String get historySearchHint => 'Search history...'; @@ -155,7 +158,8 @@ class AppLocalizationsEs extends AppLocalizations { String get downloadAskQuality => 'Ask Quality Before Download'; @override - String get downloadAskQualitySubtitle => 'Show quality picker for each download'; + String get downloadAskQualitySubtitle => + 'Show quality picker for each download'; @override String get downloadFilenameFormat => 'Filename Format'; @@ -167,7 +171,8 @@ class AppLocalizationsEs extends AppLocalizations { String get downloadSeparateSingles => 'Separate Singles'; @override - String get downloadSeparateSinglesSubtitle => 'Put single tracks in a separate folder'; + String get downloadSeparateSinglesSubtitle => + 'Put single tracks in a separate folder'; @override String get qualityBest => 'Best Available'; @@ -224,7 +229,8 @@ class AppLocalizationsEs extends AppLocalizations { String get optionsPrimaryProvider => 'Primary Provider'; @override - String get optionsPrimaryProviderSubtitle => 'Service used when searching by track name.'; + String get optionsPrimaryProviderSubtitle => + 'Service used when searching by track name.'; @override String optionsUsingExtension(String extensionName) { @@ -232,13 +238,15 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get optionsSwitchBack => 'Tap Deezer or Spotify to switch back from extension'; + String get optionsSwitchBack => + 'Tap Deezer or Spotify to switch back from extension'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Try other services if download fails'; + String get optionsAutoFallbackSubtitle => + 'Try other services if download fails'; @override String get optionsUseExtensionProviders => 'Use Extension Providers'; @@ -253,13 +261,15 @@ class AppLocalizationsEs extends AppLocalizations { String get optionsEmbedLyrics => 'Embed Lyrics'; @override - String get optionsEmbedLyricsSubtitle => 'Embed synced lyrics into FLAC files'; + String get optionsEmbedLyricsSubtitle => + 'Embed synced lyrics into FLAC files'; @override String get optionsMaxQualityCover => 'Max Quality Cover'; @override - String get optionsMaxQualityCoverSubtitle => 'Download highest resolution cover art'; + String get optionsMaxQualityCoverSubtitle => + 'Download highest resolution cover art'; @override String get optionsConcurrentDownloads => 'Concurrent Downloads'; @@ -273,7 +283,8 @@ class AppLocalizationsEs extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Parallel downloads may trigger rate limiting'; + String get optionsConcurrentWarning => + 'Parallel downloads may trigger rate limiting'; @override String get optionsExtensionStore => 'Extension Store'; @@ -285,7 +296,8 @@ class AppLocalizationsEs extends AppLocalizations { String get optionsCheckUpdates => 'Check for Updates'; @override - String get optionsCheckUpdatesSubtitle => 'Notify when new version is available'; + String get optionsCheckUpdatesSubtitle => + 'Notify when new version is available'; @override String get optionsUpdateChannel => 'Update Channel'; @@ -297,13 +309,15 @@ class AppLocalizationsEs extends AppLocalizations { String get optionsUpdateChannelPreview => 'Get preview releases'; @override - String get optionsUpdateChannelWarning => 'Preview may contain bugs or incomplete features'; + String get optionsUpdateChannelWarning => + 'Preview may contain bugs or incomplete features'; @override String get optionsClearHistory => 'Clear Download History'; @override - String get optionsClearHistorySubtitle => 'Remove all downloaded tracks from history'; + String get optionsClearHistorySubtitle => + 'Remove all downloaded tracks from history'; @override String get optionsDetailedLogging => 'Detailed Logging'; @@ -326,7 +340,8 @@ class AppLocalizationsEs extends AppLocalizations { String get optionsSpotifyCredentialsRequired => 'Required - tap to configure'; @override - String get optionsSpotifyWarning => 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; @override String get extensionsTitle => 'Extensions'; @@ -390,7 +405,8 @@ class AppLocalizationsEs extends AppLocalizations { String get aboutOriginalCreator => 'Creator of the original SpotiFLAC'; @override - String get aboutLogoArtist => 'The talented artist who created our beautiful app logo!'; + String get aboutLogoArtist => + 'The talented artist who created our beautiful app logo!'; @override String get aboutTranslators => 'Translators'; @@ -450,28 +466,34 @@ class AppLocalizationsEs extends AppLocalizations { String get aboutVersion => 'Version'; @override - String get aboutBinimumDesc => 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; + String get aboutBinimumDesc => + 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; @override - String get aboutSachinsenalDesc => 'The original HiFi project creator. The foundation of Tidal integration!'; + String get aboutSachinsenalDesc => + 'The original HiFi project creator. The foundation of Tidal integration!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazing API for Amazon Music downloads. Thank you for making it free!'; + String get aboutDoubleDoubleDesc => + 'Amazing API for Amazon Music downloads. Thank you for making it free!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; + String get aboutDabMusicDesc => + 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; @override - String get aboutAppDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get aboutAppDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get albumTitle => 'Album'; @@ -576,7 +598,8 @@ class AppLocalizationsEs extends AppLocalizations { String get setupStoragePermission => 'Storage Permission'; @override - String get setupStoragePermissionSubtitle => 'Required to save downloaded files'; + String get setupStoragePermissionSubtitle => + 'Required to save downloaded files'; @override String get setupStoragePermissionGranted => 'Permission granted'; @@ -603,16 +626,19 @@ class AppLocalizationsEs extends AppLocalizations { String get setupStorageAccessRequired => 'Storage Access Required'; @override - String get setupStorageAccessMessage => 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; + String get setupStorageAccessMessage => + 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; @override String get setupOpenSettings => 'Open Settings'; @override - String get setupPermissionDeniedMessage => 'Permission denied. Please grant all permissions to continue.'; + String get setupPermissionDeniedMessage => + 'Permission denied. Please grant all permissions to continue.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +657,8 @@ class AppLocalizationsEs extends AppLocalizations { String get setupUseDefaultFolder => 'Use Default Folder?'; @override - String get setupNoFolderSelected => 'No folder selected. Would you like to use the default Music folder?'; + String get setupNoFolderSelected => + 'No folder selected. Would you like to use the default Music folder?'; @override String get setupUseDefault => 'Use Default'; @@ -640,13 +667,15 @@ class AppLocalizationsEs extends AppLocalizations { String get setupDownloadLocationTitle => 'Download Location'; @override - String get setupDownloadLocationIosMessage => 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; + String get setupDownloadLocationIosMessage => + 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; @override String get setupAppDocumentsFolder => 'App Documents Folder'; @override - String get setupAppDocumentsFolderSubtitle => 'Recommended - accessible via Files app'; + String get setupAppDocumentsFolderSubtitle => + 'Recommended - accessible via Files app'; @override String get setupChooseFromFiles => 'Choose from Files'; @@ -655,10 +684,12 @@ class AppLocalizationsEs extends AppLocalizations { String get setupChooseFromFilesSubtitle => 'Select iCloud or other location'; @override - String get setupIosEmptyFolderWarning => 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; + String get setupIosEmptyFolderWarning => + 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Download Spotify tracks in FLAC'; @@ -685,7 +716,8 @@ class AppLocalizationsEs extends AppLocalizations { String get setupStorageRequired => 'Storage Permission Required'; @override - String get setupStorageDescription => 'SpotiFLAC needs storage permission to save your downloaded music files.'; + String get setupStorageDescription => + 'SpotiFLAC needs storage permission to save your downloaded music files.'; @override String get setupNotificationGranted => 'Notification Permission Granted!'; @@ -694,7 +726,8 @@ class AppLocalizationsEs extends AppLocalizations { String get setupNotificationEnable => 'Enable Notifications'; @override - String get setupNotificationDescription => 'Get notified when downloads complete or require attention.'; + String get setupNotificationDescription => + 'Get notified when downloads complete or require attention.'; @override String get setupFolderSelected => 'Download Folder Selected!'; @@ -703,7 +736,8 @@ class AppLocalizationsEs extends AppLocalizations { String get setupFolderChoose => 'Choose Download Folder'; @override - String get setupFolderDescription => 'Select a folder where your downloaded music will be saved.'; + String get setupFolderDescription => + 'Select a folder where your downloaded music will be saved.'; @override String get setupChangeFolder => 'Change Folder'; @@ -715,7 +749,8 @@ class AppLocalizationsEs extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (Optional)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Use Spotify API'; @@ -733,7 +768,8 @@ class AppLocalizationsEs extends AppLocalizations { String get setupEnterClientSecret => 'Enter Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Get your free API credentials from the Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Get your free API credentials from the Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Enable Notifications'; @@ -742,10 +778,12 @@ class AppLocalizationsEs extends AppLocalizations { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => 'Skip for now'; @@ -763,10 +801,12 @@ class AppLocalizationsEs extends AppLocalizations { String get setupSkipAndStart => 'Skip & Start'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'Get credentials from developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Get credentials from developer.spotify.com'; @override String get dialogCancel => 'Cancel'; @@ -817,7 +857,8 @@ class AppLocalizationsEs extends AppLocalizations { String get dialogDiscardChanges => 'Discard Changes?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'Download Failed'; @@ -835,7 +876,8 @@ class AppLocalizationsEs extends AppLocalizations { String get dialogClearAll => 'Clear All'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'Remove from device?'; @@ -844,7 +886,8 @@ class AppLocalizationsEs extends AppLocalizations { String get dialogRemoveExtension => 'Remove Extension'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => 'Uninstall Extension?'; @@ -858,7 +901,8 @@ class AppLocalizationsEs extends AppLocalizations { String get dialogClearHistoryTitle => 'Clear History'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => 'Delete Selected'; @@ -902,6 +946,11 @@ class AppLocalizationsEs extends AppLocalizations { return '\"$trackName\" already downloaded'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'History cleared'; @@ -953,7 +1002,8 @@ class AppLocalizationsEs extends AppLocalizations { String get snackbarProviderPrioritySaved => 'Provider priority saved'; @override - String get snackbarMetadataProviderSaved => 'Metadata provider priority saved'; + String get snackbarMetadataProviderSaved => + 'Metadata provider priority saved'; @override String snackbarExtensionInstalled(String extensionName) { @@ -975,7 +1025,8 @@ class AppLocalizationsEs extends AppLocalizations { String get errorRateLimited => 'Rate Limited'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -1142,19 +1193,23 @@ class AppLocalizationsEs extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Artist/Album'; @override - String get folderOrganizationDescription => 'Organize downloaded files into folders'; + String get folderOrganizationDescription => + 'Organize downloaded files into folders'; @override String get folderOrganizationNoneSubtitle => 'All files in download folder'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => 'Update Available'; @@ -1213,10 +1268,12 @@ class AppLocalizationsEs extends AppLocalizations { String get providerPriorityTitle => 'Provider Priority'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => 'Built-in'; @@ -1228,16 +1285,19 @@ class AppLocalizationsEs extends AppLocalizations { String get metadataProviderPriority => 'Metadata Provider Priority'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'Metadata Priority'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'No rate limits'; @@ -1309,16 +1369,19 @@ class AppLocalizationsEs extends AppLocalizations { String get logIssueSummary => 'Issue Summary'; @override - String get logIspBlockingDescription => 'Your ISP may be blocking access to download services'; + String get logIspBlockingDescription => + 'Your ISP may be blocking access to download services'; @override - String get logIspBlockingSuggestion => 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; @override String get logRateLimitedDescription => 'Too many requests to the service'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => 'Connection issues detected'; @@ -1327,10 +1390,12 @@ class AppLocalizationsEs extends AppLocalizations { String get logNetworkErrorSuggestion => 'Check your internet connection'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -1356,7 +1421,8 @@ class AppLocalizationsEs extends AppLocalizations { String get credentialsTitle => 'Spotify Credentials'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'Client ID'; @@ -1410,7 +1476,8 @@ class AppLocalizationsEs extends AppLocalizations { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -1422,7 +1489,8 @@ class AppLocalizationsEs extends AppLocalizations { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -1582,7 +1650,8 @@ class AppLocalizationsEs extends AppLocalizations { String get trackDeleteConfirmTitle => 'Remove from device?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1803,15 @@ class AppLocalizationsEs extends AppLocalizations { String get extensionsNoExtensions => 'No extensions installed'; @override - String get extensionsNoExtensionsSubtitle => 'Install .spotiflac-ext files to add new providers'; + String get extensionsNoExtensionsSubtitle => + 'Install .spotiflac-ext files to add new providers'; @override String get extensionsInstallButton => 'Install Extension'; @override - String get extensionsInfoTip => 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; + String get extensionsInfoTip => + 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; @override String get extensionsInstalledSuccess => 'Extension installed successfully'; @@ -1752,16 +1823,19 @@ class AppLocalizationsEs extends AppLocalizations { String get extensionsDownloadPrioritySubtitle => 'Set download service order'; @override - String get extensionsNoDownloadProvider => 'No extensions with download provider'; + String get extensionsNoDownloadProvider => + 'No extensions with download provider'; @override String get extensionsMetadataPriority => 'Metadata Priority'; @override - String get extensionsMetadataPrioritySubtitle => 'Set search & metadata source order'; + String get extensionsMetadataPrioritySubtitle => + 'Set search & metadata source order'; @override - String get extensionsNoMetadataProvider => 'No extensions with metadata provider'; + String get extensionsNoMetadataProvider => + 'No extensions with metadata provider'; @override String get extensionsSearchProvider => 'Search Provider'; @@ -1770,7 +1844,8 @@ class AppLocalizationsEs extends AppLocalizations { String get extensionsNoCustomSearch => 'No extensions with custom search'; @override - String get extensionsSearchProviderDescription => 'Choose which service to use for searching tracks'; + String get extensionsSearchProviderDescription => + 'Choose which service to use for searching tracks'; @override String get extensionsCustomSearch => 'Custom search'; @@ -1812,7 +1887,8 @@ class AppLocalizationsEs extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,10 +1900,12 @@ class AppLocalizationsEs extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -1917,13 +1995,15 @@ class AppLocalizationsEs extends AppLocalizations { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2015,8 @@ class AppLocalizationsEs extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2028,8 @@ class AppLocalizationsEs extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'No downloads in queue'; @@ -1983,7 +2065,8 @@ class AppLocalizationsEs extends AppLocalizations { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -2001,7 +2084,8 @@ class AppLocalizationsEs extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -2111,7 +2195,8 @@ class AppLocalizationsEs extends AppLocalizations { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -2158,13 +2243,16 @@ class AppLocalizationsEs extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2273,8 @@ class AppLocalizationsEs extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2286,8 @@ class AppLocalizationsEs extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2305,8 @@ class AppLocalizationsEs extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2318,15 @@ class AppLocalizationsEs extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2364,8 @@ class AppLocalizationsEs extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; @@ -2366,13 +2460,14 @@ class AppLocalizationsEs extends AppLocalizations { /// The translations for Spanish Castilian, as used in Spain (`es_ES`). class AppLocalizationsEsEs extends AppLocalizationsEs { - AppLocalizationsEsEs(): super('es_ES'); + AppLocalizationsEsEs() : super('es_ES'); @override String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Descargue pistas de Spotify con calidad sin pérdida de Tidal, Qobuz y Amazon Music.'; + String get appDescription => + 'Descargue pistas de Spotify con calidad sin pérdida de Tidal, Qobuz y Amazon Music.'; @override String get navHome => 'Inicio'; @@ -2401,7 +2496,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get homeSubtitle => 'Pegar enlace de Spotify o buscar por nombre'; @override - String get homeSupports => 'Soportes: Pista, Álbum, Lista de reproducción, URLs de Artistas'; + String get homeSupports => + 'Soportes: Pista, Álbum, Lista de reproducción, URLs de Artistas'; @override String get homeRecent => 'Recientes'; @@ -2452,19 +2548,22 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get historyNoDownloads => 'No hay historial de descargas'; @override - String get historyNoDownloadsSubtitle => 'Las pistas descargadas aparecerán aquí'; + String get historyNoDownloadsSubtitle => + 'Las pistas descargadas aparecerán aquí'; @override String get historyNoAlbums => 'No hay descargas de álbum'; @override - String get historyNoAlbumsSubtitle => 'Descargar múltiples pistas de un álbum para verlas aquí'; + String get historyNoAlbumsSubtitle => + 'Descargar múltiples pistas de un álbum para verlas aquí'; @override String get historyNoSingles => 'No hay descargas'; @override - String get historyNoSinglesSubtitle => 'Las descargas de una sola pista aparecerán aquí'; + String get historyNoSinglesSubtitle => + 'Las descargas de una sola pista aparecerán aquí'; @override String get settingsTitle => 'Ajustes'; @@ -2509,7 +2608,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get downloadAskQuality => 'Preguntar calidad antes de descargar'; @override - String get downloadAskQualitySubtitle => 'Mostrar selector de calidad para cada descarga'; + String get downloadAskQualitySubtitle => + 'Mostrar selector de calidad para cada descarga'; @override String get downloadFilenameFormat => 'Formato del nombre del archivo'; @@ -2521,7 +2621,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get downloadSeparateSingles => 'Separar Pistas'; @override - String get downloadSeparateSinglesSubtitle => 'Colocar pistas individuales en una carpeta separada'; + String get downloadSeparateSinglesSubtitle => + 'Colocar pistas individuales en una carpeta separada'; @override String get qualityBest => 'Mejor disponible'; @@ -2554,7 +2655,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get appearanceDynamicColor => 'Color dinámico'; @override - String get appearanceDynamicColorSubtitle => 'Usar colores de tu fondo de pantalla'; + String get appearanceDynamicColorSubtitle => + 'Usar colores de tu fondo de pantalla'; @override String get appearanceAccentColor => 'Color Secundario'; @@ -2578,7 +2680,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get optionsPrimaryProvider => 'Proveedor Principal'; @override - String get optionsPrimaryProviderSubtitle => 'Servicio usado al buscar por nombre de la pista.'; + String get optionsPrimaryProviderSubtitle => + 'Servicio usado al buscar por nombre de la pista.'; @override String optionsUsingExtension(String extensionName) { @@ -2586,34 +2689,40 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { } @override - String get optionsSwitchBack => 'Toque Deezer o Spotify para volver desde la extensión'; + String get optionsSwitchBack => + 'Toque Deezer o Spotify para volver desde la extensión'; @override String get optionsAutoFallback => 'Alternativa automática'; @override - String get optionsAutoFallbackSubtitle => 'Pruebe otros servicios si falla la descarga'; + String get optionsAutoFallbackSubtitle => + 'Pruebe otros servicios si falla la descarga'; @override String get optionsUseExtensionProviders => 'Usar proveedores de extensiones'; @override - String get optionsUseExtensionProvidersOn => 'Las extensiones serán probadas primero'; + String get optionsUseExtensionProvidersOn => + 'Las extensiones serán probadas primero'; @override - String get optionsUseExtensionProvidersOff => 'Utilizando sólo proveedores integrados'; + String get optionsUseExtensionProvidersOff => + 'Utilizando sólo proveedores integrados'; @override String get optionsEmbedLyrics => 'Incrustar Letras'; @override - String get optionsEmbedLyricsSubtitle => 'Insertar letras sincronizadas en archivos FLAC'; + String get optionsEmbedLyricsSubtitle => + 'Insertar letras sincronizadas en archivos FLAC'; @override String get optionsMaxQualityCover => 'Carátula de calidad máxima'; @override - String get optionsMaxQualityCoverSubtitle => 'Descargar carátula de resolución máxima'; + String get optionsMaxQualityCoverSubtitle => + 'Descargar carátula de resolución máxima'; @override String get optionsConcurrentDownloads => 'Descargas Simultáneas'; @@ -2627,19 +2736,22 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { } @override - String get optionsConcurrentWarning => 'Las descargas paralelas pueden activar la limitación de velocidad'; + String get optionsConcurrentWarning => + 'Las descargas paralelas pueden activar la limitación de velocidad'; @override String get optionsExtensionStore => 'Tienda de extensiones'; @override - String get optionsExtensionStoreSubtitle => 'Mostrar pestaña de tienda en la navegación'; + String get optionsExtensionStoreSubtitle => + 'Mostrar pestaña de tienda en la navegación'; @override String get optionsCheckUpdates => 'Comprobar actualizaciones'; @override - String get optionsCheckUpdatesSubtitle => 'Notificar cuando una nueva versión esté disponible'; + String get optionsCheckUpdatesSubtitle => + 'Notificar cuando una nueva versión esté disponible'; @override String get optionsUpdateChannel => 'Tipo de actualizaciones'; @@ -2651,19 +2763,22 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get optionsUpdateChannelPreview => 'Versión preliminar'; @override - String get optionsUpdateChannelWarning => 'La Versión preliminar puede contener errores o características incompletas'; + String get optionsUpdateChannelWarning => + 'La Versión preliminar puede contener errores o características incompletas'; @override String get optionsClearHistory => 'Borrar el historial de descargas'; @override - String get optionsClearHistorySubtitle => 'Eliminar todas las pistas descargadas del historial'; + String get optionsClearHistorySubtitle => + 'Eliminar todas las pistas descargadas del historial'; @override String get optionsDetailedLogging => 'Registro detallado'; @override - String get optionsDetailedLoggingOn => 'Registros detallados están siendo registrados'; + String get optionsDetailedLoggingOn => + 'Registros detallados están siendo registrados'; @override String get optionsDetailedLoggingOff => 'Habilitar para informes de errores'; @@ -2677,10 +2792,12 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { } @override - String get optionsSpotifyCredentialsRequired => 'Requerido - toque para configurar'; + String get optionsSpotifyCredentialsRequired => + 'Requerido - toque para configurar'; @override - String get optionsSpotifyWarning => 'Spotify requiere tus propias credenciales API. Obténgalas gratis de developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify requiere tus propias credenciales API. Obténgalas gratis de developer.spotify.com'; @override String get extensionsTitle => 'Extensiones'; @@ -2692,7 +2809,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get extensionsNone => 'No hay extensiones instaladas'; @override - String get extensionsNoneSubtitle => 'Instalar extensiones desde la pestaña Tienda'; + String get extensionsNoneSubtitle => + 'Instalar extensiones desde la pestaña Tienda'; @override String get extensionsEnabled => 'Habilitado'; @@ -2744,7 +2862,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get aboutOriginalCreator => 'Creador original de SpotiFLAC'; @override - String get aboutLogoArtist => '¡El talentoso artista que creó nuestro hermoso logo!'; + String get aboutLogoArtist => + '¡El talentoso artista que creó nuestro hermoso logo!'; @override String get aboutSpecialThanks => 'Agradecimientos especiales'; @@ -2762,13 +2881,15 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get aboutReportIssue => 'Reportar un problema'; @override - String get aboutReportIssueSubtitle => 'Reporta cualquier problema que encuentres'; + String get aboutReportIssueSubtitle => + 'Reporta cualquier problema que encuentres'; @override String get aboutFeatureRequest => 'Sugerir una función'; @override - String get aboutFeatureRequestSubtitle => 'Sugerir nuevas funciones para la aplicación'; + String get aboutFeatureRequestSubtitle => + 'Sugerir nuevas funciones para la aplicación'; @override String get aboutSupport => 'Soporte'; @@ -2786,25 +2907,30 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get aboutVersion => 'Versión'; @override - String get aboutBinimumDesc => 'El creador de la API QQDL & Hi-Fi. ¡Sin esta API, las descargas de Tidal no existiría!'; + String get aboutBinimumDesc => + 'El creador de la API QQDL & Hi-Fi. ¡Sin esta API, las descargas de Tidal no existiría!'; @override - String get aboutSachinsenalDesc => 'El creador original del proyecto Hi-Fi. ¡La base de la integración de Tidal!'; + String get aboutSachinsenalDesc => + 'El creador original del proyecto Hi-Fi. ¡La base de la integración de Tidal!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'API increible para descargas de Amazon Music. ¡Gracias por hacerla gratis!'; + String get aboutDoubleDoubleDesc => + 'API increible para descargas de Amazon Music. ¡Gracias por hacerla gratis!'; @override String get aboutDabMusic => 'Música DAB'; @override - String get aboutDabMusicDesc => 'La mejor API de streaming de Qobuz. ¡Las descargas de Hi-Res no serían posibles sin esto!'; + String get aboutDabMusicDesc => + 'La mejor API de streaming de Qobuz. ¡Las descargas de Hi-Res no serían posibles sin esto!'; @override - String get aboutAppDescription => 'Descarga pistas de Spotify con calidad sin pérdida de Tidal, Qobuz y Amazon Music.'; + String get aboutAppDescription => + 'Descarga pistas de Spotify con calidad sin pérdida de Tidal, Qobuz y Amazon Music.'; @override String get albumTitle => 'Álbum'; @@ -2909,7 +3035,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get setupStoragePermission => 'Permiso de almacenamiento'; @override - String get setupStoragePermissionSubtitle => 'Necesario para guardar los archivos descargados'; + String get setupStoragePermissionSubtitle => + 'Necesario para guardar los archivos descargados'; @override String get setupStoragePermissionGranted => 'Permiso aprobado'; @@ -2936,16 +3063,19 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get setupStorageAccessRequired => 'Acceso al almacenamiento requerido'; @override - String get setupStorageAccessMessage => 'SpotiFLAC necesita permiso de \"Todos los archivos de acceso\" para guardar los archivos de música en la carpeta elegida.'; + String get setupStorageAccessMessage => + 'SpotiFLAC necesita permiso de \"Todos los archivos de acceso\" para guardar los archivos de música en la carpeta elegida.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requiere permiso \"Todos los archivos de acceso\" para guardar los archivos en la carpeta de descargas elegida.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requiere permiso \"Todos los archivos de acceso\" para guardar los archivos en la carpeta de descargas elegida.'; @override String get setupOpenSettings => 'Abrir ajustes'; @override - String get setupPermissionDeniedMessage => 'Permiso denegado. Por favor, conceda todos los permisos para continuar.'; + String get setupPermissionDeniedMessage => + 'Permiso denegado. Por favor, conceda todos los permisos para continuar.'; @override String setupPermissionRequired(String permissionType) { @@ -2964,7 +3094,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get setupUseDefaultFolder => '¿Usar carpeta por defecto?'; @override - String get setupNoFolderSelected => 'No se ha seleccionado ninguna carpeta. ¿Desea utilizar la carpeta por defecto?'; + String get setupNoFolderSelected => + 'No se ha seleccionado ninguna carpeta. ¿Desea utilizar la carpeta por defecto?'; @override String get setupUseDefault => 'Usar por defecto'; @@ -2973,22 +3104,26 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get setupDownloadLocationTitle => 'Ubicación de descarga'; @override - String get setupDownloadLocationIosMessage => 'En iOS, las descargas se guardan en la carpeta de documentos de la aplicación. Puede acceder a ellas desde la aplicación Archivos.'; + String get setupDownloadLocationIosMessage => + 'En iOS, las descargas se guardan en la carpeta de documentos de la aplicación. Puede acceder a ellas desde la aplicación Archivos.'; @override String get setupAppDocumentsFolder => 'Carpeta de documentos de App'; @override - String get setupAppDocumentsFolderSubtitle => 'Recomendado - accesible desde la aplicación Archivos'; + String get setupAppDocumentsFolderSubtitle => + 'Recomendado - accesible desde la aplicación Archivos'; @override String get setupChooseFromFiles => 'Elegir de archivos'; @override - String get setupChooseFromFilesSubtitle => 'Seleccione iCloud u otra ubicación'; + String get setupChooseFromFilesSubtitle => + 'Seleccione iCloud u otra ubicación'; @override - String get setupIosEmptyFolderWarning => 'Limitación de iOS: No se pueden seleccionar carpetas vacías. Elige una carpeta con al menos un archivo.'; + String get setupIosEmptyFolderWarning => + 'Limitación de iOS: No se pueden seleccionar carpetas vacías. Elige una carpeta con al menos un archivo.'; @override String get setupDownloadInFlac => 'Descargar pistas de Spotify en FLAC'; @@ -3015,16 +3150,19 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get setupStorageRequired => 'Permiso de almacenamiento requerido'; @override - String get setupStorageDescription => 'SpotiFLAC necesita permiso de almacenamiento para guardar sus archivos de música descargados.'; + String get setupStorageDescription => + 'SpotiFLAC necesita permiso de almacenamiento para guardar sus archivos de música descargados.'; @override - String get setupNotificationGranted => '¡Acceso a las notificaciones permitido!'; + String get setupNotificationGranted => + '¡Acceso a las notificaciones permitido!'; @override String get setupNotificationEnable => 'Activar notificaciones'; @override - String get setupNotificationDescription => 'Recibe notificaciones cuando las descargas completen o requieran atención.'; + String get setupNotificationDescription => + 'Recibe notificaciones cuando las descargas completen o requieran atención.'; @override String get setupFolderSelected => '¡Carpeta de descarga seleccionada!'; @@ -3033,7 +3171,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get setupFolderChoose => 'Cambiar carpeta de descargas'; @override - String get setupFolderDescription => 'Seleccione una carpeta donde se guardará la música descargada.'; + String get setupFolderDescription => + 'Seleccione una carpeta donde se guardará la música descargada.'; @override String get setupChangeFolder => 'Cambiar carpeta'; @@ -3045,13 +3184,15 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get setupSpotifyApiOptional => 'API de Spotify (opcional)'; @override - String get setupSpotifyApiDescription => 'Añade tus credenciales de la API de Spotify para mejores resultados de búsqueda y acceso al contenido exclusivo de Spotify.'; + String get setupSpotifyApiDescription => + 'Añade tus credenciales de la API de Spotify para mejores resultados de búsqueda y acceso al contenido exclusivo de Spotify.'; @override String get setupUseSpotifyApi => 'Usar API de Spotify'; @override - String get setupEnterCredentialsBelow => 'Ingresa tus credenciales a continuación'; + String get setupEnterCredentialsBelow => + 'Ingresa tus credenciales a continuación'; @override String get setupUsingDeezer => 'Usando Deezer (no se necesita cuenta)'; @@ -3063,19 +3204,23 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get setupEnterClientSecret => 'Ingresa el Client Secret de Spotify'; @override - String get setupGetFreeCredentials => 'Obtén tus credenciales gratuitas de la API desde el Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Obtén tus credenciales gratuitas de la API desde el Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Activar notificaciones'; @override - String get setupProceedToNextStep => 'Ahora puedes continuar con el siguiente paso.'; + String get setupProceedToNextStep => + 'Ahora puedes continuar con el siguiente paso.'; @override - String get setupNotificationProgressDescription => 'Recibirás notificaciones de progreso de descargas.'; + String get setupNotificationProgressDescription => + 'Recibirás notificaciones de progreso de descargas.'; @override - String get setupNotificationBackgroundDescription => 'Recibe notificaciones sobre el progreso de la descarga y la finalización. Esto te ayuda a rastrear las descargas cuando la aplicación está en segundo plano.'; + String get setupNotificationBackgroundDescription => + 'Recibe notificaciones sobre el progreso de la descarga y la finalización. Esto te ayuda a rastrear las descargas cuando la aplicación está en segundo plano.'; @override String get setupSkipForNow => 'Omitir por ahora'; @@ -3093,10 +3238,12 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get setupSkipAndStart => 'Saltar y empezar'; @override - String get setupAllowAccessToManageFiles => 'Por favor, activa \"Permitir el acceso para gestionar todos los archivos\" en la siguiente pantalla.'; + String get setupAllowAccessToManageFiles => + 'Por favor, activa \"Permitir el acceso para gestionar todos los archivos\" en la siguiente pantalla.'; @override - String get setupGetCredentialsFromSpotify => 'Obtener credenciales de developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Obtener credenciales de developer.spotify.com'; @override String get dialogCancel => 'Cancelar'; @@ -3147,7 +3294,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get dialogDiscardChanges => '¿Descartar cambios?'; @override - String get dialogUnsavedChanges => 'Tienes cambios sin guardar. ¿Quieres descartarlos?'; + String get dialogUnsavedChanges => + 'Tienes cambios sin guardar. ¿Quieres descartarlos?'; @override String get dialogDownloadFailed => 'Descarga fallida'; @@ -3165,7 +3313,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get dialogClearAll => 'Eliminar todo'; @override - String get dialogClearAllDownloads => '¿Estás seguro de que quieres borrar todas las descargas?'; + String get dialogClearAllDownloads => + '¿Estás seguro de que quieres borrar todas las descargas?'; @override String get dialogRemoveFromDevice => '¿Eliminar del dispositivo?'; @@ -3174,7 +3323,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get dialogRemoveExtension => 'Eliminar extensión'; @override - String get dialogRemoveExtensionMessage => '¿Estás seguro de que quieres eliminar esta extensión? Esto no se puede deshacer.'; + String get dialogRemoveExtensionMessage => + '¿Estás seguro de que quieres eliminar esta extensión? Esto no se puede deshacer.'; @override String get dialogUninstallExtension => '¿Desinstalar extensión?'; @@ -3188,7 +3338,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get dialogClearHistoryTitle => 'Borrar historial'; @override - String get dialogClearHistoryMessage => '¿Estás seguro de que quieres borrar todo el historial de descargas? Esta acción no se puede deshacer.'; + String get dialogClearHistoryMessage => + '¿Estás seguro de que quieres borrar todo el historial de descargas? Esta acción no se puede deshacer.'; @override String get dialogDeleteSelectedTitle => 'Borrar Seleccionados'; @@ -3272,13 +3423,15 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get snackbarFileNotFound => 'Archivo no encontrado'; @override - String get snackbarSelectExtFile => 'Por favor, seleccione un archivo .spotiflac-ext'; + String get snackbarSelectExtFile => + 'Por favor, seleccione un archivo .spotiflac-ext'; @override String get snackbarProviderPrioritySaved => 'Prioridad de proveedor guardada'; @override - String get snackbarMetadataProviderSaved => 'Prioridad de proveedor de metadatos guardada'; + String get snackbarMetadataProviderSaved => + 'Prioridad de proveedor de metadatos guardada'; @override String snackbarExtensionInstalled(String extensionName) { @@ -3300,7 +3453,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get errorRateLimited => 'Límite Excedido'; @override - String get errorRateLimitedMessage => 'Demasiadas solicitudes. Por favor, espere un momento antes de buscar de nuevo.'; + String get errorRateLimitedMessage => + 'Demasiadas solicitudes. Por favor, espere un momento antes de buscar de nuevo.'; @override String errorFailedToLoad(String item) { @@ -3467,19 +3621,24 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get folderOrganizationByArtistAlbum => 'Artista/Álbum'; @override - String get folderOrganizationDescription => 'Organizar los archivos descargados en carpetas'; + String get folderOrganizationDescription => + 'Organizar los archivos descargados en carpetas'; @override - String get folderOrganizationNoneSubtitle => 'Todos los archivos de la carpeta de descargas'; + String get folderOrganizationNoneSubtitle => + 'Todos los archivos de la carpeta de descargas'; @override - String get folderOrganizationByArtistSubtitle => 'Carpeta separada para cada artista'; + String get folderOrganizationByArtistSubtitle => + 'Carpeta separada para cada artista'; @override - String get folderOrganizationByAlbumSubtitle => 'Carpeta separada para cada artista'; + String get folderOrganizationByAlbumSubtitle => + 'Carpeta separada para cada artista'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Carpetas organizadas por artista y álbum'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Carpetas organizadas por artista y álbum'; @override String get updateAvailable => 'Actualización Disponible'; @@ -3532,16 +3691,19 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get providerPriority => 'Prioridad del proveedor'; @override - String get providerPrioritySubtitle => 'Arrastre para reordenar los proveedores de descarga'; + String get providerPrioritySubtitle => + 'Arrastre para reordenar los proveedores de descarga'; @override String get providerPriorityTitle => 'Prioridad del proveedor'; @override - String get providerPriorityDescription => 'Arrastra para reordenar los proveedores de descarga. La aplicación intentará usar los proveedores de arriba hacia abajo al descargar las pistas.'; + String get providerPriorityDescription => + 'Arrastra para reordenar los proveedores de descarga. La aplicación intentará usar los proveedores de arriba hacia abajo al descargar las pistas.'; @override - String get providerPriorityInfo => 'Si una pista no está disponible en el primer proveedor, la aplicación intentará automáticamente el siguiente.'; + String get providerPriorityInfo => + 'Si una pista no está disponible en el primer proveedor, la aplicación intentará automáticamente el siguiente.'; @override String get providerBuiltIn => 'Integrado'; @@ -3553,16 +3715,19 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get metadataProviderPriority => 'Prioridad del proveedor de metadatos'; @override - String get metadataProviderPrioritySubtitle => 'Orden usado al recuperar metadatos de la pista'; + String get metadataProviderPrioritySubtitle => + 'Orden usado al recuperar metadatos de la pista'; @override String get metadataProviderPriorityTitle => 'Prioridad de los metadatos'; @override - String get metadataProviderPriorityDescription => 'Arrastra para reordenar los proveedores de metadatos. La aplicación probará los proveedores de arriba hacia abajo al buscar pistas y obtener los metadatos.'; + String get metadataProviderPriorityDescription => + 'Arrastra para reordenar los proveedores de metadatos. La aplicación probará los proveedores de arriba hacia abajo al buscar pistas y obtener los metadatos.'; @override - String get metadataProviderPriorityInfo => 'Deezer no tiene límites de tasa y se recomienda como principal. Spotify puede valorar el límite después de muchas solicitudes.'; + String get metadataProviderPriorityInfo => + 'Deezer no tiene límites de tasa y se recomienda como principal. Spotify puede valorar el límite después de muchas solicitudes.'; @override String get metadataNoRateLimits => 'Sin límites de tasa'; @@ -3607,7 +3772,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get logClearLogsTitle => 'Limpiar registros'; @override - String get logClearLogsMessage => '¿Estás seguro que deseas limpiar todos los registros?'; + String get logClearLogsMessage => + '¿Estás seguro que deseas limpiar todos los registros?'; @override String get logIspBlocking => 'BLOQUEO POR EL ISP DETECTADO'; @@ -3628,22 +3794,26 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get logNoLogsYet => 'No hay registros aún'; @override - String get logNoLogsYetSubtitle => 'Los registros aparecerán aquí mientras usas la aplicación'; + String get logNoLogsYetSubtitle => + 'Los registros aparecerán aquí mientras usas la aplicación'; @override String get logIssueSummary => 'Resumen de Incidencias'; @override - String get logIspBlockingDescription => 'Tu ISP puede estar bloqueando el acceso a los servicios de descarga'; + String get logIspBlockingDescription => + 'Tu ISP puede estar bloqueando el acceso a los servicios de descarga'; @override - String get logIspBlockingSuggestion => 'Intente usar una VPN o cambie el DNS a 1.1.1.1 o 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Intente usar una VPN o cambie el DNS a 1.1.1.1 o 8.8.8.8'; @override String get logRateLimitedDescription => 'Demasiadas solicitudes al servicio'; @override - String get logRateLimitedSuggestion => 'Espere unos minutos antes de volver a intentarlo'; + String get logRateLimitedSuggestion => + 'Espere unos minutos antes de volver a intentarlo'; @override String get logNetworkErrorDescription => 'Problemas de conexión detectados'; @@ -3652,10 +3822,12 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get logNetworkErrorSuggestion => 'Comprueba tu conexión a internet'; @override - String get logTrackNotFoundDescription => 'No se pudieron encontrar algunas pistas en los servicios de descarga'; + String get logTrackNotFoundDescription => + 'No se pudieron encontrar algunas pistas en los servicios de descarga'; @override - String get logTrackNotFoundSuggestion => 'La pista puede no estar disponible en calidad sin pérdida'; + String get logTrackNotFoundSuggestion => + 'La pista puede no estar disponible en calidad sin pérdida'; @override String logTotalErrors(int count) { @@ -3681,7 +3853,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get credentialsTitle => 'Credenciales de Spotify'; @override - String get credentialsDescription => 'Introduzca su ID de cliente y secreto para utilizar su propia cuota de aplicación de Spotify.'; + String get credentialsDescription => + 'Introduzca su ID de cliente y secreto para utilizar su propia cuota de aplicación de Spotify.'; @override String get credentialsClientId => 'ID del cliente'; @@ -3750,16 +3923,20 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get settingsAppearanceSubtitle => 'Tema, colores, pantalla'; @override - String get settingsDownloadSubtitle => 'Servicio, calidad, formato del nombre del archivo'; + String get settingsDownloadSubtitle => + 'Servicio, calidad, formato del nombre del archivo'; @override - String get settingsOptionsSubtitle => 'Alternativa, letras, carátula, actualizaciones'; + String get settingsOptionsSubtitle => + 'Alternativa, letras, carátula, actualizaciones'; @override - String get settingsExtensionsSubtitle => 'Administrar proveedores de descarga'; + String get settingsExtensionsSubtitle => + 'Administrar proveedores de descarga'; @override - String get settingsLogsSubtitle => 'Ver registros de aplicaciones para depuración'; + String get settingsLogsSubtitle => + 'Ver registros de aplicaciones para depuración'; @override String get loadingSharedLink => 'Cargando enlace compartido...'; @@ -3850,7 +4027,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get trackLyricsNotAvailable => 'Letras no disponibles para este tema'; @override - String get trackLyricsTimeout => 'Tiempo de espera agotado. Inténtalo de nuevo más tarde.'; + String get trackLyricsTimeout => + 'Tiempo de espera agotado. Inténtalo de nuevo más tarde.'; @override String get trackLyricsLoadFailed => 'Error al cargar la letra'; @@ -3862,7 +4040,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get trackDeleteConfirmTitle => '¿Eliminar del dispositivo?'; @override - String get trackDeleteConfirmMessage => 'Esto eliminará permanentemente el archivo descargado y lo eliminará de tu historial.'; + String get trackDeleteConfirmMessage => + 'Esto eliminará permanentemente el archivo descargado y lo eliminará de tu historial.'; @override String trackCannotOpen(String message) { @@ -3984,7 +4163,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get extensionMinAppVersion => 'Versión Mínima de la aplicación'; @override - String get extensionCustomTrackMatching => 'Coincidencia de pista personalizada'; + String get extensionCustomTrackMatching => + 'Coincidencia de pista personalizada'; @override String get extensionPostProcessing => 'Post-Procesamiento'; @@ -4014,13 +4194,15 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get extensionsNoExtensions => 'No hay extensiones instaladas'; @override - String get extensionsNoExtensionsSubtitle => 'Instalar archivos .spotiflac-ext para añadir nuevos proveedores'; + String get extensionsNoExtensionsSubtitle => + 'Instalar archivos .spotiflac-ext para añadir nuevos proveedores'; @override String get extensionsInstallButton => 'Instalar extensión'; @override - String get extensionsInfoTip => 'Las extensiones pueden añadir nuevos metadatos y proveedores de descargas. Sólo instalar extensiones desde fuentes confiables.'; + String get extensionsInfoTip => + 'Las extensiones pueden añadir nuevos metadatos y proveedores de descargas. Sólo instalar extensiones desde fuentes confiables.'; @override String get extensionsInstalledSuccess => 'Extensión instalada correctamente'; @@ -4029,28 +4211,34 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get extensionsDownloadPriority => 'Prioridad de descarga'; @override - String get extensionsDownloadPrioritySubtitle => 'Establecer orden de servicio de descarga'; + String get extensionsDownloadPrioritySubtitle => + 'Establecer orden de servicio de descarga'; @override - String get extensionsNoDownloadProvider => 'No hay extensiones con proveedor de descargas'; + String get extensionsNoDownloadProvider => + 'No hay extensiones con proveedor de descargas'; @override String get extensionsMetadataPriority => 'Prioridad de los metadatos'; @override - String get extensionsMetadataPrioritySubtitle => 'Establecer orden de búsqueda y metadatos'; + String get extensionsMetadataPrioritySubtitle => + 'Establecer orden de búsqueda y metadatos'; @override - String get extensionsNoMetadataProvider => 'No hay extensiones con el proveedor de metadatos'; + String get extensionsNoMetadataProvider => + 'No hay extensiones con el proveedor de metadatos'; @override String get extensionsSearchProvider => 'Proveedor de búsqueda'; @override - String get extensionsNoCustomSearch => 'No hay extensiones con búsqueda personalizada'; + String get extensionsNoCustomSearch => + 'No hay extensiones con búsqueda personalizada'; @override - String get extensionsSearchProviderDescription => 'Elegir qué servicio usar para buscar pistas'; + String get extensionsSearchProviderDescription => + 'Elegir qué servicio usar para buscar pistas'; @override String get extensionsCustomSearch => 'Búsqueda personalizada'; @@ -4077,7 +4265,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get qualityHiResFlacMaxSubtitle => '24 bits / hasta 192kHz'; @override - String get qualityNote => 'La calidad real depende de la disponibilidad de la pista del servicio'; + String get qualityNote => + 'La calidad real depende de la disponibilidad de la pista del servicio'; @override String get downloadAskBeforeDownload => 'Preguntar antes de descargar'; @@ -4113,7 +4302,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get folderNone => 'Ninguna'; @override - String get folderNoneSubtitle => 'Guardar todos los archivos directamente para descargar la carpeta'; + String get folderNoneSubtitle => + 'Guardar todos los archivos directamente para descargar la carpeta'; @override String get folderArtist => 'Artista'; @@ -4131,7 +4321,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get folderArtistAlbum => 'Artista/Álbum'; @override - String get folderArtistAlbumSubtitle => 'Nombre del Artista/Nombre del Álbum/Nombre del Archivo'; + String get folderArtistAlbumSubtitle => + 'Nombre del Artista/Nombre del Álbum/Nombre del Archivo'; @override String get serviceTidal => 'Tidal'; @@ -4167,7 +4358,8 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get queueClearAll => 'Eliminar todo'; @override - String get queueClearAllMessage => '¿Estás seguro de que quieres borrar todas las descargas?'; + String get queueClearAllMessage => + '¿Estás seguro de que quieres borrar todas las descargas?'; @override String get queueEmpty => 'No hay descargas en cola'; @@ -4197,13 +4389,15 @@ class AppLocalizationsEsEs extends AppLocalizationsEs { String get albumFolderArtistAlbum => 'Artista / Álbum'; @override - String get albumFolderArtistAlbumSubtitle => 'Álbumes/Nombre del Artista/Nombre del Álbum/'; + String get albumFolderArtistAlbumSubtitle => + 'Álbumes/Nombre del Artista/Nombre del Álbum/'; @override String get albumFolderArtistYearAlbum => 'Artista / [Año] Álbum'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Álbumes/Nombre del Artista /[2005] Nombre del Álbum/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Álbumes/Nombre del Artista /[2005] Nombre del Álbum/'; @override String get albumFolderAlbumOnly => 'Sólo álbum'; diff --git a/lib/l10n/app_localizations_fr.dart b/lib/l10n/app_localizations_fr.dart index 9d299b5d..e024f2dc 100644 --- a/lib/l10n/app_localizations_fr.dart +++ b/lib/l10n/app_localizations_fr.dart @@ -12,7 +12,8 @@ class AppLocalizationsFr extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get appDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get navHome => 'Home'; @@ -101,13 +102,15 @@ class AppLocalizationsFr extends AppLocalizations { String get historyNoAlbums => 'No album downloads'; @override - String get historyNoAlbumsSubtitle => 'Download multiple tracks from an album to see them here'; + String get historyNoAlbumsSubtitle => + 'Download multiple tracks from an album to see them here'; @override String get historyNoSingles => 'No single downloads'; @override - String get historyNoSinglesSubtitle => 'Single track downloads will appear here'; + String get historyNoSinglesSubtitle => + 'Single track downloads will appear here'; @override String get historySearchHint => 'Search history...'; @@ -155,7 +158,8 @@ class AppLocalizationsFr extends AppLocalizations { String get downloadAskQuality => 'Ask Quality Before Download'; @override - String get downloadAskQualitySubtitle => 'Show quality picker for each download'; + String get downloadAskQualitySubtitle => + 'Show quality picker for each download'; @override String get downloadFilenameFormat => 'Filename Format'; @@ -167,7 +171,8 @@ class AppLocalizationsFr extends AppLocalizations { String get downloadSeparateSingles => 'Separate Singles'; @override - String get downloadSeparateSinglesSubtitle => 'Put single tracks in a separate folder'; + String get downloadSeparateSinglesSubtitle => + 'Put single tracks in a separate folder'; @override String get qualityBest => 'Best Available'; @@ -224,7 +229,8 @@ class AppLocalizationsFr extends AppLocalizations { String get optionsPrimaryProvider => 'Primary Provider'; @override - String get optionsPrimaryProviderSubtitle => 'Service used when searching by track name.'; + String get optionsPrimaryProviderSubtitle => + 'Service used when searching by track name.'; @override String optionsUsingExtension(String extensionName) { @@ -232,13 +238,15 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get optionsSwitchBack => 'Tap Deezer or Spotify to switch back from extension'; + String get optionsSwitchBack => + 'Tap Deezer or Spotify to switch back from extension'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Try other services if download fails'; + String get optionsAutoFallbackSubtitle => + 'Try other services if download fails'; @override String get optionsUseExtensionProviders => 'Use Extension Providers'; @@ -253,13 +261,15 @@ class AppLocalizationsFr extends AppLocalizations { String get optionsEmbedLyrics => 'Embed Lyrics'; @override - String get optionsEmbedLyricsSubtitle => 'Embed synced lyrics into FLAC files'; + String get optionsEmbedLyricsSubtitle => + 'Embed synced lyrics into FLAC files'; @override String get optionsMaxQualityCover => 'Max Quality Cover'; @override - String get optionsMaxQualityCoverSubtitle => 'Download highest resolution cover art'; + String get optionsMaxQualityCoverSubtitle => + 'Download highest resolution cover art'; @override String get optionsConcurrentDownloads => 'Concurrent Downloads'; @@ -273,7 +283,8 @@ class AppLocalizationsFr extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Parallel downloads may trigger rate limiting'; + String get optionsConcurrentWarning => + 'Parallel downloads may trigger rate limiting'; @override String get optionsExtensionStore => 'Extension Store'; @@ -285,7 +296,8 @@ class AppLocalizationsFr extends AppLocalizations { String get optionsCheckUpdates => 'Check for Updates'; @override - String get optionsCheckUpdatesSubtitle => 'Notify when new version is available'; + String get optionsCheckUpdatesSubtitle => + 'Notify when new version is available'; @override String get optionsUpdateChannel => 'Update Channel'; @@ -297,13 +309,15 @@ class AppLocalizationsFr extends AppLocalizations { String get optionsUpdateChannelPreview => 'Get preview releases'; @override - String get optionsUpdateChannelWarning => 'Preview may contain bugs or incomplete features'; + String get optionsUpdateChannelWarning => + 'Preview may contain bugs or incomplete features'; @override String get optionsClearHistory => 'Clear Download History'; @override - String get optionsClearHistorySubtitle => 'Remove all downloaded tracks from history'; + String get optionsClearHistorySubtitle => + 'Remove all downloaded tracks from history'; @override String get optionsDetailedLogging => 'Detailed Logging'; @@ -326,7 +340,8 @@ class AppLocalizationsFr extends AppLocalizations { String get optionsSpotifyCredentialsRequired => 'Required - tap to configure'; @override - String get optionsSpotifyWarning => 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; @override String get extensionsTitle => 'Extensions'; @@ -390,7 +405,8 @@ class AppLocalizationsFr extends AppLocalizations { String get aboutOriginalCreator => 'Creator of the original SpotiFLAC'; @override - String get aboutLogoArtist => 'The talented artist who created our beautiful app logo!'; + String get aboutLogoArtist => + 'The talented artist who created our beautiful app logo!'; @override String get aboutTranslators => 'Translators'; @@ -450,28 +466,34 @@ class AppLocalizationsFr extends AppLocalizations { String get aboutVersion => 'Version'; @override - String get aboutBinimumDesc => 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; + String get aboutBinimumDesc => + 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; @override - String get aboutSachinsenalDesc => 'The original HiFi project creator. The foundation of Tidal integration!'; + String get aboutSachinsenalDesc => + 'The original HiFi project creator. The foundation of Tidal integration!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazing API for Amazon Music downloads. Thank you for making it free!'; + String get aboutDoubleDoubleDesc => + 'Amazing API for Amazon Music downloads. Thank you for making it free!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; + String get aboutDabMusicDesc => + 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; @override - String get aboutAppDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get aboutAppDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get albumTitle => 'Album'; @@ -576,7 +598,8 @@ class AppLocalizationsFr extends AppLocalizations { String get setupStoragePermission => 'Storage Permission'; @override - String get setupStoragePermissionSubtitle => 'Required to save downloaded files'; + String get setupStoragePermissionSubtitle => + 'Required to save downloaded files'; @override String get setupStoragePermissionGranted => 'Permission granted'; @@ -603,16 +626,19 @@ class AppLocalizationsFr extends AppLocalizations { String get setupStorageAccessRequired => 'Storage Access Required'; @override - String get setupStorageAccessMessage => 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; + String get setupStorageAccessMessage => + 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; @override String get setupOpenSettings => 'Open Settings'; @override - String get setupPermissionDeniedMessage => 'Permission denied. Please grant all permissions to continue.'; + String get setupPermissionDeniedMessage => + 'Permission denied. Please grant all permissions to continue.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +657,8 @@ class AppLocalizationsFr extends AppLocalizations { String get setupUseDefaultFolder => 'Use Default Folder?'; @override - String get setupNoFolderSelected => 'No folder selected. Would you like to use the default Music folder?'; + String get setupNoFolderSelected => + 'No folder selected. Would you like to use the default Music folder?'; @override String get setupUseDefault => 'Use Default'; @@ -640,13 +667,15 @@ class AppLocalizationsFr extends AppLocalizations { String get setupDownloadLocationTitle => 'Download Location'; @override - String get setupDownloadLocationIosMessage => 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; + String get setupDownloadLocationIosMessage => + 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; @override String get setupAppDocumentsFolder => 'App Documents Folder'; @override - String get setupAppDocumentsFolderSubtitle => 'Recommended - accessible via Files app'; + String get setupAppDocumentsFolderSubtitle => + 'Recommended - accessible via Files app'; @override String get setupChooseFromFiles => 'Choose from Files'; @@ -655,10 +684,12 @@ class AppLocalizationsFr extends AppLocalizations { String get setupChooseFromFilesSubtitle => 'Select iCloud or other location'; @override - String get setupIosEmptyFolderWarning => 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; + String get setupIosEmptyFolderWarning => + 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Download Spotify tracks in FLAC'; @@ -685,7 +716,8 @@ class AppLocalizationsFr extends AppLocalizations { String get setupStorageRequired => 'Storage Permission Required'; @override - String get setupStorageDescription => 'SpotiFLAC needs storage permission to save your downloaded music files.'; + String get setupStorageDescription => + 'SpotiFLAC needs storage permission to save your downloaded music files.'; @override String get setupNotificationGranted => 'Notification Permission Granted!'; @@ -694,7 +726,8 @@ class AppLocalizationsFr extends AppLocalizations { String get setupNotificationEnable => 'Enable Notifications'; @override - String get setupNotificationDescription => 'Get notified when downloads complete or require attention.'; + String get setupNotificationDescription => + 'Get notified when downloads complete or require attention.'; @override String get setupFolderSelected => 'Download Folder Selected!'; @@ -703,7 +736,8 @@ class AppLocalizationsFr extends AppLocalizations { String get setupFolderChoose => 'Choose Download Folder'; @override - String get setupFolderDescription => 'Select a folder where your downloaded music will be saved.'; + String get setupFolderDescription => + 'Select a folder where your downloaded music will be saved.'; @override String get setupChangeFolder => 'Change Folder'; @@ -715,7 +749,8 @@ class AppLocalizationsFr extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (Optional)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Use Spotify API'; @@ -733,7 +768,8 @@ class AppLocalizationsFr extends AppLocalizations { String get setupEnterClientSecret => 'Enter Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Get your free API credentials from the Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Get your free API credentials from the Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Enable Notifications'; @@ -742,10 +778,12 @@ class AppLocalizationsFr extends AppLocalizations { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => 'Skip for now'; @@ -763,10 +801,12 @@ class AppLocalizationsFr extends AppLocalizations { String get setupSkipAndStart => 'Skip & Start'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'Get credentials from developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Get credentials from developer.spotify.com'; @override String get dialogCancel => 'Cancel'; @@ -817,7 +857,8 @@ class AppLocalizationsFr extends AppLocalizations { String get dialogDiscardChanges => 'Discard Changes?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'Download Failed'; @@ -835,7 +876,8 @@ class AppLocalizationsFr extends AppLocalizations { String get dialogClearAll => 'Clear All'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'Remove from device?'; @@ -844,7 +886,8 @@ class AppLocalizationsFr extends AppLocalizations { String get dialogRemoveExtension => 'Remove Extension'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => 'Uninstall Extension?'; @@ -858,7 +901,8 @@ class AppLocalizationsFr extends AppLocalizations { String get dialogClearHistoryTitle => 'Clear History'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => 'Delete Selected'; @@ -902,6 +946,11 @@ class AppLocalizationsFr extends AppLocalizations { return '\"$trackName\" already downloaded'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'History cleared'; @@ -953,7 +1002,8 @@ class AppLocalizationsFr extends AppLocalizations { String get snackbarProviderPrioritySaved => 'Provider priority saved'; @override - String get snackbarMetadataProviderSaved => 'Metadata provider priority saved'; + String get snackbarMetadataProviderSaved => + 'Metadata provider priority saved'; @override String snackbarExtensionInstalled(String extensionName) { @@ -975,7 +1025,8 @@ class AppLocalizationsFr extends AppLocalizations { String get errorRateLimited => 'Rate Limited'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -1142,19 +1193,23 @@ class AppLocalizationsFr extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Artist/Album'; @override - String get folderOrganizationDescription => 'Organize downloaded files into folders'; + String get folderOrganizationDescription => + 'Organize downloaded files into folders'; @override String get folderOrganizationNoneSubtitle => 'All files in download folder'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => 'Update Available'; @@ -1213,10 +1268,12 @@ class AppLocalizationsFr extends AppLocalizations { String get providerPriorityTitle => 'Provider Priority'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => 'Built-in'; @@ -1228,16 +1285,19 @@ class AppLocalizationsFr extends AppLocalizations { String get metadataProviderPriority => 'Metadata Provider Priority'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'Metadata Priority'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'No rate limits'; @@ -1309,16 +1369,19 @@ class AppLocalizationsFr extends AppLocalizations { String get logIssueSummary => 'Issue Summary'; @override - String get logIspBlockingDescription => 'Your ISP may be blocking access to download services'; + String get logIspBlockingDescription => + 'Your ISP may be blocking access to download services'; @override - String get logIspBlockingSuggestion => 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; @override String get logRateLimitedDescription => 'Too many requests to the service'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => 'Connection issues detected'; @@ -1327,10 +1390,12 @@ class AppLocalizationsFr extends AppLocalizations { String get logNetworkErrorSuggestion => 'Check your internet connection'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -1356,7 +1421,8 @@ class AppLocalizationsFr extends AppLocalizations { String get credentialsTitle => 'Spotify Credentials'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'Client ID'; @@ -1410,7 +1476,8 @@ class AppLocalizationsFr extends AppLocalizations { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -1422,7 +1489,8 @@ class AppLocalizationsFr extends AppLocalizations { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -1582,7 +1650,8 @@ class AppLocalizationsFr extends AppLocalizations { String get trackDeleteConfirmTitle => 'Remove from device?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1803,15 @@ class AppLocalizationsFr extends AppLocalizations { String get extensionsNoExtensions => 'No extensions installed'; @override - String get extensionsNoExtensionsSubtitle => 'Install .spotiflac-ext files to add new providers'; + String get extensionsNoExtensionsSubtitle => + 'Install .spotiflac-ext files to add new providers'; @override String get extensionsInstallButton => 'Install Extension'; @override - String get extensionsInfoTip => 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; + String get extensionsInfoTip => + 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; @override String get extensionsInstalledSuccess => 'Extension installed successfully'; @@ -1752,16 +1823,19 @@ class AppLocalizationsFr extends AppLocalizations { String get extensionsDownloadPrioritySubtitle => 'Set download service order'; @override - String get extensionsNoDownloadProvider => 'No extensions with download provider'; + String get extensionsNoDownloadProvider => + 'No extensions with download provider'; @override String get extensionsMetadataPriority => 'Metadata Priority'; @override - String get extensionsMetadataPrioritySubtitle => 'Set search & metadata source order'; + String get extensionsMetadataPrioritySubtitle => + 'Set search & metadata source order'; @override - String get extensionsNoMetadataProvider => 'No extensions with metadata provider'; + String get extensionsNoMetadataProvider => + 'No extensions with metadata provider'; @override String get extensionsSearchProvider => 'Search Provider'; @@ -1770,7 +1844,8 @@ class AppLocalizationsFr extends AppLocalizations { String get extensionsNoCustomSearch => 'No extensions with custom search'; @override - String get extensionsSearchProviderDescription => 'Choose which service to use for searching tracks'; + String get extensionsSearchProviderDescription => + 'Choose which service to use for searching tracks'; @override String get extensionsCustomSearch => 'Custom search'; @@ -1812,7 +1887,8 @@ class AppLocalizationsFr extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,10 +1900,12 @@ class AppLocalizationsFr extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -1917,13 +1995,15 @@ class AppLocalizationsFr extends AppLocalizations { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2015,8 @@ class AppLocalizationsFr extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2028,8 @@ class AppLocalizationsFr extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'No downloads in queue'; @@ -1983,7 +2065,8 @@ class AppLocalizationsFr extends AppLocalizations { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -2001,7 +2084,8 @@ class AppLocalizationsFr extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -2111,7 +2195,8 @@ class AppLocalizationsFr extends AppLocalizations { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -2158,13 +2243,16 @@ class AppLocalizationsFr extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2273,8 @@ class AppLocalizationsFr extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2286,8 @@ class AppLocalizationsFr extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2305,8 @@ class AppLocalizationsFr extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2318,15 @@ class AppLocalizationsFr extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2364,8 @@ class AppLocalizationsFr extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; diff --git a/lib/l10n/app_localizations_hi.dart b/lib/l10n/app_localizations_hi.dart index a4c3f6e8..e75ab302 100644 --- a/lib/l10n/app_localizations_hi.dart +++ b/lib/l10n/app_localizations_hi.dart @@ -12,7 +12,8 @@ class AppLocalizationsHi extends AppLocalizations { String get appName => 'SpotiFlac'; @override - String get appDescription => 'स्पॉटीफाई ट्रैक डाउनलोड करें टाइडल, क्वाबज एवं एवं अमेजन म्यूजिक से उच्चतम क्वालिटी में।'; + String get appDescription => + 'स्पॉटीफाई ट्रैक डाउनलोड करें टाइडल, क्वाबज एवं एवं अमेजन म्यूजिक से उच्चतम क्वालिटी में।'; @override String get navHome => 'होम'; @@ -101,13 +102,15 @@ class AppLocalizationsHi extends AppLocalizations { String get historyNoAlbums => 'No album downloads'; @override - String get historyNoAlbumsSubtitle => 'Download multiple tracks from an album to see them here'; + String get historyNoAlbumsSubtitle => + 'Download multiple tracks from an album to see them here'; @override String get historyNoSingles => 'No single downloads'; @override - String get historyNoSinglesSubtitle => 'Single track downloads will appear here'; + String get historyNoSinglesSubtitle => + 'Single track downloads will appear here'; @override String get historySearchHint => 'Search history...'; @@ -155,7 +158,8 @@ class AppLocalizationsHi extends AppLocalizations { String get downloadAskQuality => 'Ask Quality Before Download'; @override - String get downloadAskQualitySubtitle => 'Show quality picker for each download'; + String get downloadAskQualitySubtitle => + 'Show quality picker for each download'; @override String get downloadFilenameFormat => 'Filename Format'; @@ -167,7 +171,8 @@ class AppLocalizationsHi extends AppLocalizations { String get downloadSeparateSingles => 'Separate Singles'; @override - String get downloadSeparateSinglesSubtitle => 'Put single tracks in a separate folder'; + String get downloadSeparateSinglesSubtitle => + 'Put single tracks in a separate folder'; @override String get qualityBest => 'Best Available'; @@ -224,7 +229,8 @@ class AppLocalizationsHi extends AppLocalizations { String get optionsPrimaryProvider => 'Primary Provider'; @override - String get optionsPrimaryProviderSubtitle => 'Service used when searching by track name.'; + String get optionsPrimaryProviderSubtitle => + 'Service used when searching by track name.'; @override String optionsUsingExtension(String extensionName) { @@ -232,13 +238,15 @@ class AppLocalizationsHi extends AppLocalizations { } @override - String get optionsSwitchBack => 'Tap Deezer or Spotify to switch back from extension'; + String get optionsSwitchBack => + 'Tap Deezer or Spotify to switch back from extension'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Try other services if download fails'; + String get optionsAutoFallbackSubtitle => + 'Try other services if download fails'; @override String get optionsUseExtensionProviders => 'Use Extension Providers'; @@ -253,13 +261,15 @@ class AppLocalizationsHi extends AppLocalizations { String get optionsEmbedLyrics => 'Embed Lyrics'; @override - String get optionsEmbedLyricsSubtitle => 'Embed synced lyrics into FLAC files'; + String get optionsEmbedLyricsSubtitle => + 'Embed synced lyrics into FLAC files'; @override String get optionsMaxQualityCover => 'Max Quality Cover'; @override - String get optionsMaxQualityCoverSubtitle => 'Download highest resolution cover art'; + String get optionsMaxQualityCoverSubtitle => + 'Download highest resolution cover art'; @override String get optionsConcurrentDownloads => 'Concurrent Downloads'; @@ -273,7 +283,8 @@ class AppLocalizationsHi extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Parallel downloads may trigger rate limiting'; + String get optionsConcurrentWarning => + 'Parallel downloads may trigger rate limiting'; @override String get optionsExtensionStore => 'Extension Store'; @@ -285,7 +296,8 @@ class AppLocalizationsHi extends AppLocalizations { String get optionsCheckUpdates => 'Check for Updates'; @override - String get optionsCheckUpdatesSubtitle => 'Notify when new version is available'; + String get optionsCheckUpdatesSubtitle => + 'Notify when new version is available'; @override String get optionsUpdateChannel => 'Update Channel'; @@ -297,13 +309,15 @@ class AppLocalizationsHi extends AppLocalizations { String get optionsUpdateChannelPreview => 'Get preview releases'; @override - String get optionsUpdateChannelWarning => 'Preview may contain bugs or incomplete features'; + String get optionsUpdateChannelWarning => + 'Preview may contain bugs or incomplete features'; @override String get optionsClearHistory => 'Clear Download History'; @override - String get optionsClearHistorySubtitle => 'Remove all downloaded tracks from history'; + String get optionsClearHistorySubtitle => + 'Remove all downloaded tracks from history'; @override String get optionsDetailedLogging => 'Detailed Logging'; @@ -326,7 +340,8 @@ class AppLocalizationsHi extends AppLocalizations { String get optionsSpotifyCredentialsRequired => 'Required - tap to configure'; @override - String get optionsSpotifyWarning => 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; @override String get extensionsTitle => 'Extensions'; @@ -390,7 +405,8 @@ class AppLocalizationsHi extends AppLocalizations { String get aboutOriginalCreator => 'Creator of the original SpotiFLAC'; @override - String get aboutLogoArtist => 'The talented artist who created our beautiful app logo!'; + String get aboutLogoArtist => + 'The talented artist who created our beautiful app logo!'; @override String get aboutTranslators => 'Translators'; @@ -450,28 +466,34 @@ class AppLocalizationsHi extends AppLocalizations { String get aboutVersion => 'Version'; @override - String get aboutBinimumDesc => 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; + String get aboutBinimumDesc => + 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; @override - String get aboutSachinsenalDesc => 'The original HiFi project creator. The foundation of Tidal integration!'; + String get aboutSachinsenalDesc => + 'The original HiFi project creator. The foundation of Tidal integration!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazing API for Amazon Music downloads. Thank you for making it free!'; + String get aboutDoubleDoubleDesc => + 'Amazing API for Amazon Music downloads. Thank you for making it free!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; + String get aboutDabMusicDesc => + 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; @override - String get aboutAppDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get aboutAppDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get albumTitle => 'Album'; @@ -576,7 +598,8 @@ class AppLocalizationsHi extends AppLocalizations { String get setupStoragePermission => 'Storage Permission'; @override - String get setupStoragePermissionSubtitle => 'Required to save downloaded files'; + String get setupStoragePermissionSubtitle => + 'Required to save downloaded files'; @override String get setupStoragePermissionGranted => 'Permission granted'; @@ -603,16 +626,19 @@ class AppLocalizationsHi extends AppLocalizations { String get setupStorageAccessRequired => 'Storage Access Required'; @override - String get setupStorageAccessMessage => 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; + String get setupStorageAccessMessage => + 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; @override String get setupOpenSettings => 'Open Settings'; @override - String get setupPermissionDeniedMessage => 'Permission denied. Please grant all permissions to continue.'; + String get setupPermissionDeniedMessage => + 'Permission denied. Please grant all permissions to continue.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +657,8 @@ class AppLocalizationsHi extends AppLocalizations { String get setupUseDefaultFolder => 'Use Default Folder?'; @override - String get setupNoFolderSelected => 'No folder selected. Would you like to use the default Music folder?'; + String get setupNoFolderSelected => + 'No folder selected. Would you like to use the default Music folder?'; @override String get setupUseDefault => 'Use Default'; @@ -640,13 +667,15 @@ class AppLocalizationsHi extends AppLocalizations { String get setupDownloadLocationTitle => 'Download Location'; @override - String get setupDownloadLocationIosMessage => 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; + String get setupDownloadLocationIosMessage => + 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; @override String get setupAppDocumentsFolder => 'App Documents Folder'; @override - String get setupAppDocumentsFolderSubtitle => 'Recommended - accessible via Files app'; + String get setupAppDocumentsFolderSubtitle => + 'Recommended - accessible via Files app'; @override String get setupChooseFromFiles => 'Choose from Files'; @@ -655,10 +684,12 @@ class AppLocalizationsHi extends AppLocalizations { String get setupChooseFromFilesSubtitle => 'Select iCloud or other location'; @override - String get setupIosEmptyFolderWarning => 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; + String get setupIosEmptyFolderWarning => + 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Download Spotify tracks in FLAC'; @@ -685,7 +716,8 @@ class AppLocalizationsHi extends AppLocalizations { String get setupStorageRequired => 'Storage Permission Required'; @override - String get setupStorageDescription => 'SpotiFLAC needs storage permission to save your downloaded music files.'; + String get setupStorageDescription => + 'SpotiFLAC needs storage permission to save your downloaded music files.'; @override String get setupNotificationGranted => 'Notification Permission Granted!'; @@ -694,7 +726,8 @@ class AppLocalizationsHi extends AppLocalizations { String get setupNotificationEnable => 'Enable Notifications'; @override - String get setupNotificationDescription => 'Get notified when downloads complete or require attention.'; + String get setupNotificationDescription => + 'Get notified when downloads complete or require attention.'; @override String get setupFolderSelected => 'Download Folder Selected!'; @@ -703,7 +736,8 @@ class AppLocalizationsHi extends AppLocalizations { String get setupFolderChoose => 'Choose Download Folder'; @override - String get setupFolderDescription => 'Select a folder where your downloaded music will be saved.'; + String get setupFolderDescription => + 'Select a folder where your downloaded music will be saved.'; @override String get setupChangeFolder => 'Change Folder'; @@ -715,7 +749,8 @@ class AppLocalizationsHi extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (Optional)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Use Spotify API'; @@ -733,7 +768,8 @@ class AppLocalizationsHi extends AppLocalizations { String get setupEnterClientSecret => 'Enter Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Get your free API credentials from the Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Get your free API credentials from the Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Enable Notifications'; @@ -742,10 +778,12 @@ class AppLocalizationsHi extends AppLocalizations { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => 'Skip for now'; @@ -763,10 +801,12 @@ class AppLocalizationsHi extends AppLocalizations { String get setupSkipAndStart => 'Skip & Start'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'Get credentials from developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Get credentials from developer.spotify.com'; @override String get dialogCancel => 'Cancel'; @@ -817,7 +857,8 @@ class AppLocalizationsHi extends AppLocalizations { String get dialogDiscardChanges => 'Discard Changes?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'Download Failed'; @@ -835,7 +876,8 @@ class AppLocalizationsHi extends AppLocalizations { String get dialogClearAll => 'Clear All'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'Remove from device?'; @@ -844,7 +886,8 @@ class AppLocalizationsHi extends AppLocalizations { String get dialogRemoveExtension => 'Remove Extension'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => 'Uninstall Extension?'; @@ -858,7 +901,8 @@ class AppLocalizationsHi extends AppLocalizations { String get dialogClearHistoryTitle => 'Clear History'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => 'Delete Selected'; @@ -902,6 +946,11 @@ class AppLocalizationsHi extends AppLocalizations { return '\"$trackName\" already downloaded'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'History cleared'; @@ -953,7 +1002,8 @@ class AppLocalizationsHi extends AppLocalizations { String get snackbarProviderPrioritySaved => 'Provider priority saved'; @override - String get snackbarMetadataProviderSaved => 'Metadata provider priority saved'; + String get snackbarMetadataProviderSaved => + 'Metadata provider priority saved'; @override String snackbarExtensionInstalled(String extensionName) { @@ -975,7 +1025,8 @@ class AppLocalizationsHi extends AppLocalizations { String get errorRateLimited => 'Rate Limited'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -1142,19 +1193,23 @@ class AppLocalizationsHi extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Artist/Album'; @override - String get folderOrganizationDescription => 'Organize downloaded files into folders'; + String get folderOrganizationDescription => + 'Organize downloaded files into folders'; @override String get folderOrganizationNoneSubtitle => 'All files in download folder'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => 'Update Available'; @@ -1213,10 +1268,12 @@ class AppLocalizationsHi extends AppLocalizations { String get providerPriorityTitle => 'Provider Priority'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => 'Built-in'; @@ -1228,16 +1285,19 @@ class AppLocalizationsHi extends AppLocalizations { String get metadataProviderPriority => 'Metadata Provider Priority'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'Metadata Priority'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'No rate limits'; @@ -1309,16 +1369,19 @@ class AppLocalizationsHi extends AppLocalizations { String get logIssueSummary => 'Issue Summary'; @override - String get logIspBlockingDescription => 'Your ISP may be blocking access to download services'; + String get logIspBlockingDescription => + 'Your ISP may be blocking access to download services'; @override - String get logIspBlockingSuggestion => 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; @override String get logRateLimitedDescription => 'Too many requests to the service'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => 'Connection issues detected'; @@ -1327,10 +1390,12 @@ class AppLocalizationsHi extends AppLocalizations { String get logNetworkErrorSuggestion => 'Check your internet connection'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -1356,7 +1421,8 @@ class AppLocalizationsHi extends AppLocalizations { String get credentialsTitle => 'Spotify Credentials'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'Client ID'; @@ -1410,7 +1476,8 @@ class AppLocalizationsHi extends AppLocalizations { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -1422,7 +1489,8 @@ class AppLocalizationsHi extends AppLocalizations { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -1582,7 +1650,8 @@ class AppLocalizationsHi extends AppLocalizations { String get trackDeleteConfirmTitle => 'Remove from device?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1803,15 @@ class AppLocalizationsHi extends AppLocalizations { String get extensionsNoExtensions => 'No extensions installed'; @override - String get extensionsNoExtensionsSubtitle => 'Install .spotiflac-ext files to add new providers'; + String get extensionsNoExtensionsSubtitle => + 'Install .spotiflac-ext files to add new providers'; @override String get extensionsInstallButton => 'Install Extension'; @override - String get extensionsInfoTip => 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; + String get extensionsInfoTip => + 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; @override String get extensionsInstalledSuccess => 'Extension installed successfully'; @@ -1752,16 +1823,19 @@ class AppLocalizationsHi extends AppLocalizations { String get extensionsDownloadPrioritySubtitle => 'Set download service order'; @override - String get extensionsNoDownloadProvider => 'No extensions with download provider'; + String get extensionsNoDownloadProvider => + 'No extensions with download provider'; @override String get extensionsMetadataPriority => 'Metadata Priority'; @override - String get extensionsMetadataPrioritySubtitle => 'Set search & metadata source order'; + String get extensionsMetadataPrioritySubtitle => + 'Set search & metadata source order'; @override - String get extensionsNoMetadataProvider => 'No extensions with metadata provider'; + String get extensionsNoMetadataProvider => + 'No extensions with metadata provider'; @override String get extensionsSearchProvider => 'Search Provider'; @@ -1770,7 +1844,8 @@ class AppLocalizationsHi extends AppLocalizations { String get extensionsNoCustomSearch => 'No extensions with custom search'; @override - String get extensionsSearchProviderDescription => 'Choose which service to use for searching tracks'; + String get extensionsSearchProviderDescription => + 'Choose which service to use for searching tracks'; @override String get extensionsCustomSearch => 'Custom search'; @@ -1812,7 +1887,8 @@ class AppLocalizationsHi extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,10 +1900,12 @@ class AppLocalizationsHi extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -1917,13 +1995,15 @@ class AppLocalizationsHi extends AppLocalizations { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2015,8 @@ class AppLocalizationsHi extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2028,8 @@ class AppLocalizationsHi extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'No downloads in queue'; @@ -1983,7 +2065,8 @@ class AppLocalizationsHi extends AppLocalizations { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -2001,7 +2084,8 @@ class AppLocalizationsHi extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -2111,7 +2195,8 @@ class AppLocalizationsHi extends AppLocalizations { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -2158,13 +2243,16 @@ class AppLocalizationsHi extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2273,8 @@ class AppLocalizationsHi extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2286,8 @@ class AppLocalizationsHi extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2305,8 @@ class AppLocalizationsHi extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2318,15 @@ class AppLocalizationsHi extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2364,8 @@ class AppLocalizationsHi extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; diff --git a/lib/l10n/app_localizations_id.dart b/lib/l10n/app_localizations_id.dart index 4544b590..48732f0d 100644 --- a/lib/l10n/app_localizations_id.dart +++ b/lib/l10n/app_localizations_id.dart @@ -12,7 +12,8 @@ class AppLocalizationsId extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Unduh lagu Spotify dalam kualitas lossless dari Tidal, Qobuz, dan Amazon Music.'; + String get appDescription => + 'Unduh lagu Spotify dalam kualitas lossless dari Tidal, Qobuz, dan Amazon Music.'; @override String get navHome => 'Beranda'; @@ -95,19 +96,22 @@ class AppLocalizationsId extends AppLocalizations { String get historyNoDownloads => 'Tidak ada riwayat unduhan'; @override - String get historyNoDownloadsSubtitle => 'Lagu yang diunduh akan muncul di sini'; + String get historyNoDownloadsSubtitle => + 'Lagu yang diunduh akan muncul di sini'; @override String get historyNoAlbums => 'Tidak ada unduhan album'; @override - String get historyNoAlbumsSubtitle => 'Unduh beberapa lagu dari album untuk melihatnya di sini'; + String get historyNoAlbumsSubtitle => + 'Unduh beberapa lagu dari album untuk melihatnya di sini'; @override String get historyNoSingles => 'Tidak ada unduhan single'; @override - String get historyNoSinglesSubtitle => 'Unduhan lagu satuan akan muncul di sini'; + String get historyNoSinglesSubtitle => + 'Unduhan lagu satuan akan muncul di sini'; @override String get historySearchHint => 'Search history...'; @@ -146,7 +150,8 @@ class AppLocalizationsId extends AppLocalizations { String get downloadDefaultService => 'Layanan Default'; @override - String get downloadDefaultServiceSubtitle => 'Layanan yang digunakan untuk unduhan'; + String get downloadDefaultServiceSubtitle => + 'Layanan yang digunakan untuk unduhan'; @override String get downloadDefaultQuality => 'Kualitas Default'; @@ -155,7 +160,8 @@ class AppLocalizationsId extends AppLocalizations { String get downloadAskQuality => 'Tanya Kualitas Sebelum Unduh'; @override - String get downloadAskQualitySubtitle => 'Tampilkan pemilih kualitas untuk setiap unduhan'; + String get downloadAskQualitySubtitle => + 'Tampilkan pemilih kualitas untuk setiap unduhan'; @override String get downloadFilenameFormat => 'Format Nama File'; @@ -167,7 +173,8 @@ class AppLocalizationsId extends AppLocalizations { String get downloadSeparateSingles => 'Pisahkan Single'; @override - String get downloadSeparateSinglesSubtitle => 'Letakkan lagu satuan di folder terpisah'; + String get downloadSeparateSinglesSubtitle => + 'Letakkan lagu satuan di folder terpisah'; @override String get qualityBest => 'Terbaik'; @@ -200,7 +207,8 @@ class AppLocalizationsId extends AppLocalizations { String get appearanceDynamicColor => 'Warna Dinamis'; @override - String get appearanceDynamicColorSubtitle => 'Gunakan warna dari wallpaper Anda'; + String get appearanceDynamicColorSubtitle => + 'Gunakan warna dari wallpaper Anda'; @override String get appearanceAccentColor => 'Warna Aksen'; @@ -224,7 +232,8 @@ class AppLocalizationsId extends AppLocalizations { String get optionsPrimaryProvider => 'Provider Utama'; @override - String get optionsPrimaryProviderSubtitle => 'Layanan yang digunakan saat mencari berdasarkan nama lagu.'; + String get optionsPrimaryProviderSubtitle => + 'Layanan yang digunakan saat mencari berdasarkan nama lagu.'; @override String optionsUsingExtension(String extensionName) { @@ -232,34 +241,40 @@ class AppLocalizationsId extends AppLocalizations { } @override - String get optionsSwitchBack => 'Ketuk Deezer atau Spotify untuk beralih dari ekstensi'; + String get optionsSwitchBack => + 'Ketuk Deezer atau Spotify untuk beralih dari ekstensi'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Coba layanan lain jika unduhan gagal'; + String get optionsAutoFallbackSubtitle => + 'Coba layanan lain jika unduhan gagal'; @override String get optionsUseExtensionProviders => 'Gunakan Provider Ekstensi'; @override - String get optionsUseExtensionProvidersOn => 'Ekstensi akan dicoba terlebih dahulu'; + String get optionsUseExtensionProvidersOn => + 'Ekstensi akan dicoba terlebih dahulu'; @override - String get optionsUseExtensionProvidersOff => 'Hanya menggunakan provider bawaan'; + String get optionsUseExtensionProvidersOff => + 'Hanya menggunakan provider bawaan'; @override String get optionsEmbedLyrics => 'Sematkan Lirik'; @override - String get optionsEmbedLyricsSubtitle => 'Sematkan lirik sinkron ke file FLAC'; + String get optionsEmbedLyricsSubtitle => + 'Sematkan lirik sinkron ke file FLAC'; @override String get optionsMaxQualityCover => 'Cover Kualitas Maksimal'; @override - String get optionsMaxQualityCoverSubtitle => 'Unduh cover art resolusi tertinggi'; + String get optionsMaxQualityCoverSubtitle => + 'Unduh cover art resolusi tertinggi'; @override String get optionsConcurrentDownloads => 'Unduhan Bersamaan'; @@ -273,7 +288,8 @@ class AppLocalizationsId extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Unduhan paralel dapat memicu pembatasan rate'; + String get optionsConcurrentWarning => + 'Unduhan paralel dapat memicu pembatasan rate'; @override String get optionsExtensionStore => 'Toko Ekstensi'; @@ -297,7 +313,8 @@ class AppLocalizationsId extends AppLocalizations { String get optionsUpdateChannelPreview => 'Dapatkan rilis preview'; @override - String get optionsUpdateChannelWarning => 'Preview mungkin mengandung bug atau fitur belum lengkap'; + String get optionsUpdateChannelWarning => + 'Preview mungkin mengandung bug atau fitur belum lengkap'; @override String get optionsClearHistory => 'Hapus Riwayat Unduhan'; @@ -323,10 +340,12 @@ class AppLocalizationsId extends AppLocalizations { } @override - String get optionsSpotifyCredentialsRequired => 'Diperlukan - ketuk untuk mengatur'; + String get optionsSpotifyCredentialsRequired => + 'Diperlukan - ketuk untuk mengatur'; @override - String get optionsSpotifyWarning => 'Spotify memerlukan kredensial API Anda sendiri. Dapatkan gratis dari developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify memerlukan kredensial API Anda sendiri. Dapatkan gratis dari developer.spotify.com'; @override String get extensionsTitle => 'Ekstensi'; @@ -390,7 +409,8 @@ class AppLocalizationsId extends AppLocalizations { String get aboutOriginalCreator => 'Pembuat SpotiFLAC asli'; @override - String get aboutLogoArtist => 'Seniman berbakat yang membuat logo aplikasi kita yang indah!'; + String get aboutLogoArtist => + 'Seniman berbakat yang membuat logo aplikasi kita yang indah!'; @override String get aboutTranslators => 'Translators'; @@ -417,7 +437,8 @@ class AppLocalizationsId extends AppLocalizations { String get aboutFeatureRequest => 'Permintaan fitur'; @override - String get aboutFeatureRequestSubtitle => 'Sarankan fitur baru untuk aplikasi'; + String get aboutFeatureRequestSubtitle => + 'Sarankan fitur baru untuk aplikasi'; @override String get aboutTelegramChannel => 'Telegram Channel'; @@ -450,28 +471,34 @@ class AppLocalizationsId extends AppLocalizations { String get aboutVersion => 'Versi'; @override - String get aboutBinimumDesc => 'Pembuat QQDL & HiFi API. Tanpa API ini, unduhan Tidal tidak akan ada!'; + String get aboutBinimumDesc => + 'Pembuat QQDL & HiFi API. Tanpa API ini, unduhan Tidal tidak akan ada!'; @override - String get aboutSachinsenalDesc => 'Pembuat proyek HiFi asli. Fondasi dari integrasi Tidal!'; + String get aboutSachinsenalDesc => + 'Pembuat proyek HiFi asli. Fondasi dari integrasi Tidal!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'API luar biasa untuk unduhan Amazon Music. Terima kasih sudah membuatnya gratis!'; + String get aboutDoubleDoubleDesc => + 'API luar biasa untuk unduhan Amazon Music. Terima kasih sudah membuatnya gratis!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'API streaming Qobuz terbaik. Unduhan Hi-Res tidak akan mungkin tanpa ini!'; + String get aboutDabMusicDesc => + 'API streaming Qobuz terbaik. Unduhan Hi-Res tidak akan mungkin tanpa ini!'; @override - String get aboutAppDescription => 'Unduh lagu Spotify dalam kualitas lossless dari Tidal, Qobuz, dan Amazon Music.'; + String get aboutAppDescription => + 'Unduh lagu Spotify dalam kualitas lossless dari Tidal, Qobuz, dan Amazon Music.'; @override String get albumTitle => 'Album'; @@ -576,7 +603,8 @@ class AppLocalizationsId extends AppLocalizations { String get setupStoragePermission => 'Izin Penyimpanan'; @override - String get setupStoragePermissionSubtitle => 'Diperlukan untuk menyimpan file unduhan'; + String get setupStoragePermissionSubtitle => + 'Diperlukan untuk menyimpan file unduhan'; @override String get setupStoragePermissionGranted => 'Izin diberikan'; @@ -603,16 +631,19 @@ class AppLocalizationsId extends AppLocalizations { String get setupStorageAccessRequired => 'Akses Penyimpanan Diperlukan'; @override - String get setupStorageAccessMessage => 'SpotiFLAC membutuhkan izin \"Akses semua file\" untuk menyimpan file musik ke folder pilihan Anda.'; + String get setupStorageAccessMessage => + 'SpotiFLAC membutuhkan izin \"Akses semua file\" untuk menyimpan file musik ke folder pilihan Anda.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ memerlukan izin \"Akses semua file\" untuk menyimpan file ke folder unduhan pilihan Anda.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ memerlukan izin \"Akses semua file\" untuk menyimpan file ke folder unduhan pilihan Anda.'; @override String get setupOpenSettings => 'Buka Pengaturan'; @override - String get setupPermissionDeniedMessage => 'Izin ditolak. Harap berikan semua izin untuk melanjutkan.'; + String get setupPermissionDeniedMessage => + 'Izin ditolak. Harap berikan semua izin untuk melanjutkan.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +662,8 @@ class AppLocalizationsId extends AppLocalizations { String get setupUseDefaultFolder => 'Gunakan Folder Default?'; @override - String get setupNoFolderSelected => 'Tidak ada folder dipilih. Apakah Anda ingin menggunakan folder Musik default?'; + String get setupNoFolderSelected => + 'Tidak ada folder dipilih. Apakah Anda ingin menggunakan folder Musik default?'; @override String get setupUseDefault => 'Gunakan Default'; @@ -640,13 +672,15 @@ class AppLocalizationsId extends AppLocalizations { String get setupDownloadLocationTitle => 'Lokasi Unduhan'; @override - String get setupDownloadLocationIosMessage => 'Di iOS, unduhan disimpan ke folder Documents aplikasi. Anda dapat mengaksesnya melalui aplikasi Files.'; + String get setupDownloadLocationIosMessage => + 'Di iOS, unduhan disimpan ke folder Documents aplikasi. Anda dapat mengaksesnya melalui aplikasi Files.'; @override String get setupAppDocumentsFolder => 'Folder Documents Aplikasi'; @override - String get setupAppDocumentsFolderSubtitle => 'Direkomendasikan - dapat diakses via aplikasi Files'; + String get setupAppDocumentsFolderSubtitle => + 'Direkomendasikan - dapat diakses via aplikasi Files'; @override String get setupChooseFromFiles => 'Pilih dari Files'; @@ -655,10 +689,12 @@ class AppLocalizationsId extends AppLocalizations { String get setupChooseFromFilesSubtitle => 'Pilih lokasi iCloud atau lainnya'; @override - String get setupIosEmptyFolderWarning => 'Batasan iOS: Folder kosong tidak dapat dipilih. Pilih folder dengan minimal satu file.'; + String get setupIosEmptyFolderWarning => + 'Batasan iOS: Folder kosong tidak dapat dipilih. Pilih folder dengan minimal satu file.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Unduh lagu Spotify dalam format FLAC'; @@ -685,7 +721,8 @@ class AppLocalizationsId extends AppLocalizations { String get setupStorageRequired => 'Izin Penyimpanan Diperlukan'; @override - String get setupStorageDescription => 'SpotiFLAC membutuhkan izin penyimpanan untuk menyimpan file musik yang diunduh.'; + String get setupStorageDescription => + 'SpotiFLAC membutuhkan izin penyimpanan untuk menyimpan file musik yang diunduh.'; @override String get setupNotificationGranted => 'Izin Notifikasi Diberikan!'; @@ -694,7 +731,8 @@ class AppLocalizationsId extends AppLocalizations { String get setupNotificationEnable => 'Aktifkan Notifikasi'; @override - String get setupNotificationDescription => 'Dapatkan pemberitahuan saat unduhan selesai atau membutuhkan perhatian.'; + String get setupNotificationDescription => + 'Dapatkan pemberitahuan saat unduhan selesai atau membutuhkan perhatian.'; @override String get setupFolderSelected => 'Folder Unduhan Dipilih!'; @@ -703,7 +741,8 @@ class AppLocalizationsId extends AppLocalizations { String get setupFolderChoose => 'Pilih Folder Unduhan'; @override - String get setupFolderDescription => 'Pilih folder tempat musik yang diunduh akan disimpan.'; + String get setupFolderDescription => + 'Pilih folder tempat musik yang diunduh akan disimpan.'; @override String get setupChangeFolder => 'Ubah Folder'; @@ -715,7 +754,8 @@ class AppLocalizationsId extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (Opsional)'; @override - String get setupSpotifyApiDescription => 'Tambahkan kredensial Spotify API untuk hasil pencarian lebih baik dan akses ke konten eksklusif Spotify.'; + String get setupSpotifyApiDescription => + 'Tambahkan kredensial Spotify API untuk hasil pencarian lebih baik dan akses ke konten eksklusif Spotify.'; @override String get setupUseSpotifyApi => 'Gunakan Spotify API'; @@ -733,19 +773,23 @@ class AppLocalizationsId extends AppLocalizations { String get setupEnterClientSecret => 'Masukkan Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Dapatkan kredensial API gratis dari Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Dapatkan kredensial API gratis dari Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Aktifkan Notifikasi'; @override - String get setupProceedToNextStep => 'Anda dapat melanjutkan ke langkah berikutnya.'; + String get setupProceedToNextStep => + 'Anda dapat melanjutkan ke langkah berikutnya.'; @override - String get setupNotificationProgressDescription => 'Anda akan menerima notifikasi progres unduhan.'; + String get setupNotificationProgressDescription => + 'Anda akan menerima notifikasi progres unduhan.'; @override - String get setupNotificationBackgroundDescription => 'Dapatkan notifikasi tentang progres dan penyelesaian unduhan. Ini membantu Anda melacak unduhan saat aplikasi di latar belakang.'; + String get setupNotificationBackgroundDescription => + 'Dapatkan notifikasi tentang progres dan penyelesaian unduhan. Ini membantu Anda melacak unduhan saat aplikasi di latar belakang.'; @override String get setupSkipForNow => 'Lewati untuk sekarang'; @@ -763,10 +807,12 @@ class AppLocalizationsId extends AppLocalizations { String get setupSkipAndStart => 'Lewati & Mulai'; @override - String get setupAllowAccessToManageFiles => 'Harap aktifkan \"Izinkan akses untuk mengelola semua file\" di layar berikutnya.'; + String get setupAllowAccessToManageFiles => + 'Harap aktifkan \"Izinkan akses untuk mengelola semua file\" di layar berikutnya.'; @override - String get setupGetCredentialsFromSpotify => 'Dapatkan kredensial dari developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Dapatkan kredensial dari developer.spotify.com'; @override String get dialogCancel => 'Batal'; @@ -817,7 +863,8 @@ class AppLocalizationsId extends AppLocalizations { String get dialogDiscardChanges => 'Buang Perubahan?'; @override - String get dialogUnsavedChanges => 'Anda memiliki perubahan yang belum disimpan. Apakah Anda ingin membuangnya?'; + String get dialogUnsavedChanges => + 'Anda memiliki perubahan yang belum disimpan. Apakah Anda ingin membuangnya?'; @override String get dialogDownloadFailed => 'Unduhan Gagal'; @@ -835,7 +882,8 @@ class AppLocalizationsId extends AppLocalizations { String get dialogClearAll => 'Hapus Semua'; @override - String get dialogClearAllDownloads => 'Apakah Anda yakin ingin menghapus semua unduhan?'; + String get dialogClearAllDownloads => + 'Apakah Anda yakin ingin menghapus semua unduhan?'; @override String get dialogRemoveFromDevice => 'Hapus dari perangkat?'; @@ -844,7 +892,8 @@ class AppLocalizationsId extends AppLocalizations { String get dialogRemoveExtension => 'Hapus Ekstensi'; @override - String get dialogRemoveExtensionMessage => 'Apakah Anda yakin ingin menghapus ekstensi ini? Tindakan ini tidak dapat dibatalkan.'; + String get dialogRemoveExtensionMessage => + 'Apakah Anda yakin ingin menghapus ekstensi ini? Tindakan ini tidak dapat dibatalkan.'; @override String get dialogUninstallExtension => 'Copot Ekstensi?'; @@ -858,7 +907,8 @@ class AppLocalizationsId extends AppLocalizations { String get dialogClearHistoryTitle => 'Hapus Riwayat'; @override - String get dialogClearHistoryMessage => 'Apakah Anda yakin ingin menghapus semua riwayat unduhan? Ini tidak dapat dibatalkan.'; + String get dialogClearHistoryMessage => + 'Apakah Anda yakin ingin menghapus semua riwayat unduhan? Ini tidak dapat dibatalkan.'; @override String get dialogDeleteSelectedTitle => 'Hapus yang Dipilih'; @@ -902,6 +952,11 @@ class AppLocalizationsId extends AppLocalizations { return '\"$trackName\" sudah diunduh'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'Riwayat dihapus'; @@ -953,7 +1008,8 @@ class AppLocalizationsId extends AppLocalizations { String get snackbarProviderPrioritySaved => 'Prioritas provider disimpan'; @override - String get snackbarMetadataProviderSaved => 'Prioritas provider metadata disimpan'; + String get snackbarMetadataProviderSaved => + 'Prioritas provider metadata disimpan'; @override String snackbarExtensionInstalled(String extensionName) { @@ -975,7 +1031,8 @@ class AppLocalizationsId extends AppLocalizations { String get errorRateLimited => 'Dibatasi'; @override - String get errorRateLimitedMessage => 'Terlalu banyak permintaan. Harap tunggu sebentar sebelum mencari lagi.'; + String get errorRateLimitedMessage => + 'Terlalu banyak permintaan. Harap tunggu sebentar sebelum mencari lagi.'; @override String errorFailedToLoad(String item) { @@ -1142,19 +1199,23 @@ class AppLocalizationsId extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Berdasarkan Artis & Album'; @override - String get folderOrganizationDescription => 'Atur file yang diunduh ke dalam folder'; + String get folderOrganizationDescription => + 'Atur file yang diunduh ke dalam folder'; @override String get folderOrganizationNoneSubtitle => 'Semua file di folder unduhan'; @override - String get folderOrganizationByArtistSubtitle => 'Folder terpisah untuk setiap artis'; + String get folderOrganizationByArtistSubtitle => + 'Folder terpisah untuk setiap artis'; @override - String get folderOrganizationByAlbumSubtitle => 'Folder terpisah untuk setiap album'; + String get folderOrganizationByAlbumSubtitle => + 'Folder terpisah untuk setiap album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Folder bersarang untuk artis dan album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Folder bersarang untuk artis dan album'; @override String get updateAvailable => 'Pembaruan Tersedia'; @@ -1207,16 +1268,19 @@ class AppLocalizationsId extends AppLocalizations { String get providerPriority => 'Prioritas Provider'; @override - String get providerPrioritySubtitle => 'Seret untuk mengatur ulang provider unduhan'; + String get providerPrioritySubtitle => + 'Seret untuk mengatur ulang provider unduhan'; @override String get providerPriorityTitle => 'Prioritas Provider'; @override - String get providerPriorityDescription => 'Seret untuk mengatur ulang urutan provider unduhan. Aplikasi akan mencoba provider dari atas ke bawah saat mengunduh lagu.'; + String get providerPriorityDescription => + 'Seret untuk mengatur ulang urutan provider unduhan. Aplikasi akan mencoba provider dari atas ke bawah saat mengunduh lagu.'; @override - String get providerPriorityInfo => 'Jika lagu tidak tersedia di provider pertama, aplikasi akan otomatis mencoba yang berikutnya.'; + String get providerPriorityInfo => + 'Jika lagu tidak tersedia di provider pertama, aplikasi akan otomatis mencoba yang berikutnya.'; @override String get providerBuiltIn => 'Bawaan'; @@ -1228,16 +1292,19 @@ class AppLocalizationsId extends AppLocalizations { String get metadataProviderPriority => 'Prioritas Provider Metadata'; @override - String get metadataProviderPrioritySubtitle => 'Urutan yang digunakan saat mengambil metadata lagu'; + String get metadataProviderPrioritySubtitle => + 'Urutan yang digunakan saat mengambil metadata lagu'; @override String get metadataProviderPriorityTitle => 'Prioritas Metadata'; @override - String get metadataProviderPriorityDescription => 'Seret untuk mengatur ulang urutan provider metadata. Aplikasi akan mencoba provider dari atas ke bawah saat mencari lagu dan mengambil metadata.'; + String get metadataProviderPriorityDescription => + 'Seret untuk mengatur ulang urutan provider metadata. Aplikasi akan mencoba provider dari atas ke bawah saat mencari lagu dan mengambil metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer tidak memiliki batas rate dan direkomendasikan sebagai utama. Spotify mungkin membatasi rate setelah banyak permintaan.'; + String get metadataProviderPriorityInfo => + 'Deezer tidak memiliki batas rate dan direkomendasikan sebagai utama. Spotify mungkin membatasi rate setelah banyak permintaan.'; @override String get metadataNoRateLimits => 'Tidak ada batas rate'; @@ -1282,7 +1349,8 @@ class AppLocalizationsId extends AppLocalizations { String get logClearLogsTitle => 'Hapus Log'; @override - String get logClearLogsMessage => 'Apakah Anda yakin ingin menghapus semua log?'; + String get logClearLogsMessage => + 'Apakah Anda yakin ingin menghapus semua log?'; @override String get logIspBlocking => 'PEMBLOKIRAN ISP TERDETEKSI'; @@ -1303,22 +1371,27 @@ class AppLocalizationsId extends AppLocalizations { String get logNoLogsYet => 'Belum ada log'; @override - String get logNoLogsYetSubtitle => 'Log akan muncul di sini saat Anda menggunakan aplikasi'; + String get logNoLogsYetSubtitle => + 'Log akan muncul di sini saat Anda menggunakan aplikasi'; @override String get logIssueSummary => 'Ringkasan Masalah'; @override - String get logIspBlockingDescription => 'ISP Anda mungkin memblokir akses ke layanan unduhan'; + String get logIspBlockingDescription => + 'ISP Anda mungkin memblokir akses ke layanan unduhan'; @override - String get logIspBlockingSuggestion => 'Coba gunakan VPN atau ubah DNS ke 1.1.1.1 atau 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Coba gunakan VPN atau ubah DNS ke 1.1.1.1 atau 8.8.8.8'; @override - String get logRateLimitedDescription => 'Terlalu banyak permintaan ke layanan'; + String get logRateLimitedDescription => + 'Terlalu banyak permintaan ke layanan'; @override - String get logRateLimitedSuggestion => 'Tunggu beberapa menit sebelum mencoba lagi'; + String get logRateLimitedSuggestion => + 'Tunggu beberapa menit sebelum mencoba lagi'; @override String get logNetworkErrorDescription => 'Masalah koneksi terdeteksi'; @@ -1327,10 +1400,12 @@ class AppLocalizationsId extends AppLocalizations { String get logNetworkErrorSuggestion => 'Periksa koneksi internet Anda'; @override - String get logTrackNotFoundDescription => 'Beberapa lagu tidak dapat ditemukan di layanan unduhan'; + String get logTrackNotFoundDescription => + 'Beberapa lagu tidak dapat ditemukan di layanan unduhan'; @override - String get logTrackNotFoundSuggestion => 'Lagu mungkin tidak tersedia dalam kualitas lossless'; + String get logTrackNotFoundSuggestion => + 'Lagu mungkin tidak tersedia dalam kualitas lossless'; @override String logTotalErrors(int count) { @@ -1356,7 +1431,8 @@ class AppLocalizationsId extends AppLocalizations { String get credentialsTitle => 'Kredensial Spotify'; @override - String get credentialsDescription => 'Masukkan Client ID dan Secret Anda untuk menggunakan kuota aplikasi Spotify Anda sendiri.'; + String get credentialsDescription => + 'Masukkan Client ID dan Secret Anda untuk menggunakan kuota aplikasi Spotify Anda sendiri.'; @override String get credentialsClientId => 'Client ID'; @@ -1410,7 +1486,8 @@ class AppLocalizationsId extends AppLocalizations { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -1422,7 +1499,8 @@ class AppLocalizationsId extends AppLocalizations { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -1582,7 +1660,8 @@ class AppLocalizationsId extends AppLocalizations { String get trackDeleteConfirmTitle => 'Hapus dari perangkat?'; @override - String get trackDeleteConfirmMessage => 'Ini akan menghapus file unduhan secara permanen dan menghapusnya dari riwayat Anda.'; + String get trackDeleteConfirmMessage => + 'Ini akan menghapus file unduhan secara permanen dan menghapusnya dari riwayat Anda.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1813,15 @@ class AppLocalizationsId extends AppLocalizations { String get extensionsNoExtensions => 'Tidak ada ekstensi terpasang'; @override - String get extensionsNoExtensionsSubtitle => 'Pasang file .spotiflac-ext untuk menambahkan provider baru'; + String get extensionsNoExtensionsSubtitle => + 'Pasang file .spotiflac-ext untuk menambahkan provider baru'; @override String get extensionsInstallButton => 'Pasang Ekstensi'; @override - String get extensionsInfoTip => 'Ekstensi dapat menambahkan provider metadata dan unduhan baru. Hanya pasang ekstensi dari sumber terpercaya.'; + String get extensionsInfoTip => + 'Ekstensi dapat menambahkan provider metadata dan unduhan baru. Hanya pasang ekstensi dari sumber terpercaya.'; @override String get extensionsInstalledSuccess => 'Ekstensi berhasil dipasang'; @@ -1749,28 +1830,34 @@ class AppLocalizationsId extends AppLocalizations { String get extensionsDownloadPriority => 'Prioritas Unduhan'; @override - String get extensionsDownloadPrioritySubtitle => 'Atur urutan layanan unduhan'; + String get extensionsDownloadPrioritySubtitle => + 'Atur urutan layanan unduhan'; @override - String get extensionsNoDownloadProvider => 'Tidak ada ekstensi dengan provider unduhan'; + String get extensionsNoDownloadProvider => + 'Tidak ada ekstensi dengan provider unduhan'; @override String get extensionsMetadataPriority => 'Prioritas Metadata'; @override - String get extensionsMetadataPrioritySubtitle => 'Atur urutan sumber pencarian & metadata'; + String get extensionsMetadataPrioritySubtitle => + 'Atur urutan sumber pencarian & metadata'; @override - String get extensionsNoMetadataProvider => 'Tidak ada ekstensi dengan provider metadata'; + String get extensionsNoMetadataProvider => + 'Tidak ada ekstensi dengan provider metadata'; @override String get extensionsSearchProvider => 'Provider Pencarian'; @override - String get extensionsNoCustomSearch => 'Tidak ada ekstensi dengan pencarian kustom'; + String get extensionsNoCustomSearch => + 'Tidak ada ekstensi dengan pencarian kustom'; @override - String get extensionsSearchProviderDescription => 'Pilih layanan yang digunakan untuk mencari lagu'; + String get extensionsSearchProviderDescription => + 'Pilih layanan yang digunakan untuk mencari lagu'; @override String get extensionsCustomSearch => 'Pencarian kustom'; @@ -1812,7 +1899,8 @@ class AppLocalizationsId extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,10 +1912,12 @@ class AppLocalizationsId extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Kualitas sebenarnya tergantung ketersediaan lagu dari layanan'; + String get qualityNote => + 'Kualitas sebenarnya tergantung ketersediaan lagu dari layanan'; @override String get downloadAskBeforeDownload => 'Tanya Sebelum Unduh'; @@ -1863,7 +1953,8 @@ class AppLocalizationsId extends AppLocalizations { String get folderNone => 'Tidak ada'; @override - String get folderNoneSubtitle => 'Simpan semua file langsung ke folder unduhan'; + String get folderNoneSubtitle => + 'Simpan semua file langsung ke folder unduhan'; @override String get folderArtist => 'Artis'; @@ -1917,13 +2008,15 @@ class AppLocalizationsId extends AppLocalizations { String get queueClearAll => 'Hapus Semua'; @override - String get queueClearAllMessage => 'Apakah Anda yakin ingin menghapus semua unduhan?'; + String get queueClearAllMessage => + 'Apakah Anda yakin ingin menghapus semua unduhan?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2028,8 @@ class AppLocalizationsId extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2041,8 @@ class AppLocalizationsId extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'Tidak ada unduhan dalam antrian'; @@ -1983,7 +2078,8 @@ class AppLocalizationsId extends AppLocalizations { String get albumFolderArtistYearAlbum => 'Artis / [Tahun] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Nama Artis/[2005] Nama Album/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Nama Artis/[2005] Nama Album/'; @override String get albumFolderAlbumOnly => 'Album Saja'; @@ -2001,7 +2097,8 @@ class AppLocalizationsId extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Hapus yang Dipilih'; @@ -2111,7 +2208,8 @@ class AppLocalizationsId extends AppLocalizations { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -2158,13 +2256,16 @@ class AppLocalizationsId extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2286,8 @@ class AppLocalizationsId extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2299,8 @@ class AppLocalizationsId extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2318,8 @@ class AppLocalizationsId extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2331,15 @@ class AppLocalizationsId extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2377,8 @@ class AppLocalizationsId extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; diff --git a/lib/l10n/app_localizations_ja.dart b/lib/l10n/app_localizations_ja.dart index 12824326..25658b7d 100644 --- a/lib/l10n/app_localizations_ja.dart +++ b/lib/l10n/app_localizations_ja.dart @@ -12,7 +12,8 @@ class AppLocalizationsJa extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Tidal、Qobuz、Amazon Music から Spotify のトラックをロスレス品質でダウンロードします。'; + String get appDescription => + 'Tidal、Qobuz、Amazon Music から Spotify のトラックをロスレス品質でダウンロードします。'; @override String get navHome => 'ホーム'; @@ -101,13 +102,15 @@ class AppLocalizationsJa extends AppLocalizations { String get historyNoAlbums => 'アルバムのダウンロードはありません'; @override - String get historyNoAlbumsSubtitle => 'Download multiple tracks from an album to see them here'; + String get historyNoAlbumsSubtitle => + 'Download multiple tracks from an album to see them here'; @override String get historyNoSingles => 'シングルのダウンロードはありません'; @override - String get historyNoSinglesSubtitle => 'Single track downloads will appear here'; + String get historyNoSinglesSubtitle => + 'Single track downloads will appear here'; @override String get historySearchHint => '検索履歴...'; @@ -155,7 +158,8 @@ class AppLocalizationsJa extends AppLocalizations { String get downloadAskQuality => 'ダウンロード前に品質を確認する'; @override - String get downloadAskQualitySubtitle => 'Show quality picker for each download'; + String get downloadAskQualitySubtitle => + 'Show quality picker for each download'; @override String get downloadFilenameFormat => 'ファイル名の形式'; @@ -167,7 +171,8 @@ class AppLocalizationsJa extends AppLocalizations { String get downloadSeparateSingles => 'シングルを分割'; @override - String get downloadSeparateSinglesSubtitle => 'Put single tracks in a separate folder'; + String get downloadSeparateSinglesSubtitle => + 'Put single tracks in a separate folder'; @override String get qualityBest => 'おすすめ'; @@ -224,7 +229,8 @@ class AppLocalizationsJa extends AppLocalizations { String get optionsPrimaryProvider => 'プライマリーのプロバイダー'; @override - String get optionsPrimaryProviderSubtitle => 'Service used when searching by track name.'; + String get optionsPrimaryProviderSubtitle => + 'Service used when searching by track name.'; @override String optionsUsingExtension(String extensionName) { @@ -232,13 +238,15 @@ class AppLocalizationsJa extends AppLocalizations { } @override - String get optionsSwitchBack => 'Tap Deezer or Spotify to switch back from extension'; + String get optionsSwitchBack => + 'Tap Deezer or Spotify to switch back from extension'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Try other services if download fails'; + String get optionsAutoFallbackSubtitle => + 'Try other services if download fails'; @override String get optionsUseExtensionProviders => '拡張のプロバイダーを使用する'; @@ -273,7 +281,8 @@ class AppLocalizationsJa extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Parallel downloads may trigger rate limiting'; + String get optionsConcurrentWarning => + 'Parallel downloads may trigger rate limiting'; @override String get optionsExtensionStore => '拡張ストア'; @@ -285,7 +294,8 @@ class AppLocalizationsJa extends AppLocalizations { String get optionsCheckUpdates => '更新を確認'; @override - String get optionsCheckUpdatesSubtitle => 'Notify when new version is available'; + String get optionsCheckUpdatesSubtitle => + 'Notify when new version is available'; @override String get optionsUpdateChannel => '更新チャンネル'; @@ -297,7 +307,8 @@ class AppLocalizationsJa extends AppLocalizations { String get optionsUpdateChannelPreview => 'プレビューリリースを入手'; @override - String get optionsUpdateChannelWarning => 'Preview may contain bugs or incomplete features'; + String get optionsUpdateChannelWarning => + 'Preview may contain bugs or incomplete features'; @override String get optionsClearHistory => 'ダウンロード履歴を消去'; @@ -326,7 +337,8 @@ class AppLocalizationsJa extends AppLocalizations { String get optionsSpotifyCredentialsRequired => '必須 - タップで設定'; @override - String get optionsSpotifyWarning => 'Spotify は独自の API 認証情報が必要です。developer.spotify.com から取得できます。'; + String get optionsSpotifyWarning => + 'Spotify は独自の API 認証情報が必要です。developer.spotify.com から取得できます。'; @override String get extensionsTitle => '拡張'; @@ -450,28 +462,34 @@ class AppLocalizationsJa extends AppLocalizations { String get aboutVersion => 'バージョン'; @override - String get aboutBinimumDesc => 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; + String get aboutBinimumDesc => + 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; @override - String get aboutSachinsenalDesc => 'The original HiFi project creator. The foundation of Tidal integration!'; + String get aboutSachinsenalDesc => + 'The original HiFi project creator. The foundation of Tidal integration!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazing API for Amazon Music downloads. Thank you for making it free!'; + String get aboutDoubleDoubleDesc => + 'Amazing API for Amazon Music downloads. Thank you for making it free!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; + String get aboutDabMusicDesc => + 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; @override - String get aboutAppDescription => 'Tidal、Qobuz、Amazon Music から Spotify のトラックをロスレス品質でダウンロードします。'; + String get aboutAppDescription => + 'Tidal、Qobuz、Amazon Music から Spotify のトラックをロスレス品質でダウンロードします。'; @override String get albumTitle => 'アルバム'; @@ -603,16 +621,19 @@ class AppLocalizationsJa extends AppLocalizations { String get setupStorageAccessRequired => 'ストレージアクセスが必要です'; @override - String get setupStorageAccessMessage => 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; + String get setupStorageAccessMessage => + 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; @override String get setupOpenSettings => '設定を開く'; @override - String get setupPermissionDeniedMessage => 'Permission denied. Please grant all permissions to continue.'; + String get setupPermissionDeniedMessage => + 'Permission denied. Please grant all permissions to continue.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +652,8 @@ class AppLocalizationsJa extends AppLocalizations { String get setupUseDefaultFolder => 'デフォルトのフォルダを使用しますか?'; @override - String get setupNoFolderSelected => 'No folder selected. Would you like to use the default Music folder?'; + String get setupNoFolderSelected => + 'No folder selected. Would you like to use the default Music folder?'; @override String get setupUseDefault => 'デフォルトを使用する'; @@ -640,13 +662,15 @@ class AppLocalizationsJa extends AppLocalizations { String get setupDownloadLocationTitle => 'ダウンロード先'; @override - String get setupDownloadLocationIosMessage => 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; + String get setupDownloadLocationIosMessage => + 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; @override String get setupAppDocumentsFolder => 'アプリのドキュメントフォルダ'; @override - String get setupAppDocumentsFolderSubtitle => 'Recommended - accessible via Files app'; + String get setupAppDocumentsFolderSubtitle => + 'Recommended - accessible via Files app'; @override String get setupChooseFromFiles => 'ファイルから選択'; @@ -655,10 +679,12 @@ class AppLocalizationsJa extends AppLocalizations { String get setupChooseFromFilesSubtitle => 'iCloud またはその他の場所を選択'; @override - String get setupIosEmptyFolderWarning => 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; + String get setupIosEmptyFolderWarning => + 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Spotify のトラックを FLAC でダウンロード'; @@ -685,7 +711,8 @@ class AppLocalizationsJa extends AppLocalizations { String get setupStorageRequired => 'ストレージの権限が必要です'; @override - String get setupStorageDescription => 'SpotiFLAC はダウンロードした音楽ファイルを保存するためにストレージの権限が必要です。'; + String get setupStorageDescription => + 'SpotiFLAC はダウンロードした音楽ファイルを保存するためにストレージの権限が必要です。'; @override String get setupNotificationGranted => '通知の権限が許可されました!'; @@ -694,7 +721,8 @@ class AppLocalizationsJa extends AppLocalizations { String get setupNotificationEnable => '通知を有効化する'; @override - String get setupNotificationDescription => 'Get notified when downloads complete or require attention.'; + String get setupNotificationDescription => + 'Get notified when downloads complete or require attention.'; @override String get setupFolderSelected => 'ダウンロードフォルダが選択済みです!'; @@ -703,7 +731,8 @@ class AppLocalizationsJa extends AppLocalizations { String get setupFolderChoose => 'ダウンロードフォルダを選択'; @override - String get setupFolderDescription => 'Select a folder where your downloaded music will be saved.'; + String get setupFolderDescription => + 'Select a folder where your downloaded music will be saved.'; @override String get setupChangeFolder => 'フォルダを変更'; @@ -715,7 +744,8 @@ class AppLocalizationsJa extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (任意)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Spotify API を使用する'; @@ -733,7 +763,8 @@ class AppLocalizationsJa extends AppLocalizations { String get setupEnterClientSecret => 'Spotify クライアントシークレットを入力'; @override - String get setupGetFreeCredentials => 'Spotify 開発者ダッシュボードから無料の API 認証情報を取得します。'; + String get setupGetFreeCredentials => + 'Spotify 開発者ダッシュボードから無料の API 認証情報を取得します。'; @override String get setupEnableNotifications => '通知を有効化する'; @@ -742,10 +773,12 @@ class AppLocalizationsJa extends AppLocalizations { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => '今はスキップ'; @@ -763,10 +796,12 @@ class AppLocalizationsJa extends AppLocalizations { String get setupSkipAndStart => 'スキップと開始'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'developer.spotify.com から認証情報を取得します'; + String get setupGetCredentialsFromSpotify => + 'developer.spotify.com から認証情報を取得します'; @override String get dialogCancel => 'キャンセル'; @@ -817,7 +852,8 @@ class AppLocalizationsJa extends AppLocalizations { String get dialogDiscardChanges => '変更を破棄しますか?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'ダウンロードに失敗しました'; @@ -835,7 +871,8 @@ class AppLocalizationsJa extends AppLocalizations { String get dialogClearAll => 'すべて消去'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'デバイスから削除しますか?'; @@ -844,7 +881,8 @@ class AppLocalizationsJa extends AppLocalizations { String get dialogRemoveExtension => '拡張を削除'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => '拡張をアンインストールしますか?'; @@ -858,7 +896,8 @@ class AppLocalizationsJa extends AppLocalizations { String get dialogClearHistoryTitle => '履歴を消去'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => '選択済みを削除'; @@ -902,6 +941,11 @@ class AppLocalizationsJa extends AppLocalizations { return '「$trackName」は既にダウンロードされています'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => '履歴を消去しました'; @@ -975,7 +1019,8 @@ class AppLocalizationsJa extends AppLocalizations { String get errorRateLimited => 'レート制限'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -1148,13 +1193,16 @@ class AppLocalizationsJa extends AppLocalizations { String get folderOrganizationNoneSubtitle => 'ダウンロードフォルダ内のすべてのファイル'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => '更新が利用可能です'; @@ -1213,10 +1261,12 @@ class AppLocalizationsJa extends AppLocalizations { String get providerPriorityTitle => 'プロバイダーの優先度'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => '内蔵'; @@ -1228,16 +1278,19 @@ class AppLocalizationsJa extends AppLocalizations { String get metadataProviderPriority => 'メタデータプロバイダーの優先度'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'メタデータの優先度'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'レート制限はありません'; @@ -1309,16 +1362,19 @@ class AppLocalizationsJa extends AppLocalizations { String get logIssueSummary => '問題の概要'; @override - String get logIspBlockingDescription => 'ISP がダウンロードサービスのアクセスをブロックしている可能性があります'; + String get logIspBlockingDescription => + 'ISP がダウンロードサービスのアクセスをブロックしている可能性があります'; @override - String get logIspBlockingSuggestion => 'VPN を使用するか DNS を 1.1.1.1 または 8.8.8.8 に変更をお試しください'; + String get logIspBlockingSuggestion => + 'VPN を使用するか DNS を 1.1.1.1 または 8.8.8.8 に変更をお試しください'; @override String get logRateLimitedDescription => 'サービスへのリクエストが多すぎます'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => '接続の問題が検出されました'; @@ -1327,10 +1383,12 @@ class AppLocalizationsJa extends AppLocalizations { String get logNetworkErrorSuggestion => 'インターネット接続を確認してください'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -1356,7 +1414,8 @@ class AppLocalizationsJa extends AppLocalizations { String get credentialsTitle => 'Spotify の認証情報'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'クライアント ID'; @@ -1410,7 +1469,8 @@ class AppLocalizationsJa extends AppLocalizations { String get lyricsMode => '歌詞モード'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -1422,7 +1482,8 @@ class AppLocalizationsJa extends AppLocalizations { String get lyricsModeExternal => '外部 .lrc ファイル'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => '両方'; @@ -1582,7 +1643,8 @@ class AppLocalizationsJa extends AppLocalizations { String get trackDeleteConfirmTitle => 'デバイスから削除しますか?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1796,15 @@ class AppLocalizationsJa extends AppLocalizations { String get extensionsNoExtensions => '拡張はインストールされていません'; @override - String get extensionsNoExtensionsSubtitle => '新しいプロバイダーを追加するには .spotiflac-ext ファイルをインストールします'; + String get extensionsNoExtensionsSubtitle => + '新しいプロバイダーを追加するには .spotiflac-ext ファイルをインストールします'; @override String get extensionsInstallButton => '拡張をインストール'; @override - String get extensionsInfoTip => '拡張は新しいメタデータとダウンロードプロバイダーを追加することがあります。信頼できるソースからの拡張のみをインストールしてください。'; + String get extensionsInfoTip => + '拡張は新しいメタデータとダウンロードプロバイダーを追加することがあります。信頼できるソースからの拡張のみをインストールしてください。'; @override String get extensionsInstalledSuccess => '拡張のインストールが成功しました'; @@ -1812,7 +1876,8 @@ class AppLocalizationsJa extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,7 +1889,8 @@ class AppLocalizationsJa extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override String get qualityNote => '実際の品質はサービスからのトラックの可用性に依存します'; @@ -1923,7 +1989,8 @@ class AppLocalizationsJa extends AppLocalizations { String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2002,8 @@ class AppLocalizationsJa extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2015,8 @@ class AppLocalizationsJa extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'キューにダウンロードがありません'; @@ -2001,7 +2070,8 @@ class AppLocalizationsJa extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => '選択済みを削除'; @@ -2111,7 +2181,8 @@ class AppLocalizationsJa extends AppLocalizations { String get discographySelectAlbums => 'アルバムを選択...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'トラックを取得中です...'; @@ -2158,13 +2229,16 @@ class AppLocalizationsJa extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2259,8 @@ class AppLocalizationsJa extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2272,8 @@ class AppLocalizationsJa extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2291,8 @@ class AppLocalizationsJa extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2304,15 @@ class AppLocalizationsJa extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2350,8 @@ class AppLocalizationsJa extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; diff --git a/lib/l10n/app_localizations_ko.dart b/lib/l10n/app_localizations_ko.dart index 760c6913..290d94c2 100644 --- a/lib/l10n/app_localizations_ko.dart +++ b/lib/l10n/app_localizations_ko.dart @@ -12,7 +12,8 @@ class AppLocalizationsKo extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get appDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get navHome => 'Home'; @@ -101,13 +102,15 @@ class AppLocalizationsKo extends AppLocalizations { String get historyNoAlbums => 'No album downloads'; @override - String get historyNoAlbumsSubtitle => 'Download multiple tracks from an album to see them here'; + String get historyNoAlbumsSubtitle => + 'Download multiple tracks from an album to see them here'; @override String get historyNoSingles => 'No single downloads'; @override - String get historyNoSinglesSubtitle => 'Single track downloads will appear here'; + String get historyNoSinglesSubtitle => + 'Single track downloads will appear here'; @override String get historySearchHint => 'Search history...'; @@ -155,7 +158,8 @@ class AppLocalizationsKo extends AppLocalizations { String get downloadAskQuality => 'Ask Quality Before Download'; @override - String get downloadAskQualitySubtitle => 'Show quality picker for each download'; + String get downloadAskQualitySubtitle => + 'Show quality picker for each download'; @override String get downloadFilenameFormat => 'Filename Format'; @@ -167,7 +171,8 @@ class AppLocalizationsKo extends AppLocalizations { String get downloadSeparateSingles => 'Separate Singles'; @override - String get downloadSeparateSinglesSubtitle => 'Put single tracks in a separate folder'; + String get downloadSeparateSinglesSubtitle => + 'Put single tracks in a separate folder'; @override String get qualityBest => 'Best Available'; @@ -224,7 +229,8 @@ class AppLocalizationsKo extends AppLocalizations { String get optionsPrimaryProvider => 'Primary Provider'; @override - String get optionsPrimaryProviderSubtitle => 'Service used when searching by track name.'; + String get optionsPrimaryProviderSubtitle => + 'Service used when searching by track name.'; @override String optionsUsingExtension(String extensionName) { @@ -232,13 +238,15 @@ class AppLocalizationsKo extends AppLocalizations { } @override - String get optionsSwitchBack => 'Tap Deezer or Spotify to switch back from extension'; + String get optionsSwitchBack => + 'Tap Deezer or Spotify to switch back from extension'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Try other services if download fails'; + String get optionsAutoFallbackSubtitle => + 'Try other services if download fails'; @override String get optionsUseExtensionProviders => 'Use Extension Providers'; @@ -253,13 +261,15 @@ class AppLocalizationsKo extends AppLocalizations { String get optionsEmbedLyrics => 'Embed Lyrics'; @override - String get optionsEmbedLyricsSubtitle => 'Embed synced lyrics into FLAC files'; + String get optionsEmbedLyricsSubtitle => + 'Embed synced lyrics into FLAC files'; @override String get optionsMaxQualityCover => 'Max Quality Cover'; @override - String get optionsMaxQualityCoverSubtitle => 'Download highest resolution cover art'; + String get optionsMaxQualityCoverSubtitle => + 'Download highest resolution cover art'; @override String get optionsConcurrentDownloads => 'Concurrent Downloads'; @@ -273,7 +283,8 @@ class AppLocalizationsKo extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Parallel downloads may trigger rate limiting'; + String get optionsConcurrentWarning => + 'Parallel downloads may trigger rate limiting'; @override String get optionsExtensionStore => 'Extension Store'; @@ -285,7 +296,8 @@ class AppLocalizationsKo extends AppLocalizations { String get optionsCheckUpdates => 'Check for Updates'; @override - String get optionsCheckUpdatesSubtitle => 'Notify when new version is available'; + String get optionsCheckUpdatesSubtitle => + 'Notify when new version is available'; @override String get optionsUpdateChannel => 'Update Channel'; @@ -297,13 +309,15 @@ class AppLocalizationsKo extends AppLocalizations { String get optionsUpdateChannelPreview => 'Get preview releases'; @override - String get optionsUpdateChannelWarning => 'Preview may contain bugs or incomplete features'; + String get optionsUpdateChannelWarning => + 'Preview may contain bugs or incomplete features'; @override String get optionsClearHistory => 'Clear Download History'; @override - String get optionsClearHistorySubtitle => 'Remove all downloaded tracks from history'; + String get optionsClearHistorySubtitle => + 'Remove all downloaded tracks from history'; @override String get optionsDetailedLogging => 'Detailed Logging'; @@ -326,7 +340,8 @@ class AppLocalizationsKo extends AppLocalizations { String get optionsSpotifyCredentialsRequired => 'Required - tap to configure'; @override - String get optionsSpotifyWarning => 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; @override String get extensionsTitle => 'Extensions'; @@ -390,7 +405,8 @@ class AppLocalizationsKo extends AppLocalizations { String get aboutOriginalCreator => 'Creator of the original SpotiFLAC'; @override - String get aboutLogoArtist => 'The talented artist who created our beautiful app logo!'; + String get aboutLogoArtist => + 'The talented artist who created our beautiful app logo!'; @override String get aboutTranslators => 'Translators'; @@ -450,28 +466,34 @@ class AppLocalizationsKo extends AppLocalizations { String get aboutVersion => 'Version'; @override - String get aboutBinimumDesc => 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; + String get aboutBinimumDesc => + 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; @override - String get aboutSachinsenalDesc => 'The original HiFi project creator. The foundation of Tidal integration!'; + String get aboutSachinsenalDesc => + 'The original HiFi project creator. The foundation of Tidal integration!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazing API for Amazon Music downloads. Thank you for making it free!'; + String get aboutDoubleDoubleDesc => + 'Amazing API for Amazon Music downloads. Thank you for making it free!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; + String get aboutDabMusicDesc => + 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; @override - String get aboutAppDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get aboutAppDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get albumTitle => 'Album'; @@ -576,7 +598,8 @@ class AppLocalizationsKo extends AppLocalizations { String get setupStoragePermission => 'Storage Permission'; @override - String get setupStoragePermissionSubtitle => 'Required to save downloaded files'; + String get setupStoragePermissionSubtitle => + 'Required to save downloaded files'; @override String get setupStoragePermissionGranted => 'Permission granted'; @@ -603,16 +626,19 @@ class AppLocalizationsKo extends AppLocalizations { String get setupStorageAccessRequired => 'Storage Access Required'; @override - String get setupStorageAccessMessage => 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; + String get setupStorageAccessMessage => + 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; @override String get setupOpenSettings => 'Open Settings'; @override - String get setupPermissionDeniedMessage => 'Permission denied. Please grant all permissions to continue.'; + String get setupPermissionDeniedMessage => + 'Permission denied. Please grant all permissions to continue.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +657,8 @@ class AppLocalizationsKo extends AppLocalizations { String get setupUseDefaultFolder => 'Use Default Folder?'; @override - String get setupNoFolderSelected => 'No folder selected. Would you like to use the default Music folder?'; + String get setupNoFolderSelected => + 'No folder selected. Would you like to use the default Music folder?'; @override String get setupUseDefault => 'Use Default'; @@ -640,13 +667,15 @@ class AppLocalizationsKo extends AppLocalizations { String get setupDownloadLocationTitle => 'Download Location'; @override - String get setupDownloadLocationIosMessage => 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; + String get setupDownloadLocationIosMessage => + 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; @override String get setupAppDocumentsFolder => 'App Documents Folder'; @override - String get setupAppDocumentsFolderSubtitle => 'Recommended - accessible via Files app'; + String get setupAppDocumentsFolderSubtitle => + 'Recommended - accessible via Files app'; @override String get setupChooseFromFiles => 'Choose from Files'; @@ -655,10 +684,12 @@ class AppLocalizationsKo extends AppLocalizations { String get setupChooseFromFilesSubtitle => 'Select iCloud or other location'; @override - String get setupIosEmptyFolderWarning => 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; + String get setupIosEmptyFolderWarning => + 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Download Spotify tracks in FLAC'; @@ -685,7 +716,8 @@ class AppLocalizationsKo extends AppLocalizations { String get setupStorageRequired => 'Storage Permission Required'; @override - String get setupStorageDescription => 'SpotiFLAC needs storage permission to save your downloaded music files.'; + String get setupStorageDescription => + 'SpotiFLAC needs storage permission to save your downloaded music files.'; @override String get setupNotificationGranted => 'Notification Permission Granted!'; @@ -694,7 +726,8 @@ class AppLocalizationsKo extends AppLocalizations { String get setupNotificationEnable => 'Enable Notifications'; @override - String get setupNotificationDescription => 'Get notified when downloads complete or require attention.'; + String get setupNotificationDescription => + 'Get notified when downloads complete or require attention.'; @override String get setupFolderSelected => 'Download Folder Selected!'; @@ -703,7 +736,8 @@ class AppLocalizationsKo extends AppLocalizations { String get setupFolderChoose => 'Choose Download Folder'; @override - String get setupFolderDescription => 'Select a folder where your downloaded music will be saved.'; + String get setupFolderDescription => + 'Select a folder where your downloaded music will be saved.'; @override String get setupChangeFolder => 'Change Folder'; @@ -715,7 +749,8 @@ class AppLocalizationsKo extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (Optional)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Use Spotify API'; @@ -733,7 +768,8 @@ class AppLocalizationsKo extends AppLocalizations { String get setupEnterClientSecret => 'Enter Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Get your free API credentials from the Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Get your free API credentials from the Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Enable Notifications'; @@ -742,10 +778,12 @@ class AppLocalizationsKo extends AppLocalizations { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => 'Skip for now'; @@ -763,10 +801,12 @@ class AppLocalizationsKo extends AppLocalizations { String get setupSkipAndStart => 'Skip & Start'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'Get credentials from developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Get credentials from developer.spotify.com'; @override String get dialogCancel => 'Cancel'; @@ -817,7 +857,8 @@ class AppLocalizationsKo extends AppLocalizations { String get dialogDiscardChanges => 'Discard Changes?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'Download Failed'; @@ -835,7 +876,8 @@ class AppLocalizationsKo extends AppLocalizations { String get dialogClearAll => 'Clear All'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'Remove from device?'; @@ -844,7 +886,8 @@ class AppLocalizationsKo extends AppLocalizations { String get dialogRemoveExtension => 'Remove Extension'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => 'Uninstall Extension?'; @@ -858,7 +901,8 @@ class AppLocalizationsKo extends AppLocalizations { String get dialogClearHistoryTitle => 'Clear History'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => 'Delete Selected'; @@ -902,6 +946,11 @@ class AppLocalizationsKo extends AppLocalizations { return '\"$trackName\" already downloaded'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'History cleared'; @@ -953,7 +1002,8 @@ class AppLocalizationsKo extends AppLocalizations { String get snackbarProviderPrioritySaved => 'Provider priority saved'; @override - String get snackbarMetadataProviderSaved => 'Metadata provider priority saved'; + String get snackbarMetadataProviderSaved => + 'Metadata provider priority saved'; @override String snackbarExtensionInstalled(String extensionName) { @@ -975,7 +1025,8 @@ class AppLocalizationsKo extends AppLocalizations { String get errorRateLimited => 'Rate Limited'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -1142,19 +1193,23 @@ class AppLocalizationsKo extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Artist/Album'; @override - String get folderOrganizationDescription => 'Organize downloaded files into folders'; + String get folderOrganizationDescription => + 'Organize downloaded files into folders'; @override String get folderOrganizationNoneSubtitle => 'All files in download folder'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => 'Update Available'; @@ -1213,10 +1268,12 @@ class AppLocalizationsKo extends AppLocalizations { String get providerPriorityTitle => 'Provider Priority'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => 'Built-in'; @@ -1228,16 +1285,19 @@ class AppLocalizationsKo extends AppLocalizations { String get metadataProviderPriority => 'Metadata Provider Priority'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'Metadata Priority'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'No rate limits'; @@ -1309,16 +1369,19 @@ class AppLocalizationsKo extends AppLocalizations { String get logIssueSummary => 'Issue Summary'; @override - String get logIspBlockingDescription => 'Your ISP may be blocking access to download services'; + String get logIspBlockingDescription => + 'Your ISP may be blocking access to download services'; @override - String get logIspBlockingSuggestion => 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; @override String get logRateLimitedDescription => 'Too many requests to the service'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => 'Connection issues detected'; @@ -1327,10 +1390,12 @@ class AppLocalizationsKo extends AppLocalizations { String get logNetworkErrorSuggestion => 'Check your internet connection'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -1356,7 +1421,8 @@ class AppLocalizationsKo extends AppLocalizations { String get credentialsTitle => 'Spotify Credentials'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'Client ID'; @@ -1410,7 +1476,8 @@ class AppLocalizationsKo extends AppLocalizations { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -1422,7 +1489,8 @@ class AppLocalizationsKo extends AppLocalizations { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -1582,7 +1650,8 @@ class AppLocalizationsKo extends AppLocalizations { String get trackDeleteConfirmTitle => 'Remove from device?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1803,15 @@ class AppLocalizationsKo extends AppLocalizations { String get extensionsNoExtensions => 'No extensions installed'; @override - String get extensionsNoExtensionsSubtitle => 'Install .spotiflac-ext files to add new providers'; + String get extensionsNoExtensionsSubtitle => + 'Install .spotiflac-ext files to add new providers'; @override String get extensionsInstallButton => 'Install Extension'; @override - String get extensionsInfoTip => 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; + String get extensionsInfoTip => + 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; @override String get extensionsInstalledSuccess => 'Extension installed successfully'; @@ -1752,16 +1823,19 @@ class AppLocalizationsKo extends AppLocalizations { String get extensionsDownloadPrioritySubtitle => 'Set download service order'; @override - String get extensionsNoDownloadProvider => 'No extensions with download provider'; + String get extensionsNoDownloadProvider => + 'No extensions with download provider'; @override String get extensionsMetadataPriority => 'Metadata Priority'; @override - String get extensionsMetadataPrioritySubtitle => 'Set search & metadata source order'; + String get extensionsMetadataPrioritySubtitle => + 'Set search & metadata source order'; @override - String get extensionsNoMetadataProvider => 'No extensions with metadata provider'; + String get extensionsNoMetadataProvider => + 'No extensions with metadata provider'; @override String get extensionsSearchProvider => 'Search Provider'; @@ -1770,7 +1844,8 @@ class AppLocalizationsKo extends AppLocalizations { String get extensionsNoCustomSearch => 'No extensions with custom search'; @override - String get extensionsSearchProviderDescription => 'Choose which service to use for searching tracks'; + String get extensionsSearchProviderDescription => + 'Choose which service to use for searching tracks'; @override String get extensionsCustomSearch => 'Custom search'; @@ -1812,7 +1887,8 @@ class AppLocalizationsKo extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,10 +1900,12 @@ class AppLocalizationsKo extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -1917,13 +1995,15 @@ class AppLocalizationsKo extends AppLocalizations { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2015,8 @@ class AppLocalizationsKo extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2028,8 @@ class AppLocalizationsKo extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'No downloads in queue'; @@ -1983,7 +2065,8 @@ class AppLocalizationsKo extends AppLocalizations { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -2001,7 +2084,8 @@ class AppLocalizationsKo extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -2111,7 +2195,8 @@ class AppLocalizationsKo extends AppLocalizations { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -2158,13 +2243,16 @@ class AppLocalizationsKo extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2273,8 @@ class AppLocalizationsKo extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2286,8 @@ class AppLocalizationsKo extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2305,8 @@ class AppLocalizationsKo extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2318,15 @@ class AppLocalizationsKo extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2364,8 @@ class AppLocalizationsKo extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; diff --git a/lib/l10n/app_localizations_nl.dart b/lib/l10n/app_localizations_nl.dart index b54a3080..1a6e1e00 100644 --- a/lib/l10n/app_localizations_nl.dart +++ b/lib/l10n/app_localizations_nl.dart @@ -12,7 +12,8 @@ class AppLocalizationsNl extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get appDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get navHome => 'Home'; @@ -101,13 +102,15 @@ class AppLocalizationsNl extends AppLocalizations { String get historyNoAlbums => 'No album downloads'; @override - String get historyNoAlbumsSubtitle => 'Download multiple tracks from an album to see them here'; + String get historyNoAlbumsSubtitle => + 'Download multiple tracks from an album to see them here'; @override String get historyNoSingles => 'No single downloads'; @override - String get historyNoSinglesSubtitle => 'Single track downloads will appear here'; + String get historyNoSinglesSubtitle => + 'Single track downloads will appear here'; @override String get historySearchHint => 'Search history...'; @@ -155,7 +158,8 @@ class AppLocalizationsNl extends AppLocalizations { String get downloadAskQuality => 'Ask Quality Before Download'; @override - String get downloadAskQualitySubtitle => 'Show quality picker for each download'; + String get downloadAskQualitySubtitle => + 'Show quality picker for each download'; @override String get downloadFilenameFormat => 'Filename Format'; @@ -167,7 +171,8 @@ class AppLocalizationsNl extends AppLocalizations { String get downloadSeparateSingles => 'Separate Singles'; @override - String get downloadSeparateSinglesSubtitle => 'Put single tracks in a separate folder'; + String get downloadSeparateSinglesSubtitle => + 'Put single tracks in a separate folder'; @override String get qualityBest => 'Best Available'; @@ -224,7 +229,8 @@ class AppLocalizationsNl extends AppLocalizations { String get optionsPrimaryProvider => 'Primary Provider'; @override - String get optionsPrimaryProviderSubtitle => 'Service used when searching by track name.'; + String get optionsPrimaryProviderSubtitle => + 'Service used when searching by track name.'; @override String optionsUsingExtension(String extensionName) { @@ -232,13 +238,15 @@ class AppLocalizationsNl extends AppLocalizations { } @override - String get optionsSwitchBack => 'Tap Deezer or Spotify to switch back from extension'; + String get optionsSwitchBack => + 'Tap Deezer or Spotify to switch back from extension'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Try other services if download fails'; + String get optionsAutoFallbackSubtitle => + 'Try other services if download fails'; @override String get optionsUseExtensionProviders => 'Use Extension Providers'; @@ -253,13 +261,15 @@ class AppLocalizationsNl extends AppLocalizations { String get optionsEmbedLyrics => 'Embed Lyrics'; @override - String get optionsEmbedLyricsSubtitle => 'Embed synced lyrics into FLAC files'; + String get optionsEmbedLyricsSubtitle => + 'Embed synced lyrics into FLAC files'; @override String get optionsMaxQualityCover => 'Max Quality Cover'; @override - String get optionsMaxQualityCoverSubtitle => 'Download highest resolution cover art'; + String get optionsMaxQualityCoverSubtitle => + 'Download highest resolution cover art'; @override String get optionsConcurrentDownloads => 'Concurrent Downloads'; @@ -273,7 +283,8 @@ class AppLocalizationsNl extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Parallel downloads may trigger rate limiting'; + String get optionsConcurrentWarning => + 'Parallel downloads may trigger rate limiting'; @override String get optionsExtensionStore => 'Extension Store'; @@ -285,7 +296,8 @@ class AppLocalizationsNl extends AppLocalizations { String get optionsCheckUpdates => 'Check for Updates'; @override - String get optionsCheckUpdatesSubtitle => 'Notify when new version is available'; + String get optionsCheckUpdatesSubtitle => + 'Notify when new version is available'; @override String get optionsUpdateChannel => 'Update Channel'; @@ -297,13 +309,15 @@ class AppLocalizationsNl extends AppLocalizations { String get optionsUpdateChannelPreview => 'Get preview releases'; @override - String get optionsUpdateChannelWarning => 'Preview may contain bugs or incomplete features'; + String get optionsUpdateChannelWarning => + 'Preview may contain bugs or incomplete features'; @override String get optionsClearHistory => 'Clear Download History'; @override - String get optionsClearHistorySubtitle => 'Remove all downloaded tracks from history'; + String get optionsClearHistorySubtitle => + 'Remove all downloaded tracks from history'; @override String get optionsDetailedLogging => 'Detailed Logging'; @@ -326,7 +340,8 @@ class AppLocalizationsNl extends AppLocalizations { String get optionsSpotifyCredentialsRequired => 'Required - tap to configure'; @override - String get optionsSpotifyWarning => 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; @override String get extensionsTitle => 'Extensions'; @@ -390,7 +405,8 @@ class AppLocalizationsNl extends AppLocalizations { String get aboutOriginalCreator => 'Creator of the original SpotiFLAC'; @override - String get aboutLogoArtist => 'The talented artist who created our beautiful app logo!'; + String get aboutLogoArtist => + 'The talented artist who created our beautiful app logo!'; @override String get aboutTranslators => 'Translators'; @@ -450,28 +466,34 @@ class AppLocalizationsNl extends AppLocalizations { String get aboutVersion => 'Version'; @override - String get aboutBinimumDesc => 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; + String get aboutBinimumDesc => + 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; @override - String get aboutSachinsenalDesc => 'The original HiFi project creator. The foundation of Tidal integration!'; + String get aboutSachinsenalDesc => + 'The original HiFi project creator. The foundation of Tidal integration!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazing API for Amazon Music downloads. Thank you for making it free!'; + String get aboutDoubleDoubleDesc => + 'Amazing API for Amazon Music downloads. Thank you for making it free!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; + String get aboutDabMusicDesc => + 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; @override - String get aboutAppDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get aboutAppDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get albumTitle => 'Album'; @@ -576,7 +598,8 @@ class AppLocalizationsNl extends AppLocalizations { String get setupStoragePermission => 'Storage Permission'; @override - String get setupStoragePermissionSubtitle => 'Required to save downloaded files'; + String get setupStoragePermissionSubtitle => + 'Required to save downloaded files'; @override String get setupStoragePermissionGranted => 'Permission granted'; @@ -603,16 +626,19 @@ class AppLocalizationsNl extends AppLocalizations { String get setupStorageAccessRequired => 'Storage Access Required'; @override - String get setupStorageAccessMessage => 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; + String get setupStorageAccessMessage => + 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; @override String get setupOpenSettings => 'Open Settings'; @override - String get setupPermissionDeniedMessage => 'Permission denied. Please grant all permissions to continue.'; + String get setupPermissionDeniedMessage => + 'Permission denied. Please grant all permissions to continue.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +657,8 @@ class AppLocalizationsNl extends AppLocalizations { String get setupUseDefaultFolder => 'Use Default Folder?'; @override - String get setupNoFolderSelected => 'No folder selected. Would you like to use the default Music folder?'; + String get setupNoFolderSelected => + 'No folder selected. Would you like to use the default Music folder?'; @override String get setupUseDefault => 'Use Default'; @@ -640,13 +667,15 @@ class AppLocalizationsNl extends AppLocalizations { String get setupDownloadLocationTitle => 'Download Location'; @override - String get setupDownloadLocationIosMessage => 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; + String get setupDownloadLocationIosMessage => + 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; @override String get setupAppDocumentsFolder => 'App Documents Folder'; @override - String get setupAppDocumentsFolderSubtitle => 'Recommended - accessible via Files app'; + String get setupAppDocumentsFolderSubtitle => + 'Recommended - accessible via Files app'; @override String get setupChooseFromFiles => 'Choose from Files'; @@ -655,10 +684,12 @@ class AppLocalizationsNl extends AppLocalizations { String get setupChooseFromFilesSubtitle => 'Select iCloud or other location'; @override - String get setupIosEmptyFolderWarning => 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; + String get setupIosEmptyFolderWarning => + 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Download Spotify tracks in FLAC'; @@ -685,7 +716,8 @@ class AppLocalizationsNl extends AppLocalizations { String get setupStorageRequired => 'Storage Permission Required'; @override - String get setupStorageDescription => 'SpotiFLAC needs storage permission to save your downloaded music files.'; + String get setupStorageDescription => + 'SpotiFLAC needs storage permission to save your downloaded music files.'; @override String get setupNotificationGranted => 'Notification Permission Granted!'; @@ -694,7 +726,8 @@ class AppLocalizationsNl extends AppLocalizations { String get setupNotificationEnable => 'Enable Notifications'; @override - String get setupNotificationDescription => 'Get notified when downloads complete or require attention.'; + String get setupNotificationDescription => + 'Get notified when downloads complete or require attention.'; @override String get setupFolderSelected => 'Download Folder Selected!'; @@ -703,7 +736,8 @@ class AppLocalizationsNl extends AppLocalizations { String get setupFolderChoose => 'Choose Download Folder'; @override - String get setupFolderDescription => 'Select a folder where your downloaded music will be saved.'; + String get setupFolderDescription => + 'Select a folder where your downloaded music will be saved.'; @override String get setupChangeFolder => 'Change Folder'; @@ -715,7 +749,8 @@ class AppLocalizationsNl extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (Optional)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Use Spotify API'; @@ -733,7 +768,8 @@ class AppLocalizationsNl extends AppLocalizations { String get setupEnterClientSecret => 'Enter Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Get your free API credentials from the Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Get your free API credentials from the Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Enable Notifications'; @@ -742,10 +778,12 @@ class AppLocalizationsNl extends AppLocalizations { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => 'Skip for now'; @@ -763,10 +801,12 @@ class AppLocalizationsNl extends AppLocalizations { String get setupSkipAndStart => 'Skip & Start'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'Get credentials from developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Get credentials from developer.spotify.com'; @override String get dialogCancel => 'Cancel'; @@ -817,7 +857,8 @@ class AppLocalizationsNl extends AppLocalizations { String get dialogDiscardChanges => 'Discard Changes?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'Download Failed'; @@ -835,7 +876,8 @@ class AppLocalizationsNl extends AppLocalizations { String get dialogClearAll => 'Clear All'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'Remove from device?'; @@ -844,7 +886,8 @@ class AppLocalizationsNl extends AppLocalizations { String get dialogRemoveExtension => 'Remove Extension'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => 'Uninstall Extension?'; @@ -858,7 +901,8 @@ class AppLocalizationsNl extends AppLocalizations { String get dialogClearHistoryTitle => 'Clear History'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => 'Delete Selected'; @@ -902,6 +946,11 @@ class AppLocalizationsNl extends AppLocalizations { return '\"$trackName\" already downloaded'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'History cleared'; @@ -953,7 +1002,8 @@ class AppLocalizationsNl extends AppLocalizations { String get snackbarProviderPrioritySaved => 'Provider priority saved'; @override - String get snackbarMetadataProviderSaved => 'Metadata provider priority saved'; + String get snackbarMetadataProviderSaved => + 'Metadata provider priority saved'; @override String snackbarExtensionInstalled(String extensionName) { @@ -975,7 +1025,8 @@ class AppLocalizationsNl extends AppLocalizations { String get errorRateLimited => 'Rate Limited'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -1142,19 +1193,23 @@ class AppLocalizationsNl extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Artist/Album'; @override - String get folderOrganizationDescription => 'Organize downloaded files into folders'; + String get folderOrganizationDescription => + 'Organize downloaded files into folders'; @override String get folderOrganizationNoneSubtitle => 'All files in download folder'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => 'Update Available'; @@ -1213,10 +1268,12 @@ class AppLocalizationsNl extends AppLocalizations { String get providerPriorityTitle => 'Provider Priority'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => 'Built-in'; @@ -1228,16 +1285,19 @@ class AppLocalizationsNl extends AppLocalizations { String get metadataProviderPriority => 'Metadata Provider Priority'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'Metadata Priority'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'No rate limits'; @@ -1309,16 +1369,19 @@ class AppLocalizationsNl extends AppLocalizations { String get logIssueSummary => 'Issue Summary'; @override - String get logIspBlockingDescription => 'Your ISP may be blocking access to download services'; + String get logIspBlockingDescription => + 'Your ISP may be blocking access to download services'; @override - String get logIspBlockingSuggestion => 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; @override String get logRateLimitedDescription => 'Too many requests to the service'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => 'Connection issues detected'; @@ -1327,10 +1390,12 @@ class AppLocalizationsNl extends AppLocalizations { String get logNetworkErrorSuggestion => 'Check your internet connection'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -1356,7 +1421,8 @@ class AppLocalizationsNl extends AppLocalizations { String get credentialsTitle => 'Spotify Credentials'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'Client ID'; @@ -1410,7 +1476,8 @@ class AppLocalizationsNl extends AppLocalizations { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -1422,7 +1489,8 @@ class AppLocalizationsNl extends AppLocalizations { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -1582,7 +1650,8 @@ class AppLocalizationsNl extends AppLocalizations { String get trackDeleteConfirmTitle => 'Remove from device?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1803,15 @@ class AppLocalizationsNl extends AppLocalizations { String get extensionsNoExtensions => 'No extensions installed'; @override - String get extensionsNoExtensionsSubtitle => 'Install .spotiflac-ext files to add new providers'; + String get extensionsNoExtensionsSubtitle => + 'Install .spotiflac-ext files to add new providers'; @override String get extensionsInstallButton => 'Install Extension'; @override - String get extensionsInfoTip => 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; + String get extensionsInfoTip => + 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; @override String get extensionsInstalledSuccess => 'Extension installed successfully'; @@ -1752,16 +1823,19 @@ class AppLocalizationsNl extends AppLocalizations { String get extensionsDownloadPrioritySubtitle => 'Set download service order'; @override - String get extensionsNoDownloadProvider => 'No extensions with download provider'; + String get extensionsNoDownloadProvider => + 'No extensions with download provider'; @override String get extensionsMetadataPriority => 'Metadata Priority'; @override - String get extensionsMetadataPrioritySubtitle => 'Set search & metadata source order'; + String get extensionsMetadataPrioritySubtitle => + 'Set search & metadata source order'; @override - String get extensionsNoMetadataProvider => 'No extensions with metadata provider'; + String get extensionsNoMetadataProvider => + 'No extensions with metadata provider'; @override String get extensionsSearchProvider => 'Search Provider'; @@ -1770,7 +1844,8 @@ class AppLocalizationsNl extends AppLocalizations { String get extensionsNoCustomSearch => 'No extensions with custom search'; @override - String get extensionsSearchProviderDescription => 'Choose which service to use for searching tracks'; + String get extensionsSearchProviderDescription => + 'Choose which service to use for searching tracks'; @override String get extensionsCustomSearch => 'Custom search'; @@ -1812,7 +1887,8 @@ class AppLocalizationsNl extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,10 +1900,12 @@ class AppLocalizationsNl extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -1917,13 +1995,15 @@ class AppLocalizationsNl extends AppLocalizations { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2015,8 @@ class AppLocalizationsNl extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2028,8 @@ class AppLocalizationsNl extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'No downloads in queue'; @@ -1983,7 +2065,8 @@ class AppLocalizationsNl extends AppLocalizations { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -2001,7 +2084,8 @@ class AppLocalizationsNl extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -2111,7 +2195,8 @@ class AppLocalizationsNl extends AppLocalizations { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -2158,13 +2243,16 @@ class AppLocalizationsNl extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2273,8 @@ class AppLocalizationsNl extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2286,8 @@ class AppLocalizationsNl extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2305,8 @@ class AppLocalizationsNl extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2318,15 @@ class AppLocalizationsNl extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2364,8 @@ class AppLocalizationsNl extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; diff --git a/lib/l10n/app_localizations_pt.dart b/lib/l10n/app_localizations_pt.dart index 2aa959ab..a442b37f 100644 --- a/lib/l10n/app_localizations_pt.dart +++ b/lib/l10n/app_localizations_pt.dart @@ -12,7 +12,8 @@ class AppLocalizationsPt extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get appDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get navHome => 'Home'; @@ -101,13 +102,15 @@ class AppLocalizationsPt extends AppLocalizations { String get historyNoAlbums => 'No album downloads'; @override - String get historyNoAlbumsSubtitle => 'Download multiple tracks from an album to see them here'; + String get historyNoAlbumsSubtitle => + 'Download multiple tracks from an album to see them here'; @override String get historyNoSingles => 'No single downloads'; @override - String get historyNoSinglesSubtitle => 'Single track downloads will appear here'; + String get historyNoSinglesSubtitle => + 'Single track downloads will appear here'; @override String get historySearchHint => 'Search history...'; @@ -155,7 +158,8 @@ class AppLocalizationsPt extends AppLocalizations { String get downloadAskQuality => 'Ask Quality Before Download'; @override - String get downloadAskQualitySubtitle => 'Show quality picker for each download'; + String get downloadAskQualitySubtitle => + 'Show quality picker for each download'; @override String get downloadFilenameFormat => 'Filename Format'; @@ -167,7 +171,8 @@ class AppLocalizationsPt extends AppLocalizations { String get downloadSeparateSingles => 'Separate Singles'; @override - String get downloadSeparateSinglesSubtitle => 'Put single tracks in a separate folder'; + String get downloadSeparateSinglesSubtitle => + 'Put single tracks in a separate folder'; @override String get qualityBest => 'Best Available'; @@ -224,7 +229,8 @@ class AppLocalizationsPt extends AppLocalizations { String get optionsPrimaryProvider => 'Primary Provider'; @override - String get optionsPrimaryProviderSubtitle => 'Service used when searching by track name.'; + String get optionsPrimaryProviderSubtitle => + 'Service used when searching by track name.'; @override String optionsUsingExtension(String extensionName) { @@ -232,13 +238,15 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get optionsSwitchBack => 'Tap Deezer or Spotify to switch back from extension'; + String get optionsSwitchBack => + 'Tap Deezer or Spotify to switch back from extension'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Try other services if download fails'; + String get optionsAutoFallbackSubtitle => + 'Try other services if download fails'; @override String get optionsUseExtensionProviders => 'Use Extension Providers'; @@ -253,13 +261,15 @@ class AppLocalizationsPt extends AppLocalizations { String get optionsEmbedLyrics => 'Embed Lyrics'; @override - String get optionsEmbedLyricsSubtitle => 'Embed synced lyrics into FLAC files'; + String get optionsEmbedLyricsSubtitle => + 'Embed synced lyrics into FLAC files'; @override String get optionsMaxQualityCover => 'Max Quality Cover'; @override - String get optionsMaxQualityCoverSubtitle => 'Download highest resolution cover art'; + String get optionsMaxQualityCoverSubtitle => + 'Download highest resolution cover art'; @override String get optionsConcurrentDownloads => 'Concurrent Downloads'; @@ -273,7 +283,8 @@ class AppLocalizationsPt extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Parallel downloads may trigger rate limiting'; + String get optionsConcurrentWarning => + 'Parallel downloads may trigger rate limiting'; @override String get optionsExtensionStore => 'Extension Store'; @@ -285,7 +296,8 @@ class AppLocalizationsPt extends AppLocalizations { String get optionsCheckUpdates => 'Check for Updates'; @override - String get optionsCheckUpdatesSubtitle => 'Notify when new version is available'; + String get optionsCheckUpdatesSubtitle => + 'Notify when new version is available'; @override String get optionsUpdateChannel => 'Update Channel'; @@ -297,13 +309,15 @@ class AppLocalizationsPt extends AppLocalizations { String get optionsUpdateChannelPreview => 'Get preview releases'; @override - String get optionsUpdateChannelWarning => 'Preview may contain bugs or incomplete features'; + String get optionsUpdateChannelWarning => + 'Preview may contain bugs or incomplete features'; @override String get optionsClearHistory => 'Clear Download History'; @override - String get optionsClearHistorySubtitle => 'Remove all downloaded tracks from history'; + String get optionsClearHistorySubtitle => + 'Remove all downloaded tracks from history'; @override String get optionsDetailedLogging => 'Detailed Logging'; @@ -326,7 +340,8 @@ class AppLocalizationsPt extends AppLocalizations { String get optionsSpotifyCredentialsRequired => 'Required - tap to configure'; @override - String get optionsSpotifyWarning => 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; @override String get extensionsTitle => 'Extensions'; @@ -390,7 +405,8 @@ class AppLocalizationsPt extends AppLocalizations { String get aboutOriginalCreator => 'Creator of the original SpotiFLAC'; @override - String get aboutLogoArtist => 'The talented artist who created our beautiful app logo!'; + String get aboutLogoArtist => + 'The talented artist who created our beautiful app logo!'; @override String get aboutTranslators => 'Translators'; @@ -450,28 +466,34 @@ class AppLocalizationsPt extends AppLocalizations { String get aboutVersion => 'Version'; @override - String get aboutBinimumDesc => 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; + String get aboutBinimumDesc => + 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; @override - String get aboutSachinsenalDesc => 'The original HiFi project creator. The foundation of Tidal integration!'; + String get aboutSachinsenalDesc => + 'The original HiFi project creator. The foundation of Tidal integration!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazing API for Amazon Music downloads. Thank you for making it free!'; + String get aboutDoubleDoubleDesc => + 'Amazing API for Amazon Music downloads. Thank you for making it free!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; + String get aboutDabMusicDesc => + 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; @override - String get aboutAppDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get aboutAppDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get albumTitle => 'Album'; @@ -576,7 +598,8 @@ class AppLocalizationsPt extends AppLocalizations { String get setupStoragePermission => 'Storage Permission'; @override - String get setupStoragePermissionSubtitle => 'Required to save downloaded files'; + String get setupStoragePermissionSubtitle => + 'Required to save downloaded files'; @override String get setupStoragePermissionGranted => 'Permission granted'; @@ -603,16 +626,19 @@ class AppLocalizationsPt extends AppLocalizations { String get setupStorageAccessRequired => 'Storage Access Required'; @override - String get setupStorageAccessMessage => 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; + String get setupStorageAccessMessage => + 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; @override String get setupOpenSettings => 'Open Settings'; @override - String get setupPermissionDeniedMessage => 'Permission denied. Please grant all permissions to continue.'; + String get setupPermissionDeniedMessage => + 'Permission denied. Please grant all permissions to continue.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +657,8 @@ class AppLocalizationsPt extends AppLocalizations { String get setupUseDefaultFolder => 'Use Default Folder?'; @override - String get setupNoFolderSelected => 'No folder selected. Would you like to use the default Music folder?'; + String get setupNoFolderSelected => + 'No folder selected. Would you like to use the default Music folder?'; @override String get setupUseDefault => 'Use Default'; @@ -640,13 +667,15 @@ class AppLocalizationsPt extends AppLocalizations { String get setupDownloadLocationTitle => 'Download Location'; @override - String get setupDownloadLocationIosMessage => 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; + String get setupDownloadLocationIosMessage => + 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; @override String get setupAppDocumentsFolder => 'App Documents Folder'; @override - String get setupAppDocumentsFolderSubtitle => 'Recommended - accessible via Files app'; + String get setupAppDocumentsFolderSubtitle => + 'Recommended - accessible via Files app'; @override String get setupChooseFromFiles => 'Choose from Files'; @@ -655,10 +684,12 @@ class AppLocalizationsPt extends AppLocalizations { String get setupChooseFromFilesSubtitle => 'Select iCloud or other location'; @override - String get setupIosEmptyFolderWarning => 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; + String get setupIosEmptyFolderWarning => + 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Download Spotify tracks in FLAC'; @@ -685,7 +716,8 @@ class AppLocalizationsPt extends AppLocalizations { String get setupStorageRequired => 'Storage Permission Required'; @override - String get setupStorageDescription => 'SpotiFLAC needs storage permission to save your downloaded music files.'; + String get setupStorageDescription => + 'SpotiFLAC needs storage permission to save your downloaded music files.'; @override String get setupNotificationGranted => 'Notification Permission Granted!'; @@ -694,7 +726,8 @@ class AppLocalizationsPt extends AppLocalizations { String get setupNotificationEnable => 'Enable Notifications'; @override - String get setupNotificationDescription => 'Get notified when downloads complete or require attention.'; + String get setupNotificationDescription => + 'Get notified when downloads complete or require attention.'; @override String get setupFolderSelected => 'Download Folder Selected!'; @@ -703,7 +736,8 @@ class AppLocalizationsPt extends AppLocalizations { String get setupFolderChoose => 'Choose Download Folder'; @override - String get setupFolderDescription => 'Select a folder where your downloaded music will be saved.'; + String get setupFolderDescription => + 'Select a folder where your downloaded music will be saved.'; @override String get setupChangeFolder => 'Change Folder'; @@ -715,7 +749,8 @@ class AppLocalizationsPt extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (Optional)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Use Spotify API'; @@ -733,7 +768,8 @@ class AppLocalizationsPt extends AppLocalizations { String get setupEnterClientSecret => 'Enter Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Get your free API credentials from the Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Get your free API credentials from the Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Enable Notifications'; @@ -742,10 +778,12 @@ class AppLocalizationsPt extends AppLocalizations { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => 'Skip for now'; @@ -763,10 +801,12 @@ class AppLocalizationsPt extends AppLocalizations { String get setupSkipAndStart => 'Skip & Start'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'Get credentials from developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Get credentials from developer.spotify.com'; @override String get dialogCancel => 'Cancel'; @@ -817,7 +857,8 @@ class AppLocalizationsPt extends AppLocalizations { String get dialogDiscardChanges => 'Discard Changes?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'Download Failed'; @@ -835,7 +876,8 @@ class AppLocalizationsPt extends AppLocalizations { String get dialogClearAll => 'Clear All'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'Remove from device?'; @@ -844,7 +886,8 @@ class AppLocalizationsPt extends AppLocalizations { String get dialogRemoveExtension => 'Remove Extension'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => 'Uninstall Extension?'; @@ -858,7 +901,8 @@ class AppLocalizationsPt extends AppLocalizations { String get dialogClearHistoryTitle => 'Clear History'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => 'Delete Selected'; @@ -902,6 +946,11 @@ class AppLocalizationsPt extends AppLocalizations { return '\"$trackName\" already downloaded'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'History cleared'; @@ -953,7 +1002,8 @@ class AppLocalizationsPt extends AppLocalizations { String get snackbarProviderPrioritySaved => 'Provider priority saved'; @override - String get snackbarMetadataProviderSaved => 'Metadata provider priority saved'; + String get snackbarMetadataProviderSaved => + 'Metadata provider priority saved'; @override String snackbarExtensionInstalled(String extensionName) { @@ -975,7 +1025,8 @@ class AppLocalizationsPt extends AppLocalizations { String get errorRateLimited => 'Rate Limited'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -1142,19 +1193,23 @@ class AppLocalizationsPt extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Artist/Album'; @override - String get folderOrganizationDescription => 'Organize downloaded files into folders'; + String get folderOrganizationDescription => + 'Organize downloaded files into folders'; @override String get folderOrganizationNoneSubtitle => 'All files in download folder'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => 'Update Available'; @@ -1213,10 +1268,12 @@ class AppLocalizationsPt extends AppLocalizations { String get providerPriorityTitle => 'Provider Priority'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => 'Built-in'; @@ -1228,16 +1285,19 @@ class AppLocalizationsPt extends AppLocalizations { String get metadataProviderPriority => 'Metadata Provider Priority'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'Metadata Priority'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'No rate limits'; @@ -1309,16 +1369,19 @@ class AppLocalizationsPt extends AppLocalizations { String get logIssueSummary => 'Issue Summary'; @override - String get logIspBlockingDescription => 'Your ISP may be blocking access to download services'; + String get logIspBlockingDescription => + 'Your ISP may be blocking access to download services'; @override - String get logIspBlockingSuggestion => 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; @override String get logRateLimitedDescription => 'Too many requests to the service'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => 'Connection issues detected'; @@ -1327,10 +1390,12 @@ class AppLocalizationsPt extends AppLocalizations { String get logNetworkErrorSuggestion => 'Check your internet connection'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -1356,7 +1421,8 @@ class AppLocalizationsPt extends AppLocalizations { String get credentialsTitle => 'Spotify Credentials'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'Client ID'; @@ -1410,7 +1476,8 @@ class AppLocalizationsPt extends AppLocalizations { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -1422,7 +1489,8 @@ class AppLocalizationsPt extends AppLocalizations { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -1582,7 +1650,8 @@ class AppLocalizationsPt extends AppLocalizations { String get trackDeleteConfirmTitle => 'Remove from device?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1803,15 @@ class AppLocalizationsPt extends AppLocalizations { String get extensionsNoExtensions => 'No extensions installed'; @override - String get extensionsNoExtensionsSubtitle => 'Install .spotiflac-ext files to add new providers'; + String get extensionsNoExtensionsSubtitle => + 'Install .spotiflac-ext files to add new providers'; @override String get extensionsInstallButton => 'Install Extension'; @override - String get extensionsInfoTip => 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; + String get extensionsInfoTip => + 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; @override String get extensionsInstalledSuccess => 'Extension installed successfully'; @@ -1752,16 +1823,19 @@ class AppLocalizationsPt extends AppLocalizations { String get extensionsDownloadPrioritySubtitle => 'Set download service order'; @override - String get extensionsNoDownloadProvider => 'No extensions with download provider'; + String get extensionsNoDownloadProvider => + 'No extensions with download provider'; @override String get extensionsMetadataPriority => 'Metadata Priority'; @override - String get extensionsMetadataPrioritySubtitle => 'Set search & metadata source order'; + String get extensionsMetadataPrioritySubtitle => + 'Set search & metadata source order'; @override - String get extensionsNoMetadataProvider => 'No extensions with metadata provider'; + String get extensionsNoMetadataProvider => + 'No extensions with metadata provider'; @override String get extensionsSearchProvider => 'Search Provider'; @@ -1770,7 +1844,8 @@ class AppLocalizationsPt extends AppLocalizations { String get extensionsNoCustomSearch => 'No extensions with custom search'; @override - String get extensionsSearchProviderDescription => 'Choose which service to use for searching tracks'; + String get extensionsSearchProviderDescription => + 'Choose which service to use for searching tracks'; @override String get extensionsCustomSearch => 'Custom search'; @@ -1812,7 +1887,8 @@ class AppLocalizationsPt extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,10 +1900,12 @@ class AppLocalizationsPt extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -1917,13 +1995,15 @@ class AppLocalizationsPt extends AppLocalizations { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2015,8 @@ class AppLocalizationsPt extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2028,8 @@ class AppLocalizationsPt extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'No downloads in queue'; @@ -1983,7 +2065,8 @@ class AppLocalizationsPt extends AppLocalizations { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -2001,7 +2084,8 @@ class AppLocalizationsPt extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -2111,7 +2195,8 @@ class AppLocalizationsPt extends AppLocalizations { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -2158,13 +2243,16 @@ class AppLocalizationsPt extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2273,8 @@ class AppLocalizationsPt extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2286,8 @@ class AppLocalizationsPt extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2305,8 @@ class AppLocalizationsPt extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2318,15 @@ class AppLocalizationsPt extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2364,8 @@ class AppLocalizationsPt extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; @@ -2366,13 +2460,14 @@ class AppLocalizationsPt extends AppLocalizations { /// The translations for Portuguese, as used in Portugal (`pt_PT`). class AppLocalizationsPtPt extends AppLocalizationsPt { - AppLocalizationsPtPt(): super('pt_PT'); + AppLocalizationsPtPt() : super('pt_PT'); @override String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Baixe faixas do Spotify em qualidade sem perdas de Tidal, Qobuz e Amazon Music.'; + String get appDescription => + 'Baixe faixas do Spotify em qualidade sem perdas de Tidal, Qobuz e Amazon Music.'; @override String get navHome => 'Início'; @@ -2401,7 +2496,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get homeSubtitle => 'Cole um link do Spotify ou procure por nome'; @override - String get homeSupports => 'Suporte: Faixas, Álbuns, Playlists, URLs de Artista'; + String get homeSupports => + 'Suporte: Faixas, Álbuns, Playlists, URLs de Artista'; @override String get homeRecent => 'Recentes'; @@ -2458,13 +2554,15 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get historyNoAlbums => 'Sem álbuns baixados'; @override - String get historyNoAlbumsSubtitle => 'Baixe várias faixas de um álbum para vê-las aqui'; + String get historyNoAlbumsSubtitle => + 'Baixe várias faixas de um álbum para vê-las aqui'; @override String get historyNoSingles => 'Sem singles baixados'; @override - String get historyNoSinglesSubtitle => 'Os downloads de faixa individuais aparecerão aqui'; + String get historyNoSinglesSubtitle => + 'Os downloads de faixa individuais aparecerão aqui'; @override String get settingsTitle => 'Configurações'; @@ -2509,7 +2607,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get downloadAskQuality => 'Perguntar qualidade antes de baixar'; @override - String get downloadAskQualitySubtitle => 'Mostrar seletor de qualidade para cada download'; + String get downloadAskQualitySubtitle => + 'Mostrar seletor de qualidade para cada download'; @override String get downloadFilenameFormat => 'Formato do Nome do Arquivo'; @@ -2521,7 +2620,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get downloadSeparateSingles => 'Separar Singles'; @override - String get downloadSeparateSinglesSubtitle => 'Colocar singles numa pasta separada'; + String get downloadSeparateSinglesSubtitle => + 'Colocar singles numa pasta separada'; @override String get qualityBest => 'Melhor Disponível'; @@ -2554,7 +2654,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get appearanceDynamicColor => 'Cores Dinâmicas'; @override - String get appearanceDynamicColorSubtitle => 'Usar cores do seu papel de parede'; + String get appearanceDynamicColorSubtitle => + 'Usar cores do seu papel de parede'; @override String get appearanceAccentColor => 'Cor de Destaque'; @@ -2578,7 +2679,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get optionsPrimaryProvider => 'Provedor Primário'; @override - String get optionsPrimaryProviderSubtitle => 'Serviço usado ao pesquisar por nome da faixa.'; + String get optionsPrimaryProviderSubtitle => + 'Serviço usado ao pesquisar por nome da faixa.'; @override String optionsUsingExtension(String extensionName) { @@ -2586,34 +2688,40 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { } @override - String get optionsSwitchBack => 'Toque no Deezer ou Spotify para alternar de volta da extensão'; + String get optionsSwitchBack => + 'Toque no Deezer ou Spotify para alternar de volta da extensão'; @override String get optionsAutoFallback => 'Fallback Automático'; @override - String get optionsAutoFallbackSubtitle => 'Tentar outros serviços se o download falhar'; + String get optionsAutoFallbackSubtitle => + 'Tentar outros serviços se o download falhar'; @override String get optionsUseExtensionProviders => 'Usar Provedores de Extensão'; @override - String get optionsUseExtensionProvidersOn => 'Extensões serão tentadas primeiro'; + String get optionsUseExtensionProvidersOn => + 'Extensões serão tentadas primeiro'; @override - String get optionsUseExtensionProvidersOff => 'Usando apenas provedores integrados'; + String get optionsUseExtensionProvidersOff => + 'Usando apenas provedores integrados'; @override String get optionsEmbedLyrics => 'Incorporar Letras'; @override - String get optionsEmbedLyricsSubtitle => 'Incorporar letras sincronizadas aos arquivos FLAC'; + String get optionsEmbedLyricsSubtitle => + 'Incorporar letras sincronizadas aos arquivos FLAC'; @override String get optionsMaxQualityCover => 'Capa de Qualidade Máxima'; @override - String get optionsMaxQualityCoverSubtitle => 'Baixar capa do álbum com a mais alta resolução'; + String get optionsMaxQualityCoverSubtitle => + 'Baixar capa do álbum com a mais alta resolução'; @override String get optionsConcurrentDownloads => 'Downloads Simultâneos'; @@ -2627,19 +2735,22 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { } @override - String get optionsConcurrentWarning => 'Downloads simultâneos podem causar um limite da taxa (ratelimit)'; + String get optionsConcurrentWarning => + 'Downloads simultâneos podem causar um limite da taxa (ratelimit)'; @override String get optionsExtensionStore => 'Loja de Extensões'; @override - String get optionsExtensionStoreSubtitle => 'Mostrar aba da Loja na navegação'; + String get optionsExtensionStoreSubtitle => + 'Mostrar aba da Loja na navegação'; @override String get optionsCheckUpdates => 'Procurar Atualizações'; @override - String get optionsCheckUpdatesSubtitle => 'Notificar quando uma nova versão estiver disponível'; + String get optionsCheckUpdatesSubtitle => + 'Notificar quando uma nova versão estiver disponível'; @override String get optionsUpdateChannel => 'Canal de Atualização'; @@ -2651,19 +2762,22 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get optionsUpdateChannelPreview => 'Obter versões de prévia'; @override - String get optionsUpdateChannelWarning => 'A prévia pode conter erros ou recursos incompletos'; + String get optionsUpdateChannelWarning => + 'A prévia pode conter erros ou recursos incompletos'; @override String get optionsClearHistory => 'Limpar Histórico de Download'; @override - String get optionsClearHistorySubtitle => 'Remover todas as faixas baixadas do histórico'; + String get optionsClearHistorySubtitle => + 'Remover todas as faixas baixadas do histórico'; @override String get optionsDetailedLogging => 'Registro detalhado'; @override - String get optionsDetailedLoggingOn => 'Registros detalhados estão sendo gravados'; + String get optionsDetailedLoggingOn => + 'Registros detalhados estão sendo gravados'; @override String get optionsDetailedLoggingOff => 'Habilitar para relatórios de erros'; @@ -2677,10 +2791,12 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { } @override - String get optionsSpotifyCredentialsRequired => 'Obrigatório - toque para configurar'; + String get optionsSpotifyCredentialsRequired => + 'Obrigatório - toque para configurar'; @override - String get optionsSpotifyWarning => 'O Spotify requer as suas próprias credenciais de API. Consiga gratuitamente em developer.spotify.com'; + String get optionsSpotifyWarning => + 'O Spotify requer as suas próprias credenciais de API. Consiga gratuitamente em developer.spotify.com'; @override String get extensionsTitle => 'Extensões'; @@ -2692,7 +2808,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get extensionsNone => 'Nenhuma extensão instalada'; @override - String get extensionsNoneSubtitle => 'Instalar extensões a partir da aba Loja'; + String get extensionsNoneSubtitle => + 'Instalar extensões a partir da aba Loja'; @override String get extensionsEnabled => 'Habilitado'; @@ -2744,7 +2861,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get aboutOriginalCreator => 'Criador do SpotiFLAC original'; @override - String get aboutLogoArtist => 'O artista talentoso que criou o nosso lindo logotipo do aplicativo!'; + String get aboutLogoArtist => + 'O artista talentoso que criou o nosso lindo logotipo do aplicativo!'; @override String get aboutSpecialThanks => 'Agradecimentos Especiais'; @@ -2762,13 +2880,15 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get aboutReportIssue => 'Reportar um problema'; @override - String get aboutReportIssueSubtitle => 'Reporte qualquer problema que encontrar'; + String get aboutReportIssueSubtitle => + 'Reporte qualquer problema que encontrar'; @override String get aboutFeatureRequest => 'Solicitação de recurso'; @override - String get aboutFeatureRequestSubtitle => 'Sugira novos recursos para o aplicativo'; + String get aboutFeatureRequestSubtitle => + 'Sugira novos recursos para o aplicativo'; @override String get aboutSupport => 'Apoiar'; @@ -2786,25 +2906,30 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get aboutVersion => 'Versão'; @override - String get aboutBinimumDesc => 'O criador da API QQDL e HiFi. Sem esta API, os downloads Tidal não existiriam!'; + String get aboutBinimumDesc => + 'O criador da API QQDL e HiFi. Sem esta API, os downloads Tidal não existiriam!'; @override - String get aboutSachinsenalDesc => 'O criador original do projeto HiFi. A base da integração do Tidal!'; + String get aboutSachinsenalDesc => + 'O criador original do projeto HiFi. A base da integração do Tidal!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'API incrível para downloads do Amazon Music. Obrigado por fazê-lo gratuitamente!'; + String get aboutDoubleDoubleDesc => + 'API incrível para downloads do Amazon Music. Obrigado por fazê-lo gratuitamente!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'A melhor API de streaming do Qobuz. Downloads de alta resolução não seriam possíveis sem isso!'; + String get aboutDabMusicDesc => + 'A melhor API de streaming do Qobuz. Downloads de alta resolução não seriam possíveis sem isso!'; @override - String get aboutAppDescription => 'Baixe faixas do Spotify em qualidade sem perdas do Tidal, Qobuz e Amazon Music.'; + String get aboutAppDescription => + 'Baixe faixas do Spotify em qualidade sem perdas do Tidal, Qobuz e Amazon Music.'; @override String get albumTitle => 'Álbum'; @@ -2909,7 +3034,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get setupStoragePermission => 'Permissão de Armazenamento'; @override - String get setupStoragePermissionSubtitle => 'Necessária para salvar arquivos baixados'; + String get setupStoragePermissionSubtitle => + 'Necessária para salvar arquivos baixados'; @override String get setupStoragePermissionGranted => 'Permissão concedida'; @@ -2936,16 +3062,19 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get setupStorageAccessRequired => 'Acesso ao Armazenamento Necessário'; @override - String get setupStorageAccessMessage => 'O SpotiFLAC precisa da permissão \"Acesso a todos os arquivos\" para salvar arquivos de música na sua pasta escolhida.'; + String get setupStorageAccessMessage => + 'O SpotiFLAC precisa da permissão \"Acesso a todos os arquivos\" para salvar arquivos de música na sua pasta escolhida.'; @override - String get setupStorageAccessMessageAndroid11 => 'O Android 11+ requer a permissão \"Acesso a Todos os Arquivos\" para salvar arquivos na pasta de download escolhida.'; + String get setupStorageAccessMessageAndroid11 => + 'O Android 11+ requer a permissão \"Acesso a Todos os Arquivos\" para salvar arquivos na pasta de download escolhida.'; @override String get setupOpenSettings => 'Abrir Configurações'; @override - String get setupPermissionDeniedMessage => 'Permissão negada. Por favor, conceda todas as permissões para continuar.'; + String get setupPermissionDeniedMessage => + 'Permissão negada. Por favor, conceda todas as permissões para continuar.'; @override String setupPermissionRequired(String permissionType) { @@ -2964,7 +3093,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get setupUseDefaultFolder => 'Usar Pasta Padrão?'; @override - String get setupNoFolderSelected => 'Nenhuma pasta selecionada. Você gostaria de usar a pasta padrão de música?'; + String get setupNoFolderSelected => + 'Nenhuma pasta selecionada. Você gostaria de usar a pasta padrão de música?'; @override String get setupUseDefault => 'Usar Padrão'; @@ -2973,22 +3103,26 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get setupDownloadLocationTitle => 'Local do Download'; @override - String get setupDownloadLocationIosMessage => 'No iOS, downloads são salvos na pasta Documentos do aplicativo. Você pode acessá-los através do app Arquivos.'; + String get setupDownloadLocationIosMessage => + 'No iOS, downloads são salvos na pasta Documentos do aplicativo. Você pode acessá-los através do app Arquivos.'; @override String get setupAppDocumentsFolder => 'Pasta Documentos do App'; @override - String get setupAppDocumentsFolderSubtitle => 'Recomendado - acessível através do aplicativo Arquivos'; + String get setupAppDocumentsFolderSubtitle => + 'Recomendado - acessível através do aplicativo Arquivos'; @override String get setupChooseFromFiles => 'Escolher dos Arquivos'; @override - String get setupChooseFromFilesSubtitle => 'Selecione o iCloud ou outro local'; + String get setupChooseFromFilesSubtitle => + 'Selecione o iCloud ou outro local'; @override - String get setupIosEmptyFolderWarning => 'Limitação do iOS: Pastas vazias não podem ser selecionadas. Escolha uma pasta com pelo menos um arquivo.'; + String get setupIosEmptyFolderWarning => + 'Limitação do iOS: Pastas vazias não podem ser selecionadas. Escolha uma pasta com pelo menos um arquivo.'; @override String get setupDownloadInFlac => 'Baixe faixas do Spotify em FLAC'; @@ -3015,7 +3149,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get setupStorageRequired => 'Permissão de Armazenamento Necessária'; @override - String get setupStorageDescription => 'O SpotiFLAC precisa de permissão de armazenamento para salvar os seus arquivos de música baixados.'; + String get setupStorageDescription => + 'O SpotiFLAC precisa de permissão de armazenamento para salvar os seus arquivos de música baixados.'; @override String get setupNotificationGranted => 'Permissão de Notificações Concedida!'; @@ -3024,7 +3159,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get setupNotificationEnable => 'Habilitar Notificações'; @override - String get setupNotificationDescription => 'Seja notificado quando os downloads completarem ou exigirem atenção.'; + String get setupNotificationDescription => + 'Seja notificado quando os downloads completarem ou exigirem atenção.'; @override String get setupFolderSelected => 'Pasta para Download Selecionada!'; @@ -3033,7 +3169,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get setupFolderChoose => 'Escolher Pasta de Download'; @override - String get setupFolderDescription => 'Selecione uma pasta onde as suas músicas baixadas serão salvas.'; + String get setupFolderDescription => + 'Selecione uma pasta onde as suas músicas baixadas serão salvas.'; @override String get setupChangeFolder => 'Alterar Pasta'; @@ -3045,7 +3182,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get setupSpotifyApiOptional => 'API do Spotify (opcional)'; @override - String get setupSpotifyApiDescription => 'Adicione as suas credenciais da API do Spotify para obter melhores resultados de busca e acesso a conteúdo exclusivo do Spotify.'; + String get setupSpotifyApiDescription => + 'Adicione as suas credenciais da API do Spotify para obter melhores resultados de busca e acesso a conteúdo exclusivo do Spotify.'; @override String get setupUseSpotifyApi => 'Usar API do Spotify'; @@ -3063,19 +3201,23 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get setupEnterClientSecret => 'Insira o Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Receba as suas credenciais de API gratuitas na Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Receba as suas credenciais de API gratuitas na Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Habilitar Notificações'; @override - String get setupProceedToNextStep => 'Você já pode prosseguir para o próximo passo.'; + String get setupProceedToNextStep => + 'Você já pode prosseguir para o próximo passo.'; @override - String get setupNotificationProgressDescription => 'Você receberá notificações de progresso dos downloads.'; + String get setupNotificationProgressDescription => + 'Você receberá notificações de progresso dos downloads.'; @override - String get setupNotificationBackgroundDescription => 'Seja notificado sobre o progresso e conclusão do download. Isso ajuda você a acompanhar os downloads quando o app estiver em segundo plano.'; + String get setupNotificationBackgroundDescription => + 'Seja notificado sobre o progresso e conclusão do download. Isso ajuda você a acompanhar os downloads quando o app estiver em segundo plano.'; @override String get setupSkipForNow => 'Ignorar por enquanto'; @@ -3093,10 +3235,12 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get setupSkipAndStart => 'Ignorar e Iniciar'; @override - String get setupAllowAccessToManageFiles => 'Por favor, habilite \"Permitir acesso para gerenciar todos os arquivos\" na próxima tela.'; + String get setupAllowAccessToManageFiles => + 'Por favor, habilite \"Permitir acesso para gerenciar todos os arquivos\" na próxima tela.'; @override - String get setupGetCredentialsFromSpotify => 'Obter credenciais do developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Obter credenciais do developer.spotify.com'; @override String get dialogCancel => 'Cancelar'; @@ -3147,7 +3291,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get dialogDiscardChanges => 'Descartar Alterações?'; @override - String get dialogUnsavedChanges => 'Você tem alterações não salvas. Deseja descartá-las?'; + String get dialogUnsavedChanges => + 'Você tem alterações não salvas. Deseja descartá-las?'; @override String get dialogDownloadFailed => 'Download Falhou'; @@ -3165,7 +3310,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get dialogClearAll => 'Limpar Tudo'; @override - String get dialogClearAllDownloads => 'Você tem certeza que deseja limpar todos os downloads?'; + String get dialogClearAllDownloads => + 'Você tem certeza que deseja limpar todos os downloads?'; @override String get dialogRemoveFromDevice => 'Remover do dispositivo?'; @@ -3174,7 +3320,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get dialogRemoveExtension => 'Remover Extensão'; @override - String get dialogRemoveExtensionMessage => 'Tem certeza de que deseja remover esta extensão? Isso não pode ser desfeito.'; + String get dialogRemoveExtensionMessage => + 'Tem certeza de que deseja remover esta extensão? Isso não pode ser desfeito.'; @override String get dialogUninstallExtension => 'Desinstalar Extensão?'; @@ -3188,7 +3335,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get dialogClearHistoryTitle => 'Limpar Histórico'; @override - String get dialogClearHistoryMessage => 'Tem certeza de que deseja limpar todo o histórico de downloads? Isso não pode ser desfeito.'; + String get dialogClearHistoryMessage => + 'Tem certeza de que deseja limpar todo o histórico de downloads? Isso não pode ser desfeito.'; @override String get dialogDeleteSelectedTitle => 'Apagar Selecionados'; @@ -3272,13 +3420,15 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get snackbarFileNotFound => 'Arquivo não encontrado'; @override - String get snackbarSelectExtFile => 'Por favor, selecione um arquivo .spotiflac-ext'; + String get snackbarSelectExtFile => + 'Por favor, selecione um arquivo .spotiflac-ext'; @override String get snackbarProviderPrioritySaved => 'Prioridade de provedor salva'; @override - String get snackbarMetadataProviderSaved => 'Prioridade de provedor de metadados salva'; + String get snackbarMetadataProviderSaved => + 'Prioridade de provedor de metadados salva'; @override String snackbarExtensionInstalled(String extensionName) { @@ -3300,7 +3450,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get errorRateLimited => 'Taxa Limitada'; @override - String get errorRateLimitedMessage => 'Muitas solicitações. Por favor, aguarde um momento antes de pesquisar novamente.'; + String get errorRateLimitedMessage => + 'Muitas solicitações. Por favor, aguarde um momento antes de pesquisar novamente.'; @override String errorFailedToLoad(String item) { @@ -3467,19 +3618,24 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get folderOrganizationByArtistAlbum => 'Artista/Álbum'; @override - String get folderOrganizationDescription => 'Organizar arquivos baixados em pastas'; + String get folderOrganizationDescription => + 'Organizar arquivos baixados em pastas'; @override - String get folderOrganizationNoneSubtitle => 'Todos os arquivos na pasta de download'; + String get folderOrganizationNoneSubtitle => + 'Todos os arquivos na pasta de download'; @override - String get folderOrganizationByArtistSubtitle => 'Pasta separada para cada artista'; + String get folderOrganizationByArtistSubtitle => + 'Pasta separada para cada artista'; @override - String get folderOrganizationByAlbumSubtitle => 'Pasta separada para cada álbum'; + String get folderOrganizationByAlbumSubtitle => + 'Pasta separada para cada álbum'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Pastas aninhadas para artista e álbum'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Pastas aninhadas para artista e álbum'; @override String get updateAvailable => 'Atualização Disponível'; @@ -3532,16 +3688,19 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get providerPriority => 'Prioridade de Provedor'; @override - String get providerPrioritySubtitle => 'Arraste para reordenar os provedores de download'; + String get providerPrioritySubtitle => + 'Arraste para reordenar os provedores de download'; @override String get providerPriorityTitle => 'Prioridade de Provedor'; @override - String get providerPriorityDescription => 'Arraste para reordenar provedores de download. O aplicativo irá tentar provedores de cima para baixo ao baixar as faixas.'; + String get providerPriorityDescription => + 'Arraste para reordenar provedores de download. O aplicativo irá tentar provedores de cima para baixo ao baixar as faixas.'; @override - String get providerPriorityInfo => 'Se uma faixa não estiver disponível no primeiro provedor, o aplicativo irá tentar automaticamente a próxima.'; + String get providerPriorityInfo => + 'Se uma faixa não estiver disponível no primeiro provedor, o aplicativo irá tentar automaticamente a próxima.'; @override String get providerBuiltIn => 'Embutido'; @@ -3553,16 +3712,19 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get metadataProviderPriority => 'Prioridade de Provedor de Metadados'; @override - String get metadataProviderPrioritySubtitle => 'Ordem usada para obter metadados de faixa'; + String get metadataProviderPrioritySubtitle => + 'Ordem usada para obter metadados de faixa'; @override String get metadataProviderPriorityTitle => 'Prioridade de Metadados'; @override - String get metadataProviderPriorityDescription => 'Arraste para reordenar provedores de metadados. O aplicativo tentará provedores de cima para baixo ao procurar por faixas e buscar metadados.'; + String get metadataProviderPriorityDescription => + 'Arraste para reordenar provedores de metadados. O aplicativo tentará provedores de cima para baixo ao procurar por faixas e buscar metadados.'; @override - String get metadataProviderPriorityInfo => 'O Deezer não tem limites de taxa e é recomendado como principal. O Spotify pode limitar a taxa após muitas solicitações.'; + String get metadataProviderPriorityInfo => + 'O Deezer não tem limites de taxa e é recomendado como principal. O Spotify pode limitar a taxa após muitas solicitações.'; @override String get metadataNoRateLimits => 'Sem limites de taxa'; @@ -3607,7 +3769,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get logClearLogsTitle => 'Limpar Registros'; @override - String get logClearLogsMessage => 'Tem certeza de que deseja limpar todos os registros?'; + String get logClearLogsMessage => + 'Tem certeza de que deseja limpar todos os registros?'; @override String get logIspBlocking => 'BLOQUEIO DE ISP DETECTADO'; @@ -3628,34 +3791,41 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get logNoLogsYet => 'Ainda não há registros'; @override - String get logNoLogsYetSubtitle => 'Os registros aparecerão aqui enquanto você usa o aplicativo'; + String get logNoLogsYetSubtitle => + 'Os registros aparecerão aqui enquanto você usa o aplicativo'; @override String get logIssueSummary => 'Resumo do Problemas'; @override - String get logIspBlockingDescription => 'O seu provedor pode estar bloqueando o acesso aos serviços de download'; + String get logIspBlockingDescription => + 'O seu provedor pode estar bloqueando o acesso aos serviços de download'; @override - String get logIspBlockingSuggestion => 'Tente usar uma VPN ou altere o DNS para 1.1.1 ou 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Tente usar uma VPN ou altere o DNS para 1.1.1 ou 8.8.8.8'; @override String get logRateLimitedDescription => 'Muitas solicitações ao serviço'; @override - String get logRateLimitedSuggestion => 'Aguarde alguns minutos antes de tentar novamente'; + String get logRateLimitedSuggestion => + 'Aguarde alguns minutos antes de tentar novamente'; @override String get logNetworkErrorDescription => 'Problemas de conexão detectados'; @override - String get logNetworkErrorSuggestion => 'Verifique a sua conexão com a internet'; + String get logNetworkErrorSuggestion => + 'Verifique a sua conexão com a internet'; @override - String get logTrackNotFoundDescription => 'Algumas faixas não foram encontradas nos serviços de download'; + String get logTrackNotFoundDescription => + 'Algumas faixas não foram encontradas nos serviços de download'; @override - String get logTrackNotFoundSuggestion => 'A faixa pode não estar disponível em qualidade lossless'; + String get logTrackNotFoundSuggestion => + 'A faixa pode não estar disponível em qualidade lossless'; @override String logTotalErrors(int count) { @@ -3681,7 +3851,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get credentialsTitle => 'Credenciais do Spotify'; @override - String get credentialsDescription => 'Insira o seu Client ID e Secret para usar a sua própria cota de aplicativo do Spotify.'; + String get credentialsDescription => + 'Insira o seu Client ID e Secret para usar a sua própria cota de aplicativo do Spotify.'; @override String get credentialsClientId => 'Client ID'; @@ -3750,10 +3921,12 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get settingsAppearanceSubtitle => 'Tema, cores, exibição'; @override - String get settingsDownloadSubtitle => 'Serviço, qualidade, formato de nome de arquivo'; + String get settingsDownloadSubtitle => + 'Serviço, qualidade, formato de nome de arquivo'; @override - String get settingsOptionsSubtitle => 'Fallback, letras, arte de capa, atualizações'; + String get settingsOptionsSubtitle => + 'Fallback, letras, arte de capa, atualizações'; @override String get settingsExtensionsSubtitle => 'Gerenciar provedores de download'; @@ -3847,10 +4020,12 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get trackCopyLyrics => 'Copiar letras'; @override - String get trackLyricsNotAvailable => 'Letras não disponíveis para esta faixa'; + String get trackLyricsNotAvailable => + 'Letras não disponíveis para esta faixa'; @override - String get trackLyricsTimeout => 'A solicitação expirou. Tente novamente mais tarde.'; + String get trackLyricsTimeout => + 'A solicitação expirou. Tente novamente mais tarde.'; @override String get trackLyricsLoadFailed => 'Falha ao carregar letras'; @@ -3862,7 +4037,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get trackDeleteConfirmTitle => 'Remover do dispositivo?'; @override - String get trackDeleteConfirmMessage => 'Isso apagará permanentemente o arquivo baixado e o removerá do seu histórico.'; + String get trackDeleteConfirmMessage => + 'Isso apagará permanentemente o arquivo baixado e o removerá do seu histórico.'; @override String trackCannotOpen(String message) { @@ -3984,7 +4160,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get extensionMinAppVersion => 'Versão Mínima do App'; @override - String get extensionCustomTrackMatching => 'Correspondência de Faixa Personalizada'; + String get extensionCustomTrackMatching => + 'Correspondência de Faixa Personalizada'; @override String get extensionPostProcessing => 'Pós-Processamento'; @@ -4014,13 +4191,15 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get extensionsNoExtensions => 'Nenhuma extensão instalada'; @override - String get extensionsNoExtensionsSubtitle => 'Instale arquivos .spotiflac-ext para adicionar novos provedores'; + String get extensionsNoExtensionsSubtitle => + 'Instale arquivos .spotiflac-ext para adicionar novos provedores'; @override String get extensionsInstallButton => 'Instalar Extensão'; @override - String get extensionsInfoTip => 'Extensões podem adicionar novos metadados e baixar provedores. Somente instale extensões a partir de fontes confiáveis.'; + String get extensionsInfoTip => + 'Extensões podem adicionar novos metadados e baixar provedores. Somente instale extensões a partir de fontes confiáveis.'; @override String get extensionsInstalledSuccess => 'Extensão instalada com sucesso'; @@ -4029,28 +4208,34 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get extensionsDownloadPriority => 'Prioridade de Download'; @override - String get extensionsDownloadPrioritySubtitle => 'Definir ordem do serviço de download'; + String get extensionsDownloadPrioritySubtitle => + 'Definir ordem do serviço de download'; @override - String get extensionsNoDownloadProvider => 'Nenhuma extensão com provedor de download'; + String get extensionsNoDownloadProvider => + 'Nenhuma extensão com provedor de download'; @override String get extensionsMetadataPriority => 'Prioridade de Metadados'; @override - String get extensionsMetadataPrioritySubtitle => 'Definir ordem de origem de pesquisa e metadados'; + String get extensionsMetadataPrioritySubtitle => + 'Definir ordem de origem de pesquisa e metadados'; @override - String get extensionsNoMetadataProvider => 'Nenhuma extensão com provedor de metadados'; + String get extensionsNoMetadataProvider => + 'Nenhuma extensão com provedor de metadados'; @override String get extensionsSearchProvider => 'Provedor de Pesquisa'; @override - String get extensionsNoCustomSearch => 'Nenhuma extensão com pesquisa personalizada'; + String get extensionsNoCustomSearch => + 'Nenhuma extensão com pesquisa personalizada'; @override - String get extensionsSearchProviderDescription => 'Escolha qual serviço utilizar para pesquisar faixas'; + String get extensionsSearchProviderDescription => + 'Escolha qual serviço utilizar para pesquisar faixas'; @override String get extensionsCustomSearch => 'Busca personalizada'; @@ -4077,7 +4262,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get qualityHiResFlacMaxSubtitle => '24-bit / até 192kHz'; @override - String get qualityNote => 'A qualidade real depende da faixa que estiver disponível no serviço'; + String get qualityNote => + 'A qualidade real depende da faixa que estiver disponível no serviço'; @override String get downloadAskBeforeDownload => 'Perguntar qualidade antes de baixar'; @@ -4113,7 +4299,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get folderNone => 'Nenhum'; @override - String get folderNoneSubtitle => 'Salvar todos os arquivos diretamente na pasta de download'; + String get folderNoneSubtitle => + 'Salvar todos os arquivos diretamente na pasta de download'; @override String get folderArtist => 'Artista'; @@ -4131,7 +4318,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get folderArtistAlbum => 'Artista/Álbum'; @override - String get folderArtistAlbumSubtitle => 'Nome do Artista/Nome do Álbum/nome do arquivo'; + String get folderArtistAlbumSubtitle => + 'Nome do Artista/Nome do Álbum/nome do arquivo'; @override String get serviceTidal => 'Tidal'; @@ -4167,7 +4355,8 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get queueClearAll => 'Limpar Tudo'; @override - String get queueClearAllMessage => 'Tem certeza de que deseja limpar todos os downloads?'; + String get queueClearAllMessage => + 'Tem certeza de que deseja limpar todos os downloads?'; @override String get queueEmpty => 'Nenhum download na fila'; @@ -4197,13 +4386,15 @@ class AppLocalizationsPtPt extends AppLocalizationsPt { String get albumFolderArtistAlbum => 'Artista / Álbum'; @override - String get albumFolderArtistAlbumSubtitle => 'Álbuns/Nome do Artista/Nome do Álbum/'; + String get albumFolderArtistAlbumSubtitle => + 'Álbuns/Nome do Artista/Nome do Álbum/'; @override String get albumFolderArtistYearAlbum => 'Artista / [Ano] Álbum'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Álbuns/Nome do Artista/[2005] Nome do Álbum/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Álbuns/Nome do Artista/[2005] Nome do Álbum/'; @override String get albumFolderAlbumOnly => 'Apenas Álbum'; diff --git a/lib/l10n/app_localizations_ru.dart b/lib/l10n/app_localizations_ru.dart index 73d751c3..afa8b256 100644 --- a/lib/l10n/app_localizations_ru.dart +++ b/lib/l10n/app_localizations_ru.dart @@ -12,7 +12,8 @@ class AppLocalizationsRu extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Скачайте треки Spotify в Lossless качестве из Tidal, Qobuz и Amazon Music.'; + String get appDescription => + 'Скачайте треки Spotify в Lossless качестве из Tidal, Qobuz и Amazon Music.'; @override String get navHome => 'Главная'; @@ -44,7 +45,8 @@ class AppLocalizationsRu extends AppLocalizations { String get homeSubtitle => 'Вставьте ссылку Spotify или ищите по названию'; @override - String get homeSupports => 'Поддерживается: Трек, Альбом, Плейлист, URL исполнителя'; + String get homeSupports => + 'Поддерживается: Трек, Альбом, Плейлист, URL исполнителя'; @override String get homeRecent => 'Недавние'; @@ -105,13 +107,15 @@ class AppLocalizationsRu extends AppLocalizations { String get historyNoAlbums => 'Нет скачанных альбомов'; @override - String get historyNoAlbumsSubtitle => 'Скачайте несколько треков из альбома, чтобы увидеть их здесь'; + String get historyNoAlbumsSubtitle => + 'Скачайте несколько треков из альбома, чтобы увидеть их здесь'; @override String get historyNoSingles => 'Нет скачанных синглов'; @override - String get historyNoSinglesSubtitle => 'Здесь будут отображаться загрузки синглов'; + String get historyNoSinglesSubtitle => + 'Здесь будут отображаться загрузки синглов'; @override String get historySearchHint => 'Поиск в истории...'; @@ -150,7 +154,8 @@ class AppLocalizationsRu extends AppLocalizations { String get downloadDefaultService => 'Сервис по умолчанию'; @override - String get downloadDefaultServiceSubtitle => 'Сервис, используемый для скачивания'; + String get downloadDefaultServiceSubtitle => + 'Сервис, используемый для скачивания'; @override String get downloadDefaultQuality => 'Качество по умолчанию'; @@ -159,7 +164,8 @@ class AppLocalizationsRu extends AppLocalizations { String get downloadAskQuality => 'Спрашивать качество перед скачиванием'; @override - String get downloadAskQualitySubtitle => 'Показывать выбор качества для каждого скачивания'; + String get downloadAskQualitySubtitle => + 'Показывать выбор качества для каждого скачивания'; @override String get downloadFilenameFormat => 'Формат имени файла'; @@ -171,7 +177,8 @@ class AppLocalizationsRu extends AppLocalizations { String get downloadSeparateSingles => 'Разделять синглы'; @override - String get downloadSeparateSinglesSubtitle => 'Помещать синглы в отдельную папку'; + String get downloadSeparateSinglesSubtitle => + 'Помещать синглы в отдельную папку'; @override String get qualityBest => 'Лучшее из доступных'; @@ -204,7 +211,8 @@ class AppLocalizationsRu extends AppLocalizations { String get appearanceDynamicColor => 'Динамический цвет'; @override - String get appearanceDynamicColorSubtitle => 'Использовать цвета из ваших обоев'; + String get appearanceDynamicColorSubtitle => + 'Использовать цвета из ваших обоев'; @override String get appearanceAccentColor => 'Акцентный цвет'; @@ -228,7 +236,8 @@ class AppLocalizationsRu extends AppLocalizations { String get optionsPrimaryProvider => 'Основной провайдер'; @override - String get optionsPrimaryProviderSubtitle => 'Сервис, используемый при поиске по названию трека.'; + String get optionsPrimaryProviderSubtitle => + 'Сервис, используемый при поиске по названию трека.'; @override String optionsUsingExtension(String extensionName) { @@ -236,34 +245,41 @@ class AppLocalizationsRu extends AppLocalizations { } @override - String get optionsSwitchBack => 'Нажмите Deezer или Spotify для возврата с расширения'; + String get optionsSwitchBack => + 'Нажмите Deezer или Spotify для возврата с расширения'; @override String get optionsAutoFallback => 'Автоматический переход'; @override - String get optionsAutoFallbackSubtitle => 'Попробовать другие сервисы при сбое загрузки'; + String get optionsAutoFallbackSubtitle => + 'Попробовать другие сервисы при сбое загрузки'; @override - String get optionsUseExtensionProviders => 'Использовать провайдера расширений'; + String get optionsUseExtensionProviders => + 'Использовать провайдера расширений'; @override - String get optionsUseExtensionProvidersOn => 'Сначала будут опробованы расширения'; + String get optionsUseExtensionProvidersOn => + 'Сначала будут опробованы расширения'; @override - String get optionsUseExtensionProvidersOff => 'Использование только встроенных провайдеров'; + String get optionsUseExtensionProvidersOff => + 'Использование только встроенных провайдеров'; @override String get optionsEmbedLyrics => 'Вставить текст песни'; @override - String get optionsEmbedLyricsSubtitle => 'Вставить синхронизированные тексты в FLAC файлы'; + String get optionsEmbedLyricsSubtitle => + 'Вставить синхронизированные тексты в FLAC файлы'; @override String get optionsMaxQualityCover => 'Максимальное качество обложки'; @override - String get optionsMaxQualityCoverSubtitle => 'Скачивать обложку в макс. разрешении'; + String get optionsMaxQualityCoverSubtitle => + 'Скачивать обложку в макс. разрешении'; @override String get optionsConcurrentDownloads => 'Одновременные загрузки'; @@ -277,13 +293,15 @@ class AppLocalizationsRu extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Параллельные загрузки могут вызвать ограничение скорости'; + String get optionsConcurrentWarning => + 'Параллельные загрузки могут вызвать ограничение скорости'; @override String get optionsExtensionStore => 'Магазин расширений'; @override - String get optionsExtensionStoreSubtitle => 'Показывать вкладку Магазин в гл. меню'; + String get optionsExtensionStoreSubtitle => + 'Показывать вкладку Магазин в гл. меню'; @override String get optionsCheckUpdates => 'Проверить обновления'; @@ -301,13 +319,15 @@ class AppLocalizationsRu extends AppLocalizations { String get optionsUpdateChannelPreview => 'Предварительные версии'; @override - String get optionsUpdateChannelWarning => 'Предварительная версия может содержать ошибки или неполные функции'; + String get optionsUpdateChannelWarning => + 'Предварительная версия может содержать ошибки или неполные функции'; @override String get optionsClearHistory => 'Очистить историю загрузок'; @override - String get optionsClearHistorySubtitle => 'Удалить все скачанные треки из истории'; + String get optionsClearHistorySubtitle => + 'Удалить все скачанные треки из истории'; @override String get optionsDetailedLogging => 'Подробный лог'; @@ -327,10 +347,12 @@ class AppLocalizationsRu extends AppLocalizations { } @override - String get optionsSpotifyCredentialsRequired => 'Необходимо - нажмите для настройки'; + String get optionsSpotifyCredentialsRequired => + 'Необходимо - нажмите для настройки'; @override - String get optionsSpotifyWarning => 'Spotify требует ваши собственные учетные данные API. Получите их бесплатно на сайте developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify требует ваши собственные учетные данные API. Получите их бесплатно на сайте developer.spotify.com'; @override String get extensionsTitle => 'Расширения'; @@ -342,7 +364,8 @@ class AppLocalizationsRu extends AppLocalizations { String get extensionsNone => 'Нет установленных расширений'; @override - String get extensionsNoneSubtitle => 'Установка расширений из вкладки Магазин'; + String get extensionsNoneSubtitle => + 'Установка расширений из вкладки Магазин'; @override String get extensionsEnabled => 'Включено'; @@ -394,7 +417,8 @@ class AppLocalizationsRu extends AppLocalizations { String get aboutOriginalCreator => 'Создатель оригинального SpotiFLAC'; @override - String get aboutLogoArtist => 'Талантливый художник, который создал наш красивый логотип приложения!'; + String get aboutLogoArtist => + 'Талантливый художник, который создал наш красивый логотип приложения!'; @override String get aboutTranslators => 'Переводчики'; @@ -421,7 +445,8 @@ class AppLocalizationsRu extends AppLocalizations { String get aboutFeatureRequest => 'Предложить новую функцию'; @override - String get aboutFeatureRequestSubtitle => 'Предложить новые функции для приложения'; + String get aboutFeatureRequestSubtitle => + 'Предложить новые функции для приложения'; @override String get aboutTelegramChannel => 'Telegram канал'; @@ -454,28 +479,34 @@ class AppLocalizationsRu extends AppLocalizations { String get aboutVersion => 'Версия'; @override - String get aboutBinimumDesc => 'Создатель QQDL & HiFi API. Без этого API загрузки Tidal не существовали бы!'; + String get aboutBinimumDesc => + 'Создатель QQDL & HiFi API. Без этого API загрузки Tidal не существовали бы!'; @override - String get aboutSachinsenalDesc => 'Оригинальный создатель проекта HiFi. Основатель Tidal интеграции!'; + String get aboutSachinsenalDesc => + 'Оригинальный создатель проекта HiFi. Основатель Tidal интеграции!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Удивительный API для загрузок Amazon Music. Спасибо за то, что сделали это бесплатно!'; + String get aboutDoubleDoubleDesc => + 'Удивительный API для загрузок Amazon Music. Спасибо за то, что сделали это бесплатно!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'Лучший API для стриминга Qobuz. Без него загрузка файлов в высоком разрешении была бы невозможна!'; + String get aboutDabMusicDesc => + 'Лучший API для стриминга Qobuz. Без него загрузка файлов в высоком разрешении была бы невозможна!'; @override - String get aboutAppDescription => 'Скачайте треки Spotify в Lossless качестве из Tidal, Qobuz и Amazon Music.'; + String get aboutAppDescription => + 'Скачайте треки Spotify в Lossless качестве из Tidal, Qobuz и Amazon Music.'; @override String get albumTitle => 'Альбом'; @@ -584,7 +615,8 @@ class AppLocalizationsRu extends AppLocalizations { String get setupStoragePermission => 'Доступ к хранилищу'; @override - String get setupStoragePermissionSubtitle => 'Необходимо для сохранения загруженных файлов'; + String get setupStoragePermissionSubtitle => + 'Необходимо для сохранения загруженных файлов'; @override String get setupStoragePermissionGranted => 'Разрешение предоставлено'; @@ -611,16 +643,19 @@ class AppLocalizationsRu extends AppLocalizations { String get setupStorageAccessRequired => 'Требуется доступ к хранилищу'; @override - String get setupStorageAccessMessage => 'SpotiFLAC требуется разрешение \"Доступ ко всем файлам\" для сохранения музыкальных файлов в выбранную папку.'; + String get setupStorageAccessMessage => + 'SpotiFLAC требуется разрешение \"Доступ ко всем файлам\" для сохранения музыкальных файлов в выбранную папку.'; @override - String get setupStorageAccessMessageAndroid11 => 'Для Android 11+ требуется разрешение \"Доступ ко всем файлам\" для сохранения файлов в выбранную вами папку загрузки.'; + String get setupStorageAccessMessageAndroid11 => + 'Для Android 11+ требуется разрешение \"Доступ ко всем файлам\" для сохранения файлов в выбранную вами папку загрузки.'; @override String get setupOpenSettings => 'Открыть настройки'; @override - String get setupPermissionDeniedMessage => 'В разрешении отказано. Пожалуйста, предоставьте все разрешения для продолжения.'; + String get setupPermissionDeniedMessage => + 'В разрешении отказано. Пожалуйста, предоставьте все разрешения для продолжения.'; @override String setupPermissionRequired(String permissionType) { @@ -639,7 +674,8 @@ class AppLocalizationsRu extends AppLocalizations { String get setupUseDefaultFolder => 'Использовать папку по умолчанию?'; @override - String get setupNoFolderSelected => 'Папка не выбрана. Хотите использовать папку Музыка по умолчанию?'; + String get setupNoFolderSelected => + 'Папка не выбрана. Хотите использовать папку Музыка по умолчанию?'; @override String get setupUseDefault => 'По умолчанию'; @@ -648,25 +684,30 @@ class AppLocalizationsRu extends AppLocalizations { String get setupDownloadLocationTitle => 'Папка для скачивания'; @override - String get setupDownloadLocationIosMessage => 'В iOS загрузки сохраняются в папке Документы приложения. Вы можете получить к ним доступ через приложение Файлы.'; + String get setupDownloadLocationIosMessage => + 'В iOS загрузки сохраняются в папке Документы приложения. Вы можете получить к ним доступ через приложение Файлы.'; @override String get setupAppDocumentsFolder => 'Папка Документы приложения'; @override - String get setupAppDocumentsFolderSubtitle => 'Рекомендуется - доступ через Файлы'; + String get setupAppDocumentsFolderSubtitle => + 'Рекомендуется - доступ через Файлы'; @override String get setupChooseFromFiles => 'Выбрать из файлов'; @override - String get setupChooseFromFilesSubtitle => 'Выберите iCloud или другое местоположение'; + String get setupChooseFromFilesSubtitle => + 'Выберите iCloud или другое местоположение'; @override - String get setupIosEmptyFolderWarning => 'Ограничение iOS: пустые папки не могут быть выбраны. Выберите папку, содержащую хотя бы один файл.'; + String get setupIosEmptyFolderWarning => + 'Ограничение iOS: пустые папки не могут быть выбраны. Выберите папку, содержащую хотя бы один файл.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Скачать Spotify треки во FLAC'; @@ -693,16 +734,19 @@ class AppLocalizationsRu extends AppLocalizations { String get setupStorageRequired => 'Требуется доступ к хранилищу'; @override - String get setupStorageDescription => 'SpotiFLAC требуется разрешение на хранение для сохранения скачанных файлов.'; + String get setupStorageDescription => + 'SpotiFLAC требуется разрешение на хранение для сохранения скачанных файлов.'; @override - String get setupNotificationGranted => 'Разрешение на уведомление предоставлено!'; + String get setupNotificationGranted => + 'Разрешение на уведомление предоставлено!'; @override String get setupNotificationEnable => 'Включить уведомления'; @override - String get setupNotificationDescription => 'Получайте уведомления о завершении загрузки или о необходимости привлечения внимания.'; + String get setupNotificationDescription => + 'Получайте уведомления о завершении загрузки или о необходимости привлечения внимания.'; @override String get setupFolderSelected => 'Папка для загрузки выбрана!'; @@ -711,7 +755,8 @@ class AppLocalizationsRu extends AppLocalizations { String get setupFolderChoose => 'Выбрать папку для скачивания'; @override - String get setupFolderDescription => 'Выберите папку, в которой будет сохраняться скачанная музыка.'; + String get setupFolderDescription => + 'Выберите папку, в которой будет сохраняться скачанная музыка.'; @override String get setupChangeFolder => 'Сменить папку'; @@ -723,7 +768,8 @@ class AppLocalizationsRu extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (необязательно)'; @override - String get setupSpotifyApiDescription => 'Добавьте свои учётные данные Spotify для улучшения результатов поиска и доступа к эксклюзивному контенту Spotify.'; + String get setupSpotifyApiDescription => + 'Добавьте свои учётные данные Spotify для улучшения результатов поиска и доступа к эксклюзивному контенту Spotify.'; @override String get setupUseSpotifyApi => 'Использовать Spotify API'; @@ -741,19 +787,23 @@ class AppLocalizationsRu extends AppLocalizations { String get setupEnterClientSecret => 'Введите Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Получите бесплатный API учётной записи на панели разработчика Spotify.'; + String get setupGetFreeCredentials => + 'Получите бесплатный API учётной записи на панели разработчика Spotify.'; @override String get setupEnableNotifications => 'Включить уведомления'; @override - String get setupProceedToNextStep => 'Теперь вы можете перейти к следующему шагу.'; + String get setupProceedToNextStep => + 'Теперь вы можете перейти к следующему шагу.'; @override - String get setupNotificationProgressDescription => 'Вы будете получать уведомления о ходе загрузки.'; + String get setupNotificationProgressDescription => + 'Вы будете получать уведомления о ходе загрузки.'; @override - String get setupNotificationBackgroundDescription => 'Получайте уведомления о ходе и завершении загрузки. Это поможет вам отслеживать загрузки, когда приложение находится в фоновом режиме.'; + String get setupNotificationBackgroundDescription => + 'Получайте уведомления о ходе и завершении загрузки. Это поможет вам отслеживать загрузки, когда приложение находится в фоновом режиме.'; @override String get setupSkipForNow => 'Пропустить'; @@ -771,10 +821,12 @@ class AppLocalizationsRu extends AppLocalizations { String get setupSkipAndStart => 'Пропустить и начать'; @override - String get setupAllowAccessToManageFiles => 'Пожалуйста, включите \"Разрешить доступ для управления всеми файлами\" на следующем экране.'; + String get setupAllowAccessToManageFiles => + 'Пожалуйста, включите \"Разрешить доступ для управления всеми файлами\" на следующем экране.'; @override - String get setupGetCredentialsFromSpotify => 'Получить учётные данные с developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Получить учётные данные с developer.spotify.com'; @override String get dialogCancel => 'Отмена'; @@ -825,7 +877,8 @@ class AppLocalizationsRu extends AppLocalizations { String get dialogDiscardChanges => 'Отменить изменения?'; @override - String get dialogUnsavedChanges => 'Есть несохраненные изменения. Отменить их?'; + String get dialogUnsavedChanges => + 'Есть несохраненные изменения. Отменить их?'; @override String get dialogDownloadFailed => 'Ошибка скачивания'; @@ -843,7 +896,8 @@ class AppLocalizationsRu extends AppLocalizations { String get dialogClearAll => 'Очистить всё'; @override - String get dialogClearAllDownloads => 'Вы уверены, что хотите очистить все загрузки?'; + String get dialogClearAllDownloads => + 'Вы уверены, что хотите очистить все загрузки?'; @override String get dialogRemoveFromDevice => 'Удалить с устройства?'; @@ -852,7 +906,8 @@ class AppLocalizationsRu extends AppLocalizations { String get dialogRemoveExtension => 'Удалить расширение'; @override - String get dialogRemoveExtensionMessage => 'Вы уверены, что хотите удалить это расширение? Это действие не может быть отменено.'; + String get dialogRemoveExtensionMessage => + 'Вы уверены, что хотите удалить это расширение? Это действие не может быть отменено.'; @override String get dialogUninstallExtension => 'Удалить расширение?'; @@ -866,7 +921,8 @@ class AppLocalizationsRu extends AppLocalizations { String get dialogClearHistoryTitle => 'Очистить историю'; @override - String get dialogClearHistoryMessage => 'Вы уверены, что хотите удалить всю историю загрузок? Это действие необратимо.'; + String get dialogClearHistoryMessage => + 'Вы уверены, что хотите удалить всю историю загрузок? Это действие необратимо.'; @override String get dialogDeleteSelectedTitle => 'Удалить выбранные'; @@ -912,6 +968,11 @@ class AppLocalizationsRu extends AppLocalizations { return '\"$trackName\" уже скачан'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'История очищена'; @@ -959,13 +1020,15 @@ class AppLocalizationsRu extends AppLocalizations { String get snackbarFileNotFound => 'Файл не найден'; @override - String get snackbarSelectExtFile => 'Пожалуйста, выберите .spotiflac-ext-файл'; + String get snackbarSelectExtFile => + 'Пожалуйста, выберите .spotiflac-ext-файл'; @override String get snackbarProviderPrioritySaved => 'Приоритет провайдера сохранён'; @override - String get snackbarMetadataProviderSaved => 'Приоритет провайдера метаданных сохранён'; + String get snackbarMetadataProviderSaved => + 'Приоритет провайдера метаданных сохранён'; @override String snackbarExtensionInstalled(String extensionName) { @@ -987,7 +1050,8 @@ class AppLocalizationsRu extends AppLocalizations { String get errorRateLimited => 'Слишком много запросов'; @override - String get errorRateLimitedMessage => 'Слишком много запросов. Пожалуйста, подождите минуту перед повторным поиском.'; + String get errorRateLimitedMessage => + 'Слишком много запросов. Пожалуйста, подождите минуту перед повторным поиском.'; @override String errorFailedToLoad(String item) { @@ -1156,19 +1220,23 @@ class AppLocalizationsRu extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Исполнитель/Альбом'; @override - String get folderOrganizationDescription => 'Сортировать скачанные файлы по папкам'; + String get folderOrganizationDescription => + 'Сортировать скачанные файлы по папкам'; @override String get folderOrganizationNoneSubtitle => 'Все файлы в папке загрузок'; @override - String get folderOrganizationByArtistSubtitle => 'Отдельная папка для каждого исполнителя'; + String get folderOrganizationByArtistSubtitle => + 'Отдельная папка для каждого исполнителя'; @override - String get folderOrganizationByAlbumSubtitle => 'Отдельная папка для каждого альбома'; + String get folderOrganizationByAlbumSubtitle => + 'Отдельная папка для каждого альбома'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Вложенные папки для исполнителей и альбомов'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Вложенные папки для исполнителей и альбомов'; @override String get updateAvailable => 'Доступно обновление'; @@ -1227,10 +1295,12 @@ class AppLocalizationsRu extends AppLocalizations { String get providerPriorityTitle => 'Приоритет провайдера'; @override - String get providerPriorityDescription => 'Перетаскивайте, чтобы изменить порядок провайдеров загрузки. Приложение будет пробовать провайдеров сверху вниз при загрузке треков.'; + String get providerPriorityDescription => + 'Перетаскивайте, чтобы изменить порядок провайдеров загрузки. Приложение будет пробовать провайдеров сверху вниз при загрузке треков.'; @override - String get providerPriorityInfo => 'Если трек не доступен у первого провайдера, приложение автоматически попробует следующий.'; + String get providerPriorityInfo => + 'Если трек не доступен у первого провайдера, приложение автоматически попробует следующий.'; @override String get providerBuiltIn => 'Встроенные'; @@ -1242,16 +1312,19 @@ class AppLocalizationsRu extends AppLocalizations { String get metadataProviderPriority => 'Приоритет провайдера метаданных'; @override - String get metadataProviderPrioritySubtitle => 'Порядок, используемый при получении метаданных'; + String get metadataProviderPrioritySubtitle => + 'Порядок, используемый при получении метаданных'; @override String get metadataProviderPriorityTitle => 'Приоритет метаданных'; @override - String get metadataProviderPriorityDescription => 'Перетаскивайте, чтобы изменить порядок провайдеров метаданных. Приложение будет пробовать провайдеров сверху вниз при поиске треков и извлечении метаданных.'; + String get metadataProviderPriorityDescription => + 'Перетаскивайте, чтобы изменить порядок провайдеров метаданных. Приложение будет пробовать провайдеров сверху вниз при поиске треков и извлечении метаданных.'; @override - String get metadataProviderPriorityInfo => 'Deezer не имеет ограничений по скорости и рекомендуется в качестве основного. Spotify может ограничивать скорость после большого количества запросов.'; + String get metadataProviderPriorityInfo => + 'Deezer не имеет ограничений по скорости и рекомендуется в качестве основного. Spotify может ограничивать скорость после большого количества запросов.'; @override String get metadataNoRateLimits => 'Без ограничений по скорости'; @@ -1317,22 +1390,26 @@ class AppLocalizationsRu extends AppLocalizations { String get logNoLogsYet => 'Логов нет'; @override - String get logNoLogsYetSubtitle => 'Логи появятся здесь по мере использования приложения'; + String get logNoLogsYetSubtitle => + 'Логи появятся здесь по мере использования приложения'; @override String get logIssueSummary => 'Краткое описание проблемы'; @override - String get logIspBlockingDescription => 'Ваш провайдер может блокировать доступ к сервисам скачивания'; + String get logIspBlockingDescription => + 'Ваш провайдер может блокировать доступ к сервисам скачивания'; @override - String get logIspBlockingSuggestion => 'Попробуйте использовать VPN или измените DNS на 1.1.1.1 или 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Попробуйте использовать VPN или измените DNS на 1.1.1.1 или 8.8.8.8'; @override String get logRateLimitedDescription => 'Слишком много запросов к сервису'; @override - String get logRateLimitedSuggestion => 'Подождите несколько минут, прежде чем повторить попытку'; + String get logRateLimitedSuggestion => + 'Подождите несколько минут, прежде чем повторить попытку'; @override String get logNetworkErrorDescription => 'Обнаружены проблемы с подключением'; @@ -1341,10 +1418,12 @@ class AppLocalizationsRu extends AppLocalizations { String get logNetworkErrorSuggestion => 'Проверьте подключение к Интернету'; @override - String get logTrackNotFoundDescription => 'Некоторые треки не найдены в сервисах загрузки'; + String get logTrackNotFoundDescription => + 'Некоторые треки не найдены в сервисах загрузки'; @override - String get logTrackNotFoundSuggestion => 'Трек может быть недоступен в lossless формате'; + String get logTrackNotFoundSuggestion => + 'Трек может быть недоступен в lossless формате'; @override String logTotalErrors(int count) { @@ -1370,7 +1449,8 @@ class AppLocalizationsRu extends AppLocalizations { String get credentialsTitle => 'Учётные данные Spotify'; @override - String get credentialsDescription => 'Введите свой Client ID и Secret, чтобы использовать собственные квоты в Spotify.'; + String get credentialsDescription => + 'Введите свой Client ID и Secret, чтобы использовать собственные квоты в Spotify.'; @override String get credentialsClientId => 'Client ID'; @@ -1424,7 +1504,8 @@ class AppLocalizationsRu extends AppLocalizations { String get lyricsMode => 'Режим текстов песен'; @override - String get lyricsModeDescription => 'Выберите как сохранить тексты песен при скачивании'; + String get lyricsModeDescription => + 'Выберите как сохранить тексты песен при скачивании'; @override String get lyricsModeEmbed => 'Вставить в файл'; @@ -1436,7 +1517,8 @@ class AppLocalizationsRu extends AppLocalizations { String get lyricsModeExternal => 'Внешний файл .lrc'; @override - String get lyricsModeExternalSubtitle => 'Отдельный файл .lrc для плееров, таких, как Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Отдельный файл .lrc для плееров, таких, как Samsung Music'; @override String get lyricsModeBoth => 'Оба варианта'; @@ -1466,10 +1548,12 @@ class AppLocalizationsRu extends AppLocalizations { String get settingsAppearanceSubtitle => 'Тема, цвета, дисплей'; @override - String get settingsDownloadSubtitle => 'Сервисы, качество, формат имени файла'; + String get settingsDownloadSubtitle => + 'Сервисы, качество, формат имени файла'; @override - String get settingsOptionsSubtitle => 'Резерв. сервер, тексты песен, обложки, обновления'; + String get settingsOptionsSubtitle => + 'Резерв. сервер, тексты песен, обложки, обновления'; @override String get settingsExtensionsSubtitle => 'Управление провайдерами скачивания'; @@ -1574,10 +1658,12 @@ class AppLocalizationsRu extends AppLocalizations { String get trackCopyLyrics => 'Копировать текст'; @override - String get trackLyricsNotAvailable => 'Текст песни недоступен для этого трека'; + String get trackLyricsNotAvailable => + 'Текст песни недоступен для этого трека'; @override - String get trackLyricsTimeout => 'Время ожидания запроса истекло. Повторите попытку позже.'; + String get trackLyricsTimeout => + 'Время ожидания запроса истекло. Повторите попытку позже.'; @override String get trackLyricsLoadFailed => 'Не удалось загрузить текст песни'; @@ -1598,7 +1684,8 @@ class AppLocalizationsRu extends AppLocalizations { String get trackDeleteConfirmTitle => 'Удалить с устройства?'; @override - String get trackDeleteConfirmMessage => 'Это приведет к окончательному удалению загруженного файла и его удалению из истории.'; + String get trackDeleteConfirmMessage => + 'Это приведет к окончательному удалению загруженного файла и его удалению из истории.'; @override String trackCannotOpen(String message) { @@ -1672,7 +1759,8 @@ class AppLocalizationsRu extends AppLocalizations { String get extensionDefaultProvider => 'По умолчанию (Deezer/Spotify)'; @override - String get extensionDefaultProviderSubtitle => 'Использовать встроенный поиск'; + String get extensionDefaultProviderSubtitle => + 'Использовать встроенный поиск'; @override String get extensionAuthor => 'Автор'; @@ -1720,7 +1808,8 @@ class AppLocalizationsRu extends AppLocalizations { String get extensionMinAppVersion => 'Мин. версия приложения'; @override - String get extensionCustomTrackMatching => 'Соответствие пользовательских треков'; + String get extensionCustomTrackMatching => + 'Соответствие пользовательских треков'; @override String get extensionPostProcessing => 'Постобработка'; @@ -1750,13 +1839,15 @@ class AppLocalizationsRu extends AppLocalizations { String get extensionsNoExtensions => 'Нет установленных расширений'; @override - String get extensionsNoExtensionsSubtitle => 'Установите .spotiflac-ext файлы для добавления новых провайдеров'; + String get extensionsNoExtensionsSubtitle => + 'Установите .spotiflac-ext файлы для добавления новых провайдеров'; @override String get extensionsInstallButton => 'Установить расширение'; @override - String get extensionsInfoTip => 'Расширения могут добавлять новые метаданные и провайдеров загрузки. Устанавливайте только расширения из надежных источников.'; + String get extensionsInfoTip => + 'Расширения могут добавлять новые метаданные и провайдеров загрузки. Устанавливайте только расширения из надежных источников.'; @override String get extensionsInstalledSuccess => 'Расширение успешно установлено'; @@ -1765,28 +1856,34 @@ class AppLocalizationsRu extends AppLocalizations { String get extensionsDownloadPriority => 'Приоритет скачивания'; @override - String get extensionsDownloadPrioritySubtitle => 'Установка порядок сервисов скачивания'; + String get extensionsDownloadPrioritySubtitle => + 'Установка порядок сервисов скачивания'; @override - String get extensionsNoDownloadProvider => 'Нет расширений с провайдером загрузки'; + String get extensionsNoDownloadProvider => + 'Нет расширений с провайдером загрузки'; @override String get extensionsMetadataPriority => 'Приоритет метаданных'; @override - String get extensionsMetadataPrioritySubtitle => 'Установка порядка поиска и источника метаданных'; + String get extensionsMetadataPrioritySubtitle => + 'Установка порядка поиска и источника метаданных'; @override - String get extensionsNoMetadataProvider => 'Нет расширений с провайдером метаданных'; + String get extensionsNoMetadataProvider => + 'Нет расширений с провайдером метаданных'; @override String get extensionsSearchProvider => 'Провайдер поиска'; @override - String get extensionsNoCustomSearch => 'Нет расширений с пользовательским поиском'; + String get extensionsNoCustomSearch => + 'Нет расширений с пользовательским поиском'; @override - String get extensionsSearchProviderDescription => 'Выберите, какой сервис использовать для поиска треков'; + String get extensionsSearchProviderDescription => + 'Выберите, какой сервис использовать для поиска треков'; @override String get extensionsCustomSearch => 'Пользовательский поиск'; @@ -1828,7 +1925,8 @@ class AppLocalizationsRu extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1840,10 +1938,12 @@ class AppLocalizationsRu extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Фактическое качество зависит от доступности треков в сервисе'; + String get qualityNote => + 'Фактическое качество зависит от доступности треков в сервисе'; @override String get downloadAskBeforeDownload => 'Спрашивать перед скачиванием'; @@ -1879,7 +1979,8 @@ class AppLocalizationsRu extends AppLocalizations { String get folderNone => 'Отсутствует'; @override - String get folderNoneSubtitle => 'Сохранить все файлы непосредственно в папку загрузки'; + String get folderNoneSubtitle => + 'Сохранить все файлы непосредственно в папку загрузки'; @override String get folderArtist => 'Исполнитель'; @@ -1933,13 +2034,15 @@ class AppLocalizationsRu extends AppLocalizations { String get queueClearAll => 'Очистить всё'; @override - String get queueClearAllMessage => 'Вы уверены, что хотите очистить все загрузки?'; + String get queueClearAllMessage => + 'Вы уверены, что хотите очистить все загрузки?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1951,7 +2054,8 @@ class AppLocalizationsRu extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1963,7 +2067,8 @@ class AppLocalizationsRu extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'Нет загрузок в очереди'; @@ -1993,13 +2098,15 @@ class AppLocalizationsRu extends AppLocalizations { String get albumFolderArtistAlbum => 'Исполнитель / Альбом'; @override - String get albumFolderArtistAlbumSubtitle => 'Альбомы/Исполнитель/Название Альбома/'; + String get albumFolderArtistAlbumSubtitle => + 'Альбомы/Исполнитель/Название Альбома/'; @override String get albumFolderArtistYearAlbum => 'Исполнитель / [Год] Альбом'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Альбомы/Исполнитель/[2005] Название Альбома/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Альбомы/Исполнитель/[2005] Название Альбома/'; @override String get albumFolderAlbumOnly => 'Только альбом'; @@ -2011,13 +2118,15 @@ class AppLocalizationsRu extends AppLocalizations { String get albumFolderYearAlbum => '[Год] Альбом'; @override - String get albumFolderYearAlbumSubtitle => 'Альбомы/[2005] Название Альбома /'; + String get albumFolderYearAlbumSubtitle => + 'Альбомы/[2005] Название Альбома /'; @override String get albumFolderArtistAlbumSingles => 'Исполнитель / Альбом + Синглы'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Исполнитель/Альбом и Исполнитель/Сингл/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Исполнитель/Альбом и Исполнитель/Сингл/'; @override String get downloadedAlbumDeleteSelected => 'Удалить выбранные'; @@ -2131,7 +2240,8 @@ class AppLocalizationsRu extends AppLocalizations { String get discographySelectAlbums => 'Выбрать альбомы...'; @override - String get discographySelectAlbumsSubtitle => 'Выберите конкретные альбомы или синглы'; + String get discographySelectAlbumsSubtitle => + 'Выберите конкретные альбомы или синглы'; @override String get discographyFetchingTracks => 'Получение треков...'; @@ -2163,7 +2273,8 @@ class AppLocalizationsRu extends AppLocalizations { String get discographyNoAlbums => 'Нет доступных альбомов'; @override - String get discographyFailedToFetch => 'Не удалось получить некоторые альбомы'; + String get discographyFailedToFetch => + 'Не удалось получить некоторые альбомы'; @override String get sectionStorageAccess => 'Storage Access'; @@ -2178,13 +2289,16 @@ class AppLocalizationsRu extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2205,7 +2319,8 @@ class AppLocalizationsRu extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2217,7 +2332,8 @@ class AppLocalizationsRu extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2235,7 +2351,8 @@ class AppLocalizationsRu extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2247,13 +2364,15 @@ class AppLocalizationsRu extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2291,7 +2410,8 @@ class AppLocalizationsRu extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; diff --git a/lib/l10n/app_localizations_tr.dart b/lib/l10n/app_localizations_tr.dart index 2022a224..81946bb3 100644 --- a/lib/l10n/app_localizations_tr.dart +++ b/lib/l10n/app_localizations_tr.dart @@ -12,7 +12,8 @@ class AppLocalizationsTr extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Spotify şarkılarını Tidal, Qobuz ve Amazon Music\'den yüksek kalitede indir.'; + String get appDescription => + 'Spotify şarkılarını Tidal, Qobuz ve Amazon Music\'den yüksek kalitede indir.'; @override String get navHome => 'Ara'; @@ -44,7 +45,8 @@ class AppLocalizationsTr extends AppLocalizations { String get homeSubtitle => 'Spotify linki yapıştır veya isimle arat'; @override - String get homeSupports => 'Desteklenen linkler: Şarkı, Albüm, Çalma Listesi, Sanatçı linkleri'; + String get homeSupports => + 'Desteklenen linkler: Şarkı, Albüm, Çalma Listesi, Sanatçı linkleri'; @override String get homeRecent => 'En son'; @@ -95,13 +97,15 @@ class AppLocalizationsTr extends AppLocalizations { String get historyNoDownloads => 'İndirme geçmişi yok'; @override - String get historyNoDownloadsSubtitle => 'İndirilen şarkılar burada gözükecek'; + String get historyNoDownloadsSubtitle => + 'İndirilen şarkılar burada gözükecek'; @override String get historyNoAlbums => 'İndirilen albüm yok'; @override - String get historyNoAlbumsSubtitle => 'Albümleri burada görmek için bir albümden birden fazla şarkı indir'; + String get historyNoAlbumsSubtitle => + 'Albümleri burada görmek için bir albümden birden fazla şarkı indir'; @override String get historyNoSingles => 'Single indirilmemiş'; @@ -137,7 +141,8 @@ class AppLocalizationsTr extends AppLocalizations { String get downloadLocation => 'İndirme Konumu'; @override - String get downloadLocationSubtitle => 'Dosyaları nereye kaydedeceğinizi seçin'; + String get downloadLocationSubtitle => + 'Dosyaları nereye kaydedeceğinizi seçin'; @override String get downloadLocationDefault => 'Varsayılan dizin'; @@ -146,7 +151,8 @@ class AppLocalizationsTr extends AppLocalizations { String get downloadDefaultService => 'Varsayılan Hizmet'; @override - String get downloadDefaultServiceSubtitle => 'İndirmeler için kullanılan hizmet'; + String get downloadDefaultServiceSubtitle => + 'İndirmeler için kullanılan hizmet'; @override String get downloadDefaultQuality => 'Varsayılan Kalite'; @@ -155,7 +161,8 @@ class AppLocalizationsTr extends AppLocalizations { String get downloadAskQuality => 'İndirmeden Önce Kaliteyi Sor'; @override - String get downloadAskQualitySubtitle => 'Her indirmeden önce kalite seçim ekranını göster'; + String get downloadAskQualitySubtitle => + 'Her indirmeden önce kalite seçim ekranını göster'; @override String get downloadFilenameFormat => 'Dosya adı formatı'; @@ -167,7 +174,8 @@ class AppLocalizationsTr extends AppLocalizations { String get downloadSeparateSingles => 'Single\'ları Ayır'; @override - String get downloadSeparateSinglesSubtitle => 'Single şarkıları ayrı dosyaya koy'; + String get downloadSeparateSinglesSubtitle => + 'Single şarkıları ayrı dosyaya koy'; @override String get qualityBest => 'Mevcut en iyi'; @@ -200,7 +208,8 @@ class AppLocalizationsTr extends AppLocalizations { String get appearanceDynamicColor => 'Dinamik Renk'; @override - String get appearanceDynamicColorSubtitle => 'Duvar kağıdının renklerini kullan'; + String get appearanceDynamicColorSubtitle => + 'Duvar kağıdının renklerini kullan'; @override String get appearanceAccentColor => 'Vurgu Rengi'; @@ -224,7 +233,8 @@ class AppLocalizationsTr extends AppLocalizations { String get optionsPrimaryProvider => 'Ana Kaynek'; @override - String get optionsPrimaryProviderSubtitle => 'Şarkı ismi aratılırken kullanılan kaynak.'; + String get optionsPrimaryProviderSubtitle => + 'Şarkı ismi aratılırken kullanılan kaynak.'; @override String optionsUsingExtension(String extensionName) { @@ -232,13 +242,15 @@ class AppLocalizationsTr extends AppLocalizations { } @override - String get optionsSwitchBack => 'Dahili kaynaklara dönmek için Deezer veya Spotify\'a tıkla'; + String get optionsSwitchBack => + 'Dahili kaynaklara dönmek için Deezer veya Spotify\'a tıkla'; @override String get optionsAutoFallback => 'Diğerlerini dene'; @override - String get optionsAutoFallbackSubtitle => 'İndirme başarısız olursa diğer hizmetleri dene'; + String get optionsAutoFallbackSubtitle => + 'İndirme başarısız olursa diğer hizmetleri dene'; @override String get optionsUseExtensionProviders => 'Eklenti sağlayıcılarını kullan'; @@ -247,19 +259,22 @@ class AppLocalizationsTr extends AppLocalizations { String get optionsUseExtensionProvidersOn => 'Eklentiler ilk denenecek'; @override - String get optionsUseExtensionProvidersOff => 'Sadece dahili sağlayıcıları kullan'; + String get optionsUseExtensionProvidersOff => + 'Sadece dahili sağlayıcıları kullan'; @override String get optionsEmbedLyrics => 'Şarkı Sözlerini Göm'; @override - String get optionsEmbedLyricsSubtitle => 'Senkronize şarkı sözlerini FLAC dosyalarına göm'; + String get optionsEmbedLyricsSubtitle => + 'Senkronize şarkı sözlerini FLAC dosyalarına göm'; @override String get optionsMaxQualityCover => 'En Yüksek Kapak Kalitesi'; @override - String get optionsMaxQualityCoverSubtitle => 'En yüksek kalitedeki albüm kapaklarını indir'; + String get optionsMaxQualityCoverSubtitle => + 'En yüksek kalitedeki albüm kapaklarını indir'; @override String get optionsConcurrentDownloads => 'Eş Zamanlı İndirmeler'; @@ -273,7 +288,8 @@ class AppLocalizationsTr extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Aynı anda birden fazla indirme sınırlamaya takılabilir'; + String get optionsConcurrentWarning => + 'Aynı anda birden fazla indirme sınırlamaya takılabilir'; @override String get optionsExtensionStore => 'Eklenti Dükkanı'; @@ -297,13 +313,15 @@ class AppLocalizationsTr extends AppLocalizations { String get optionsUpdateChannelPreview => 'Önizleme sürümlerini al'; @override - String get optionsUpdateChannelWarning => 'Önizleme sürümleri hatalar veya tamamlanmamış özellikler içerebilir'; + String get optionsUpdateChannelWarning => + 'Önizleme sürümleri hatalar veya tamamlanmamış özellikler içerebilir'; @override String get optionsClearHistory => 'İndirme Geçmişini Temizle'; @override - String get optionsClearHistorySubtitle => 'İndirilen bütün şarkıları geçmişten temizle'; + String get optionsClearHistorySubtitle => + 'İndirilen bütün şarkıları geçmişten temizle'; @override String get optionsDetailedLogging => 'Detaylı Günlükleme'; @@ -323,10 +341,12 @@ class AppLocalizationsTr extends AppLocalizations { } @override - String get optionsSpotifyCredentialsRequired => 'Zorunlu - değiştirmek için tıkla'; + String get optionsSpotifyCredentialsRequired => + 'Zorunlu - değiştirmek için tıkla'; @override - String get optionsSpotifyWarning => 'Spotify\'ın senin API kimlik bilgilerine ihtiyacı var. Onları developer.spotify.com\'dan alabilirsin'; + String get optionsSpotifyWarning => + 'Spotify\'ın senin API kimlik bilgilerine ihtiyacı var. Onları developer.spotify.com\'dan alabilirsin'; @override String get extensionsTitle => 'Eklentiler'; @@ -390,7 +410,8 @@ class AppLocalizationsTr extends AppLocalizations { String get aboutOriginalCreator => 'Orijinal SpotiFLAC\'ın kurucusu'; @override - String get aboutLogoArtist => 'Uygulama logomuzu yaratmış yetenekli sanatçımız!'; + String get aboutLogoArtist => + 'Uygulama logomuzu yaratmış yetenekli sanatçımız!'; @override String get aboutTranslators => 'Çevirmenler'; @@ -411,13 +432,15 @@ class AppLocalizationsTr extends AppLocalizations { String get aboutReportIssue => 'Sorun bildir'; @override - String get aboutReportIssueSubtitle => 'Karşılaştığın herhangi bir problemi bildir'; + String get aboutReportIssueSubtitle => + 'Karşılaştığın herhangi bir problemi bildir'; @override String get aboutFeatureRequest => 'Özellik isteği'; @override - String get aboutFeatureRequestSubtitle => 'Uygulama için yeni özellikler isteyin'; + String get aboutFeatureRequestSubtitle => + 'Uygulama için yeni özellikler isteyin'; @override String get aboutTelegramChannel => 'Telegram Kanalı'; @@ -450,28 +473,34 @@ class AppLocalizationsTr extends AppLocalizations { String get aboutVersion => 'Versiyon'; @override - String get aboutBinimumDesc => 'QQDL ve HiFi API\'ın kurucusu. Bu API olmadan, Tidal indirmeleri olmazdı!'; + String get aboutBinimumDesc => + 'QQDL ve HiFi API\'ın kurucusu. Bu API olmadan, Tidal indirmeleri olmazdı!'; @override - String get aboutSachinsenalDesc => 'Orijinal HiFi projesi kurucusu. Tidal entegrasyonun temeli!'; + String get aboutSachinsenalDesc => + 'Orijinal HiFi projesi kurucusu. Tidal entegrasyonun temeli!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazom Music indirmeleri için harika bir API. Ücretsiz yaptığın için teşekkürler!'; + String get aboutDoubleDoubleDesc => + 'Amazom Music indirmeleri için harika bir API. Ücretsiz yaptığın için teşekkürler!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'En iyi Qobuz streaming API\'ı. Yüksek kalite indirmeler bunun sayesinde!'; + String get aboutDabMusicDesc => + 'En iyi Qobuz streaming API\'ı. Yüksek kalite indirmeler bunun sayesinde!'; @override - String get aboutAppDescription => 'Spotify şarkılarını Tidal, Qobuz ve Amazon Music\'den yüksek kalitede indir.'; + String get aboutAppDescription => + 'Spotify şarkılarını Tidal, Qobuz ve Amazon Music\'den yüksek kalitede indir.'; @override String get albumTitle => 'Albüm'; @@ -576,7 +605,8 @@ class AppLocalizationsTr extends AppLocalizations { String get setupStoragePermission => 'Depolama İzni'; @override - String get setupStoragePermissionSubtitle => 'İndirilen dosyaları kaydetmek için gerekli'; + String get setupStoragePermissionSubtitle => + 'İndirilen dosyaları kaydetmek için gerekli'; @override String get setupStoragePermissionGranted => 'İzin verildi'; @@ -603,16 +633,19 @@ class AppLocalizationsTr extends AppLocalizations { String get setupStorageAccessRequired => 'Depolama Erişimi Gerekli'; @override - String get setupStorageAccessMessage => 'SpotiFLAC\'ın şarkıları seçili klasörünüze kaydetmek için \"Bütün dosyalara eriş\" iznine ihtiyacı var.'; + String get setupStorageAccessMessage => + 'SpotiFLAC\'ın şarkıları seçili klasörünüze kaydetmek için \"Bütün dosyalara eriş\" iznine ihtiyacı var.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11 ve sonrasında şarkıların seçili klasörünüze kaydedilebilmesi için \"Bütün dosyalara eriş\" iznine ihtiyaç var.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11 ve sonrasında şarkıların seçili klasörünüze kaydedilebilmesi için \"Bütün dosyalara eriş\" iznine ihtiyaç var.'; @override String get setupOpenSettings => 'Ayarları Aç'; @override - String get setupPermissionDeniedMessage => 'İzin reddedildi. Devam etmek için lütfen bütün izinleri verin.'; + String get setupPermissionDeniedMessage => + 'İzin reddedildi. Devam etmek için lütfen bütün izinleri verin.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +664,8 @@ class AppLocalizationsTr extends AppLocalizations { String get setupUseDefaultFolder => 'Varsayılan Klasörü Kullan?'; @override - String get setupNoFolderSelected => 'Klasör seçilmedi. Varsayılan \"Music\" klasörünü kullanmak ister misiniz?'; + String get setupNoFolderSelected => + 'Klasör seçilmedi. Varsayılan \"Music\" klasörünü kullanmak ister misiniz?'; @override String get setupUseDefault => 'Varsayılanı Kullan'; @@ -640,13 +674,15 @@ class AppLocalizationsTr extends AppLocalizations { String get setupDownloadLocationTitle => 'İndirme Konumu'; @override - String get setupDownloadLocationIosMessage => 'iOS\'ta indirilenler uygulamanın \"Documents\" dosyasına kaydedilir. Onlara Dosyalar uygulamasından erişebilirsiniz.'; + String get setupDownloadLocationIosMessage => + 'iOS\'ta indirilenler uygulamanın \"Documents\" dosyasına kaydedilir. Onlara Dosyalar uygulamasından erişebilirsiniz.'; @override String get setupAppDocumentsFolder => 'App Documents Folder'; @override - String get setupAppDocumentsFolderSubtitle => 'Tavsiye edilen - Dosyalar uygulamasından erişilebilir'; + String get setupAppDocumentsFolderSubtitle => + 'Tavsiye edilen - Dosyalar uygulamasından erişilebilir'; @override String get setupChooseFromFiles => 'Dosyalar\'dan Seç'; @@ -655,10 +691,12 @@ class AppLocalizationsTr extends AppLocalizations { String get setupChooseFromFilesSubtitle => 'iCloud veya başka konum seç'; @override - String get setupIosEmptyFolderWarning => 'iOS\'un sınırlaması: Boş klasörler seçilemiyor. İçinde en az bir dosya bulunan bir klasör seçin.'; + String get setupIosEmptyFolderWarning => + 'iOS\'un sınırlaması: Boş klasörler seçilemiyor. İçinde en az bir dosya bulunan bir klasör seçin.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Spotify şarkılarını FLAC olarak indirin'; @@ -685,7 +723,8 @@ class AppLocalizationsTr extends AppLocalizations { String get setupStorageRequired => 'Depolama İzni Gerekli'; @override - String get setupStorageDescription => 'SpotiFLAC\'ın şarkılarınızı kaydetmek için depolama iznine ihtiyacı var.'; + String get setupStorageDescription => + 'SpotiFLAC\'ın şarkılarınızı kaydetmek için depolama iznine ihtiyacı var.'; @override String get setupNotificationGranted => 'Bildirim İzni Verildi!'; @@ -694,7 +733,8 @@ class AppLocalizationsTr extends AppLocalizations { String get setupNotificationEnable => 'Bildirimleri Etkinleştir'; @override - String get setupNotificationDescription => 'İndirmeler bittiğinde veya bakılması gereken bir şey olduğunda haberdar olun.'; + String get setupNotificationDescription => + 'İndirmeler bittiğinde veya bakılması gereken bir şey olduğunda haberdar olun.'; @override String get setupFolderSelected => 'İndirilecek Klasör Seçildi!'; @@ -703,7 +743,8 @@ class AppLocalizationsTr extends AppLocalizations { String get setupFolderChoose => 'İndirilecek Klasörü Seç'; @override - String get setupFolderDescription => 'İndirdiğin şarkıların kaydedileceği klasörü seç.'; + String get setupFolderDescription => + 'İndirdiğin şarkıların kaydedileceği klasörü seç.'; @override String get setupChangeFolder => 'Klasörü Değiştir'; @@ -715,7 +756,8 @@ class AppLocalizationsTr extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (İsteğe Bağlı)'; @override - String get setupSpotifyApiDescription => 'Daha iyi arama sonuçları ve Spotify\'a özel içeriklere erişmek için Spotify API kimlik bilgilerini gir.'; + String get setupSpotifyApiDescription => + 'Daha iyi arama sonuçları ve Spotify\'a özel içeriklere erişmek için Spotify API kimlik bilgilerini gir.'; @override String get setupUseSpotifyApi => 'Spotify API\'ı kullan'; @@ -733,7 +775,8 @@ class AppLocalizationsTr extends AppLocalizations { String get setupEnterClientSecret => 'Spotify Client Secret gir'; @override - String get setupGetFreeCredentials => 'Spotify Developer Dashboard\'tan API kimlik bilgilerini ücretsiz alın.'; + String get setupGetFreeCredentials => + 'Spotify Developer Dashboard\'tan API kimlik bilgilerini ücretsiz alın.'; @override String get setupEnableNotifications => 'Bildirimleri Etkinleştir'; @@ -742,10 +785,12 @@ class AppLocalizationsTr extends AppLocalizations { String get setupProceedToNextStep => 'Bir sonraki adıma geçebilirsin.'; @override - String get setupNotificationProgressDescription => 'İndirme ilerlemelerinin bildirimlerini alacaksın.'; + String get setupNotificationProgressDescription => + 'İndirme ilerlemelerinin bildirimlerini alacaksın.'; @override - String get setupNotificationBackgroundDescription => 'İndirmelerin durumu hakkında bildirim al. Bunu açmak uygulama arka plandayken indirmelerinizi takip etmenizi sağlar.'; + String get setupNotificationBackgroundDescription => + 'İndirmelerin durumu hakkında bildirim al. Bunu açmak uygulama arka plandayken indirmelerinizi takip etmenizi sağlar.'; @override String get setupSkipForNow => 'Şimdilik atla'; @@ -763,10 +808,12 @@ class AppLocalizationsTr extends AppLocalizations { String get setupSkipAndStart => 'Kurulumu atla'; @override - String get setupAllowAccessToManageFiles => 'Lütfen bir sonraki ekranda \"Bütün dosyalara eriş\" iznini sağlayın.'; + String get setupAllowAccessToManageFiles => + 'Lütfen bir sonraki ekranda \"Bütün dosyalara eriş\" iznini sağlayın.'; @override - String get setupGetCredentialsFromSpotify => 'Kimlik bilgilerini developer.spotify.com\'dan alın'; + String get setupGetCredentialsFromSpotify => + 'Kimlik bilgilerini developer.spotify.com\'dan alın'; @override String get dialogCancel => 'İptal'; @@ -817,7 +864,8 @@ class AppLocalizationsTr extends AppLocalizations { String get dialogDiscardChanges => 'Değişiklikleri İptal Et?'; @override - String get dialogUnsavedChanges => 'Kaydedilmeyen değişiklikler mevcut. Bu değişiklikleri iptal etmek istiyor musunuz?'; + String get dialogUnsavedChanges => + 'Kaydedilmeyen değişiklikler mevcut. Bu değişiklikleri iptal etmek istiyor musunuz?'; @override String get dialogDownloadFailed => 'İndirme Başarısız'; @@ -835,7 +883,8 @@ class AppLocalizationsTr extends AppLocalizations { String get dialogClearAll => 'Tümünü Temizle'; @override - String get dialogClearAllDownloads => 'Bütün indirmeleri temizlemek istediğinize emin misiniz?'; + String get dialogClearAllDownloads => + 'Bütün indirmeleri temizlemek istediğinize emin misiniz?'; @override String get dialogRemoveFromDevice => 'Cihazdan kaldır?'; @@ -844,7 +893,8 @@ class AppLocalizationsTr extends AppLocalizations { String get dialogRemoveExtension => 'Eklentiyi Kaldır'; @override - String get dialogRemoveExtensionMessage => 'Bu eklentiyi kaldırmak istediğine emin misin? Bu işlem geri alınamaz.'; + String get dialogRemoveExtensionMessage => + 'Bu eklentiyi kaldırmak istediğine emin misin? Bu işlem geri alınamaz.'; @override String get dialogUninstallExtension => 'Eklentiyi Kaldır?'; @@ -858,7 +908,8 @@ class AppLocalizationsTr extends AppLocalizations { String get dialogClearHistoryTitle => 'Geçmişi Temizle'; @override - String get dialogClearHistoryMessage => 'Tüm indirme geçmişini temizlemek istediğinizden emin misiniz? Bu işlem geri alınamaz.'; + String get dialogClearHistoryMessage => + 'Tüm indirme geçmişini temizlemek istediğinizden emin misiniz? Bu işlem geri alınamaz.'; @override String get dialogDeleteSelectedTitle => 'Seçileni Sil'; @@ -902,6 +953,11 @@ class AppLocalizationsTr extends AppLocalizations { return '\"$trackName\" zaten indirilmiş'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'Geçmiş temizlendi'; @@ -953,7 +1009,8 @@ class AppLocalizationsTr extends AppLocalizations { String get snackbarProviderPrioritySaved => 'Sağlayıcı önceliği kaydedildi'; @override - String get snackbarMetadataProviderSaved => 'Metadata sağlayıcı önceliği kaydedildi'; + String get snackbarMetadataProviderSaved => + 'Metadata sağlayıcı önceliği kaydedildi'; @override String snackbarExtensionInstalled(String extensionName) { @@ -975,7 +1032,8 @@ class AppLocalizationsTr extends AppLocalizations { String get errorRateLimited => 'Aşırı istek gönderildi'; @override - String get errorRateLimitedMessage => 'Çok fazla istek. Lütfen arama yapmadan önce biraz bekleyin.'; + String get errorRateLimitedMessage => + 'Çok fazla istek. Lütfen arama yapmadan önce biraz bekleyin.'; @override String errorFailedToLoad(String item) { @@ -1142,19 +1200,23 @@ class AppLocalizationsTr extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Sanatçı/Albüm'; @override - String get folderOrganizationDescription => 'İndirilenleri klasörlerle organize et'; + String get folderOrganizationDescription => + 'İndirilenleri klasörlerle organize et'; @override - String get folderOrganizationNoneSubtitle => 'Her şey indirilen dosyasına kaydedilecek'; + String get folderOrganizationNoneSubtitle => + 'Her şey indirilen dosyasına kaydedilecek'; @override - String get folderOrganizationByArtistSubtitle => 'Her sanatçı için ayrı klasör'; + String get folderOrganizationByArtistSubtitle => + 'Her sanatçı için ayrı klasör'; @override String get folderOrganizationByAlbumSubtitle => 'Her albüm için ayrı klasör'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Sanatçı klasörlerinin içinde Albüm klasörleri'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Sanatçı klasörlerinin içinde Albüm klasörleri'; @override String get updateAvailable => 'Güncelleme Mevcut'; @@ -1207,16 +1269,19 @@ class AppLocalizationsTr extends AppLocalizations { String get providerPriority => 'İndirme hizmetleri öncelik sırası'; @override - String get providerPrioritySubtitle => 'İndirme hizmetlerini sıralamak için kaydır'; + String get providerPrioritySubtitle => + 'İndirme hizmetlerini sıralamak için kaydır'; @override String get providerPriorityTitle => 'İndirme hizmetleri öncelik sırası'; @override - String get providerPriorityDescription => 'İndirme hizmetlerini sıralamak için kaydır. Uygulama şarkı indirirken hizmetleri yukarıdan aşağıya doğru deneyecektir.'; + String get providerPriorityDescription => + 'İndirme hizmetlerini sıralamak için kaydır. Uygulama şarkı indirirken hizmetleri yukarıdan aşağıya doğru deneyecektir.'; @override - String get providerPriorityInfo => 'Eğer bir şarkı ilk hizmette mevcut değilse uygulama otomatik olarak bir sonrakini deneyecektir.'; + String get providerPriorityInfo => + 'Eğer bir şarkı ilk hizmette mevcut değilse uygulama otomatik olarak bir sonrakini deneyecektir.'; @override String get providerBuiltIn => 'Dahili'; @@ -1228,16 +1293,19 @@ class AppLocalizationsTr extends AppLocalizations { String get metadataProviderPriority => 'Metadata Sağlayıcı Önceliği'; @override - String get metadataProviderPrioritySubtitle => 'Şarkı metadata\'sı alınırken kullanılan sıra'; + String get metadataProviderPrioritySubtitle => + 'Şarkı metadata\'sı alınırken kullanılan sıra'; @override String get metadataProviderPriorityTitle => 'Metadata Önceliği'; @override - String get metadataProviderPriorityDescription => 'Metadata sağlayıcılarını sıralamak için kaydır. Uygulama şarkı ararken ve metadata alırken sağlayıcıları yukarıdan aşağıya doğru deneyecektir.'; + String get metadataProviderPriorityDescription => + 'Metadata sağlayıcılarını sıralamak için kaydır. Uygulama şarkı ararken ve metadata alırken sağlayıcıları yukarıdan aşağıya doğru deneyecektir.'; @override - String get metadataProviderPriorityInfo => 'Deezer\'ın istek sınırı yok ve birincil olarak önerilir. Spotify çok fazla istekten sonra sınırlama yapabilir.'; + String get metadataProviderPriorityInfo => + 'Deezer\'ın istek sınırı yok ve birincil olarak önerilir. Spotify çok fazla istekten sonra sınırlama yapabilir.'; @override String get metadataNoRateLimits => 'İstek sınırı yok'; @@ -1282,7 +1350,8 @@ class AppLocalizationsTr extends AppLocalizations { String get logClearLogsTitle => 'Kayıtları temizle'; @override - String get logClearLogsMessage => 'Tüm kayıtları temizlemek istediğinize emin misiniz?'; + String get logClearLogsMessage => + 'Tüm kayıtları temizlemek istediğinize emin misiniz?'; @override String get logIspBlocking => 'ISP BLOCKING DETECTED'; @@ -1303,22 +1372,26 @@ class AppLocalizationsTr extends AppLocalizations { String get logNoLogsYet => 'Henüz kayıt yok'; @override - String get logNoLogsYetSubtitle => 'Uygulamayı kullandıkça kayıtlar burada görünecek'; + String get logNoLogsYetSubtitle => + 'Uygulamayı kullandıkça kayıtlar burada görünecek'; @override String get logIssueSummary => 'Sorun Özeti'; @override - String get logIspBlockingDescription => 'İnternet sağlayıcınız indirme hizmetlerine erişimi engelliyor olabilir'; + String get logIspBlockingDescription => + 'İnternet sağlayıcınız indirme hizmetlerine erişimi engelliyor olabilir'; @override - String get logIspBlockingSuggestion => 'VPN kullanmayı veya DNS\'i 1.1.1.1 ya da 8.8.8.8 olarak değiştirmeyi deneyin'; + String get logIspBlockingSuggestion => + 'VPN kullanmayı veya DNS\'i 1.1.1.1 ya da 8.8.8.8 olarak değiştirmeyi deneyin'; @override String get logRateLimitedDescription => 'Hizmete çok fazla istek gönderildi'; @override - String get logRateLimitedSuggestion => 'Tekrar denemeden önce birkaç dakika bekleyin'; + String get logRateLimitedSuggestion => + 'Tekrar denemeden önce birkaç dakika bekleyin'; @override String get logNetworkErrorDescription => 'Bağlantı sorunları tespit edildi'; @@ -1327,10 +1400,12 @@ class AppLocalizationsTr extends AppLocalizations { String get logNetworkErrorSuggestion => 'İnternet bağlantınızı kontrol edin'; @override - String get logTrackNotFoundDescription => 'Bazı şarkılar indirme hizmetlerinde bulunamadı'; + String get logTrackNotFoundDescription => + 'Bazı şarkılar indirme hizmetlerinde bulunamadı'; @override - String get logTrackNotFoundSuggestion => 'Şarkı kayıpsız kalitede mevcut olmayabilir'; + String get logTrackNotFoundSuggestion => + 'Şarkı kayıpsız kalitede mevcut olmayabilir'; @override String logTotalErrors(int count) { @@ -1356,7 +1431,8 @@ class AppLocalizationsTr extends AppLocalizations { String get credentialsTitle => 'Spotify Kimlik Bilgileri'; @override - String get credentialsDescription => 'Kendi Spotify uygulama kotanızı kullanmak için Client ID ve Secret girin.'; + String get credentialsDescription => + 'Kendi Spotify uygulama kotanızı kullanmak için Client ID ve Secret girin.'; @override String get credentialsClientId => 'Client ID'; @@ -1410,19 +1486,22 @@ class AppLocalizationsTr extends AppLocalizations { String get lyricsMode => 'Şarkı Sözü Modu'; @override - String get lyricsModeDescription => 'Şarkı sözlerinin indirmelerle nasıl kaydedileceğini seçin'; + String get lyricsModeDescription => + 'Şarkı sözlerinin indirmelerle nasıl kaydedileceğini seçin'; @override String get lyricsModeEmbed => 'Dosyaya göm'; @override - String get lyricsModeEmbedSubtitle => 'Şarkı sözleri FLAC metadata içinde saklanır'; + String get lyricsModeEmbedSubtitle => + 'Şarkı sözleri FLAC metadata içinde saklanır'; @override String get lyricsModeExternal => 'Harici .lrc dosyası'; @override - String get lyricsModeExternalSubtitle => 'Samsung Music gibi oynatıcılar için ayrı .lrc dosyası'; + String get lyricsModeExternalSubtitle => + 'Samsung Music gibi oynatıcılar için ayrı .lrc dosyası'; @override String get lyricsModeBoth => 'Her ikisi'; @@ -1455,13 +1534,15 @@ class AppLocalizationsTr extends AppLocalizations { String get settingsDownloadSubtitle => 'Hizmet, kalite, dosya adı formatı'; @override - String get settingsOptionsSubtitle => 'Yedek, şarkı sözleri, kapak resmi, güncellemeler'; + String get settingsOptionsSubtitle => + 'Yedek, şarkı sözleri, kapak resmi, güncellemeler'; @override String get settingsExtensionsSubtitle => 'İndirme sağlayıcılarını yönet'; @override - String get settingsLogsSubtitle => 'Hata ayıklama için uygulama kayıtlarını görüntüle'; + String get settingsLogsSubtitle => + 'Hata ayıklama için uygulama kayıtlarını görüntüle'; @override String get loadingSharedLink => 'Paylaşılan bağlantı yükleniyor...'; @@ -1561,7 +1642,8 @@ class AppLocalizationsTr extends AppLocalizations { String get trackLyricsNotAvailable => 'Bu şarkı için şarkı sözü mevcut değil'; @override - String get trackLyricsTimeout => 'İstek zaman aşımına uğradı. Daha sonra tekrar deneyin.'; + String get trackLyricsTimeout => + 'İstek zaman aşımına uğradı. Daha sonra tekrar deneyin.'; @override String get trackLyricsLoadFailed => 'Şarkı sözleri yüklenemedi'; @@ -1582,7 +1664,8 @@ class AppLocalizationsTr extends AppLocalizations { String get trackDeleteConfirmTitle => 'Cihazdan kaldırılsın mı?'; @override - String get trackDeleteConfirmMessage => 'Bu işlem indirilen dosyayı kalıcı olarak silecek ve geçmişten kaldıracaktır.'; + String get trackDeleteConfirmMessage => + 'Bu işlem indirilen dosyayı kalıcı olarak silecek ve geçmişten kaldıracaktır.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1817,15 @@ class AppLocalizationsTr extends AppLocalizations { String get extensionsNoExtensions => 'Yüklü eklenti yok'; @override - String get extensionsNoExtensionsSubtitle => 'Yeni sağlayıcılar eklemek için .spotiflac-ext dosyalarını yükleyin'; + String get extensionsNoExtensionsSubtitle => + 'Yeni sağlayıcılar eklemek için .spotiflac-ext dosyalarını yükleyin'; @override String get extensionsInstallButton => 'Eklenti Yükle'; @override - String get extensionsInfoTip => 'Eklentiler yeni metadata ve indirme sağlayıcıları ekleyebilir. Sadece güvenilir kaynaklardan eklenti yükleyin.'; + String get extensionsInfoTip => + 'Eklentiler yeni metadata ve indirme sağlayıcıları ekleyebilir. Sadece güvenilir kaynaklardan eklenti yükleyin.'; @override String get extensionsInstalledSuccess => 'Eklenti başarıyla yüklendi'; @@ -1749,19 +1834,23 @@ class AppLocalizationsTr extends AppLocalizations { String get extensionsDownloadPriority => 'İndirme Önceliği'; @override - String get extensionsDownloadPrioritySubtitle => 'İndirme hizmeti sırasını ayarla'; + String get extensionsDownloadPrioritySubtitle => + 'İndirme hizmeti sırasını ayarla'; @override - String get extensionsNoDownloadProvider => 'İndirme sağlayıcısı olan eklenti yok'; + String get extensionsNoDownloadProvider => + 'İndirme sağlayıcısı olan eklenti yok'; @override String get extensionsMetadataPriority => 'Metadata Önceliği'; @override - String get extensionsMetadataPrioritySubtitle => 'Arama ve metadata kaynağı sırasını ayarla'; + String get extensionsMetadataPrioritySubtitle => + 'Arama ve metadata kaynağı sırasını ayarla'; @override - String get extensionsNoMetadataProvider => 'Metadata sağlayıcısı olan eklenti yok'; + String get extensionsNoMetadataProvider => + 'Metadata sağlayıcısı olan eklenti yok'; @override String get extensionsSearchProvider => 'Arama Sağlayıcı'; @@ -1770,7 +1859,8 @@ class AppLocalizationsTr extends AppLocalizations { String get extensionsNoCustomSearch => 'Özel arama olan eklenti yok'; @override - String get extensionsSearchProviderDescription => 'Şarkı aramak için hangi hizmetin kullanılacağını seçin'; + String get extensionsSearchProviderDescription => + 'Şarkı aramak için hangi hizmetin kullanılacağını seçin'; @override String get extensionsCustomSearch => 'Özel arama'; @@ -1812,7 +1902,8 @@ class AppLocalizationsTr extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,10 +1915,12 @@ class AppLocalizationsTr extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -1917,13 +2010,15 @@ class AppLocalizationsTr extends AppLocalizations { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2030,8 @@ class AppLocalizationsTr extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2043,8 @@ class AppLocalizationsTr extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'No downloads in queue'; @@ -1983,7 +2080,8 @@ class AppLocalizationsTr extends AppLocalizations { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -2001,7 +2099,8 @@ class AppLocalizationsTr extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -2111,7 +2210,8 @@ class AppLocalizationsTr extends AppLocalizations { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -2158,13 +2258,16 @@ class AppLocalizationsTr extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2288,8 @@ class AppLocalizationsTr extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2301,8 @@ class AppLocalizationsTr extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2320,8 @@ class AppLocalizationsTr extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2333,15 @@ class AppLocalizationsTr extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2379,8 @@ class AppLocalizationsTr extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; diff --git a/lib/l10n/app_localizations_zh.dart b/lib/l10n/app_localizations_zh.dart index 8772515c..64e6da81 100644 --- a/lib/l10n/app_localizations_zh.dart +++ b/lib/l10n/app_localizations_zh.dart @@ -12,7 +12,8 @@ class AppLocalizationsZh extends AppLocalizations { String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get appDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get navHome => 'Home'; @@ -101,13 +102,15 @@ class AppLocalizationsZh extends AppLocalizations { String get historyNoAlbums => 'No album downloads'; @override - String get historyNoAlbumsSubtitle => 'Download multiple tracks from an album to see them here'; + String get historyNoAlbumsSubtitle => + 'Download multiple tracks from an album to see them here'; @override String get historyNoSingles => 'No single downloads'; @override - String get historyNoSinglesSubtitle => 'Single track downloads will appear here'; + String get historyNoSinglesSubtitle => + 'Single track downloads will appear here'; @override String get historySearchHint => 'Search history...'; @@ -155,7 +158,8 @@ class AppLocalizationsZh extends AppLocalizations { String get downloadAskQuality => 'Ask Quality Before Download'; @override - String get downloadAskQualitySubtitle => 'Show quality picker for each download'; + String get downloadAskQualitySubtitle => + 'Show quality picker for each download'; @override String get downloadFilenameFormat => 'Filename Format'; @@ -167,7 +171,8 @@ class AppLocalizationsZh extends AppLocalizations { String get downloadSeparateSingles => 'Separate Singles'; @override - String get downloadSeparateSinglesSubtitle => 'Put single tracks in a separate folder'; + String get downloadSeparateSinglesSubtitle => + 'Put single tracks in a separate folder'; @override String get qualityBest => 'Best Available'; @@ -224,7 +229,8 @@ class AppLocalizationsZh extends AppLocalizations { String get optionsPrimaryProvider => 'Primary Provider'; @override - String get optionsPrimaryProviderSubtitle => 'Service used when searching by track name.'; + String get optionsPrimaryProviderSubtitle => + 'Service used when searching by track name.'; @override String optionsUsingExtension(String extensionName) { @@ -232,13 +238,15 @@ class AppLocalizationsZh extends AppLocalizations { } @override - String get optionsSwitchBack => 'Tap Deezer or Spotify to switch back from extension'; + String get optionsSwitchBack => + 'Tap Deezer or Spotify to switch back from extension'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Try other services if download fails'; + String get optionsAutoFallbackSubtitle => + 'Try other services if download fails'; @override String get optionsUseExtensionProviders => 'Use Extension Providers'; @@ -253,13 +261,15 @@ class AppLocalizationsZh extends AppLocalizations { String get optionsEmbedLyrics => 'Embed Lyrics'; @override - String get optionsEmbedLyricsSubtitle => 'Embed synced lyrics into FLAC files'; + String get optionsEmbedLyricsSubtitle => + 'Embed synced lyrics into FLAC files'; @override String get optionsMaxQualityCover => 'Max Quality Cover'; @override - String get optionsMaxQualityCoverSubtitle => 'Download highest resolution cover art'; + String get optionsMaxQualityCoverSubtitle => + 'Download highest resolution cover art'; @override String get optionsConcurrentDownloads => 'Concurrent Downloads'; @@ -273,7 +283,8 @@ class AppLocalizationsZh extends AppLocalizations { } @override - String get optionsConcurrentWarning => 'Parallel downloads may trigger rate limiting'; + String get optionsConcurrentWarning => + 'Parallel downloads may trigger rate limiting'; @override String get optionsExtensionStore => 'Extension Store'; @@ -285,7 +296,8 @@ class AppLocalizationsZh extends AppLocalizations { String get optionsCheckUpdates => 'Check for Updates'; @override - String get optionsCheckUpdatesSubtitle => 'Notify when new version is available'; + String get optionsCheckUpdatesSubtitle => + 'Notify when new version is available'; @override String get optionsUpdateChannel => 'Update Channel'; @@ -297,13 +309,15 @@ class AppLocalizationsZh extends AppLocalizations { String get optionsUpdateChannelPreview => 'Get preview releases'; @override - String get optionsUpdateChannelWarning => 'Preview may contain bugs or incomplete features'; + String get optionsUpdateChannelWarning => + 'Preview may contain bugs or incomplete features'; @override String get optionsClearHistory => 'Clear Download History'; @override - String get optionsClearHistorySubtitle => 'Remove all downloaded tracks from history'; + String get optionsClearHistorySubtitle => + 'Remove all downloaded tracks from history'; @override String get optionsDetailedLogging => 'Detailed Logging'; @@ -326,7 +340,8 @@ class AppLocalizationsZh extends AppLocalizations { String get optionsSpotifyCredentialsRequired => 'Required - tap to configure'; @override - String get optionsSpotifyWarning => 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; @override String get extensionsTitle => 'Extensions'; @@ -390,7 +405,8 @@ class AppLocalizationsZh extends AppLocalizations { String get aboutOriginalCreator => 'Creator of the original SpotiFLAC'; @override - String get aboutLogoArtist => 'The talented artist who created our beautiful app logo!'; + String get aboutLogoArtist => + 'The talented artist who created our beautiful app logo!'; @override String get aboutTranslators => 'Translators'; @@ -450,28 +466,34 @@ class AppLocalizationsZh extends AppLocalizations { String get aboutVersion => 'Version'; @override - String get aboutBinimumDesc => 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; + String get aboutBinimumDesc => + 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; @override - String get aboutSachinsenalDesc => 'The original HiFi project creator. The foundation of Tidal integration!'; + String get aboutSachinsenalDesc => + 'The original HiFi project creator. The foundation of Tidal integration!'; @override - String get aboutSjdonadoDesc => 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; + String get aboutSjdonadoDesc => + 'Creator of I Don\'t Have Spotify (IDHS). The fallback link resolver that saves the day!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazing API for Amazon Music downloads. Thank you for making it free!'; + String get aboutDoubleDoubleDesc => + 'Amazing API for Amazon Music downloads. Thank you for making it free!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; + String get aboutDabMusicDesc => + 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; @override - String get aboutAppDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get aboutAppDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get albumTitle => 'Album'; @@ -576,7 +598,8 @@ class AppLocalizationsZh extends AppLocalizations { String get setupStoragePermission => 'Storage Permission'; @override - String get setupStoragePermissionSubtitle => 'Required to save downloaded files'; + String get setupStoragePermissionSubtitle => + 'Required to save downloaded files'; @override String get setupStoragePermissionGranted => 'Permission granted'; @@ -603,16 +626,19 @@ class AppLocalizationsZh extends AppLocalizations { String get setupStorageAccessRequired => 'Storage Access Required'; @override - String get setupStorageAccessMessage => 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; + String get setupStorageAccessMessage => + 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; @override String get setupOpenSettings => 'Open Settings'; @override - String get setupPermissionDeniedMessage => 'Permission denied. Please grant all permissions to continue.'; + String get setupPermissionDeniedMessage => + 'Permission denied. Please grant all permissions to continue.'; @override String setupPermissionRequired(String permissionType) { @@ -631,7 +657,8 @@ class AppLocalizationsZh extends AppLocalizations { String get setupUseDefaultFolder => 'Use Default Folder?'; @override - String get setupNoFolderSelected => 'No folder selected. Would you like to use the default Music folder?'; + String get setupNoFolderSelected => + 'No folder selected. Would you like to use the default Music folder?'; @override String get setupUseDefault => 'Use Default'; @@ -640,13 +667,15 @@ class AppLocalizationsZh extends AppLocalizations { String get setupDownloadLocationTitle => 'Download Location'; @override - String get setupDownloadLocationIosMessage => 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; + String get setupDownloadLocationIosMessage => + 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; @override String get setupAppDocumentsFolder => 'App Documents Folder'; @override - String get setupAppDocumentsFolderSubtitle => 'Recommended - accessible via Files app'; + String get setupAppDocumentsFolderSubtitle => + 'Recommended - accessible via Files app'; @override String get setupChooseFromFiles => 'Choose from Files'; @@ -655,10 +684,12 @@ class AppLocalizationsZh extends AppLocalizations { String get setupChooseFromFilesSubtitle => 'Select iCloud or other location'; @override - String get setupIosEmptyFolderWarning => 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; + String get setupIosEmptyFolderWarning => + 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; @override - String get setupIcloudNotSupported => 'iCloud Drive is not supported. Please use the app Documents folder.'; + String get setupIcloudNotSupported => + 'iCloud Drive is not supported. Please use the app Documents folder.'; @override String get setupDownloadInFlac => 'Download Spotify tracks in FLAC'; @@ -685,7 +716,8 @@ class AppLocalizationsZh extends AppLocalizations { String get setupStorageRequired => 'Storage Permission Required'; @override - String get setupStorageDescription => 'SpotiFLAC needs storage permission to save your downloaded music files.'; + String get setupStorageDescription => + 'SpotiFLAC needs storage permission to save your downloaded music files.'; @override String get setupNotificationGranted => 'Notification Permission Granted!'; @@ -694,7 +726,8 @@ class AppLocalizationsZh extends AppLocalizations { String get setupNotificationEnable => 'Enable Notifications'; @override - String get setupNotificationDescription => 'Get notified when downloads complete or require attention.'; + String get setupNotificationDescription => + 'Get notified when downloads complete or require attention.'; @override String get setupFolderSelected => 'Download Folder Selected!'; @@ -703,7 +736,8 @@ class AppLocalizationsZh extends AppLocalizations { String get setupFolderChoose => 'Choose Download Folder'; @override - String get setupFolderDescription => 'Select a folder where your downloaded music will be saved.'; + String get setupFolderDescription => + 'Select a folder where your downloaded music will be saved.'; @override String get setupChangeFolder => 'Change Folder'; @@ -715,7 +749,8 @@ class AppLocalizationsZh extends AppLocalizations { String get setupSpotifyApiOptional => 'Spotify API (Optional)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Use Spotify API'; @@ -733,7 +768,8 @@ class AppLocalizationsZh extends AppLocalizations { String get setupEnterClientSecret => 'Enter Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Get your free API credentials from the Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Get your free API credentials from the Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Enable Notifications'; @@ -742,10 +778,12 @@ class AppLocalizationsZh extends AppLocalizations { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => 'Skip for now'; @@ -763,10 +801,12 @@ class AppLocalizationsZh extends AppLocalizations { String get setupSkipAndStart => 'Skip & Start'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'Get credentials from developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Get credentials from developer.spotify.com'; @override String get dialogCancel => 'Cancel'; @@ -817,7 +857,8 @@ class AppLocalizationsZh extends AppLocalizations { String get dialogDiscardChanges => 'Discard Changes?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'Download Failed'; @@ -835,7 +876,8 @@ class AppLocalizationsZh extends AppLocalizations { String get dialogClearAll => 'Clear All'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'Remove from device?'; @@ -844,7 +886,8 @@ class AppLocalizationsZh extends AppLocalizations { String get dialogRemoveExtension => 'Remove Extension'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => 'Uninstall Extension?'; @@ -858,7 +901,8 @@ class AppLocalizationsZh extends AppLocalizations { String get dialogClearHistoryTitle => 'Clear History'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => 'Delete Selected'; @@ -902,6 +946,11 @@ class AppLocalizationsZh extends AppLocalizations { return '\"$trackName\" already downloaded'; } + @override + String snackbarAlreadyInLibrary(String trackName) { + return '\"$trackName\" already exists in your library'; + } + @override String get snackbarHistoryCleared => 'History cleared'; @@ -953,7 +1002,8 @@ class AppLocalizationsZh extends AppLocalizations { String get snackbarProviderPrioritySaved => 'Provider priority saved'; @override - String get snackbarMetadataProviderSaved => 'Metadata provider priority saved'; + String get snackbarMetadataProviderSaved => + 'Metadata provider priority saved'; @override String snackbarExtensionInstalled(String extensionName) { @@ -975,7 +1025,8 @@ class AppLocalizationsZh extends AppLocalizations { String get errorRateLimited => 'Rate Limited'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -1142,19 +1193,23 @@ class AppLocalizationsZh extends AppLocalizations { String get folderOrganizationByArtistAlbum => 'Artist/Album'; @override - String get folderOrganizationDescription => 'Organize downloaded files into folders'; + String get folderOrganizationDescription => + 'Organize downloaded files into folders'; @override String get folderOrganizationNoneSubtitle => 'All files in download folder'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => 'Update Available'; @@ -1213,10 +1268,12 @@ class AppLocalizationsZh extends AppLocalizations { String get providerPriorityTitle => 'Provider Priority'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => 'Built-in'; @@ -1228,16 +1285,19 @@ class AppLocalizationsZh extends AppLocalizations { String get metadataProviderPriority => 'Metadata Provider Priority'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'Metadata Priority'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'No rate limits'; @@ -1309,16 +1369,19 @@ class AppLocalizationsZh extends AppLocalizations { String get logIssueSummary => 'Issue Summary'; @override - String get logIspBlockingDescription => 'Your ISP may be blocking access to download services'; + String get logIspBlockingDescription => + 'Your ISP may be blocking access to download services'; @override - String get logIspBlockingSuggestion => 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; @override String get logRateLimitedDescription => 'Too many requests to the service'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => 'Connection issues detected'; @@ -1327,10 +1390,12 @@ class AppLocalizationsZh extends AppLocalizations { String get logNetworkErrorSuggestion => 'Check your internet connection'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -1356,7 +1421,8 @@ class AppLocalizationsZh extends AppLocalizations { String get credentialsTitle => 'Spotify Credentials'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'Client ID'; @@ -1410,7 +1476,8 @@ class AppLocalizationsZh extends AppLocalizations { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -1422,7 +1489,8 @@ class AppLocalizationsZh extends AppLocalizations { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -1582,7 +1650,8 @@ class AppLocalizationsZh extends AppLocalizations { String get trackDeleteConfirmTitle => 'Remove from device?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -1734,13 +1803,15 @@ class AppLocalizationsZh extends AppLocalizations { String get extensionsNoExtensions => 'No extensions installed'; @override - String get extensionsNoExtensionsSubtitle => 'Install .spotiflac-ext files to add new providers'; + String get extensionsNoExtensionsSubtitle => + 'Install .spotiflac-ext files to add new providers'; @override String get extensionsInstallButton => 'Install Extension'; @override - String get extensionsInfoTip => 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; + String get extensionsInfoTip => + 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; @override String get extensionsInstalledSuccess => 'Extension installed successfully'; @@ -1752,16 +1823,19 @@ class AppLocalizationsZh extends AppLocalizations { String get extensionsDownloadPrioritySubtitle => 'Set download service order'; @override - String get extensionsNoDownloadProvider => 'No extensions with download provider'; + String get extensionsNoDownloadProvider => + 'No extensions with download provider'; @override String get extensionsMetadataPriority => 'Metadata Priority'; @override - String get extensionsMetadataPrioritySubtitle => 'Set search & metadata source order'; + String get extensionsMetadataPrioritySubtitle => + 'Set search & metadata source order'; @override - String get extensionsNoMetadataProvider => 'No extensions with metadata provider'; + String get extensionsNoMetadataProvider => + 'No extensions with metadata provider'; @override String get extensionsSearchProvider => 'Search Provider'; @@ -1770,7 +1844,8 @@ class AppLocalizationsZh extends AppLocalizations { String get extensionsNoCustomSearch => 'No extensions with custom search'; @override - String get extensionsSearchProviderDescription => 'Choose which service to use for searching tracks'; + String get extensionsSearchProviderDescription => + 'Choose which service to use for searching tracks'; @override String get extensionsCustomSearch => 'Custom search'; @@ -1812,7 +1887,8 @@ class AppLocalizationsZh extends AppLocalizations { String get enableLossyOptionSubtitleOn => 'Lossy quality option is available'; @override - String get enableLossyOptionSubtitleOff => 'Downloads FLAC then converts to lossy format'; + String get enableLossyOptionSubtitleOff => + 'Downloads FLAC then converts to lossy format'; @override String get lossyFormat => 'Lossy Format'; @@ -1824,10 +1900,12 @@ class AppLocalizationsZh extends AppLocalizations { String get lossyFormatMp3Subtitle => '320kbps, best compatibility'; @override - String get lossyFormatOpusSubtitle => '128kbps, better quality at smaller size'; + String get lossyFormatOpusSubtitle => + '128kbps, better quality at smaller size'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -1917,13 +1995,15 @@ class AppLocalizationsZh extends AppLocalizations { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueExportFailed => 'Export'; @override - String get queueExportFailedSuccess => 'Failed downloads exported to TXT file'; + String get queueExportFailedSuccess => + 'Failed downloads exported to TXT file'; @override String get queueExportFailedClear => 'Clear Failed'; @@ -1935,7 +2015,8 @@ class AppLocalizationsZh extends AppLocalizations { String get settingsAutoExportFailed => 'Auto-export failed downloads'; @override - String get settingsAutoExportFailedSubtitle => 'Save failed downloads to TXT file automatically'; + String get settingsAutoExportFailedSubtitle => + 'Save failed downloads to TXT file automatically'; @override String get settingsDownloadNetwork => 'Download Network'; @@ -1947,7 +2028,8 @@ class AppLocalizationsZh extends AppLocalizations { String get settingsDownloadNetworkWifiOnly => 'WiFi Only'; @override - String get settingsDownloadNetworkSubtitle => 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; + String get settingsDownloadNetworkSubtitle => + 'Choose which network to use for downloads. When set to WiFi Only, downloads will pause on mobile data.'; @override String get queueEmpty => 'No downloads in queue'; @@ -1983,7 +2065,8 @@ class AppLocalizationsZh extends AppLocalizations { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -2001,7 +2084,8 @@ class AppLocalizationsZh extends AppLocalizations { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -2111,7 +2195,8 @@ class AppLocalizationsZh extends AppLocalizations { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -2158,13 +2243,16 @@ class AppLocalizationsZh extends AppLocalizations { String get allFilesAccessDisabledSubtitle => 'Limited to media folders only'; @override - String get allFilesAccessDescription => 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; + String get allFilesAccessDescription => + 'Enable this if you encounter write errors when saving to custom folders. Android 13+ restricts access to certain directories by default.'; @override - String get allFilesAccessDeniedMessage => 'Permission was denied. Please enable \'All files access\' manually in system settings.'; + String get allFilesAccessDeniedMessage => + 'Permission was denied. Please enable \'All files access\' manually in system settings.'; @override - String get allFilesAccessDisabledMessage => 'All Files Access disabled. The app will use limited storage access.'; + String get allFilesAccessDisabledMessage => + 'All Files Access disabled. The app will use limited storage access.'; @override String get settingsLocalLibrary => 'Local Library'; @@ -2185,7 +2273,8 @@ class AppLocalizationsZh extends AppLocalizations { String get libraryEnableLocalLibrary => 'Enable Local Library'; @override - String get libraryEnableLocalLibrarySubtitle => 'Scan and track your existing music'; + String get libraryEnableLocalLibrarySubtitle => + 'Scan and track your existing music'; @override String get libraryFolder => 'Library Folder'; @@ -2197,7 +2286,8 @@ class AppLocalizationsZh extends AppLocalizations { String get libraryShowDuplicateIndicator => 'Show Duplicate Indicator'; @override - String get libraryShowDuplicateIndicatorSubtitle => 'Show when searching for existing tracks'; + String get libraryShowDuplicateIndicatorSubtitle => + 'Show when searching for existing tracks'; @override String get libraryActions => 'Actions'; @@ -2215,7 +2305,8 @@ class AppLocalizationsZh extends AppLocalizations { String get libraryCleanupMissingFiles => 'Cleanup Missing Files'; @override - String get libraryCleanupMissingFilesSubtitle => 'Remove entries for files that no longer exist'; + String get libraryCleanupMissingFilesSubtitle => + 'Remove entries for files that no longer exist'; @override String get libraryClear => 'Clear Library'; @@ -2227,13 +2318,15 @@ class AppLocalizationsZh extends AppLocalizations { String get libraryClearConfirmTitle => 'Clear Library'; @override - String get libraryClearConfirmMessage => 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; + String get libraryClearConfirmMessage => + 'This will remove all scanned tracks from your library. Your actual music files will not be deleted.'; @override String get libraryAbout => 'About Local Library'; @override - String get libraryAboutDescription => 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; + String get libraryAboutDescription => + 'Scans your existing music collection to detect duplicates when downloading. Supports FLAC, M4A, MP3, Opus, and OGG formats. Metadata is read from file tags when available.'; @override String libraryTracksCount(int count) { @@ -2271,7 +2364,8 @@ class AppLocalizationsZh extends AppLocalizations { String get libraryStorageAccessRequired => 'Storage Access Required'; @override - String get libraryStorageAccessMessage => 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; + String get libraryStorageAccessMessage => + 'SpotiFLAC needs storage access to scan your music library. Please grant permission in settings.'; @override String get libraryFolderNotExist => 'Selected folder does not exist'; @@ -2366,13 +2460,14 @@ class AppLocalizationsZh extends AppLocalizations { /// The translations for Chinese, as used in China (`zh_CN`). class AppLocalizationsZhCn extends AppLocalizationsZh { - AppLocalizationsZhCn(): super('zh_CN'); + AppLocalizationsZhCn() : super('zh_CN'); @override String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get appDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get navHome => 'Home'; @@ -2458,13 +2553,15 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get historyNoAlbums => 'No album downloads'; @override - String get historyNoAlbumsSubtitle => 'Download multiple tracks from an album to see them here'; + String get historyNoAlbumsSubtitle => + 'Download multiple tracks from an album to see them here'; @override String get historyNoSingles => 'No single downloads'; @override - String get historyNoSinglesSubtitle => 'Single track downloads will appear here'; + String get historyNoSinglesSubtitle => + 'Single track downloads will appear here'; @override String get historySearchHint => 'Search history...'; @@ -2512,7 +2609,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get downloadAskQuality => 'Ask Quality Before Download'; @override - String get downloadAskQualitySubtitle => 'Show quality picker for each download'; + String get downloadAskQualitySubtitle => + 'Show quality picker for each download'; @override String get downloadFilenameFormat => 'Filename Format'; @@ -2524,7 +2622,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get downloadSeparateSingles => 'Separate Singles'; @override - String get downloadSeparateSinglesSubtitle => 'Put single tracks in a separate folder'; + String get downloadSeparateSinglesSubtitle => + 'Put single tracks in a separate folder'; @override String get qualityBest => 'Best Available'; @@ -2581,7 +2680,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get optionsPrimaryProvider => 'Primary Provider'; @override - String get optionsPrimaryProviderSubtitle => 'Service used when searching by track name.'; + String get optionsPrimaryProviderSubtitle => + 'Service used when searching by track name.'; @override String optionsUsingExtension(String extensionName) { @@ -2589,13 +2689,15 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { } @override - String get optionsSwitchBack => 'Tap Deezer or Spotify to switch back from extension'; + String get optionsSwitchBack => + 'Tap Deezer or Spotify to switch back from extension'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Try other services if download fails'; + String get optionsAutoFallbackSubtitle => + 'Try other services if download fails'; @override String get optionsUseExtensionProviders => 'Use Extension Providers'; @@ -2610,13 +2712,15 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get optionsEmbedLyrics => 'Embed Lyrics'; @override - String get optionsEmbedLyricsSubtitle => 'Embed synced lyrics into FLAC files'; + String get optionsEmbedLyricsSubtitle => + 'Embed synced lyrics into FLAC files'; @override String get optionsMaxQualityCover => 'Max Quality Cover'; @override - String get optionsMaxQualityCoverSubtitle => 'Download highest resolution cover art'; + String get optionsMaxQualityCoverSubtitle => + 'Download highest resolution cover art'; @override String get optionsConcurrentDownloads => 'Concurrent Downloads'; @@ -2630,7 +2734,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { } @override - String get optionsConcurrentWarning => 'Parallel downloads may trigger rate limiting'; + String get optionsConcurrentWarning => + 'Parallel downloads may trigger rate limiting'; @override String get optionsExtensionStore => 'Extension Store'; @@ -2642,7 +2747,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get optionsCheckUpdates => 'Check for Updates'; @override - String get optionsCheckUpdatesSubtitle => 'Notify when new version is available'; + String get optionsCheckUpdatesSubtitle => + 'Notify when new version is available'; @override String get optionsUpdateChannel => 'Update Channel'; @@ -2654,13 +2760,15 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get optionsUpdateChannelPreview => 'Get preview releases'; @override - String get optionsUpdateChannelWarning => 'Preview may contain bugs or incomplete features'; + String get optionsUpdateChannelWarning => + 'Preview may contain bugs or incomplete features'; @override String get optionsClearHistory => 'Clear Download History'; @override - String get optionsClearHistorySubtitle => 'Remove all downloaded tracks from history'; + String get optionsClearHistorySubtitle => + 'Remove all downloaded tracks from history'; @override String get optionsDetailedLogging => 'Detailed Logging'; @@ -2683,7 +2791,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get optionsSpotifyCredentialsRequired => 'Required - tap to configure'; @override - String get optionsSpotifyWarning => 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; @override String get extensionsTitle => 'Extensions'; @@ -2747,7 +2856,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get aboutOriginalCreator => 'Creator of the original SpotiFLAC'; @override - String get aboutLogoArtist => 'The talented artist who created our beautiful app logo!'; + String get aboutLogoArtist => + 'The talented artist who created our beautiful app logo!'; @override String get aboutTranslators => 'Translators'; @@ -2807,25 +2917,30 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get aboutVersion => 'Version'; @override - String get aboutBinimumDesc => 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; + String get aboutBinimumDesc => + 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; @override - String get aboutSachinsenalDesc => 'The original HiFi project creator. The foundation of Tidal integration!'; + String get aboutSachinsenalDesc => + 'The original HiFi project creator. The foundation of Tidal integration!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazing API for Amazon Music downloads. Thank you for making it free!'; + String get aboutDoubleDoubleDesc => + 'Amazing API for Amazon Music downloads. Thank you for making it free!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; + String get aboutDabMusicDesc => + 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; @override - String get aboutAppDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get aboutAppDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get albumTitle => 'Album'; @@ -2930,7 +3045,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupStoragePermission => 'Storage Permission'; @override - String get setupStoragePermissionSubtitle => 'Required to save downloaded files'; + String get setupStoragePermissionSubtitle => + 'Required to save downloaded files'; @override String get setupStoragePermissionGranted => 'Permission granted'; @@ -2957,16 +3073,19 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupStorageAccessRequired => 'Storage Access Required'; @override - String get setupStorageAccessMessage => 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; + String get setupStorageAccessMessage => + 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; @override String get setupOpenSettings => 'Open Settings'; @override - String get setupPermissionDeniedMessage => 'Permission denied. Please grant all permissions to continue.'; + String get setupPermissionDeniedMessage => + 'Permission denied. Please grant all permissions to continue.'; @override String setupPermissionRequired(String permissionType) { @@ -2985,7 +3104,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupUseDefaultFolder => 'Use Default Folder?'; @override - String get setupNoFolderSelected => 'No folder selected. Would you like to use the default Music folder?'; + String get setupNoFolderSelected => + 'No folder selected. Would you like to use the default Music folder?'; @override String get setupUseDefault => 'Use Default'; @@ -2994,13 +3114,15 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupDownloadLocationTitle => 'Download Location'; @override - String get setupDownloadLocationIosMessage => 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; + String get setupDownloadLocationIosMessage => + 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; @override String get setupAppDocumentsFolder => 'App Documents Folder'; @override - String get setupAppDocumentsFolderSubtitle => 'Recommended - accessible via Files app'; + String get setupAppDocumentsFolderSubtitle => + 'Recommended - accessible via Files app'; @override String get setupChooseFromFiles => 'Choose from Files'; @@ -3009,7 +3131,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupChooseFromFilesSubtitle => 'Select iCloud or other location'; @override - String get setupIosEmptyFolderWarning => 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; + String get setupIosEmptyFolderWarning => + 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; @override String get setupDownloadInFlac => 'Download Spotify tracks in FLAC'; @@ -3036,7 +3159,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupStorageRequired => 'Storage Permission Required'; @override - String get setupStorageDescription => 'SpotiFLAC needs storage permission to save your downloaded music files.'; + String get setupStorageDescription => + 'SpotiFLAC needs storage permission to save your downloaded music files.'; @override String get setupNotificationGranted => 'Notification Permission Granted!'; @@ -3045,7 +3169,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupNotificationEnable => 'Enable Notifications'; @override - String get setupNotificationDescription => 'Get notified when downloads complete or require attention.'; + String get setupNotificationDescription => + 'Get notified when downloads complete or require attention.'; @override String get setupFolderSelected => 'Download Folder Selected!'; @@ -3054,7 +3179,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupFolderChoose => 'Choose Download Folder'; @override - String get setupFolderDescription => 'Select a folder where your downloaded music will be saved.'; + String get setupFolderDescription => + 'Select a folder where your downloaded music will be saved.'; @override String get setupChangeFolder => 'Change Folder'; @@ -3066,7 +3192,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupSpotifyApiOptional => 'Spotify API (Optional)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Use Spotify API'; @@ -3084,7 +3211,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupEnterClientSecret => 'Enter Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Get your free API credentials from the Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Get your free API credentials from the Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Enable Notifications'; @@ -3093,10 +3221,12 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => 'Skip for now'; @@ -3114,10 +3244,12 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get setupSkipAndStart => 'Skip & Start'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'Get credentials from developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Get credentials from developer.spotify.com'; @override String get dialogCancel => 'Cancel'; @@ -3168,7 +3300,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get dialogDiscardChanges => 'Discard Changes?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'Download Failed'; @@ -3186,7 +3319,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get dialogClearAll => 'Clear All'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'Remove from device?'; @@ -3195,7 +3329,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get dialogRemoveExtension => 'Remove Extension'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => 'Uninstall Extension?'; @@ -3209,7 +3344,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get dialogClearHistoryTitle => 'Clear History'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => 'Delete Selected'; @@ -3304,7 +3440,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get snackbarProviderPrioritySaved => 'Provider priority saved'; @override - String get snackbarMetadataProviderSaved => 'Metadata provider priority saved'; + String get snackbarMetadataProviderSaved => + 'Metadata provider priority saved'; @override String snackbarExtensionInstalled(String extensionName) { @@ -3326,7 +3463,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get errorRateLimited => 'Rate Limited'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -3493,19 +3631,23 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get folderOrganizationByArtistAlbum => 'Artist/Album'; @override - String get folderOrganizationDescription => 'Organize downloaded files into folders'; + String get folderOrganizationDescription => + 'Organize downloaded files into folders'; @override String get folderOrganizationNoneSubtitle => 'All files in download folder'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => 'Update Available'; @@ -3564,10 +3706,12 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get providerPriorityTitle => 'Provider Priority'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => 'Built-in'; @@ -3579,16 +3723,19 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get metadataProviderPriority => 'Metadata Provider Priority'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'Metadata Priority'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'No rate limits'; @@ -3660,16 +3807,19 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get logIssueSummary => 'Issue Summary'; @override - String get logIspBlockingDescription => 'Your ISP may be blocking access to download services'; + String get logIspBlockingDescription => + 'Your ISP may be blocking access to download services'; @override - String get logIspBlockingSuggestion => 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; @override String get logRateLimitedDescription => 'Too many requests to the service'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => 'Connection issues detected'; @@ -3678,10 +3828,12 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get logNetworkErrorSuggestion => 'Check your internet connection'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -3707,7 +3859,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get credentialsTitle => 'Spotify Credentials'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'Client ID'; @@ -3761,7 +3914,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -3773,7 +3927,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -3933,7 +4088,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get trackDeleteConfirmTitle => 'Remove from device?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -4085,13 +4241,15 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get extensionsNoExtensions => 'No extensions installed'; @override - String get extensionsNoExtensionsSubtitle => 'Install .spotiflac-ext files to add new providers'; + String get extensionsNoExtensionsSubtitle => + 'Install .spotiflac-ext files to add new providers'; @override String get extensionsInstallButton => 'Install Extension'; @override - String get extensionsInfoTip => 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; + String get extensionsInfoTip => + 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; @override String get extensionsInstalledSuccess => 'Extension installed successfully'; @@ -4103,16 +4261,19 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get extensionsDownloadPrioritySubtitle => 'Set download service order'; @override - String get extensionsNoDownloadProvider => 'No extensions with download provider'; + String get extensionsNoDownloadProvider => + 'No extensions with download provider'; @override String get extensionsMetadataPriority => 'Metadata Priority'; @override - String get extensionsMetadataPrioritySubtitle => 'Set search & metadata source order'; + String get extensionsMetadataPrioritySubtitle => + 'Set search & metadata source order'; @override - String get extensionsNoMetadataProvider => 'No extensions with metadata provider'; + String get extensionsNoMetadataProvider => + 'No extensions with metadata provider'; @override String get extensionsSearchProvider => 'Search Provider'; @@ -4121,7 +4282,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get extensionsNoCustomSearch => 'No extensions with custom search'; @override - String get extensionsSearchProviderDescription => 'Choose which service to use for searching tracks'; + String get extensionsSearchProviderDescription => + 'Choose which service to use for searching tracks'; @override String get extensionsCustomSearch => 'Custom search'; @@ -4148,7 +4310,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get qualityHiResFlacMaxSubtitle => '24-bit / up to 192kHz'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -4238,7 +4401,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueEmpty => 'No downloads in queue'; @@ -4274,7 +4438,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -4292,7 +4457,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -4402,7 +4568,8 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; @@ -4439,13 +4606,14 @@ class AppLocalizationsZhCn extends AppLocalizationsZh { /// The translations for Chinese, as used in Taiwan (`zh_TW`). class AppLocalizationsZhTw extends AppLocalizationsZh { - AppLocalizationsZhTw(): super('zh_TW'); + AppLocalizationsZhTw() : super('zh_TW'); @override String get appName => 'SpotiFLAC'; @override - String get appDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get appDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get navHome => 'Home'; @@ -4531,13 +4699,15 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get historyNoAlbums => 'No album downloads'; @override - String get historyNoAlbumsSubtitle => 'Download multiple tracks from an album to see them here'; + String get historyNoAlbumsSubtitle => + 'Download multiple tracks from an album to see them here'; @override String get historyNoSingles => 'No single downloads'; @override - String get historyNoSinglesSubtitle => 'Single track downloads will appear here'; + String get historyNoSinglesSubtitle => + 'Single track downloads will appear here'; @override String get historySearchHint => 'Search history...'; @@ -4585,7 +4755,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get downloadAskQuality => 'Ask Quality Before Download'; @override - String get downloadAskQualitySubtitle => 'Show quality picker for each download'; + String get downloadAskQualitySubtitle => + 'Show quality picker for each download'; @override String get downloadFilenameFormat => 'Filename Format'; @@ -4597,7 +4768,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get downloadSeparateSingles => 'Separate Singles'; @override - String get downloadSeparateSinglesSubtitle => 'Put single tracks in a separate folder'; + String get downloadSeparateSinglesSubtitle => + 'Put single tracks in a separate folder'; @override String get qualityBest => 'Best Available'; @@ -4654,7 +4826,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get optionsPrimaryProvider => 'Primary Provider'; @override - String get optionsPrimaryProviderSubtitle => 'Service used when searching by track name.'; + String get optionsPrimaryProviderSubtitle => + 'Service used when searching by track name.'; @override String optionsUsingExtension(String extensionName) { @@ -4662,13 +4835,15 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { } @override - String get optionsSwitchBack => 'Tap Deezer or Spotify to switch back from extension'; + String get optionsSwitchBack => + 'Tap Deezer or Spotify to switch back from extension'; @override String get optionsAutoFallback => 'Auto Fallback'; @override - String get optionsAutoFallbackSubtitle => 'Try other services if download fails'; + String get optionsAutoFallbackSubtitle => + 'Try other services if download fails'; @override String get optionsUseExtensionProviders => 'Use Extension Providers'; @@ -4683,13 +4858,15 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get optionsEmbedLyrics => 'Embed Lyrics'; @override - String get optionsEmbedLyricsSubtitle => 'Embed synced lyrics into FLAC files'; + String get optionsEmbedLyricsSubtitle => + 'Embed synced lyrics into FLAC files'; @override String get optionsMaxQualityCover => 'Max Quality Cover'; @override - String get optionsMaxQualityCoverSubtitle => 'Download highest resolution cover art'; + String get optionsMaxQualityCoverSubtitle => + 'Download highest resolution cover art'; @override String get optionsConcurrentDownloads => 'Concurrent Downloads'; @@ -4703,7 +4880,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { } @override - String get optionsConcurrentWarning => 'Parallel downloads may trigger rate limiting'; + String get optionsConcurrentWarning => + 'Parallel downloads may trigger rate limiting'; @override String get optionsExtensionStore => 'Extension Store'; @@ -4715,7 +4893,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get optionsCheckUpdates => 'Check for Updates'; @override - String get optionsCheckUpdatesSubtitle => 'Notify when new version is available'; + String get optionsCheckUpdatesSubtitle => + 'Notify when new version is available'; @override String get optionsUpdateChannel => 'Update Channel'; @@ -4727,13 +4906,15 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get optionsUpdateChannelPreview => 'Get preview releases'; @override - String get optionsUpdateChannelWarning => 'Preview may contain bugs or incomplete features'; + String get optionsUpdateChannelWarning => + 'Preview may contain bugs or incomplete features'; @override String get optionsClearHistory => 'Clear Download History'; @override - String get optionsClearHistorySubtitle => 'Remove all downloaded tracks from history'; + String get optionsClearHistorySubtitle => + 'Remove all downloaded tracks from history'; @override String get optionsDetailedLogging => 'Detailed Logging'; @@ -4756,7 +4937,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get optionsSpotifyCredentialsRequired => 'Required - tap to configure'; @override - String get optionsSpotifyWarning => 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; + String get optionsSpotifyWarning => + 'Spotify requires your own API credentials. Get them free from developer.spotify.com'; @override String get extensionsTitle => 'Extensions'; @@ -4820,7 +5002,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get aboutOriginalCreator => 'Creator of the original SpotiFLAC'; @override - String get aboutLogoArtist => 'The talented artist who created our beautiful app logo!'; + String get aboutLogoArtist => + 'The talented artist who created our beautiful app logo!'; @override String get aboutTranslators => 'Translators'; @@ -4880,25 +5063,30 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get aboutVersion => 'Version'; @override - String get aboutBinimumDesc => 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; + String get aboutBinimumDesc => + 'The creator of QQDL & HiFi API. Without this API, Tidal downloads wouldn\'t exist!'; @override - String get aboutSachinsenalDesc => 'The original HiFi project creator. The foundation of Tidal integration!'; + String get aboutSachinsenalDesc => + 'The original HiFi project creator. The foundation of Tidal integration!'; @override String get aboutDoubleDouble => 'DoubleDouble'; @override - String get aboutDoubleDoubleDesc => 'Amazing API for Amazon Music downloads. Thank you for making it free!'; + String get aboutDoubleDoubleDesc => + 'Amazing API for Amazon Music downloads. Thank you for making it free!'; @override String get aboutDabMusic => 'DAB Music'; @override - String get aboutDabMusicDesc => 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; + String get aboutDabMusicDesc => + 'The best Qobuz streaming API. Hi-Res downloads wouldn\'t be possible without this!'; @override - String get aboutAppDescription => 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; + String get aboutAppDescription => + 'Download Spotify tracks in lossless quality from Tidal, Qobuz, and Amazon Music.'; @override String get albumTitle => 'Album'; @@ -5003,7 +5191,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupStoragePermission => 'Storage Permission'; @override - String get setupStoragePermissionSubtitle => 'Required to save downloaded files'; + String get setupStoragePermissionSubtitle => + 'Required to save downloaded files'; @override String get setupStoragePermissionGranted => 'Permission granted'; @@ -5030,16 +5219,19 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupStorageAccessRequired => 'Storage Access Required'; @override - String get setupStorageAccessMessage => 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; + String get setupStorageAccessMessage => + 'SpotiFLAC needs \"All files access\" permission to save music files to your chosen folder.'; @override - String get setupStorageAccessMessageAndroid11 => 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; + String get setupStorageAccessMessageAndroid11 => + 'Android 11+ requires \"All files access\" permission to save files to your chosen download folder.'; @override String get setupOpenSettings => 'Open Settings'; @override - String get setupPermissionDeniedMessage => 'Permission denied. Please grant all permissions to continue.'; + String get setupPermissionDeniedMessage => + 'Permission denied. Please grant all permissions to continue.'; @override String setupPermissionRequired(String permissionType) { @@ -5058,7 +5250,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupUseDefaultFolder => 'Use Default Folder?'; @override - String get setupNoFolderSelected => 'No folder selected. Would you like to use the default Music folder?'; + String get setupNoFolderSelected => + 'No folder selected. Would you like to use the default Music folder?'; @override String get setupUseDefault => 'Use Default'; @@ -5067,13 +5260,15 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupDownloadLocationTitle => 'Download Location'; @override - String get setupDownloadLocationIosMessage => 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; + String get setupDownloadLocationIosMessage => + 'On iOS, downloads are saved to the app\'s Documents folder. You can access them via the Files app.'; @override String get setupAppDocumentsFolder => 'App Documents Folder'; @override - String get setupAppDocumentsFolderSubtitle => 'Recommended - accessible via Files app'; + String get setupAppDocumentsFolderSubtitle => + 'Recommended - accessible via Files app'; @override String get setupChooseFromFiles => 'Choose from Files'; @@ -5082,7 +5277,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupChooseFromFilesSubtitle => 'Select iCloud or other location'; @override - String get setupIosEmptyFolderWarning => 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; + String get setupIosEmptyFolderWarning => + 'iOS limitation: Empty folders cannot be selected. Choose a folder with at least one file.'; @override String get setupDownloadInFlac => 'Download Spotify tracks in FLAC'; @@ -5109,7 +5305,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupStorageRequired => 'Storage Permission Required'; @override - String get setupStorageDescription => 'SpotiFLAC needs storage permission to save your downloaded music files.'; + String get setupStorageDescription => + 'SpotiFLAC needs storage permission to save your downloaded music files.'; @override String get setupNotificationGranted => 'Notification Permission Granted!'; @@ -5118,7 +5315,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupNotificationEnable => 'Enable Notifications'; @override - String get setupNotificationDescription => 'Get notified when downloads complete or require attention.'; + String get setupNotificationDescription => + 'Get notified when downloads complete or require attention.'; @override String get setupFolderSelected => 'Download Folder Selected!'; @@ -5127,7 +5325,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupFolderChoose => 'Choose Download Folder'; @override - String get setupFolderDescription => 'Select a folder where your downloaded music will be saved.'; + String get setupFolderDescription => + 'Select a folder where your downloaded music will be saved.'; @override String get setupChangeFolder => 'Change Folder'; @@ -5139,7 +5338,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupSpotifyApiOptional => 'Spotify API (Optional)'; @override - String get setupSpotifyApiDescription => 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; + String get setupSpotifyApiDescription => + 'Add your Spotify API credentials for better search results and access to Spotify-exclusive content.'; @override String get setupUseSpotifyApi => 'Use Spotify API'; @@ -5157,7 +5357,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupEnterClientSecret => 'Enter Spotify Client Secret'; @override - String get setupGetFreeCredentials => 'Get your free API credentials from the Spotify Developer Dashboard.'; + String get setupGetFreeCredentials => + 'Get your free API credentials from the Spotify Developer Dashboard.'; @override String get setupEnableNotifications => 'Enable Notifications'; @@ -5166,10 +5367,12 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupProceedToNextStep => 'You can now proceed to the next step.'; @override - String get setupNotificationProgressDescription => 'You will receive download progress notifications.'; + String get setupNotificationProgressDescription => + 'You will receive download progress notifications.'; @override - String get setupNotificationBackgroundDescription => 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; + String get setupNotificationBackgroundDescription => + 'Get notified about download progress and completion. This helps you track downloads when the app is in background.'; @override String get setupSkipForNow => 'Skip for now'; @@ -5187,10 +5390,12 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get setupSkipAndStart => 'Skip & Start'; @override - String get setupAllowAccessToManageFiles => 'Please enable \"Allow access to manage all files\" in the next screen.'; + String get setupAllowAccessToManageFiles => + 'Please enable \"Allow access to manage all files\" in the next screen.'; @override - String get setupGetCredentialsFromSpotify => 'Get credentials from developer.spotify.com'; + String get setupGetCredentialsFromSpotify => + 'Get credentials from developer.spotify.com'; @override String get dialogCancel => 'Cancel'; @@ -5241,7 +5446,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get dialogDiscardChanges => 'Discard Changes?'; @override - String get dialogUnsavedChanges => 'You have unsaved changes. Do you want to discard them?'; + String get dialogUnsavedChanges => + 'You have unsaved changes. Do you want to discard them?'; @override String get dialogDownloadFailed => 'Download Failed'; @@ -5259,7 +5465,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get dialogClearAll => 'Clear All'; @override - String get dialogClearAllDownloads => 'Are you sure you want to clear all downloads?'; + String get dialogClearAllDownloads => + 'Are you sure you want to clear all downloads?'; @override String get dialogRemoveFromDevice => 'Remove from device?'; @@ -5268,7 +5475,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get dialogRemoveExtension => 'Remove Extension'; @override - String get dialogRemoveExtensionMessage => 'Are you sure you want to remove this extension? This cannot be undone.'; + String get dialogRemoveExtensionMessage => + 'Are you sure you want to remove this extension? This cannot be undone.'; @override String get dialogUninstallExtension => 'Uninstall Extension?'; @@ -5282,7 +5490,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get dialogClearHistoryTitle => 'Clear History'; @override - String get dialogClearHistoryMessage => 'Are you sure you want to clear all download history? This cannot be undone.'; + String get dialogClearHistoryMessage => + 'Are you sure you want to clear all download history? This cannot be undone.'; @override String get dialogDeleteSelectedTitle => 'Delete Selected'; @@ -5377,7 +5586,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get snackbarProviderPrioritySaved => 'Provider priority saved'; @override - String get snackbarMetadataProviderSaved => 'Metadata provider priority saved'; + String get snackbarMetadataProviderSaved => + 'Metadata provider priority saved'; @override String snackbarExtensionInstalled(String extensionName) { @@ -5399,7 +5609,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get errorRateLimited => 'Rate Limited'; @override - String get errorRateLimitedMessage => 'Too many requests. Please wait a moment before searching again.'; + String get errorRateLimitedMessage => + 'Too many requests. Please wait a moment before searching again.'; @override String errorFailedToLoad(String item) { @@ -5566,19 +5777,23 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get folderOrganizationByArtistAlbum => 'Artist/Album'; @override - String get folderOrganizationDescription => 'Organize downloaded files into folders'; + String get folderOrganizationDescription => + 'Organize downloaded files into folders'; @override String get folderOrganizationNoneSubtitle => 'All files in download folder'; @override - String get folderOrganizationByArtistSubtitle => 'Separate folder for each artist'; + String get folderOrganizationByArtistSubtitle => + 'Separate folder for each artist'; @override - String get folderOrganizationByAlbumSubtitle => 'Separate folder for each album'; + String get folderOrganizationByAlbumSubtitle => + 'Separate folder for each album'; @override - String get folderOrganizationByArtistAlbumSubtitle => 'Nested folders for artist and album'; + String get folderOrganizationByArtistAlbumSubtitle => + 'Nested folders for artist and album'; @override String get updateAvailable => 'Update Available'; @@ -5637,10 +5852,12 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get providerPriorityTitle => 'Provider Priority'; @override - String get providerPriorityDescription => 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; + String get providerPriorityDescription => + 'Drag to reorder download providers. The app will try providers from top to bottom when downloading tracks.'; @override - String get providerPriorityInfo => 'If a track is not available on the first provider, the app will automatically try the next one.'; + String get providerPriorityInfo => + 'If a track is not available on the first provider, the app will automatically try the next one.'; @override String get providerBuiltIn => 'Built-in'; @@ -5652,16 +5869,19 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get metadataProviderPriority => 'Metadata Provider Priority'; @override - String get metadataProviderPrioritySubtitle => 'Order used when fetching track metadata'; + String get metadataProviderPrioritySubtitle => + 'Order used when fetching track metadata'; @override String get metadataProviderPriorityTitle => 'Metadata Priority'; @override - String get metadataProviderPriorityDescription => 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; + String get metadataProviderPriorityDescription => + 'Drag to reorder metadata providers. The app will try providers from top to bottom when searching for tracks and fetching metadata.'; @override - String get metadataProviderPriorityInfo => 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; + String get metadataProviderPriorityInfo => + 'Deezer has no rate limits and is recommended as primary. Spotify may rate limit after many requests.'; @override String get metadataNoRateLimits => 'No rate limits'; @@ -5733,16 +5953,19 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get logIssueSummary => 'Issue Summary'; @override - String get logIspBlockingDescription => 'Your ISP may be blocking access to download services'; + String get logIspBlockingDescription => + 'Your ISP may be blocking access to download services'; @override - String get logIspBlockingSuggestion => 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; + String get logIspBlockingSuggestion => + 'Try using a VPN or change DNS to 1.1.1.1 or 8.8.8.8'; @override String get logRateLimitedDescription => 'Too many requests to the service'; @override - String get logRateLimitedSuggestion => 'Wait a few minutes before trying again'; + String get logRateLimitedSuggestion => + 'Wait a few minutes before trying again'; @override String get logNetworkErrorDescription => 'Connection issues detected'; @@ -5751,10 +5974,12 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get logNetworkErrorSuggestion => 'Check your internet connection'; @override - String get logTrackNotFoundDescription => 'Some tracks could not be found on download services'; + String get logTrackNotFoundDescription => + 'Some tracks could not be found on download services'; @override - String get logTrackNotFoundSuggestion => 'The track may not be available in lossless quality'; + String get logTrackNotFoundSuggestion => + 'The track may not be available in lossless quality'; @override String logTotalErrors(int count) { @@ -5780,7 +6005,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get credentialsTitle => 'Spotify Credentials'; @override - String get credentialsDescription => 'Enter your Client ID and Secret to use your own Spotify application quota.'; + String get credentialsDescription => + 'Enter your Client ID and Secret to use your own Spotify application quota.'; @override String get credentialsClientId => 'Client ID'; @@ -5834,7 +6060,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get lyricsMode => 'Lyrics Mode'; @override - String get lyricsModeDescription => 'Choose how lyrics are saved with your downloads'; + String get lyricsModeDescription => + 'Choose how lyrics are saved with your downloads'; @override String get lyricsModeEmbed => 'Embed in file'; @@ -5846,7 +6073,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get lyricsModeExternal => 'External .lrc file'; @override - String get lyricsModeExternalSubtitle => 'Separate .lrc file for players like Samsung Music'; + String get lyricsModeExternalSubtitle => + 'Separate .lrc file for players like Samsung Music'; @override String get lyricsModeBoth => 'Both'; @@ -6006,7 +6234,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get trackDeleteConfirmTitle => 'Remove from device?'; @override - String get trackDeleteConfirmMessage => 'This will permanently delete the downloaded file and remove it from your history.'; + String get trackDeleteConfirmMessage => + 'This will permanently delete the downloaded file and remove it from your history.'; @override String trackCannotOpen(String message) { @@ -6158,13 +6387,15 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get extensionsNoExtensions => 'No extensions installed'; @override - String get extensionsNoExtensionsSubtitle => 'Install .spotiflac-ext files to add new providers'; + String get extensionsNoExtensionsSubtitle => + 'Install .spotiflac-ext files to add new providers'; @override String get extensionsInstallButton => 'Install Extension'; @override - String get extensionsInfoTip => 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; + String get extensionsInfoTip => + 'Extensions can add new metadata and download providers. Only install extensions from trusted sources.'; @override String get extensionsInstalledSuccess => 'Extension installed successfully'; @@ -6176,16 +6407,19 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get extensionsDownloadPrioritySubtitle => 'Set download service order'; @override - String get extensionsNoDownloadProvider => 'No extensions with download provider'; + String get extensionsNoDownloadProvider => + 'No extensions with download provider'; @override String get extensionsMetadataPriority => 'Metadata Priority'; @override - String get extensionsMetadataPrioritySubtitle => 'Set search & metadata source order'; + String get extensionsMetadataPrioritySubtitle => + 'Set search & metadata source order'; @override - String get extensionsNoMetadataProvider => 'No extensions with metadata provider'; + String get extensionsNoMetadataProvider => + 'No extensions with metadata provider'; @override String get extensionsSearchProvider => 'Search Provider'; @@ -6194,7 +6428,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get extensionsNoCustomSearch => 'No extensions with custom search'; @override - String get extensionsSearchProviderDescription => 'Choose which service to use for searching tracks'; + String get extensionsSearchProviderDescription => + 'Choose which service to use for searching tracks'; @override String get extensionsCustomSearch => 'Custom search'; @@ -6221,7 +6456,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get qualityHiResFlacMaxSubtitle => '24-bit / up to 192kHz'; @override - String get qualityNote => 'Actual quality depends on track availability from the service'; + String get qualityNote => + 'Actual quality depends on track availability from the service'; @override String get downloadAskBeforeDownload => 'Ask Before Download'; @@ -6311,7 +6547,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get queueClearAll => 'Clear All'; @override - String get queueClearAllMessage => 'Are you sure you want to clear all downloads?'; + String get queueClearAllMessage => + 'Are you sure you want to clear all downloads?'; @override String get queueEmpty => 'No downloads in queue'; @@ -6347,7 +6584,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get albumFolderArtistYearAlbum => 'Artist / [Year] Album'; @override - String get albumFolderArtistYearAlbumSubtitle => 'Albums/Artist Name/[2005] Album Name/'; + String get albumFolderArtistYearAlbumSubtitle => + 'Albums/Artist Name/[2005] Album Name/'; @override String get albumFolderAlbumOnly => 'Album Only'; @@ -6365,7 +6603,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get albumFolderArtistAlbumSingles => 'Artist / Album + Singles'; @override - String get albumFolderArtistAlbumSinglesSubtitle => 'Artist/Album/ and Artist/Singles/'; + String get albumFolderArtistAlbumSinglesSubtitle => + 'Artist/Album/ and Artist/Singles/'; @override String get downloadedAlbumDeleteSelected => 'Delete Selected'; @@ -6475,7 +6714,8 @@ class AppLocalizationsZhTw extends AppLocalizationsZh { String get discographySelectAlbums => 'Select Albums...'; @override - String get discographySelectAlbumsSubtitle => 'Choose specific albums or singles'; + String get discographySelectAlbumsSubtitle => + 'Choose specific albums or singles'; @override String get discographyFetchingTracks => 'Fetching tracks...'; diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index 97eadb1f..8b318881 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -672,6 +672,13 @@ "trackName": {"type": "String"} } }, + "snackbarAlreadyInLibrary": "\"{trackName}\" already exists in your library", + "@snackbarAlreadyInLibrary": { + "description": "Snackbar - track already exists in local library", + "placeholders": { + "trackName": {"type": "String"} + } + }, "snackbarHistoryCleared": "History cleared", "@snackbarHistoryCleared": {"description": "Snackbar - history deleted"}, "snackbarCredentialsSaved": "Credentials saved", diff --git a/lib/screens/album_screen.dart b/lib/screens/album_screen.dart index 7235a26b..fff97f44 100644 --- a/lib/screens/album_screen.dart +++ b/lib/screens/album_screen.dart @@ -10,6 +10,7 @@ import 'package:spotiflac_android/models/download_item.dart'; import 'package:spotiflac_android/providers/download_queue_provider.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/providers/recent_access_provider.dart'; +import 'package:spotiflac_android/providers/local_library_provider.dart'; import 'package:spotiflac_android/services/platform_bridge.dart'; import 'package:spotiflac_android/widgets/download_service_picker.dart'; import 'package:spotiflac_android/screens/artist_screen.dart'; @@ -620,6 +621,18 @@ class _AlbumTrackItem extends ConsumerWidget { return state.isDownloaded(track.id); })); + // Check local library for duplicate detection + final settings = ref.watch(settingsProvider); + final showLocalLibraryIndicator = settings.localLibraryEnabled && settings.localLibraryShowDuplicates; + final isInLocalLibrary = showLocalLibraryIndicator + ? ref.watch(localLibraryProvider.select((state) => + state.existsInLibrary( + isrc: track.isrc, + trackName: track.name, + artistName: track.artistName, + ))) + : false; + final isQueued = queueItem != null; final isDownloading = queueItem?.status == DownloadStatus.downloading; final isFinalizing = queueItem?.status == DownloadStatus.finalizing; @@ -649,17 +662,47 @@ child: ListTile( ), ), title: Text(track.name, maxLines: 1, overflow: TextOverflow.ellipsis, style: Theme.of(context).textTheme.bodyLarge?.copyWith(fontWeight: FontWeight.w500)), - subtitle: Text(track.artistName, maxLines: 1, overflow: TextOverflow.ellipsis, style: TextStyle(color: colorScheme.onSurfaceVariant)), - trailing: _buildDownloadButton(context, ref, colorScheme, isQueued: isQueued, isDownloading: isDownloading, isFinalizing: isFinalizing, showAsDownloaded: showAsDownloaded, isInHistory: isInHistory, progress: progress), - onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory), + subtitle: Row( + children: [ + Flexible(child: Text(track.artistName, maxLines: 1, overflow: TextOverflow.ellipsis, style: TextStyle(color: colorScheme.onSurfaceVariant))), + if (isInLocalLibrary) ...[ + const SizedBox(width: 6), + Container( + padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 2), + decoration: BoxDecoration( + color: colorScheme.tertiaryContainer, + borderRadius: BorderRadius.circular(4), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(Icons.folder_outlined, size: 10, color: colorScheme.onTertiaryContainer), + const SizedBox(width: 3), + Text(context.l10n.libraryInLibrary, style: TextStyle(fontSize: 9, fontWeight: FontWeight.w500, color: colorScheme.onTertiaryContainer)), + ], + ), + ), + ], + ], + ), + trailing: _buildDownloadButton(context, ref, colorScheme, isQueued: isQueued, isDownloading: isDownloading, isFinalizing: isFinalizing, showAsDownloaded: showAsDownloaded, isInHistory: isInHistory, isInLocalLibrary: isInLocalLibrary, progress: progress), + onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory, isInLocalLibrary: isInLocalLibrary), ), ), ); } - void _handleTap(BuildContext context, WidgetRef ref, {required bool isQueued, required bool isInHistory}) async { + void _handleTap(BuildContext context, WidgetRef ref, {required bool isQueued, required bool isInHistory, required bool isInLocalLibrary}) async { if (isQueued) return; + // Check if track already exists in local library + if (isInLocalLibrary) { + if (context.mounted) { + ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text(context.l10n.snackbarAlreadyInLibrary(track.name)))); + } + return; + } + if (isInHistory) { final historyItem = ref.read(downloadHistoryProvider.notifier).getBySpotifyId(track.id); if (historyItem != null) { @@ -684,6 +727,7 @@ child: ListTile( required bool isFinalizing, required bool showAsDownloaded, required bool isInHistory, + required bool isInLocalLibrary, required double progress, }) { const double size = 44.0; @@ -691,7 +735,7 @@ child: ListTile( if (showAsDownloaded) { return GestureDetector( - onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory), + onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory, isInLocalLibrary: isInLocalLibrary), child: Container(width: size, height: size, decoration: BoxDecoration(color: colorScheme.primaryContainer, shape: BoxShape.circle), child: Icon(Icons.check, color: colorScheme.onPrimaryContainer, size: iconSize)), ); } else if (isFinalizing) { diff --git a/lib/screens/artist_screen.dart b/lib/screens/artist_screen.dart index 8748ad90..595cfef0 100644 --- a/lib/screens/artist_screen.dart +++ b/lib/screens/artist_screen.dart @@ -12,6 +12,7 @@ import 'package:spotiflac_android/providers/track_provider.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; import 'package:spotiflac_android/providers/download_queue_provider.dart'; import 'package:spotiflac_android/providers/recent_access_provider.dart'; +import 'package:spotiflac_android/providers/local_library_provider.dart'; import 'package:spotiflac_android/services/platform_bridge.dart'; import 'package:spotiflac_android/screens/album_screen.dart'; import 'package:spotiflac_android/screens/home_tab.dart' show ExtensionAlbumScreen; @@ -955,6 +956,18 @@ if (hasValidImage) return state.isDownloaded(track.id); })); + // Check local library for duplicate detection + final settings = ref.watch(settingsProvider); + final showLocalLibraryIndicator = settings.localLibraryEnabled && settings.localLibraryShowDuplicates; + final isInLocalLibrary = showLocalLibraryIndicator + ? ref.watch(localLibraryProvider.select((state) => + state.existsInLibrary( + isrc: track.isrc, + trackName: track.name, + artistName: track.artistName, + ))) + : false; + final isQueued = queueItem != null; final isDownloading = queueItem?.status == DownloadStatus.downloading; final isFinalizing = queueItem?.status == DownloadStatus.finalizing; @@ -964,7 +977,7 @@ if (hasValidImage) final showAsDownloaded = isCompleted || (!isQueued && isInHistory); return InkWell( - onTap: () => _handlePopularTrackTap(track, isQueued: isQueued, isInHistory: isInHistory), + onTap: () => _handlePopularTrackTap(track, isQueued: isQueued, isInHistory: isInHistory, isInLocalLibrary: isInLocalLibrary), child: Padding( padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), child: Row( @@ -1042,6 +1055,7 @@ if (hasValidImage) isFinalizing: isFinalizing, showAsDownloaded: showAsDownloaded, isInHistory: isInHistory, + isInLocalLibrary: isInLocalLibrary, progress: progress, ), ], @@ -1051,9 +1065,19 @@ if (hasValidImage) } /// Handle tap on popular track item - void _handlePopularTrackTap(Track track, {required bool isQueued, required bool isInHistory}) async { + void _handlePopularTrackTap(Track track, {required bool isQueued, required bool isInHistory, required bool isInLocalLibrary}) async { if (isQueued) return; + // Check if track already exists in local library + if (isInLocalLibrary) { + if (mounted) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text(context.l10n.snackbarAlreadyInLibrary(track.name))), + ); + } + return; + } + if (isInHistory) { final historyItem = ref.read(downloadHistoryProvider.notifier).getBySpotifyId(track.id); if (historyItem != null) { @@ -1082,6 +1106,7 @@ if (hasValidImage) required bool isFinalizing, required bool showAsDownloaded, required bool isInHistory, + required bool isInLocalLibrary, required double progress, }) { const double size = 40.0; @@ -1089,7 +1114,7 @@ if (hasValidImage) if (showAsDownloaded) { return GestureDetector( - onTap: () => _handlePopularTrackTap(track, isQueued: isQueued, isInHistory: isInHistory), + onTap: () => _handlePopularTrackTap(track, isQueued: isQueued, isInHistory: isInHistory, isInLocalLibrary: isInLocalLibrary), child: Container( width: size, height: size, diff --git a/lib/screens/home_tab.dart b/lib/screens/home_tab.dart index 2f1f2e05..c8ab30b6 100644 --- a/lib/screens/home_tab.dart +++ b/lib/screens/home_tab.dart @@ -2465,7 +2465,7 @@ class _TrackItemWithStatus extends ConsumerWidget { mainAxisSize: MainAxisSize.min, children: [ InkWell( - onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory), + onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory, isInLocalLibrary: isInLocalLibrary), splashColor: colorScheme.primary.withValues(alpha: 0.12), highlightColor: colorScheme.primary.withValues(alpha: 0.08), child: Padding( @@ -2547,7 +2547,7 @@ class _TrackItemWithStatus extends ConsumerWidget { ], ), ), - _buildDownloadButton(context, ref, colorScheme, isQueued: isQueued, isDownloading: isDownloading, isFinalizing: isFinalizing, showAsDownloaded: showAsDownloaded, isInHistory: isInHistory, progress: progress), + _buildDownloadButton(context, ref, colorScheme, isQueued: isQueued, isDownloading: isDownloading, isFinalizing: isFinalizing, showAsDownloaded: showAsDownloaded, isInHistory: isInHistory, isInLocalLibrary: isInLocalLibrary, progress: progress), ], ), ), @@ -2564,9 +2564,19 @@ class _TrackItemWithStatus extends ConsumerWidget { ); } - void _handleTap(BuildContext context, WidgetRef ref, {required bool isQueued, required bool isInHistory}) async { + void _handleTap(BuildContext context, WidgetRef ref, {required bool isQueued, required bool isInHistory, required bool isInLocalLibrary}) async { if (isQueued) return; + // Check if track already exists in local library + if (isInLocalLibrary) { + if (context.mounted) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text(context.l10n.snackbarAlreadyInLibrary(track.name))), + ); + } + return; + } + if (isInHistory) { final historyItem = ref.read(downloadHistoryProvider.notifier).getBySpotifyId(track.id); if (historyItem != null) { @@ -2593,6 +2603,7 @@ class _TrackItemWithStatus extends ConsumerWidget { required bool isFinalizing, required bool showAsDownloaded, required bool isInHistory, + required bool isInLocalLibrary, required double progress, }) { const double size = 44.0; @@ -2600,7 +2611,7 @@ class _TrackItemWithStatus extends ConsumerWidget { if (showAsDownloaded) { return GestureDetector( - onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory), + onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory, isInLocalLibrary: isInLocalLibrary), child: Container( width: size, height: size, diff --git a/lib/screens/playlist_screen.dart b/lib/screens/playlist_screen.dart index d3198116..fdf5c743 100644 --- a/lib/screens/playlist_screen.dart +++ b/lib/screens/playlist_screen.dart @@ -10,6 +10,7 @@ import 'package:spotiflac_android/models/track.dart'; import 'package:spotiflac_android/models/download_item.dart'; import 'package:spotiflac_android/providers/download_queue_provider.dart'; import 'package:spotiflac_android/providers/settings_provider.dart'; +import 'package:spotiflac_android/providers/local_library_provider.dart'; import 'package:spotiflac_android/widgets/download_service_picker.dart'; class PlaylistScreen extends ConsumerStatefulWidget { @@ -436,6 +437,18 @@ class _PlaylistTrackItem extends ConsumerWidget { return state.isDownloaded(track.id); })); + // Check local library for duplicate detection + final settings = ref.watch(settingsProvider); + final showLocalLibraryIndicator = settings.localLibraryEnabled && settings.localLibraryShowDuplicates; + final isInLocalLibrary = showLocalLibraryIndicator + ? ref.watch(localLibraryProvider.select((state) => + state.existsInLibrary( + isrc: track.isrc, + trackName: track.name, + artistName: track.artistName, + ))) + : false; + final isQueued = queueItem != null; final isDownloading = queueItem?.status == DownloadStatus.downloading; final isFinalizing = queueItem?.status == DownloadStatus.finalizing; @@ -456,17 +469,47 @@ leading: track.coverUrl != null ? ClipRRect(borderRadius: BorderRadius.circular(8), child: CachedNetworkImage(imageUrl: track.coverUrl!, width: 48, height: 48, fit: BoxFit.cover, memCacheWidth: 96, cacheManager: CoverCacheManager.instance)) : Container(width: 48, height: 48, decoration: BoxDecoration(color: colorScheme.surfaceContainerHighest, borderRadius: BorderRadius.circular(8)), child: Icon(Icons.music_note, color: colorScheme.onSurfaceVariant)), title: Text(track.name, maxLines: 1, overflow: TextOverflow.ellipsis, style: Theme.of(context).textTheme.bodyLarge?.copyWith(fontWeight: FontWeight.w500)), - subtitle: Text(track.artistName, maxLines: 1, overflow: TextOverflow.ellipsis, style: TextStyle(color: colorScheme.onSurfaceVariant)), - trailing: _buildDownloadButton(context, ref, colorScheme, isQueued: isQueued, isDownloading: isDownloading, isFinalizing: isFinalizing, showAsDownloaded: showAsDownloaded, isInHistory: isInHistory, progress: progress), - onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory), + subtitle: Row( + children: [ + Flexible(child: Text(track.artistName, maxLines: 1, overflow: TextOverflow.ellipsis, style: TextStyle(color: colorScheme.onSurfaceVariant))), + if (isInLocalLibrary) ...[ + const SizedBox(width: 6), + Container( + padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 2), + decoration: BoxDecoration( + color: colorScheme.tertiaryContainer, + borderRadius: BorderRadius.circular(4), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(Icons.folder_outlined, size: 10, color: colorScheme.onTertiaryContainer), + const SizedBox(width: 3), + Text(context.l10n.libraryInLibrary, style: TextStyle(fontSize: 9, fontWeight: FontWeight.w500, color: colorScheme.onTertiaryContainer)), + ], + ), + ), + ], + ], + ), + trailing: _buildDownloadButton(context, ref, colorScheme, isQueued: isQueued, isDownloading: isDownloading, isFinalizing: isFinalizing, showAsDownloaded: showAsDownloaded, isInHistory: isInHistory, isInLocalLibrary: isInLocalLibrary, progress: progress), + onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory, isInLocalLibrary: isInLocalLibrary), ), ), ); } - void _handleTap(BuildContext context, WidgetRef ref, {required bool isQueued, required bool isInHistory}) async { + void _handleTap(BuildContext context, WidgetRef ref, {required bool isQueued, required bool isInHistory, required bool isInLocalLibrary}) async { if (isQueued) return; + // Check if track already exists in local library + if (isInLocalLibrary) { + if (context.mounted) { + ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text(context.l10n.snackbarAlreadyInLibrary(track.name)))); + } + return; + } + if (isInHistory) { final historyItem = ref.read(downloadHistoryProvider.notifier).getBySpotifyId(track.id); if (historyItem != null) { @@ -491,6 +534,7 @@ leading: track.coverUrl != null required bool isFinalizing, required bool showAsDownloaded, required bool isInHistory, + required bool isInLocalLibrary, required double progress, }) { const double size = 44.0; @@ -498,7 +542,7 @@ leading: track.coverUrl != null if (showAsDownloaded) { return GestureDetector( - onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory), + onTap: () => _handleTap(context, ref, isQueued: isQueued, isInHistory: isInHistory, isInLocalLibrary: isInLocalLibrary), child: Container(width: size, height: size, decoration: BoxDecoration(color: colorScheme.primaryContainer, shape: BoxShape.circle), child: Icon(Icons.check, color: colorScheme.onPrimaryContainer, size: iconSize)), ); } else if (isFinalizing) {