1) Fix: the selected playlist is now persisted (localStorage) and scrolled into view, so F5 keeps it instead of jumping to the first one. 2) Consolidate the in-detail sort: one key select (Title/Duration/Channel) + an asc/desc direction toggle (was separate A-Z / Z-A / shortest / longest options); add Channel as a sort key. Direction also orders the channel groups when grouping. 3) Left rail sorting: by name / item count / total length, asc/desc, plus an 'unsynced first' toggle that floats playlists with unpushed edits to the top. Backend: list/summary now return total_duration_seconds (grouped sum). The rail also shows each playlist's total length. Sort prefs persist to localStorage.
51 lines
2.7 KiB
JSON
51 lines
2.7 KiB
JSON
{
|
|
"title": "Wiedergabelisten",
|
|
"watchLater": "Später ansehen",
|
|
"syncYoutube": "Von YouTube synchronisieren",
|
|
"syncedToast": "{{count}} Wiedergabelisten von YouTube synchronisiert",
|
|
"syncFailed": "Synchronisierung von YouTube fehlgeschlagen",
|
|
"ytReadonly": "Von YouTube synchronisiert — Änderungen werden zurücksynchronisiert",
|
|
"noneYet": "Noch keine Wiedergabelisten",
|
|
"newPlaylist": "Neue Liste…",
|
|
"itemCount_one": "{{count}} Video",
|
|
"itemCount_other": "{{count}} Videos",
|
|
"pickOne": "Wähle links eine Liste.",
|
|
"loading": "Wird geladen…",
|
|
"empty": "Diese Liste ist leer — füge Videos aus dem Feed hinzu.",
|
|
"playAll": "Alle abspielen",
|
|
"delete": "Löschen",
|
|
"rename": "Umbenennen",
|
|
"confirmDelete": "Die Wiedergabeliste „{{name}}“ löschen? Kann nicht rückgängig gemacht werden.",
|
|
"addToPlaylist": "Zur Wiedergabeliste hinzufügen",
|
|
"exportToYoutube": "Zu YouTube exportieren",
|
|
"pushToYoutube": "Mit YouTube synchronisieren",
|
|
"unsynced": "Nicht synchronisierte Änderungen",
|
|
"pushTitle": "Mit YouTube synchronisieren",
|
|
"pushConfirm": "Synchronisieren",
|
|
"pushPlanCreate": "Eine neue YouTube-Wiedergabeliste mit {{count}} Videos erstellen? (~{{units}} Kontingenteinheiten; heute noch {{left}} übrig.)",
|
|
"pushPlanUpdate": "Auf YouTube aktualisieren — {{insert}} hinzufügen, {{del}} entfernen, {{reorder}} neu anordnen? (~{{units}} Kontingenteinheiten; heute noch {{left}} übrig.)",
|
|
"pushDiverged": "{{count}} Video(s), die derzeit auf YouTube sind, werden entfernt.",
|
|
"pushNoQuota": "Nicht genug YouTube-Kontingent für heute ({{left}}) für diese Synchronisierung (~{{units}} benötigt). Versuche es morgen erneut.",
|
|
"pushUpToDate": "Bereits mit YouTube synchronisiert.",
|
|
"pushDone": "Mit YouTube synchronisiert ✓",
|
|
"pushPartial": "Synchronisiert, aber {{count}} Element(e) wurden übersprungen.",
|
|
"pushFailed": "Synchronisierung mit YouTube fehlgeschlagen.",
|
|
"deleteOnYoutubeTitle": "Auch auf YouTube löschen?",
|
|
"deleteOnYoutubeMsg": "„{{name}}“ auch aus deinem YouTube-Konto löschen? Wähle „Nur hier“, um sie auf YouTube zu behalten.",
|
|
"deleteOnYoutubeConfirm": "Auf YouTube löschen",
|
|
"deleteHereOnly": "Nur hier",
|
|
"deleteYtFailed": "Löschen auf YouTube fehlgeschlagen; nur hier entfernt.",
|
|
"sortLabel": "Sortierung",
|
|
"sortManual": "Eigene Reihenfolge",
|
|
"sortTitle": "Titel",
|
|
"sortDuration": "Dauer",
|
|
"sortChannel": "Kanal",
|
|
"dirAsc": "Aufsteigend",
|
|
"dirDesc": "Absteigend",
|
|
"groupByChannel": "Nach Kanal gruppieren",
|
|
"railSortCustom": "Eigene Reihenfolge",
|
|
"railSortName": "Name",
|
|
"railSortCount": "Anzahl",
|
|
"railSortDuration": "Gesamtlänge",
|
|
"dirtyFirst": "Nicht synchronisierte zuerst"
|
|
}
|