BookTranslator
BookTranslator

كيف تترجم ملف RTF: ما الذي يبقى وما الذي يتعطل

ماذا يحدث للفقرات والجداول والحواشي والروابط والتنسيق عند ترجمة ملف RTF، ولماذا تحتاج ملفات TextEdit إلى خطوة إضافية، وأداة فحص مجانية.

BookTranslator

BookTranslator Team

قراءة 12 دقيقة

لترجمة ملف 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 الأصلية لمايكروسوفت لعام 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é مكتوبة كحرف من صفحة ترميز، وكلمة 日本 مكتوبة كرموز يونيكود.
  • 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 إلى النص ثم العودة. المفاجآت الثلاث:

  1. أصبح رأس الصفحة هو الفقرة الأولى. كان "Harbor Notes - Draft 2" رأسًا يُطبع أعلى كل صفحة. في الملف المترجم أصبح نصًا أساسيًا.
  2. انتقلت الحاشية إلى داخل الجملة. كانت "Timetable from the 1998 edition." حاشية على كلمة "opened". وهي الآن تتبع الجملة كأنها جزء منها، ورقم الحاشية اختفى. يرى النموذج الذي يترجم تلك الفقرة نصًا متصلًا واحدًا، وعليك أن تجد الحاشية وتعيدها يدويًا.
  3. اندمجت خلايا الجدول. أصبحت الخلايا الأربع "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 الفقرات الطويلة جدًا إلى أجزاء من حوالي 6,000 حرف (حوالي 2,000 للصينية أو اليابانية أو الكورية)، عند نهايات الجمل حيث يمكنه العثور عليها. تقع تلك القطوع عند نهايات الجمل داخل الفقرات، لكنها لا تقع أبدًا عند فواصل الفقرات المفقودة، لأن "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 بدلاً من ذلك
أرقام مرجعية طويلة أو تجزئات (hashes)أي مسار، ثم تحققتأكد من عودة كل رقم

لتحويل ملف TextEdit على جهاز Mac، افتح Terminal ونفّذ أحد هذين الأمرين:

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

يكتب الأمر الأول notes.docx بجوار الملف الأصلي. عندما حوّلنا ملف TextEdit التجريبي بهذه الطريقة، كان ملف DOCX يحتوي على فقرة منفصلة لكل سطر واحتفظ بالكلمات الغامقة والمائلة. لم يحتفظ بالجدول، الذي أصبح فقرات منفصلة، ولا بالرابط. إذا كنت بحاجة إلى ذلك، فافتح الملف في Word أو LibreOffice واحفظه بصيغة DOCX من هناك، ثم تحقق من الجدول قبل الرفع. يكتب الأمر الثاني ملف نصاً عادياً. استخدمه عندما تحتاج إلى الكلمات فقط؛ يغطي دليل ترجمة النص العادي ما يجب التحقق منه في ملف TXT.

لمستند Word تكون فيه الجداول والأنماط والرؤوس مهمة، راجع دليلنا حول ترجمة مستند Word مع الحفاظ على التنسيق. تقدم الأسئلة الشائعة في BookTranslator على صفحة مترجم المستندات النصيحة نفسها لملفات Word القديمة .doc: فهي تترجم نصها وتعيد ملف RTF، وتوصي بحفظها بصيغة DOCX أولاً عندما تحتاج الصور أو الجداول أو التخطيط إلى البقاء.

الخطوة 3: ترجم الملف كاملاً

ارفع الملف، واختر اللغة الهدف، وتحقق من السعر قبل الدفع. يترجم BookTranslator الفقرات بالترتيب. بالنسبة لملف طويل بأسماء ومصطلحات متكررة، فعّل خيار المسرد التلقائي قبل الدفع، حتى تُترجم بالطريقة نفسها في كل المواضع.

ستحصل على ملفين:

  • الملف المترجم: كل فقرة باللغة الهدف.
  • الملف ثنائي اللغة: كل فقرة أصلية تتبعها ترجمتها. هذا هو الملف الأسرع للمراجعة، لأنك تستطيع قراءة النصين جنباً إلى جنب ورصد أي فقرة تم تخطيها أو قراءتها خطأً. في الملف ثنائي اللغة لاختبار 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.

مقالات ذات صلة

كيف تترجم ملف RTF: ما الذي يبقى وما الذي يتعطل