تعرّف على كيفية تحديد إعدادات الترجمة للحقول المخصصة باستخدام ملف wpml-config.xml. عيّن خيارات الترجمة مثل الترجمة والنسخ، وأدرج سمات إضافية.
إعداد خيارات الترجمة للحقول المخصصة
يوفر WPML أربعة خيارات ترجمة للحقول المخصصة:
| الإجراء | الوصف | هل يظهر في محرر الترجمة المتقدم؟ |
|---|---|---|
| ترجمة | يمكّن قيمة الحقل المخصص للترجمة | نعم |
| نسخ | ينسخ قيمة الحقل المخصص من اللغة الافتراضية إلى اللغة الثانوية مع الحفاظ على مزامنتهما | لا |
| نسخ مرة واحدة | ينسخ قيمة الحقل المخصص من اللغة الافتراضية إلى اللغة الثانوية دون الحفاظ على مزامنتهما | لا |
| تجاهل | يتجنب نسخ قيمة الحقل المخصص إلى اللغة الثانوية | لا |
مثال على إضافة حقول مخصصة إلى ملف تكوين اللغة
<wpml-config>
<custom-fields>
<custom-field action="copy">quantity</custom-field>
<custom-field action="translate">custom-title</custom-field>
<custom-field action="copy">weight</custom-field>
<custom-field action="copy-once">bg-color</custom-field>
<custom-field action="translate">custom-description</custom-field>
<custom-field action="ignore">date-added</custom-field>
</custom-fields>
</wpml-config>إضافة سمات للحقول المخصصة
سمات Label و Group
يتيح لك WPML إضافة سمات تظهر في محرر الترجمة المتقدم. ويشمل ذلك:
- style – يعرض سطرًا واحدًا (line)، أو منطقة نص (textarea)، أو محررًا مرئيًا (visual)
- label – يعرض تسمية بجوار الحقل
- group – يحدد المجموعة التي ينتمي إليها الحقل المخصص. عندما يكون الحقل في مجموعة:
- تتم إزالة الحقل من قسم الحقول المخصصة
- تتم إضافة الحقل إلى قسم المجموعة ذات الصلة
مثال على سمات الحقول المخصصة
<wpml-config>
<custom-fields>
<custom-field action="translate" style="line" label="Title">custom-title</custom-field>
<custom-field action="translate" style="textarea" label="Description">custom-description</custom-field>
<custom-field action="translate" style="visual" label="Some content" group="Custom group">custom-wysiwyg</custom-field>
</custom-fields>
</wpml-config>إليك كيف ستبدو هذه السمات في محرر الترجمة المتقدم:

