BookTranslator
BookTranslator

Jak přeložit soubor RTF: Co přežije a co se rozbije

Co se stane s odstavci, tabulkami, poznámkami pod čarou, odkazy a formátováním při překladu souboru RTF, proč soubory z TextEdit potřebují krok navíc a nástroj pro kontrolu zdarma.

BookTranslator

BookTranslator Team

12 min čtení

Chcete-li přeložit soubor RTF, nahrajte celý soubor .rtf do překladače, který formát RTF čte, a poté zkontrolujte výsledek. BookTranslator formát RTF přijímá. Čte text po odstavcích, překládá jej a vrátí vám nový soubor RTF a dvojjazyčný soubor RTF. Vložení textu do chatovacího okna nebo webového překladače také funguje pro stránku nebo dvě, ale přijdete o soubor a musíte jej znovu sestavit.

Před nahráním je třeba vědět jednu věc. Přeložený soubor zachová vaše slova a odstavce, ale ne formátování. Tučné písmo, nadpisy, fonty, tabulky, odkazy a obrázky se nevracejí. Správný postup tedy závisí na tom, co soubor obsahuje a která aplikace jej uložila. Prostý rukopis uložený z Wordu je snadný případ. Soubor uložený v TextEdit na Macu vyžaduje nejprve jeden krok navíc, jinak všechny odstavce splývají.

Vytvořili jsme tři testovací soubory a napsali nástroj pro kontrolu zdarma, který ukáže, co soubor RTF obsahuje před nahráním a co se změnilo po něm. Testovací soubory jsme prohnali lokální kopií kódu pro čtení a zápis RTF, který používá BookTranslator, s markerem místo modelu, takže můžete přesně vidět, který text každý testovací soubor posílá k překladu a jak se soubor vrací.

Rychlá odpověď: Co se stane s jednotlivými částmi souboru

Část souboruCo se vrátilo v našem testuCo dělat
Odstavce ukončené \par (Word a většina aplikací pro Windows)Jeden přeložený odstavec za každý původníNic
Odstavce ukončené zpětným lomítkem a zalomením řádku (TextEdit, další aplikace pro Mac)Celý soubor odeslán jako jeden odstavec, bez mezery v místě každého zalomeníNejprve soubor převeďte (viz krok 2)
Tučné písmo, kurzíva, nadpisy, fonty, barvy, zarovnáníOdstraněno. Každý odstavec je 12bodové Times New RomanZnovu naformátujte ve Wordu, nebo přeložte DOCX
TabulkyText buněk spojený bez mezery: StopTimeNorth pier7:05Přeložte raději DOCX
Poznámky pod čarouText poznámky pod čarou přidán na konec svého odstavce; číslo poznámky pod čarou zmizeloPřesuňte poznámky pod čarou ručně zpět, nebo přeložte DOCX
Záhlaví stránkyStane se z něj běžný odstavec na místě, kde se v souboru nachází (v našem testu na začátku)Smažte ho, nebo si ponechte původní záhlaví
OdkazyText odkazu zůstane zachován a přeloží se, webová adresa se odstraníOdkazy znovu přidejte
ObrázkyOdstraněnyPonechte si původní soubor kvůli grafice
Znaky s diakritikou a znaky mimo latinku (café, 日本)Čtou se a zapisují správněNic
Jakýkoli řetězec 20 nebo více znaků z 0–9 a a–f (dlouhá referenční čísla, hashe)Odstraněno před překlademPo překladu je zkontrolujte (kontrola to dělá)

Zbytek této příručky ukazuje, odkud každý řádek pochází a co s ním dělat.

Krok 1: Zjistěte, jaký druh RTF máte

RTF je textový formát s formátovacími kódy. Otevřete soubor v obyčejném textovém editoru nebo v terminálu spusťte head -c 120 yourfile.rtf a podívejte se na první řádek.

  • Pokud obsahuje \cocoartf, soubor byl uložen textovým systémem Applu: TextEdit nebo jinou aplikací pro Mac, která ho používá.
  • Pokud obsahuje \rtf1\ansi a žádné \cocoartf, s největší pravděpodobností pochází z Wordu, LibreOffice, WordPadu nebo z exportu nějaké psací aplikace.

