WPML

تعرّف على كيفية تسجيل محتوى أداة بناء الصفحات المخصص للترجمة باستخدام ملف wpml-config.xml. سجل السلاسل النصية، والوسائط، وودجات أداة بناء الصفحات، ومعرفات الأكواد المختصرة، والمزيد.

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

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

هل تحتاج إلى إنشاء ملف wpml-config.xml؟ تفضل بزيارة دليلنا المفصل خطوة بخطوة حول الإنشاء التلقائي لملف تكوين باستخدام إضافة Multilingual Tools.

ترجمة السلاسل النصية

لنفترض مثالاً حيث لديك فاصل نصي مضاف إلى صفحة باستخدام Visual Composer. يحتوي هذا الفاصل على عنوان، ويبدو الكود المختصر الخاص به كما يلي:

[vc_text_separator title="Separator Title"]

من أجل ترجمة عنوان هذا الفاصل النصي، تحتاج إلى إضافة بضعة أسطر إلى ملف wpml-config.xml الخاص بك. بهذه الطريقة، «سيعرف» WPML أن عنوان هذا الفاصل يحتاج إلى ترجمة.

الكود التالي هو مثال على ما تحتاج إلى إضافته إلى ملف wpml-config.xml في هذه الحالة.

مثال على إضافة كود مختصر لأداة بناء الصفحات إلى ملف wpml-config.xml
<wpml-config>
  <shortcodes>
    <shortcode>
        <tag>vc_text_separator</tag>
        <attributes>
            <attribute>title</attribute>
        </attributes>
    </shortcode>
  </shortcodes>
</wpml-config>

دعنا نستعرض بنية المثال أعلاه:

  • ابدأ بوسم shortcodes. يجب وضع أي أكواد مختصرة في موقعك تحتاج إلى ترجمة تحت هذا الوسم.
  • استخدم وسم shortcode لتغليف جميع الوسوم التي تنتمي إلى كود مختصر واحد.
  • استخدم الوسم المسمى tag لتعريف اسم الكود المختصر. في هذه الحالة، هو vc_text_separator. إذا كنت تفضل ذلك، يمكنك إضافة تسميات مخصصة اختيارية للوسوم. ستُعرض هذه التسميات بجوار النص في كل من محرر الترجمة المتقدم و محرر الترجمة الكلاسيكي. تتضمن ملفات XLIFF المُصدّرة أيضاً هذه التسميات. راجع المثال أدناه لمعرفة كيفية إضافة تسميات إلى الوسوم والسمات.
  • يمكن أن تحتوي الأكواد المختصرة على سمة واحدة أو أكثر، لذا تحتاج إلى تغليفها في وسم attributes (الجمع) واستخدام وسم attribute (المفرد) لتعريف عنوان كل سمة.

تتضمن أدوات بناء الصفحات (أحياناً) عناصر تصميم تحتوي على سمات روابط.

يمكنك جعل الروابط الداخلية تشير تلقائياً إلى النسخة المترجمة من تلك المقالة باستخدام خيار الرابط: type="link".

يمكنك استخدام سمة encoding مع هذا الخيار. فهي تتعامل مع الترميز الخاص الذي تستخدمه أدوات بناء الصفحات المختلفة. عادة ما تكون سمة الترميز خاصة بأداة بناء الصفحات التي تستخدمها. وهي تقبل القيم التالية:

  • base64 – كود HTML المختصر الخام لـ Visual Composer. يخزن الكود المختصر كود HTML كسلسلة base64.
  • vc_link – تنسيق رابط خاص لـ Visual Composer.
  • vc_values – ترميز خاص لـ Visual Composer للقيم في ودجات شريط التقدم (progress-bar)، والمخطط الدائري (pie-chart)، والمخطط الخطي (line-chart).
  • av_link – تنسيق رابط خاص لـ Enfold.
  • allow_html_tags – عادةً ما تُزال وسوم HTML من سمات الكود المختصر. اضبط الترميز على allow_html_tags إذا كان يجب أن تسمح سمة الكود المختصر بوسوم HTML. استخدم هذا بحذر لأن السماح بوسوم HTML في بعض المواقف يمكن أن يفسد التنسيق وقد يمثل مشكلة أمنية.
مثال على إضافة سمة رابط الكود المختصر: type="link"
<wpml-config>
  <shortcodes>
    <shortcode>
            <tag>av_button</tag>
            <attributes>
                <attribute>label</attribute>
                <attribute type="link" encoding="av_link">link</attribute>
            </attributes>
    </shortcode>
  </shortcodes>
</wpml-config>

