WPML

أطلقنا للتو الإصدار 5.5.6 من WPML Multilingual & Multicurrency for WooCommerce. يركز هذا الإصدار على الأداء، ويستهدف إحدى أكثر الشكاوى شيوعاً التي نسمعها من أصحاب المتاجر. كان حفظ منتج متغير في محرر WooCommerce بطيئاً عندما يحتوي الكتالوج الخاص بك على العديد من الاختلافات والعديد من اللغات. يعالج هذا الإصدار هذه المشكلة.

لماذا كان حفظ المنتجات المتغيرة بطيئاً

عندما تحفظ منتجاً، يحافظ WPML Multilingual & Multicurrency for WooCommerce (WCML) على مزامنة كل ترجمة مع الأصل. يغطي هذا العمل الأسعار، والسمات، والمخزون، والاختلافات، والبيانات الأخرى ذات الصلة.

في موقع بمنتج واحد ولغة واحدة، يكون هذا العمل غير ملحوظ. أما في متجر يحتوي على 100 اختلاف في 7 لغات، فإن عملية الحفظ نفسها تُجري بهدوء مئات التحديثات في قاعدة البيانات. معظم هذه التحديثات تخص بيانات ترجمة لم تتغير فعلياً.

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

يغيّر الإصدار 5.5.6 من WCML ذلك.

جديد: وضع المزامنة المقتصر على المحرر

أضفنا إعداداً جديداً يسمى Variation translation sync on product save. ويحتوي على وضعين.

المزامنة الكاملة (افتراضي، لم يتغير)

يستمر WCML في القيام بما يفعله اليوم. حيث تزامن كل عملية حفظ كل اختلاف في جميع اللغات. وهذا هو أقوى ضمان لبقاء الترجمات متوافقة مع المصدر.

تظل المزامنة الكاملة هي الخيار الافتراضي بعد الترقية. ولن يتغير موقعك ما لم تختر غير ذلك.

المزامنة المقتصرة على المحرر (جديد، اختياري)

في هذا الوضع، لا يزامن الحفظ من محرر WooCommerce سوى الاختلافات التي قمت بتعديلها فعلياً.

أجرينا اختباراً على منتج يحتوي على 9 اختلافات مترجمة إلى 19 لغة، مع قياس دورة الحفظ الكاملة — من النقر على حفظ حتى يصبح المحرر قابلاً للاستخدام مرة أخرى. بتحديث وصف المنتج فقط، انخفضت مساهمة WCML + WPML من 2.08 s إلى 1.42 s، وهو انخفاض بنسبة 32%. ولم يتأثر WooCommerce و WordPress. وانخفض إجمالي وقت الحفظ من 5.52 s إلى 4.86 s — وهو تحسن إجمالي بنسبة 12%.

وقت المعالجة لتحديث منتج

مخطط شريطي يعرض بيانات حول وقت المعالجة المطلوب لتحديث منتج

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

ماذا عن الاختلافات التي لم تقم بتعديلها؟

نعلم أن هذا هو السؤال الأول. هناك شبكتا أمان.

إشعار ما بعد الحفظ. عندما تكون المزامنة المقتصرة على المحرر قيد التشغيل، تظهر لك رسالة إشعار مع كل عملية حفظ. تسرد عدد الاختلافات التي تم تخطيها. وتوفر لك أيضاً زراً بنقرة واحدة: Force update all variation translations. بهذه الطريقة، تكون المزامنة الكاملة دائماً على بُعد نقرة واحدة، ولا تضطر إلى تبديل الأوضاع للحصول عليها.

إشعار يُعرض بعد حفظ منتج متغير – يذكرك WCML بالاختلافات التي تمت مزامنتها

تنبيه عندما تقوم المزامنة الكاملة بعمل مهدر. إذا بقيت على إعداد Complete sync، فإننا نراقب عمليات الحفظ التي استهلكت الكثير من الجهد دون تغييرات فعلية. عندما نلاحظ هذا النمط، نقترح تبديل الأوضاع. يظهر التنبيه فقط في المنتجات الكبيرة. نستخدم حداً أدنى وهو: الاختلافات × اللغات ≥ 120. وأقل من ذلك، لا تكون التكلفة ملحوظة، ولن نزعجك.

تحذير يُعرض بعد حفظ منتج متغير – يشير WCML إلى الموارد المهدرة ويقدم خياراً أفضل

أين تُطبق المزامنة المقتصرة على المحرر

تؤثر المزامنة المقتصرة على المحرر فقط على عمليات الحفظ من محرر منتجات WooCommerce. وهي الشاشة التي تشعر فيها بالبطء.

وهي لا تغيّر:

  • لوحة إدارة الترجمة
  • ترجم كل شيء تلقائيًا
  • عمليات استيراد CSV، واستدعاءات API، والطرق البرمجية الأخرى لتعديل المنتجات
  • المزامنة في الخلفية بعد أن تُرجع خدمة ترجمة احترافية إحدى المهام

لا تتأثر مسارات عمل المترجمين.

كيفية تشغيل المزامنة المقتصرة على المحرر

بعد التحديث، اذهب إلى WPMLإعداداتWCML. سترى خيار Variation translation sync on product save. بدّله إلى Only sync variations edited in the editor وانقر على احفظ التغييرات.

إعداد خيار «Variation translation sync on product save» الجديد في إعدادات WCML

احفظ أي منتج لتأكيد ظهور إشعار ما بعد الحفظ.

المزيد من التحسينات في الأداء

