feat(plex): P0 admin Config UI — connection test + library picker

- ConfigPanel 'plex' group auto-renders; adds a Test-connection button + a
  library-picker (checked sections write plex_libraries, applied on Save)
- api.testPlex + PlexTestResult/PlexSection types
- i18n config namespace: plex group + 7 fields + test strings (en/hu/de);
  also fills the previously-missing 'downloads' group label
This commit is contained in:
npeter83 2026-07-05 01:35:08 +02:00
parent a88254c841
commit 5684d6c406
5 changed files with 215 additions and 9 deletions

View file

@ -10,7 +10,9 @@
"backfill": "Letöltés (backfill)",
"shorts": "Shorts-vizsgálat",
"batch": "Kötegméretek",
"explore": "Csatorna-felfedezés"
"explore": "Csatorna-felfedezés",
"downloads": "Letöltések",
"plex": "Plex"
},
"fields": {
"smtp_host": {
@ -100,6 +102,34 @@
"search_grace_days": {
"label": "Keresési találatok — türelmi idő (nap)",
"hint": "Meddig marad meg egy meg nem tartott YouTube-keresési találat (amit senki nem nézett meg / mentett el / iratkozott fel rá), mielőtt a felfedezés-takarító feladat törli."
},
"plex_enabled": {
"label": "Plex engedélyezése",
"hint": "A Plex-könyvtár megjelenítése forrásként, gazdag lejátszóval. Ehhez a Plex-szervernek elérhetőnek kell lennie erről a gépről, a média pedig helyi mounton (lásd az útvonal-leképezést)."
},
"plex_server_url": {
"label": "Plex-szerver URL",
"hint": "Erről a gépről elérhető alap-URL, pl. http://192.168.1.112:32400."
},
"plex_server_token": {
"label": "Plex-szerver token",
"hint": "A szerver admin X-Plex-Tokenje. Csak szerveroldalon használjuk (metaadat + képek); soha nem kerül a böngészőbe. Titkosítva tárolva; csak írható."
},
"plex_path_map": {
"label": "Média-útvonal leképezés",
"hint": "A Plex lemezes útvonalait képezi le erre a gépre, hogy a Siftlode lejátszhassa a fizikai fájlt. Új sorral/vesszővel elválasztott plexPrefix=localPrefix párok, pl. /data=/plex-media. Üres = mindkét oldalon azonos."
},
"plex_libraries": {
"label": "Megjelenített könyvtárak",
"hint": "Vesszővel elválasztott Plex-szekciókulcsok. Üres = minden szekció. Kapcsolat-teszt után használd az alábbi könyvtár-választót."
},
"plex_sync_interval_min": {
"label": "Szinkron gyakorisága (perc)",
"hint": "Milyen gyakran tükrözi a katalógus-szinkron a Plex metaadatait."
},
"plex_max_transcodes": {
"label": "Max párhuzamos transcode",
"hint": "A nem kompatibilis fájlok egyidejű CPU-transcode-jainak felső korlátja (későbbi tartalék). A direktben játszható fájlokra nincs korlát."
}
},
"save": "Mentés",
@ -121,5 +151,15 @@
"testEmail": "Teszt-email küldése",
"testEmailHint": "Teszt-email küldése a saját címedre a fenti beállításokkal, hogy ellenőrizd, működnek-e.",
"testSent": "Teszt-email elküldve ide: {{to}}",
"testFailed": "A teszt-email sikertelen — ellenőrizd a beállításokat"
"testFailed": "A teszt-email sikertelen — ellenőrizd a beállításokat",
"plexTest": "Kapcsolat tesztelése",
"plexTestHint": "Ellenőrzi a Plex-szerver URL-t és tokent, és betölti a könyvtárlistát. Előbb mentsd a módosításokat.",
"plexTestDirty": "Mentsd a változásokat a kapcsolat tesztelése előtt.",
"plexTestOk": "Kapcsolódva: {{name}}",
"plexTestFailed": "A Plex-kapcsolat sikertelen — ellenőrizd az URL-t és a tokent",
"plexConnected": "Kapcsolódva: {{name}} {{version}}",
"plexPickLibraries": "Megjelenítendő könyvtárak:",
"plexPickHint": "Ha egyiket sem jelölöd be, az az összes könyvtár megjelenítésével egyenértékű. Ne feledj menteni.",
"plexMovies": "Filmek",
"plexShows": "Sorozatok"
}