Engine - Hintergrund-URLSession: läuft weiter, wenn die App zu ist. Der ganze Zustand liegt in SwiftData, weil es nach einem Neustart kein anderes Gedächtnis gibt. - Pausieren über cancel(byProducingResumeData:) — nur so lässt sich weiterladen statt neu zu beginnen. Bei 40 GB der Unterschied zwischen brauchbar und unbrauchbar. - Zwei Übertragungen gleichzeitig, Folgen in Staffel-/Folgenreihenfolge. Alles parallel zu laden hieße: keine Folge wird fertig. - Speicherlimit und Geräteplatz werden vor dem Annehmen geprüft, ein Gigabyte bleibt als Puffer frei. - Verwaiste Dateien werden beim Start entfernt; sie entstehen, wenn die App genau beim Abschluss beendet wird. - Downloads liegen in Application Support, nicht in Caches (iOS räumt den eigenmächtig leer) und sind von der iCloud-Sicherung ausgenommen. Oberfläche - Download-Knopf auf Detailseiten mit vier Zuständen in einem Knopf. - „Alle Folgen laden" für Staffel und Serie; ein abgelehnter Titel stoppt den Stapel nicht. - Downloads-Ansicht mit Belegung, WLAN-Schalter, Pausieren, Fortsetzen, Löschen — nach Serie gruppiert. Offline - Der Player bevorzugt die lokale Datei, auch ohne erreichbaren Server. - Beim Herunterladen wird ein Abzug der Serverangaben mitgesichert: offline lässt sich nichts nachfragen, und der PlaybackDecider braucht Container und Codecs. Ein Fehler, den die Tests aufgedeckt haben: der Koordinator hielt nur den ModelContext, nicht den ModelContainer. Ein ModelContext hält seinen Container nicht am Leben — wird der anderswo freigegeben, stürzt jeder Zugriff auf einen Eintrag ab, und die Meldung zeigt auf ModelContext.reset statt auf die Ursache. Jetzt liegt die Zuständigkeit beim Koordinator. 102 Tests. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2584 lines
57 KiB
Plaintext
2584 lines
57 KiB
Plaintext
{
|
||
"sourceLanguage": "en",
|
||
"strings": {
|
||
"4K": {
|
||
"comment": "A label for a 4K video.",
|
||
"isCommentAutoGenerated": true
|
||
},
|
||
"720p": {
|
||
"comment": "A label for a 720p video.",
|
||
"isCommentAutoGenerated": true
|
||
},
|
||
"1080p": {
|
||
"comment": "A label for a 1080p video.",
|
||
"isCommentAutoGenerated": true
|
||
},
|
||
"action.apply": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Übernehmen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Apply"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"action.cancel": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Abbrechen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Cancel"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"action.close": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Schließen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Close"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"action.retry": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Erneut versuchen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Try again"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"action.signOut": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Abmelden"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Sign out"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"connecting.searching": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Server werden gesucht …"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Looking for servers…"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"connecting.to %@": {
|
||
"comment": "Platzhalter: Servername",
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Verbinde mit %@ …"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Connecting to %@…"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"detail.cast": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Besetzung"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Cast"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"detail.episodeCount %lld": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld Folgen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld episodes"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"detail.episodes": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Folgen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Episodes"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"detail.playFromStart": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Von vorn abspielen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Play from start"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"detail.seasons": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Staffeln"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Seasons"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"detail.unwatchedCount %lld": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld ungesehen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld unwatched"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"detail.versions": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Fassung"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Version"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"episode.short %lld %lld": {
|
||
"comment": "Staffel- und Folgennummer",
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "S%lld E%lld"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "S%lld E%lld"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"error.noServers": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "An deinem Plex-Konto hängt kein Server."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "There's no server on your Plex account."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"error.notFound": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Dieser Titel ist auf dem Server nicht mehr vorhanden."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "This title is no longer on the server."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"error.server %lld": {
|
||
"comment": "Platzhalter: HTTP-Statuscode",
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Der Server hat mit Fehler %lld geantwortet."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "The server responded with error %lld."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"error.serverUnreachable": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Der Server ist nicht erreichbar. Prüfe, ob er läuft und ob du im selben Netzwerk bist."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "The server can't be reached. Check that it's running and that you're on the same network."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"error.title": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Das hat nicht geklappt"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Something went wrong"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"error.unauthorized": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Die Anmeldung ist abgelaufen. Melde dich erneut an."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Your sign-in has expired. Please sign in again."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"error.unexpectedResponse": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Die Antwort des Servers war unerwartet. Möglicherweise ist eine neuere Plex-Version installiert."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "The server's response was unexpected. It may be running a newer version of Plex."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"filter.any": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Alle"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Any"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"filter.filters": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Filter"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Filters"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"filter.genre": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Genre"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Genre"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"filter.reset": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Zurücksetzen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Reset"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"filter.resolution": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Auflösung"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Resolution"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"filter.sort": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Sortierung"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Sort by"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"filter.title": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Filter"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Filters"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"filter.unwatchedOnly": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Nur Ungesehene"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Unwatched only"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"hero.details": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Details"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Details"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"hero.play": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Abspielen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Play"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"hero.resume": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Weiterschauen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Resume"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"home.empty.description": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Sobald dein Server Mediatheken enthält, erscheinen sie hier."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Once your server has libraries, they'll show up here."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"home.empty.title": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Noch nichts da"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Nothing here yet"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"item.watched": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Gesehen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Watched"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"library.clearFilters": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Filter zurücksetzen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Clear filters"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"library.empty.description": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Mit den aktuellen Filtern bleibt nichts übrig."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Nothing matches the current filters."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"library.empty.title": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Keine Titel"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "No titles"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"library.filters": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Filter"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Filters"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"library.toggleLayout": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Ansicht wechseln"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Switch layout"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"placeholder.description": {
|
||
"comment": "Platzhalter-Bildschirme",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Dieser Bereich entsteht in einer späteren Phase."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "This area is coming in a later phase."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.back10": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "10 Sekunden zurück"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Back 10 seconds"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.close": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Player schließen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Close player"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.forward10": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "10 Sekunden vor"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Forward 10 seconds"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.loadFailed": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Die Datei ließ sich nicht öffnen."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "The file couldn't be opened."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.noPlayableFile": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Zu diesem Titel gibt es keine abspielbare Datei auf dem Server."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "There's no playable file for this title on the server."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.pause": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Pause"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Pause"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.play": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Abspielen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Play"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.playbackFailed": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Die Wiedergabe wurde unterbrochen."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Playback was interrupted."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"runtime.hoursMinutes %lld %lld": {
|
||
"comment": "Laufzeit mit Stunden",
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld Std %lld Min"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lldh %lldm"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"runtime.minutes %lld": {
|
||
"comment": "Laufzeit unter einer Stunde",
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld Min"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lldm"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"SD": {
|
||
"comment": "A label for a 720p movie.",
|
||
"isCommentAutoGenerated": true
|
||
},
|
||
"search.hint": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Suche nach Filmen, Serien, Folgen und Personen."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Search for movies, shows, episodes and people."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"search.recent": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Zuletzt gesucht"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Recent searches"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"search.title": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Suche"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Search"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"serverPicker.owned": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Eigener Server"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Your server"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"serverPicker.shared": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Geteilt"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Shared"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"serverPicker.title": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Server wählen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Choose a server"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.address": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Adresse"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Address"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.app": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "App"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "App"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.connection": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Verbindung"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Connection"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.connectionLocal": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Lokal"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Local"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.connectionRelay": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Über Plex-Vermittlung (gedrosselt)"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Via Plex relay (throttled)"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.connectionRemote": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Direkt von außen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Direct remote"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.libraries": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Mediatheken"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Libraries"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.server": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Server"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Server"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.serverName": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Name"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Name"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.signOutConfirm": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Wirklich abmelden?"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Sign out?"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.signOutExplanation": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Das Token wird vom Gerät entfernt. Heruntergeladene Titel bleiben erhalten."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "The token will be removed from this device. Downloaded titles are kept."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.version": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Version"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Version"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sidebar.close": {
|
||
"comment": "Barrierefreiheit: abgedunkelte Fläche",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Seitenleiste schließen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Close sidebar"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sidebar.downloads": {
|
||
"comment": "Eintrag in der Seitenleiste",
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Downloads"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Downloads"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sidebar.home": {
|
||
"comment": "Eintrag der Startseite in der Seitenleiste",
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Start"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Home"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sidebar.libraries": {
|
||
"comment": "Überschrift über der Liste der Mediatheken",
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Mediatheken"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Libraries"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sidebar.liveTV": {
|
||
"comment": "Eintrag in der Seitenleiste",
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Live-TV"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Live TV"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sidebar.more": {
|
||
"comment": "Überschrift über Live-TV, Downloads und Einstellungen",
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Mehr"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "More"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sidebar.open": {
|
||
"comment": "Barrierefreiheit: Hamburger-Knopf",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Seitenleiste öffnen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Open sidebar"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sidebar.settings": {
|
||
"comment": "Eintrag in der Seitenleiste",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Einstellungen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Settings"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"signIn.action": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Mit Plex anmelden"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Sign in with Plex"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"signIn.codeHint": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Öffne plex.tv/link im Browser und gib diesen Code ein:"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Open plex.tv/link in your browser and enter this code:"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"signIn.openBrowser": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Im Browser öffnen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Open in browser"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"signIn.tagline": {
|
||
"comment": "Untertitel auf dem Anmeldebildschirm",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Deine Plex-Mediathek, schöner."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Your Plex library, nicer."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"signIn.waiting": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Warte auf Bestätigung …"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Waiting for confirmation…"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sort.lastViewed": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Zuletzt gesehen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Last watched"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sort.rating": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Bewertung"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Rating"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sort.recentlyAdded": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Zuletzt hinzugefügt"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Recently added"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sort.releaseDate": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Erscheinungsjahr"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Release date"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sort.titleAscending": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Titel (A–Z)"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Title (A–Z)"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"sort.titleDescending": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Titel (Z–A)"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Title (Z–A)"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.audio": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Tonspur"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Audio"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.bitrate": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Bitrate"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Bitrate"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.container": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Container"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Container"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.directPlayNative": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Direkt (Systemplayer)"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Direct (system player)"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.directPlayVLC": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Direkt (VLC)"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Direct (VLC)"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.file": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Datei auf dem Server"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "File on server"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.playbackMethod": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Wiedergabe"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Playback"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.reason": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Grund"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Reason"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.reason.audioCodec %@": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "iOS kann %@-Ton nicht wiedergeben."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "iOS can't play %@ audio."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.reason.container %@": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "iOS öffnet den Container %@ nicht."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "iOS can't open the %@ container."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.reason.unanalyzed": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Der Server hat diese Datei noch nicht analysiert."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "The server hasn't analyzed this file yet."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.reason.videoCodec %@": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "iOS kann %@ nicht dekodieren."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "iOS can't decode %@."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.resolution": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Auflösung"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Resolution"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.size": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Dateigröße"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "File size"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.subtitle": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Untertitel"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Subtitle"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.title": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Technische Angaben"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Technical details"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.transcode": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Umgerechnet vom Server"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Transcoded by server"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"technical.videoCodec": {
|
||
"extractionState": "stale",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Bildcodec"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Video codec"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.preparing": {
|
||
"comment": "Hinweis, während der Player die Datei öffnet",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Wird vorbereitet …"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Preparing…"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.tracks": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Ton und Untertitel"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Audio and subtitles"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.audioTracks": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Tonspur"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Audio"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.subtitleTracks": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Untertitel"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Subtitles"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.subtitlesOff": {
|
||
"comment": "Eintrag, der die Untertitel abschaltet",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Aus"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Off"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.skipIntro": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Intro überspringen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Skip intro"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.skipCredits": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Abspann überspringen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Skip credits"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.nextEpisode": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Nächste Folge"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Next episode"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"player.transcodeRefused": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Der Server hat die Wiedergabe abgelehnt."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "The server refused playback."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.quality": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Qualität"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Quality"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.qualityWifi": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Im WLAN"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "On Wi-Fi"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.qualityCellular": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Über Mobilfunk"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "On cellular"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.qualityExplanation": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Wird eine Datei größer als die eingestellte Grenze, rechnet der Server sie unterwegs herunter und passt die Bitrate laufend an die Verbindung an."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "If a file exceeds the limit, the server transcodes it on the fly and adapts the bitrate to your connection."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.playback": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Wiedergabe"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Playback"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.autoSkipIntro": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Intro automatisch überspringen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Skip intros automatically"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.autoSkipCredits": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Abspann automatisch überspringen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Skip credits automatically"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"settings.autoPlayNext": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Nächste Folge automatisch"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Play next episode automatically"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"quality.original": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Original"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Original"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"quality.high": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Hoch (12 Mbit/s)"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "High (12 Mbps)"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"quality.medium": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Mittel (8 Mbit/s)"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Medium (8 Mbps)"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"quality.low": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Niedrig (4 Mbit/s)"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Low (4 Mbps)"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"quality.minimal": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Sparsam (2 Mbit/s)"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Data saver (2 Mbps)"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.empty.title": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Nichts offline"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Nothing offline"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.empty.description": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Lade Filme und Folgen herunter, um sie ohne Verbindung anzusehen."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Download movies and episodes to watch them without a connection."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.active": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Läuft gerade"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "In progress"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.movies": {
|
||
"comment": "Überschrift für heruntergeladene Filme",
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Filme"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Movies"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.used": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Belegt"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Used"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.wifiOnly": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Nur über WLAN laden"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Download over Wi-Fi only"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.pause": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Anhalten"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Pause"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.resume": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Fortsetzen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Resume"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.cancel": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Download abbrechen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Cancel download"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.download": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Herunterladen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Download"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.available": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Offline verfügbar"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Available offline"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.queued": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Wartet"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Queued"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.paused": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Angehalten"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Paused"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.failed": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Fehlgeschlagen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Failed"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.removeConfirm": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Download entfernen?"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Remove download?"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.allEpisodes": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Alle Folgen laden"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Download all episodes"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.season": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Staffel laden"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Download season"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.batch.title": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Downloads"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Downloads"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.batch.queued %lld": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld Folgen in die Warteschlange gelegt."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Queued %lld episodes."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.batch.unavailable %lld": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld Folgen haben keine abspielbare Datei auf dem Server."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld episodes have no playable file on the server."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.refused.title": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Download nicht möglich"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Can't download"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.refused.exists": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Dieser Titel steht bereits in der Warteschlange."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "This title is already queued."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.refused.limit %@ %@": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Das Speicherlimit ist erreicht: %@ von %@ belegt."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Storage limit reached: %@ of %@ used."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"downloads.refused.space %@ %@": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Zu wenig Platz auf dem Gerät: %@ nötig, %@ frei."
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Not enough space on this device: %@ needed, %@ free."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"action.delete": {
|
||
"localizations": {
|
||
"de": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Löschen"
|
||
}
|
||
},
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Delete"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"version": "1.1"
|
||
}
|