تحميل أسرع لصفحات المنتجات في المتاجر التي تستخدم التخزين المؤقت للكائنات

يستخدم العديد منكم نظاماً مستمراً للتخزين المؤقت للكائنات مثل Redis أو Object Cache Pro. باستخدام أنظمة التخزين المؤقت هذه، سيتم تحميل صفحات المنتجات التي تحتوي على العديد من المراجعات بشكل أسرع وبصورة ملحوظة بعد هذا التحديث.

غيّرنا طريقة تعامل WCML مع التخزين المؤقت لمراجعات المنتجات. في السابق، كان يمسح جزءاً من التخزين المؤقت للكائنات مع كل عرض للمنتج. أما الآن فهو يعمل مع التخزين المؤقت للكائنات بدلاً من مسحه.

حسابات سلة التسوق تُجرى فقط عند حدوث تغيير

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

بدءاً من هذا الإصدار، نعيد الحساب فقط عندما تتغير العملة أو أسعار الصرف أو محتويات سلة التسوق فعلياً. وفي كل صفحة أخرى، لا يتدخل WCML في الأمر.

سلوك أنظف لسلة التسوق المصغرة

يطلق WooCommerce بالفعل طلب تحديث واحداً لسلة التسوق في بداية كل جلسة تسوق. يحافظ هذا الطلب على دقة سلة التسوق المصغرة.

كان WCML يطلق طلباً ثانياً عند كل تحميل للصفحة. وكان يطلقه حتى عندما تكون سلة التسوق فارغة.

تمت إزالة هذا الطلب الثاني في الإصدار 5.5.6. طلبات أقل في الخلفية. حِمل أقل على خادمك.

عمل أقل خلف صور المنتجات المترجمة

بسّطنا كيفية التعامل مع صور معرض المنتجات المترجمة.

في السابق، كان العمل يُنجز مرتين. مرة عند حفظ المنتج أو ترجمته. ثم مرة أخرى عند كل عرض للصفحة. تمت إزالة خطوة عرض الصفحة. وأصبحت البيانات المحفوظة عند ترجمة المنتج هي المصدر الموثوق به الآن.

النتيجة على موقعك هي نفسها. ولكن بعدد استعلامات أقل.

صفحات المنتجات المتغيرة الكبيرة: ادمج هذا التحديث مع أحدث إصدار من WooCommerce

أبلغ بعضكم عن بطء شديد في تحميل صفحات المنتج الواحد التي تحتوي على مئات الاختلافات. وقد بحثنا في الأمر. كان لدى WooCommerce 10.4.x مشكلة أداء خاصة به أدت إلى تضخيم البطء بشكل كبير. وقد أصلح الإصدار WooCommerce 10.7 هذه المشكلة منذ ذلك الحين.

إذا واجهت هذا في متجرك، فحدّث إلى WooCommerce 10.7 أو الإصدارات الأحدث جنباً إلى جنب مع WCML 5.5.6. هذا هو المسار الأسرع للمضي قدماً.

إصلاحات مفيدة

الاختلافات تعود الآن إلى اللغة الافتراضية

تتيح بعض المتاجر للغات الثانوية العودة إلى اللغة الافتراضية عندما لا يكون المنتج قد تُرجم بعد. في تلك المتاجر، كانت الاختلافات في منتج غير مترجم تختفي من القائمة المنسدلة. أصبحت الآن تظل مرئية. وتعود إلى اللغة الافتراضية، كما يَعِد الإعداد بذلك.

تحديث أعداد المرشحات في صفحات المتجر المترجمة

تضيف سمة جديدة إلى منتج مترجم بالفعل. تتوقع أن تعكس أعداد Filter by attribute في صفحة المتجر المترجمة هذا التغيير. لم تكن تفعل ذلك، حتى هذا الإصدار. كان متجر اللغة الأصلية يُحدَّث. بينما المتجر المترجم لم يكن كذلك.

يقوم WCML الآن بمسح التخزين المؤقت الصحيح لـ WooCommerce بعد مزامنة السمات مع الترجمات. وبذلك يظل كلا المتجرين متطابقين.

مؤشرات التحميل لمبدل العملات تظهر على كل مبدل

يمكنك وضع الكود المختصر [currency_switcher] أكثر من مرة في نفس الصفحة. على سبيل المثال، في الترويسة ومرة أخرى في التذييل. كان مؤشر التحميل يظهر فقط على المبدل الأخير. بدءاً من هذا الإصدار، سيظهر على جميع المبدلات عندما يغيّر العميل العملة.

التوافق مع WooCommerce 10.8

من المقرر إصدار WooCommerce 10.8 يوم الثلاثاء، 26 مايو 2026. اختبرنا WCML 5.5.6 للعمل معه. وتم تحديد موعد إصدارنا في اليوم التالي. الإصدار الذي تثبته هو الإصدار الذي تحققنا من توافقه مع بنية WooCommerce المُصدرة.

التحديث والملاحظات

كالمعتاد، نطرح هذا الإصدار تدريجياً. إذا كنت ترغب في التحديث على الفور:

  1. في لوحة تحكم موقعك، اذهب إلى الإضافاتأضف إضافة جديدة. انقر على علامة التبويب Commercial.
  2. انقر على التحقق من وجود تحديثات.
  3. ستظهر إضافة WPML Multilingual & Multicurrency for WooCommerce 5.5.6 في القائمة. قم بالتحديث من هناك.

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

هل وجدت هذا مفيداً؟ شارك هذه المقالة: