use super::Strings;
use crate::providers::ProviderId;
pub const STRINGS: Strings = Strings {
search: "Suchen",
downloads: "Downloads",
settings: "Einstellungen",
library: "Bibliothek",
nothing_saved_yet: "Noch nichts gespeichert",
new_playlist_name: "Name der neuen Wiedergabeliste",
queue: "Warteschlange",
recently_played: "Kürzlich gespielt",
now_playing_from: "Wird gerade gespielt von",
now_playing: "Wird gerade gespielt",
up_next: "Als Nächstes",
no_track_playing: "Es wird keine Titel wiedergegeben",
no_more_tracks_in_queue: "Keine weiteren Titel in der Warteschlange",
no_recently_played_tracks: "Keine kürzlich gespielten Titel",
not_playing: "Nichts wird abgespielt",
no_tracks_found: "Keine Titel gefunden",
searching: "Suchen…",
loading: "Laden…",
load_more: "Mehr laden",
no_results_found: "Keine Ergebnisse",
no_recent_searches: "Keine kürzlichen Suchen",
generating_radio: "Radio wird generiert…",
not_an_artist_page: "Keine Künstlerseite",
provided_by: "Bereitgestellt von",
retry: "Erneut versuchen",
nothing_here: "Hier ist nichts",
most_popular_songs: "Beliebteste Titel",
albums: "Alben",
playlists: "Wiedergabelisten",
fans_also_like: "Fans mögen auch",
looking_up_lyrics: "Liedtexte werden gesucht…",
play_a_track_for_lyrics: "Spiele einen Titel, um den Text zu sehen.",
lyrics_selectable: "Auswählbar",
lyrics_synced: "Synchronisiert",
lyrics_plain: "Einfach",
playlist_not_found: "Wiedergabeliste nicht gefunden",
add_local: "Lokal hinzufügen",
downloaded_tracks: "Heruntergeladene Titel",
no_downloaded_tracks: "Keine heruntergeladenen Titel",
ctx_play: "Abspielen",
ctx_play_local: "Lokal abspielen",
ctx_edit: "Bearbeiten",
ctx_go_to_artist: "Zum Künstler",
ctx_add_to_playlist: "Zur Wiedergabeliste hinzufügen",
ctx_download: "Herunterladen",
ctx_song_radio: "Titel-Radio",
ctx_artist_radio: "Künstler-Radio",
ctx_remove_from_queue: "Aus Warteschlange entfernen",
ctx_remove_from_playlist: "Aus Wiedergabeliste entfernen",
sub_play_via: "Abspielen über",
sub_download_from: "Herunterladen von",
sub_via: "Über",
sub_on: "Auf",
via_search_suffix: "(Suche)",
current: "(aktuell)",
select: "auswählen",
find: "Suchen",
finding: "Suchen…",
found_on: |p| format!("Gefunden auf {p}"),
not_linked: "Nicht verknüpft",
providers: "Anbieter",
no_provider_data: "Dieser Titel hat keine Anbieterdaten.",
save: "Speichern",
cancel: "Abbrechen",
edit_track: "Titel bearbeiten",
lbl_title: "Titel",
lbl_artist: "Künstler",
ph_track_title: "Titelname",
ph_track_artist: "Künstlername",
delete: "Löschen",
delete_playlist_q: "Wiedergabeliste löschen?",
tracks_wont_be_deleted: "Titel werden nicht gelöscht.",
lbl_id: "Id",
lbl_url: "Url",
lbl_artist_id: "Künstler-ID",
lbl_duration_secs: "Dauer (in Sekunden)",
lbl_thumbnail: "Vorschaubild",
lbl_album: "Album",
sec_playback: "Wiedergabe",
sec_storage: "Speicher",
sec_history: "Verlauf",
sec_appearance: "Erscheinungsbild",
sec_dependencies: "Abhängigkeiten",
theme_lbl: "Thema",
language_lbl: "Sprache",
default_provider_lbl: "Standard-Anbieter für Streaming und Download",
normalize_volume_lbl: "Lautstärke zwischen Titeln anpassen",
download_dir_lbl: "Download-Verzeichnis",
cache_size_lbl: "Max. Streaming-Cache-Größe (MB)",
hist_rows_lbl: "Angezeigte Zeilen des Suchverlaufs",
hist_entries_lbl: "Gespeicherte Einträge des Suchverlaufs",
recent_kept_lbl: "Gespeicherte kürzlich gespielte Titel",
reset_defaults: "Auf Standard zurücksetzen",
find_in_list: "In Liste suchen…",
scope_songs: "Titel",
scope_videos: "Videos",
scope_artists: "Künstler",
scope_albums: "Alben",
scope_playlists: "Wiedergabelisten",
radio_word_song: "Titel",
radio_word_artist: "Künstler",
lyrics_copied: "Liedtext in Zwischenablage kopiert",
saved_to_library: "In Bibliothek gespeichert",
removed_from_library: "Aus Bibliothek entfernt",
no_lyrics_found: "Für diesen Titel wurden keine Texte gefunden.",
select_playlist_drop: "Wähle eine Wiedergabeliste zum Ablegen der Titel",
reordered_playlist: "Wiedergabeliste neu geordnet",
n_saved: |n| format!("{n} gespeichert"),
n_plays: |n| format!("{} Wiedergaben", crate::util::format_count(n)),
search_placeholder: |p| match p {
ProviderId::YouTube => "YouTube Music durchsuchen…".into(),
ProviderId::Local => "Suchen…".into(),
other => format!("{} durchsuchen…", other.label()),
},
added: |n| format!("Hinzugefügt: {}", de_tracks(n)),
added_to: |n, to| format!("Hinzugefügt: {} zu {to}", de_tracks(n)),
removed_n: |n| format!("Entfernt: {}", de_tracks(n)),
removed_from: |n, from| format!("Entfernt: {} aus {from}", de_tracks(n)),
pasted_into: |n, into| format!("Eingefügt: {} in {into}", de_tracks(n)),
saved_title: |t| format!("\"{t}\" in Bibliothek gespeichert"),
playlist_created: |n| format!("Wiedergabeliste \"{n}\" erstellt"),
added_local: |n| format!("Hinzugefügt: {} (wähle eine Wiedergabeliste zum Ordnen)", de_tracks(n)),
downloading_n: |n| format!("Herunterladen von {}…", de_tracks(n)),
resolving_on: |title, p| format!("\"{title}\" wird auf {p} aufgelöst…"),
provider_no_radio: |p| format!("{p} unterstützt kein Radio"),
generating_radio_for: |w, name| format!("Radio wird generiert für {w}: {name}…"),
could_not_find_on: |name, p| format!("\"{name}\" konnte nicht auf {p} gefunden werden"),
opening: |l| format!("Öffnen: {l}…"),
opening_artist: |name| format!("Künstler wird geöffnet: {name}…"),
download_complete: |path| format!("Download abgeschlossen! Gespeichert in {path}"),
failed_resolve_on: |title, p, e| format!("Auflösen von \"{title}\" auf {p} fehlgeschlagen: {e}"),
couldnt_load: |e| format!("Laden fehlgeschlagen: {e}"),
couldnt_load_lyrics: |e| format!("Laden des Texts fehlgeschlagen: {e}"),
search_failed: |e| format!("Suche fehlgeschlagen: {e}"),
radio_label: |w, name| format!("Radio ({w}): {name}"),
ctx_add_to_playlist_n: |n| format!("{} zur Wiedergabeliste hinzufügen", de_tracks(n)),
ctx_download_n: |n| format!("{} herunterladen", de_tracks(n)),
ctx_remove_from_queue_n: |n| format!("{} aus der Warteschlange entfernen", de_tracks(n)),
ctx_remove_from_playlist_n: |n| format!("{} aus der Wiedergabeliste entfernen", de_tracks(n)),
import_playlist: "Wiedergabeliste importieren",
import_method_native: "Nativ",
import_method_filelist: "Dateiliste",
import_method_csv: "CSV",
import_native_hint: "Importiert Wiedergabelisten aus einer playlists.json-Datei.",
import_csv_name_col: "Namensspalte",
import_csv_artist_col: "Künstlerspalte",
import_csv_album_col: "Albenspalte",
import_csv_preset: "Voreinstellung",
import_csv_preset_default: "Standard",
import_csv_preset_exportify: "Exportify",
import_csv_exportify_note: "Unterstützt Spotify-Wiedergabelisten, die von https://exportify.net/ exportiert wurden.",
import_pattern_lbl: "Dateinamen-Muster",
import_playlist_name: "Name der Wiedergabeliste",
import_add_pattern: "Muster hinzufügen",
import_select_file: "Datei auswählen",
import_select_folder: "Ordner auswählen",
import_pattern_conflict: |a, b| {
format!(
"Die Muster \"{a}\" und \"{b}\" können dieselbe Datei mit widersprüchlichen Feldern treffen. Entferne oder korrigiere eines."
)
},
import_playlists_imported: |n| format!("{} importiert", de_tracks(n)),
import_imported_into: |n, into| format!("{} in {} importiert", de_tracks(n), into),
import_no_tracks: "Keine Titel zum Importieren gefunden.",
import_no_match: "Keine Dateien stimmen mit den Mustern überein.",
import_bad_file: "Die ausgewählte Datei konnte nicht gelesen werden.",
deps_title: "Fehlende Abhängigkeiten",
deps_intro: "Einige von der App genutzte Werkzeuge fehlen. Wähle aus, welche installiert werden sollen, oder verwirf, um fortzufahren (Suche und Streaming funktionieren möglicherweise nicht, bis sie vorhanden sind).",
deps_install: "Installieren",
deps_install_selected: "Ausgewählte installieren",
deps_discard: "Verwerfen",
deps_installing: "Installieren…",
deps_installed: "Installiert",
deps_failed: "Fehlgeschlagen",
deps_installed_toast: "Ausgewählte Abhängigkeiten installiert.",
deps_yt_dlp_desc: "Streamt und lädt Audio herunter (erforderlich)",
deps_ytmusicapi_desc: "YouTube-Music-Suche (optional, Fallback auf yt-dlp)",
deps_python3_desc: "Benötigt von ytmusicapi (YouTube-Music-Suche)",
deps_ytmusicapi_requires_python: "Benötigt Python 3 (zuerst installieren)",
deps_play_requires_yt_dlp: "Wiedergabe benötigt yt-dlp – im Startdialog installieren, um dies abzuspielen.",
deps_source_not_playable: "Diese Quelle kann nicht abgespielt werden.",
deps_found_section_title: "Auf deinem System gefunden",
deps_found_section_intro: "Diese sind bereits verfügbar. Markiere welche, um eine von der App verwaltete Kopie zu installieren (die App-Kopie hat Vorrang vor der Systemkopie).",
deps_found_on_system: "Auf deinem System gefunden",
deps_managed_by_app: "Installiert (von App verwaltet)",
deps_not_installed: "Nicht installiert",
deps_delete: "Löschen",
deps_deleting: "Löschen…",
deps_deleted: "Gelöscht",
deps_delete_failed: "Löschen fehlgeschlagen",
sec_updates: "Updates",
check_for_updates: "Auf Updates prüfen",
checking_for_updates: "Suche nach Updates…",
up_to_date: "Auf dem neuesten Stand",
current_version: |v| format!("Version {v}"),
update_available: |v| format!("Version {v} verfügbar. Gehen Sie zu den Einstellungen, um zu aktualisieren."),
update_now: "Jetzt aktualisieren",
updating: "Aktualisierung…",
update_applied: |v| format!("Auf {v} aktualisiert. Starte neu…"),
package_managed: "Kann nicht automatisch aktualisieren (kein Schreibrecht im Anwendungsverzeichnis). Wenn über einen Paketmanager installiert, nutzen Sie diesen für Updates.",
update_failed: |e| format!("Aktualisierung fehlgeschlagen: {e}"),
};
fn de_tracks(n: usize) -> String {
if n == 1 {
"1 Titel".into()
} else {
format!("{n} Titel")
}
}