Rozdíl je důležitý, protože oba druhy ukončují odstavec jinak. Word a většina dalších textových procesorů zapisuje na konec každého odstavce kód \par. Textový systém Applu místo toho zapisuje na konec řádku jediné zpětné lomítko. Oba způsoby jsou platné RTF: původní specifikace RTF od Microsoftu z roku 1989 (zrcadlová kopie) uvádí, že zpětné lomítko následované zalomením řádku se zpracovává stejně jako \par, a čtečka Applu zobrazuje náš testovací soubor z TextEditu jako samostatné odstavce. Čtečka RTF v BookTranslatoru dělí odstavce pouze podle \par. Ověřili jsme to v jejím kódu 3. listopadu 2026 a v testu níže.

Kontrola vám řekne, který druh máte, a co dalšího se v souboru nachází. Potřebuje Python 3 a nic jiného:

python3 check_rtf.py sample-word-style.rtf

U našeho testovacího souboru ve stylu Wordu vypsala:

== sample-word-style.rtf
  par_breaks: 7
  table_cells: 4
  table_rows: 2
  hyperlinks: 1
  fields: 1
  bold_on: 2
  italic_on: 1
  page_breaks: 1
  fonts: 2
  footnotes: 1
  headers: 1
  images: 1
  visible_paragraphs: 7
  WARN 4 table cells: check that cell boundaries survive.
  WARN 1 footnotes: check where this text ends up in the output.
  WARN 1 headers: check where this text ends up in the output.
  WARN 1 hyperlinks: the link text may survive without the URL.
  WARN 1 images: keep the original for the artwork.

U souboru z TextEditu bylo první varování toto:

  WARN Paragraphs end with a backslash + line break (TextEdit/Cocoa style), not \par. Tools that only split on \par will see one long paragraph.

Pokud kontrola nevypíše žádná varování, vaše odstavce, čísla a text by měly projít. Tučné písmo, nadpisy a seznamy varování nespustí, ale na cestě přes RTF se stejně odstraní, takže pokud je potřebujete, zkontrolujte krok 2.

Co se vrátilo z našich testovacích souborů

Vytvořili jsme tři malé soubory. Všechny z nich a vše, co se vrátilo, najdete ve složce s testovacími soubory.

  • sample-word-style.rtf je ručně napsaný ve stylu, který Word používá pro RTF: zlomy \par, záhlaví stránky, poznámka pod čarou, odkaz, tabulka dva na dva, malý obrázek, zlom stránky, café zapsané jako znak kódové stránky a 日本 zapsané jako unicode kódy.
  • sample-textedit.rtf byl vytvořen na Macu pomocí textutil -convert rtf, který používá stejný textový systém jako TextEdit. Obsahuje nadpis, tučná a kurzívní slova, odkaz, odrážkový seznam, tabulku a řádek se {braces} a zpětnými lomítky.
  • sample-long-numbers.rtf obsahuje dvacetimístné číslo objednávky, čtyřicetiznakový hash commitu a telefonní číslo.

Dne 3. listopadu 2026 jsme zkopírovali funkce pro čtení a zápis RTF z backendového kódu BookTranslatoru a spustili je na každém souboru. Nebyl použit žádný model. Každý odstavec, který by byl odeslán k překladu, byl nahrazen [ZH] plus původním textem. To přesně ukazuje, co by model dostal a jak se soubor znovu sestaví, bez šumu skutečného překladu.

Soubor ve stylu Wordu: šest čistých odstavců se třemi překvapeními

Soubor se vrátil jako šest přeložených odstavců v tomto pořadí:

[ZH] Harbor Notes - Draft 2
[ZH] Chapter 3: The Harbor
[ZH] The ferry left at 6:40, an hour before the café opened. Timetable from the 1998 edition.
[ZH] Read the harbor map before you go.
[ZH] StopTimeNorth pier7:05
[ZH] Chapter 4: 日本 (Nihon)

Většina z toho je to, co chcete. Každý odstavec byl odeslán jednou, v pořadí, a café a 日本 přežily cestu z RTF kódů do textu a zpět. Tři překvapení:

  1. Záhlaví stránky se stalo prvním odstavcem. "Harbor Notes - Draft 2" bylo záhlaví, které se tisklo na začátku každé stránky. V přeloženém souboru je to text těla.
  2. Poznámka pod čarou se přesunula do věty. "Timetable from the 1998 edition." byla poznámka pod čarou u slova "opened". Nyní následuje za větou, jako by byla její součástí, a číslo poznámky pod čarou zmizelo. Model překládající tento odstavec vidí jeden souvislý text a vy musíte poznámku pod čarou najít a ručně přesunout zpět.
  3. Buňky tabulky se spojily. Čtyři buňky "Stop", "Time", "North pier" a "7:05" se staly jediným řetězcem StopTimeNorth pier7:05. Model jej může rozdělit na špatném místě nebo přeložit "StopTime" jako jedno slovo.

