Untertitel lassen sich jetzt einstellen

Groesse in vier Stufen, Schrift und Hintergrund als fuenf feste Paare —
Weiss, Weiss auf Schwarz, Schwarz auf Weiss, Gelb, Gelb auf Schwarz. Feste
Paare statt zweier Regler, weil unabhaengige Achsen unlesbare Mischungen
zulassen: Schwarz auf durchsichtig ueber einer Nachtszene ist eine
gueltige Einstellung und eine wertlose.

Die Uebersetzung nach AVFoundation ist eine Tabelle aus Schluesseln, bei
der jeder Fehler lautlos ist — ein falscher Schluessel laesst den
Initialisierer `nil` zurueckgeben, und dann gibt es gar keine Regel. Auf
dem Bildschirm sieht „keine Regel\" genauso aus wie „Regel ohne Wirkung\".
Zehn Tests decken das ab, darunter die drei Fallen: Alpha zuerst in der
Farbe, Prozentwert statt Punktgroesse, und der Hintergrund auch fuer
„durchsichtig\" ausdruecklich gesetzt statt weggelassen — weggelassen gilt
sonst, was Jellyfins WebVTT selbst mitbringt, und das ist oft ein
schwarzer Kasten.

Als Protokollmethode, nicht als Feld an `PlaybackSource`: die wird einmal
beim Oeffnen gelesen, und eine Einstellung, die erst beim naechsten Film
wirkt, haelt jeder fuer kaputt. Angewandt wird an zwei Stellen — am
laufenden Gegenstand und am frisch angelegten. Nur das erste zu tun hiesse,
dass die naechste Folge wieder in der Vorgabe erscheint.

VLC erbt die leere Vorgabe. Die Einstellungsseite sagt beides: dass es fuer
den Standardplayer gilt, und dass eingebrannte Bilduntertitel von Blu-rays
sich nicht gestalten lassen, weil es dort keinen Text gibt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-09-28 21:22:22 +02:00
co-authored by Claude Opus 5
parent a1ff5cb7bb
commit 0815432efd
14 changed files with 815 additions and 0 deletions
+306
View File
@@ -6535,6 +6535,312 @@
}
}
},
"subtitleStyle.headerExplanation": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Größe und Farbe der Untertitel im Player."
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "How subtitles look in the player."
}
}
}
},
"subtitleStyle.palette": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Darstellung"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Appearance"
}
}
}
},
"subtitleStyle.palette.blackOnWhite": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Schwarz auf Weiß"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Black on white"
}
}
}
},
"subtitleStyle.palette.whiteOnBlack": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Weiß auf Schwarz"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "White on black"
}
}
}
},
"subtitleStyle.palette.whiteOnClear": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Weiß"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "White"
}
}
}
},
"subtitleStyle.palette.yellowOnBlack": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Gelb auf Schwarz"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Yellow on black"
}
}
}
},
"subtitleStyle.palette.yellowOnClear": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Gelb"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Yellow"
}
}
}
},
"subtitleStyle.paletteExplanation": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Gilt für den Standardplayer und für Untertitel, die als Text vorliegen. Bilduntertitel von Blu-rays brennt der Server ins Bild — dort gibt es keinen Text zu gestalten, und diese Einstellungen bleiben ohne Wirkung."
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Applies to the standard player and to subtitles that come as text. Image subtitles from Blu-rays are burned into the picture by the server — there is no text to style, so these settings have no effect there."
}
}
}
},
"subtitleStyle.paletteHeader": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Schrift und Hintergrund"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Text and background"
}
}
}
},
"subtitleStyle.previewHeader": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Vorschau"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Preview"
}
}
}
},
"subtitleStyle.previewText": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "So sehen deine Untertitel aus."
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "This is how your subtitles look."
}
}
}
},
"subtitleStyle.size": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Größe"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Size"
}
}
}
},
"subtitleStyle.size.huge": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Sehr groß"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Very large"
}
}
}
},
"subtitleStyle.size.large": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Groß"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Large"
}
}
}
},
"subtitleStyle.size.normal": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Normal"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Normal"
}
}
}
},
"subtitleStyle.size.small": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Klein"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Small"
}
}
}
},
"subtitleStyle.sizeExplanation": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Bezogen auf die Vorgabe des Players, nicht auf eine feste Schriftgröße — die Untertitel bleiben damit auf jedem Bildschirm gleich gut lesbar."
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Relative to the player’s own default rather than a fixed point size, so subtitles stay readable on any screen."
}
}
}
},
"subtitleStyle.title": {
"extractionState": "manual",
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Untertitel"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Subtitles"
}
}
}
},
"technical.audio": {
"extractionState": "stale",
"localizations": {