لقد اضطررنا إلى تخزين هذه الصفحة مؤقتًا (كاش) لأنها كانت تتعطل بسبب انتهاء المهلة الزمنية على المواقع الكبيرة.
تتكون الترجمة في الأساس من خطوتين:
اكتشاف اللغة الأصلية للمنشور
الترجمة إلى جميع اللغات الأخرى
في البداية، ستكون موقعك عالقًا بشكل أساسي في الخطوة الأولى، والتي أظهرناها في البداية في صفحة تقدم الترجمة، لكننا أزلناها لاحقًا لأن التعليقات أشارت إلى أنها “تقدم معلومات كثيرة جدًا”.
ومع ذلك، هذه ملاحظات جيدة. إن تخزين صفحة التقدم مؤقتًا وعدم وجود معلومات حول اكتشاف اللغة المحلية (Locale) يجعل التجربة سيئة للغاية في بداية العملية.
أخيرًا، قمنا بتعيين معدل الملء الخلفي (Backfill) بشكل محافظ جدًا، وقد ترغب في زيادته وفقًا لميزانيتك.
من منظور إداري وتقارير، لست مهتمًا كثيرًا بما هو قيد التنفيذ حاليًا، بل أكثر اهتمامًا بالتقدم العام مقابل حجم العمل المؤهل. أفضل أن أرى التقارير مبنية على قواعد أهلية الترجمة المكونة.
على سبيل المثال:
الحالة
تم تكوين إعدادات الملء الخلفي لترجمة جميع المحتويات التي تم إنشاؤها بعد 23 فبراير 2026.
المنطقة
الإجمالي
المؤهل
مترجم
مكتمل
مواضيع
25,000
540
450
83%
مشاركات
400,000
3,700
800
22%
الترجمات الفاشلة
معرف المشاركة
السبب
34543
أحرف غير سليمة في السطر xxxx
يبدو أن الرسم البياني الحالي يعرض النشاط التشغيلي، وهو أمر مفيد بالتأكيد. ومع ذلك، ما أريد فهمه حقًا هو مقدار العمل المؤهل الذي تم إنجازه.
بشأني الشخصي، لست مهتمًا جدًا بنسب الإكمال حسب اللغة. الموضوع أو المشاركة إما أن يكون مترجمًا أو لا. السؤال الرئيسي بالنسبة لي هو مقدار الخلفية المكونة التي تمت معالجتها بنجاح.
يبدو أن هذا النهج سيكون أيضًا أكثر ودية لقاعدة البيانات، حيث يركز على الأعداد الإجمالية بدلاً من تتبع التقدم عبر كل مجموعة لغوية.
إذا كان الإبلاغ المحدد حسب اللغة لا يزال ذا قيمة، فربما يمكن عرضه من خلال عامل تصفية. يمكن للمسؤول اختيار لغة وعرض جدول التقدم نفسه لتلك اللغة فقط.
لقد عملت على استعلامات SQL الخاصة باستكشاف البيانات لإنشاء التقرير المذكور أعلاه. لستُ خبيرًا في SQL، لكن هذه الاستعلامات تعمل. ستوفر الاستعلامات أدناه هذا المستوى من المعلومات.
تقرير حالة الترجمة
المجال
المؤهل للترجمة
مترجم
قيد الترجمة
المواضيع
540
450
90
المشاركات
3,700
800
2900
المواضيع:
-- الإعداد:
-- تحديث إعدادات الترجمة في SQL
-- الأيام للخلف (Backfill) - Interval 'xxx'
-- الفئة لتجاهلها - Category_id NOT IN ()
-- نوع الموضوع - Regular أو private_message
--
-- حالة الترجمة:
-- إجمالي المواضيع للترجمة: قم بتعليق كل من عبارتي 'and topics.locale' في WHERE
-- المواضيع غير المترجمة: قم بإلغاء التعليق فقط عن - topics.locale is null
-- المواضيع المترجمة: قم بإلغاء التعليق فقط عن - topics.local = 'en'
SELECT count(distinct topics.id)
FROM topics
JOIN posts ON topics.id = posts.topic_id
WHERE posts.created_at >= NOW() - INTERVAL '100 days'
AND posts.user_id > 0
AND topics.category_id NOT IN (22,3)
AND topics.archetype = 'regular'
-- AND topics.locale = 'en'
-- AND topics.locale is null
المشاركات:
-- الإعداد:
-- تحديث إعدادات الترجمة في SQL
-- الأيام للخلف (Backfill) - Interval 'xxx'
-- الفئة لتجاهلها - Category_id NOT IN ()
-- نوع الموضوع - Regular أو private_message
--
-- حالة الترجمة:
-- إجمالي المشاركات للترجمة: قم بتعليق كل من عبارتي 'and posts.locale' في WHERE
-- المشاركات غير المترجمة: قم بإلغاء التعليق فقط عن - posts.locale is null
-- المشاركات المترجمة: قم بإلغاء التعليق فقط عن - posts.locale = 'en'
SELECT count(*)
FROM posts
JOIN topics ON topics.id = posts.topic_id
WHERE posts.created_at >= NOW() - INTERVAL '100 days'
AND posts.user_id > 0
AND topics.category_id NOT IN (22,3)
AND topics.archetype = 'regular'
-- AND posts.locale = 'en'
-- AND posts.locale is null