WPML מאחסן נתוני שפה, תרגום ומחרוזות בטבלאות מסד נתונים מותאמות אישית. למד כיצד אלה מתחברים לטבלאות ולתוכן של WordPress.
מודל מסד הנתונים של 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_id | element_type | element_id | trid | language_code | source_language_code |
|---|---|---|---|---|---|
| 1 | post_post | 3 | 2 | en | NULL |
| 2 | post_post | 7 | 2 | es | en |
| * מכיוון שלשתי הרשומות יש את אותו ערך trid עבור trid, הן תרגומים אחת של השנייה. הערך עצמו אינו חשוב. | |||||

באתרים ישנים יותר (שנוצרו לפני 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 – תאריך התרגום

כל הטבלאות של WPML
להלן רשימה מלאה של כל הטבלאות שבהן WPML משתמש:
wp_icl_background_taskwp_icl_content_statuswp_icl_core_statuswp_icl_flagswp_icl_languageswp_icl_languages_translationswp_icl_locale_mapwp_icl_message_statuswp_icl_mo_files_domainswp_icl_nodewp_icl_reminderswp_icl_stringswp_icl_string_batcheswp_icl_string_packageswp_icl_string_positionswp_icl_string_statuswp_icl_string_translationswp_icl_translatewp_icl_translate_jobwp_icl_translationswp_icl_translation_batcheswp_icl_translation_downloadswp_icl_translation_status