إذا كنت تفكر في استخدام أكواد مختصرة مشفرة بعنوان URL (urlencoded)، فتأكد من قراءة الصفحة حول ترجمة الأكواد المختصرة المشفرة بعنوان URL.

مثال على إضافة تسميات الوسوم والسمات
<wpml-config>
    <shortcodes>
        <shortcode>
            <tag label="My shortcode label">my_shortcode</tag>
            <attributes>
                <attribute label="Shortcode title">title</attribute>
            </attributes>
        </shortcode>
    </shortcodes>
</wpml-config>

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

تجميع الحقول لتنظيم أفضل

لتحسين وضوح وتنظيم تكوين XML الخاص بك، يمكنك إضافة بادئة لتسميات الحقول باسم المجموعة. تأمل هذا المثال لزر دعوة لاتخاذ إجراء (CTA):

<wpml-config>
    <shortcodes>
        <shortcode>
            <tag label="Call To Action: Content">et_pb_cta</tag>
            <attributes>
                <attribute label="Call To Action: Title">title</attribute>
                <attribute label="Call To Action: Button Text">button_text</attribute>
                <attribute label="Call To Action: Button URL" type="link">button_url</attribute>
            </attributes>
        </shortcode>
    </shortcodes>
</wpml-config>

هنا، تحمل كل سمة من سمات الكود المختصر et_pb_cta تسمية Call To Action: . لا يمرر WPML هذه التسميات إلى محرر الترجمة المتقدم: يرى المترجم كل سمة كحقل مستقل بذاته، مجمعة تحت الكود المختصر، ويميز الحقول عن بعضها بواسطة النص الذي يحمله كل منها. لا تزال سمة label جزءاً من تنسيق التكوين ولا يزال من المفيد تعيينها:

ترجمة زر CTA في محرر الترجمة المتقدم
ترجمة زر CTA في محرر الترجمة المتقدم

ترجمة الوسائط

يمكنك استخدام ترجمة الوسائط في WPML لاستخدام صور مختلفة للغات مختلفة في محتوى أداة بناء الصفحات. يتم ذلك عن طريق تحويل معرفات الصور وعناوين URL للصور. يجب عليك «إخبار» أداة بناء الصفحات التي تستخدم الأكواد المختصرة بكيفية إجراء هذا التحويل. الكود التالي هو مثال على ما تحتاج إلى إضافته إلى ملف wpml-config.xml في هذه الحالة.

مثال على إضافة كود مختصر لأداة بناء الصفحات إلى ملف wpml-config.xml لترجمة الصور
<wpml-config>
  <shortcodes>
    <shortcode>
        <!-- Convert media IDs in `gallery_ids` attribute, and ignore the shortcode content -->
        <tag ignore-content="1">et_pb_gallery</tag>
        <attributes>
          <attribute type="media-ids">gallery_ids</attribute>
        <attributes>
    </shortcode>
    <shortcode>
        <!-- Convert the media URL in the content, translate some string attributes for `title` and `alt`, convert media URL in `src` attribute -->
        <tag type="media-url">et_pb_image</tag>
        <attributes>
          <attribute>title_text</attribute>
          <attribute>alt</attribute>
          <attribute type="media-url">src</attribute>
        </attributes>
    </shortcode>
  </shortcodes>
</wpml-config>

يمكنك استخدام القيم التالية:

  • ignore-content – يمكنك استخدامه داخل عنصر tag. هذه القيمة اختيارية ويمكن أن تكون إما 0 أو 1. يمكنك استخدام هذه السمة لتحقيق التوافق مع الإصدارات الأقدم لأكواد الوسائط المختصرة الجديدة. إذا تم تعيين القيمة إلى 1، فلن تتم معالجة محتوى الكود المختصر.
  • type – يمكنك استخدامه داخل عنصر tag. يمكنك أيضاً استخدام محتوى الكود المختصر الذي يحتوي على عنوان URL للوسائط كقيمة اختيارية داخل media-url.
  • type – يمكنك أيضاً استخدامه داخل عنصر attribute. في هذه الحالة، يمكن أن يحتوي على إحدى القيم الاختيارية التالية:
    • media-ids – قائمة بمعرفات الوسائط مفصولة بفواصل.
    • media-url – عنوان URL للوسائط
    • link – يشير إلى صفحة أخرى على الموقع وسيقوم WPML تلقائياً بتحويله إلى عنوان URL للصفحة المترجمة

ترجمة الوسائط في سمات الكتلة

