DEV Community

Cover image for اختبار سريع لخط سير الترجمة
Yusuf Khalidd
Yusuf Khalidd

Posted on • Originally published at apidog.com

اختبار سريع لخط سير الترجمة

هذا منشور اختبار صغير يُستخدم للتحقق من ثلاثة سلوكيات في سير عمل ترجمة n8n على Ghost: نسخ الفئة من المنشور المصدر، ترجمة المقتطف حسب اللغة المحلية، وإعادة كتابة روابط المدونة الداخلية بحيث تشير كل ترجمة إلى نسختها اللغوية بدلًا من الأصل الإنجليزي. إذا ظهر هذا المنشور على المدونة المباشرة، فيجب حذفه بعد تأكيد نجاح الاختبار.

جرّب Apidog اليوم

لماذا يوجد هذا المنشور

كان سير عمل ترجمة n8n يتجاهل سابقًا بعض البيانات الوصفية المهمة في المنشورات المترجمة، خصوصًا:

  • شارة الفئة.
  • حقل custom_excerpt.
  • الروابط الداخلية داخل محتوى المقال.

على سبيل المثال، لم تكن النسخة البرتغالية من أحد دروس LLM تحتوي على الفئة أو المقتطف. كذلك كانت المقالات المترجمة تحتفظ بروابط داخلية تشير إلى عناوين URL الإنجليزية، مما يؤثر في مجموعات hreflang ويوجه بعض القراء إلى النسخة الإنجليزية بدلًا من النسخة المحلية.

تم إصلاح هذه السلوكيات في أحدث مراجعة لسير العمل. هذا المنشور يعمل كاختبار دخان للتأكد من أن الإصلاح يعمل على Ghost الحقيقي.

ما الذي يجب أن يفعله سير العمل

بعد نشر هذا المنشور، يجب أن يعمل مترجم n8n مرة واحدة وينشئ 11 نسخة مترجمة في Ghost، سواء كمسودات أو منشورات منشورة حسب إعدادات سير العمل.

تحقق من كل نسخة مترجمة باستخدام هذه القائمة:

  1. حقل custom_excerpt يحتوي على ترجمة للمقتطف الإنجليزي، وليس قيمة فارغة.
  2. حقل category يحتوي على القيمة Tutorials كما هي من المنشور المصدر.
  3. الروابط الداخلية داخل المحتوى أُعيدت كتابتها إلى مسار اللغة الصحيح.

مثال متوقع للنسخة اليابانية:

https://apidog.com/jp/blog/free-cursor-ai/
Enter fullscreen mode Exit fullscreen mode

بدلًا من الرابط الإنجليزي الأصلي.

روابط لاختبار إعادة الكتابة

يستخدم هذا المنشور شكلين من الروابط الداخلية لأن تعبير regex في سير العمل يجب أن يتعامل مع النمطين.

1. روابط مطلقة

2. روابط نسبية للجذر

إذا كان مسار الترجمة يعمل بشكل صحيح، فيجب أن تعيد النسخة اليابانية كتابة الروابط الأربعة إلى الصيغة التالية:

/jp/blog/{slug}/
Enter fullscreen mode Exit fullscreen mode

ويجب أن تستخدم النسخة الإندونيسية الصيغة التالية تحديدًا:

/id/blog/{slug}/
Enter fullscreen mode Exit fullscreen mode

وليس:

/ig/blog/...
Enter fullscreen mode Exit fullscreen mode

كذلك يجب إنشاء المنشور الإندونيسي في Ghost باستخدام slug ينتهي بـ:

-id
Enter fullscreen mode Exit fullscreen mode

ومع الوسم:

1Locale ID
Enter fullscreen mode Exit fullscreen mode

هذا الجزء من إعادة التسمية هو متابعة للطلب 6.

تحقق سريع باستخدام curl

بعد تشغيل سير العمل ونشر النسخ المترجمة، استخدم طلب HEAD للتأكد من أن صفحة الترجمة متاحة:

curl -I https://apidog.com/jp/blog/translation-pipeline-smoke-test/
Enter fullscreen mode Exit fullscreen mode

النتيجة المتوقعة:

HTTP/2 200
Enter fullscreen mode Exit fullscreen mode

ثم افتح الصفحة وتحقق يدويًا من العناصر التالية:

  • ظهور شارة الفئة Tutorials.
  • ظهور مقتطف ياباني أسفل العنوان.
  • إعادة كتابة الروابط الداخلية إلى المسار /jp/blog/....

قائمة تحقق عملية

استخدم هذه القائمة لكل لغة من اللغات الـ 11:

[ ] تم إنشاء المنشور المترجم في Ghost
[ ] custom_excerpt غير فارغ
[ ] custom_excerpt مترجم للغة المحلية
[ ] category = Tutorials
[ ] الروابط الداخلية تستخدم مسار اللغة الصحيح
[ ] slug يستخدم اللاحقة الصحيحة عند الحاجة
[ ] الوسوم المحلية صحيحة
Enter fullscreen mode Exit fullscreen mode

بالنسبة للنسخة اليابانية، يجب أن ترى روابط داخلية بالشكل:

/jp/blog/free-cursor-ai/
/jp/blog/get-claude-pro-for-free/
/jp/blog/top-10-ai-testing/
/jp/blog/llms-no-restrictions/
Enter fullscreen mode Exit fullscreen mode

وبالنسبة للنسخة الإندونيسية:

/id/blog/free-cursor-ai/
/id/blog/get-claude-pro-for-free/
/id/blog/top-10-ai-testing/
/id/blog/llms-no-restrictions/
Enter fullscreen mode Exit fullscreen mode

التنظيف بعد التحقق

إذا نجحت جميع النسخ المترجمة الإحدى عشرة، فاحذف هذا المنشور وجميع ترجماته من Ghost، لأنه منشور اختبار ولا يضيف قيمة إنتاجية.

إذا ظهر أي خلل، مثل:

  • فئة مفقودة.
  • مقتطف فارغ.
  • رابط داخلي لم يُعد كتابته.
  • مسار لغة غير صحيح.
  • slug أو وسم محلي خاطئ.

فاحتفظ بالمنشورات كما هي للتشخيص، ثم أبلغ مالك سير عمل n8n.

Top comments (0)