الانتقال إلى المحتوى الرئيسي

التكامل مع أطر العمل

إعداد خطوة بخطوة لـ champollion مع أطر العمل الشائعة.

Hugo (TOML / YAML / Markdown)

بنية المشروع

يستخدم Hugo i18n/ لترجمات النصوص وcontent/ لمحتوى الصفحات:

my-hugo-site/
├── i18n/
│ ├── en.toml ← source of truth
│ ├── fr.toml
│ └── ja.toml
├── content/
│ ├── posts/
│ │ ├── hello.md ← source (English)
│ │ ├── hello.fr.md
│ │ └── hello.ja.md
│ └── about.md
└── .env.local

الإعداد

npm install --save-dev champollion
champollion.config.json
{
"version": 3,
"inputLocale": "en",
"localesDir": "./i18n",
"contentDir": "./content",
"format": "auto",
"languages": ["fr", "de", "ja", "es", "ko", "zh"]
}
champollion sync # sync i18n string files + content files
champollion sync --dry # preview changes without writing

تفاصيل ترجمة المحتوى

المقدمة (Front matter): يدعم محددات YAML (---) وTOML (+++) معًا. يترجم title وdescription وsummary وsubtitle وcaption وlinkTitle افتراضيًا. تُحفظ جميع الحقول الأخرى (date وdraft وtags وweight وslug وغيرها) كما هي. يمكنك التخصيص باستخدام translatableFields في ملف الإعدادات الخاص بك.

حماية الكتل: تُحمى كتل التعليمات البرمجية، والرموز المختصرة (shortcodes) الخاصة بـ Hugo، والتعليمات البرمجية المضمنة، وHTML الخام تلقائيًا باستخدام عناصر نائبة حارسة بترميز Unicode. وتمرّ دون أي تعديل.

اصطلاح تسمية الملفات: يتبع نمط Hugo للترجمة حسب اسم الملف:

  • my-post.mdmy-post.fr.md
  • my-post.en.mdmy-post.fr.md (يزيل لاحقة اللغة المصدر)

تخطي الموجود: لا تتم الكتابة فوق الملفات المترجمة الموجودة أبدًا. احذف الملف الهدف لإجبار إعادة الترجمة.

صيغ الجمع

تدعم ملفات اللغة بصيغتي TOML وYAML صيغ الجمع وفق معيار CLDR:

[items]
one = "{{ .Count }} item"
other = "{{ .Count }} items"

تُمثَّل داخليًا كـ items.one وitems.other لأغراض المقارنة، ثم يُعاد تسلسلها إلى التنسيق المقسّم الصحيح عند الكتابة.