Přeložený soubor nemá záhlaví, poznámku pod čarou, tabulku, adresu odkazu, obrázek ani tučné písmo. Srovnávací režim kontroly v kroku 4 to vše vypíše.

Soubor z TextEditu: jeden odstavec

Soubor z TextEditu má osm viditelných odstavců. Všechny byly odeslány k překladu jako jeden odstavec:

Chapter 3: The HarborThe ferry left at 6:40, an hour before the market opened.Read the harbor map before you go.	•	Bring cash	•	Keep your ticketStopTimeNorth pier7:05Ana said: "We'll wait {here}" and C:\Users\ana\notes stayed open.

Na místech, kde každý odstavec končil, není mezera: "HarborThe", "opened.Read". Přeložený soubor je také jeden odstavec. Náš testovací soubor je krátký. Ve skutečné knize uložené v TextEditu se celý soubor stane jedním odstavcem. Před překladem BookTranslator rozděluje velmi dlouhé odstavce na části o přibližně 6 000 znacích (asi 2 000 pro čínštinu, japonštinu nebo korejštinu), na koncích vět, kde je najde. Tato dělení stále připadají na konce vět uvnitř odstavců, ale nikdy na chybějící zlomy odstavců, protože "opened.Read" nevypadá jako konec věty. Tam, kde je každý odstavec jednou větou, jako jsou řádky dialogu nebo položky seznamu, mohou dělení připadnout na čárky nebo mezery. Model nikdy nevidí, kde byly odstavce, a vy dostanete zpět jednu souvislou stěnu textu.

Složené závorky a zpětná lomítka v poslední větě přežily. Byly správně escapovány na cestě ven, takže soubor se stále otevírá.

Dlouhá čísla: smazána před překladem

Třetí soubor se vrátil takto:

[ZH] Your order reference is  and must be quoted in full.
[ZH] The fix landed in commit  last week.
[ZH] Call +44 20 7946 0958 before 5 pm.

Číslo objednávky a hash commitu zmizely, na místě každého z nich je dvojitá mezera. Čtečka odstraňuje jakýkoli běh 20 nebo více znaků složený pouze z číslic 0–9 a písmen a–f, protože tak vypadají vložená obrazová data v RTF. Dlouhé číslo ve vašem textu pro ni vypadá stejně. Telefonní číslo přežilo, protože jeho skupiny číslic jsou krátké.

To má většinou význam pro smlouvy, faktury, technické poznámky a záznamy s dlouhými referenčními čísly. Kontrola vypíše každý takový řetězec ve vašem zdrojovém souboru a upozorní vás, pokud po překladu některý chybí.

Krok 2: Zvolte správnou cestu pro váš soubor

Podle výstupu kontroly si vyberte jednu:

Co váš soubor obsahujeNejlepší postupProč
Obyčejné odstavce z Wordu nebo jiné aplikace používající \parNahrajte RTFOdstavce se vrátí jeden za jeden; ztratíte jen formátování, které jste nepotřebovali
Obyčejné odstavce z TextEditu (\cocoartf)Nejprve převeďte na DOCX nebo TXT a poté nahrajteČtečka RTF by odeslala celý soubor jako jeden odstavec
Nadpisy, tabulky, poznámky pod čarou nebo formátování, které potřebujete zachovatUložte jako DOCX ve Wordu nebo LibreOffice a poté nahrajte DOCXPostup přes RTF vytvoří znovu obyčejný soubor; DOCX prochází pracovním postupem pro Word
Dlouhá referenční čísla nebo hasheOba postupy, poté zkontrolujteOvěřte, že se vrátila všechna čísla

Chcete-li převést soubor z TextEditu na Macu, otevřete Terminál a spusťte jeden z těchto příkazů:

textutil -convert docx notes.rtf
textutil -convert txt notes.rtf

První příkaz zapíše notes.docx vedle původního souboru. Když jsme takto převedli náš testovací soubor z TextEditu, měl DOCX samostatný odstavec pro každý řádek a zachoval tučná a kurzívou psaná slova. Nezachoval tabulku, která se změnila na samostatné odstavce, ani odkaz. Pokud je potřebujete, otevřete soubor ve Wordu nebo LibreOffice a uložte jej odtud jako DOCX, poté tabulku před nahráním zkontrolujte. Druhý příkaz zapíše soubor s prostým textem. Použijte jej, když potřebujete jen slova; náš průvodce překladem prostého textu popisuje, co v souboru TXT zkontrolovat.

