BookTranslator
BookTranslator

RTF-fájl fordítása: mi marad meg és mi törik el

Mi történik a bekezdésekkel, táblázatokkal, lábjegyzetekkel, hivatkozásokkal és formázással egy RTF-fájl fordítása során, miért igényelnek a TextEdit-fájlok egy plusz lépést, és egy ingyenes ellenőrző eszköz.

BookTranslator

BookTranslator Team

12 perc olvasás

Egy RTF-fájl fordításához töltse fel a teljes .rtf fájlt egy olyan fordítóba, amely képes olvasni az RTF-et, majd ellenőrizze az eredményt. A BookTranslator elfogadja az RTF-et. Bekezdésenként olvassa be a szöveget, lefordítja, és egy új RTF-fájlt, valamint egy kétnyelvű RTF-fájlt ad vissza. A szöveg beillesztése egy csevegőablakba vagy egy webes fordítóba is működik egy-két oldal esetén, de ilyenkor elveszíti a fájlt, és újra kell építenie.

Egy dolgot érdemes tudni a feltöltés előtt. A lefordított fájl megtartja a szavait és a bekezdéseit, de a formázást nem. A félkövér, a címsorok, a betűtípusok, a táblázatok, a hivatkozások és a képek nem jönnek vissza. Ezért a helyes útvonal attól függ, mi van a fájlban, és melyik alkalmazás mentette. Egy Wordből mentett egyszerű kézirat az egyszerű eset. Egy Macen a TextEdittel mentett fájlhoz előbb egy plusz lépés kell, különben minden bekezdés összefolyik.

Készítettünk három tesztfájlt, és írtunk egy ingyenes ellenőrzőt, amely megmutatja, mi van egy RTF-fájlban a feltöltés előtt, és mi változott utána. A tesztfájlokat a BookTranslator által használt RTF-olvasó és -író kód helyi példányán futtattuk le, a modell helyett egy jelölővel, így pontosan láthatja, melyik szöveget küldi fordításra az egyes tesztfájlok, és hogyan jön vissza a fájl.

Gyors válasz: mi történik a fájl egyes részeivel

A fájl részeMi jött vissza a tesztünkbenMit tegyen
\par-ral végződő bekezdések (Word és a legtöbb Windows-alkalmazás)Minden bekezdéshez egy lefordított bekezdésSemmit
Visszaperjellel és sortöréssel végződő bekezdések (TextEdit, más Mac-alkalmazások)Az egész fájl egyetlen bekezdésként elküldve, a sortörések helyén szóköz nélkülElőször alakítsa át a fájlt (lásd a 2. lépést)
Félkövér, dőlt, címsorok, betűtípusok, színek, igazításEltávolítva. Minden bekezdés 12 pontos Times New RomanFormázza újra Wordben, vagy fordítson inkább DOCX-et
TáblázatokA cellák szövege szóköz nélkül összefűzve: StopTimeNorth pier7:05Fordítson inkább DOCX-et
LábjegyzetekA lábjegyzet szövege a bekezdése végéhez került; a lábjegyzet száma eltűntHelyezze vissza a lábjegyzeteket kézzel, vagy fordítson DOCX-et
OldalfejlécKözönséges bekezdéssé válik ott, ahol a fájlban található (a tesztünkben a tetején)Törölje, vagy tartsa meg az eredeti fejlécet
HivatkozásokA hivatkozás szövege megmarad és lefordításra kerül, a webcím eltávolításra kerülAdja hozzá újra a hivatkozásokat
KépekEltávolítvaTartsa meg az eredeti fájlt a grafikákhoz
Ékezetes és nem latin karakterek (café, 日本)Helyesen olvasva és írvaSemmi
Bármely 20 vagy több karakterből álló sorozat 0–9 és a–f karakterekből (hosszú hivatkozási számok, hash-ek)A fordítás előtt törölveEllenőrizze őket fordítás után (az ellenőrző ezt teszi)

Az útmutató további része bemutatja, honnan származik az egyes sorok tartalma, és mit lehet tenni velük.

1. lépés: Ellenőrizze, milyen típusú RTF-fájlja van

Az RTF egy szöveges formátum, amely formázási kódokat tartalmaz. Nyissa meg a fájlt egy egyszerű szövegszerkesztőben, vagy futtassa a head -c 120 yourfile.rtf parancsot egy terminálban, és nézze meg az első sort.

  • Ha tartalmazza a \cocoartf kódot, a fájlt az Apple szövegrendszere mentette: a TextEdit vagy egy másik Mac-alkalmazás, amely ezt használja.
  • Ha \rtf1\ansi szerepel benne, és nincs \cocoartf, akkor valószínűleg Word, LibreOffice, WordPad vagy egy íróalkalmazás exportja.

