ترجمة المحتوى (Hugo Markdown)
يترجم Champollion ملفات Hugo Markdown — بما في ذلك حقول البيانات الأمامية (front matter) ومحتوى النص الأساسي — مع حماية كاملة لكتل الشيفرة البرمجية والرموز المختصرة (shortcodes) والعناصر المهيكلة.
الإعداد
قم بتعيين contentDir في ملف الإعدادات الخاص بك لتفعيل ترجمة محتوى Markdown:
{
"version": 3,
"inputLocale": "en",
"localesDir": "./i18n",
"contentDir": "./content"
}
npx champollion sync # translates both string files and content files
ما الذي تتم ترجمته
البيانات الأمامية (Front Matter)
يتم دعم كل من فواصل YAML (---) وTOML (+++). تتم ترجمة هذه الحقول افتراضيًا:
titledescriptionsummarysubtitlecaptionlinkTitle
يتم الحفاظ على جميع الحقول الأخرى (date، draft، tags، weight، slug، إلخ) كما هي دون تغيير. يمكنك التخصيص باستخدام translatableFields في ملف الإعدادات.
محتوى النص الأساسي
تتم ترجمة النص الأساسي الكامل بصيغة Markdown مع حماية الكتل — حيث تتم حماية العناصر المهيكلة باستخدام عناصر نائبة بمحارف Unicode قبل الترجمة ثم استعادتها بعدها.
حماية الكتل
تمر هذه العناصر عبر الترجمة دون أي تعديل:
| العنصر | مثال | الحماية |
|---|---|---|
| كتل الشيفرة البرمجية | ```js ... ``` | حماية الكتلة بالكامل |
| الشيفرة المضمنة | `variable` | محمية |
| رموز Hugo المختصرة | {{< figure >}}، {{% note %}} | حماية الكتلة بالكامل |
| HTML خام | <div>، <table> | محمية |
| الروابط (عناوين URL) | [text](https://...) | يُحفظ عنوان URL وتُترجم النصوص |
| الاستيفاء (Interpolation) | {{ .Count }} | محمية |
نمط تسمية الملفات
يتبع نمط Hugo للترجمة عبر اسم الملف:
my-post.md → my-post.fr.md
my-post.en.md → my-post.fr.md (strips source suffix)
سلوك التخطي
الملفات المترجمة الموجودة مسبقًا لا تتم الكتابة فوقها أبدًا. إذا كان my-post.fr.md موجودًا بالفعل، فسيتم تخطيه. احذف الملف الهدف لفرض إعادة الترجمة.
طرق خاصة بـ Markdown فقط
:::warning Google Translate and Markdown
لا يمتلك Google Translate أي إدراك لكتل الشيفرة البرمجية أو الرموز المختصرة أو متغيرات الاستيفاء. وسيؤدي استخدامه إلى إتلاف محتوى Markdown المهيكل. استخدم طرق نماذج اللغة الكبيرة (LLM) (llm أو llm-coached) لترجمة المحتوى — فهي تحمي العناصر المهيكلة بشكل صريح.
:::
عندما تتحول ترجمة المحتوى من Google Translate إلى إحدى طرق نماذج اللغة الكبيرة (LLM)، يسجّل champollion تحذيرًا يوضح السبب.