Útmutatók

Feliratfájlok, markdown és szövegtárak fordítása

A három fordítókliens – felirat, markdown, szövegtár –, a kulcs környezeti változóból, a --check és a --dry-run mód, és a kilépési kódok.

6 perc olvasás videokártya kell hozzá (Windowson NVIDIA, Macen Apple silicon) Frissítve: 2026-09-23

A három kliens

A LiveCaption élő fordítása mellett három önálló, parancssoros kliens is a fordító szolgáltatásra (translatorserver) kötődik – annak az előtétjére, sosem a mögötte futó motorra közvetlenül. Minden kérés viszi a hozzáférési kulcsot (lcp_…), tehát kulcs nélkül a szolgáltatás már az első lépésnél elutasít. Az indítók a TranslatorServer mappában vannak: megkeresik (szükség esetén publikálják) a futtatható klienst, és a parancssort változatlanul adják tovább.

Indító Kliens (futtatható) Mit fordít
translate-subtitle.ps1 translate-subtitle felirat: .srt, .vtt, .ass/.ssa
translate-markdown.ps1 translate-markdown markdown: .md
translate-resx.ps1 translate-resx szövegtár: .resx erőforrás, PowerShell messages.psd1

Mindhárom csak a fordítandó szöveget küldi el; ami nem az (időzítés, formázójelek, kód, táblázatszerkezet, kulcsnevek, fejléc, a felirat- és szövegtárfájlok megjegyzései), az bájtra azonosan íródik vissza. Kivétel a markdown kódblokkjainak kommentje: azt a translate-markdown alapból lefordítja (lásd lent). A kliens teljes kapcsolólistája a saját súgója (translate-subtitle --help a publikált futtathatón); az indító -Help kapcsolója az indító súgóját írja ki, nem a kliensét.

A kulcs környezeti változóból

A kulcsot a fiókszolgáltatás adja ki (a webes Kulcsok lap vagy a start-accountserver.ps1 -KeyAdd parancs, lásd a fiókok, kulcsok, jogosultságok útmutatót). A parancssorba írt kulcs bekerülne a héj előzményébe és a folyamatlistába, ezért az ajánlott út a -ApiKeyEnv <változónév>: egy környezeti változó neve, nem maga a kulcs. Az indítás előtt kiírt parancssor a kulcsot *** alakban takarja.

$env:LCP_TRANSLATE_KEY = "lcp_..."

TranslatorServer\translate-subtitle.cmd "C:\videok\01 - Bevezetes.eng.srt" -ApiKeyEnv LCP_TRANSLATE_KEY
TranslatorServer\translate-markdown.cmd "C:\Projects\docs\README.md" -ApiKeyEnv LCP_TRANSLATE_KEY
TranslatorServer\translate-resx.cmd "Strings.resx" -ApiKeyEnv LCP_TRANSLATE_KEY --to hu

A --from és a --to a nyelvpárt adja meg; a --server az előtét címét (alapból http://127.0.0.1:8080).

Feliratok: az időzítés nem csúszik el

A translate-subtitle alapszabálya: a kimenet feliratblokkjainak száma és időbélyege azonos a bemenetével, kizárólag a szövegtörzs változik, minden más – sorvégek, bájtsorrend-jel, kódolás, a WebVTT fejléce és NOTE/STYLE blokkjai, az ASS stílusdefiníciói – bájtra azonos marad. Mérve egy 12 994 fájlos feliratkönyvtárban a korábbi, más eszközzel készült fordítás 1054 fájlnál elcsúszott. A formázójelek (<i>, {\an8}, \N) védettek; ha a fordítás elrontja a sorrendjüket, a mondatcsoport eredeti szövege marad a helyén, és a záró jelentés kimondja. Kimeneti név nélkül a bemenet mellé ír, a nyelvkódot cserélve: 01 - Introduction.eng.srt → 01 - Introduction.hu.srt. Mappa bemenettel az egész fa lefordul; a már kész fájlokat kihagyja, a --force újrafordítja; a megszakadt futást ugyanaz a parancs folytatja.

Markdown: a szerkezet marad

A translate-markdown a bekezdések, címsorok, listaelemek, táblázatcellák, hivatkozásfeliratok és felhívások szövegét fordítja, és a kódblokkok kommentjeit is – a kód maga, minden szerkezeti jel, a táblázat elválasztósora, a hivatkozások címe, a front matter, a képletek és a HTML-blokkok bájtra változatlanok. A prózán belüli kódrészletet és URL-t pajzs védi: a modell [[n]] jelölőt lát helyettük. Ahol a szerkezet nem egyértelmű, a sor nyersen marad: a legrosszabb hibamód a fordítatlan szöveg, sosem a rontott szerkezet. README.md → README.hu.md; a --no-code-comments a kommentek fordítását kapcsolja ki.

Szövegtárak: a helykitöltők védve

A translate-resx három alapszabálya: alapból csak a hiányzó kulcsok fordulnak le (mindet az --all kéri); a sikertelen kulcs nem íródik ki, hanem hiányzó marad, hogy a következő futás újrapróbálja; a fájl formája megőrzött. Minden fordítás három ellenőrzésen megy át: a helykitöltők ({0}, {Name}) készlete és alakja, a védett szavak (a kóddal jelölt rész és a kapcsolónevek), valamint a sortörések. A --keep-placeholder-order a sorrendet is kikényszeríti.

Forrás Cél
Strings.resx Strings.hu.resx
Strings.en.resx Strings.hu.resx
Resources\en\messages.psd1 Resources\hu\messages.psd1

Ellenőrzés fordítás nélkül: --check és --dry-run

A --check mindhárom kliensnél fordítás és szerver nélkül fut. A feliratnál és a markdownnál felbontja a fájlt, visszaírja, és a két bájtsorozatot hasonlítja össze; a szövegtárnál a forrást veti össze a céllal: hiányzó kulcs, fölösleges kulcs, eltérő helykitöltő. Eltérésnél a kilépési kód 4, szkriptből feltételként használható. A --dry-run megmutatja, mit fordítana és hogyan kötegel, fordítás nélkül.

translate-subtitle "C:\videok" --check
translate-subtitle "F:\videok\Blazor" --dry-run
translate-markdown "C:\Projects\docs" --check
translate-markdown bemenet.md --dry-run
.\translate-resx.exe .\LiveCaption --check

Kilépési kódok

A repó közös táblája, mert a kód szerződés a szkriptekkel; a 3 szándékosan hiányzik, az a feliratozó FFmpeg-hibájáé.

Kód Mit jelent
0 kész
1 hibás használat, vagy a kifejezetten kért súgó
2 hiányzó bemenet
4 egyéb hiba (a részlegesen sikerült mappás futás és a --check eltérése is)
5 megszakítva (Ctrl+C)
6 a szolgáltatás nem érhető el, vagy a motor nem áll készen

A feliratfájlok elkészítése: videómappa kötegelt feliratozása; a szolgáltatások indítása: első indítás.

Az összes útmutató

Hiba történt az oldal futtatásakor. / An error occurred while running the page. Újratöltés / Reload 🗙