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

الطريقة 1) استخدام مرشحات WordPress

يستخدم WPML مرشحات WordPress القياسية وترجمة المحتوى الذي تقوم بترشيحه.

تقوم جميع أدوات WordPress الذكية الافتراضية بتطبيق المرشحات بشكلٍ افتراضي. عند إنشائك لأدواتك الذكية الخاصة بك، فأنت في حاجة إلى التأكد من حدوث نفس الأمر.

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

$wtitle = apply_filters('widget_title', $wtitle);

يقوم WPML بالاتصال باستدعاء apply_filters وجعل هذه المتسلسلة قابلة للترجمة من خلال صفحة وحدة ترجمة المتسلسلات.

الطريقة 2) تسجيل المتسلسلات يدويًا

بدلاً من ذلك، يمكنك استخدام وظائف ترجمة المتسلسلات الخاصة بـ WPML يدويًا. حيث يمكنك تسجيل المتسلسلات للترجمة، ثم البحث عن ترجمتهم عند العرض.

لتسجيل المتسلسلات، استخدم الاستدعاء icl_register_string:

icl_register_string($context, $name, $value)
    • $context – اسم الملحق، بتنسيق يمكن للبشر قراءته
    • $name – اسم المتسلسلة، والذي يساعد المستخدم (أو المترجم) على فهم ما يتم ترجمته.
    • $value – المتسلسلة الواجب ترجمتها.

ثم، عند عرضك للنصوص، استخدم الاستدعاء icl_t لعرض الترجمات:

icl_t($context, $name, $value)

الطريقة 3) استخدام استدعاء GetText مع المتسلسلات المضمنة

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

إذا كانت لديك نصوص ثابتة، والتي تم تضمينها في كود PHP، فما عليك سوى استخدام استدعاءات GetText، مثل:

<?php __('Hello world','cool_theme'); ?>

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