DEV Community

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

Posted on • Originally published at apidog.com

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

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

جرّب Apidog اليوم

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

كان سير عمل الترجمة في n8n يتجاهل سابقًا بعض بيانات Ghost المهمة عند إنشاء النسخ المترجمة:

  • لم يكن حقل custom_excerpt يُملأ في بعض الترجمات.
  • لم تكن شارة الفئة تُنسخ من المنشور المصدر.
  • كانت الروابط الداخلية داخل المقالات المترجمة تبقى موجهة إلى عناوين URL الإنجليزية.

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

ما الذي يجب التحقق منه

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

تحقق من كل نسخة مترجمة وفق القائمة التالية:

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

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

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

وليس:

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

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

يتم اختبار نمطين من الروابط لأن منطق إعادة الكتابة في سير العمل يتعامل مع أكثر من شكل URL.

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

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

أما النسخة الإندونيسية، فيجب أن تستخدم:

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

وليس:

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

كذلك يجب إنشاء منشور Ghost الخاص بالنسخة الإندونيسية باسم ينتهي بـ -id، مع إضافة العلامة 1Locale ID. هذا هو الجزء المرتبط بمتطلب إعادة التسمية.

خطوات تحقق سريعة

بعد نشر الترجمات، استخدم curl للتأكد من أن الصفحة المترجمة متاحة:

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/... في النسخة اليابانية.
  • استخدام /id/blog/... في النسخة الإندونيسية.
  • عدم بقاء أي رابط داخلي يشير إلى /blog/... الإنجليزية عند وجود نسخة محلية مقابلة.

يمكنك أيضًا فحص الروابط داخل HTML الناتج:

curl -s https://apidog.com/jp/blog/translation-pipeline-smoke-test/ \
  | grep -Eo 'https?://[^"]+|/jp/blog/[^"]+'
Enter fullscreen mode Exit fullscreen mode

استخدم الناتج للتأكد من عدم وجود روابط داخلية إنجليزية غير معاد كتابتها.

قائمة فحص قبل الإغلاق

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

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

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

إذا نجحت كل النسخ الـ 11 في التحقق، احذف هذا المنشور وجميع ترجماته من Ghost لأنه منشور اختبار فقط ولا يملك قيمة إنتاجية.

إذا فشل أي جزء من الاختبار — مثل فئة مفقودة، مقتطف فارغ، رابط داخلي بلغة خاطئة، أو تسمية slug غير صحيحة — فلا تحذف المنشورات. احتفظ بها للتشخيص، ثم راجع مالك سير عمل n8n مع أمثلة واضحة من النسخة المتأثرة.

Top comments (0)