Eine Serie, eine Sprachwahl — nicht zwanzig

Auf der Serienseite im Web stand bei jeder einzelnen Folge ein Knopf für
Ton und einer für Untertitel. Zwanzig Folgen hiessen zwanzigmal dieselbe
Frage, und am Ende wusste niemand, welche Antwort gilt. „Dieser Anime
läuft auf Japanisch mit deutschen Untertiteln" ist eine Aussage über die
Serie, nicht über Folge 7.

Die Wahl steht jetzt einmal oben bei den Angaben zur Serie und an den
Folgen gar nicht mehr. Beim Film bleibt sie, wo sie war — dort ist die
Datei der Titel.

Angeboten werden nur Sprachen, die in **jeder** Folge vorkommen; was
dadurch wegfällt, steht als Satz darunter. Gemerkt wird die Sprache, nicht
die Spurnummer: die unterscheidet sich von Folge zu Folge, und beim Start
wird sie für diese Datei nachgeschlagen.

Dazu die Staffeln. Sie standen alle untereinander — nach Folge 8 kam
wieder eine Folge 1, und wer zur dritten Staffel wollte, scrollte an
zwanzig Folgen vorbei. Die Überschrift ist jetzt das Menü. Bei einer
einzigen Staffel bleibt es bei der Überschrift: ein Menü, das nur sich
selbst anbietet, ist keine Wahl.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-10-10 21:43:17 +02:00
co-authored by Claude Opus 5
parent 22be288fc3
commit fc36bb7ddb
3 changed files with 262 additions and 35 deletions
+17
View File
@@ -578,6 +578,23 @@ export const inhalt = (b: Bibliothek, q: Omit<Suchfrage, 'library'> = {}) =>
export const folgen = (serie: string, staffel?: number) =>
anfrage<Seite<Folge>>(`/series/${serie}/episodes${abfrage({ season: staffel })}`);
/** Eine Sprache, wie sie in einem Menü steht. */
export type Sprachangabe = { code: string; name: string };
/** Welche Sprachen eine Serie durchgehend führt.
*
* `partial` zählt, wie viele es nur in einem Teil der Folgen gibt — damit
* die Oberfläche es sagen kann, statt eine gekürzte Liste als ganze
* Wahrheit auszugeben. */
export type Serienstimmen = {
audio: Sprachangabe[];
subtitles: Sprachangabe[];
partial: number;
};
export const serienstimmen = (serie: string) =>
anfrage<Serienstimmen>(`/series/${serie}/languages`);
export const film = (id: string) => anfrage<Film>(`/movies/${id}`);
export const serie = (id: string) => anfrage<Serie>(`/series/${id}`);