Как да преведете RTF файл: какво оцелява и какво се чупи
Какво се случва с абзаците, таблиците, бележките под линия, връзките и форматирането, когато се превежда RTF файл, защо файловете от TextEdit се нуждаят от допълнителна стъпка и безплатен инструмент за проверка.

За да преведете RTF файл, качете целия .rtf файл в преводач, който разчита RTF, и след това проверете резултата. BookTranslator приема RTF. Той прочита текста абзац по абзац, превежда го и ви връща нов RTF файл и двуезичен RTF файл. Поставянето на текста в чат прозорец или уеб преводач също работи за страница или две, но губите файла и трябва да го създавате наново.
Има едно нещо, което трябва да знаете преди качването. Преведеният файл запазва думите и абзаците ви, но не и форматирането. Удебелен шрифт, заглавия, шрифтове, таблици, връзки и изображения не се връщат. Затова правилният подход зависи от това какво има във файла и коя програма го е запазила. Обикновен ръкопис, запазен от Word, е лесният случай. Файл, запазен от TextEdit на Mac, изисква първо една допълнителна стъпка, иначе всички абзаци се сливат.
Направихме три тестови файла и написахме безплатен инструмент за проверка, който показва какво има в един RTF файл преди качване и какво се е променило след това. Пуснахме тестовите файлове през локално копие на кода за четене и запис на RTF, който BookTranslator използва, с маркер на мястото на модел, така че можете да видите точно кой текст изпраща всеки тестов файл за превод и как се връща файлът.
Бърз отговор: какво се случва с всяка част от файла
| Част от файла | Какво се върна в нашия тест | Какво да направите |
|---|---|---|
Абзаци, завършващи с \par (Word и повечето Windows програми) | Един преведен абзац за всеки оригинален | Нищо |
| Абзаци, завършващи с обратна наклонена черта и нов ред (TextEdit, други Mac програми) | Целият файл се изпраща като един абзац, без интервал на мястото на всеки нов ред | Конвертирайте файла първо (вижте Стъпка 2) |
| Удебелен, курсив, заглавия, шрифтове, цветове, подравняване | Премахнати. Всеки абзац е с шрифт Times New Roman 12 пункта | Форматирайте отново в Word или преведете DOCX вместо това |
| Таблици | Текстът от клетките се съединява без интервал: StopTimeNorth pier7:05 | Преведете DOCX вместо това |
| Бележки под линия | Текстът на бележката под линия се добавя в края на абзаца; номерът на бележката изчезва | Върнете бележките под линия ръчно или преведете DOCX |
| Заглавка на страницата | Става обикновен абзац там, където се намира във файла (в нашия тест – в началото) | Изтрийте я или запазете оригиналната заглавка |
| Връзки | Текстът на връзката се запазва и превежда, уеб адресът се премахва | Добавете връзките отново |
| Изображения | Премахнати | Запазете оригиналния файл за илюстрациите |
Букви с диакритични знаци и нелатински символи (café, 日本) | Четат се и се записват правилно | Нищо |
| Всяка последователност от 20 или повече символа от 0–9 и a–f (дълги референтни номера, хешове) | Изтриват се преди превода | Проверете ги след превода (проверяващият инструмент прави това) |
Останалата част от това ръководство показва откъде идва всеки ред и какво да правите с него.
Стъпка 1: Проверете какъв вид RTF имате
RTF е текстов формат с кодове за форматиране. Отворете файла в текстов редактор или изпълнете head -c 120 yourfile.rtf в терминал и погледнете първия ред.
- Ако съдържа
\cocoartf, файлът е запазен от текстовата система на Apple: TextEdit или друго Mac приложение, което я използва. - Ако съдържа
\rtf1\ansiи няма\cocoartf, най-вероятно е от Word, LibreOffice, WordPad или експорт от приложение за писане.
Разликата е важна, защото двата вида завършват абзаца по различен начин. Word и повечето други текстови процесори записват кода \par в края на всеки абзац. Текстовата система на Apple записва единична обратна наклонена черта в края на реда. И двете са валиден RTF: оригиналната спецификация на RTF на Microsoft от 1989 г. (огледално копие) казва, че обратна наклонена черта, последвана от нов ред, се третира по същия начин като \par, а собственият четец на Apple показва нашия тестов файл от TextEdit като отделни абзаци. Четецът на RTF на BookTranslator разделя абзаците само на \par. Проверихме това в кода му на 3 ноември 2026 г. и в теста по-долу.
Проверяващият инструмент ви казва какъв вид имате и какво друго има във файла. Нужен е само Python 3 и нищо друго:
python3 check_rtf.py sample-word-style.rtf
На нашия тестов файл във стил Word той отпечата:
== 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.
На файла от TextEdit първото предупреждение беше това:
WARN Paragraphs end with a backslash + line break (TextEdit/Cocoa style), not \par. Tools that only split on \par will see one long paragraph.
Ако проверяващият инструмент не показва предупреждения, вашите абзаци, числа и текст трябва да преминат успешно. Получер, заглавия и списъци не задействат предупреждение, но все пак се премахват по RTF пътя, така че проверете Стъпка 2, ако имате нужда от тях.
Какво се върна от нашите тестови файлове
Направихме три малки файла. Всички те, и всичко, което се върна, са в папката с тестови файлове.
- sample-word-style.rtf е написан на ръка в стила, който Word използва за RTF:
\parпрекъсвания, горен колонтитул, бележка под линия, връзка, таблица две по две, малко изображение, прекъсване на страница,café, написано като символ от кодова страница, и日本, написано като Unicode кодове. - sample-textedit.rtf е създаден на Mac с
textutil -convert rtf, който използва същата текстова система като TextEdit. Той има заглавие, получер и курсив, връзка, списък с водещи символи, таблица и ред с{braces}и обратни наклонени черти в него. - sample-long-numbers.rtf има 20-цифрена референтна поръчка, 40-символен хеш на комит и телефонен номер.
Копирахме функциите за четене и запис на RTF от бекенд кода на BookTranslator на 3 ноември 2026 г. и ги стартирахме върху всеки файл. Не беше използван модел. Всеки абзац, който би бил изпратен за превод, беше заменен с [ZH] плюс оригиналния текст. Това показва точно какво би получил моделът и как файлът се сглобява отново, без шума на истински превод.
Файлът в стил Word: шест чисти абзаца, с три изненади
Файлът се върна като шест преведени абзаца, в този ред:
[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)
Повечето от това е това, което искате. Всеки абзац беше изпратен веднъж, по ред, и café и 日本 оцеляха при прехода от RTF кодове към текст и обратно. Трите изненади:
- Горният колонтитул стана първи абзац. „Harbor Notes - Draft 2“ беше колонтитул, който се отпечатваше в горната част на всяка страница. В преведения файл той е текст в тялото.
- Бележката под линия се премести в изречението. „Timetable from the 1998 edition.“ беше бележка под линия към „opened“. Сега тя следва изречението, сякаш е част от него, и номерът на бележката под линия е изчезнал. Модел, който превежда този абзац, вижда един непрекъснат текст и трябва да намерите и преместите бележката под линия обратно на ръка.
- Клетките на таблицата се сляха. Четирите клетки „Stop“, „Time“, „North pier“ и „7:05“ станаха един низ
StopTimeNorth pier7:05. Моделът може да го раздели на грешно място или да преведе „StopTime“ като една дума.
Преведеният файл няма колонтитул, бележка под линия, таблица, адрес на връзка, изображение и получер. Режимът за сравнение на проверяващия инструмент в Стъпка 4 изброява всичко това.
Файлът от TextEdit: един абзац
Файлът от TextEdit има осем видими абзаца. Всички те бяха изпратени за превод като един абзац:
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.
Няма интервал там, където е свършвал всеки абзац: „HarborThe“, „opened.Read“. Преведеният файл също е един абзац. Нашият тестов файл е кратък. В истинска книга, запазена от TextEdit, целият файл става един абзац. Преди превод BookTranslator нарязва много дългите абзаци на парчета от около 6000 знака (около 2000 за китайски, японски или корейски), в краищата на изреченията, където може да ги намери. Тези разрязвания все още попадат в краищата на изреченията вътре в абзаците, но никога в липсващите прекъсвания на абзаци, защото „opened.Read“ не изглежда като край на изречение. Когато всеки абзац е едно изречение, като реплики в диалог или елементи от списък, разрязванията могат да попаднат на запетаи или интервали. Моделът никога не вижда къде са били абзаците и вие получавате обратно една стена от текст.
Къдравите скоби и обратните наклонени черти в последното изречение оцеляха. Те бяха екранирани правилно при изхода, така че файлът все още се отваря.
Дългите числа: изтрити преди превод
Третият файл се върна така:
[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.
Референтната поръчка и хешът на комита са изчезнали, с двоен интервал на мястото на всеки от тях. Четящият премахва всяка последователност от 20 или повече знака, съставена само от цифрите 0–9 и буквите a–f, защото така изглежда вградените данни за изображения в RTF. Дълго число във вашия текст изглежда по същия начин за него. Телефонният номер оцеля, защото неговите групи от цифри са кратки.
Това има значение най-вече за договори, фактури, технически бележки и записи с дълги референтни номера. Проверяващият инструмент изброява всеки такъв низ във вашия изходен файл и ви казва дали някой липсва след превод.
Стъпка 2: Изберете правилния път за вашия файл
Използвайте резултата от проверяващия инструмент, за да изберете един:
| Какво съдържа вашият файл | Най-добър подход | Защо |
|---|---|---|
Обикновени параграфи от Word или друг приложение, използващо \par | Качете RTF файла | Параграфите се връщат един към един; губите само форматиране, което не ви е нужно |
Обикновени параграфи от TextEdit (\cocoartf) | Първо конвертирайте в DOCX или TXT, след което качете него | Четецът на RTF ще изпрати целия файл като един параграф |
| Заглавия, таблици, бележки под линия или форматиране, което трябва да запазите | Запазете като DOCX в Word или LibreOffice, след което качете DOCX файла | Пътят през RTF пресъздава обикновен файл; DOCX минава през работния процес за Word |
| Дълги референтни номера или хешове | И двата подхода, след което проверете | Уверете се, че всеки номер се е върнал |
За да конвертирате файл от TextEdit на Mac, отворете Terminal и изпълнете една от тези команди:
textutil -convert docx notes.rtf
textutil -convert txt notes.rtf
Първата записва notes.docx до оригинала. Когато конвертирахме нашия тестов файл от TextEdit по този начин, DOCX файлът имаше отделен параграф за всеки ред и запази думите с получер и курсив. Не запази таблицата, която се превърна в отделни параграфи, нито връзката. Ако имате нужда от тях, отворете файла в Word или LibreOffice и го запазете като DOCX оттам, след което проверете таблицата преди да качите. Втората команда записва файл с обикновен текст. Използвайте я, когато ви трябват само думите; нашето ръководство за превод на обикновен текст описва какво да проверите в TXT файл.
За документ на Word, в който таблиците, стиловете и заглавките са важни, вижте нашето ръководство за превод на документ на Word със запазване на формата. ЧЗВ на BookTranslator на неговата страница за превод на документи дава същия съвет за стари .doc файлове на Word: превежда текста им и връща RTF файл, и препоръчва първо да ги запазите като DOCX, когато изображенията, таблиците или оформлението трябва да се запазят.
Стъпка 3: Преведете целия файл
Качете файла, изберете целевия език и проверете цената, преди да платите. BookTranslator превежда параграфите по ред. За дълъг файл с повтарящи се имена и термини включете опцията Auto glossary, преди да платите, за да се превеждат по един и същ начин навсякъде.
Получавате два файла:
- Преведеният файл: всеки параграф на целевия език.
- Двуезичният файл: всеки оригинален параграф, последван от превода му. Това е по-бързият файл за преглед, защото можете да четете двата един до друг и да забележите параграф, който е пропуснат или прочетен грешно. В двуезичния файл за нашия тест от TextEdit целият документ се появява веднъж на английски и след това веднъж с маркера, което е друг начин да видите проблема с един параграф.
И двата файла са записани като обикновени параграфи с шрифт Times New Roman 12 пункта. Целевите езици с писане от дясно на ляво, като арабски и иврит, са маркирани като параграфи от дясно на ляво. Отворете файловете в Word, LibreOffice или TextEdit, за да ги четете и форматирате.
Стъпка 4: Проверете преведения файл
Стартирайте проверката с изходния файл и превода:
python3 check_rtf.py sample-word-style.rtf sample-word-style-translated.rtf
За нашия файл в стил Word секцията за сравнение показа:
== 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
Всеки ред е задача за вашия преглед. Тук броят на абзаците падна от седем на шест, защото редовете на таблицата станаха един абзац. За файла с дълги числа се отпечатаха два реда MISSING, по един за всяко изтрито число. За файла от TextEdit visible_paragraphs: 8 -> 1 е знакът да се върнете към Стъпка 2.
Проверката брои структурата. Тя не може да ви каже дали преводът е добър. Прочетете двуезичния файл, поне началните страници и всеки пасаж с имена, числа или диалог.
Чести проблеми
Преведеният ми RTF е един дълъг абзац. Изходният ви файл най-вероятно идва от TextEdit или друг Mac приложение. Стартирайте проверката върху оригинала. Ако предупреди за прекъсвания на редове с обратна наклонена черта, конвертирайте файла в DOCX или TXT и преведете него вместо това.
Някои думи са слепени, като „StopTime“. Това са били клетки на таблица. RTF таблиците губят границите на клетките си по този маршрут. Преведете DOCX копие на файла, ако таблицата е важна.
Изречение завършва с текст, който не му принадлежи. Това вероятно е бележка под линия. Намерете я в оригинала, след което преместете превода ѝ обратно в бележка под линия в Word.
Липсва число в превода. Ако е било 20 или повече знака от 0–9 и a–f, то е било премахнато преди превода. Копирайте го обратно от оригинала. Редовете MISSING на проверката изброяват всяко едно.
Форматирането е изчезнало. Това е очаквано по RTF маршрута: файлът се преизгражда с обикновени абзаци. Ако имате нужда от форматирането, преведете DOCX копие или приложете стиловете отново след превода. Нашето сравнение на инструменти за превод на DOCX обхваща кои инструменти запазват форматирането на Word и колко добре.
Мога ли да получа резултата като DOCX вместо това? Не от качване на RTF; RTF влиза, RTF излиза. Конвертирайте оригинала в DOCX преди качване и резултатът ще се върне като DOCX.
Свързани публикации





