WPML

تخزّن WPML بيانات اللغة والترجمة والسلاسل النصية في جداول قاعدة بيانات مخصصة. تعرف على كيفية ارتباطها بجداول ومحتوى WordPress.

نموذج قاعدة بيانات WPML

يوضّح المخطط التالي نموذج الجداول التي تستخدمها WPML:

مخطط لجداول قاعدة بيانات WPML

جدول اللغة والترجمة

يُسمى الجدول الذي يحتوي على معلومات اللغة والترجمة icl_translations.

  • يحتوي كل عنصر من عناصر محتوى الموقع تم إعداده كعنصر قابل للترجمة (مقالة، صفحة، وسم، تصنيف، نوع منشور مخصص، والتصنيفات المخصصة) على إدخال في هذا الجدول. ملاحظة: التعليقات غير قابلة للترجمة ولكن لها سجل في icl_translations لأنه تم تعيين معلومات لغة لها.
  • يحدد الإدخال لغة العنصر ومجموعة الترجمة (نوع العنصر) التي ينتمي إليها.
  • تشترك إدخالات نفس مجموعة الترجمة في نفس القيمة في عمودي element_type و trid.
  • الإدخال الذي ليس له لغة مصدر (NULL) في نفس المجموعة هو الإدخال الأصلي.

يحتوي على الأعمدة التالية:

  • translation_id – رقم تسلسلي
  • element_type – نوع العنصر. يتم شرح هذه القيمة واستردادها في الخطّاف wpml_element_type.
  • element_id – معرّف العنصر (post_id لأنواع المنشورات، term_taxonomy_id لمصطلحات التصنيفات)
  • trid – معرّف مجموعة الترجمة
  • language_code – رمز لغة العنصر
  • source_language_code – في حال تمت الترجمة، لغة العنصر الأصلي

على سبيل المثال، إذا كان لدينا مقالة باللغة الإنجليزية بمعرّف ID=3، وتمت ترجمتها إلى الإسبانية وكانت الترجمة الإسبانية تحمل المعرّف ID=7، فسيبدو جدول icl_translations كما يلي:

translation_idelement_typeelement_idtridlanguage_codesource_language_code
1post_post32enNULL
2post_post72esen
* نظراً لأن الإدخالين لهما نفس قيمة trid بالنسبة لـ trid، فهما ترجمتان لبعضهما البعض. القيمة نفسها ليست مهمة.
جدول icl_translations في WPML والجداول المرتبطة به

في المواقع القديمة (التي تم إنشاؤها قبل WPML 4.8)، يمكنك تشغيل عملية لمرة واحدة لـ تحسين جداول الترجمة.

جدول أعلام الدول

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

يتم تخزين أعلام دول WPML في دليل res/flags ويشير جدول icl_flags إلى العلم الذي يجب إرجاعه لكل دولة. أعمدة جدول icl_flags هي:

  • id – رقم تسلسلي
  • lang_code – رمز اللغة
  • flag – اسم ملف العلم
  • from_template – «0»: أخذ العلم من مجلد res/flags الخاص بـ WPML، «1»: أخذ العلم من دليل القالب

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

إضافة علم مخصص
إضافة علم مخصص

يمكنك استخدام صفحة تعديل اللغات نفسها لـ إضافة لغة مخصصة.

جدول ترجمة النصوص

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

تتضمن WPML آلية تُسمى ترجمة النصوص، للتعامل مع هذه السلاسل النصية.

يتم الاحتفاظ بالسلاسل النصية في جدول icl_strings مع الأعمدة التالية:

  • id – رقم تسلسلي
  • language – اللغة
  • context – سياق السلسلة النصية (يشير إلى ما تنتمي إليه السلسلة النصية)
  • name – اسم السلسلة النصية
  • value – قيمة السلسلة النصية (محتوياتها)
  • string_package_id - معرّف الحزمة التي تنتمي إليها السلسلة النصية
  • type – نوع المحرر المراد استخدامه عند تعديل السلسلة النصية عبر محرر الترجمة (LINE أو AREA أو VISUAL)
  • title – عنوان السلسلة النصية المراد عرضه في محرر الترجمة
  • status – حالة الترجمة التي تشير إلى ما إذا كانت السلسلة النصية مترجمة بالكامل إلى جميع اللغات
  • gettext_context – السياق المعيّن في دالة gettext، على سبيل المثال _x
  • domain_name_context_md5 – مفتاح فريد لتحسين أداء البحث

يتم الاحتفاظ بترجمات السلسلة النصية في جدول icl_string_translations:

  • id – رقم تسلسلي
  • string_id – معرّف (الرقم التسلسلي) السلسلة النصية التي تتم ترجمتها
  • language – لغة الترجمة
  • status – حالة الترجمة (مكتمل / غير مكتمل)
  • value – الترجمة نفسها
  • translator_id – معرّف المترجم
  • translation_service – خدمة الترجمة المستخدمة لترجمة السلسلة النصية. يمكن أن تكون فارغة، أو محلية، أو خدمة عن بُعد
  • batch_id – معرّف الدفعة عندما تتم ترجمة سلسلة نصية بواسطة خدمة ترجمة
  • translation_date – تاريخ الترجمة
جدولا icl_strings و icl_string_translations في WPML

جميع جداول WPML

إليك قائمة كاملة بجميع الجداول التي تستخدمها WPML:

wp_icl_background_task
wp_icl_content_status
wp_icl_core_status
wp_icl_flags
wp_icl_languages
wp_icl_languages_translations
wp_icl_locale_map
wp_icl_message_status
wp_icl_mo_files_domains
wp_icl_node
wp_icl_reminders
wp_icl_strings
wp_icl_string_batches
wp_icl_string_packages
wp_icl_string_positions
wp_icl_string_status
wp_icl_string_translations
wp_icl_translate
wp_icl_translate_job
wp_icl_translations
wp_icl_translation_batches
wp_icl_translation_downloads
wp_icl_translation_status

المزيد في هذا القسم

بقلم Amir · آخر تحديث 28 أغسطس 2025