يمكنك أيضاً استخدام أنواع السمات media-url و media-ids مع كتل Gutenberg لترجمة الوسائط مثل صور الخلفية. يعمل هذا بشكل مشابه للأكواد المختصرة، ولكنه يستخدم عنصر <gutenberg-block> مع عناصر <key> متداخلة لتعريف type="media-url" و type="media-ids".

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

يعمل هذا مع كل من كتل Gutenberg و Divi 5. يستخدم إصدار Divi هذا الكتل لتخزين المحتوى، لذا يعمل عنصر <gutenberg-block> على إضافة ترجمة الوسائط.

إليك مثالاً على إضافة ترجمة الوسائط لسمات كتلة Gutenberg:

<wpml-config>
  <gutenberg-blocks>
        <gutenberg-block type="divi/section" translate="1">
            <key name="module">
                <key name="decoration">
                    <key name="background">
                        <key name="desktop">
                            <key name="value">
                                <key name="image">
                                    <key name="url" type="media-url" />
                                </key>
                            </key>
                        </key>
                    </key>
                </key>
            </key>
        </gutenberg-block>
  </gutenberg-blocks>
</wpml-config>

ترجمة ودجات أداة بناء الصفحات

يتيح لك WPML تسجيل ودجات أداة بناء الصفحات داخل ملف تكوين اللغة الخاص بك. للحصول على معلومات مفصلة، راجع صفحة الوثائق الخاصة بنا حول كيفية تسجيل ودجات أداة بناء الصفحات للترجمة.

التحويل التلقائي لمعرفات الأكواد المختصرة

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

بدءاً من الإصدار WPML 4.8، يمتد هذا المنطق نفسه إلى معرفات الكائنات المخزنة في نصوص المسؤول، بالإضافة إلى المعرفات في الحقول المخصصة للمقالات وحقول مصطلحات التصنيف المخصصة.

على سبيل المثال، تأمل الكود المختصر التالي:

[foo_product_list product_ids="12,34,56"]

يمكنك التصريح بأن سمة product_ids تحمل معرفات مقالات باستخدام التكوين التالي:

التصريح بأن سمة product_ids تحمل معرفات مقالات
<shortcode>
    <tag ignore-content="1">foo_product_list</tag>
    <attributes>
        <attribute type="post-ids" sub-type="product">product_ids</attribute>
    </attributes>
</shortcode>

في الواجهة الأمامية، يتحول الكود المختصر تلقائياً إلى:

[foo_product_list product_ids="13,35,57"]

يمكنك استخدام سمات التكوين التالية:

  • type – إما post-ids أو taxonomy-ids
  • sub-type (اختياري) – كيان محدد من الـ type إذا كان معروفاً بالفعل. على سبيل المثال، product لنوع المنشور المخصص Product القادم من WooCommerce. إذا لم يتم تعريفه، فسيتم تخمين الكيان المحدد.

يتميز تحويل المعرفات بالمرونة ويحاول التكيف مع معظم التنسيقات الممكنة للمعرفات (معرف واحد، قائمة معرفات، مصفوفة متسلسلة، مصفوفة مشفرة بـ JSON).

أسماء السمات باستخدام حرف البدل (Wildcard)

تخزن بعض الأكواد المختصرة المعرفات في العديد من السمات ذات الأسماء المتشابهة، على سبيل المثال include_category، و include_portfolio_category، و include_product_cat. يمكن لسطر <attribute> واحد أن يغطيها جميعاً. ضع * في اسم السمة:

التصريح بأن جميع سمات include_ و exclude_ تحمل معرفات تصنيف
<shortcode>
    <tag>fusion_post_cards</tag>
    <attributes>
        <attribute type="taxonomy-ids" exclude="include_product_skus">include_*</attribute>
        <attribute type="taxonomy-ids" exclude="exclude_product_skus">exclude_*</attribute>
    </attributes>
</shortcode>
  • يطابق * حرفاً أو أكثر، أو أرقاماً، أو _، أو -.
  • يعمل * فقط مع type="post-ids" و type="taxonomy-ids".
  • يطابق WPML بقية الاسم تماماً. لا يقبل WPML التعابير النمطية في أسماء السمات.
  • exclude (اختياري) – قائمة بأسماء السمات الكاملة مفصولة بفواصل. لا يقوم WPML بتحويل المعرفات في هذه السمات. استخدمه للسمات التي تطابق الاسم ولكنها لا تحمل معرفات، مثل include_product_skus.

موارد إضافية

لمعرفة المزيد حول ملف wpml-config.xml ، قم بزيارة دليل ملفات تكوين اللغة.

لتخصيص عناصر أخرى باستخدام ملف wpml-config.xml، قم بزيارة أدلتنا الإضافية:

بقلمAmir