سمة Encode
يمكنك أيضًا إضافة سمات encode اختيارية لتغيير الترميز من القيمة الافتراضية (no أي بلا ترميز). تقبل سمة Encoding القيم التالية:
- json
- base64
- urlencode
إذا كنت تريد استخدام ترميزات متعددة، فافصل بين القيم بفاصلة:
مثال على إضافة حقول مخصصة إلى ملف تكوين اللغة لتغيير الترميز
<wpml-config>
<custom-fields>
<custom-field action="translate" encoding="json,base64">keywords</custom-field>
</custom-fields>
</wpml-config>سمة Translate Link
إذا كان حقلك المخصص يحتوي على رابط، يمكنك استخدام سمة translate_link_target لإجبار WPML على فحص الروابط وتعديلها في الحقل المخصص. لكي تعمل هذه السمة، تأكد من التفاف الرابط داخل وسوم <a>.
مثال على إجبار WPML على تعديل الروابط في حقل مخصص
<wpml-config>
<custom-fields>
<custom-field action="translate" translate_link_target="1">name_of_the_acf_field</custom-field>
</custom-fields>
</wpml-config>يترجم WPML جميع المفاتيح الفرعية في الحقول المخصصة افتراضيًا. لتجاوز ذلك، حدد المفاتيح الفرعية التي يجب ترجمتها.
مثال على كود لترجمة المفاتيح الفرعية في الحقول المخصصة
<wpml-config>
<custom-fields>
<custom-field action="translate">with_attributes</custom-field>
<custom-field action="translate">with_deep_attributes</custom-field>
<custom-field action="translate">no_attributes</custom-field>
</custom-fields>
<custom-fields-texts>
<key name="with_attributes">
<key name="attribute1" />
<key name="attribute2" />
</key>
<key name="with_deep_attributes">
<key name="attribute1" />
<key name="attribute2">
<key name="level1">
<key name="level2">
</key>
</key>
</key>
</key>
</custom-fields-texts>
</wpml-config>أحرف البدل (Wildcards)
يمكنك أيضًا استخدام أحرف البدل بنفس الطريقة التي تُستخدم بها في نصوص المسؤول:
- مطابقة جميع الحقول الفرعية التي تبدأ بـ title- باستخدام الكود:
<key name="title-*" /> - مطابقة جميع الحقول الفرعية وتُستخدم عمومًا لمطابقة فهرس مصفوفة باستخدام الكود:
<key name="*" /> - للحصول على
[{"title":"First title"},{"title":"Second title"}]استخدم الكود
مثال على ملف تكوين يحتوي على أحرف بدل
<wpml-config>
<custom-fields-texts>
<key name="key-name">
<key name="*">
<key name="title" />
</key>
</key>
</custom-fields-texts>
</wpml-config>التحويل التلقائي للمعرفات في الحقول المخصصة للمقالة
بدءًا من الإصدار WPML 4.8، يمكنك الإعلان عن المعرفات الموجودة في الحقول المخصصة للمقالة. يستبدل WPML المعرفات بنسخها المترجمة في الواجهة الأمامية.
يمكنك القيام بذلك فقط عندما يكون خيار الترجمة هو نسخ (أي عند استخدام <custom-field action="copy">).
في قسم custom-fields ضمن ملف wpml-config.xml الخاص بك، استخدم:
- type للإشارة إلى الكائن المرجعي، أي post-ids
- sub-type (اختياري) عندما تريد الإعلان عن المعرّف النصي للرابط (slug) لنوع مقالة
يمكن لـ WPML اكتشاف المعرفات وتحويلها بهذه التنسيقات:
- معرف واحد (مثل 123)
- قائمة معرفات مفصولة بفاصلة (مثل ”123,456,789“)
- مصفوفة (ومصفوفة مشفرة) من المعرفات (مثل [123,456,789])
مثال على الإعلان عن المعرفات في الحقول المخصصة
<custom-fields> <custom-field action="copy" type="post-ids" sub-type="product">custom_field_with_id</custom-field> </custom-fields>
عندما تكون المعرفات متداخلة في قسم custom-fields-texts على مستوى فرعي، سيكتشفها WPML ويحولها بغض النظر عن إعداد ترجمة الحقل (نسخ، ترجمة، إلخ).
مثال على الإعلان عن المعرفات في الحقول المخصصة المتداخلة
<wpml-config>
<custom-fields-texts>
<key name="custom_field_with_nested_ids">
<key name="custom_field_nested_key_with_ids" type="post-ids" sub-type="product" />
<key name="custom_field_nested_key_with_ids_with_wildcard_*" type="post-ids" sub-type="product" />
<key name="custom_field_nested_key_with_subkey">
<key name="custom_field_nested_key_with_subkey_with_ids" type="post-ids" sub-type="product" />
</key>
</key>
</custom-fields-texts>
</wpml-config>باستخدام نفس بناء جملة type و sub-type، يمكنك الإعلان عن المعرفات في نصوص المسؤول (جدول wp_options).
إعداد خيارات الترجمة لحقول مصطلحات التصنيف المخصصة
لترجمة الحقول المخصصة لمصطلحات التصنيف، تحتاج إلى تحديد اسم الحقل والإجراء الذي يجب أن يتخذه WPML: ترجمة (translate)، نسخ (copy)، نسخ مرة واحدة (copy-once)، تجاهل (ignore).
قم بتضمين هذا الوسم تحت وسم wpml-config.
يمكنك تعيين خيارات الترجمة التالية لحقول المصطلحات المخصصة:
- translate: يتيح للمستخدم ترجمة قيمة المصطلح المخصص. تظهر هذه المصطلحات في شاشة محرر الترجمة ويمكن ترجمتها يدويًا أو تلقائيًا أو إرسالها إلى مترجمين آخرين.
- copy: ينسخ قيمة المصطلح المخصص من اللغة الافتراضية إلى اللغات الثانوية. هذا يعني أن تحديث قيمة المصطلح المخصص في اللغة الافتراضية سيُنسخ دائمًا إلى اللغة الثانوية. لا تظهر المصطلحات المخصصة المعينة على copy في شاشة محرر الترجمة.
- copy-once: ينسخ قيمة المصطلح المخصص إلى اللغة الثانوية في عملية الترجمة الأولية. لن تظهر المصطلحات المخصصة التي تستخدم إجراء copy-once في شاشة محرر الترجمة. ومع ذلك، يمكن للمستخدم تغيير قيمة المصطلح المخصص للغة الثانوية لتكون مختلفة عن اللغة الافتراضية باستخدام شاشة تحرير المقالة.
- ignore: يمنع نسخ المصطلح المخصص إلى اللغة الثانوية.
مثال على إضافة مصطلحات مخصصة إلى ملف تكوين اللغة
<wpml-config>
<custom-term-fields>
<custom-term-field action="copy">term_meta_A</custom-term-field>
<custom-term-field action="translate">term_meta_B</custom-term-field>
<custom-term-field action="ignore">term_meta_C</custom-term-field>
<custom-term-field action="copy-once">term_meta_D</custom-term-field>
</custom-term-fields>
</wpml-config>التحويل التلقائي للمعرفات المخزنة في الحقول المخصصة لمصطلحات التصنيف
يمكنك القيام بذلك فقط عندما يكون الحقل معينًا على نسخ (أي عند استخدام <custom-term-field action="copy">).
تمامًا كما هو الحال مع الحقول المخصصة للمقالة، يمكنك الإعلان عن معرفات الكائنات الموجودة في الحقول المخصصة للتصنيف. ثم يقوم WPML تلقائيًا بتحويلها إلى نسخها المترجمة.
في قسم custom-term-fields، استخدم:
- type للإشارة إلى الكائن المرجعي، أي post-ids أو taxonomy-ids
- sub-type (اختياري) عندما تريد الإعلان عن الكيان المحدد
مثال على الإعلان عن المعرفات في حقول المصطلحات المخصصة
<wpml-config>
<custom-term-fields>
<custom-term-field action="copy" type="post-ids" sub-type="product">custom_term_field_with_id</custom-term-field>
</custom-term-fields>
</wpml-config>موارد إضافية
لمعرفة المزيد حول ملف wpml-config.xml ، تفضل بزيارة دليل ملفات تكوين اللغة.
لتخصيص عناصر أخرى باستخدام ملف wpml-config.xml، تفضل بزيارة أدلتنا الإضافية:
- ترجمة الأكواد المختصرة المخصصة باستخدام WPML
- تسجيل محتوى أداة بناء الصفحات للترجمة
- تسجيل ودجات أداة بناء الصفحات المخصصة للترجمة
- تسجيل المصطلحات والأنواع والتصنيفات المخصصة كقابلة للترجمة
- جعل كتل Gutenberg المخصصة قابلة للترجمة
- ترجمة النصوص التي تحفظها القوالب والإضافات في wp_options
- تخصيص مبدل لغة WPML باستخدام ملف تكوين WPML