BookTranslator
BookTranslator

Cara Menterjemah Fail RTF: Apa yang Kekal dan Apa yang Rosak

Apa yang berlaku kepada perenggan, jadual, nota kaki, pautan dan pemformatan apabila fail RTF diterjemah, mengapa fail TextEdit memerlukan langkah tambahan, dan alat pemeriksa percuma.

BookTranslator

BookTranslator Team

12 min baca

Untuk menterjemah fail RTF, muat naik keseluruhan fail .rtf ke penterjemah yang membaca RTF, kemudian semak hasilnya. BookTranslator menerima RTF. Ia membaca teks satu perenggan demi satu perenggan, menterjemahnya, dan memberikan anda fail RTF baharu serta fail RTF dwibahasa. Menampal teks ke dalam tetingkap sembang atau penterjemah web juga berkesan untuk satu atau dua halaman, tetapi anda kehilangan fail dan perlu membinanya semula.

Ada satu perkara yang perlu diketahui sebelum anda memuat naik. Fail terjemahan mengekalkan perkataan dan perenggan anda, tetapi bukan pemformatan anda. Huruf tebal, tajuk, fon, jadual, pautan dan imej tidak dikembalikan. Jadi laluan yang betul bergantung pada kandungan fail anda dan aplikasi yang menyimpannya. Manuskrip biasa yang disimpan daripada Word ialah kes mudah. Fail yang disimpan oleh TextEdit pada Mac memerlukan satu langkah tambahan dahulu, jika tidak setiap perenggan akan bercantum.

Kami membuat tiga fail ujian dan menulis alat pemeriksa percuma yang menunjukkan kandungan fail RTF sebelum anda memuat naiknya dan apa yang berubah selepasnya. Kami menjalankan fail ujian melalui salinan setempat kod pembacaan dan penulisan RTF yang digunakan oleh BookTranslator, dengan penanda menggantikan model, supaya anda dapat melihat dengan tepat teks mana yang dihantar oleh setiap fail ujian untuk diterjemah dan bagaimana fail itu dikembalikan.

Jawapan Pantas: Apa yang Berlaku kepada Setiap Bahagian Fail

Bahagian failApa yang dikembalikan dalam ujian kamiApa yang perlu dilakukan
Perenggan diakhiri dengan \par (Word dan kebanyakan aplikasi Windows)Satu perenggan terjemahan untuk setiap satuTiada
Perenggan diakhiri dengan garis miring terbalik dan pemisah baris (TextEdit, aplikasi Mac lain)Keseluruhan fail dihantar sebagai satu perenggan, tanpa ruang di tempat setiap pemisahTukar fail terlebih dahulu (lihat Langkah 2)
Tebal, condong, tajuk, fon, warna, jajaranDibuang. Setiap perenggan ialah Times New Roman 12 mataFormat semula dalam Word, atau terjemah DOCX sebaliknya
JadualTeks sel digabungkan tanpa ruang: StopTimeNorth pier7:05Terjemah DOCX sebaliknya
Nota kakiTeks nota kaki ditambahkan pada penghujung perenggannya; nombor nota kaki hilangPindahkan nota kaki semula secara manual, atau terjemah DOCX
Pengepala halamanMenjadi perenggan biasa di tempatnya dalam fail (di bahagian atas, dalam ujian kami)Padamkannya, atau kekalkan pengepala asal
PautanTeks pautan dikekalkan dan diterjemah, alamat web dibuangTambahkan semula pautan
ImejDibuangSimpan fail asal untuk karya seni
Aksara beraksen dan bukan Latin (café, 日本)Dibaca dan ditulis dengan betulTiada
Sebarang rentetan 20 aksara atau lebih daripada 0–9 dan a–f (nombor rujukan panjang, cincangan)Dipadam sebelum terjemahanSemak selepas terjemahan (pemeriksa melakukan ini)

Baki panduan ini menunjukkan dari mana setiap baris datang dan apa yang perlu dilakukan mengenainya.

Langkah 1: Semak Jenis RTF yang Anda Miliki

RTF ialah format teks dengan kod pemformatan di dalamnya. Buka fail dalam editor teks biasa, atau jalankan head -c 120 yourfile.rtf dalam terminal, dan lihat baris pertama.

  • Jika ia mengandungi \cocoartf, fail itu disimpan oleh sistem teks Apple: TextEdit, atau aplikasi Mac lain yang menggunakannya.
  • Jika ia mengandungi \rtf1\ansi dan tiada \cocoartf, ia kemungkinan besar daripada Word, LibreOffice, WordPad, atau eksport aplikasi penulisan.

