siftlode/frontend/src/i18n/locales/de/player.json
npeter83 9af0b90816 feat(player): open YouTube's native settings menu fully + push higher quality
The transparent interaction overlay (click=play/pause, wheel=volume, keeps
keyboard focus off the cross-origin iframe) also blocked YouTube's own settings
menu, which expands down over the video past the overlay: items below the first
few were unclickable, and 'More options' made it worse.

Now the overlay yields to native controls. Clicking a native control (gear/seek/
CC) moves focus into the player iframe — the only cross-origin signal available —
which we detect (window blur + getIframe() focus check) to drop the overlay's
pointer-events, so the whole menu is navigable at any height. A discreet badge
signals native mode; moving the pointer off the video (or the window regaining
focus) re-arms the click/scroll/keyboard shortcuts.

Quality: the IFrame API's setPlaybackQuality/suggestedQuality are hard no-ops now,
so the real lever is the rendered player size — bump the modal max-w-4xl -> 6xl so
YouTube's ABR targets a higher resolution — plus a best-effort 'vq=hd1080' URL hint.
i18n (en/hu/de) for the native-mode badge.
2026-07-10 15:52:34 +02:00

40 lines
1.6 KiB
JSON

{
"loading": "Wird geladen…",
"backToOriginal": "Zurück zum ursprünglichen Video",
"back": "Zurück",
"previous": "Vorheriges",
"next": "Nächstes",
"autoAdvance": {
"label": "Auto",
"hint": "Was am Videoende folgt. Klicken zum Wechseln: Aus, Nächstes, Vorheriges, Zufall. In deinem Konto gespeichert.",
"off": "Aus",
"next": "Nächstes",
"prev": "Vorheriges",
"random": "Zufall"
},
"loop": {
"label": "Wiederholen",
"hint": "Aktuelles Video wiederholen (Eins), ganze Liste wiederholen (Alle) oder keines (Aus). In deinem Konto gespeichert.",
"off": "Aus",
"one": "Eins",
"all": "Alle"
},
"close": "Schließen",
"closeEsc": "Schließen (Esc)",
"description": "Beschreibung",
"noDescription": "Keine Beschreibung.",
"channel": "Kanal",
"views": "{{formattedCount}} Aufrufe",
"stream": "Stream",
"watched": "Angesehen",
"markWatched": "Als angesehen markieren",
"watchedUnmark": "Angesehen — zum Aufheben klicken",
"jumpToTime": "Zu dieser Stelle springen",
"playInApp": "Im integrierten Player abspielen",
"unavailableTitle": "Hier nicht abspielbar",
"unavailableBody": "Dieses Video ist nicht verfügbar — möglicherweise privat, entfernt oder regional gesperrt.",
"embedDisabledBody": "Der Eigentümer hat die Wiedergabe auf anderen Seiten deaktiviert (häufig bei automatisch generierten „Topic“-Musiktiteln). Auf YouTube ist es weiterhin abspielbar.",
"openOnYoutube": "Auf YouTube öffnen",
"shortcutsHint": "Klick: Wiedergabe/Pause · Scrollen: Lautstärke · F: Vollbild",
"nativeControls": "YouTube-Steuerung aktiv"
}