A különbség azért fontos, mert a két típus különböző módon zárja le a bekezdéseket. A Word és a legtöbb más szövegszerkesztő a \par kódot írja minden bekezdés végére. Az Apple szövegrendszere ehelyett egyetlen visszaperjelet ír a sor végére. Mindkettő érvényes RTF: a Microsoft eredeti, 1989-es RTF-specifikációja (tükrözött példány) szerint a visszaperjel és az azt követő sortörés ugyanúgy kezelendő, mint a \par, és az Apple saját olvasója a TextEdit-tesztfájlunkat külön bekezdésekként jeleníti meg. A BookTranslator RTF-olvasója csak a \par mentén bontja bekezdésekre a szöveget. Ezt 2026. november 3-án ellenőriztük a kódjában, valamint az alábbi tesztben.

Az ellenőrző megmondja, melyik típusa van, és mi más található a fájlban. Python 3-ra van szüksége, semmi másra:

python3 check_rtf.py sample-word-style.rtf

A Word-stílusú tesztfájlunkon ezt írta ki:

== 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.

A TextEdit-fájlon az első figyelmeztetés ez volt:

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

Ha az ellenőrző nem jelez figyelmeztetést, a bekezdések, számok és szövegek átmennek. A félkövér, a címsorok és a listák nem váltanak ki figyelmeztetést, de az RTF-útvonalon mégis eltávolítódnak, ezért nézze meg a 2. lépést, ha szüksége van rájuk.

Mi került vissza a tesztfájljainkból

Három kis fájlt készítettünk. Mindegyik, és minden, ami visszajött, a tesztfájl mappában található.

  • A sample-word-style.rtf kézzel íródott abban a stílusban, amelyet a Word használ az RTF-hez: \par törések, oldalfejléc, lábjegyzet, hivatkozás, kétszer kettes táblázat, egy kis kép, oldaltörés, a café kódlaptáblázat-karakterként írva, és a 日本 Unicode-kódokként írva.
  • A sample-textedit.rtf egy Macen készült a textutil -convert rtf paranccsal, amely ugyanazt a szövegrendszert használja, mint a TextEdit. Van benne címsor, félkövér és dőlt szavak, hivatkozás, felsorolásjeles lista, táblázat, és egy sor {braces} és visszaperjelekkel.
  • A sample-long-numbers.rtf tartalmaz egy 20 jegyű rendelési hivatkozást, egy 40 karakteres commit hash-t és egy telefonszámot.

A BookTranslator backend kódjából 2026. november 3-án átmásoltuk az RTF olvasó és író függvényeket, és lefuttattuk őket minden fájlon. Nem használtunk modellt. Minden bekezdést, amelyet fordításra küldtünk volna, helyettesítettünk a [ZH] előtaggal és az eredeti szöveggel. Ez pontosan megmutatja, mit kapna a modell, és hogyan épül újra a fájl, anélkül, hogy egy valódi fordítás zaja zavarna.

A Word-stílusú fájl: hat tiszta bekezdés, három meglepetéssel

A fájl hat lefordított bekezdésként jött vissza, ebben a sorrendben:

[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)

Ennek nagy része az, amit szeretne. Minden bekezdést egyszer küldtünk el, sorrendben, és a café és a 日本 túlélte az utat az RTF-kódoktól a szövegig és vissza. A három meglepetés:

  1. Az oldalfejléc lett az első bekezdés. A „Harbor Notes - Draft 2” egy fejléc volt, amely minden oldal tetején megjelent. A lefordított fájlban ez törzsszöveg.
  2. A lábjegyzet bekerült a mondatba. A „Timetable from the 1998 edition.” lábjegyzet volt az „opened” szóhoz. Most a mondat után következik, mintha annak része lenne, és a lábjegyzet száma eltűnt. A modell, amely ezt a bekezdést fordítja, egy összefolyó szöveget lát, és Önnek kézzel kell megkeresnie és visszahelyeznie a lábjegyzetet.
  3. A táblázat cellái összefolytak. A négy cella: „Stop”, „Time”, „North pier” és „7:05” egyetlen karakterlánccá vált: StopTimeNorth pier7:05. A modell rossz helyen választhatja szét, vagy a „StopTime”-ot egy szóként fordíthatja.