Perbezaan ini penting kerana kedua-dua jenis menamatkan perenggan dengan cara yang berbeza. Word dan kebanyakan pemproses kata lain menulis kod \par di hujung setiap perenggan. Sistem teks Apple menulis satu garis miring terbalik di hujung baris sebagai gantinya. Kedua-duanya adalah RTF yang sah: spesifikasi RTF asal Microsoft 1989 (salinan cermin) menyatakan garis miring terbalik diikuti pemisah baris dianggap sama seperti \par, dan pembaca Apple sendiri menunjukkan fail ujian TextEdit kami sebagai perenggan berasingan. Pembaca RTF BookTranslator memisahkan perenggan pada \par sahaja. Kami menyemak ini dalam kodnya pada 3 November 2026 dan dalam ujian di bawah.

Pemeriksa memberitahu anda jenis yang anda miliki, dan apa lagi yang ada dalam fail. Ia memerlukan Python 3 dan tiada yang lain:

python3 check_rtf.py sample-word-style.rtf

Pada fail ujian gaya Word kami, ia mencetak:

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

Pada fail TextEdit, amaran pertama ialah ini:

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

Jika penyemak tidak mencetak sebarang amaran, perenggan, nombor dan teks anda sepatutnya dapat dipulihkan. Huruf tebal, tajuk dan senarai tidak mencetuskan amaran, tetapi ia masih dibuang melalui laluan RTF, jadi semak Langkah 2 jika anda memerlukannya.

Apa Yang Kembali Daripada Fail Ujian Kami

Kami membuat tiga fail kecil. Kesemuanya, dan segala yang kembali, ada dalam folder fail ujian.

  • sample-word-style.rtf ditulis secara manual dalam gaya yang digunakan Word untuk RTF: pemisah \par, pengepala halaman, nota kaki, pautan, jadual dua-lawan-dua, imej kecil, pemisah halaman, café ditulis sebagai aksara kod halaman, dan 日本 ditulis sebagai kod Unicode.
  • sample-textedit.rtf dihasilkan pada Mac dengan textutil -convert rtf, yang menggunakan sistem teks yang sama seperti TextEdit. Ia mempunyai tajuk, perkataan tebal dan condong, pautan, senarai berbulet, jadual, dan satu baris dengan {braces} dan garis miring terbalik di dalamnya.
  • sample-long-numbers.rtf mempunyai rujukan pesanan 20 digit, hash komit 40 aksara, dan nombor telefon.

Kami menyalin fungsi bacaan dan penulisan RTF daripada kod bahagian belakang BookTranslator pada 3 November 2026 dan menjalankannya pada setiap fail. Tiada model digunakan. Setiap perenggan yang akan dihantar untuk terjemahan digantikan dengan [ZH] ditambah teks asal. Itu menunjukkan dengan tepat apa yang akan diterima oleh model dan bagaimana fail itu dibina semula, tanpa gangguan terjemahan sebenar.

Fail gaya Word: enam perenggan bersih, dengan tiga kejutan

Fail itu kembali sebagai enam perenggan terjemahan, dalam susunan ini:

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

Sebahagian besar daripada ini adalah apa yang anda mahukan. Setiap perenggan dihantar sekali, mengikut urutan, dan café serta 日本 terselamat dalam perjalanan daripada kod RTF ke teks dan kembali. Tiga kejutan itu:

  1. Pengepala halaman menjadi perenggan pertama. "Harbor Notes - Draft 2" ialah pengepala yang dicetak di bahagian atas setiap halaman. Dalam fail terjemahan, ia menjadi teks badan.
  2. Nota kaki berpindah ke dalam ayat. "Timetable from the 1998 edition." ialah nota kaki pada "opened". Kini ia mengikuti ayat itu seolah-olah sebahagian daripadanya, dan nombor nota kaki itu hilang. Model yang menterjemah perenggan itu melihat satu teks yang bersambung, dan anda perlu mencari dan memindahkan nota kaki itu kembali secara manual.
  3. Sel-sel jadual bercantum. Empat sel "Stop", "Time", "North pier", dan "7:05" menjadi satu rentetan StopTimeNorth pier7:05. Model mungkin memisahkannya di tempat yang salah, atau menterjemah "StopTime" sebagai satu perkataan.

