أطلقنا للتو إصدار WPML 4.3، والذي يتضمن طريقة جديدة كلياً لترجمة السلاسل النصية. تبدو لوحة تحكم ترجمة النصوص كما هي ولكنها تعمل بشكل مختلف. بدلاً من قراءة الترجمات من قاعدة البيانات، فإنها تنشئ ملفات .mo وتحمّلها. يؤدي هذا إلى استخدام أخف بكثير لقاعدة البيانات في ترجمة النصوص.
لماذا أعدنا كتابة ترجمة النصوص؟
كان الإصدار السابق من ترجمة النصوص يحمّل السلاسل النصية من قاعدة البيانات ويحاول تجنب تحميل ملفات .mo. تأتي بعض إضافات WordPress الكبيرة بملفات .mo ضخمة، والتي تترجم كل نص في الإضافة. على سبيل المثال، تحتوي ملفات .mo الخاصة بـ WooCommerce على أكثر من 8,000 سلسلة نصية بقليل. تحتوي الإضافات الكبيرة الأخرى على أعداد مشابهة من السلاسل النصية.
عندما تشغّل موقعاً باللغة الإنجليزية، لا يحمّل WordPress ملفات .mo هذه. ومع ذلك، عندما تشغّل موقعاً بأي لغة أخرى (لغة واحدة فقط، وليس في المواقع متعددة اللغات)، سيحمّل WordPress جميع ملفات .mo هذه. يستغرق تحميل هذه الملفات من 100 ms إلى أكثر من ثانية، بناءً على الخادم الذي تستخدمه. ستُحمّل ملفات .mo هذه في أي صفحة تعمل فيها الإضافة (عادةً، في جميع صفحات الموقع).
حتى إصدار WPML 4.3، حاولنا تحسين هذه الآلية. كان لدى WPML خيار، ممكّن افتراضياً، لمنع القالب والإضافات من تحميل ملفات .mo. بدلاً من ذلك، كنا نتحقق من السلاسل النصية المطلوبة لكل صفحة ونحمّل هذه السلاسل النصية المحددة من قاعدة البيانات.
عملت الآلية بشكل جيد بشكل عام، ولكنها كانت تعطي نتائج عكسية في بعض الأحيان. عندما تصل إضافة إلى العديد من السلاسل النصية في كل عملية تحميل للصفحة، كان WPML يحمّل قائمة ضخمة من السلاسل النصية من قاعدة البيانات بدلاً من السماح للإضافة بتحميل ملف .mo الخاص بها.
مع نمو بعض الإضافات بمرور الوقت، أصبحت آلية التحسين لدينا أقل كفاءة.
في WPML 4.3، قررنا أن الوقت قد حان لتغيير النهج. أوقفنا حظر ملفات .mo وأوقفنا تحميل السلاسل النصية من قاعدة البيانات. الآن، لا يحاول WPML تحسين أوقات الترجمة للإضافات أو القوالب الأخرى، بل يحسّن فقط السلاسل النصية الخاصة به.
كيف سيؤثر ذلك على وقت تحميل موقعي؟
يعتمد هذا على عدة عوامل. إذا كان موقعك سريعاً حتى الآن (وهو حال غالبية المواقع التي تستخدم WPML)، فلن تشعر بتغيير كبير في السرعة. على سبيل المثال، في wpml.org، أصبحت معظم الصفحات أسرع قليلاً وتستغرق صفحات قليلة وقتاً أطول قليلاً للتحميل.
السبب في أن بعض الصفحات تستغرق وقتاً أطول قليلاً للتحميل الآن هو وجود إضافات أخرى تحمّل ملفات .mo ضخمة. الزيادة في السرعة الناتجة عن تحسين ترجمات النصوص تُلغى بسبب أوقات تحميل ملفات .mo للإضافات الأخرى.
ومع ذلك، فإن هذه التقلبات صغيرة جداً ولا يمكننا قياسها إلا باستخدام أدوات تحليل الأداء المتقدمة. الموقع الذي كان يعمل بسرعة حتى الآن سيستمر بشكل عام في العمل بسرعة مع WPML 4.3.
بعض المواقع التي كانت تعاني من أوقات تحميل بطيئة ستُحمّل الآن بشكل أسرع بكثير. قبل إصدار WPML 4.3، كان لدى بعض المواقع عشرات الآلاف من السلاسل النصية لتحميلها من قاعدة البيانات. تسبب هذا في عبء كبير على قاعدة البيانات، واستهلك الكثير من ذاكرة الوصول العشوائي (RAM) وتسبب في أوقات تحميل طويلة للصفحات. ستشهد هذه المواقع تحسناً كبيراً جداً في الأداء.
هل هناك المزيد من تحسينات الأداء القادمة؟
نعم. الآن بعد أن أزلنا مشكلات الأداء الرئيسية الناتجة عن ترجمة النصوص، سيكون لدينا المزيد من الفرص للتحسين.
نتوقع العثور على مشكلات ستتطلب العمل مع مطوّري الإضافات والقوالب الأخرى. يتحسن الأداء بشكل أكبر عندما تحمّل الإضافات والقوالب عدداً أقل من السلاسل النصية. يسعد معظم مطوّري الإضافات والقوالب الأخرى بالعمل معنا، ونحن واثقون من قدرتنا على حل كل مشكلة أداء تقريباً قد تظهر لاحقاً. تكون عملية التحسين هي نفسها تقريباً في كل مرة:
- تقسيم ملفات .mo الضخمة إلى عدة ملفات أصغر
- تحميل الملفات الصحيحة في الصفحات الصحيحة
التقسيم البديهي يكون بين السلاسل النصية المُستخدمة في لوحة التحكم والسلاسل النصية التي تُعرض في الواجهة الأمامية. تقوم التحسينات الأعمق بتقسيم السلاسل النصية للواجهة الأمامية بشكل أكبر وفقاً لنوع الصفحة. على سبيل المثال، في مواقع التجارة الإلكترونية، لا توجد حاجة لتحميل السلاسل النصية المُستخدمة في عملية إتمام الشراء في كل صفحة.
بالطبع، عندما تكون هناك فرصة للتحسين داخل WPML نفسه، فإننا نتعامل معها على الفور.
التحديث والقياس والإبلاغ
يتم نشر WPML 4.3 في الوقت الحالي. نحن نطلقه تدريجياً على مدار أسبوع أو أسبوعين. إذا لم تتلقَ مواقعك هذا التحديث بعد، فامنح الأمر بعض الوقت وسترى التحديث في غضون أيام قليلة. يمكنك تخطي قائمة الانتظار والحصول على هذا التحديث على الفور بالذهاب إلى صفحة الإضافات –> أضف إضافة جديدة، والنقر على علامة التبويب تجاري ثم استخدام زر التحقق من وجود تحديثات .
إذا كنت تشعر أن أي صفحة في موقعك تستغرق وقتاً أطول للتحميل، نقترح عليك تثبيت إضافة Query Monitor (اتبع دليلنا التعليمي حول كيفية تحليل مشكلات الأداء باستخدام Query Monitor). لاحظ أنه في إصدار WPML 4.3، أصلحنا مشكلات توافق كبيرة مع Query Monitor، لذا فإن التقارير التي تراها ليست مفيدة للإصدارات التي تسبق WPML 4.3.
تحقق مما إذا كانت استدعاءات WPML تتصدر تقارير التحميل. إذا كان الأمر كذلك، يُرجى إبلاغنا في الدعم الفني لـ WPML. حتى إذا رأيت مواضيع تبدو مشابهة، ابدأ موضوعك الخاص. سنحتاج إلى الوصول إلى موقعك، لذا من الأفضل العمل على كل موقع على حدة.
بالطبع، سنكون سعداء جداً بسماع تحديثاتك العامة حول الأداء (من المفيد بالقدر نفسه الإبلاغ عن التحسينات 🙂). اترك تعليقاتك هنا وسنرد عليك.

