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 – ID ของกลุ่มการแปล
  • language_code – รหัสภาษาของรายการ
  • source_language_code – หากมีการแปล จะเป็นภาษาของรายการต้นฉบับ

ตัวอย่างเช่น หากเรามีโพสต์ภาษาอังกฤษที่มี ID=3 ซึ่งได้รับการแปลเป็นภาษาสเปน และคำแปลภาษาสเปนมี ID=7 ตาราง icl_translations จะมีลักษณะดังนี้:

translation_idelement_typeelement_idtridlanguage_codesource_language_code
1post_post32enNULL
2post_post72esen
* เนื่องจากทั้งสองรายการมีค่า 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 - ID ของแพ็คเกจที่สตริงนั้นสังกัดอยู่
  • type – ประเภทของตัวแก้ไขที่ใช้เมื่อแก้ไขสตริงผ่านตัวแก้ไขการแปล ( LINE, AREA หรือ VISUAL )
  • title – ชื่อของสตริงที่จะแสดงในตัวแก้ไขการแปล
  • status – สถานะการแปลที่ระบุว่าสตริงได้รับการแปลเป็นทุกภาษาอย่างสมบูรณ์หรือไม่
  • gettext_context – บริบทที่ตั้งค่าในฟังก์ชัน gettext เช่น _x
  • domain_name_context_md5 – คีย์เฉพาะเพื่อปรับปรุงประสิทธิภาพการค้นหา

คำแปลของสตริงจะถูกเก็บไว้ในตาราง icl_string_translations:

  • id – หมายเลขลำดับ
  • string_id – ID (หมายเลขลำดับ) ของสตริงที่กำลังแปล
  • language – ภาษาของคำแปล
  • status – สถานะของคำแปล (เสร็จสมบูรณ์ / ไม่เสร็จสมบูรณ์)
  • value – ตัวคำแปลเอง
  • translator_id – ID ของนักแปล
  • translation_service – บริการแปลภาษาที่ใช้ในการแปลสตริง สามารถเว้นว่างไว้ เป็นบริการในพื้นที่ หรือบริการระยะไกล
  • batch_id – 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