Fail terjemahan itu tidak mempunyai pengepala, nota kaki, jadual, alamat pautan, imej, dan huruf tebal. Mod perbandingan penyemak dalam Langkah 4 menyenaraikan semua itu.

Fail TextEdit: satu perenggan

Fail TextEdit mempunyai lapan perenggan yang kelihatan. Kesemuanya dihantar untuk terjemahan sebagai satu perenggan:

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.

Tiada ruang di tempat setiap perenggan berakhir: "HarborThe", "opened.Read". Fail terjemahan juga merupakan satu perenggan. Fail ujian kami adalah pendek. Dalam buku sebenar yang disimpan oleh TextEdit, keseluruhan fail menjadi satu perenggan. Sebelum terjemahan, BookTranslator memotong perenggan yang sangat panjang kepada kepingan kira-kira 6,000 aksara (kira-kira 2,000 untuk bahasa Cina, Jepun, atau Korea), pada penghujung ayat jika ia dapat menemuinya. Potongan itu masih berlaku pada penghujung ayat di dalam perenggan, tetapi tidak pernah pada pemisah perenggan yang hilang, kerana "opened.Read" tidak kelihatan seperti penghujung ayat. Jika setiap perenggan ialah satu ayat tunggal, seperti baris dialog atau item senarai, potongan boleh berlaku pada koma atau ruang. Model tidak pernah melihat di mana perenggan itu berada, dan anda mendapat kembali satu dinding teks.

Kurungan dan garis miring terbalik dalam ayat terakhir itu memang terselamat. Ia dilepaskan dengan betul semasa keluar, jadi fail itu masih boleh dibuka.

Nombor panjang: dipadam sebelum terjemahan

Fail ketiga kembali seperti ini:

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

Rujukan pesanan dan hash komit itu hilang, dengan ruang berganda di tempat setiap satunya. Pembaca membuang sebarang rentetan 20 aksara atau lebih yang hanya terdiri daripada digit 0–9 dan huruf a–f, kerana begitulah rupa data imej terbenam dalam RTF. Nombor panjang dalam teks anda kelihatan sama kepadanya. Nombor telefon itu terselamat kerana kumpulan digitnya pendek.

Ini kebanyakannya penting untuk kontrak, invois, nota teknikal, dan rekod dengan nombor rujukan yang panjang. Penyemak menyenaraikan setiap rentetan sedemikian dalam fail sumber anda dan memberitahu anda jika ada yang hilang selepas terjemahan.

Langkah 2: Pilih Laluan yang Betul untuk Fail Anda

Gunakan output penyemak untuk memilih satu:

Apa yang ada dalam fail andaLaluan terbaikSebab
Perenggan biasa, daripada Word atau aplikasi \par lainMuat naik RTFPerenggan kembali satu demi satu; anda hanya kehilangan pemformatan yang tidak diperlukan
Perenggan biasa, daripada TextEdit (\cocoartf)Tukar kepada DOCX atau TXT dahulu, kemudian muat naik fail ituPembaca RTF akan menghantar keseluruhan fail sebagai satu perenggan
Tajuk, jadual, nota kaki, atau pemformatan yang perlu dikekalkanSimpan sebagai DOCX dalam Word atau LibreOffice, kemudian muat naik DOCX ituLaluan RTF membina semula fail biasa; DOCX melalui aliran kerja Word
Nombor rujukan atau cincangan yang panjangMana-mana laluan, kemudian semakPastikan setiap nombor kembali

Untuk menukar fail TextEdit pada Mac, buka Terminal dan jalankan salah satu daripada ini:

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

Yang pertama menulis notes.docx di sebelah fail asal. Apabila kami menukar fail ujian TextEdit kami dengan cara ini, DOCX itu mempunyai perenggan berasingan untuk setiap baris dan mengekalkan perkataan tebal dan condong. Ia tidak mengekalkan jadual, yang menjadi perenggan berasingan, atau pautan. Jika anda memerlukan perkara itu, buka fail dalam Word atau LibreOffice dan simpan sebagai DOCX dari situ, kemudian semak jadual sebelum memuat naik. Arahan kedua menulis fail teks biasa. Gunakannya apabila anda hanya memerlukan perkataan; panduan terjemahan teks biasa kami merangkumi perkara yang perlu disemak dalam fail TXT.