Pro dokument Word, kde záleží na tabulkách, stylech a záhlavích, se podívejte na našeho průvodce překladem dokumentu Word se zachováním formátu. Časté dotazy BookTranslatoru na jeho stránce překladu dokumentů uvádějí stejnou radu pro staré soubory Word .doc: přeloží jejich text a vrátí soubor RTF a doporučují nejprve je uložit jako DOCX, pokud mají zůstat obrázky, tabulky nebo rozvržení.

Krok 3: Přeložte celý soubor

Nahrajte soubor, vyberte cílový jazyk a před platbou zkontrolujte cenu. BookTranslator překládá odstavce v pořadí. U dlouhého souboru s opakujícími se jmény a termíny zapněte před platbou možnost Auto glossary, aby byly překládány po celou dobu stejně.

Získáte dva soubory:

  • Přeložený soubor: každý odstavec v cílovém jazyce.
  • Dvojjazyčný soubor: každý původní odstavec následovaný překladem. To je rychlejší soubor pro kontrolu, protože můžete číst oba vedle sebe a odhalit odstavec, který byl vynechán nebo špatně přečten. V dvojjazyčném souboru pro náš test TextEditu se celý dokument objeví jednou v angličtině a poté jednou s označením, což je další způsob, jak vidět problém s jediným odstavcem.

Oba soubory jsou zapsány jako obyčejné odstavce písmem Times New Roman o velikosti 12 bodů. Cílové jazyky psané zprava doleva, jako arabština a hebrejština, jsou označeny jako odstavce zprava doleva. Otevřete soubory ve Wordu, LibreOffice nebo TextEditu, abyste je mohli číst a formátovat.

Krok 4: Zkontrolujte přeložený soubor

Spusťte kontrolu se zdrojovým souborem a překladem:

python3 check_rtf.py sample-word-style.rtf sample-word-style-translated.rtf

U našeho souboru ve stylu Wordu sekce porovnání vypsala:

== compare
  CHANGED table_cells: 4 -> 0
  CHANGED footnotes: 1 -> 0
  CHANGED headers: 1 -> 0
  CHANGED hyperlinks: 1 -> 0
  CHANGED images: 1 -> 0
  CHANGED bold_on: 2 -> 0
  CHANGED italic_on: 1 -> 0
  CHANGED page_breaks: 1 -> 0
  CHANGED visible_paragraphs: 7 -> 6

Každý řádek je úkol k vaší kontrole. Zde se počet odstavců změnil ze sedmi na šest, protože řádky tabulky se staly jedním odstavcem. U souboru s dlouhými čísly se vypsaly dva řádky MISSING, jeden pro každé smazané číslo. U souboru z TextEditu je visible_paragraphs: 8 -> 1 znamením, abyste se vrátili ke kroku 2.

Kontrola počítá strukturu. Nemůže vám říct, zda je překlad dobrý. Přečtěte si dvojjazyčný soubor, alespoň úvodní stránky a každou pasáž se jmény, čísly nebo dialogy.

Časté problémy

Můj přeložený RTF je jeden dlouhý odstavec. Váš zdrojový soubor s největší pravděpodobností pochází z TextEditu nebo jiné aplikace pro Mac. Spusťte kontrolu na originálu. Pokud varuje před zlomy řádků se zpětným lomítkem, převeďte soubor na DOCX nebo TXT a přeložte ten.

Některá slova jsou slepená dohromady, například „StopTime“. To byly buňky tabulky. Tabulky RTF na této cestě ztrácejí hranice buněk. Pokud na tabulce záleží, přeložte kopii souboru ve formátu DOCX.

Věta končí textem, který k ní nepatří. To je pravděpodobně poznámka pod čarou. Najděte ji v originálu a poté přesuňte její překlad zpět do poznámky pod čarou ve Wordu.

V překladu chybí číslo. Pokud mělo 20 nebo více znaků z 0–9 a a–f, bylo před překladem odstraněno. Zkopírujte je zpět z originálu. Řádky MISSING v kontrole vypisují každé z nich.

Formátování je pryč. To se na cestě RTF očekává: soubor se znovu sestaví z prostých odstavců. Pokud formátování potřebujete, přeložte kopii ve formátu DOCX nebo po překladu znovu použijte styly. Naše srovnání nástrojů pro překlad DOCX pokrývá, které nástroje zachovávají formátování Wordu a jak dobře.

Mohu výsledek dostat místo toho jako DOCX? Ne z nahrání RTF; RTF dovnitř, RTF ven. Před nahráním převeďte originál na DOCX a výsledek se vrátí jako DOCX.

Související příspěvky