كيفية ترجمة الحقول المخصصة لـ ACF في WordPress – مجموعات الحقول، وحقول التكرار، وصفحات الخيارات
تعرّف على كيفية ترجمة كل حقل مخصص لـ ACF في موقع WordPress الخاص بك إلى جميع اللغات التي يتحدث بها زوارك. يغطي هذا الدليل مجموعات الحقول (Field Groups)، وحقول التكرار (Repeaters)، والمحتوى المرن (Flexible Content)، وحقول الصور، وصفحات الخيارات، وتسميات الحقول نفسها. يوجّه ACFML حقول ACF و ACF Pro عبر مسار عمل الترجمة في WPML بحيث تُترجم جنباً إلى جنب مع محتوى مقالتك.
قبل البدء
ثبّت وفعّل هذه الإضافات:
- Advanced Custom Fields أو ACF Pro.
- WPML و WPML ترجمة النصوص.
- ACFML (الملحق الذي تغطيه هذه الصفحة).
يجب أن تكون مجموعات الحقول معدّة مسبقاً في ACF. يمكنك تغيير تفضيلات الترجمة لكل حقل لاحقاً، لذا لا يهم ترتيب العمليات. أعدّ مجموعات الحقول، ثم عُد إلى ACFML.
اختيار خيار ترجمة لكل مجموعة حقول
لا تتصرف جميع مجموعات حقول ACF بنفس الطريقة عند الترجمة. يقدّم ACFML ثلاثة خيارات ترجمة لكل مجموعة حقول. لاختيار أحدها:
- اذهب إلى ACFمجموعات الحقول وعدّل مجموعة الحقول.
- في قسم الإعداد متعدد اللغات، أسفل تحديد خيار ترجمة لمجموعة الحقول هذه، انقر على اختيار للخيار الذي تريده.
- احفظ مجموعة الحقول.
يُميّز ACFML الخيار الذي يقترحه لموقعك كـ موصى به لهذا الموقع. لاختيار خيار آخر لاحقاً، انقر على تغيير الخيار. تُسمي الإصدارات الأقدم من ACFML الخيارين الأولين الحقول نفسها عبر اللغات و حقول مختلفة عبر اللغات.
المحتوى نفسه في جميع اللغات، مترجم
هذا هو الإعداد المعتاد لمعظم مواقع ACF. يرى الزوار في كل لغة نفس الصفحات، بلغتهم الخاصة. يُترجم النص، ويبقى التخطيط والإعدادات كما هي. صفحة فريقنا هي المثال المعتاد. فريقك هو نفسه في كل لغة، لذا يُترجم اسم كل عضو في الفريق وسيرته الذاتية، وتبقى بنية الحقول كما هي. تُدخل الفريق باللغة الافتراضية، ثم ترسل المقالة للترجمة من WPMLالترجماتلوحة التحكم. تعود القيم المترجمة إلى نفس الحقول. يعمل هذا الخيار مع الترجمة التلقائية و ترجم كل شيء.
لكل لغة محتواها الخاص
استخدم هذا الخيار عندما تعرض كل لغة محتوى مختلفاً في نفس مجموعة الحقول. المثال المعتاد هو شركة تدير أحداثاً محلية. تعرض صفحة الأحداث الإنجليزية أحداثاً للجمهور الإنجليزي، وتعرض الصفحة الفرنسية أحداثاً للجمهور الفرنسي. تبدأ الحقول كنسخة من الأصل. بعد ذلك، تحتفظ كل لغة بقيمها الخاصة. تقوم بتعديل كل لغة في محرر WordPress: افتح المقالة، وانقر على أيقونة الجمع للغة الهدف في مربع اللغة، واملأ القيم لتلك اللغة، ثم انشر. لا يقوم WPML بمزامنة إصدارات اللغات بعد ذلك، ولا تُطبّق الترجمة التلقائية.
خبير
استخدم هذا الخيار عندما تحتاج إلى مزيج: بعض الحقول تُترجم، وبعضها يبقى كما هو، وبعضها يُنسخ مرة واحدة ثم يتغير في كل لغة. اختر خبير واضبط تفضيل الترجمة لكل حقل يدوياً. في مثال الأحداث، يستخدم العنوان والوصف خيار ترجمة، ويستخدم السعر والتاريخ والعنوان خيار نسخ. لا يوصي ACFML بهذا الخيار لمجموعات الحقول الجديدة. قد لا تحتوي مجموعة الحقول المُعرّفة في PHP أو Local JSON على خيار ترجمة. حينها، تستخدم خبير فقط عندما تكون مجموعة الحقول موجودة قبل تحديث موقعك إلى WPML 5.2.
تفضيلات الترجمة لكل نوع من حقول ACF
كل حقل يخزن قيمة له واحد من أربعة تفضيلات ترجمة:
- ترجمة. يرى الزوار القيمة بلغتهم الخاصة. يملأها WPML بالترجمة. يمكنك تعديلها في محرر الترجمة.
- نسخ. يرى الزوار في كل لغة بالضبط ما يعرضه الأصل. يتم قفل الحقل في اللغات الأخرى.
- نسخ مرة واحدة. تبدأ القيمة كنسخة من الأصل. بعد ذلك، تقوم بتعديلها في كل لغة يدوياً. إذا أفرغت الحقل في إحدى الترجمات، فإنه يبقى فارغاً. لا ينسخ WPML القيمة الأصلية إليه مرة أخرى.
- عدم الترجمة. تبدأ الترجمات بدون هذه القيمة. يمكنك ملؤها في كل لغة يدوياً.
عندما تختار المحتوى نفسه في جميع اللغات، مترجم أو لكل لغة محتواها الخاص، يمنح ACFML كل حقل التفضيل الموصى به لنوع حقله. توضح الجداول أدناه هذه التفضيلات الموصى بها. لتعيين تفضيل مختلف لحقل واحد، استخدم خبير. لتغيير التفضيل الموصى به لنوع حقل في الموقع بأكمله، استخدم المرشِّح acfml_field_group_mode_field_translation_preference (انظر خطاطيف المطورين للحالات الاستثنائية أدناه).
حقول علامة التبويب (Tab)، والأكورديون (Accordion)، والرسالة (Message)، والفاصل (Separator) لا تخزن قيمة، لذا ليس لها تفضيل ترجمة. يحصل نوع الحقل غير الموجود في الجداول، على سبيل المثال نوع حقل من إضافة أخرى، على نسخ مع كلا خياري الترجمة.
حقول التكرار (Repeater)، والمحتوى المرن (Flexible Content)، والمجموعة (Group)، والنسخ (Clone)
تحتوي هذه الحقول على حقول أخرى. التفضيل الموصى به للحقل الحاوي هو نسخ أو نسخ مرة واحدة. لا يقدم ACFML خيار ترجمة للحقل الحاوي نفسه. لكل حقل فرعي تفضيل الترجمة الخاص به.
مع خيار المحتوى نفسه في جميع اللغات، مترجم، تبقى صفوف حقول التكرار والمحتوى المرن بنفس الترتيب كما في اللغة الافتراضية. مع خيار خبير، أو عندما تستخدم مقالة مجموعات حقول بخيارات مختلفة، يعرض محرر المقالة مربع ACFML Synchronise translations. يظهر هذا المربع في المقالة الأصلية عندما يكون للمقالة ترجمات وحقل تكرار أو محتوى مرن. حدد Keep repeater and flexible sub-fields in the same order as the default language للحفاظ على محاذاة الصفوف في جميع اللغات.
الحقول الأساسية
| النوع | المحتوى نفسه في جميع اللغات، مترجم | لكل لغة محتواها الخاص |
|---|---|---|
| نص | ترجمة | ترجمة |
| مساحة نص | ترجمة | ترجمة |
| رقم | نسخ | نسخ مرة واحدة |
| نطاق | نسخ | نسخ مرة واحدة |
| بريد إلكتروني | نسخ | نسخ مرة واحدة |
| عنوان URL | ترجمة | ترجمة |
| كلمة مرور | نسخ | نسخ مرة واحدة |
حقول المحتوى
| النوع | نفس المحتوى في كل لغة، مترجم | لكل لغة محتواها الخاص |
|---|---|---|
| صورة | نسخ | نسخ مرة واحدة |
| ملف | نسخ | نسخ مرة واحدة |
| محرر Wysiwyg | ترجمة | ترجمة |
| oEmbed | نسخ | نسخ مرة واحدة |
| معرض | نسخ | نسخ مرة واحدة |
حقول الاختيار
| النوع | نفس المحتوى في كل لغة، مترجم | لكل لغة محتواها الخاص |
|---|---|---|
| تحديد | نسخ | نسخ مرة واحدة |
| مربع اختيار | نسخ | نسخ مرة واحدة |
| زر راديو | نسخ | نسخ مرة واحدة |
| مجموعة أزرار | نسخ | نسخ مرة واحدة |
| صواب / خطأ | نسخ | نسخ مرة واحدة |
حقول jQuery
| النوع | نفس المحتوى في كل لغة، مترجم | لكل لغة محتواها الخاص |
|---|---|---|
| خريطة Google | نسخ | نسخ مرة واحدة |
| منتقي التاريخ | نسخ | نسخ مرة واحدة |
| منتقي التاريخ والوقت | نسخ | نسخ مرة واحدة |
| منتقي الوقت | نسخ | نسخ مرة واحدة |
| منتقي الألوان | نسخ | نسخ مرة واحدة |
| منتقي الأيقونات | نسخ | نسخ مرة واحدة |
حقول التخطيط
| النوع | نفس المحتوى في كل لغة، مترجم | لكل لغة محتواها الخاص |
|---|---|---|
| مجموعة | نسخ | نسخ مرة واحدة |
| مكرر | نسخ | نسخ مرة واحدة |
| محتوى مرن | نسخ | نسخ مرة واحدة |
| استنساخ | نسخ | نسخ مرة واحدة |
الحقول العلائقية
| النوع | نفس المحتوى في كل لغة، مترجم | لكل لغة محتواها الخاص |
|---|---|---|
| رابط | ترجمة | ترجمة |
| كائن مقالة | نسخ | نسخ مرة واحدة |
| رابط صفحة | نسخ | نسخ مرة واحدة |
| علاقة | نسخ | نسخ مرة واحدة |
| تصنيف | نسخ | نسخ مرة واحدة |
| مستخدم | نسخ | نسخ مرة واحدة |
بالنسبة لحقل الرابط، تغطي الترجمة نص الرابط وعنوان URL. عندما يشير عنوان URL إلى صفحة على موقعك ولا تقوم بتغييره، يعرض WPML الصفحة بلغة الزائر.
حقول عنوان URL والرابط
بدءاً من الإصدار ACFML 5.0، تستخدم حقول عنوان URL والرابط تفضيل ترجمة بشكل افتراضي.
| النوع | نفس المحتوى في كل لغة، مترجم | لكل لغة محتواها الخاص |
|---|---|---|
| عنوان URL | ترجمة | ترجمة |
| رابط | ترجمة | ترجمة |
العلاقات ثنائية الاتجاه
منذ الإصدار ACF 6.2، يمكن أن تكون حقول العلاقة وكائن المقالة والتصنيف والمستخدم ثنائية الاتجاه. عندما تحدد هدفاً في الحقل، يضيف ACF مقالتك إلى الحقل المقترن للهدف. على سبيل المثال، يعيّن كتاب Dune حقل المؤلف الخاص به إلى Frank Herbert. ثم يضيف ACF Dune إلى حقل الكتب الخاص بـ Frank Herbert.
يحتفظ ACFML بالزوج في كل لغة:
- عندما ينسخ WPML الحقل إلى ترجمة، يوجّه ACFML الحقل إلى الهدف في نفس اللغة. ثم يضيف ACFML الترجمة إلى الحقل المقترن لذلك الهدف. يعرض Dune الإسباني Frank Herbert الإسباني، ويدرج Frank Herbert الإسباني Dune الإسباني.
- عندما يستخدم الحقل نسخ وتغيّر الهدف في المقالة الأصلية، يحدّث WPML الترجمة. يضيف ACFML الترجمة إلى الهدف الجديد في تلك اللغة ويزيلها من الهدف القديم.
- يغيّر ACFML الأهداف في لغة الترجمة فقط. تحتفظ المقالات في اللغة الأصلية بزوجها الخاص.
- عندما لا يكون للهدف ترجمة بعد، تشير الترجمة إلى الهدف الأصلي، ولا يغيّر ACFML الهدف الأصلي. عندما تترجم الهدف لاحقاً، يوجّه ACFML الحقل إلى الترجمة الجديدة ويضيف المقالة إلى حقلها المقترن. يدرج الحقل الهدف مرة واحدة.
- ليس للمستخدمين ترجمات، لذا لا يضيف ACFML ترجمات إلى الحقل المقترن للمستخدم. يحتفظ ذلك الحقل بالمقالة الأصلية. في لغة أخرى، يعرض ACFML ترجمة تلك المقالة، ما لم يستخدم الحقل نسخ.
يعمل هذا مع تفضيلي نسخ ونسخ مرة واحدة، وهما التفضيلان الموصى بهما لأنواع الحقول هذه. ويعمل أيضاً عندما تكرر مقالة باستخدام WPML.
ترجمة كتل ACF
افتراضياً، تحفظ كتل ACF قيم حقولها داخل الكتلة، في محتوى المقالة، وليس كحقول مخصصة. يرسل ACFML هذه القيم للترجمة مع بقية المقالة، في نفس مهمة الترجمة.
- تستخدم الكتلة خيار الترجمة وتفضيلات الحقول لمجموعة الحقول التي تكون قاعدة موقعها هي هذه الكتلة.
- يرسل ACFML الحقول التي تستخدم ترجمة فقط. تحتفظ الحقول التي تستخدم نسخ أو نسخ مرة واحدة أو عدم الترجمة بالقيمة من الكتلة الأصلية.
- تُترجم حقول Repeater وFlexible Content داخل الكتلة أيضاً، حتى عندما تكون متداخلة. يستخدم كل حقل فرعي تفضيل الترجمة الخاص به.
- تحفظ الكتلة التي تحتوي على
"usePostMeta": trueفي قسمacfمنblock.jsonالخاص بها قيمها كحقول مخصصة للمقالة، وليس في الكتلة. تُترجم هذه القيم مثل أي حقل مخصص آخر للمقالة، باستخدام خيار الترجمة وتفضيلات الحقول لمجموعة الحقول. - عندما تغيّر تفضيل ترجمة في مجموعة حقول تستخدمها في الكتل، يسألك WPML عما إذا كنت تريد تحديث الترجمات الحالية. إذا أكدت ذلك، يضع WPML علامة على ترجمات هذه المقالات بأنها بحاجة إلى تحديث. أرسلها للترجمة مرة أخرى لتطبيق التغيير. التغيير إلى عدم الترجمة لا يضع علامة عليها.
الحقول المصرّح عنها في block.json
منذ الإصدار ACF 6.8.1، يمكن للكتلة التصريح عن حقولها في ملف block.json الخاص بها، في acf.fields. ينشئ ACF مجموعة حقول لهذه الحقول، ولا يمكنك تعديل مجموعة الحقول هذه في لوحة التحكم. يعطيها ACFML خيار نفس المحتوى في كل لغة، مترجم والتفضيل الموصى به لكل نوع حقل، مثل مجموعة الحقول المسجلة في PHP.
لاستخدام خيار آخر للمجموعة بأكملها، أضف acfml_field_group_mode إلى قسم acf من block.json، أو إلى acf_register_block_type(). القيم المقبولة هي translation (نفس المحتوى في كل لغة، مترجم)، وlocalization (كل لغة لها محتواها الخاص)، وadvanced (خبير). يتجاهل ACFML أي قيمة أخرى.
{
"name": "acme/event-card",
"title": "Event Card",
"acf": {
"mode": "preview",
"acfml_field_group_mode": "localization",
"fields": [ ... ]
}
}
لتعيين تفضيل حقل واحد، أضف wpml_cf_preferences إلى ذلك الحقل. يحتفظ ACFML بهذا التفضيل مع كل خيار. باستخدام خبير، تحصل الحقول التي تصرّح عن wpml_cf_preferences فقط على تفضيل.
عندما لا يسمي block.json خياراً، يخزن ACFML الخيار الذي يعطيه للمجموعة في أول مرة يرى فيها المجموعة، ويحتفظ به بعد ذلك. في المواقع التي استخدمت هذه الكتل مع إصدار أقدم من ACFML، يكون الخيار المخزن هو خبير.
إعداد التفضيلات للحقول المسجلة في PHP أو JSON
لا تأخذ مجموعات حقول ACF المسجلة في PHP (باستخدام acf_add_local_field_group()) أو من خلال ميزة Local JSON في ACF تفضيلات الترجمة من شاشات لوحة التحكم، لأن لوحة التحكم لا تديرها. اضبط التفضيلات في نفس المكان الذي تسجل فيه الحقول.
لضبط خيار الترجمة لمجموعة الحقول، أضف المفتاح acfml_field_group_mode إلى التعريف، مع translation أو localization أو advanced (خبير). عندما لا يحدد التعريف أي خيار للترجمة، يمنح ACFML مجموعة الحقول خيار نفس المحتوى في كل لغة، مترجم في المرة الأولى التي يرى فيها المجموعة. يخزن ACFML هذا الخيار ويحتفظ به بعد ذلك. تحتفظ مجموعات الحقول الموجودة قبل تحديث موقعك إلى WPML 5.2 بخيار خبير.
لكل حقل في تعريف مجموعة الحقول، أضف مفتاح wpml_cf_preferences. القيمة عبارة عن عدد صحيح يقابل تفضيلات الترجمة الأربعة: 0 لـ عدم الترجمة (يتجاهل WPML الحقل)، و 1 لـ نسخ (تبقى القيمة متزامنة عبر اللغات)، و 2 لـ ترجمة (تمر القيمة عبر الترجمة)، و 3 لـ نسخ مرة واحدة (تُنسخ القيمة إلى الترجمات الجديدة، ثم يمكن تعديل كل لغة بشكل مستقل).
مثال مبسط:
acf_add_local_field_group( [
'key' => 'group_1',
'title' => 'My Group',
'fields' => [
[
'key' => 'field_1',
'label' => 'Sub Title',
'name' => 'sub_title',
'type' => 'text',
'wpml_cf_preferences' => 2, // Translate.
],
],
// ...rest of the field-group config
] );
بعد تعريف الحقول في الكود، زامن التفضيلات في WPML حتى تتعرف عليها لوحة التحكم:
- اذهب إلى ACFأدوات.
- مرر لأسفل إلى Translate ACF Local JSON and PHP-Registered Fields.
- في Sync Translation Preferences for Local Fields، اختر Sync once now وانقر على طبِّق.
يقرأ WPML التفضيلات من تعريفات الحقول الخاصة بك ويخزنها. يُشغَّل خيار Sync once now مرة واحدة. إذا كنت تغير التعريفات بشكل متكرر، اختر Sync on every request (may affect performance) بدلاً من ذلك. يُشغِّل هذا الخيار المزامنة عند كل طلب في لوحة التحكم.
إذا كنت تستخدم ميزة Local JSON في ACF لمشاركة مجموعات الحقول بين المواقع، يكتب ACFML تفضيلات الترجمة في ملفات JSON تلقائياً. صدّر ملف JSON من موقع، واستورده في موقع آخر، وسيلتقط الموقع الوجهة التفضيلات بمجرد تنشيط ACFML على كلا الطرفين.
تُخزَّن مجموعات الحقول التي ينشئها ACF باستخدام أمر WP-CLI wp acf json import، أو من خلال Abilities API الخاص به لأدوات الذكاء الاصطناعي، في قاعدة البيانات. يمنحها ACFML خيار نفس المحتوى في كل لغة، مترجم والتفضيل الموصى به لكل نوع حقل. عندما يحتوي ملف JSON المستورد بالفعل على مفتاح acfml_field_group_mode، يستخدم ACFML هذا الخيار بدلاً من ذلك.
مجموعات الحقول في ملفات Local JSON
يحمّل ACF مجموعات الحقول من مجلد acf-json في وقت مبكر جداً من كل طلب. بدءاً من الإصدار WPML 5.2، يقرأ ACFML مجموعات الحقول هذه في نفس الوقت. لذلك عندما تزامن تفضيلات الترجمة، تغطي المزامنة مجموعات حقول JSON أيضاً. يستخدم WPML بعد ذلك التفضيلات الموجودة في ملفات JSON.
في ملف JSON، أضف wpml_cf_preferences إلى كل حقل، بنفس القيم الموجودة في PHP. يحدد هذا المفتاح تفضيل كل حقل، أياً كان خيار الترجمة لمجموعة الحقول. يستخدم المثال خيار خبير:
{
"key": "group_event",
"title": "Event",
"acfml_field_group_mode": "advanced",
"fields": [
{
"key": "field_event_title",
"label": "Event Title",
"name": "event_title",
"type": "text",
"wpml_cf_preferences": 2
},
{
"key": "field_event_price",
"label": "Price",
"name": "event_price",
"type": "number",
"wpml_cf_preferences": 1
}
]
}
لإرسال التفضيلات وتسميات مجموعات حقول JSON إلى WPML:
- اذهب إلى ACFأدوات.
- مرر لأسفل إلى Translate ACF Local JSON and PHP-Registered Fields.
- في Sync Translation Preferences for Local Fields، اختر Sync once now أو Sync on every request (may affect performance).
- في Register Labels for Translation، اختر Register labels now.
- انقر على طبِّق.
للتحقق من النتيجة، اذهب إلى WPMLإعدادات وابحث عن الحقول في ترجمة الحقول المخصصة. يُظهر كل حقل التفضيل من ملف JSON. يسجل ACFML أيضاً تسميات مجموعات الحقول، وأنواع المنشورات، والتصنيفات، وصفحات الخيارات (Options Pages) التي توجد فقط في الكود: في مجلد acf-json أو المسجلة في PHP. ترجمها مثل تسميات أي مجموعة حقول أخرى (انظر ترجمة تسميات حقول ACF أدناه).
ترجمة تسميات حقول ACF
تسميات حقول ACF هي الأسماء التي تحدد كل حقل مخصص في محرر WordPress وعلى الواجهة الأمامية (مثل Phone number، Address). تُترجم بشكل منفصل عن قيم الحقول، وتوجد في WPML ترجمة النصوص، وليس في مهمة ترجمة المقالة.
لإرسال تسميات الحقول للترجمة:
- افتح WPMLالترجماتلوحة التحكم.
- وسّع قسم ACF Field Group.
- اختر عنصر Field Group Labels لمجموعة الحقول التي تريد ترجمتها.
- اختر طريقة ترجمة (PTC، أو مترجمك، أو أترجم بنفسي) وأرسل.
تظهر التسميات المترجمة على الواجهة الأمامية تلقائياً بمجرد اكتمال الترجمة.
إيقاف ترجمة تسميات الحقول
افتراضيًا، لا تتضمن مهمة ترجمة المقالة تسميات الحقول. أنت تترجمها فقط عندما ترسل عنصر تسميات مجموعة الحقول من لوحة التحكم. إذا لم ترسله، سيعرض ACF التسميات الأصلية. لعرض التسميات الأصلية حتى عند وجود ترجمات، استخدم المرشِّح acfml_should_translate_acf_entity وأرجع false للحقول أو مجموعات الحقول التي تريد تخطيها. يحتوي مرجع خطاطيف وثوابت ACFML على مثال.
ترجمة خيارات حقول ACF
تحمل حقول الخيارات (تحديد، مربع اختيار، زر خيار، مجموعة أزرار) تسميات الخيارات الخاصة بها (على سبيل المثال، صغير / متوسط / كبير). وتوجد هذه أيضاً بجانب تسميات الحقول بدلاً من أن تكون داخل ترجمة المقالة. أرسلها بنفس الطريقة:
- افتح WPMLالترجماتلوحة التحكم.
- وسّع قسم مجموعة حقول ACF.
- حدد مجموعة الحقول التي تريد ترجمة قيم خياراتها.
- اختر طريقة ترجمة وأرسل.
ترجمة صفحات خيارات ACF
تُترجم صفحات خيارات ACF (شاشات الإعدادات العامة مثل تفاصيل الاتصال، إعدادات الترويسة، روابط التذييل) كنوع كائن مستقل، بشكل منفصل عن المقالات:
- افتح WPMLالترجماتلوحة التحكم.
- وسّع قسم خيارات ACF.
- حدد صفحة الخيارات التي تريد ترجمتها.
- اختر طريقة ترجمة وأرسل.
تظهر قيم صفحة الخيارات الخاصة بكل لغة تلقائياً عندما يقرأ ACF الخيار في سياق تلك اللغة.
يحدد خيار الترجمة لمجموعة الحقول في صفحة الخيارات ما يحدث لكل حقل:
- تنتقل الحقول التي تستخدم ترجمة إلى عنصر خيارات ACF الذي ترسله من لوحة إدارة الترجمة. عند اكتمال الترجمة، يكتب ACFML القيم في صفحة الخيارات لتلك اللغة. تحصل حقول المكرر والمحتوى المرن على نفس الصفوف الموجودة في الأصل.
- تحصل الحقول التي تستخدم نسخ على قيمة الأصل في كل لغة. عندما تحفظ الأصل، يحدّث ACFML اللغات الأخرى.
- تبدأ الحقول التي تستخدم نسخ مرة واحدة كنسخة من الأصل. بعد ذلك، يمكنك تعديلها في صفحة الخيارات لكل لغة.
استخدم لكل لغة محتواها الخاص عندما تختلف الخيارات باختلاف اللغة. على سبيل المثال، تُدرج صفحة الخيارات ثلاثة وكلاء مبيعات باللغة الإنجليزية واثنين باللغة الإسبانية. لاختيار هذا الخيار، عدّل مجموعة الحقول، كما تفعل مع أي مجموعة حقول أخرى.
لتغيير ترجمة مكتملة، اذهب إلى WPMLالترجماتوظائف الترجمة وانقر على تعديل في مهمة خيارات ACF. يمكنك أيضاً تعديل القيم المترجمة في WPMLترجمة النصوص. عندما تحفظ ترجمة هناك، يكتبها ACFML في صفحة الخيارات لتلك اللغة.
عندما تغيّر اللغة الافتراضية للموقع، تبقى قيم صفحة الخيارات الحالية باللغة التي كتبتها بها. يقرأ ACF نفس القيم كما كانت قبل التغيير.
في التعليمات البرمجية، يُرجع get_field( 'my_field', 'option' ) قيمة اللغة الحالية. بعد do_action( 'wpml_switch_language', 'fr' )، يُرجع القيمة الفرنسية. يعمل هذا أيضاً مع صفحات الخيارات التي تحتوي على post_id مخصص.
مشكلات شائعة
- تبدو تسميات الحقول غير مترجمة. إنها توجد في ترجمة النصوص، وليس في ترجمة المقالة. أرسل عنصر تسميات مجموعة الحقول الخاص بمجموعة الحقول من لوحة التحكم (انظر ترجمة تسميات حقول ACF أعلاه).
- تبدو قيم الخيارات غير مترجمة. نفس الحالة. أرسل مجموعة الحقول من قسم مجموعة حقول ACF في لوحة التحكم حتى يتم تضمين قيم الخيارات.
- صفوف المكرر تفقد المزامنة. من المحتمل أن مجموعة الحقول تستخدم خيار خبير. عدّل المقالة الأصلية، وحدد الاحتفاظ بحقول المكرر والحقول الفرعية المرنة بنفس ترتيب اللغة الافتراضية في مربع مزامنة ترجمات ACFML، وحدّث المقالة. أو بدّل مجموعة الحقول إلى نفس المحتوى في كل لغة، مترجم.
- يتصرف المنطق الشرطي بشكل غير متوقع. عندما يتم تعيين الحقل المتحكم إلى نسخ أو عدم الترجمة، يتبع السلوك الشرطي قيمة اللغة المصدر عبر جميع الترجمات. عيِّن الحقل المتحكم إلى ترجمة إذا كان يجب أن تختلف قيمته باختلاف اللغة.
- تتجاهل الحقول المحلية (المسجلة عبر PHP) تفضيلات الترجمة المعينة في لوحة التحكم. عيِّن مفتاح
wpml_cf_preferencesفي تعريف مجموعة الحقول نفسها وقم بالمزامنة من ACFأدوات. الإجراء موجود في تعيين التفضيلات للحقول المسجلة في PHP أو JSON أعلاه.
خطاطيف المطورين للحالات الاستثنائية
للتحكم البرمجي (استبعاد حقول معينة من الترجمة، تجاوز التفضيل الافتراضي لنوع حقل على مستوى الموقع، إخفاء التعليقات التوضيحية عن المترجمين، أو استبعاد السلاسل النصية لمجموعة الحقول من مهام ترجمة المقالات)، يحتوي ACFML على مرشِّحين وأربعة ثوابت. يوجد المرجع الكامل مع أمثلة التعليمات البرمجية في مرجع خطاطيف وثوابت ACFML.