Untuk dokumen Word yang mementingkan jadual, gaya, dan pengepala, lihat panduan kami tentang menterjemah dokumen Word sambil mengekalkan format. Soalan Lazim BookTranslator pada halaman penterjemah dokumen memberikan nasihat yang sama untuk fail Word .doc lama: ia menterjemah teksnya dan mengembalikan fail RTF, serta mengesyorkan menyimpannya sebagai DOCX terlebih dahulu apabila imej, jadual, atau susun atur perlu dikekalkan.

Langkah 3: Terjemah Keseluruhan Fail

Muat naik fail, pilih bahasa sasaran, dan semak harga sebelum anda membayar. BookTranslator menterjemah perenggan mengikut urutan. Untuk fail panjang dengan nama dan istilah berulang, hidupkan pilihan Auto glosari sebelum anda membayar, supaya ia diterjemah dengan cara yang sama sepanjang dokumen.

Anda mendapat dua fail:

  • Fail terjemahan: setiap perenggan dalam bahasa sasaran.
  • Fail dwibahasa: setiap perenggan asal diikuti dengan terjemahannya. Ini fail yang lebih pantas untuk semakan, kerana anda boleh membaca kedua-duanya bersebelahan dan mengenal pasti perenggan yang terlangkau atau tersalah baca. Dalam fail dwibahasa untuk ujian TextEdit kami, keseluruhan dokumen muncul sekali dalam bahasa Inggeris dan kemudian sekali dengan penanda, yang merupakan cara lain untuk melihat masalah satu perenggan itu.

Kedua-dua fail ditulis sebagai perenggan biasa Times New Roman 12 mata. Bahasa sasaran kanan-ke-kiri, seperti Arab dan Ibrani, ditandakan sebagai perenggan kanan-ke-kiri. Buka fail dalam Word, LibreOffice, atau TextEdit untuk membacanya dan memformatnya.

Langkah 4: Semak Fail Terjemahan

Jalankan penyemak dengan fail sumber dan terjemahan:

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

Untuk fail gaya Word kami, bahagian perbandingan mencetak:

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

Setiap baris ialah tugas untuk semakan anda. Di sini, bilangan perenggan berkurang daripada tujuh kepada enam kerana baris jadual menjadi satu perenggan. Untuk fail nombor panjang, ia mencetak dua baris MISSING, satu untuk setiap nombor yang dipadamkan. Untuk fail TextEdit, visible_paragraphs: 8 -> 1 ialah tanda untuk kembali ke Langkah 2.

Penyemak mengira struktur. Ia tidak dapat memberitahu anda sama ada terjemahan itu baik. Baca fail dwibahasa, sekurang-kurangnya untuk halaman pembuka dan mana-mana petikan yang mengandungi nama, nombor, atau dialog.

Masalah Lazim

RTF terjemahan saya menjadi satu perenggan panjang. Fail sumber anda kemungkinan besar berasal daripada TextEdit atau aplikasi Mac yang lain. Jalankan penyemak pada fail asal. Jika ia memberi amaran tentang pemisah baris backslash, tukar fail kepada DOCX atau TXT dan terjemahkan fail itu.

Sesetengah perkataan bercantum, seperti "StopTime". Itu ialah sel jadual. Jadual RTF kehilangan sempadan selnya melalui laluan ini. Terjemahkan salinan DOCX fail itu jika jadual itu penting.

Sesuatu ayat berakhir dengan teks yang bukan miliknya. Itu mungkin nota kaki. Cari dalam fail asal, kemudian pindahkan terjemahannya kembali ke nota kaki dalam Word.

Sesuatu nombor hilang daripada terjemahan. Jika ia mempunyai 20 aksara atau lebih daripada 0–9 dan a–f, ia telah dibuang sebelum terjemahan. Salin semula daripada fail asal. Baris MISSING penyemak menyenaraikan setiap satunya.

Pemformatan hilang. Itu dijangka dalam laluan RTF: fail dibina semula dengan perenggan biasa. Jika anda memerlukan pemformatan, terjemahkan salinan DOCX, atau gunakan semula gaya selepas terjemahan. Perbandingan kami tentang alat terjemahan DOCX merangkumi alat mana yang mengekalkan pemformatan Word dan sejauh mana keberkesanannya.

Bolehkah saya dapatkan hasilnya sebagai DOCX? Bukan daripada muat naik RTF; RTF masuk, RTF keluar. Tukar fail asal kepada DOCX sebelum anda memuat naik, dan hasilnya kembali sebagai DOCX.

Catatan Berkaitan