WPML

WPML מאחסן נתוני שפה, תרגום ומחרוזות בטבלאות מסד נתונים מותאמות אישית. למד כיצד אלה מתחברים לטבלאות ולתוכן של WordPress.

מודל מסד הנתונים של WPML

התרשים הבא מציג את מודל הטבלאות שבהן WPML משתמש:

תרשים של טבלאות מסד הנתונים של WPML

טבלת שפה ותרגום

הטבלה שמכילה את פרטי השפה והתרגום נקראת icl_translations.

  • לכל רכיב תוכן באתר שמוגדר כניתן לתרגום (פוסט, עמוד, תגית, קטגוריה, סוג תוכן מותאם אישית וטקסונומיות מותאמות אישית) יש רשומה בטבלה זו. הערה: תגובות אינן ניתנות לתרגום אך יש להן רשומה ב־icl_translations מכיוון שמוקצים להן פרטי שפה.
  • הרשומה מציינת את שפת הפריט ואת קבוצת התרגום (סוג הרכיב) שאליה הוא שייך.
  • רשומות של אותו אשכול תרגום משתפות את אותו ערך בעמודות element_type ו־trid.
  • הרשומה ללא שפת מקור (NULL) באותו אשכול היא הרשומה המקורית.

היא כוללת את העמודות הבאות:

  • translation_id – מספר סידורי
  • element_type – סוג הרכיב. ערך זה מוסבר ומוחזר בהוק wpml_element_type.
  • element_id – מזהה (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