// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';

// ignore_for_file: type=lint

/// The translations for German (`de`).
class AppLocalizationsDe extends AppLocalizations {
  AppLocalizationsDe([String locale = 'de']) : super(locale);

  @override
  String get appName => 'SpotiFLAC Mobile';

  @override
  String get navHome => 'Startseite';

  @override
  String get navLibrary => 'Bibliothek';

  @override
  String get navSettings => 'Einstellungen';

  @override
  String get navStore => 'Repo';

  @override
  String get homeTitle => 'Startseite';

  @override
  String get homeSubtitle => 'Unterstützte URL einfügen oder nach Namen suchen';

  @override
  String get homeEmptyTitle => 'Noch keine Suchanbieter';

  @override
  String get homeEmptySubtitle =>
      'Installiere eine Erweiterung um fortzufahren.';

  @override
  String get homeSupports =>
      'Unterstützt: Titel, Album, Playlist, Künstler-URLs';

  @override
  String get homeRecent => 'Zuletzt';

  @override
  String get historyFilterAll => 'Alle';

  @override
  String get historyFilterAlbums => 'Alben';

  @override
  String get historyFilterSingles => 'Singles';

  @override
  String get historySearchHint => 'Suchverlauf...';

  @override
  String get settingsTitle => 'Einstellungen';

  @override
  String get settingsDownload => 'Herunterladen';

  @override
  String get settingsAppearance => 'Erscheinungsbild';

  @override
  String get settingsExtensions => 'Erweiterungen';

  @override
  String get settingsAbout => 'Über';

  @override
  String get downloadTitle => 'Herunterladen';

  @override
  String get downloadAskQualitySubtitle =>
      'Qualitätsauswahl für jeden Download anzeigen';

  @override
  String get downloadFilenameFormat => 'Dateinamenformat';

  @override
  String get downloadSingleFilenameFormat => 'Einzelnes Dateinamenformat';

  @override
  String get downloadSingleFilenameFormatDescription =>
      'Dateinamenmuster für Singles und EPs. Verwendet die gleichen Tags wie das Albumformat.';

  @override
  String get downloadFolderOrganization => 'Ordnerstruktur';

  @override
  String get appearanceTitle => 'Erscheinungsbild';

  @override
  String get appearanceThemeSystem => 'System';

  @override
  String get appearanceThemeLight => 'Hell';

  @override
  String get appearanceThemeDark => 'Dunkel';

  @override
  String get appearanceDynamicColor => 'Dynamische Farben';

  @override
  String get appearanceDynamicColorSubtitle =>
      'Farben deines Hintergrundbilds verwenden';

  @override
  String get appearanceHistoryView => 'Verlaufsansicht';

  @override
  String get appearanceHistoryViewList => 'Liste';

  @override
  String get appearanceHistoryViewGrid => 'Raster';

  @override
  String get optionsPrimaryProvider => 'Primärer Anbieter';

  @override
  String get optionsPrimaryProviderSubtitle =>
      'Dienst zur Suche nach Titel oder Albumnamen';

  @override
  String optionsUsingExtension(String extensionName) {
    return 'Erweiterung verwenden: $extensionName';
  }

  @override
  String get optionsDefaultSearchTab => 'Standard Such-Tab';

  @override
  String get optionsDefaultSearchTabSubtitle =>
      'Wähle aus, welcher Tab zuerst für neue Suchergebnisse geöffnet wird.';

  @override
  String get optionsAutoFallback => 'Automatischer Fallback';

  @override
  String get optionsAutoFallbackSubtitle =>
      'Andere Dienste versuchen, wenn Download fehlschlägt';

  @override
  String get optionsEmbedLyrics => 'Liedtexte einbetten';

  @override
  String get optionsEmbedLyricsSubtitle =>
      'Speichere synchronisierte Liedtexte zusammen mit heruntergeladenen Titeln';

  @override
  String get optionsReplayGain => 'ReplayGain';

  @override
  String get optionsReplayGainSubtitleOn =>
      'Scanne Lautstärke und füge ReplayGain-Tags ein (EBU R128)';

  @override
  String get optionsReplayGainSubtitleOff =>
      'Deaktiviert: keine Lautstärke-Normalisierungs-Tags';

  @override
  String get trackReplayGain => 'Rescan ReplayGain';

  @override
  String get trackReplayGainScanning => 'Analyzing loudness...';

  @override
  String get trackReplayGainSuccess => 'ReplayGain tags added';

  @override
  String get trackReplayGainFailed => 'Failed to add ReplayGain tags';

  @override
  String selectionReplayGainCount(int count) {
    return 'ReplayGain ($count)';
  }

  @override
  String get replayGainBatchConfirmTitle => 'Add ReplayGain';

  @override
  String replayGainBatchConfirmMessage(int count) {
    return 'Analyze loudness and write ReplayGain tags to $count track(s)?';
  }

  @override
  String get replayGainBatchAnalyzing => 'Analyzing ReplayGain...';

  @override
  String replayGainBatchSuccess(int success, int total) {
    return 'ReplayGain added to $success of $total tracks';
  }

  @override
  String get optionsArtistTagMode => 'Künstler Tag-Modus';

  @override
  String get optionsArtistTagModeDescription =>
      'Wähle aus, wie mehrere Künstler in eingebetteten Tags geschrieben sind.';

  @override
  String get optionsArtistTagModeJoined => 'Einzelne beigefügte Werte';

  @override
  String get optionsArtistTagModeJoinedSubtitle =>
      'Einen Künstler wert wie \"Artist A, Artist B\" für maximale Spieler-Kompatibilität schreiben.';

  @override
  String get optionsArtistTagModeSplitVorbis => 'Tags für FLAC/Opus aufteilen';

  @override
  String get optionsArtistTagModeSplitVorbisSubtitle =>
      'Schreibe einen Künstler Tag pro Künstler für FLAC und Opus; MP3 und M4A bleiben beigetreten.';

  @override
  String get optionsExtensionStore => 'Erweiterungs-Repo';

  @override
  String get optionsExtensionStoreSubtitle =>
      'Repo-Tab in der Navigation anzeigen';

  @override
  String get optionsCheckUpdates => 'Nach Updates suchen';

  @override
  String get optionsCheckUpdatesSubtitle =>
      'Benachrichtigen, wenn neue Version verfügbar';

  @override
  String get optionsUpdateChannel => 'Update-Kanal';

  @override
  String get optionsUpdateChannelStable => 'Nur stabile Versionen';

  @override
  String get optionsUpdateChannelPreview => 'Vorschau-Versionen erhalten';

  @override
  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';

  @override
  String get optionsDetailedLogging => 'Detaillierte Protokollierung';

  @override
  String get optionsDetailedLoggingOn =>
      'Detaillierte Logs werden aufgezeichnet';

  @override
  String get optionsDetailedLoggingOff => 'Für Fehlerberichte aktivieren';

  @override
  String get extensionsTitle => 'Erweiterungen';

  @override
  String get extensionsDisabled => 'Deaktiviert';

  @override
  String extensionsVersion(String version) {
    return 'Version $version';
  }

  @override
  String get extensionsUninstall => 'Deinstallieren';

  @override
  String get storeTitle => 'Erweiterungs-Repo';

  @override
  String get storeSearch => 'Erweiterungen suchen...';

  @override
  String get storeInstall => 'Installieren';

  @override
  String get storeInstalled => 'Installiert';

  @override
  String get storeUpdate => 'Aktualisieren';

  @override
  String get aboutTitle => 'Über';

  @override
  String get aboutContributors => 'Mitwirkende';

  @override
  String get aboutMobileDeveloper => 'Mobile-Version Entwickler';

  @override
  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!';

  @override
  String get aboutTranslators => 'Übersetzer';

  @override
  String get aboutSpecialThanks => 'Besonderer Dank';

  @override
  String get aboutLinks => 'Links';

  @override
  String get aboutMobileSource => 'Mobiler Quellcode';

  @override
  String get aboutPCSource => 'PC Quellcode';

  @override
  String get aboutKeepAndroidOpen => 'Keep Android Open';

  @override
  String get aboutReportIssue => 'Problem melden';

  @override
  String get aboutReportIssueSubtitle => 'Melde Probleme, die dir auffallen';

  @override
  String get aboutFeatureRequest => 'Feature vorschlagen';

  @override
  String get aboutFeatureRequestSubtitle =>
      'Schlage neue Funktionen für die App vor';

  @override
  String get aboutTelegramChannel => 'Telegram Kanal';

  @override
  String get aboutTelegramChannelSubtitle => 'Ankündigungen und Updates';

  @override
  String get aboutTelegramChat => 'Telegram Community';

  @override
  String get aboutTelegramChatSubtitle => 'Mit anderen Nutzern chatten';

  @override
  String get aboutSocial => 'Sozial';

  @override
  String get aboutApp => 'App';

  @override
  String get aboutVersion => 'Version';

  @override
  String get aboutBinimumDesc =>
      'The creator of QQDL & HiFi API. This project helped shape lossless download support.';

  @override
  String get aboutSachinsenalDesc =>
      'The original HiFi project creator. A foundation for lossless-source integration.';

  @override
  String get aboutSjdonadoDesc =>
      'Ersteller von I Don\'t Have Spotify (IDHS). Der Fallback-Link-Resolver, der den Tag rettet!';

  @override
  String get aboutAppDescription =>
      'Musik-Metadaten durchsuchen, Erweiterungen verwalten und deine Bibliothek organisieren.';

  @override
  String get artistAlbums => 'Alben';

  @override
  String get artistSingles => 'Singles & EPs';

  @override
  String get artistCompilations => 'Zusammenstellungen';

  @override
  String get artistPopular => 'Beliebt';

  @override
  String artistMonthlyListeners(String count) {
    return '$count monatliche Hörer';
  }

  @override
  String get trackMetadataService => 'Anbieter';

  @override
  String get trackMetadataPlay => 'Abspielen';

  @override
  String get trackMetadataShare => 'Teilen';

  @override
  String get trackMetadataDelete => 'Löschen';

  @override
  String get setupGrantPermission => 'Berechtigung erlauben';

  @override
  String get setupSkip => 'Vorerst überspringen';

  @override
  String get setupStorageAccessRequired => 'Speicherzugriff erforderlich';

  @override
  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 erteile alle Berechtigungen um fortzufahren.';

  @override
  String setupPermissionRequired(String permissionType) {
    return '$permissionType-Berechtigung erforderlich';
  }

  @override
  String setupPermissionRequiredMessage(String permissionType) {
    return '$permissionType-Berechtigung ist erforderlich für\ndie beste Benutzererfahrung. Du kannst dies später in den Einstellungen ändern.';
  }

  @override
  String get setupUseDefaultFolder => 'Als Standardordner verwenden?';

  @override
  String get setupNoFolderSelected =>
      'Kein Ordner ausgewählt. Soll der Standard-Musikordner verwendet werden?';

  @override
  String get setupUseDefault => 'Standard verwenden';

  @override
  String get setupDownloadLocationTitle => 'Speicherort';

  @override
  String get setupDownloadLocationIosMessage =>
      'Auf iOS werden Downloads im Dokumentenordner der App gespeichert. Du kannst sie über die Datei-App aufrufen.';

  @override
  String get setupAppDocumentsFolder => 'App-Dokumentenordner';

  @override
  String get setupAppDocumentsFolderSubtitle =>
      'Empfohlen - zugänglich über die Datei-App';

  @override
  String get setupChooseFromFiles => 'Aus Dateien auswählen';

  @override
  String get setupChooseFromFilesSubtitle =>
      'Wähle iCloud oder einen anderen Speicherort';

  @override
  String get setupIosEmptyFolderWarning =>
      'iOS-Einschränkung: Leere Ordner können nicht ausgewählt werden. Wähle einen Ordner mit mindestens einer Datei.';

  @override
  String get setupIcloudNotSupported =>
      'iCloud Drive wird nicht unterstützt. Bitte verwende den \"Dokumente\" Ordner.';

  @override
  String get setupDownloadInFlac =>
      'Musik in verlustfreier und Hi-Res-Qualität herunterladen';

  @override
  String get setupStorageGranted => 'Speicherberechtigung erlaubt!';

  @override
  String get setupStorageRequired => 'Speicherzugriff erforderlich';

  @override
  String get setupStorageDescription =>
      'SpotiFLAC benötigt Speicherrechte, um die heruntergeladenen Musikdateien zu speichern.';

  @override
  String get setupNotificationGranted =>
      'Benachrichtigungs-Berechtigung erteilt';

  @override
  String get setupNotificationEnable => 'Benachrichtigungen aktivieren';

  @override
  String get setupFolderChoose => 'Speicherort auswählen';

  @override
  String get setupFolderDescription =>
      'Wähle einen Ordner, in dem die heruntergeladene Musik gespeichert wird.';

  @override
  String get setupSelectFolder => 'Ordner wählen';

  @override
  String get setupEnableNotifications => 'Benachrichtigungen aktivieren';

  @override
  String get setupNotificationBackgroundDescription =>
      'Erhalte Benachrichtigungen über den Fortschritt und die Fertigstellung deiner Downloads, selbst wenn die App im Hintergrund läuft.';

  @override
  String get setupSkipForNow => 'Vorerst überspringen';

  @override
  String get setupNext => 'Weiter';

  @override
  String get setupGetStarted => 'Los geht‘s';

  @override
  String get setupAllowAccessToManageFiles =>
      'Bitte aktiviere \"Zugriff auf alle Dateien erlauben\" auf dem nächsten Bildschirm.';

  @override
  String get setupLanguageTitle => 'Sprache auswählen';

  @override
  String get setupLanguageDescription =>
      'Wählen deine bevorzugte Sprache für die App. Dies kann später in den Einstellungen geändert werden.';

  @override
  String get setupLanguageSystemDefault => 'Systemstandard';

  @override
  String get dialogCancel => 'Abbrechen';

  @override
  String get dialogSave => 'Speichern';

  @override
  String get dialogDelete => 'Löschen';

  @override
  String get dialogRetry => 'Wiederholen';

  @override
  String get dialogClear => 'Leeren';

  @override
  String get dialogDone => 'Fertig';

  @override
  String get dialogImport => 'Importieren';

  @override
  String get dialogDownload => 'Herunterladen';

  @override
  String get previewPlay => 'Vorschau abspielen';

  @override
  String get previewStop => 'Vorschau stoppen';

  @override
  String get previewUnavailable => 'Preview unavailable';

  @override
  String get dialogDiscard => 'Verwerfen';

  @override
  String get dialogRemove => 'Entfernen';

  @override
  String get dialogUninstall => 'Deinstallieren';

  @override
  String get dialogDiscardChanges => 'Änderungen verwerfen?';

  @override
  String get dialogUnsavedChanges =>
      'Du hast ungespeicherte Änderungen. Möchtest du sie verwerfen?';

  @override
  String get dialogClearAll => 'Alles löschen';

  @override
  String get dialogRemoveExtension => 'Erweiterung entfernen';

  @override
  String get dialogRemoveExtensionMessage =>
      'Bist du sicher, dass du diese Erweiterung entfernen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.';

  @override
  String get dialogUninstallExtension => 'Erweiterung deinstallieren?';

  @override
  String dialogUninstallExtensionMessage(String extensionName) {
    return 'Bist du sicher, dass du $extensionName entfernen möchtest?';
  }

  @override
  String get dialogClearHistoryTitle => 'Verlauf löschen';

  @override
  String get dialogClearHistoryMessage =>
      'Bist du sicher, dass du den gesamten Downloadverlauf löschen möchtest? Dies kann nicht rückgängig gemacht werden.';

  @override
  String get dialogDeleteSelectedTitle => 'Ausgewählte löschen';

