Jak přeložit velký TXT soubor: kódování, kapitoly a zalomení řádků
Opravte kódování, označte kapitoly a zrušte pevná zalomení řádků, než začnete překládat dlouhý .txt soubor. Se vzorovými soubory, bezplatným nástrojem pro kontrolu a testem s 9 běhy.

Chcete-li přeložit velký TXT soubor, připravte tři věci, než jej kamkoli nahrajete. Nejprve se ujistěte, že je text správně dekódován, a uložte jej jako UTF-8. Za druhé, každý nadpis kapitoly umístěte na samostatný řádek s prázdným řádkem před ním a za ním. Za třetí, pokud soubor zalamuje řádky na pevné šířce, spojte tyto řádky tak, aby každý odstavec byl jeden řádek, s prázdným řádkem mezi odstavci. Poté přeložte celý soubor a následně porovnejte počet odstavců a kapitol mezi zdrojem a překladem.
Soubor prostého textu nemá žádné styly, nadpisy ani metadata. Vše, co překladatelský nástroj ví o jeho struktuře, pochází z bajtů a zalomení řádků. Proto se stále vracejí stejné tři problémy: bajty jsou čteny ve špatném kódování, kapitoly nelze rozeznat od běžných řádků nebo zalomení řádků nic neříkají o tom, kde končí věta.
Vytvořili jsme vzorové soubory ve čtyřech kódováních, napsali jsme bezplatný nástroj pro kontrolu a přeložili jsme pevně zalamovanou povídku do zjednodušené čínštiny devětkrát pomocí lokálního modelu. Model si s pevným zalamováním poradil dobře, když viděl celý soubor. Rozbil věty a akci jedné postavy přisoudil jiné ve všech třech bězích, kde byl soubor rozdělen na části podle počtu řádků.
Rychlý kontrolní seznam
| Kontrola | Jak má vypadat správný stav | Jak to opravit |
|---|---|---|
| Kódování | První řádky se čtou správně; soubor je UTF-8 | Znovu otevřete se správným kódováním a poté uložte jako UTF-8 |
| Značka pořadí bajtů | Žádná, nebo taková, o které víte | Uložte jako „UTF-8“ namísto „UTF-8 s BOM“, pokud si nástroj stěžuje |
| Nadpisy kapitol | Každý samostatně na řádku, s prázdným řádkem před i za | Opravte těch několik nadpisů, které splývají s textem |
| Odstavce | Jeden prázdný řádek mezi odstavci | Přidejte prázdné řádky tam, kde odstavce začínají pouze odsazením |
| Pevné zalamování | Každý odstavec je jeden dlouhý řádek | Spojte řádky uvnitř odstavců, ale verše, dopisy a seznamy nechte být |
| Konce řádků | Jeden styl v celém souboru | Převeďte staré konce řádků Mac CR; LF i CRLF jsou v pořádku |
| Poškozený text | Žádné znaky � | Sežeňte lepší kopii. Převod nedokáže vrátit ztracené znaky |
Kontrola vypíše zprávu ke každému řádku a opraví kódování, značku pořadí bajtů, konce řádků a pevné zalamování. Nadpisy kapitol a chybějící prázdné řádky musíte opravit ručně. Spuštěním python3 check_txt.py inspect yourfile.txt zobrazíte zprávu a příkazem python3 check_txt.py convert yourfile.txt clean.txt --unwrap zapíšete kopii v UTF-8 se spojenými odstavci. Potřebuje jen Python 3 a původní soubor nikdy nemění.
Krok 1: Správně určete kódování
Soubor TXT je posloupnost bajtů. Kódování je pravidlo, které tyto bajty převádí na znaky, a soubor sám neříká, které pravidlo bylo použito. Pokud program uhodne špatně, dostanete mojibake: text, který je zkomolený, nebo hůř, text, který vypadá dobře, ale není tím, co bylo napsáno.
Zde je stejná čínská fráze 最后一班渡轮 („poslední trajekt“) přečtená podle špatného pravidla. Vygenerovali jsme je pomocí vestavěných kodeků Pythonu a můžete je reprodukovat se vzorovými soubory.
| Uloženo jako | Čteno jako | Co vidíte |
|---|---|---|
| GB18030 | Windows-1252 | ×îºóÒ»°à¶ÉÂÖ |
| GB18030 | UTF-8 | ���һ����� |
| UTF-8 | GBK | 鏈�鍚庝竴鐝�娓¤疆 |
| Shift_JIS (japonsky 最後のフェリー) | GBK | 嵟屻偺僼僃儕乕 |
Poslední řádek je ten nebezpečný. Japonské bajty přečtené jako čínské vytvoří skutečné čínské znaky, bez chyby a bez �. Nástroj pro překlad je ochotně přeloží a výsledkem bude nesmysl se správnou gramatikou.
Náš kontrolní nástroj ukazuje, proč se nemůžete spoléhat na „otevřelo se to bez chyb“. Když jsme ho spustili na vzorku Shift_JIS, dvě kódování dekódovala celý soubor bez jediné chyby:
encoding: unknown (not UTF-8)
these legacy encodings decode without errors; read the previews,
because a wrong one can still produce real-looking characters:
gb18030 戞堦榖丂嵟屻偺僼僃儕乕
cp932 第一話 最後のフェリー
Japonský je pouze druhý řádek. První je řetězec vzácných čínských znaků, který nikdo nenapsal. Na čínském vzorku GB18030 se bez chyb dekódovalo pět kódování a pouze jedno z nich, GB18030, zobrazilo nadpis kapitoly 第一章 最后一班渡轮. Pravidlo je tedy jednoduché: kódování určete podle prvních řádků, ne podle toho, zda si program stěžoval.
Kde se odhady obvykle mýlí:
- Čínský text ze starších systémů Windows nebo z čínských webů bývá často v kódování GBK nebo GB18030. GB18030 pokrývá vše, co GBK, a WHATWG Encoding Standard, kterým se řídí prohlížeče, jde ještě dál: říká, že „dekodér GBK je dekodér gb18030“. Pokud je soubor v GBK, otevření jako GB18030 funguje.
- Tradiční čínština z Tchaj-wanu nebo Hongkongu bývá často v kódování Big5.
- Japonština bývá často v kódování Shift_JIS nebo v jeho rozšířené verzi od Microsoftu, kterou Windows a Python nazývají cp932.
- Korejština bývá často v kódování EUC-KR.
- Soubor plný nulových bajtů nebo soubor, kde každý druhý znak vypadá prázdně, bývá obvykle UTF-16 bez značky pořadí bajtů.
Značka pořadí bajtů (BOM) je krátký neviditelný kód na začátku souboru, který oznamuje UTF-8, UTF-16 nebo UTF-32. Pokud je přítomna, věřte jí. Stejný standard říká, že „značka pořadí bajtů je směrodatnější než cokoli jiného“. Náš nástroj nejprve čte BOM a pouze hádá, když žádná není.
Uložte soubor jako UTF-8
Jakmile se text zobrazuje správně, uložte jej jako UTF-8. Standard WHATWG označuje UTF-8 za „nejvhodnější kódování pro výměnu Unicode“ a je to nejbezpečnější volba pro jakýkoli překladatelský nástroj.
Existuje druhý důvod, který je důležitý právě pro překlad. Starší kódování pokrývají pouze znaky svého vlastního regionu. Shift_JIS nemá kód pro 这, první znak 这是最后一班渡轮, a Big5 pro něj také nemá kód, protože jde o zjednodušený čínský znak. Windows-1252 nedokáže uložit cyrilici. Pokud má být přeložený soubor zapsán zpět v původním starším kódování, cílový jazyk se do něj nemusí vejít. Překladač TXT od BookTranslatoru podle svého popisu automaticky rozpoznává běžná kódování a vrací přeložený soubor „se stejným kódováním, jaké měl vstup“, takže pokud začnete s UTF-8, tato otázka úplně zmizí.
Převést můžete v textovém editoru (otevřete se správným kódováním a pak „Uložit jako“ UTF-8), pomocí iconv -f GB18030 -t UTF-8 in.txt > out.txt na macOS nebo Linuxu, nebo pomocí našeho nástroje:
python3 check_txt.py convert book.txt book-utf8.txt --encoding gb18030
Pokud soubor již obsahuje znaky �, poškození vzniklo dříve, než se k vám dostal. Opětovný převod chybějící znaky neobnoví. Hledejte lepší kopii zdroje.
Krok 2: Usnadněte nalezení kapitol
Kapitoly jsou důležité ze tří důvodů. Dlouhý soubor se překládá po částech a přechody mezi kapitolami jsou nejčistší místa k dělení. Po překladu budete chtít zkontrolovat každou kapitolu. A pokud text později převedete na e-knihu, nadpisy kapitol se stanou obsahem.
Každý nadpis dejte na samostatný řádek s prázdným řádkem před ním i za ním a v celé knize používejte jeden vzor. Toto jsou vzory, které náš nástroj počítá:
Chapter 1,Chapter One: The Last Ferry,Part Two,Prologue,Epilogue第一章,第12回,第三話,第二卷- číslo nebo římská číslice samostatně na řádku, například
12neboXII.
Spusťte inspect a přečtěte si seznam nalezených nadpisů. Pokud má kniha 40 kapitol a nástroj jich najde 37, tři nadpisy se skrývají: jeden splývá s první větou, jeden používá jiné slovo, například „Kap. 7“, nebo jeden má text na stejném řádku. Ty tři opravte ručně. Zabere to méně času než hledání problému v přeloženém souboru.
Krok 3: Opatrně zrušte pevné zlomy řádků
Některé soubory TXT zalamují každý řádek na pevnou šířku, aby se text vešel do obyčejného terminálu nebo úzkého okna. Text zkopírovaný z PDF a výstup z OCR dělá totéž na šířku tištěné stránky. V těchto souborech zlom řádku znamená „řádek byl plný“, nikoli „věta nebo odstavec skončil“.
Pevné zalamování se snadno pozná. V našem vzorku s pevným zalamováním nástroj ohlásil:
non-empty lines: 43; longest line: 66 chars; 25 lines within 12 chars of the longest
line breaks inside paragraphs that do not end a sentence: 23
looks hard-wrapped: consider convert --unwrap
Řešením je spojit řádky uvnitř každého odstavce a zachovat prázdné řádky mezi odstavci. Pastí je text, jehož zlomy řádků jsou skutečné: verše, texty písní, dopisy, adresy, recepty a seznamy. Náš vzorek obsahuje pětiřádkový dopis:
My dear Mara,
The key is under the blue pot.
Do not let your uncle sell the boat.
With love, always,
Nonna
Neomalené „nahraďte každý jednotlivý zlom řádku mezerou“ z toho udělá jeden souvislý řádek. Nástroj s přepínačem --unwrap spojuje odstavec pouze tehdy, když většina jeho řádků sahá téměř k plné šířce, takže bloky krátkých řádků, jako je tento dopis, zůstanou nedotčené. Na našem vzorku přesně obnovil původní nezalamovaný soubor, bajt po bajtu, včetně dopisu. U svého vlastního souboru předtím, než mu budete důvěřovat, zkontrolujte několik spojených odstavců a každý blok veršů.
Ještě dva detaily. Při spojování řádků čínského nebo japonského textu mezi ně nepřidávejte mezeru; nástroj spojuje řádky CJK, včetně řádků končících interpunkcí CJK, bez mezery. A pokud váš text pochází z OCR, slova mohou být také rozdělena spojovníky na koncích řádků, což vyžaduje vlastní rozhodnutí. Náš průvodce opravou zlomů řádků a dělení slov z OCR to pokrývá.
Co jsme testovali: Pevně zalamovaný text, celý vs. rozdělený
Chtěli jsme zjistit, zda pevné zalamování řádků překladu skutečně škodí, nebo jen působí neupraveně. Pro test jsme napsali povídku o 396 slovech: tři kapitoly, patnáct odstavců, dialogy, výše uvedený dopis a scénickou předělku * * *. Uložili jsme ji dvakrát se stejnými slovy: nezalomenou, s jedním odstavcem na řádek, a pevně zalomenou na 66 znaků, která má 43 neprázdných řádků místo 19.
Poté jsme požádali lokální model, aby ji přeložil do zjednodušené čínštiny třemi způsoby, každý třikrát:
- Zalomený, celý soubor. Pevně zalomený soubor v jednom požadavku.
- Nezalomený, celý soubor. Nezalomený soubor v jednom požadavku.
- Zalomený, po 12 řádcích. Pevně zalomený soubor rozdělený po 12 řádcích, jeden požadavek na každý díl, odpovědi opět spojené dohromady. To se stane, když skript nebo nástroj rozdělí dlouhý soubor podle počtu řádků místo podle odstavců.
Model byl Qwen 3.6 27B (Q4_K_M) v LM Studio, s vypnutým uvažováním a teplotou 0,3, na Apple M4 Max s 64 GB paměti. Každý požadavek použil stejný jednořádkový prompt. Spustili jsme to 28. října 2026. Skript je run_llm_txt_test.py, všech devět výstupů je zveřejněno bez úprav a results.csv obsahuje jeden řádek na každé spuštění.
| Zalomený, celý soubor | Nezalomený, celý soubor | Zalomený, po 12 řádcích | |
|---|---|---|---|
| Zachované odstavce (15) | 3 ze 3 spuštění | 3 ze 3 spuštění | 0 ze 3 (pokaždé 14) |
| Zachované nadpisy kapitol (3) | 3 ze 3 | 3 ze 3 | 3 ze 3 |
| Dopis zachován jako pět řádků | 3 ze 3 | 3 ze 3 | 3 ze 3 |
| Věty přerušené v místě rozdělení | 0 | 0 | 3 v každém spuštění |
| Akce přiřazená nesprávné postavě | 0 | 0 | 3 ze 3 běhů |
První zjištění nás překvapilo. Když model viděl celý ručně zalomený soubor, sám řádky spojil. Všechny tři výstupy měly jeden odstavec na řádek, stejných 19 řádků jako u nerozbalených běhů, a četly se stejně dobře. Samotné ruční zalamování tedy tomuto modelu na tomto krátkém souboru neuškodilo.
Dělení souboru podle počtu řádků ale uškodilo, a to pokaždé na stejných místech. Tři z dvanáctiřádkových částí končily uprostřed věty. První končí na „He pointed with his“ a další část začíná „pen at a three-storey building on the corner.“ Přeložená samostatně ztratila druhá polovina podmět. Ve dvou bězích se vrátila jako 她瞥了一眼街角那栋三层楼的建筑, „she glanced at the three-storey building on the corner.“ Ve třetím skončila na 随后她重新回到填字游戏上, „then she went back to the crossword.“ V příběhu muž v pokladně ukazuje a vrací se ke své křížovce. Ve všech třech bězích by si čtenář čínštiny myslel, že to udělala Mara.
Druhý řez, mezi „the careful, slightly old-fashioned hand she had learned at a“ a „convent school,“ nechal čínskou větu viset na 那是她在, „that was where she,“ ve všech třech bězích (jeden běh přidal navíc 一) a slovo „learned“ zmizelo. Třetí řez rozdělil větu o okenicích na dva řádky a druhá polovina proměnila „painted, not well, but not long ago“ v odlupující se barvu: 油漆虽已斑驳 ve dvou bězích a 油漆剥落 ve třetím. A protože byly části spojeny jediným zalomením řádku, prázdný řádek před zlomem scény zmizel, a proto měl každý běh 14 odstavců místo 15. Náš kontrolor odhalil počet odstavců. Nedokázal odhalit špatnou postavu; to jsme našli čtením.
Co to znamená pro váš soubor:
- Rozbalení vás chrání před děliči, které neovládáte. Každý dlouhý soubor se někde dělí, ať už vaším vlastním skriptem, limitem chatovacího okna nebo nástrojem, do kterého nahráváte. Pokud jsou odstavce jednotlivé řádky oddělené prázdnými řádky, každý rozumný dělič může řezat mezi odstavci místo uvnitř věty.
- Nejhorší chyby byly plynulé. „She glanced at the building“ je dobrá čínština. Čtenář by si všiml podivných zalomení řádků u každého řezu a visícího 那是她在, ale nic neoznačuje špatnou postavu nebo odlupující se barvu jako chybu. Chyby v místech dělení jsou nejprve chyby významu, teprve potom chyby formátování.
- Byl to jeden model a jedna krátká povídka. Soubor takto krátký se vejde do jednoho požadavku, takže běhy s celým souborem nikdy nemusely nic dělit. Celý román se ale dělit musí, a právě tehdy se vyplatí příprava z kroků 1 až 3. Tyto soubory testují přípravu a dělení, ne vlastní pipeline BookTranslatoru.
Ještě menší postřeh: v šesti bězích s celým souborem model napsal Marovo jméno jako 玛拉 v pěti a jako 马拉 v jednom. Každý výstup byl sám se sebou konzistentní, ale jednotlivé požadavky se navzájem neshodovaly. U dlouhé knihy překládané po mnoha částech udrží seznam jmen a jejich dohodnutých pravopisů všechny kapitoly v souladu. Náš průvodce glosářem ukazuje, jak takový seznam sestavit.
Krok 4: Přeložte a poté zkontrolujte počty
Když je soubor čistý, překlad je ta snadná část. Můžete jej nahrát do překladače TXT od BookTranslatoru, který přijímá soubory .txt, .md a .mdx, uvádí, že zvládá soubory TXT do 300 MB, a cenu zobrazí před platbou. Neexistuje žádný bezplatný plný překlad, ale samotné nahrání vám řekne cenu. Pokud raději pracujete s chatovacím modelem nebo lokálním LLM, rozdělte soubor sami na hranicích kapitol nebo odstavců a veďte si glosář jmen. Pokud je váš text spíše Markdown než prostý próza, podívejte se na náš průvodce překladem Markdownu, protože syntaxe Markdownu vyžaduje vlastní pravidla.
Po překladu porovnejte oba soubory:
python3 check_txt.py compare book-utf8.txt book-translated.txt
Pokud některý soubor není UTF-8, přidejte --source-encoding nebo --translated-encoding. Kontrola kapitol zná anglické a čínské/japonské vzory nadpisů; pro jiné cílové jazyky přidejte místní slovo pro „kapitola“ do vzoru na začátku skriptu.
Toto je zpráva pro jeden z našich rozřezaných běhů:
source translated
paragraphs 15 14 <- differs
chapter headings 3 3
non-empty lines 43 24 <- differs
scene breaks (* * *) 1 1
replacement chars 0 0
source script LATIN characters left in translation: 0
Čtěte ji takto:
- Odstavce a nadpisy kapitol by měly odpovídat. Chybějící odstavec často znamená, že dva byly sloučeny nebo jeden vypuštěn.
- Neprázdné řádky se mohou lišit z dobrého důvodu. Naše běhy se zalamováním celého souboru přešly ze 43 řádků na 19, protože model spojil ručně zalomené řádky, což bylo zlepšení. Řádky porovnávejte jen tehdy, když byl zdroj již rozbalený.
- Zbylé znaky zdrojového písma ukazují na pasáže, které nebyly vůbec přeloženy. Několik je normálních u jmen, produktových termínů nebo citací; souvislý výskyt znamená vynechanou sekci.
- Náhradní znaky v překladu znamenají problém s kódováním na výstupu.
Počty vám neřeknou, zda je překlad správný. Přečtěte si první a poslední odstavec každé kapitoly a odstavce po obou stranách každého místa, kde byl soubor rozdělen. Právě tam náš test našel všechny vážné chyby.
Často kladené otázky
Proč můj soubor TXT vypadá v jednom programu dobře a v jiném rozsypaně?
Oba programy uhodly jiné kódování. Jeden uhodl správně. Najděte kódování, které text zobrazuje správně, a poté soubor uložte jako UTF-8, aby jej všechny programy četly stejně.
Mám před překladem převést soubor TXT na EPUB nebo DOCX?
Pouze pokud chcete to, co tyto formáty přinášejí navíc. Čistý textový soubor TXT s jasnými kapitolami se překládá dobře i tak. Pokud chcete obsah, navigaci po kapitolách a e-knihu, kterou si můžete přečíst na zařízení, náš průvodce převodem webového románu na EPUB připravený k překladu vás tím provede.
Mohu přeložit textový soubor TXT s vícejazyčným obsahem?
Ano, ale řekněte překladači, co má nechat být. Citace nebo termíny ve třetím jazyce a jména, která mají zůstat v původním písmu, se snáze ochrání pomocí glosáře nebo krátké instrukce než následnými opravami.
A co textový soubor TXT, který jsem stáhl z webu?
Ověřte, že máte právo jej používat. Pro knihy ve veřejném vlastnictví nebo soubory, které jste napsali sami, platí výše uvedené postupy. Kódování nebo formát souboru vám nic neřekne o jeho autorských právech.
Související příspěvky





