siftlode/frontend/src/i18n/locales/de/plex.json
npeter83 418a874851 feat(plex): collections — sync, browse, filter, and info-page strips (Phase 1, read)
Backend (migration 0047_plex_collections): a plex_collections table mirrors every Plex
collection (card metadata + smart flag + an editable flag reserved for Phase 2); membership
is stored as GIN-indexed collection_keys on member movies (plex_items) and shows (plex_shows).
The background sync (plex_sync) now fetches each library's collections + their children and
rebuilds membership — so ALL reads are local (Plex's dual-language collection queries are slow;
this trades a ~4-min background sync for instant reads). New /api/plex/collections endpoint;
/browse gains a combinable  filter; item_detail returns the movie's collection
'strips' (sibling titles as playable cards, smallest/most-specific collection first) — all pure
local lookups.

Frontend: PlexSidebar gains a searchable Collection picker + an active-collection chip;
PlexInfo renders the collection strips (playable posters + 'Browse collection' → sets the
filter); the collection is part of PlexFilters (persisted). i18n en/hu/de.

Phase 2 (create/edit collections with write-back to Plex) is separate.
2026-07-06 02:25:48 +02:00

117 lines
4 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"navLabel": "Plex",
"backToFeed": "YouTube-Feed",
"backToLibrary": "Zurück zur Bibliothek",
"searchPlaceholder": "Plex durchsuchen…",
"sort": {
"added": "Kürzlich hinzugefügt",
"title": "Titel",
"year": "Jahr",
"rating": "IMDb-Wertung",
"duration": "Länge",
"release": "Erscheinungsdatum"
},
"filter": {
"library": "Bibliothek",
"show": "Anzeige",
"showOpt": {
"all": "Alle",
"unwatched": "Ungesehen",
"in_progress": "Läuft",
"watched": "Gesehen"
},
"sort": "Sortierung",
"clearAll": "Filter zurücksetzen",
"active": "Aktiv",
"any": "Alle",
"rating": "IMDb-Wertung",
"genre": "Genre",
"year": "Jahr",
"duration": "Länge",
"durationOpt": { "short": "Unter 90 Min.", "mid": "90120 Min.", "long": "Über 2 Std." },
"added": "Zu Plex hinzugefügt",
"addedOpt": { "24h": "24 Std.", "1w": "1 Woche", "1m": "1 Monat", "6m": "6 Monate", "1y": "1 Jahr" },
"contentRating": "Altersfreigabe",
"match": { "any": "Beliebig", "all": "Alle" },
"dir": { "desc": "↓ Absteigend", "asc": "↑ Aufsteigend" },
"collection": "Sammlung",
"collectionSearch": "Sammlungen suchen…",
"collectionEmpty": "Keine Sammlungen"
},
"count": "{{count}} Titel",
"searchCount": "{{count}} Treffer",
"noMatches": "Keine Treffer.",
"loading": "Wird geladen…",
"empty": "Noch nichts hier. Starte eine Plex-Synchronisierung auf der Admin-Konfigurationsseite.",
"loadMore": "Mehr laden",
"watched": "Angesehen",
"play": "Abspielen",
"resume": "Fortsetzen",
"openShow": "Serie öffnen",
"markWatched": "Als gesehen markieren",
"markUnwatched": "Als ungesehen markieren",
"seasons": "{{count}} Staffeln",
"playerSoon": "Player kommt bald — „{{title}}“",
"people": {
"match": "Personen",
"actor": "Schauspieler",
"director": "Regie",
"count": "{{count}} Titel",
"added": "hinzugefügt"
},
"player": {
"loading": "Wird geladen…",
"back": "Zurück",
"skipIntro": "Intro überspringen",
"skipCredits": "Abspann überspringen",
"playPause": "Wiedergabe / Pause (Leertaste)",
"restart": "Von vorn beginnen",
"prev": "Vorherige Folge",
"next": "Nächste Folge",
"mute": "Stumm (m)",
"fullscreen": "Vollbild (f)",
"download": "Originaldatei herunterladen",
"tracks": "Audio & Untertitel",
"audio": "Audio",
"subtitles": "Untertitel",
"subOff": "Aus",
"errNotFound": "Diese Datei kann nicht abgespielt werden — die Medien sind auf dem Server nicht erreichbar (die Plex-Medieneinbindung fehlt oder die Pfadzuordnung ist falsch). Bitte den Administrator, die Plex-Konfiguration zu prüfen.",
"errTranscode": "Das Format dieser Datei erfordert eine Transkodierung, die noch nicht unterstützt wird.",
"errGeneric": "Die Wiedergabe konnte nicht gestartet werden. Bitte erneut versuchen.",
"stop": "Stopp",
"help": "Tastenkürzel",
"infoBtn": "Medieninfo",
"keys": {
"playPause": "Wiedergabe / Pause",
"seek": "10 Sekunden spulen",
"episode": "Vorherige / nächste Folge",
"volume": "Lautstärke lauter / leiser",
"mute": "Stumm",
"fullscreen": "Vollbild",
"info": "Medieninfo",
"back": "Stopp & zurück zum Feed",
"help": "Diese Hilfe anzeigen"
}
},
"info": {
"title": "Medieninfo",
"customize": "Ansicht anpassen",
"prefArtBg": "Dezenter Hintergrund",
"prefCast": "Besetzung",
"openImdb": "Bei IMDb öffnen",
"director": "Regie",
"cast": "Besetzung & Crew",
"markWatched": "Als gesehen markieren",
"markUnwatched": "Gesehen zurücknehmen",
"clearResume": "Fortsetzungsposition löschen",
"filterYear": "Titel aus {{year}}",
"filterRating": "Titel mit {{n}}+",
"filterActor": "Titel mit {{name}}",
"browseCollection": "Sammlung durchsuchen →"
},
"playable": {
"direct": "Spielt direkt im Browser",
"remux": "Braucht ein leichtes Remux (keine Video-Neucodierung)",
"transcode": "Braucht Transcoding (aufwendiger)"
}
}