A lefordított fájlban nincs fejléc, nincs lábjegyzet, nincs táblázat, nincs hivatkozási cím, nincs kép és nincs félkövér. Az ellenőrző összehasonlító módja a 4. lépésben mindezt felsorolja.

A TextEdit-fájl: egy bekezdés

A TextEdit-fájlban nyolc látható bekezdés van. Mindegyiket egyetlen bekezdésként küldtük fordításra:

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.

Nincs szóköz ott, ahol az egyes bekezdések véget értek: „HarborThe”, „opened.Read”. A lefordított fájl is egy bekezdés. A tesztfájlunk rövid. Egy valódi, TextEdittel mentett könyvben az egész fájl egyetlen bekezdéssé válik. Fordítás előtt a BookTranslator a nagyon hosszú bekezdéseket körülbelül 6000 karakteres darabokra vágja (kínai, japán vagy koreai esetén körülbelül 2000-re), a mondatok végén, ahol ilyet talál. Ezek a vágások továbbra is a bekezdéseken belüli mondatvégekre esnek, de soha nem a hiányzó bekezdéstörésekre, mert az „opened.Read” nem tűnik mondatvégnek. Ahol minden bekezdés egyetlen mondat, például párbeszédsorok vagy listaelemek esetében, a vágások vesszőknél vagy szóközöknél is előfordulhatnak. A modell soha nem látja, hol voltak a bekezdések, és Ön egyetlen szövegtömböt kap vissza.

A kapcsos zárójelek és visszaperjelek az utolsó mondatban túlélték. Helyesen voltak escape-elve kifelé menet, így a fájl továbbra is megnyílik.

A hosszú számok: fordítás előtt törölve

A harmadik fájl így jött vissza:

