New translations app_en.arb (German)

This commit is contained in:
Zarz Eleutherius
2026-04-18 23:35:01 +07:00
parent d3cf6d30a7
commit c5e7fcf29b
+135 -135
View File
@@ -17,7 +17,7 @@
"@navSettings": {
"description": "Bottom navigation - Settings tab"
},
"navStore": "Store",
"navStore": "Repo",
"@navStore": {
"description": "Bottom navigation - Extension store tab"
},
@@ -25,7 +25,7 @@
"@homeTitle": {
"description": "Home screen title"
},
"homeSubtitle": "Spotify-Link einfügen oder nach Namen suchen",
"homeSubtitle": "Unterstützte URL einfügen oder nach Namen suchen",
"@homeSubtitle": {
"description": "Subtitle shown below search box"
},
@@ -218,23 +218,23 @@
"@optionsReplayGainSubtitleOff": {
"description": "Subtitle when ReplayGain is disabled"
},
"optionsArtistTagMode": "Artist Tag Mode",
"optionsArtistTagMode": "Künstler Tag-Modus",
"@optionsArtistTagMode": {
"description": "Setting title for how artist metadata is written into files"
},
"optionsArtistTagModeDescription": "Choose how multiple artists are written into embedded tags.",
"optionsArtistTagModeDescription": "Wähle aus, wie mehrere Künstler in eingebetteten Tags geschrieben sind.",
"@optionsArtistTagModeDescription": {
"description": "Bottom-sheet description for artist tag mode setting"
},
"optionsArtistTagModeJoined": "Single joined value",
"optionsArtistTagModeJoined": "Einzelne beigefügte Werte",
"@optionsArtistTagModeJoined": {
"description": "Artist tag mode option that joins multiple artists into one value"
},
"optionsArtistTagModeJoinedSubtitle": "Write one ARTIST value like \"Artist A, Artist B\" for maximum player compatibility.",
"optionsArtistTagModeJoinedSubtitle": "Einen Künstler wert wie \"Artist A, Artist B\" für maximale Spieler-Kompatibilität schreiben.",
"@optionsArtistTagModeJoinedSubtitle": {
"description": "Subtitle for joined artist tag mode"
},
"optionsArtistTagModeSplitVorbis": "Split tags for FLAC/Opus",
"optionsArtistTagModeSplitVorbis": "Tags für FLAC/Opus aufteilen",
"@optionsArtistTagModeSplitVorbis": {
"description": "Artist tag mode option that writes repeated ARTIST tags for Vorbis formats"
},
@@ -263,11 +263,11 @@
"@optionsConcurrentWarning": {
"description": "Warning about rate limits"
},
"optionsExtensionStore": "Erweiterungs-Store",
"optionsExtensionStore": "Erweiterungs-Repo",
"@optionsExtensionStore": {
"description": "Show/hide store tab"
},
"optionsExtensionStoreSubtitle": "Store-Tab in Navigation anzeigen",
"optionsExtensionStoreSubtitle": "Repo-Tab in der Navigation anzeigen",
"@optionsExtensionStoreSubtitle": {
"description": "Subtitle for extension store toggle"
},
@@ -370,7 +370,7 @@
"@extensionsUninstall": {
"description": "Uninstall extension button"
},
"storeTitle": "Erweiterungs-Store",
"storeTitle": "Erweiterungs-Repo",
"@storeTitle": {
"description": "Store screen title"
},
@@ -727,7 +727,7 @@
"@dialogImport": {
"description": "Dialog button - import data"
},
"dialogDownload": "Download",
"dialogDownload": "Herunterladen",
"@dialogDownload": {
"description": "Confirm button in Download All dialog"
},
@@ -788,7 +788,7 @@
"@dialogDeleteSelectedTitle": {
"description": "Dialog title - delete selected items"
},
"dialogDeleteSelectedMessage": "Delete {count} {count, plural, =1{track} other{tracks}} from history?\n\nThis will also delete the files from storage.",
"dialogDeleteSelectedMessage": "Lösche {count} {count, plural, one {}=1{Track} other{Tracks}} aus dem Verlauf?\n\nDies löscht auch die Dateien aus dem Speicher.",
"@dialogDeleteSelectedMessage": {
"description": "Dialog message - delete selected tracks",
"placeholders": {
@@ -867,7 +867,7 @@
"@snackbarCredentialsCleared": {
"description": "Snackbar - Spotify credentials removed"
},
"snackbarDeletedTracks": "Deleted {count} {count, plural, =1{track} other{tracks}}",
"snackbarDeletedTracks": "{count} {count, plural, one {}=1{Titel} other{Titel}}",
"@snackbarDeletedTracks": {
"description": "Snackbar - tracks deleted",
"placeholders": {
@@ -1051,47 +1051,47 @@
"@searchAlbums": {
"description": "Search result category - albums"
},
"searchPlaylists": "Playlisten",
"searchPlaylists": "Playlists",
"@searchPlaylists": {
"description": "Search result category - playlists"
},
"searchSortTitle": "Sort Results",
"searchSortTitle": "Ergebnisse sortieren",
"@searchSortTitle": {
"description": "Bottom sheet title for search sort options"
},
"searchSortDefault": "Default",
"searchSortDefault": "Standard",
"@searchSortDefault": {
"description": "Sort option - default API order"
},
"searchSortTitleAZ": "Title (A-Z)",
"searchSortTitleAZ": "Titel (A-Z)",
"@searchSortTitleAZ": {
"description": "Sort option - title ascending"
},
"searchSortTitleZA": "Title (Z-A)",
"searchSortTitleZA": "Titel (Z-A)",
"@searchSortTitleZA": {
"description": "Sort option - title descending"
},
"searchSortArtistAZ": "Artist (A-Z)",
"searchSortArtistAZ": "Künstler (A-Z)",
"@searchSortArtistAZ": {
"description": "Sort option - artist ascending"
},
"searchSortArtistZA": "Artist (Z-A)",
"searchSortArtistZA": "Künstler (Z-A)",
"@searchSortArtistZA": {
"description": "Sort option - artist descending"
},
"searchSortDurationShort": "Duration (Shortest)",
"searchSortDurationShort": "Dauer (kürzeste)",
"@searchSortDurationShort": {
"description": "Sort option - shortest duration first"
},
"searchSortDurationLong": "Duration (Longest)",
"searchSortDurationLong": "Dauer (längste)",
"@searchSortDurationLong": {
"description": "Sort option - longest duration first"
},
"searchSortDateOldest": "Release Date (Oldest)",
"searchSortDateOldest": "Veröffentlichungsdatum (älteste)",
"@searchSortDateOldest": {
"description": "Sort option - oldest release first"
},
"searchSortDateNewest": "Release Date (Newest)",
"searchSortDateNewest": "Veröffentlichungsdatum (Neueste)",
"@searchSortDateNewest": {
"description": "Sort option - newest release first"
},
@@ -1690,15 +1690,15 @@
"@storeClearFilters": {
"description": "Button to clear all filters"
},
"storeAddRepoTitle": "Add Extension Repository",
"storeAddRepoTitle": "Erweiterungs-Repository hinzufügen",
"@storeAddRepoTitle": {
"description": "Store setup screen - heading when no repo is configured"
},
"storeAddRepoDescription": "Enter a GitHub repository URL that contains a registry.json file to browse and install extensions.",
"storeAddRepoDescription": "Gib eine GitHub Repository-URL ein, die eine Registry.json Datei enthält, um Erweiterungen zu durchsuchen und zu installieren.",
"@storeAddRepoDescription": {
"description": "Store setup screen - explanatory text"
},
"storeRepoUrlLabel": "Repository URL",
"storeRepoUrlLabel": "Repository-URL",
"@storeRepoUrlLabel": {
"description": "Label for the repository URL input field"
},
@@ -1706,27 +1706,27 @@
"@storeRepoUrlHint": {
"description": "Hint/placeholder for the repository URL input field"
},
"storeRepoUrlHelper": "e.g. https://github.com/user/extensions-repo",
"storeRepoUrlHelper": "z.B. https://github.com/user/extensions-repo",
"@storeRepoUrlHelper": {
"description": "Helper text below the repository URL input field"
},
"storeAddRepoButton": "Add Repository",
"storeAddRepoButton": "Repository hinzufügen",
"@storeAddRepoButton": {
"description": "Button to submit a new repository URL"
},
"storeChangeRepoTooltip": "Change repository",
"storeChangeRepoTooltip": "Repository ändern",
"@storeChangeRepoTooltip": {
"description": "Tooltip for the change-repository icon button in the app bar"
},
"storeRepoDialogTitle": "Extension Repository",
"storeRepoDialogTitle": "Erweiterungs-Repository",
"@storeRepoDialogTitle": {
"description": "Title of the change/remove repository dialog"
},
"storeRepoDialogCurrent": "Current repository:",
"storeRepoDialogCurrent": "Aktuelles Repository:",
"@storeRepoDialogCurrent": {
"description": "Label shown above the current repository URL in the dialog"
},
"storeNewRepoUrlLabel": "New Repository URL",
"storeNewRepoUrlLabel": "Neue Repository-URL",
"@storeNewRepoUrlLabel": {
"description": "Label for the new repository URL field inside the dialog"
},
@@ -1742,7 +1742,7 @@
"@storeEmptyNoResults": {
"description": "Message when search/filter returns no results"
},
"extensionDefaultProvider": "Standard (Deezer/Spotify)",
"extensionDefaultProvider": "Standard (Deezer)",
"@extensionDefaultProvider": {
"description": "Default search provider option"
},
@@ -1949,11 +1949,11 @@
"@qualityHiResFlacMaxSubtitle": {
"description": "Technical spec for hi-res max"
},
"downloadLossy320": "Lossy 320kbps",
"downloadLossy320": "Verlustbehaftet 320kbps",
"@downloadLossy320": {
"description": "Quality option label for Tidal lossy 320kbps"
},
"downloadLossyFormat": "Lossy Format",
"downloadLossyFormat": "Verlustbehaftetes Format",
"@downloadLossyFormat": {
"description": "Setting title to pick output format for Tidal lossy downloads"
},
@@ -1961,7 +1961,7 @@
"@downloadLossy320Format": {
"description": "Title of the Tidal lossy format picker bottom sheet"
},
"downloadLossy320FormatDesc": "Choose the output format for Tidal 320kbps lossy downloads. The original AAC stream will be converted to your selected format.",
"downloadLossy320FormatDesc": "Wähle das Ausgabeformat für Tidal 320kbps verlustbehaftete Downloads. Der ursprüngliche AAC Stream wird in das ausgewählte Format konvertiert.",
"@downloadLossy320FormatDesc": {
"description": "Description in the Tidal lossy format picker"
},
@@ -1969,7 +1969,7 @@
"@downloadLossyMp3": {
"description": "Tidal lossy format option - MP3 320kbps"
},
"downloadLossyMp3Subtitle": "Best compatibility, ~10MB per track",
"downloadLossyMp3Subtitle": "Beste Kompatibilität, ~10MB pro Titel",
"@downloadLossyMp3Subtitle": {
"description": "Subtitle for MP3 320kbps Tidal lossy option"
},
@@ -1977,7 +1977,7 @@
"@downloadLossyOpus256": {
"description": "Tidal lossy format option - Opus 256kbps"
},
"downloadLossyOpus256Subtitle": "Best quality Opus, ~8MB per track",
"downloadLossyOpus256Subtitle": "Beste Qualität, ~8MB pro Titel",
"@downloadLossyOpus256Subtitle": {
"description": "Subtitle for Opus 256kbps Tidal lossy option"
},
@@ -1985,7 +1985,7 @@
"@downloadLossyOpus128": {
"description": "Tidal lossy format option - Opus 128kbps"
},
"downloadLossyOpus128Subtitle": "Smallest size, ~4MB per track",
"downloadLossyOpus128Subtitle": "Kleinste Größe, ~4MB pro Track",
"@downloadLossyOpus128Subtitle": {
"description": "Subtitle for Opus 128kbps Tidal lossy option"
},
@@ -2125,7 +2125,7 @@
"@downloadedAlbumDeleteSelected": {
"description": "Button - delete selected tracks"
},
"downloadedAlbumDeleteMessage": "Delete {count} {count, plural, =1{track} other{tracks}} from this album?\n\nThis will also delete the files from storage.",
"downloadedAlbumDeleteMessage": "{count} {count, plural, one {}=1{Titel} other{Titel}} aus diesem Album löschen?\n\nDadurch werden auch die Dateien aus dem Speicher gelöscht.",
"@downloadedAlbumDeleteMessage": {
"description": "Delete confirmation with count",
"placeholders": {
@@ -2151,7 +2151,7 @@
"@downloadedAlbumTapToSelect": {
"description": "Selection hint"
},
"downloadedAlbumDeleteCount": "Delete {count} {count, plural, =1{track} other{tracks}}",
"downloadedAlbumDeleteCount": "Lösche {count} {count, plural, one {}=1{Titel}other{Titel}}",
"@downloadedAlbumDeleteCount": {
"description": "Delete button text with count",
"placeholders": {
@@ -2402,7 +2402,7 @@
"@libraryShowDuplicateIndicatorSubtitle": {
"description": "Subtitle for duplicate indicator toggle"
},
"libraryAutoScan": "Auto Scan",
"libraryAutoScan": "Auto-Scan",
"@libraryAutoScan": {
"description": "Setting for automatic library scanning"
},
@@ -2410,19 +2410,19 @@
"@libraryAutoScanSubtitle": {
"description": "Subtitle for auto scan setting"
},
"libraryAutoScanOff": "Off",
"libraryAutoScanOff": "Aus",
"@libraryAutoScanOff": {
"description": "Auto scan disabled"
},
"libraryAutoScanOnOpen": "Every app open",
"libraryAutoScanOnOpen": "Bei jeder App Öffnung",
"@libraryAutoScanOnOpen": {
"description": "Auto scan when app opens"
},
"libraryAutoScanDaily": "Daily",
"libraryAutoScanDaily": "Täglich",
"@libraryAutoScanDaily": {
"description": "Auto scan once per day"
},
"libraryAutoScanWeekly": "Weekly",
"libraryAutoScanWeekly": "Wöchentlich",
"@libraryAutoScanWeekly": {
"description": "Auto scan once per week"
},
@@ -2483,7 +2483,7 @@
}
}
},
"libraryFilesUnit": "{count, plural, =1{file} other{files}}",
"libraryFilesUnit": "{count, plural, =1{1 Datei} other{{count} Datein}}",
"@libraryFilesUnit": {
"description": "Unit label for files count during library scanning",
"placeholders": {
@@ -2509,7 +2509,7 @@
"@libraryScanning": {
"description": "Status during scan"
},
"libraryScanFinalizing": "Finalizing library...",
"libraryScanFinalizing": "Bibliothek wird aktualisiert...",
"@libraryScanFinalizing": {
"description": "Status shown after file scanning finishes but library persistence is still running"
},
@@ -2610,27 +2610,27 @@
"@libraryFilterFormat": {
"description": "Filter section - file format"
},
"libraryFilterMetadata": "Metadata",
"libraryFilterMetadata": "Metadaten",
"@libraryFilterMetadata": {
"description": "Filter section - metadata completeness"
},
"libraryFilterMetadataComplete": "Complete metadata",
"libraryFilterMetadataComplete": "Komplette Metadaten",
"@libraryFilterMetadataComplete": {
"description": "Filter option - items with complete metadata"
},
"libraryFilterMetadataMissingAny": "Missing any metadata",
"libraryFilterMetadataMissingAny": "Metadaten fehlen",
"@libraryFilterMetadataMissingAny": {
"description": "Filter option - items missing any tracked metadata field"
},
"libraryFilterMetadataMissingYear": "Missing year",
"libraryFilterMetadataMissingYear": "Jahr fehlt",
"@libraryFilterMetadataMissingYear": {
"description": "Filter option - items missing release year/date"
},
"libraryFilterMetadataMissingGenre": "Missing genre",
"libraryFilterMetadataMissingGenre": "Genre fehlt",
"@libraryFilterMetadataMissingGenre": {
"description": "Filter option - items missing genre"
},
"libraryFilterMetadataMissingAlbumArtist": "Missing album artist",
"libraryFilterMetadataMissingAlbumArtist": "Fehlender Album-Künstler",
"@libraryFilterMetadataMissingAlbumArtist": {
"description": "Filter option - items missing album artist"
},
@@ -2666,7 +2666,7 @@
"@timeJustNow": {
"description": "Relative time - less than a minute ago"
},
"timeMinutesAgo": "{count, plural, =1{1 minute ago} other{{count} minutes ago}}",
"timeMinutesAgo": "{count, plural, one {}=1{vor 1 Minute} other{vor {count} Minuten}}",
"@timeMinutesAgo": {
"description": "Relative time - minutes ago",
"placeholders": {
@@ -2675,7 +2675,7 @@
}
}
},
"timeHoursAgo": "{count, plural, =1{1 hour ago} other{{count} hours ago}}",
"timeHoursAgo": "{count, plural, one {}=1{vor 1 Stunde} other{vor {count} Stunden}}",
"@timeHoursAgo": {
"description": "Relative time - hours ago",
"placeholders": {
@@ -2748,7 +2748,7 @@
"@tutorialExtensionsDesc": {
"description": "Tutorial extensions page description"
},
"tutorialExtensionsTip1": "Im Store Tab findest du nützliche Erweiterungen",
"tutorialExtensionsTip1": "Browse the Repo tab to discover useful extensions",
"@tutorialExtensionsTip1": {
"description": "Tutorial extensions tip 1"
},
@@ -3088,11 +3088,11 @@
"@trackReEnrichFfmpegFailed": {
"description": "Snackbar when FFmpeg embed fails for MP3/Opus"
},
"queueFlacAction": "Queue FLAC",
"queueFlacAction": "Warteschlange FLAC",
"@queueFlacAction": {
"description": "Action/button label for queueing FLAC redownloads for local tracks"
},
"queueFlacConfirmMessage": "Search online matches for the selected tracks and queue FLAC downloads.\n\nExisting files will not be modified or deleted.\n\nOnly high-confidence matches are queued automatically.\n\n{count} selected",
"queueFlacConfirmMessage": "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",
"@queueFlacConfirmMessage": {
"description": "Confirmation dialog body before queueing FLAC redownloads for local tracks",
"placeholders": {
@@ -3142,7 +3142,7 @@
"@trackConvertFormat": {
"description": "Menu item - convert audio format"
},
"trackConvertFormatSubtitle": "In MP3 oder Opus konvertieren",
"trackConvertFormatSubtitle": "Convert to MP3, Opus, ALAC, or FLAC",
"@trackConvertFormatSubtitle": {
"description": "Subtitle for convert format menu item"
},
@@ -3177,7 +3177,7 @@
}
}
},
"trackConvertConfirmMessageLossless": "Convert from {sourceFormat} to {targetFormat}? (Lossless — no quality loss)\n\nThe original file will be deleted after conversion.",
"trackConvertConfirmMessageLossless": "Konvertieren von {sourceFormat} in {targetFormat}? (kein Qualitätsverlust)\n\nDie Originaldatei wird nach der Konvertierung gelöscht.",
"@trackConvertConfirmMessageLossless": {
"description": "Confirmation dialog message for lossless-to-lossless conversion",
"placeholders": {
@@ -3310,7 +3310,7 @@
"@collectionLoved": {
"description": "Custom folder for favorite tracks"
},
"collectionPlaylists": "Playlisten",
"collectionPlaylists": "Playlists",
"@collectionPlaylists": {
"description": "Custom user playlists folder"
},
@@ -3499,7 +3499,7 @@
"@collectionPlaylistRemoveCover": {
"description": "Bottom sheet action to remove custom cover image from a playlist"
},
"selectionShareCount": "Share {count} {count, plural, =1{track} other{tracks}}",
"selectionShareCount": "Teile {count} {count, plural, one {}=1{Titel}other{Titel}}",
"@selectionShareCount": {
"description": "Share button text with count in selection mode",
"placeholders": {
@@ -3512,7 +3512,7 @@
"@selectionShareNoFiles": {
"description": "Snackbar when no selected files exist on disk"
},
"selectionConvertCount": "Convert {count} {count, plural, =1{track} other{tracks}}",
"selectionConvertCount": "Konvertiere {count} {count, plural, one {}=1{Titel}other{Titel}}",
"@selectionConvertCount": {
"description": "Convert button text with count in selection mode",
"placeholders": {
@@ -3529,7 +3529,7 @@
"@selectionBatchConvertConfirmTitle": {
"description": "Confirmation dialog title for batch conversion"
},
"selectionBatchConvertConfirmMessage": "Convert {count} {count, plural, =1{track} other{tracks}} to {format} at {bitrate}?\n\nOriginal files will be deleted after conversion.",
"selectionBatchConvertConfirmMessage": "Konvertiere {count} {format} {count, plural, one {}=1{Titel} other{Titel}} zu {bitrate}?\n\nOriginaldateien werden nach der Konvertierung gelöscht.",
"@selectionBatchConvertConfirmMessage": {
"description": "Confirmation dialog message for batch conversion",
"placeholders": {
@@ -3544,7 +3544,7 @@
}
}
},
"selectionBatchConvertConfirmMessageLossless": "Convert {count} {count, plural, =1{track} other{tracks}} to {format}? (Lossless — no quality loss)\n\nOriginal files will be deleted after conversion.",
"selectionBatchConvertConfirmMessageLossless": "Konvertiere {count} {count, plural, one {}=1{Titel} other{Titel}} in {format}? (kein Qualitätsverlust)\n\nOriginaldateien werden nach der Konvertierung gelöscht.",
"@selectionBatchConvertConfirmMessageLossless": {
"description": "Confirmation dialog message for lossless batch conversion",
"placeholders": {
@@ -3600,19 +3600,19 @@
"@downloadUseAlbumArtistForFoldersTrackSubtitle": {
"description": "Subtitle when Track Artist is used for folder naming"
},
"lyricsProvidersTitle": "Lyrics Providers",
"lyricsProvidersTitle": "Lyrics-Anbieter",
"@lyricsProvidersTitle": {
"description": "Title for the lyrics provider priority page"
},
"lyricsProvidersDescription": "Enable, disable and reorder lyrics sources. Providers are tried top-to-bottom until lyrics are found.",
"lyricsProvidersDescription": "Lyrics aktivieren, deaktivieren und neu ordnen. Anbieter werden von oben nach unten ausprobiert, bis Lyrics gefunden werden.",
"@lyricsProvidersDescription": {
"description": "Description on the lyrics provider priority page"
},
"lyricsProvidersInfoText": "Extension lyrics providers always run before built-in providers. At least one provider must remain enabled.",
"lyricsProvidersInfoText": "Erweiterungsanbieter werden immer vor eingebauten ausgeführt. Mindestens ein Anbieter muss aktiviert bleiben.",
"@lyricsProvidersInfoText": {
"description": "Info tip on lyrics provider priority page"
},
"lyricsProvidersEnabledSection": "Enabled ({count})",
"lyricsProvidersEnabledSection": "({count}) aktiviert",
"@lyricsProvidersEnabledSection": {
"description": "Section header for enabled providers",
"placeholders": {
@@ -3621,7 +3621,7 @@
}
}
},
"lyricsProvidersDisabledSection": "Disabled ({count})",
"lyricsProvidersDisabledSection": "({count}) deaktiviert",
"@lyricsProvidersDisabledSection": {
"description": "Section header for disabled providers",
"placeholders": {
@@ -3646,35 +3646,35 @@
"@lyricsProviderLrclibDesc": {
"description": "Description for LRCLIB provider"
},
"lyricsProviderNeteaseDesc": "NetEase Cloud Music (good for Asian songs)",
"lyricsProviderNeteaseDesc": "NetEase Cloud Music (gut für asiatische Lieder)",
"@lyricsProviderNeteaseDesc": {
"description": "Description for Netease provider"
},
"lyricsProviderMusixmatchDesc": "Largest lyrics database (multi-language)",
"lyricsProviderMusixmatchDesc": "Größte Lyrics-Datenbank (mehrsprachig)",
"@lyricsProviderMusixmatchDesc": {
"description": "Description for Musixmatch provider"
},
"lyricsProviderAppleMusicDesc": "Word-by-word synced lyrics (via proxy)",
"lyricsProviderAppleMusicDesc": "Wort-für-Wort-synchronisierte Lyrics (via Proxy)",
"@lyricsProviderAppleMusicDesc": {
"description": "Description for Apple Music provider"
},
"lyricsProviderQqMusicDesc": "QQ Music (good for Chinese songs, via proxy)",
"lyricsProviderQqMusicDesc": "QQ Music (gut für chinesische Lieder, via Proxy)",
"@lyricsProviderQqMusicDesc": {
"description": "Description for QQ Music provider"
},
"lyricsProviderExtensionDesc": "Extension provider",
"lyricsProviderExtensionDesc": "Erweiterungsanbieter",
"@lyricsProviderExtensionDesc": {
"description": "Generic description for extension-based lyrics providers"
},
"safMigrationTitle": "Storage Update Required",
"safMigrationTitle": "Speicheraktualisierung erforderlich",
"@safMigrationTitle": {
"description": "Title of SAF migration dialog"
},
"safMigrationMessage1": "SpotiFLAC now uses Android Storage Access Framework (SAF) for downloads. This fixes \"permission denied\" errors on Android 10+.",
"safMigrationMessage1": "SpotiFLAC verwendet jetzt Android Storage Access Framework (SAF) beim Herunterladen. Dies behebt Fehler bei Android 10+.",
"@safMigrationMessage1": {
"description": "First paragraph of SAF migration dialog"
},
"safMigrationMessage2": "Please select your download folder again to switch to the new storage system.",
"safMigrationMessage2": "Bitte wähle dein Download-Ordner erneut aus, um zum neuen System zu wechseln.",
"@safMigrationMessage2": {
"description": "Second paragraph of SAF migration dialog"
},
@@ -3682,23 +3682,23 @@
"@safMigrationSuccess": {
"description": "Snackbar after successfully migrating to SAF"
},
"settingsDonate": "Donate",
"settingsDonate": "Unterstützen",
"@settingsDonate": {
"description": "Settings menu item - donate"
},
"settingsDonateSubtitle": "Support SpotiFLAC-Mobile development",
"settingsDonateSubtitle": "Unterstütze die SpotiFLAC-Mobile Entwickler",
"@settingsDonateSubtitle": {
"description": "Subtitle for donate menu item"
},
"tooltipLoveAll": "Love All",
"tooltipLoveAll": "Alle lieben",
"@tooltipLoveAll": {
"description": "Tooltip for the Love All button on album/playlist screens"
},
"tooltipAddToPlaylist": "Add to Playlist",
"tooltipAddToPlaylist": "Zur Wiedergabeliste hinzufügen",
"@tooltipAddToPlaylist": {
"description": "Tooltip for the Add to Playlist button"
},
"snackbarRemovedTracksFromLoved": "Removed {count} tracks from Loved",
"snackbarRemovedTracksFromLoved": "{count} Titel von geliebt entfernt",
"@snackbarRemovedTracksFromLoved": {
"description": "Snackbar after removing multiple tracks from Loved folder",
"placeholders": {
@@ -3716,7 +3716,7 @@
}
}
},
"dialogDownloadAllTitle": "Download All",
"dialogDownloadAllTitle": "Alle Herunterladen",
"@dialogDownloadAllTitle": {
"description": "Dialog title for bulk download confirmation"
},
@@ -3733,7 +3733,7 @@
"@homeSkipAlreadyDownloaded": {
"description": "Checkbox label in import dialog to skip already-downloaded songs"
},
"homeGoToAlbum": "Go to Album",
"homeGoToAlbum": "Zum Album gehen",
"@homeGoToAlbum": {
"description": "Context menu item to navigate to the album page"
},
@@ -3757,7 +3757,7 @@
"@snackbarFailedToWriteStorage": {
"description": "Snackbar when writing metadata back to file fails"
},
"snackbarError": "Error: {error}",
"snackbarError": "Fehler: {error}",
"@snackbarError": {
"description": "Generic error snackbar with error detail",
"placeholders": {
@@ -3786,7 +3786,7 @@
"@storageModeAppFolderSubtitle": {
"description": "Subtitle for app folder storage mode"
},
"storageModeSaf": "SAF folder",
"storageModeSaf": "SAF-Ordner",
"@storageModeSaf": {
"description": "Storage mode option - use Android SAF picker"
},
@@ -3798,7 +3798,7 @@
"@downloadFilenameDescription": {
"description": "Description text in filename format bottom sheet"
},
"downloadFilenameInsertTag": "Tap to insert tag:",
"downloadFilenameInsertTag": "Tippe, um Tag einzufügen:",
"@downloadFilenameInsertTag": {
"description": "Label above filename tag chips"
},
@@ -3830,11 +3830,11 @@
"@downloadCreatePlaylistSourceFolderRedundant": {
"description": "Subtitle when playlist folder prefix setting is redundant because folder organization is already by playlist"
},
"downloadSongLinkRegion": "SongLink Region",
"downloadSongLinkRegion": "SongLink-Region",
"@downloadSongLinkRegion": {
"description": "Setting title for SongLink country region"
},
"downloadNetworkCompatibilityMode": "Network compatibility mode",
"downloadNetworkCompatibilityMode": "Netzwerkkompatibilitätsmodus",
"@downloadNetworkCompatibilityMode": {
"description": "Setting title for network compatibility toggle"
},
@@ -3878,7 +3878,7 @@
"@downloadNeteaseIncludeRomanizationEnabled": {
"description": "Subtitle when Netease romanization is enabled"
},
"downloadNeteaseIncludeRomanizationDisabled": "Disabled",
"downloadNeteaseIncludeRomanizationDisabled": "Deaktiviert",
"@downloadNeteaseIncludeRomanizationDisabled": {
"description": "Subtitle when Netease romanization is disabled"
},
@@ -3914,11 +3914,11 @@
"@downloadFilterContributingDisabled": {
"description": "Subtitle when contributing artist filter is disabled"
},
"downloadProvidersNoneEnabled": "None enabled",
"downloadProvidersNoneEnabled": "Keine aktiviert",
"@downloadProvidersNoneEnabled": {
"description": "Subtitle for lyrics providers setting when no providers are enabled"
},
"downloadMusixmatchLanguageCode": "Language code",
"downloadMusixmatchLanguageCode": "Sprach-Code",
"@downloadMusixmatchLanguageCode": {
"description": "Label for the Musixmatch language code text field"
},
@@ -3934,7 +3934,7 @@
"@downloadMusixmatchAuto": {
"description": "Button to reset Musixmatch language to automatic"
},
"downloadNetworkAnySubtitle": "WiFi + Mobile Data",
"downloadNetworkAnySubtitle": "WLAN + Mobile Daten",
"@downloadNetworkAnySubtitle": {
"description": "Subtitle for 'Any' network mode option"
},
@@ -3950,11 +3950,11 @@
"@snackbarUnsupportedAudioFormat": {
"description": "Snackbar when the audio format is not supported for the requested operation"
},
"cacheRefresh": "Refresh",
"cacheRefresh": "Aktualisieren",
"@cacheRefresh": {
"description": "Tooltip for refresh button on cache management page"
},
"dialogDownloadPlaylistsMessage": "Download {trackCount} {trackCount, plural, =1{track} other{tracks}} from {playlistCount} {playlistCount, plural, =1{playlist} other{playlists}}?",
"dialogDownloadPlaylistsMessage": "Lade {trackCount} {trackCount, plural, one {}=1{Titel} other{Titel}} von {playlistCount} {playlistCount, plural, one {}=1{Playlist} other{Playlists}}?",
"@dialogDownloadPlaylistsMessage": {
"description": "Dialog message for bulk playlist download confirmation",
"placeholders": {
@@ -4000,7 +4000,7 @@
"@editMetadataAutoFillDesc": {
"description": "Description for the auto-fill section"
},
"editMetadataAutoFillFetch": "Fetch & Fill",
"editMetadataAutoFillFetch": "Abrufen & Ausfüllen",
"@editMetadataAutoFillFetch": {
"description": "Button label to fetch online metadata and fill selected fields"
},
@@ -4025,11 +4025,11 @@
"@editMetadataAutoFillNoneSelected": {
"description": "Snackbar when user taps Fetch without selecting any fields"
},
"editMetadataFieldTitle": "Title",
"editMetadataFieldTitle": "Titel",
"@editMetadataFieldTitle": {
"description": "Chip label for title field in auto-fill selector"
},
"editMetadataFieldArtist": "Artist",
"editMetadataFieldArtist": "Künstler",
"@editMetadataFieldArtist": {
"description": "Chip label for artist field in auto-fill selector"
},
@@ -4037,19 +4037,19 @@
"@editMetadataFieldAlbum": {
"description": "Chip label for album field in auto-fill selector"
},
"editMetadataFieldAlbumArtist": "Album Artist",
"editMetadataFieldAlbumArtist": "Album Künstler",
"@editMetadataFieldAlbumArtist": {
"description": "Chip label for album artist field in auto-fill selector"
},
"editMetadataFieldDate": "Date",
"editMetadataFieldDate": "Datum",
"@editMetadataFieldDate": {
"description": "Chip label for date field in auto-fill selector"
},
"editMetadataFieldTrackNum": "Track #",
"editMetadataFieldTrackNum": "Titel #",
"@editMetadataFieldTrackNum": {
"description": "Chip label for track number field in auto-fill selector"
},
"editMetadataFieldDiscNum": "Disc #",
"editMetadataFieldDiscNum": "Disk #",
"@editMetadataFieldDiscNum": {
"description": "Chip label for disc number field in auto-fill selector"
},
@@ -4065,19 +4065,19 @@
"@editMetadataFieldLabel": {
"description": "Chip label for label field in auto-fill selector"
},
"editMetadataFieldCopyright": "Copyright",
"editMetadataFieldCopyright": "Urheberrecht",
"@editMetadataFieldCopyright": {
"description": "Chip label for copyright field in auto-fill selector"
},
"editMetadataFieldCover": "Cover Art",
"editMetadataFieldCover": "Cover-Art",
"@editMetadataFieldCover": {
"description": "Chip label for cover art field in auto-fill selector"
},
"editMetadataSelectAll": "All",
"editMetadataSelectAll": "Alle",
"@editMetadataSelectAll": {
"description": "Button to select all fields for auto-fill"
},
"editMetadataSelectEmpty": "Empty only",
"editMetadataSelectEmpty": "Nur leer",
"@editMetadataSelectEmpty": {
"description": "Button to select only fields that are currently empty"
},
@@ -4090,11 +4090,11 @@
}
}
},
"queueDownloadedHeader": "Downloaded",
"queueDownloadedHeader": "Heruntergeladen",
"@queueDownloadedHeader": {
"description": "Header label for downloaded items section in library"
},
"queueFilteringIndicator": "Filtering...",
"queueFilteringIndicator": "Filtere...",
"@queueFilteringIndicator": {
"description": "Shown while filter results are being computed"
},
@@ -4116,7 +4116,7 @@
}
}
},
"queueEmptyAlbums": "No album downloads",
"queueEmptyAlbums": "Keine Album-Downloads",
"@queueEmptyAlbums": {
"description": "Empty state title when no album downloads exist"
},
@@ -4148,7 +4148,7 @@
"@selectionTapPlaylistsToSelect": {
"description": "Hint shown in playlist selection mode"
},
"selectionSelectPlaylistsToDelete": "Select playlists to delete",
"selectionSelectPlaylistsToDelete": "Playlist zum Löschen wählen",
"@selectionSelectPlaylistsToDelete": {
"description": "Hint shown when no playlists are selected for deletion"
},
@@ -4160,7 +4160,7 @@
"@audioAnalysisDescription": {
"description": "Description for audio analysis tap-to-analyze prompt"
},
"audioAnalysisAnalyzing": "Analyzing audio...",
"audioAnalysisAnalyzing": "Audio wird analysiert...",
"@audioAnalysisAnalyzing": {
"description": "Loading text while analyzing audio"
},
@@ -4168,15 +4168,15 @@
"@audioAnalysisSampleRate": {
"description": "Sample rate metric label"
},
"audioAnalysisBitDepth": "Bit Depth",
"audioAnalysisBitDepth": "Bit-Tiefe",
"@audioAnalysisBitDepth": {
"description": "Bit depth metric label"
},
"audioAnalysisChannels": "Channels",
"audioAnalysisChannels": "Kanäle",
"@audioAnalysisChannels": {
"description": "Channels metric label"
},
"audioAnalysisDuration": "Duration",
"audioAnalysisDuration": "Länge",
"@audioAnalysisDuration": {
"description": "Duration metric label"
},
@@ -4184,15 +4184,15 @@
"@audioAnalysisNyquist": {
"description": "Nyquist frequency metric label"
},
"audioAnalysisFileSize": "Size",
"audioAnalysisFileSize": "Größe",
"@audioAnalysisFileSize": {
"description": "File size metric label"
},
"audioAnalysisDynamicRange": "Dynamic Range",
"audioAnalysisDynamicRange": "Dynamischer Bereich",
"@audioAnalysisDynamicRange": {
"description": "Dynamic range metric label"
},
"audioAnalysisPeak": "Peak",
"audioAnalysisPeak": "Maximum",
"@audioAnalysisPeak": {
"description": "Peak amplitude metric label"
},
@@ -4200,7 +4200,7 @@
"@audioAnalysisRms": {
"description": "RMS level metric label"
},
"audioAnalysisSamples": "Samples",
"audioAnalysisSamples": "Proben",
"@audioAnalysisSamples": {
"description": "Total samples metric label"
},
@@ -4213,7 +4213,7 @@
}
}
},
"extensionsHomeFeedProvider": "Home Feed Provider",
"extensionsHomeFeedProvider": "Home Feed Anbieter",
"@extensionsHomeFeedProvider": {
"description": "Extensions page - label for home feed provider selector"
},
@@ -4250,7 +4250,7 @@
"@sortAlphaDesc": {
"description": "Sort option - alphabetical descending"
},
"cancelDownloadTitle": "Cancel download?",
"cancelDownloadTitle": "Download abbrechen?",
"@cancelDownloadTitle": {
"description": "Dialog title when confirming cancellation of an active download"
},
@@ -4263,7 +4263,7 @@
}
}
},
"cancelDownloadKeep": "Keep",
"cancelDownloadKeep": "Behalten",
"@cancelDownloadKeep": {
"description": "Dialog button - keep the active download (do not cancel)"
},
@@ -4284,19 +4284,19 @@
}
}
},
"errorLoadAlbum": "Failed to load album",
"errorLoadAlbum": "Fehler beim Laden des Albums",
"@errorLoadAlbum": {
"description": "Error state shown when album fails to load"
},
"errorLoadPlaylist": "Failed to load playlist",
"errorLoadPlaylist": "Fehler beim Laden der Playlist",
"@errorLoadPlaylist": {
"description": "Error state shown when playlist fails to load"
},
"errorLoadArtist": "Failed to load artist",
"errorLoadArtist": "Fehler beim Laden des Interpreten",
"@errorLoadArtist": {
"description": "Error state shown when artist fails to load"
},
"notifChannelDownloadName": "Download Progress",
"notifChannelDownloadName": "Download Fortschritt",
"@notifChannelDownloadName": {
"description": "Android notification channel name for download progress"
},
@@ -4304,7 +4304,7 @@
"@notifChannelDownloadDesc": {
"description": "Android notification channel description for download progress"
},
"notifChannelLibraryScanName": "Library Scan",
"notifChannelLibraryScanName": "Bibliotheksscan",
"@notifChannelLibraryScanName": {
"description": "Android notification channel name for library scan"
},
@@ -4346,7 +4346,7 @@
}
}
},
"notifAlreadyInLibrary": "Already in Library",
"notifAlreadyInLibrary": "Bereits in der Bibliothek",
"@notifAlreadyInLibrary": {
"description": "Notification title when track is already in library"
},
@@ -4362,7 +4362,7 @@
}
}
},
"notifDownloadComplete": "Download Complete",
"notifDownloadComplete": "Download abgeschlossen",
"@notifDownloadComplete": {
"description": "Notification title when a single download is complete"
},
@@ -4435,7 +4435,7 @@
}
}
},
"notifLibraryScanExcluded": "{count} excluded",
"notifLibraryScanExcluded": "{count} ausgeschlossen",
"@notifLibraryScanExcluded": {
"description": "Library scan complete suffix - excluded track count",
"placeholders": {
@@ -4444,7 +4444,7 @@
}
}
},
"notifLibraryScanErrors": "{count} errors",
"notifLibraryScanErrors": "{count} Fehler",
"@notifLibraryScanErrors": {
"description": "Library scan complete suffix - error count",
"placeholders": {
@@ -4489,7 +4489,7 @@
}
}
},
"notifUpdateReady": "Update Ready",
"notifUpdateReady": "Update bereit",
"@notifUpdateReady": {
"description": "Notification title when app update download is complete"
},
@@ -4502,7 +4502,7 @@
}
}
},
"notifUpdateFailed": "Update Failed",
"notifUpdateFailed": "Update fehlgeschlagen",
"@notifUpdateFailed": {
"description": "Notification title when app update download fails"
},