  @override
  String dialogDeleteSelectedMessage(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Tracks',
      one: 'Track',
    );
    return 'Lösche $count $_temp0 aus dem Verlauf?\n\nDies löscht auch die Dateien aus dem Speicher.';
  }

  @override
  String get dialogImportPlaylistTitle => 'Playlist importieren';

  @override
  String dialogImportPlaylistMessage(int count) {
    return '$count Titel gefunden hinzufügen?';
  }

  @override
  String csvImportTracks(int count) {
    return '$count Titel aus CSV';
  }

  @override
  String get collectionExportM3u => 'Export as M3U8';

  @override
  String collectionExportM3uDone(int exported, int total) {
    return 'Exported $exported of $total tracks';
  }

  @override
  String get collectionExportM3uNone => 'No downloaded files to export';

  @override
  String get collectionExportM3uFailed => 'Export failed';

  @override
  String get trackOpenOn => 'Open on...';

  @override
  String get trackOpenOnNoLinks => 'No platform links found for this track.';

  @override
  String get libraryReviewDuplicates => 'Review duplicates';

  @override
  String get libraryReviewDuplicatesSubtitle =>
      'Find tracks stored more than once';

  @override
  String get duplicatesTitle => 'Duplicates';

  @override
  String get duplicatesEmpty => 'No duplicate tracks found.';

  @override
  String get duplicatesKeepBest => 'Keep best';

  @override
  String duplicatesKeepBestMessage(int count, String trackName) {
    return 'Delete $count lower-quality copies of \"$trackName\"?';
  }

  @override
  String duplicatesDeleteCopyMessage(String trackName) {
    return 'Delete this copy of \"$trackName\"?';
  }

  @override
  String snackbarAddedToQueue(String trackName) {
    return '\"$trackName\" hinzugefügt';
  }

  @override
  String snackbarAddedTracksToQueue(int count) {
    return '$count Titel hinzugefügt';
  }

  @override
  String snackbarAlreadyDownloaded(String trackName) {
    return '\"$trackName\" bereits heruntergeladen';
  }

  @override
  String snackbarAlreadyInLibrary(String trackName) {
    return '\"$trackName\" existiert bereits in deiner Bibliothek';
  }

  @override
  String get snackbarHistoryCleared => 'Verlauf gelöscht';

  @override
  String snackbarDeletedTracks(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Titel',
      one: 'Titel',
    );
    return '$count $_temp0';
  }

  @override
  String snackbarCannotOpenFile(String error) {
    return 'Datei kann nicht geöffnet werden: $error';
  }

  @override
  String get snackbarViewQueue => 'Warteschlange anzeigen';

  @override
  String snackbarUrlCopied(String platform) {
    return '$platform URL in die Zwischenablage kopiert';
  }

  @override
  String get snackbarFileNotFound => 'Datei nicht gefunden';

  @override
  String get snackbarSelectExtFile => 'Bitte wähle eine .spotiflac-ext Datei';

  @override
  String get snackbarProviderPrioritySaved => 'Anbieterpriorität gespeichert';

  @override
  String get snackbarMetadataProviderSaved =>
      'Priorität des Metadaten-Anbieters gespeichert';

  @override
  String snackbarExtensionInstalled(String extensionName) {
    return '$extensionName installiert.';
  }

  @override
  String snackbarExtensionUpdated(String extensionName) {
    return '$extensionName aktualisiert.';
  }

  @override
  String get snackbarFailedToInstall =>
      'Erweiterung konnte nicht installiert werden';

  @override
  String get snackbarFailedToUpdate =>
      'Erweiterung konnte nicht aktualisiert werden';

  @override
  String get errorRateLimited => 'Anfragelimit überschritten';

  @override
  String get errorRateLimitedMessage =>
      'Zu viele Anfragen. Bitte warte einen Moment, bevor du es erneut suchst.';

  @override
  String get errorNoTracksFound => 'Keine Titel gefunden';

  @override
  String get searchEmptyResultSubtitle => 'Try another keyword';

  @override
  String get errorUrlNotRecognized => 'Link wurde nicht erkannt';

  @override
  String get errorUrlNotRecognizedMessage =>
      'Dieser Link ist inkompatibel. Prüfe die URL und stelle sicher, dass eine kompatible Erweiterung installiert ist.';

  @override
  String get errorUrlFetchFailed =>
      'Laden fehlgeschlagen. Bitte erneut versuchen.';

  @override
  String errorMissingExtensionSource(String item) {
    return 'Kann $item nicht laden wegen fehlender Erweiterungsquelle';
  }

  @override
  String get actionPause => 'Pause';

  @override
  String get actionResume => 'Fortfahren';

  @override
  String get actionCancel => 'Abbrechen';

  @override
  String get actionSelectAll => 'Alles Auswählen';

  @override
  String get actionDeselect => 'Alle abwählen';

  @override
  String selectionSelected(int count) {
    return '$count ausgewählt';
  }

  @override
  String get selectionAllSelected => 'Alle Titel sind ausgewählt';

  @override
  String get selectionSelectToDelete => 'Titel zum Löschen wählen';

  @override
  String progressFetchingMetadata(int current, int total) {
    return 'Lade Metadaten... $current/$total';
  }

  @override
  String get progressReadingCsv => 'CSV wird gelesen...';

  @override
  String get searchSongs => 'Titel';

  @override
  String get searchArtists => 'Künstler';

  @override
  String get searchAlbums => 'Alben';

  @override
  String get searchPlaylists => 'Playlists';

  @override
  String get searchSortTitle => 'Ergebnisse sortieren';

  @override
  String get searchSortDefault => 'Standard';

  @override
  String get searchSortTitleAZ => 'Titel (A-Z)';

  @override
  String get searchSortTitleZA => 'Titel (Z-A)';

  @override
  String get searchSortArtistAZ => 'Künstler (A-Z)';

  @override
  String get searchSortArtistZA => 'Künstler (Z-A)';

  @override
  String get searchSortDurationShort => 'Dauer (kürzeste)';

  @override
  String get searchSortDurationLong => 'Dauer (längste)';

  @override
  String get searchSortDateOldest => 'Veröffentlichungsdatum (älteste)';

  @override
  String get searchSortDateNewest => 'Veröffentlichungsdatum (Neueste)';

  @override
  String get tooltipPlay => 'Abspielen';

  @override
  String get filenameFormat => 'Dateinamenformat';

  @override
  String get filenameShowAdvancedTags => 'Erweiterte Tags anzeigen';

  @override
  String get filenameShowAdvancedTagsDescription =>
      'Formatierte Tags für Track-Padding und Datumsmuster aktivieren';

  @override
  String get folderOrganizationNone => 'Keine Organisation';

  @override
  String get folderOrganizationByPlaylist => 'Nach Playlist';

  @override
  String get folderOrganizationByPlaylistSubtitle =>
      'Ordner für jede Playlist trennen';

  @override
  String get folderOrganizationByArtist => 'Nach Künstler';

  @override
  String get folderOrganizationByAlbum => 'Nach Album';

  @override
  String get folderOrganizationByArtistAlbum => 'Künstler/Album';

  @override
  String get folderOrganizationDescription =>
      'Heruntergeladene Dateien in Ordner organisieren';

  @override
  String get folderOrganizationNoneSubtitle =>
      'Alle Dateien im Download-Ordner';

  @override
  String get folderOrganizationByArtistSubtitle =>
      'Trenne Ordner nach Künstler';

  @override
  String get folderOrganizationByAlbumSubtitle => 'Trenne Ordner nach Album';

  @override
  String get folderOrganizationByArtistAlbumSubtitle =>
      'Verschachtelte Ordner für Künstler und Album';

  @override
  String get updateAvailable => 'Update verfügbar';

  @override
  String get updateLater => 'Später';

  @override
  String get updateStartingDownload => 'Download wird gestartet...';

  @override
  String get updateDownloadFailed => 'Download fehlgeschlagen';

  @override
  String get updateFailedMessage =>
      'Das Update konnte nicht heruntergeladen werden';

  @override
  String get updateNewVersionReady => 'Eine neue Version ist verfügbar';

  @override
  String get updateRequiredTitle => 'Update required';

  @override
  String updateRequiredNotice(int count) {
    return 'This version is $count releases behind and is no longer supported. Update to keep using the app.';
  }

  @override
  String get updateCurrent => 'Aktuell';

  @override
  String get updateNew => 'Neu';

  @override
  String get updateDownloading => 'Wird heruntergeladen...';

  @override
  String get updateWhatsNew => 'Was ist neu';

  @override
  String get updateDownloadInstall => 'Herunterladen & Installieren';

  @override
  String get updateDontRemind => 'Nicht erinnern';

  @override
  String get providerPriorityTitle => 'Anbieterpriorität';

  @override
  String get providerPriorityDescription =>
      'Ziehen, um Download-Anbieter neu zu ordnen. Die App versucht Anbieter von oben nach unten, wenn Titel heruntergeladen werden.';

  @override
  String get providerPriorityInfo =>
      'Wenn kein Titel bei dem ersten Anbieter nicht verfügbar ist, wird die App automatisch den nächsten versuchen.';

  @override
  String get providerPriorityFallbackExtensionsDescription =>
      'Wähle aus, welche installierten Download-Erweiterungen beim automatischen Fallback verwendet werden sollen.';

  @override
  String get providerPriorityFallbackExtensionsHint =>
      'Hier werden nur aktivierte Erweiterungen mit Download-Provider-Funktion aufgelistet.';

  @override
  String get providerExtension => 'Erweiterung';

  @override
  String get metadataProviderPriorityTitle => 'Metadaten Priorität';

  @override
  String get metadataProviderPriorityDescription =>
      'Ziehe, um Metadatenanbieter neu zu ordnen. Die App versucht Anbieter von oben nach unten, wenn sie nach Tracks suchen und Metadaten abrufen.';

  @override
  String get metadataProviderPriorityInfo =>
      'Deezer hat keine Limits und wird als primäre empfohlen. Spotify kann nach vielen Anfragen begrenzen.';

  @override
  String get logTitle => 'Protokolle';

  @override
  String get logCopied => 'Logs in Zwischenablage kopiert';

  @override
  String get logSearchHint => 'Logs durchsuchen ...';

  @override
  String get logFilterLevel => 'Stufe';

  @override
  String get logFilterSection => 'Filter';

  @override
  String get logShareLogs => 'Logs teilen';

  @override
  String get logClearLogs => 'Logs löschen';

  @override
  String get logClearLogsTitle => 'Logs leeren';

  @override
  String get logClearLogsMessage =>
      'Bist du dir sicher, dass Sie alle Logs löschen möchtest?';

  @override
  String get logFilterBySeverity => 'Logs nach Schweregrad filtern';

  @override
  String get logNoLogsYet => 'Noch keine Logs';

  @override
  String get logNoLogsYetSubtitle =>
      'Logs werden hier angezeigt, während du die App benutzt';

  @override
  String logEntriesFiltered(int count) {
    return 'Einträge ($count gefiltert)';
  }

  @override
  String logEntries(int count) {
    return '$count Einträge';
  }

  @override
  String get channelStable => 'Stabil';

  @override
  String get channelPreview => 'Vorschau';

  @override
  String get sectionSearchSource => 'Suchquelle';

  @override
  String get sectionDownload => 'Herunterladen';

  @override
  String get sectionPerformance => 'Performance';

  @override
  String get sectionApp => 'App';

  @override
  String get sectionData => 'Daten';

  @override
  String get sectionDebug => 'Debug';

  @override
  String get sectionService => 'Anbieter';

  @override
  String get sectionAudioQuality => 'Audioqualität';

  @override
  String get sectionFileSettings => 'Datei-Einstellungen';

  @override
  String get sectionLyrics => 'Lyrics';

  @override
  String get lyricsMode => 'Lyrics-Modus';

  @override
  String get lyricsModeDescription =>
      'Wähle wie Songtexte mit deinen Downloads gespeichert werden';

  @override
  String get lyricsModeEmbed => 'In Datei einbetten';

  @override
  String get lyricsModeEmbedSubtitle => 'Lyrics in FLAC Metadaten gespeichert';

  @override
  String get lyricsModeExternal => 'Externe .lrc Datei';

  @override
  String get lyricsModeExternalSubtitle =>
      'Separate .lrc Datei für Player wie Samsung Music';

  @override
  String get lyricsModeBoth => 'Beides';

  @override
  String get lyricsModeBothSubtitle =>
      'Lyrics einbetten und als .lrc speichern';

  @override
  String get sectionColor => 'Farbe';

  @override
  String get sectionTheme => 'Design';

  @override
  String get sectionLayout => 'Layout';

  @override
  String get sectionLanguage => 'Sprache';

  @override
  String get appearanceLanguage => 'App Sprache';

  @override
  String get settingsAppearanceSubtitle => 'Design, Farben, Anzeige';

  @override
  String get settingsDownloadSubtitle => 'Anbieter, Qualität, Rückfall';

  @override
  String get settingsExtensionsSubtitle => 'Download-Anbieter verwalten';

  @override
  String get settingsLogsSubtitle => 'App-Logs zum Debuggen anzeigen';

  @override
  String get loadingSharedLink => 'Link wird geladen...';

  @override
  String get pressBackAgainToExit =>
      'Drücke wieder \"zurück\" um die App zu beenden';

  @override
  String downloadAllCount(int count) {
    return 'Alle $count Titel herunterladen';
  }

  @override
  String tracksCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count Titel',
      one: '1 Titel',
    );
    return '$_temp0';
  }

  @override
  String get trackCopyFilePath => 'Dateipfad kopieren';

  @override
  String get trackRemoveFromDevice => 'Vom Gerät entfernen';

  @override
  String get trackLoadLyrics => 'Lade Lyrics';

  @override
  String get trackMetadata => 'Metadaten';

  @override
  String get trackFileInfo => 'Datei-Info';

  @override
  String get trackLyrics => 'Lyrics';

  @override
  String get trackFileNotFound => 'Datei nicht gefunden';

  @override
  String get trackOpenInDeezer => 'In Deezer öffnen';

  @override
  String get trackOpenInSpotify => 'In Spotify öffnen';

  @override
  String get trackTrackName => 'Name des Titels';

  @override
  String get trackArtist => 'Künstler';

  @override
  String get trackAlbumArtist => 'Album Künstler';

  @override
  String get trackAlbum => 'Album';

  @override
  String get trackTrackNumber => 'Titelnummer';

  @override
  String get trackDiscNumber => 'CD-Nummer';

  @override
  String get trackDuration => 'Länge';

  @override
  String get trackAudioQuality => 'Audioqualität';

  @override
  String get trackReleaseDate => 'Erscheinungsdatum';

  @override
  String get trackGenre => 'Genre';

  @override
  String get trackLabel => 'Label';

  @override
  String get trackCopyright => 'Urheberrecht';

  @override
  String get trackDownloaded => 'Heruntergeladen';

  @override
  String get trackCopyLyrics => 'Lyrics kopieren';

  @override
  String trackLyricsSource(String source) {
    return 'Quelle: $source';
  }

  @override
  String get trackLyricsNotAvailable =>
      'Lyrics sind für diesen Titel nicht verfügbar';

  @override
  String get trackLyricsNotInFile => 'Keine Lyrics in dieser Datei gefunden';

  @override
  String get trackFetchOnlineLyrics => 'Online abrufen';

  @override
  String get trackLyricsTimeout =>
      'Anfrage Timeout. Versuche es später erneut.';

  @override
  String get trackLyricsLoadFailed => 'Fehler beim Laden der Lyrics';

  @override
  String get trackEmbedLyrics => 'Lyrics einbetten';

  @override
  String get trackLyricsEmbedded => 'Lyrics erfolgreich eingebettet';

  @override
  String get trackInstrumental => 'Instrumentalspur';

  @override
  String get trackCopiedToClipboard => 'In Zwischenablage kopiert';

  @override
  String get trackDeleteConfirmTitle => 'Vom Gerät entfernen?';

  @override
  String get trackDeleteConfirmMessage =>
      'Dies wird die heruntergeladene Datei dauerhaft löschen und sie aus deinem Verlauf entfernen.';

  @override
  String get dateToday => 'Heute';

  @override
  String get dateYesterday => 'Gestern';

  @override
  String dateDaysAgo(int count) {
    return 'Vor $count Tagen';
  }

  @override
  String dateWeeksAgo(int count) {
    return 'Vor $count Wochen';
  }

  @override
  String dateMonthsAgo(int count) {
    return 'Vor $count Monaten';
  }

  @override
  String get storeFilterAll => 'Alle';

  @override
  String get storeFilterMetadata => 'Metadaten';

  @override
  String get storeFilterDownload => 'Herunterladen';

  @override
  String get storeFilterUtility => 'Utility';

  @override
  String get storeFilterLyrics => 'Lyrics';

  @override
  String get storeFilterIntegration => 'Integration';

  @override
  String get storeClearFilters => 'Filter entfernen';

  @override
  String get storeAddRepoTitle => 'Erweiterungs-Repository hinzufügen';

  @override
  String get storeAddRepoDescription =>
      'Gib eine GitHub Repository-URL ein, die eine Registry.json Datei enthält, um Erweiterungen zu durchsuchen und zu installieren.';

  @override
  String get storeRepoUrlLabel => 'Repository-URL';

  @override
  String get storeRepoUrlHint => 'https://github.com/user/repo';

  @override
  String get storeAddRepoButton => 'Repository hinzufügen';

  @override
  String get storeChangeRepoTooltip => 'Repository ändern';

  @override
  String get storeRepoDialogTitle => 'Erweiterungs-Repository';

  @override
  String get storeRepoDialogCurrent => 'Aktuelles Repository:';

  @override
  String get storeNewRepoUrlLabel => 'Neue Repository-URL';

  @override
  String get storeLoadError => 'Fehler beim Laden der Repository';

  @override
  String get storeEmptyNoExtensions => 'Keine Erweiterung verfügbar';

  @override
  String get storeEmptyNoResults => 'Keine Erweiterungen gefunden';

  @override
  String get extensionId => 'ID';

  @override
  String get extensionError => 'Fehler';

  @override
  String get extensionCapabilities => 'Eigenschaften';

  @override
  String get extensionMetadataProvider => 'Metadaten-Anbieter';

  @override
  String get extensionDownloadProvider => 'Download-Anbieter';

  @override
  String get extensionLyricsProvider => 'Lyrics-Anbieter';

  @override
  String get extensionUrlHandler => 'URL Handler';

  @override
  String get extensionQualityOptions => 'Qualitätsoptionen';

  @override
  String get extensionPostProcessingHooks => 'Post-Processing Hooks';

  @override
  String get extensionPermissions => 'Berechtigungen';

  @override
  String get extensionSettings => 'Einstellungen';

  @override
  String get extensionRemoveButton => 'Erweiterung entfernen';

  @override
  String get extensionUpdated => 'Aktualisiert';

  @override
  String get extensionMinAppVersion => 'Min App-Version';

  @override
  String get extensionCustomTrackMatching =>
      'Benutzerdefiniertes Track-Matching';

  @override
  String get extensionPostProcessing => 'Post-processing';

  @override
  String extensionHooksAvailable(int count) {
    return '$count Hook(s) verfügbar';
  }

  @override
  String extensionPatternsCount(int count) {
    return '$count Muster';
  }

  @override
  String extensionStrategy(String strategy) {
    return 'Strategie: $strategy';
  }

  @override
  String get extensionsProviderPrioritySection => 'Provider-Priorität';

  @override
  String get extensionsInstalledSection => 'Installierte Erweiterungen';

  @override
  String get extensionsNoExtensions => 'Keine Erweiterungen installiert';

  @override
  String get extensionsNoExtensionsSubtitle =>
      'Installiere .spotiflac-ext Dateien um neue Anbieter hinzuzufügen';

  @override
  String get extensionsInstallButton => 'Erweiterung installieren';

  @override
  String get extensionsInfoTip =>
      'Erweiterungen können neue Metadaten und Download-Anbieter hinzufügen. Installiere nur Erweiterungen von vertrauenswürdigen Quellen.';

  @override
  String get extensionsInstalledSuccess =>
      'Erweiterung erfolgreich installiert';

  @override
  String extensionsInstalledCount(int count) {
    return '$count Erweiterungen erfolgreich installiert';
  }

  @override
  String extensionsInstallPartialSuccess(int installed, int attempted) {
    return '$installed von $attempted Erweiterungen installiert';
  }

  @override
  String get extensionsDownloadPriority => 'Download-Priorität';

  @override
  String get extensionsDownloadPrioritySubtitle =>
      'Download-Service-Reihenfolge festlegen';

  @override
  String get extensionsFallbackTitle => 'Fallback-Erweiterungen';

  @override
  String get extensionsFallbackSubtitle =>
      'Wähle welche installierten Download-Erweiterungen als Fallback verwendet werden sollen';

  @override
  String get extensionsNoDownloadProvider =>
      'Keine Erweiterungen mit Download-Provider';

  @override
  String get extensionsMetadataPriority => 'Metadaten Priorität';

  @override
  String get extensionsMetadataPrioritySubtitle =>
      'Reihenfolge der Such- und Metadaten quellen festlegen';

  @override
  String get extensionsNoMetadataProvider =>
      'Keine Erweiterungen mit Metadaten-Anbieter';

  @override
  String get extensionsSearchProvider => 'Such-Provider';

  @override
  String get extensionsNoCustomSearch =>
      'Keine Erweiterungen mit benutzerdefinierter Suche';

  @override
  String get extensionsSearchProviderDescription =>
      'Wähle den Dienst für die Suche von Titel';

  @override
  String get extensionsCustomSearch => 'Benutzerdefinierte Suche';

  @override
  String get extensionsErrorLoading => 'Fehler beim Laden der Erweiterung';

  @override
  String get qualityFlacLossless => 'FLAC Verlustfrei';

  @override
  String get qualityFlacLosslessSubtitle => '16-bit / 44,1kHz';

  @override
  String get qualityHiResFlac => 'Hi-Res FLAC';

  @override
  String get qualityHiResFlacSubtitle => '24-Bit / bis 96kHz';

  @override
  String get qualityHiResFlacMax => 'Hi-Res FLAC Max';

  @override
  String get qualityHiResFlacMaxSubtitle => '24-Bit / bis 192kHz';

  @override
  String get downloadLossy320 => 'Verlustbehaftet 320kbps';

  @override
  String get downloadLossyFormat => 'Verlustbehaftetes Format';

  @override
  String get downloadAutoConvert => 'Auto-convert after download';

  @override
  String get downloadAutoConvertSubtitle =>
      'Convert completed downloads to a smaller lossy format. The original is replaced only after conversion succeeds.';

  @override
  String get downloadAutoConvertFormat => 'Output format';

  @override
  String get downloadAutoConvertFormatSubtitle =>
      'Choose the lossy format used for newly completed downloads.';

  @override
  String get downloadAutoConvertBitrate => 'Output quality';

  @override
  String get downloadAutoConvertBitrateSubtitle =>
      'Higher bitrates preserve more detail but create larger files.';

  @override
  String get downloadAutoConvertMp3Subtitle =>
      'Best compatibility across players and devices';

  @override
  String get downloadAutoConvertM4aSubtitle =>
      'Efficient AAC audio in an M4A container';

  @override
  String get downloadAutoConvertOpusSubtitle =>
      'Best efficiency for modern players';

  @override
  String get downloadLossy320Format => 'Verlustbehaftetes 320kbps-Format';

  @override
  String get downloadLossy320FormatDesc =>
      'Choose the output format for 320kbps lossy downloads. The original stream will be converted to your selected format when needed.';

  @override
  String get downloadLossyMp3 => 'MP3 320kbps';

  @override
  String get downloadLossyMp3Subtitle =>
      'Beste Kompatibilität, ~10MB pro Titel';

  @override
  String get downloadLossyAac => 'AAC/M4A 320kbps';

  @override
  String get downloadLossyAacSubtitle =>
      'Beste mobile Kompatibilität, M4A Container';

  @override
  String get downloadLossyOpus256 => 'Opus 256kbps';

  @override
  String get downloadLossyOpus256Subtitle => 'Beste Qualität, ~8MB pro Titel';

  @override
  String get downloadLossyOpus128 => 'Opus 128kbps';

  @override
  String get downloadLossyOpus128Subtitle => 'Kleinste Größe, ~4MB pro Track';

  @override
  String get downloadAskBeforeDownload => 'Qualität vor Download fragen';

  @override
  String get downloadDirectory => 'Download-Ordner';

  @override
  String get downloadSeparateSinglesFolder => 'Singles Ordner trennen';

  @override
  String get downloadAlbumFolderStructure => 'Album-Ordnerstruktur';

  @override
  String get albumFolderStructureDescription =>
      'Choose how album folders are structured';

  @override
  String get downloadUseAlbumArtistForFolders =>
      'Album-Künstler für Ordner verwenden';

  @override
  String get downloadUsePrimaryArtistOnly => 'Primärer Künstler nur für Ordner';

  @override
  String get downloadUsePrimaryArtistOnlyEnabled =>
      'Vorgestellte Künstler aus dem Ordnernamen entfernt (z.B. Justin Bieber, Quavo → Justin Bieber)';

  @override
  String get downloadUsePrimaryArtistOnlyDisabled =>
      'Vollständiger Künstler für Ordnername';

  @override
  String get downloadSelectQuality => 'Qualität wählen';

  @override
  String get downloadFrom => 'Herunterladen von';

  @override
  String get appearanceAmoledDark => 'AMOLED Schwarz';

  @override
  String get appearanceAmoledDarkSubtitle => 'AMOLED Hintergrund';

  @override
  String get appearanceHeroAnimations => 'Hero animations';

  @override
  String get appearanceHeroAnimationsSubtitle =>
      'Fly covers between screens, e.g. when opening the player';

  @override
  String get appearanceForceBlur => 'Always use blur effects';

  @override
  String get appearanceForceBlurSubtitle =>
      'Enable the navigation bar blur even on devices where it is off by default. May cost performance.';

  @override
  String get queueClearAll => 'Alles löschen';

  @override
  String get queueClearAllMessage =>
      'Bist du dir sicher, dass du alle Downloads löschen möchten?';

  @override
  String get settingsAutoExportFailed =>
      'Auto-Export fehlgeschlagener Downloads';

  @override
  String get settingsAutoExportFailedSubtitle =>
      'Fehlgeschlagene Downloads automatisch in eine TXT-Datei speichern';

  @override
  String get settingsDownloadNetwork => 'Download Netzwerk';

  @override
  String get settingsDownloadNetworkAny => 'WLAN + Mobile Daten';

  @override
  String get settingsDownloadNetworkWifiOnly => 'Nur WLAN';

  @override
  String get settingsDownloadNetworkSubtitle =>
      'Wähle aus, welches Netzwerk für Downloads verwendet werden soll. Wenn nur WLAN aktiviert wird, werden Downloads auf mobilen Daten angehalten.';

  @override
  String get settingsConcurrentDownloads => 'Concurrent downloads';

  @override
  String get settingsConcurrentDownloadsSubtitle =>
      'Downloading several tracks at once is faster, but some providers may rate-limit parallel requests.';

  @override
  String get concurrentDownloadsOne => '1 track at a time';

  @override
  String concurrentDownloadsCount(int count) {
    return 'Up to $count tracks at once';
  }

  @override
  String get albumFolderArtistAlbum => 'Künstler/Album';

  @override
  String get albumFolderArtistAlbumSubtitle => 'Alben/Künster Name/Album Name/';

  @override
  String get albumFolderArtistYearAlbum => 'Künstler / [Year] Album';

  @override
  String get albumFolderArtistYearAlbumSubtitle =>
      'Alben/Künster Name/[2005] Album Name/';

  @override
  String get albumFolderAlbumOnly => 'Nur Alben';

  @override
  String get albumFolderAlbumOnlySubtitle => 'Alben/Album Name/';

  @override
  String get albumFolderYearAlbum => '[Year] Album';

  @override
  String get albumFolderYearAlbumSubtitle => 'Alben/[2005] Album Name/';

  @override
  String get albumFolderArtistAlbumSingles => 'Künstler / Album + Singles';

  @override
  String get albumFolderArtistAlbumSinglesSubtitle =>
      'Künstler/Album/ und Künstler/Singles/';

  @override
  String get albumFolderArtistAlbumFlat => 'Künstler / Album (Singles flach)';

  @override
  String get albumFolderArtistAlbumFlatSubtitle =>
      'Künstler/Album/ Und Künstler/Lied.flac';

  @override
  String get downloadedAlbumDeleteSelected => 'Ausgewählte löschen';

  @override
  String downloadedAlbumDeleteMessage(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Titel',
      one: 'Titel',
    );
    return '$count $_temp0 aus diesem Album löschen?\n\nDadurch werden auch die Dateien aus dem Speicher gelöscht.';
  }

  @override
  String downloadedAlbumSelectedCount(int count) {
    return '$count ausgewählt';
  }

  @override
  String get downloadedAlbumTapToSelect => 'Tippe auf Titel zum Auswählen';

  @override
  String downloadedAlbumDeleteCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Titel',
      one: 'Titel',
    );
    return 'Lösche $count $_temp0';
  }

  @override
  String get downloadedAlbumSelectToDelete => 'Titel zum Löschen wählen';

  @override
  String downloadedAlbumDiscHeader(int discNumber) {
    return 'Disc $discNumber';
  }

  @override
  String get recentTypeArtist => 'Künstler';

  @override
  String get recentTypeAlbum => 'Album';

  @override
  String get recentTypeSong => 'Titel';

  @override
  String get recentTypePlaylist => 'Playlist';

  @override
  String get recentEmpty => 'Noch keine aktuellen Einträge';

  @override
  String get recentClearAllMessage =>
      'Clear all recent activity? Download history and music files will not be deleted.';

  @override
  String get recentShowAllDownloads => 'Alle Downloads anzeigen';

  @override
  String recentPlaylistInfo(String name) {
    return 'Playlist: $name';
  }

  @override
  String get discographyDownload => 'Diskographie herunterladen';

  @override
  String get discographyDownloadAll => 'Alle Herunterladen';

  @override
  String discographyDownloadAllSubtitle(int count, int albumCount) {
    return '$count Titel von $albumCount Releases';
  }

  @override
  String get discographyAlbumsOnly => 'Nur Alben';

  @override
  String discographyAlbumsOnlySubtitle(int count, int albumCount) {
    return '$count Titel aus $albumCount Alben';
  }

  @override
  String get discographySinglesOnly => 'Nur Singles & EPs';

  @override
  String discographySinglesOnlySubtitle(int count, int albumCount) {
    return '$count Titel von $albumCount Singles';
  }

  @override
  String get discographySelectAlbums => 'Alben auswählen...';

  @override
  String get discographySelectAlbumsSubtitle =>
      'Wähle bestimmte Alben oder Singles';

  @override
  String get discographyFetchingTracks => 'Lade Titel...';

  @override
  String discographyFetchingAlbum(int current, int total) {
    return 'Lade $current von $total...';
  }

  @override
  String discographySelectedCount(int count) {
    return '$count ausgewählt';
  }

  @override
  String get discographyDownloadSelected => 'Auswahl herunterladen';

  @override
  String discographyAddedToQueue(int count) {
    return '$count Titel zur Warteschlange hinzugefügt';
  }

  @override
  String discographySkippedDownloaded(int added, int skipped) {
    return '$added hinzugefügt, $skipped bereits heruntergeladen';
  }

  @override
  String get discographyNoAlbums => 'Es sind keine Alben verfügbar';

  @override
  String get discographyFailedToFetch => 'Fehler beim Abrufen einiger Alben';

  @override
  String get sectionStorageAccess => 'Speicherzugriff';

  @override
  String get allFilesAccess => 'Zugriff auf alle Dateien';

  @override
  String get allFilesAccessEnabledSubtitle => 'Darf in jeden Ordner schreiben';

  @override
  String get allFilesAccessDisabledSubtitle => 'Nur auf Medienordner begrenzt';

  @override
  String get allFilesAccessDescription =>
      'Option bei Schreibfehlern bitte aktivieren (erforderlich ab Android 13).';

  @override
  String get allFilesAccessDeniedMessage =>
      'Zugriff verweigert. Bitte aktiviere \"Zugriff auf alle Dateien\" manuell in den Systemeinstellungen.';

  @override
  String get allFilesAccessDisabledMessage =>
      'Zugriff auf alle Dateien ist deaktiviert. Die App verwendet nur begrenzten Zugriff auf den Speicher.';

  @override
  String get settingsLocalLibrary => 'Lokale Bibliothek';

  @override
  String get settingsLocalLibrarySubtitle =>
      'Musik scannen & Duplikate erkennen';

  @override
  String get settingsCache => 'Speicher & Cache';

  @override
  String get settingsCacheSubtitle =>
      'Größe anzeigen und Daten im Cache leeren';

  @override
  String get libraryTitle => 'Lokale Bibliothek';

  @override
  String get libraryScanSettings => 'Scan Einstellungen';

  @override
  String get libraryEnableLocalLibrary => 'Lokale Bibliothek aktivieren';

  @override
  String get libraryEnableLocalLibrarySubtitle =>
      'Scan und verfolge deine bestehende Musik';

  @override
  String get libraryFolder => 'Bibliotheksordner';

  @override
  String get libraryFolderHint => 'Tippe um Ordner auszuwählen';

  @override
  String get libraryAddFolder => 'Add library folder';

  @override
  String get libraryAddFolderSubtitle =>
      'Internal storage, SD card, SSD, or another external drive';

  @override
  String get librarySourceOnline => 'Online';

  @override
  String get librarySourceOffline =>
      'Offline. Reconnect the storage to restore these tracks';

  @override
  String get librarySourceDisabled => 'Disabled';

  @override
  String librarySourceScanCount(int scanned, int total, String progress) {
    return '$scanned of $total files scanned ($progress%)';
  }

  @override
  String get libraryExternalStorage => 'External storage';

  @override
  String get libraryRemoveFolder => 'Remove library folder';

  @override
  String get libraryRemoveFolderMessage =>
      'Remove this folder and its indexed tracks from SpotiFLAC Mobile? Audio files on the storage will not be deleted.';

  @override
  String get libraryShowDuplicateIndicator => 'Duplikat Indikator anzeigen';

  @override
  String get libraryShowDuplicateIndicatorSubtitle =>
      'Bei der Suche nach vorhandenen Titeln anzeigen';

  @override
  String get libraryAutoScan => 'Auto-Scan';

  @override
  String get libraryAutoScanSubtitle =>
      'Scanne die Bibliothek automatisch nach neuen Dateien';

  @override
  String get libraryAutoScanOff => 'Aus';

  @override
  String get libraryAutoScanOnOpen => 'Bei jeder App Öffnung';

  @override
  String get libraryAutoScanDaily => 'Täglich';

  @override
  String get libraryAutoScanWeekly => 'Wöchentlich';

  @override
  String get libraryActions => 'Aktionen';

  @override
  String get libraryScan => 'Bibliothek scannen';

  @override
  String get libraryScanSubtitle => 'Suche nach Audiodateien';

  @override
  String get libraryScanSelectFolderFirst => 'Wähle zuerst einen Ordner';

  @override
  String get libraryCleanupMissingFiles => 'Fehlende Dateien bereinigen';

  @override
  String get libraryCleanupMissingFilesSubtitle =>
      'Verlaufseinträge für Dateien löschen, die nicht mehr existieren';

  @override
  String get libraryClear => 'Bibliothek löschen';

  @override
  String get libraryClearSubtitle => 'Alle gescannten Titel entfernen';

  @override
  String get libraryClearConfirmTitle => 'Bibliothek löschen';

  @override
  String get libraryClearConfirmMessage =>
      'Dadurch werden alle gescannten Titel aus deiner Bibliothek entfernt. Deine eigentlichen Musikdateien werden nicht gelöscht.';

  @override
  String get libraryAbout => 'Über die lokale Bibliothek';

  @override
  String get libraryAboutDescription =>
      'Durchsucht deine bestehende Musiksammlung, um Duplikate beim Herunterladen zu erkennen. Unterstützt die Formate FLAC, M4A, MP3, Opus und OGG. Metadaten werden, sofern verfügbar, aus den Dateitags gelesen.';

  @override
  String libraryTracksUnit(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count Titel',
      one: '1 Titel',
    );
    return '$_temp0';
  }

  @override
  String libraryFilesUnit(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count Datein',
      one: '1 Datei',
    );
    return '$_temp0';
  }

  @override
  String libraryLastScanned(String time) {
    return 'Zuletzt gescannt: $time';
  }

  @override
  String get libraryLastScannedNever => 'Nie';

  @override
  String get libraryScanning => 'Scannen...';

  @override
  String get libraryScanFinalizing => 'Bibliothek wird aktualisiert...';

  @override
  String libraryScanProgress(String progress, int total) {
    return '$progress% von $total Dateien';
  }

  @override
  String get libraryInLibrary => 'In Bibliothek';

  @override
  String libraryRemovedMissingFiles(int count) {
    return 'Entfernte $count fehlende Dateien aus der Bibliothek';
  }

  @override
  String get libraryCleared => 'Bibliothek geleert';

  @override
  String get libraryStorageAccessRequired => 'Speicherzugriff erforderlich';

  @override
  String get libraryStorageAccessMessage =>
      'SpotiFLAC benötigt Speicherzugriff, um deine Musikbibliothek zu scannen. Bitte erteile die Berechtigung in den Einstellungen.';

  @override
  String get libraryFolderNotExist => 'Der ausgewählte Ordner existiert nicht';

  @override
  String get librarySourceDownloaded => 'Heruntergeladen';

  @override
  String get librarySourceLocal => 'Lokal';

  @override
  String get libraryFilterAll => 'Alle';

  @override
  String get libraryFilterDownloaded => 'Heruntergeladen';

  @override
  String get libraryFilterLocal => 'Lokal';

  @override
  String get libraryFilterTitle => 'Filter';

  @override
  String get libraryFilterReset => 'Zurücksetzen';

  @override
  String get libraryFilterApply => 'Anwenden';

  @override
  String get libraryFilterSource => 'Quelle';

  @override
  String get libraryFilterQuality => 'Qualität';

  @override
  String get libraryFilterQualityHiRes => 'Hi-Res (24bit)';

  @override
  String get libraryFilterQualityCD => 'CD (16bit)';

  @override
  String get libraryFilterQualityLossy => 'Verlustbehaftet';

  @override
  String get libraryFilterFormat => 'Format';

  @override
  String get libraryFilterMetadata => 'Metadaten';

  @override
  String get libraryFilterMetadataComplete => 'Komplette Metadaten';

  @override
  String get libraryFilterMetadataMissingAny => 'Metadaten fehlen';

  @override
  String get libraryFilterMetadataMissingYear => 'Jahr fehlt';

  @override
  String get libraryFilterMetadataMissingGenre => 'Genre fehlt';

  @override
  String get libraryFilterMetadataMissingAlbumArtist =>
      'Fehlender Album-Künstler';

  @override
  String get libraryFilterSort => 'Sortieren';

  @override
  String get libraryFilterSortLatest => 'Neuste';

  @override
  String get libraryFilterSortOldest => 'Älteste';

  @override
  String get libraryFilterSortAlbumAsc => 'Album (A-Z)';

  @override
  String get libraryFilterSortAlbumDesc => 'Album (Z-A)';

  @override
  String get libraryFilterSortGenreAsc => 'Genre (A-Z)';

  @override
  String get libraryFilterSortGenreDesc => 'Genre (Z-A)';

  @override
  String get timeJustNow => 'Gerade eben';

  @override
  String timeMinutesAgo(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'vor $count Minuten',
      one: 'vor 1 Minute',
    );
    return '$_temp0';
  }

  @override
  String timeHoursAgo(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'vor $count Stunden',
      one: 'vor 1 Stunde',
    );
    return '$_temp0';
  }

  @override
  String get tutorialWelcomeTitle => 'Willkommen bei SpotiFLAC Mobile!';

  @override
  String get tutorialWelcomeDesc =>
      'Lass uns lernen, wie du deine Lieblingsmusik in verlustfreier Qualität herunterlädst. Dieses schnelle Tutorial zeigt dir die Grundlagen.';

  @override
  String get tutorialWelcomeTip1 =>
      'Mit einer installierten Erweiterung suchen oder einen unterstützten Link einfügen';

  @override
  String get tutorialWelcomeTip2 =>
      'Get FLAC quality audio from installed download extensions';

  @override
  String get tutorialWelcomeTip3 =>
      'Automatische Metadaten, Cover und Lyrics einbetten';

  @override
  String get tutorialSearchTitle => 'Suche Musik';

  @override
  String get tutorialSearchDesc =>
      'Es gibt zwei einfache Möglichkeiten, Musik zu finden, die du herunterladen möchtest.';

  @override
  String get tutorialDownloadTitle => 'Musik wird heruntergeladen';

  @override
  String get tutorialDownloadDesc =>
      'Das Herunterladen von Musik ist einfach und schnell. So funktioniert es.';

  @override
  String get tutorialLibraryTitle => 'Deine Bibliothek';

  @override
  String get tutorialLibraryDesc =>
      'Die gesamte heruntergeladene Musik ist in der Bibliothek organisiert.';

  @override
  String get tutorialLibraryTip1 =>
      'Fortschritt und Warteschlange im Bibliothek‑Tab anzeigen';

  @override
  String get tutorialLibraryTip2 =>
      'Tippe auf einen Titel, um ihn mit deinem Musikplayer abzuspielen';

  @override
  String get tutorialLibraryTip3 =>
      'Wechsle zwischen Listen- und Gitteransicht für ein besseres Surfen';

  @override
  String get tutorialExtensionsTitle => 'Erweiterungen';

  @override
  String get tutorialExtensionsDesc =>
      'Erweitere die Fähigkeiten der App mit Community-Erweiterungen.';

  @override
  String get tutorialExtensionsTip1 =>
      'Im Repo Tab findest du nützliche Erweiterungen';

  @override
  String get tutorialExtensionsTip2 =>
      'Neue Download- oder Suchanbieter hinzufügen';

  @override
  String get tutorialExtensionsTip3 =>
      'Lyrics, erweiterte Metadaten und mehr Funktionen erhalten';

  @override
  String get tutorialSettingsTitle => 'Passe deine Benutzererfahrung an';

  @override
  String get tutorialSettingsDesc =>
      'Personalisiere die App in den Einstellungen nach deiner Präferenz.';

  @override
  String get tutorialSettingsTip1 =>
      'Download-Ordner und Ordner-Organisation ändern';

  @override
  String get tutorialSettingsTip2 =>
      'Standard Audioqualität und Formateinstellungen festlegen';

  @override
  String get tutorialSettingsTip3 => 'App-Design und Aussehen anpassen';

  @override
  String get tutorialReadyMessage =>
      'Das ist alles! Lade jetzt deine Lieblingsmusik herunter.';

  @override
  String get libraryForceFullScan => 'Vollen Neu-Scan erzwingen';

  @override
  String get libraryForceFullScanSubtitle =>
      'Alle Dateien erneut scannen und Cache ignorieren';

  @override
  String get cleanupOrphanedDownloads => 'Verwaiste Downloads bereinigen';

  @override
  String get cleanupOrphanedDownloadsSubtitle =>
      'Verlaufseinträge für Dateien löschen, die nicht mehr existieren';

  @override
  String cleanupOrphanedDownloadsResult(int count) {
    return 'Entfernte $count verwaiste Einträge aus dem Verlauf';
  }

  @override
  String get cleanupOrphanedDownloadsNone =>
      'Keine verwaisten Einträge gefunden';

  @override
  String get cacheTitle => 'Speicher & Cache';

  @override
  String get cacheSummaryTitle => 'Cache-Übersicht';

  @override
  String get cacheSummarySubtitle =>
      'Das Leeren des Caches entfernt nicht heruntergeladene Musikdateien.';

  @override
  String cacheEstimatedTotal(String size) {
    return 'Geschätzte Cache-Größe: $size';
  }

  @override
  String get cacheSectionStorage => 'Zwischengespeicherte Daten';

  @override
  String get cacheSectionMaintenance => 'Wartung';

  @override
  String get cacheAppDirectory => 'App-Cache Ordner';

  @override
  String get cacheAppDirectoryDesc =>
      'HTTP-Antworten, WebView Daten und andere temporäre App-Daten.';

  @override
  String get cacheTempDirectory => 'Temporärer Ordner';

  @override
  String get cacheTempDirectoryDesc =>
      'Temporäre Dateien von Downloads und Audio-Konvertierung.';

  @override
  String get cacheCoverImage => 'Cover-Cache';

  @override
  String get cacheCoverImageDesc =>
      'Album- und Titelcover heruntergeladen. Werden erneut heruntergeladen.';

  @override
  String get cacheLibraryCover => 'Bibliotheks-Cover-Cache';

  @override
  String get cacheLibraryCoverDesc =>
      'Cover aus lokalen Musikdateien extrahiert. Wird beim nächsten Scannen neu extrahiert.';

  @override
  String get libraryPlaybackNormalization => 'Volume normalization';

  @override
  String get libraryPlaybackNormalizationSubtitle =>
      'Even out loudness between tracks using their ReplayGain or R128 tags, when present';

  @override
  String get cacheAudioAnalysis => 'Audio analysis cache';

  @override
  String get cacheAudioAnalysisDesc =>
      'Saved spectrograms and analysis results. Will re-analyze on next open.';

  @override
  String get cacheExploreFeed => 'Feed-Cache entdecken';

  @override
  String get cacheExploreFeedDesc =>
      'Startseiten-Inhalt (neue Releases, Trends). Wird bei einem Neustart aktualisiert.';

  @override
  String get cacheTrackLookup => 'Titel Such-Cache';

  @override
  String get cacheTrackLookupDesc =>
      'Spotify/Deezer Track-ID-Lookups. Das Löschen kann die nächsten Suchergebnisse verlangsamen.';

  @override
  String get cacheCleanupUnusedDesc =>
      'Verwaisten Downloadverlauf und Bibliothekseinträge für fehlende Dateien entfernen.';

  @override
  String get cacheNoData => 'Keine gecachten Daten';

  @override
  String cacheSizeWithFiles(String size, int count) {
    return '$size in $count Dateien';
  }

  @override
  String cacheSizeOnly(String size) {
    return '$size';
  }

  @override
  String cacheEntries(int count) {
    return '$count Einträge';
  }

  @override
  String cacheClearSuccess(String target) {
    return 'Entfernt: $target';
  }

  @override
  String get cacheClearConfirmTitle => 'Cache leeren?';

  @override
  String cacheClearConfirmMessage(String target) {
    return 'Dies löscht zwischengespeicherte Daten in $target. Die Musikdateien werden nicht gelöscht.';
  }

  @override
  String get cacheClearAllConfirmTitle => 'Gesamten Cache leeren?';

  @override
  String get cacheClearAllConfirmMessage =>
      'Dadurch werden alle Cache-Kategorien auf dieser Seite gelöscht. Heruntergeladene Musikdateien werden nicht gelöscht.';

  @override
  String get cacheClearAll => 'Gesamten Cache leeren';

  @override
  String get cacheCleanupUnused => 'Unbenutzte Daten bereinigen';

  @override
  String get cacheCleanupUnusedSubtitle =>
      'Verwaisten Downloadverlauf und fehlende Bibliothekseinträge löschen';

  @override
  String cacheCleanupResult(int downloadCount, int libraryCount) {
    return 'Bereinigung: $downloadCount verwaiste Downloads, $libraryCount fehlende Bibliothekseinträge';
  }

  @override
  String get cacheRefreshStats => 'Statistik aktualisieren';

  @override
  String get trackSaveCoverArt => 'Cover speichern';

  @override
  String get trackSaveLyrics => 'Lyrics als .lrc speichern';

  @override
  String get trackSaveLyricsProgress => 'Speichere Lyrics...';

  @override
  String get trackReEnrich => 'Neu-anreichern';

  @override
  String get trackReEnrichOnlineSubtitle =>
      'Metadaten online suchen und in Datei einbinden';

  @override
  String get trackReEnrichFieldCover => 'Cover-Art';

  @override
  String get trackReEnrichFieldLyrics => 'Lyrics';

  @override
  String get trackReEnrichFieldBasicTags => 'Album, Album-Künstler';

  @override
  String get trackReEnrichFieldTrackInfo => 'Track & Disc Nummer';

  @override
  String get trackReEnrichFieldReleaseInfo => 'Datum & ISRC';

  @override
  String get trackReEnrichFieldExtra => 'Genre, Label, Copyright';

  @override
  String get trackReEnrichSelectAll => 'Alles Auswählen';

  @override
  String get trackReEnrichModeIsrc => 'ISRC only';

  @override
  String get trackReEnrichModeIsrcSubtitle =>
      'Find and add the recording identifier without changing other tags';

  @override
  String get trackReEnrichModeMissing => 'Fill missing tags';

  @override
  String get trackReEnrichModeMissingSubtitle =>
      'Keep existing values and fill only fields that are empty';

  @override
  String get trackReEnrichModeReplace => 'Update selected tags';

  @override
  String get trackReEnrichModeReplaceSubtitle =>
      'Choose which existing values may be replaced by online metadata';

  @override
  String get trackReEnrichFieldsTitle => 'Tags to update';

  @override
  String get trackReEnrichReview => 'Review changes';

  @override
  String get trackReEnrichReviewTitle => 'Review metadata changes';

  @override
  String trackReEnrichReviewSubtitle(int changeCount, int trackCount) {
    return '$changeCount proposed changes across $trackCount tracks';
  }

  @override
  String get trackReEnrichNoChanges =>
      'No metadata changes were found for the selected tracks.';

  @override
  String get trackReEnrichApplyChanges => 'Apply changes';

  @override
  String get trackReEnrichRefreshOnline => 'Refresh from online';

  @override
  String get trackEditMetadata => 'Metadaten bearbeiten';

  @override
  String trackCoverSaved(String fileName) {
    return 'Cover in $fileName gespeichert';
  }

  @override
  String get trackCoverNoSource => 'Keine Cover Quelle vorhanden';

  @override
  String trackLyricsSaved(String fileName) {
    return 'Lyrics in $fileName gespeichert';
  }

  @override
  String get trackReEnrichProgress => 'Metadaten neu anreichern...';

  @override
  String get trackReEnrichSearching => 'Suche Metadaten online...';

  @override
  String get trackReEnrichSuccess => 'Metadaten erfolgreich neu angereichert';

  @override
  String get trackReEnrichFfmpegFailed =>
      'FFmpeg Metadaten-Einbettung fehlgeschlagen';

  @override
  String get queueFlacAction => 'Warteschlange FLAC';

  @override
  String queueFlacConfirmMessage(int count) {
    return 'Suche Online-Matches für ausgewählte Titel und Playlists für FLAC-Downloads.\n\nVorhandene Dateien werden weder geändert noch gelöscht.\n\nNur eindeutige Treffer werden automatisch zur Warteschlange hinzugefügt.\n\n$count ausgewählt';
  }

  @override
  String get queueFlacNoReliableMatches =>
      'Keine zuverlässigen Online-Übereinstimmungen für die Auswahl gefunden';

  @override
  String queueFlacQueuedWithSkipped(int addedCount, int skippedCount) {
    return '$addedCount Titel zur Warteschlange hinzugefügt, $skippedCount übersprungen';
  }

  @override
  String trackSaveFailed(String error) {
    return 'Fehler: $error';
  }

  @override
  String get trackConvertFormat => 'Format konvertieren';

  @override
  String get trackConvertTitle => 'Audio konvertieren';

  @override
  String get trackConvertTargetFormat => 'Zielformat';

  @override
  String get trackConvertBitrate => 'Bitrate';

  @override
  String get trackConvertKeepOriginal => 'Keep original file';

  @override
  String get trackConvertKeepOriginalDescription =>
      'Add the converted file as a separate library entry';

  @override
  String get trackConvertConfirmTitle => 'Konvertierung bestätigen';

  @override
  String trackConvertConfirmMessage(
    String sourceFormat,
    String targetFormat,
    String bitrate,
  ) {
    return 'Konvertieren von $sourceFormat in $targetFormat bei $bitrate?\n\nDie Originaldatei wird nach der Konvertierung gelöscht.';
  }

  @override
  String trackConvertConfirmMessageLossless(
    String sourceFormat,
    String targetFormat,
  ) {
    return 'Konvertieren von $sourceFormat in $targetFormat? (kein Qualitätsverlust)\n\nDie Originaldatei wird nach der Konvertierung gelöscht.';
  }

  @override
  String trackConvertConfirmKeepOriginal(
    String sourceFormat,
    String targetFormat,
  ) {
    return 'Convert from $sourceFormat to $targetFormat?\n\nThe original file will be kept and the converted file will be added as a separate library entry.';
  }

  @override
  String get trackConvertLosslessHint =>
      'Verlustfreie Konvertierung kein Qualitätsverlust';

  @override
  String get trackConvertConverting => 'Konvertiere Audio...';

  @override
  String trackConvertSuccess(String format) {
    return 'Konvertiert in $format erfolgreich';
  }

  @override
  String get trackConvertFailed => 'Konvertierung fehlgeschlagen';

  @override
  String get cueSplitTitle => 'CUE-Sheet aufteilen';

  @override
  String cueSplitAlbum(String album) {
    return 'Album: $album';
  }

  @override
  String cueSplitArtist(String artist) {
    return 'Künstler: $artist';
  }

  @override
  String cueSplitTrackCount(int count) {
    return '$count Titel';
  }

  @override
  String get cueSplitConfirmTitle => 'CUE-Album aufteilen';

  @override
  String cueSplitConfirmMessage(String album, int count) {
    return 'Soll „$album“ in $count einzelne FLAC-Dateien aufgeteilt werden?\n\nDie Dateien werden im selben Ordner gespeichert.';
  }

  @override
  String cueSplitSplitting(int current, int total) {
    return 'CUE-Sheet wird geteilt... ($current/$total)';
  }

  @override
  String cueSplitSuccess(int count) {
    return '$count Titel erfolgreich aufgeteilt';
  }

  @override
  String get cueSplitFailed => 'CUE-Aufteilung fehlgeschlagen';

  @override
  String get cueSplitNoAudioFile =>
      'Audiodatei für dieses CUE-Sheet nicht gefunden';

  @override
  String get cueSplitButton => 'In Titel aufteilen';

  @override
  String get actionCreate => 'Erstellen';

  @override
  String get collectionFoldersTitle => 'Meine Ordner';

  @override
  String get collectionWishlist => 'Wunschliste';

  @override
  String get collectionLoved => 'Lieblingssongs';

  @override
  String get collectionFavoriteArtists => 'Lieblingskünstler';

  @override
  String get collectionPlaylist => 'Playlist';

  @override
  String get collectionAddToPlaylist => 'Zur Playlist hinzufügen';

  @override
  String get collectionCreatePlaylist => 'Playlist erstellen';

  @override
  String get collectionNoPlaylistsYet => 'Noch keine Playlists';

  @override
  String collectionPlaylistTracks(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count Titel',
      one: '1 Titel',
    );
    return '$_temp0';
  }

  @override
  String collectionArtistCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count Künstler',
      one: '1 Künstler',
    );
    return '$_temp0';
  }

  @override
  String collectionAddedToPlaylist(String playlistName) {
    return 'Zu \"$playlistName \" hinzugefügt';
  }

  @override
  String collectionAlreadyInPlaylist(String playlistName) {
    return 'Bereits in \"$playlistName\"';
  }

  @override
  String get collectionPlaylistNameHint => 'Playlist-Name';

  @override
  String get collectionPlaylistNameRequired => 'Playlist-Name ist erforderlich';

  @override
  String get collectionRenamePlaylist => 'Playlist umbenennen';

  @override
  String get collectionDeletePlaylist => 'Playlist löschen';

  @override
  String get collectionPlaylistRenamed => 'Playlist umbenannt';

  @override
  String get collectionWishlistEmptyTitle => 'Wunschliste ist leer';

  @override
  String get collectionWishlistEmptySubtitle =>
      'Tippe auf das + bei den Titeln, um sie zum späteren Herunterladen zu speichern';

  @override
  String get collectionLovedEmptyTitle => 'Lieblingssongs sind leer';

  @override
  String get collectionLovedEmptySubtitle =>
      'Tippe auf das Herz, um deine Favoriten zu behalten';

  @override
  String get collectionFavoriteArtistsEmptyTitle =>
      'Noch keine Lieblingskünstler';

  @override
  String get collectionFavoriteArtistsEmptySubtitle =>
      'Tippe auf das Herz auf einer Künstlerseite, um sie hier zu sehen';

  @override
  String get collectionPlaylistEmptyTitle => 'Die Playlist ist leer';

  @override
  String get collectionPlaylistEmptySubtitle =>
      'Drücke lange + auf einem beliebigen Titel, um ihn hier hinzuzufügen';

  @override
  String get collectionRemoveFromPlaylist => 'Von Playlist entfernen';

  @override
  String get collectionRemoveFromFolder => 'Aus Ordner entfernen';

  @override
  String collectionAddedToLoved(String trackName) {
    return '\"$trackName\" zu Lieblingssongs hinzugefügt';
  }

  @override
  String collectionRemovedFromLoved(String trackName) {
    return '\"$trackName\" aus Lieblingssongs entfernt';
  }

  @override
  String collectionAddedToWishlist(String trackName) {
    return '\"$trackName\" zur Wunschliste hinzugefügt';
  }

  @override
  String collectionRemovedFromWishlist(String trackName) {
    return '\"$trackName\" aus der Wunschliste entfernt';
  }

  @override
  String collectionAddedToFavoriteArtists(String artistName) {
    return '\"$artistName\" zu Lieblingskünstlern hinzugefügt';
  }

  @override
  String collectionRemovedFromFavoriteArtists(String artistName) {
    return '\"$artistName\" entfernt aus Lieblingskünstlern';
  }

  @override
  String get trackOptionAddToLoved => 'Zu Lieblingssongs hinzufügen';

  @override
  String get trackOptionRemoveFromLoved => 'Aus Lieblingssongs entfernt';

  @override
  String get trackOptionAddToWishlist => 'Zur Wunschliste hinzufügen';

  @override
  String get trackOptionRemoveFromWishlist => 'Von der Wunschliste entfernen';

  @override
  String get artistOptionAddToFavorites => 'Zu Favoriten hinzufügen';

  @override
  String get artistOptionRemoveFromFavorites => 'Aus Favoriten entfernen';

  @override
  String get collectionPlaylistChangeCover => 'Coverbild ändern';

  @override
  String get collectionPlaylistRemoveCover => 'Cover entfernen';

  @override
  String selectionShareCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Titel',
      one: 'Titel',
    );
    return 'Teile $count $_temp0';
  }

  @override
  String get selectionShareNoFiles => 'Keine teilbare Dateien gefunden';

  @override
  String selectionConvertCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Titel',
      one: 'Titel',
    );
    return 'Konvertiere $count $_temp0';
  }

  @override
  String get selectionConvertNoConvertible =>
      'Keine konvertierbare Titel ausgewählt';

  @override
  String get selectionBatchConvertConfirmTitle => 'Batch-Konvertierung';

  @override
  String selectionBatchConvertConfirmMessage(
    int count,
    String format,
    String bitrate,
  ) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Titel',
      one: 'Titel',
    );
    return 'Konvertiere $count $format $_temp0 zu $bitrate?\n\nOriginaldateien werden nach der Konvertierung gelöscht.';
  }

  @override
  String selectionBatchConvertConfirmMessageLossless(int count, String format) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Titel',
      one: 'Titel',
    );
    return 'Konvertiere $count $_temp0 in $format? (kein Qualitätsverlust)\n\nOriginaldateien werden nach der Konvertierung gelöscht.';
  }

  @override
  String selectionBatchConvertConfirmKeepOriginal(int count, String format) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'tracks',
      one: 'track',
    );
    return 'Convert $count $_temp0 to $format?\n\nOriginal files will be kept and converted files will be added as separate library entries.';
  }

  @override
  String selectionBatchConvertSuccess(int success, int total, String format) {
    return '$success von $total Titeln in $format konvertiert';
  }

  @override
  String downloadedAlbumDownloadedCount(int count) {
    return '$count heruntergeladen';
  }

  @override
  String get downloadUseAlbumArtistForFoldersAlbumSubtitle =>
      'Ordner benannt nach dem Tag des Albumkünstlers';

  @override
  String get downloadUseAlbumArtistForFoldersTrackSubtitle =>
      'Ordner benannt nach dem Tag des Künstlers';

  @override
  String get lyricsProvidersTitle => 'Priorität des Lyrics-Anbieters';

  @override
  String get lyricsProvidersDescription =>
      'Lyrics aktivieren, deaktivieren und neu ordnen. Anbieter werden von oben nach unten ausprobiert, bis Lyrics gefunden werden.';

  @override
  String get lyricsProvidersInfoText =>
      'Extension lyrics providers run before built-in lyrics providers. At least one provider must remain enabled.';

  @override
  String lyricsProvidersEnabledSection(int count) {
    return '($count) aktiviert';
  }

  @override
  String lyricsProvidersDisabledSection(int count) {
    return '($count) deaktiviert';
  }

  @override
  String get lyricsProvidersAtLeastOne =>
      'Mindestens ein Anbieter muss aktiviert bleiben';

  @override
  String get lyricsProvidersSaved =>
      'Priorität des Lyrics-Anbieters gespeichert';

  @override
  String get lyricsProvidersDiscardContent =>
      'Ungespeicherte Änderungen die verloren gehen.';

  @override
  String get lyricsProviderLrclibDesc =>
      'Open-Source-Synchronisierte Lyrics-Datenbank';

  @override
  String get lyricsProviderNeteaseDesc =>
      'NetEase Cloud Music (gut für asiatische Lieder)';

  @override
  String get lyricsProviderMusixmatchDesc =>
      'Größte Lyrics-Datenbank (mehrsprachig)';

  @override
  String get lyricsProviderAppleMusicDesc =>
      'Wort-für-Wort-synchronisierte Lyrics (via Proxy)';

  @override
  String get lyricsProviderQqMusicDesc =>
      'QQ Music (gut für chinesische Lieder, via Proxy)';

  @override
  String get lyricsProviderLyricsPlusDesc =>
      'Word-by-word karaoke lyrics (Apple/Musixmatch/Spotify/QQ, via proxy)';

  @override
  String get lyricsProviderExtensionDesc => 'Erweiterungsanbieter';

  @override
  String get safMigrationTitle => 'Speicheraktualisierung erforderlich';

  @override
  String get safMigrationMessage1 =>
      'SpotiFLAC verwendet jetzt Android Storage Access Framework (SAF) beim Herunterladen. Dies behebt Fehler bei Android 10+.';

  @override
  String get safMigrationMessage2 =>
      'Bitte wähle dein Download-Ordner erneut aus, um zum neuen System zu wechseln.';

  @override
  String get safMigrationSuccess =>
      'Download-Ordner auf SAF-Modus aktualisiert';

  @override
  String get settingsDonate => 'Unterstütze die Entwicklung';

  @override
  String get settingsDonateSubtitle => 'Kaufe dem Entwickler einen Kaffee';

  @override
  String get settingsBackup => 'Backup & Restore';

  @override
  String get settingsBackupSubtitle =>
      'Move your library, history and settings to a new device';

  @override
  String get backupTitle => 'Backup & Restore';

  @override
  String get backupExportSectionTitle => 'Create backup';

  @override
  String get backupExportSectionDescription =>
      'Save your settings, download history, liked tracks, wishlist, favorite artists and playlists into a single file you can keep or move to another phone.';

  @override
  String get backupExportButton => 'Create backup file';

  @override
  String get backupImportSectionTitle => 'Restore backup';

  @override
  String get backupImportSectionDescription =>
      'Pick a backup file to restore your data. This replaces the current settings, history and library on this device.';

  @override
  String get backupImportButton => 'Choose backup file';

  @override
  String get backupCreated => 'Backup created';

  @override
  String get backupCreateFailed => 'Failed to create backup';

  @override
  String get backupRestoreConfirmTitle => 'Restore this backup?';

  @override
  String get backupRestoreConfirmMessage =>
      'This will replace your current settings, download history, liked tracks, wishlist and playlists with the contents of the backup. This cannot be undone.';

  @override
  String get backupRestoreConfirmButton => 'Restore';

  @override
  String get backupRestored => 'Backup restored successfully';

  @override
  String get backupRestoreFailed => 'Failed to restore backup';

  @override
  String get backupInvalidFile => 'This file is not a valid SpotiFLAC backup';

  @override
  String get backupRestoreRestartHint =>
      'Restart the app to make sure every change is applied.';

  @override
  String get backupContentsTitle => 'Backup contents';

  @override
  String get backupContentsSettings => 'Appeinstellungen';

  @override
  String backupContentsHistory(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'items',
      one: 'item',
    );
    return '$count history $_temp0';
  }

  @override
  String backupContentsLiked(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'tracks',
      one: 'track',
    );
    return '$count liked $_temp0';
  }

  @override
  String backupContentsWishlist(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'tracks',
      one: 'track',
    );
    return '$count wishlist $_temp0';
  }

  @override
  String backupContentsPlaylists(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count playlists',
      one: '1 playlist',
    );
    return '$_temp0';
  }

  @override
  String backupContentsArtists(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count favorite artists',
      one: '1 favorite artist',
    );
    return '$_temp0';
  }

  @override
  String backupContentsExtensions(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count extensions',
      one: '1 extension',
    );
    return '$_temp0';
  }

  @override
  String get backupIncludeSecrets => 'Include extension credentials';

  @override
  String get backupIncludeSecretsDescription =>
      'Tokens and API keys from extensions will be saved into the backup file. Keep the file private. When off, you re-enter them after restoring.';

  @override
  String backupExtensionsRestoreFailed(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'extensions',
      one: 'extension',
    );
    return '$count $_temp0 could not be reinstalled. Install them manually from the repo.';
  }

  @override
  String get tooltipLoveAll => 'Alle lieben';

  @override
  String get tooltipAddToPlaylist => 'Zur Wiedergabeliste hinzufügen';

  @override
  String snackbarRemovedTracksFromLoved(int count) {
    return '$count Titel von geliebt entfernt';
  }

  @override
  String snackbarAddedTracksToLoved(int count) {
    return '$count titel zu geliebt hinzugefügt';
  }

  @override
  String get dialogDownloadAllTitle => 'Alle Herunterladen';

  @override
  String dialogDownloadAllMessage(int count) {
    return '$count titel herunterladen?';
  }

  @override
  String get homeSkipAlreadyDownloaded =>
      'Bereits heruntergeladene Titel überspringen';

  @override
  String get homeGoToAlbum => 'Zum Album gehen';

  @override
  String get homeAlbumInfoUnavailable => 'Albuminfo nicht verfügbar';

  @override
  String get snackbarLoadingCueSheet => 'CAE-Sheet wird geladen...';

  @override
  String get snackbarMetadataSaved => 'Metadaten erfolgreich gespeichert';

  @override
  String get snackbarFailedToEmbedLyrics => 'Fehler beim Einbinden der Lyrics';

  @override
  String get snackbarFailedToWriteStorage =>
      'Fehler beim Zurückschreiben in den Speicher';

  @override
  String snackbarError(String error) {
    return 'Fehler: $error';
  }

  @override
  String get snackbarNoActionDefined => 'Keine Aktion für Taste definiert';

  @override
  String get noTracksFoundForAlbum => 'Keine Titel in diesem Album gefunden';

  @override
  String get downloadLocationSubtitle =>
      'Wählen Sie den Speicherort für Ihre heruntergeladenen Titel';

  @override
  String get storageModeAppFolder => 'App-Ordner (empfohlen)';

  @override
  String get storageModeAppFolderSubtitle =>
      'Standardmäßig in Music/SpotiFLAC speichern';

  @override
  String get storageModeSaf => 'Benutzerdefinierter Ordner (SAF)';

  @override
  String get storageModeSafSubtitle =>
      'Wähle einen beliebigen Ordner, inklusive SD-Karte';

  @override
  String get downloadFolderAccessLostTitle => 'Download folder access lost';

  @override
  String get downloadFolderAccessLostSubtitle =>
      'Downloads will fail until you re-select the folder';

  @override
  String get downloadFolderReselect => 'Re-select folder';

  @override
  String get downloadErrorSafPermissionLost =>
      'SAF permission invalid or revoked. Please reconfigure download location in Settings.';

  @override
  String get downloadErrorFolderAccessLost =>
      'Download folder access lost. Please re-select your download folder in Settings.';

  @override
  String downloadFilenameDescription(
    Object album,
    Object artist,
    Object date,
    Object disc,
    Object title,
    Object track,
    Object year,
  ) {
    return 'Verwende $artist, $title, $album, $track, $year, $date, $disc als Platzhalter.';
  }

  @override
  String get downloadFilenameInsertTag => 'Tippe, um Tag einzufügen:';

  @override
  String get downloadSeparateSinglesEnabled =>
      'Singles und EPs werden in einem separaten Ordner gespeichert';

  @override
  String get downloadSeparateSinglesDisabled =>
      'Singles und Alben im selben Ordner gespeichert';

  @override
  String get downloadArtistNameFilters => 'Künstlernamen-Filter';

  @override
  String get downloadCreatePlaylistSourceFolder => 'Playlist-Quellordner';

  @override
  String get downloadCreatePlaylistSourceFolderEnabled =>
      'Für jede Playlist wird ein Unterordner erstellt';

  @override
  String get downloadCreatePlaylistSourceFolderDisabled =>
      'Alle Titel direkt im Download-Ordner gespeichert';

  @override
  String get downloadCreatePlaylistSourceFolderRedundant =>
      'Wird durch die Ordnerorganisationseinstellung verarbeitet';

  @override
  String get downloadSongLinkRegion => 'SongLink-Region';

  @override
  String get downloadNetworkCompatibilityMode => 'Netzwerkkompatibilitätsmodus';

  @override
  String get downloadNetworkCompatibilityModeEnabled =>
      'Verwendung der Legacy-TLS-Einstellungen für ältere Netzwerke';

  @override
  String get downloadNetworkCompatibilityModeDisabled =>
      'Standard-Netzwerkeinstellungen verwenden';

  @override
  String get downloadAllowLocalNetwork => 'Allow Local Network Access';

  @override
  String get downloadAllowLocalNetworkEnabled =>
      'Requests to local/private addresses are allowed (for local proxy or custom DNS)';

  @override
  String get downloadAllowLocalNetworkDisabled =>
      'Local/private addresses are blocked for security';

  @override
  String get downloadSelectServiceToEnable =>
      'Select a provider with quality options to enable this option';

  @override
  String get downloadEmbedLyricsDisabled =>
      'Metadaten-Einbettung zuerst aktivieren';

  @override
  String get downloadNeteaseIncludeTranslation =>
      'Netease: Übersetzung einschließen';

  @override
  String get downloadNeteaseIncludeTranslationEnabled =>
      'Chinesische Übersetzungszeilen enthalten';

  @override
  String get downloadNeteaseIncludeTranslationDisabled =>
      'Original Lyrics verwenden';

  @override
  String get downloadNeteaseIncludeRomanization =>
      'Netease: Romanisierung einschließen';

  @override
  String get downloadNeteaseIncludeRomanizationEnabled =>
      'Romanisierungszeilen enthalten';

  @override
  String get downloadNeteaseIncludeRomanizationDisabled =>
      'Keine Romanisierung';

  @override
  String get downloadAppleQqMultiPerson => 'Apple / QQ: Multi-Personen-Lyrics';

  @override
  String get downloadAppleQqMultiPersonEnabled =>
      'Sängerlabel für Duette und Gruppentitel enthalten';

  @override
  String get downloadAppleQqMultiPersonDisabled =>
      'Standardlyrics ohne Lautsprecher-Labels';

  @override
  String get downloadAppleElrcWordSync => 'Apple Music eLRC Word Sync';

  @override
  String get downloadAppleElrcWordSyncEnabled => 'Rohe Zeitstempel erhalten';

  @override
  String get downloadAppleElrcWordSyncDisabled =>
      'Sichere Line-by-line Apple Music Texte';

  @override
  String get downloadMusixmatchLanguage => 'Musixmatch Sprache';

  @override
  String get downloadMusixmatchLanguageAuto => 'Auto (Originalsprache)';

  @override
  String get downloadFilterContributing => 'Mitwirkende Künstler filtern';

  @override
  String get downloadFilterContributingEnabled =>
      'Mitwirkende Künstler vom Albumname des Künstlers entfernt';

  @override
  String get downloadFilterContributingDisabled =>
      'Volle Album Künstler String verwendet';

  @override
  String get downloadProvidersNoneEnabled => 'Keine Anbieter aktiviert';

  @override
  String get downloadMusixmatchLanguageCode => 'Sprach-Code';

  @override
  String get downloadMusixmatchLanguageHint => 'e.g. en, de, ja';

  @override
  String get downloadMusixmatchLanguageDesc =>
      'Gib einen BCP-47 Sprachcode ein (z.B. en, de, ja), um übersetzte Lyrics von Musixmatch anzufordern.';

  @override
  String get downloadMusixmatchAuto => 'Auto';

  @override
  String get downloadNetworkAnySubtitle => 'WLAN oder mobile Daten verwenden';

  @override
  String get downloadNetworkWifiOnlySubtitle =>
      'Downloads bei mobilen Daten pausieren';

  @override
  String get downloadSongLinkRegionDesc =>
      'Region, die beim Auflösen von Titellinks über SongLink verwendet wird. Wähle das Land, in dem der Streaming-Dienste verfügbar sind.';

  @override
  String get snackbarUnsupportedAudioFormat =>
      'Nicht unterstütztes Audioformat';

  @override
  String get cacheRefresh => 'Aktualisieren';

  @override
  String dialogDownloadPlaylistsMessage(int trackCount, int playlistCount) {
    String _temp0 = intl.Intl.pluralLogic(
      trackCount,
      locale: localeName,
      other: 'Titel',
      one: 'Titel',
    );
    String _temp1 = intl.Intl.pluralLogic(
      playlistCount,
      locale: localeName,
      other: 'Playlists',
      one: 'Playlist',
    );
    return 'Lade $trackCount $_temp0 von $playlistCount $_temp1?';
  }

  @override
  String bulkDownloadPlaylistsButton(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Playlists',
      one: 'Playlist',
    );
    return 'Lade $count $_temp0 herunter';
  }

  @override
  String get bulkDownloadSelectPlaylists => 'Playlist zum Herunterladen wählen';

  @override
  String get snackbarSelectedPlaylistsEmpty =>
      'Ausgewählte Playlisten haben keine Titel';

  @override
  String playlistsCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count Playlists',
      one: '1 Playlist',
    );
    return '$_temp0';
  }

  @override
  String get editMetadataAutoFill => 'Aus online ausfüllen';

  @override
  String get editMetadataAutoFillDesc =>
      'Wähle Felder aus, die automatisch aus Online-Metadaten ausgefüllt werden sollen';

  @override
  String get editMetadataAutoFillSource => 'Metadata source';

  @override
  String get editMetadataAutoFillSourceAutomatic =>
      'Automatic (provider priority)';

  @override
  String get editMetadataAutoFillFind => 'Find metadata';

  @override
  String editMetadataAutoFillPreview(String source) {
    return 'Data from $source';
  }

  @override
  String get editMetadataAutoFillCoverAvailable => 'Cover artwork available';

  @override
  String get editMetadataAutoFillApply => 'Apply selected data';

  @override
  String editMetadataAutoFillDoneFromSource(int count, String source) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'fields',
      one: 'field',
    );
    return 'Filled $count $_temp0 from $source';
  }

  @override
  String get editMetadataAutoFillFetch => 'Abrufen & Ausfüllen';

  @override
  String get editMetadataAutoFillSearching => 'Online suchen...';

  @override
  String get editMetadataAutoFillNoResults =>
      'Keine passenden Metadaten online gefunden';

  @override
  String editMetadataAutoFillDone(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Felder',
      one: 'Feld',
    );
    return '$count $_temp0 aus Online-Metadaten gefüllt';
  }

  @override
  String get editMetadataAutoFillNoneSelected =>
      'Wähle mindestens ein Feld zum automatischen Ausfüllen aus';

  @override
  String get editMetadataFieldTitle => 'Titel';

  @override
  String get editMetadataFieldArtist => 'Künstler';

  @override
  String get editMetadataFieldAlbum => 'Album';

  @override
  String get editMetadataFieldAlbumArtist => 'Album Künstler';

  @override
  String get editMetadataFieldDate => 'Datum';

  @override
  String get editMetadataFieldTrackNum => 'Titel #';

  @override
  String get editMetadataFieldDiscNum => 'Disk #';

  @override
  String get editMetadataFieldGenre => 'Genre';

  @override
  String get editMetadataFieldIsrc => 'ISRC';

  @override
  String get editMetadataFieldLabel => 'Label';

  @override
  String get editMetadataFieldCopyright => 'Urheberrecht';

  @override
  String get editMetadataFieldCover => 'Cover-Art';

  @override
  String get editMetadataSelectAll => 'Alle';

  @override
  String get editMetadataSelectEmpty => 'Nur leer';

  @override
  String queueDownloadingCount(int count) {
    return '$count werden heruntergeladen';
  }

  @override
  String get queueFilteringIndicator => 'Filtere...';

  @override
  String queueTrackCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count Titel',
      one: '1 Titel',
    );
    return '$_temp0';
  }

  @override
  String queueAlbumCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count Alben',
      one: '1 Album',
    );
    return '$_temp0';
  }

  @override
  String get queueEmptyAlbums => 'Keine Album-Downloads';

  @override
  String get queueEmptyAlbumsSubtitle =>
      'Lade mehrere Titel eines Albums herunter, um sie hier zu sehen';

  @override
  String get queueEmptySingles => 'Kein Single Download';

  @override
  String get queueEmptySinglesSubtitle =>
      'Einzelne Titel-Downloads werden hier angezeigt';

  @override
  String queuePlaylistCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count playlists',
      one: '1 playlist',
    );
    return '$_temp0';
  }

  @override
  String get queueEmptyPlaylistsSubtitle =>
      'Create a playlist to organize your tracks';

  @override
  String get libraryDefaultView => 'Default view';

  @override
  String get libraryDefaultViewLastUsed => 'Last used';

  @override
  String get queueEmptyHistory => 'Kein Download-Verlauf';

  @override
  String get queueEmptyHistorySubtitle =>
      'Heruntergeladene Titel werden hier angezeigt';

  @override
  String get selectionAllPlaylistsSelected => 'Alle Playlists ausgewählt';

  @override
  String get selectionTapPlaylistsToSelect =>
      'Zum Auswählen auf Playlists tippen';

  @override
  String get selectionSelectPlaylistsToDelete => 'Playlist zum Löschen wählen';

  @override
  String get audioAnalysisTitle => 'Audio-Qualitätsanalyse';

  @override
  String get audioAnalysisDescription =>
      'Verlustfreie Qualität mit Spektrumanalyse überprüfen';

  @override
  String get audioAnalysisAnalyzing => 'Audio wird analysiert...';

  @override
  String get audioAnalysisSampleRate => 'Abtastrate';

  @override
  String get audioAnalysisCodec => 'Codec';

  @override
  String get audioAnalysisContainer => 'Container';

  @override
  String get audioAnalysisDecodedFormat => 'Dekodiertes Format';

  @override
  String get audioAnalysisBitDepth => 'Bit-Tiefe';

  @override
  String get audioAnalysisChannels => 'Kanäle';

  @override
  String get audioAnalysisDuration => 'Länge';

  @override
  String get audioAnalysisNyquist => 'Nyquist';

  @override
  String get audioAnalysisFileSize => 'Größe';

  @override
  String get audioAnalysisDynamicRange => 'Dynamischer Bereich';

  @override
  String get audioAnalysisPeak => 'Maximum';

  @override
  String get audioAnalysisRms => 'RMS';

  @override
  String get audioAnalysisLufs => 'LUFS';

  @override
  String get audioAnalysisTruePeak => 'True Peak';

  @override
  String get audioAnalysisClipping => 'Clipping';

  @override
  String get audioAnalysisNoClipping => 'Kein Clipping';

  @override
  String get audioAnalysisSpectralCutoff => 'Spektralschnitt';

  @override
  String get audioAnalysisCutoffNotDetected => 'Not detected';

  @override
  String get audioAnalysisChannelStats => 'Pro Kanal Statistik';

  @override
  String get audioAnalysisSamples => 'Proben';

  @override
  String get audioAnalysisRescan => 'Neu analysieren';

  @override
  String get audioAnalysisRescanning => 'Audio wird analysiert...';

  @override
  String get extensionsHomeFeedProvider => 'Home Feed Anbieter';

  @override
  String get extensionsHomeFeedDescription =>
      'Wählen Sie die Erweiterung aus, die den Start-Feed auf dem Hauptbildschirm anzeigt';

  @override
  String get extensionsHomeFeedAuto => 'Auto';

  @override
  String get extensionsHomeFeedAutoSubtitle =>
      'Automatisch die besten verfügbaren auswählen';

  @override
  String get extensionsHomeFeedOff => 'Aus';

  @override
  String get extensionsHomeFeedOffSubtitle =>
      'Start-Feed nicht auf dem Hauptbildschirm anzeigen';

  @override
  String extensionsHomeFeedUse(String extensionName) {
    return '$extensionName Home Feed verwenden';
  }

  @override
  String get extensionsNoHomeFeedExtensions =>
      'Keine Erweiterungen mit Home-Feed';

  @override
  String get cancelDownloadTitle => 'Download abbrechen?';

  @override
  String cancelDownloadContent(String trackName) {
    return 'Dadurch wird der aktive Download für \"$trackName\" abgebrochen.';
  }

  @override
  String get cancelDownloadKeep => 'Behalten';

  @override
  String get queueCancelledTitle => 'Download cancelled';

  @override
  String get queueCancelledMessage =>
      'This download was cancelled. Retry it or remove it from the queue.';

  @override
  String get metadataSaveFailedFfmpeg =>
      'Fehler beim Speichern der Metadaten über FFmpeg';

  @override
  String get metadataSaveFailedStorage =>
      'Metadaten konnten nicht zurück in den Speicher geschrieben werden';

  @override
  String snackbarFolderPickerFailed(String error) {
    return 'Fehler beim Öffnen des Ordners: $error';
  }

  @override
  String notifDownloadingTrack(String trackName) {
    return '$trackName wird heruntergeladen';
  }

  @override
  String notifFinalizingTrack(String trackName) {
    return '$trackName wird fertiggestellt';
  }

  @override
  String get notifEmbeddingMetadata => 'Bette Metadaten ein...';

  @override
  String notifAlreadyInLibraryCount(int completed, int total) {
    return 'Bereits in der Bibliothek ($completed/$total)';
  }

  @override
  String get notifAlreadyInLibrary => 'Bereits in der Bibliothek';

  @override
  String notifDownloadCompleteCount(int completed, int total) {
    return 'Download abgeschlossen ($completed/$total)';
  }

  @override
  String get notifDownloadComplete => 'Download abgeschlossen';

  @override
  String notifDownloadsFinished(int completed, int failed) {
    return 'Downloads abgeschlossen ($completed fertig, $failed fehlgeschlagen)';
  }

  @override
  String get notifVerificationRequiredTitle => 'Verification required';

  @override
  String get notifVerificationRequiredBody =>
      'Open the app to complete verification and resume downloads';

  @override
  String get notifAllDownloadsComplete => 'Alle Downloads abgeschlossen';

  @override
  String notifTracksDownloadedSuccess(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count Titel erfolgreich heruntergeladen',
      one: '1 Titel erfolgreich heruntergeladen',
    );
    return '$_temp0';
  }

  @override
  String notifDownloadsFinishedBody(int completed, int failed) {
    String _temp0 = intl.Intl.pluralLogic(
      completed,
      locale: localeName,
      other: '$completed Titel heruntergeladen',
      one: '1 Titel heruntergeladen',
    );
    String _temp1 = intl.Intl.pluralLogic(
      failed,
      locale: localeName,
      other: '$failed fehlgeschlagen',
      one: '1 fehlgeschlagen',
    );
    return '$_temp0, $_temp1';
  }

  @override
  String get notifDownloadsCanceledTitle => 'Downloads abgebrochen';

  @override
  String notifDownloadsCanceledBody(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count Downloads vom Nutzer abgebrochen',
      one: '1 Download vom Nutzer abgebrochen',
    );
    return '$_temp0';
  }

  @override
  String get notifScanningLibrary => 'Scanne lokale Bibliothek';

  @override
  String notifLibraryScanProgressWithTotal(
    int scanned,
    int total,
    int percentage,
  ) {
    return '$scanned/$total Dateien • $percentage%';
  }

  @override
  String notifLibraryScanProgressNoTotal(int scanned, int percentage) {
    return '$scanned gescannte Dateien • $percentage%';
  }

  @override
  String get notifLibraryScanComplete => 'Bibliotheksscan abgeschlossen';

  @override
  String notifLibraryScanCompleteBody(int count) {
    return '$count titel indiziert';
  }

  @override
  String notifLibraryScanExcluded(int count) {
    return '$count ausgeschlossen';
  }

  @override
  String notifLibraryScanErrors(int count) {
    return '$count Fehler';
  }

  @override
  String get notifLibraryScanFailed => 'Bibliotheksscan fehlgeschlagen';

  @override
  String get notifLibraryScanCancelled => 'Bibliotheksscan abgebrochen';

  @override
  String get notifLibraryScanStopped => 'Scan wurde vor Abschluss gestoppt.';

  @override
  String notifDownloadingUpdate(String version) {
    return 'SpotiFLAC Mobile v$version wird heruntergeladen';
  }

  @override
  String notifUpdateProgress(String received, String total, int percentage) {
    return '$received / $total MB • $percentage%';
  }

  @override
  String get notifUpdateReady => 'Update bereit';

  @override
  String notifUpdateReadyBody(String version) {
    return 'SpotiFLAC Mobile v$version heruntergeladen. Zum Installieren tippen.';
  }

  @override
  String get notifUpdateFailed => 'Update fehlgeschlagen';

  @override
  String get notifUpdateFailedBody =>
      'Update konnte nicht heruntergeladen werden. Versuche es später erneut.';

  @override
  String get searchTracks => 'Titel';

  @override
  String get homeSearchHintDefault =>
      'Unterstützte URL einfügen oder suchen...';

  @override
  String homeSearchHintProvider(String providerName) {
    return 'Mit $providerName suchen...';
  }

  @override
  String get homeImportCsvTooltip => 'CSV-Datei importieren';

  @override
  String get homeChangeSearchProviderTooltip => 'Suchanbieter ändern';

  @override
  String get actionPaste => 'Einfügen';

  @override
  String get tutorialSearchHint => 'Einfügen oder suchen...';

  @override
  String get tutorialDownloadCompletedSemantics => 'Download abgeschlossen';

  @override
  String get tutorialDownloadInProgressSemantics => 'Download wird ausgeführt';

  @override
  String get tutorialStartDownloadSemantics => 'Download starten';

  @override
  String get optionsEmbedMetadata => 'Eingebettete Metadaten';

  @override
  String get optionsEmbedMetadataSubtitleOn =>
      'Schreibe Metadaten, Cover und eingebettete Songtexte in Dateien';

  @override
  String get optionsEmbedMetadataSubtitleOff =>
      'Deaktiviert (erweitert): Metadateneinbettung überspringen';

  @override
  String get trackCoverNoEmbeddedArt =>
      'Kein eingebettetes Albumcover gefunden';

  @override
  String get trackCoverReplace => 'Cover ersetzen';

  @override
  String get trackCoverPick => 'Cover auswählen';

  @override
  String get trackCoverClearSelected => 'Ausgewähltes Cover löschen';

  @override
  String get trackCoverCurrent => 'Aktuelles Cover';

  @override
  String get trackCoverSelected => 'Ausgewähltes Cover';

  @override
  String get trackCoverReplaceNotice =>
      'Das ausgewählte Cover ersetzt das aktuell eingebettete Cover, wenn auf speichern gedrückt wird.';

  @override
  String get trackCoverResolution => 'Cover resolution';

  @override
  String get trackCoverResolutionHint =>
      'Sets the longest edge when saved. Enlarging does not add image detail.';

  @override
  String get trackCoverResizeFailed =>
      'The cover image could not be resized. Please try another size or image.';

  @override
  String get actionStop => 'Stop';

  @override
  String get queueFinalizingDownload => 'Download wird abgeschlossen';

  @override
  String get queueDownloadNext => 'Download next';

  @override
  String get queueMoveUp => 'Move up';

  @override
  String get queueMoveDown => 'Move down';

  @override
  String get editMetadataMusicBrainzButton => 'Fetch from MusicBrainz';

  @override
  String get editMetadataMusicBrainzFilled => 'Updated from MusicBrainz';

  @override
  String get editMetadataMusicBrainzNothing => 'Nothing found on MusicBrainz';

  @override
  String get editMetadataMusicBrainzNeedsIsrc => 'Requires an ISRC tag';

  @override
  String get nowPlayingRepeatOff => 'Repeat off';

  @override
  String get nowPlayingRepeatAll => 'Repeat all';

  @override
  String get nowPlayingRepeatOne => 'Repeat one';

  @override
  String queueNetworkFailedOffline(int count) {
    return '$count downloads failed while offline';
  }

  @override
  String get queueDownloadedFileMissing => 'Heruntergeladene Datei fehlt';

  @override
  String get queueDownloadCompleted => 'Download abgeschlossen';

  @override
  String get queueRateLimitTitle => 'Service rate limited';

  @override
  String get queueRateLimitMessage =>
      'This track may still be available. Wait a few minutes, reduce parallel downloads, then retry.';

  @override
  String appearanceSelectAccentColor(String hex) {
    return 'Wähle Akzentfarbe $hex';
  }

  @override
  String get logAutoScrollOn => 'Auto-Scrollen AN';

  @override
  String get logAutoScrollOff => 'Auto-Scrollen AUS';

  @override
  String get logCopyLogs => 'Logs kopieren';

  @override
  String get logClearSearch => 'Suche löschen';

  @override
  String get logIssueIspBlockingLabel => 'ISP BLOCKIERUNG ERKANNT';

  @override
  String get logIssueIspBlockingDescription =>
      'Dein ISP blockiert möglicherweise den Zugriff auf den Download Dienst';

  @override
  String get logIssueIspBlockingSuggestion =>
      'Versuche es einem VPN oder ändere DNS auf 1.1.1.1 oder 8.8.8.8';

  @override
  String get logIssueRateLimitedLabel => 'LIMIT ERKANNT';

  @override
  String get logIssueRateLimitedDescription =>
      'Zu viele Anfragen an den Dienst';

  @override
  String get logIssueRateLimitedSuggestion =>
      'Warte ein paar Minuten, bevor du es erneut versuchst';

  @override
  String get logIssueNetworkErrorLabel => 'NETZWERKFEHLER';

  @override
  String get logIssueNetworkErrorDescription => 'Verbindungsprobleme erkannt';

  @override
  String get logIssueNetworkErrorSuggestion =>
      'Überprüfe deine Internetverbindung';

  @override
  String get logIssueTrackNotFoundLabel => 'TITEL NICHT GEFUNDEN';

  @override
  String get logIssueTrackNotFoundDescription =>
      'Einige Titel konnten auf Download-Diensten nicht gefunden werden';

  @override
  String get logIssueTrackNotFoundSuggestion =>
      'Der Titel ist möglicherweise nicht in verlustfreier Qualität verfügbar';

  @override
  String get clickableLookingUpArtist => 'Künstler wird gesucht...';

  @override
  String clickableInformationUnavailable(String type) {
    return '$type Informationen nicht verfügbar';
  }

  @override
  String get extensionDetailsTags => 'Tags';

  @override
  String get extensionDetailsInformation => 'Info';

  @override
  String get extensionUtilityFunctions => 'Hilfsfunktionen';

  @override
  String get actionDismiss => 'Schließen';

  @override
  String get setupChangeFolderTooltip => 'Ordner ändern';

  @override
  String a11yOpenTrackByArtist(String trackName, String artistName) {
    return 'Öffne Track $trackName von $artistName';
  }

  @override
  String a11yOpenItem(String itemType, String name) {
    return '$itemType $name öffnen';
  }

  @override
  String a11yOpenItemCount(String title, int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Items',
      one: 'Item',
    );
    return 'Öffne $title, $count $_temp0';
  }

  @override
  String a11yOpenAlbumByArtistTrackCount(
    String albumName,
    String artistName,
    int trackCount,
  ) {
    return 'Öffne Album $albumName von $artistName, $trackCount Titel';
  }

  @override
  String a11yTrackByArtist(String trackName, String artistName) {
    return '$trackName von $artistName';
  }

  @override
  String a11ySelectAlbum(String albumName) {
    return 'Wähle Album $albumName';
  }

  @override
  String a11yOpenAlbum(String albumName) {
    return 'Album öffnen $albumName';
  }

  @override
  String get settingsFiles => 'Dateien & Ordner';

  @override
  String get settingsFilesSubtitle => 'Speicherort, Dateiname, Ordnerstruktur';

  @override
  String get settingsMetadata => 'Metadaten';

  @override
  String get settingsMetadataSubtitle =>
      'Cover Art, Tags, ReplayGain, Anbieter';

  @override
  String get settingsLyrics => 'Lyrics';

  @override
  String get settingsLyricsSubtitle =>
      'Einbetten, Modus, Anbieter, Sprachoptionen';

  @override
  String get settingsApp => 'App';

  @override
  String get settingsAppSubtitle => 'Updates, Daten, Erweiterungsrepo, Debug';

  @override
  String get sectionMetadataProviders => 'Anbieter';

  @override
  String get sectionDuplicates => 'Duplikate';

  @override
  String get sectionLyricsProviderOptions => 'Anbieter-Optionen';

  @override
  String get metadataProvidersTitle => 'Priorität des Metadaten-Anbieters';

  @override
  String get metadataProvidersSubtitle =>
      'Zieh, um Such- und Metadatenquellenreihenfolge zu setzen';

  @override
  String get downloadDeduplication => 'Doppelte Downloads überspringen';

  @override
  String get downloadDeduplicationEnabled =>
      'Bereits heruntergeladene Titel werden übersprungen';

  @override
  String get downloadDeduplicationWithQualityVariants =>
      'Existing files at the selected quality will be skipped';

  @override
  String get downloadDeduplicationDisabled =>
      'Alle Titel werden unabhängig vom Verlauf heruntergeladen';

  @override
  String get downloadQualityVariants => 'Allow different quality versions';

  @override
  String get downloadQualityVariantsDescription =>
      'Jede Qualitätsversion behalten; die gemessene Qualität nur dann zum Dateinamen hinzufügen, wenn der Name bereits verwendet wird';

  @override
  String get trackOptionDownloadQualityVariant => 'Download another quality';

  @override
  String get downloadFallbackExtensions => 'Fallback-Erweiterungen';

  @override
  String get downloadFallbackExtensionsSubtitle =>
      'Wähle, welche Erweiterungen als Fallback verwendet werden können';

  @override
  String get editMetadataFieldDateHint => 'JJJJ-MM-TT oder JJJJJ';

  @override
  String get editMetadataFieldTrackTotal => 'Titel insgesamt';

  @override
  String get editMetadataFieldDiscTotal => 'Disc gesamt';

  @override
  String get editMetadataFieldComposer => 'Komponist';

  @override
  String get editMetadataFieldComment => 'Kommentar';

  @override
  String get trackAlbumType => 'Release Type';

  @override
  String get editMetadataFieldAlbumTypeHint =>
      'Album, single, EP, compilation...';

  @override
  String get editMetadataFieldExplicit => 'Explicit';

  @override
  String get editMetadataFieldExplicitHint =>
      'Mark this track as containing explicit content';

  @override
  String get metadataExplicitValue => 'Explicit';

  @override
  String get editMetadataFieldUpc => 'UPC / Barcode';

  @override
  String get editMetadataFieldUpcHint => 'Numeric UPC, EAN, or GTIN';

  @override
  String get editMetadataAdvanced => 'Erweitert';

  @override
  String get libraryFilterMetadataMissingTrackNumber => 'Fehlende Tracknummer';

  @override
  String get libraryFilterMetadataMissingDiscNumber => 'Fehlende Disc-Nummer';

  @override
  String get libraryFilterMetadataMissingArtist => 'Fehlender Künstler';

  @override
  String get libraryFilterMetadataIncorrectIsrcFormat => 'Falsches ISRC-Format';

  @override
  String get libraryFilterMetadataMissingIsrc => 'Missing ISRC';

  @override
  String get libraryFilterMetadataMissingLabel => 'Label fehlt';

  @override
  String collectionDeletePlaylistsMessage(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Playlists',
      one: 'Playlist',
    );
    return 'Lösche $count $_temp0?';
  }

  @override
  String collectionPlaylistsDeleted(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Playlists',
      one: 'Playlist',
    );
    return '$count $_temp0 gelöscht';
  }

  @override
  String collectionAddedTracksToPlaylist(int count, String playlistName) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Titel',
      one: 'Titel',
    );
    return '$count $_temp0 zu $playlistName hinzugefügt';
  }

  @override
  String collectionAddedTracksToPlaylistWithExisting(
    int count,
    String playlistName,
    int alreadyCount,
  ) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Titel',
      one: 'Titel',
    );
    return '$count $_temp0 zu $playlistName ($alreadyCount bereits in der Playlist)';
  }

  @override
  String itemCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Sachen',
      one: 'Sache',
    );
    return '$count $_temp0';
  }

  @override
  String trackReEnrichSuccessWithFailures(
    int successCount,
    int total,
    int failedCount,
  ) {
    return 'Metadaten erfolgreich neu angereichert ($successCount/$total) - fehlgeschlagen: $failedCount';
  }

  @override
  String selectionDeleteTracksCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Titel',
      one: 'Titel',
    );
    return 'Lösche $count $_temp0';
  }

  @override
  String queueDownloadSpeedStatus(String speed) {
    return 'Herunterladen - $speed MB/s';
  }

  @override
  String get queueDownloadStarting => 'Starte...';

  @override
  String get queueCheckingDownloadSession => 'Checking download session...';

  @override
  String get queueResolvingDownloadMetadata => 'Resolving track metadata...';

  @override
  String get queueResolvingDownloadStream => 'Preparing audio stream...';

  @override
  String get queueWaitingForVerification => 'Waiting for verification...';

  @override
  String get queueResumingAfterVerification => 'Resuming after verification...';

  @override
  String get a11ySelectTrack => 'Titel auswählen';

  @override
  String get a11yDeselectTrack => 'Titel abwählen';

  @override
  String a11yPlayTrackByArtist(String trackName, String artistName) {
    return 'Spiele $trackName von $artistName';
  }

  @override
  String storeExtensionsCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Erweiterungen',
      one: 'Erweiterung',
    );
    return '$count $_temp0';
  }

  @override
  String storeRequiresVersion(String version) {
    return 'Benötigt v$version+';
  }

  @override
  String get actionGo => 'Los';

  @override
  String get logIssueSummary => 'Problemübersicht';

  @override
  String logTotalErrors(int count) {
    return 'Gesamte Fehler: $count';
  }

  @override
  String logAffectedDomains(String domains) {
    return 'Betroffen: $domains';
  }

  @override
  String get libraryScanCancelled => 'Scan abgebrochen';

  @override
  String get libraryScanCancelledSubtitle =>
      'Du kannst erneut Scannen, wenn er fertig ist.';

  @override
  String libraryDownloadsHistoryExcluded(int count) {
    return '$count aus dem Download-Verlauf (von der Liste ausgeschlossen)';
  }

  @override
  String get downloadNativeWorker => 'Nativer Download Dienst';

  @override
  String get downloadNativeWorkerSubtitle =>
      'Android-Hintergrunddienst für Downloads von Erweiterungen';

  @override
  String get extensionServiceStatus => 'Dienststatus';

  @override
  String get extensionServiceHealth => 'Service-Gesundheit';

  @override
  String extensionHealthChecksConfigured(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Prüfungen',
      one: 'Prüfung',
    );
    return '$count $_temp0 konfiguriert';
  }

  @override
  String get extensionOauthConnectHint =>
      'Tippe auf \"Mit Spotify verbinden\" um dieses Feld auszufüllen.';

  @override
  String extensionLastChecked(String time) {
    return 'Zuletzt geprüft $time';
  }

  @override
  String get extensionRefreshStatus => 'Status aktualisieren';

  @override
  String get extensionCustomUrlHandling => 'Benutzerdefinierte URL-Handling';

  @override
  String get extensionCustomUrlHandlingSubtitle =>
      'Diese Erweiterung kann Links von diesen Seiten benutzen';

  @override
  String get extensionCustomUrlHandlingShareHint =>
      'Teile Links von diesen Seiten mit SpotiFLAC Mobile und diese Erweiterung wird sie verarbeiten.';

  @override
  String extensionSettingsCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'Einstellungen',
      one: 'Einstellung',
    );
    return '$count $_temp0';
  }

  @override
  String get extensionHealthOnline => 'Online';

  @override
  String get extensionHealthDegraded => 'Eingeschränkt';

  @override
  String get extensionHealthOffline => 'Offline';

  @override
  String get extensionHealthNotConfigured => 'Nicht konfiguriert';

  @override
  String get extensionHealthUnknown => 'Unbekannt';

  @override
  String get extensionHealthRequired => 'benötigt';

  @override
  String get extensionSettingNotSet => 'Nicht eingestellt';

  @override
  String get extensionActionFailed => 'Aktion fehlgeschlagen';

  @override
  String get extensionEnterValue => 'Wert eingeben';

  @override
  String get extensionHealthServiceOnline => 'Dienste online';

  @override
  String get extensionHealthServiceDegraded => 'Dienst Eingeschränkt';

  @override
  String get extensionHealthServiceOffline => 'Dienst offline';

  @override
  String get extensionHealthServiceUnknown => 'Dienst-Status unbekannt';

  @override
  String get audioAnalysisStereo => 'Stereo';

  @override
  String get audioAnalysisMono => 'Mono';

  @override
  String trackOpenInService(String serviceName) {
    return 'Öffne in $serviceName';
  }

  @override
  String get trackLyricsEmbeddedSource => 'Eingebettet';

  @override
  String get unknownAlbum => 'Unbekanntes Album';

  @override
  String get unknownArtist => 'Unbekannter Künstler';

  @override
  String get permissionAudio => 'Audio';

  @override
  String get permissionStorage => 'Speicher';

  @override
  String get permissionNotification => 'Benachrichtigung';

  @override
  String get errorInvalidFolderSelected => 'Ungültiger Ordner ausgewählt';

  @override
  String get storeAnyVersion => 'Alle';

  @override
  String get storeCategoryMetadata => 'Metadaten';

  @override
  String get storeCategoryDownload => 'Herunterladen';

  @override
  String get storeCategoryUtility => 'Utility';

  @override
  String get storeCategoryLyrics => 'Lyrics';

  @override
  String get storeCategoryIntegration => 'Integration';

  @override
  String get artistReleases => 'Releases';

  @override
  String get editMetadataSelectNone => 'Keine';

  @override
  String queueRetryAllFailed(int count) {
    return 'Retry $count failed';
  }

  @override
  String get settingsSaveDownloadHistory => 'Save download history';

  @override
  String get settingsSaveDownloadHistorySubtitle =>
      'Keep completed downloads in history and library views';

  @override
  String get dialogDisableHistoryTitle => 'Turn off download history?';

  @override
  String get dialogDisableHistoryMessage =>
      'Existing history will be cleared. Downloaded files will not be deleted.';

  @override
  String get dialogDisableAndClear => 'Turn off and clear';

  @override
  String get openInOtherServices => 'Open in Other Services';

  @override
  String get shareSheetNoExtensions => 'No other compatible services';

  @override
  String get shareSheetNotFound => 'Not found';

  @override
  String get shareSheetCopyLink => 'Copy Link';

  @override
  String shareSheetLinkCopied(Object service) {
    return '$service link copied';
  }

  @override
  String get libraryPlayback => 'Playback';

  @override
  String get libraryExternalPlayer => 'External player';

  @override
  String get libraryExternalPlayerSubtitle =>
      'Recommended for listening, best quality, gapless playback, EQ, and wider format support';

  @override
  String get libraryBuiltInPreviewPlayer => 'Built-in preview player';

  @override
  String get libraryBuiltInPreviewPlayerSubtitle =>
      'Only for quick local previews inside SpotiFLAC Mobile, not recommended for regular listening';

  @override
  String get libraryBuiltInPlayerInfo =>
      'The built-in player is a preview tool for checking local tracks quickly. Use an external music player for actual listening.';

  @override
  String get nowPlayingTitle => 'Jetzt läuft';

  @override
  String get nowPlayingNothingPlaying => 'Nothing is playing';

  @override
  String get nowPlayingMinimize => 'Minimize';

  @override
  String get nowPlayingUpNext => 'Up next';

  @override
  String get nowPlayingPreviousTrack => 'Vorheriger Titel';

  @override
  String get nowPlayingNextTrack => 'Nächster Titel';

  @override
  String get nowPlayingDetails => 'Details';

  @override
  String get nowPlayingOpenInExternalPlayer => 'Open in external player';

  @override
  String get nowPlayingTabPlayer => 'Player';

  @override
  String get nowPlayingTabLyrics => 'Lyrics';

  @override
  String get nowPlayingNoLyrics => 'No lyrics in this file';

  @override
  String get nowPlayingLibraryEmpty => 'Your library is empty';

  @override
  String nowPlayingShuffleLibraryFailed(String error) {
    return 'Could not shuffle library: $error';
  }

  @override
  String get nowPlayingShuffleOn => 'Shuffle on';

  @override
  String get nowPlayingPlayInOrder => 'Play in order';

  @override
  String get nowPlayingShuffleLibrary => 'Shuffle library';

  @override
  String get nowPlayingQueueEmpty => 'Queue is empty';

  @override
  String get nowPlayingNoMetadata => 'No metadata available';

  @override
  String get announcementUnableToOpenLink =>
      'Unable to open link. Please try again.';

  @override
  String trackConvertLosslessOutputWithCap(String quality) {
    return 'Lossless output with $quality cap';
  }

  @override
  String trackConvertConfirmMessageLosslessCapped(
    String sourceFormat,
    String targetFormat,
    String quality,
  ) {
    return 'Convert from $sourceFormat to $targetFormat ($quality)?\n\nThe output stays in a lossless codec, but bit depth/sample rate will be capped. Original file will be deleted after conversion.';
  }

  @override
  String selectionBatchConvertConfirmMessageLosslessCapped(
    int count,
    String format,
    String quality,
  ) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'tracks',
      one: 'track',
    );
    return 'Convert $count $_temp0 to $format ($quality)?\n\nThe output stays in a lossless codec, but bit depth/sample rate will be capped. Original files will be deleted after conversion.';
  }

  @override
  String trackConvertActionLabelLossless(
    String sourceFormat,
    String targetFormat,
    String quality,
  ) {
    return '$sourceFormat → $targetFormat ($quality)';
  }

  @override
  String trackConvertActionLabelLossy(
    String sourceFormat,
    String targetFormat,
    String bitrate,
  ) {
    return '$sourceFormat → $targetFormat @ $bitrate';
  }

  @override
  String get aboutPaxsenixSubtitle =>
      'Lyrics proxy for Musixmatch, Netease, Apple Music, QQ Music, Spotify, Deezer, YouTube, Kugou, and Genius';

  @override
  String get snackbarPlayingNext => 'Als nächstes';

  @override
  String get snackbarAddedToQueueGeneric => 'Added to queue';

  @override
  String selectionDeletePlaylistsCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'playlists',
      one: 'playlist',
    );
    return 'Delete $count $_temp0';
  }

  @override
  String get actionShuffle => 'Shuffle';

  @override
  String get downloadPrimaryArtistOnlyOn => 'Primary only: On';

  @override
  String get downloadPrimaryArtistOnlyOff => 'Primary only: Off';

  @override
  String get downloadAlbumArtistMetadataPrimaryOnly =>
      'Album Artist metadata: Primary only';

  @override
  String get downloadAlbumArtistMetadataFull => 'Album Artist metadata: Full';

  @override
  String get trackConvertOriginal => 'Original';

  @override
  String get trackConvertOriginalQuality => 'Original quality';

  @override
  String get trackConvertLosslessSuffix => 'Lossless';

  @override
  String get trackConvertDithering => 'Dithering';

  @override
  String get trackConvertResampler => 'Resampler';

  @override
  String get trackConvertDitherNone => 'Keine';

  @override
  String get trackConvertDitherTriangular => 'TPDF';

  @override
  String get trackConvertDitherTriangularHp => 'Triangular HP';

  @override
  String get trackConvertResamplerSwr => 'SWR';

  @override
  String get trackConvertResamplerSoxr => 'SoXr';

  @override
  String get updateSeeReleaseNotes => 'See release notes for details.';

  @override
  String get unknownTitle => 'Unknown title';

  @override
  String get trackPlayNext => 'Play next';

  @override
  String get trackAddToQueue => 'Add to queue';

  @override
  String snackbarExtensionInstalledEnable(String extensionName) {
    return '$extensionName installed. Enable it in Settings > Extensions';
  }

  @override
  String snackbarExtensionUpdatedVersion(String extensionName, String version) {
    return '$extensionName updated to v$version';
  }

  @override
  String snackbarFailedToInstallNamed(String extensionName) {
    return 'Failed to install $extensionName';
  }

  @override
  String snackbarFailedToUpdateNamed(String extensionName) {
    return 'Failed to update $extensionName';
  }

  @override
  String get releaseTypeEp => 'EP';

  @override
  String get releaseTypeSingle => 'Single';

  @override
  String get trackCoverOnline => 'Online cover';

  @override
  String get regionCountryUS => 'United States';

  @override
  String get regionCountryGB => 'United Kingdom';

  @override
  String get regionCountryFR => 'France';

  @override
  String get regionCountryDE => 'Germany';

  @override
  String get regionCountryJP => 'Japan';

  @override
  String get regionCountryKR => 'Südkorea';

  @override
  String get regionCountryIN => 'Indien';

  @override
  String get regionCountryID => 'Indonesia';

  @override
  String get regionCountryBR => 'Brazil';

  @override
  String get regionCountryMX => 'Mexico';

  @override
  String get regionCountryAU => 'Australia';

  @override
  String get regionCountryCA => 'Canada';

  @override
  String get regionCountryXK => 'Kosovo';

  @override
  String get extensionVerificationBrowserTitle => 'Verification browser';

  @override
  String get extensionVerificationBrowserSubtitleExternal =>
      'Open challenges in the default browser first';

  @override
  String get extensionVerificationBrowserSubtitleInApp =>
      'Open challenges in the in-app browser first';

  @override
  String get extensionVerificationBrowserExternal => 'External';

  @override
  String get extensionVerificationBrowserInApp => 'In-app';

  @override
  String get extensionVerificationHelpTitleManual =>
      'Open verification manually';

  @override
  String get extensionVerificationHelpTitleWaiting =>
      'Verification still waiting';

  @override
  String get extensionVerificationHelpMessageManual =>
      'SpotiFLAC Mobile could not open the browser automatically. Open this link in your browser, or copy it manually.';

  @override
  String get extensionVerificationHelpMessageWaiting =>
      'If the browser did not open, or verification finished but did not return to SpotiFLAC Mobile, open this link again or copy it manually.';

  @override
  String get extensionVerificationClose => 'Schließen';

  @override
  String get extensionVerificationCopyLink => 'Copy link';

  @override
  String get extensionVerificationLinkCopied => 'Verification link copied';

  @override
  String get extensionVerificationOpenBrowser => 'Open browser';

  @override
  String get settingsSearchHint => 'Einstellungen durchsuchen';

  @override
  String settingsSearchNoResults(String query) {
    return 'Keine Einstellungen für \"$query\" gefunden';
  }

  @override
  String get settingsGroupInterface => 'Erweiterungen & Darstellung';

  @override
  String get settingsGroupContent => 'Inhalte & Metadaten';

  @override
  String get settingsGroupDownloads => 'Downloads & Dateien';

  @override
  String get settingsGroupSystem => 'System';

  @override
  String get settingsGroupHelp => 'Info & Unterstützung';

  @override
  String get libraryFilterMetadataMissingLyrics => 'Missing lyrics';

  @override
  String get trackOptionCopyTrackName => 'Copy track name';

  @override
  String get trackOptionCopyArtist => 'Copy artist';

  @override
  String get trackOptionCopyTrackAndArtist => 'Copy track and artist';

  @override
  String get metadataCopyValue => 'Copy value';

  @override
  String get metadataCopyField => 'Copy field and value';

  @override
  String get metadataCopyAll => 'Copy all metadata';
}