[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.

A rendelési hivatkozás és a commit hash eltűnt, mindkettő helyén dupla szóközzel. Az olvasó eltávolít minden 20 vagy több karakterből álló sorozatot, amely csak a 0–9 számjegyekből és az a–f betűkből áll, mert az RTF-ben a beágyazott képadatok így néznek ki. Egy hosszú szám a szövegében ugyanígy néz ki számára. A telefonszám túlélte, mert a számjegycsoportjai rövidek.

Ez főleg szerződések, számlák, műszaki feljegyzések és hosszú hivatkozási számokat tartalmazó nyilvántartások esetében fontos. Az ellenőrző felsorolja a forrásfájlban található összes ilyen karakterláncot, és jelzi, ha valamelyik hiányzik a fordítás után.

2. lépés: Válassza ki a fájljához megfelelő útvonalat

Az ellenőrző kimenete alapján válasszon egyet:

Mit tartalmaz a fájljaLegjobb útvonalMiért
Egyszerű bekezdések Wordből vagy más \par-alapú alkalmazásbólTöltse fel az RTF-etA bekezdések egy az egyben visszajönnek; csak a nem szükséges formázást veszíti el
Egyszerű bekezdések TextEditből (\cocoartf)Először konvertálja DOCX vagy TXT formátumba, majd azt töltse felAz RTF-olvasó az egész fájlt egyetlen bekezdésként küldené
Címsorok, táblázatok, lábjegyzetek vagy megőrizni kívánt formázásMentse DOCX-ként Wordben vagy LibreOffice-ban, majd töltse fel a DOCX-etAz RTF-útvonal egyszerű fájlt épít újra; a DOCX a Word-munkafolyamaton megy keresztül
Hosszú hivatkozási számok vagy hash-ekBármelyik útvonal, majd ellenőrizzeGyőződjön meg róla, hogy minden szám visszajött

TextEdit-fájl Macen történő konvertálásához nyissa meg a Terminált, és futtassa az alábbiak egyikét:

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

Az első a notes.docx fájlt az eredeti mellé írja. Amikor a TextEdit-tesztfájlunkat így konvertáltuk, a DOCX minden sorhoz külön bekezdést tartalmazott, és megtartotta a félkövér és dőlt szavakat. A táblázatot nem tartotta meg, amely külön bekezdésekké vált, sem a hivatkozást. Ha ezekre szüksége van, nyissa meg a fájlt Wordben vagy LibreOffice-ban, és onnan mentse DOCX-ként, majd a feltöltés előtt ellenőrizze a táblázatot. A második parancs egyszerű szöveges fájlt ír. Akkor használja, ha csak a szavakra van szüksége; az egyszerű szöveg fordítási útmutatónk leírja, mit kell ellenőrizni egy TXT-fájlban.

Ha egy Word-dokumentumban a táblázatok, stílusok és fejlécek számítanak, tekintse meg útmutatónkat a Word-dokumentum formázás megőrzésével történő fordításáról. A BookTranslator GYIK-je a dokumentumfordító oldalán ugyanezt a tanácsot adja a régi Word .doc fájlokhoz: lefordítja a szövegüket, és RTF-fájlt ad vissza, valamint azt javasolja, hogy először mentse őket DOCX-ként, ha a képeknek, táblázatoknak vagy az elrendezésnek meg kell maradnia.

3. lépés: A teljes fájl fordítása

Töltse fel a fájlt, válassza ki a célnyelvet, és a fizetés előtt ellenőrizze az árat. A BookTranslator a bekezdéseket sorrendben fordítja. Hosszú, ismétlődő neveket és kifejezéseket tartalmazó fájl esetén a fizetés előtt kapcsolja be az Auto glosszárium opciót, hogy ezeket végig ugyanúgy fordítsa.

Két fájlt kap:

  • A lefordított fájl: minden bekezdés a célnyelven.
  • A kétnyelvű fájl: minden eredeti bekezdés, amelyet a fordítása követ. Ez a gyorsabb fájl az ellenőrzéshez, mert egymás mellett olvashatja a kettőt, és észreveheti, ha egy bekezdés kimaradt vagy félreértelmeződött. A TextEdit-tesztünk kétnyelvű fájljában az egész dokumentum egyszer angolul, majd egyszer a jelöléssel jelenik meg, ami az egybekezdéses probléma egy másik megnyilvánulása.

Mindkét fájl egyszerű, 12 pontos Times New Roman bekezdésekként íródik. A jobbról balra író célnyelvek, például az arab és a héber, jobbról balra bekezdésekként vannak megjelölve. Nyissa meg a fájlokat Wordben, LibreOffice-ban vagy TextEditben az olvasáshoz és formázáshoz.

4. lépés: Ellenőrizze a lefordított fájlt

Futtassa az ellenőrzőt a forrásfájllal és a fordítással:

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

A Word-stílusú fájlunknál az összehasonlító rész ezt írta ki:

== 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

Minden sor egy-egy ellenőrizendő feladat. Itt a bekezdések száma hét helyett hat lett, mert a táblázat sorai egyetlen bekezdéssé váltak. A hosszú számokat tartalmazó fájlnál két MISSING sor jelent meg, egy-egy minden törölt számhoz. A TextEdit-fájlnál a visible_paragraphs: 8 -> 1 azt jelzi, hogy térjen vissza a 2. lépéshez.

Az ellenőrző a szerkezetet számolja. Nem tudja megmondani, hogy jó-e a fordítás. Olvassa el a kétnyelvű fájlt, legalább a nyitó oldalakat és minden olyan részt, ahol nevek, számok vagy párbeszéd szerepelnek.

Gyakori problémák

A lefordított RTF-em egyetlen hosszú bekezdés. A forrásfájl valószínűleg TextEditből vagy egy másik Mac-alkalmazásból származik. Futtassa az ellenőrzőt az eredetin. Ha figyelmeztet a backslash sorvégekre, alakítsa át a fájlt DOCX vagy TXT formátumba, és azt fordítsa le.

Néhány szó össze van ragadva, például „StopTime”. Ezek táblázatcellák voltak. Az RTF-táblázatok ezen az útvonalon elveszítik a cellahatárokat. Ha a táblázat fontos, fordítsa le a fájl DOCX-másolatát.

Egy mondat olyan szöveggel végződik, amely nem hozzá tartozik. Ez valószínűleg egy lábjegyzet. Keresse meg az eredetiben, majd helyezze vissza a fordítását lábjegyzetbe a Wordben.

Egy szám hiányzik a fordításból. Ha 20 vagy több karakterből állt 0–9 és a–f jelekből, a fordítás előtt eltávolítottuk. Másolja vissza az eredetiből. Az ellenőrző MISSING sorai mindegyiket felsorolják.

A formázás eltűnt. Ez várható az RTF-útvonalon: a fájl egyszerű bekezdésekkel épül újra. Ha szüksége van a formázásra, fordítsa le a DOCX-másolatot, vagy a fordítás után alkalmazza újra a stílusokat. A DOCX-fordítóeszközök összehasonlításában áttekintjük, mely eszközök tartják meg a Word formázását, és milyen jól.

Kaphatom az eredményt DOCX formátumban? RTF-feltöltésből nem; RTF megy be, RTF jön ki. A feltöltés előtt alakítsa át az eredetit DOCX formátumba, és az eredmény DOCX formátumban jön vissza.

Kapcsolódó bejegyzések