Konto unten in der Seitenleiste — und eine Einstellung, die es nicht gab

Zwei Dinge aus deinen Einstellungs-Bildern.

**Das Konto sitzt jetzt unten in der Seitenleiste**, nicht als gleichrangiger
Eintrag zwischen den Mediatheken. Dort sucht man es, und von dort führt der
Weg in die Einstellungen und zum Abmelden. Auch das ist eine Systemstelle —
`tabViewSidebarBottomBar` —, also dieselbe Zeile, an der sie bei JellyTV
steht. Auf dem iPhone gibt es sie nicht; dort bleibt es beim eigenen Eintrag.

Der Buchstabe auf der Scheibe ist kein Platzhalter für ein Bild, das noch
kommt: Jellyfin gibt kein Profilbild heraus, solange keines hinterlegt ist,
und Plex kennt den Kontonamen am Server gar nicht. Bei Plex steht deshalb der
Servername oben und darunter nichts — statt zweimal dasselbe.

**Ton- und Untertitelsprache lassen sich jetzt einstellen.** Beim Durchsehen
deiner Bilder ist mir aufgefallen, dass es diese Vorliebe längst gibt: der
Player liest sie bei jeder Wiedergabe aus und wählt die passende Spur. Nur
äußern konnte man sie nirgends — sie stand in den Voreinstellungen und blieb
dort für immer leer. Eine Vorliebe, die niemand äußern kann, ist keine.

Fünfzehn Sprachen, keine vollständige Liste: ein Rad mit zweihundert
Einträgen, um „Deutsch" zu finden, wäre keine Hilfe. Was fehlt, kommt später
mit einem Suchfeld dazu.

Gebaut und übersetzt, aber **nicht angesehen**: der Simulator-Tunnel ist
mitten im Prüfen abgestürzt und ließ sich nicht wieder aufbauen. Dass es die
Systemstelle gibt, beweist der Compiler; wie sie aussieht, habe ich diesmal
nicht gesehen.

258 Tests grün.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-09-13 14:45:16 +02:00
co-authored by Claude Opus 5
parent 4a8500fc37
commit 3f6c6d8816
6 changed files with 433 additions and 96 deletions
+166 -1
View File
@@ -33,6 +33,22 @@
"comment": "A label for a 720p movie.",
"isCommentAutoGenerated": true
},
"account.settings": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Einstellungen"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Settings"
}
}
}
},
"action.addFavourite": {
"extractionState": "stale",
"localizations": {
@@ -354,6 +370,7 @@
}
},
"appearance.navigation": {
"extractionState": "stale",
"localizations": {
"de": {
"stringUnit": {
@@ -370,6 +387,7 @@
}
},
"appearance.navigationExplanation": {
"extractionState": "stale",
"localizations": {
"de": {
"stringUnit": {
@@ -386,6 +404,7 @@
}
},
"appearance.navigationSide": {
"extractionState": "stale",
"localizations": {
"de": {
"stringUnit": {
@@ -402,6 +421,7 @@
}
},
"appearance.navigationTop": {
"extractionState": "stale",
"localizations": {
"de": {
"stringUnit": {
@@ -1890,6 +1910,150 @@
}
}
},
"languages.audio": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Tonspur"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Audio track"
}
}
}
},
"languages.audioExplanation": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Gibt es beim Abspielen eine Tonspur in dieser Sprache, wird sie von selbst gewählt. Sonst bleibt es bei der Spur, die der Server voranstellt."
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "If a track in this language exists, it is selected automatically. Otherwise the server's own first track is used."
}
}
}
},
"languages.audioHeader": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Ton"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Audio"
}
}
}
},
"languages.serverDefault": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Wie der Server vorgibt"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "As the server prefers"
}
}
}
},
"languages.subtitles": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Untertitel"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Subtitles"
}
}
}
},
"languages.subtitlesExplanation": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Untertitel werden nur eingeschaltet, wenn es sie in dieser Sprache gibt. „Aus“ heißt: gar keine, bis du sie im Player selbst einschaltest."
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Subtitles are only switched on when they exist in this language. “Off” means none until you turn them on in the player."
}
}
}
},
"languages.subtitlesHeader": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Untertitel"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Subtitles"
}
}
}
},
"languages.subtitlesOff": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Aus"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Off"
}
}
}
},
"languages.title": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Ton & Untertitel"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Audio & subtitles"
}
}
}
},
"library.clearFilters": {
"extractionState": "stale",
"localizations": {
@@ -3911,6 +4075,7 @@
},
"sidebar.close": {
"comment": "Barrierefreiheit: abgedunkelte Fläche",
"extractionState": "stale",
"localizations": {
"de": {
"stringUnit": {
@@ -3963,7 +4128,6 @@
},
"sidebar.libraries": {
"comment": "Überschrift über der Liste der Mediatheken",
"extractionState": "stale",
"localizations": {
"de": {
"stringUnit": {
@@ -4016,6 +4180,7 @@
},
"sidebar.open": {
"comment": "Barrierefreiheit: Hamburger-Knopf",
"extractionState": "stale",
"localizations": {
"de": {
"stringUnit": {