WPML
สถานะ
แก้ไขแล้ว

ภาพรวมของปัญหา

เมื่อคุณเปลี่ยนโลแคลของภาษา ตัวอย่างเช่น สำหรับภาษาเยอรมันจาก de_DE เป็น de_DE_formal คุณอาจสังเกตเห็นว่าการแปลสตริงหยุดแสดงผล

ปัญหานี้เกิดขึ้นเนื่องจาก WPML ไม่สามารถค้นหาไฟล์ MO ที่มีโลแคลของภาษาตรงกันได้อีกต่อไป ในตัวอย่างของเรา ระบบจะค้นหา some-domain-de_DE_formal.mo แต่ไม่มีไฟล์ดังกล่าวอยู่ ในทางกลับกัน WPML มีเพียงข้อมูลของ some-domain-de_DE.mo เท่านั้น

วิธีแก้ปัญหาชั่วคราว

เพื่อแก้ปัญหานี้ คุณต้องทำสองสิ่งดังนี้:

1. หากคุณมีสตริงที่แปลผ่านหน้า WPML -> การแปลสตริง ให้ไปที่หน้า WPML -> ฝ่ายสนับสนุน -> การแก้ปัญหา และคลิกปุ่ม Show custom MO Files Pre-generation dialog box ในกล่องโต้ตอบที่ปรากฏขึ้น ให้คลิกปุ่มสีน้ำเงินเพื่อสร้างไฟล์ MO แบบกำหนดเองใหม่

2. เป็นไปได้มากว่าขั้นตอนแรกจะไม่สามารถซ่อมแซมสตริงที่หายไปได้ทั้งหมด ทั้งนี้เนื่องจากค่าบางค่าอาจมาจากไฟล์ MO ดั้งเดิมที่หายไป ซึ่งมาจากปลั๊กอินหรือธีมอื่น ๆ เพื่อแก้ปัญหานี้ คุณต้องค้นหาไฟล์ MO ที่หายไปและสร้างสำเนาโดยใช้ชื่อใหม่ที่มีรหัสภาษาใหม่

ในตัวอย่างของเรา หากปกติแล้วระบบโหลดสตริงจากไฟล์ woocommerce-de_DE.mo เราต้องค้นหาไฟล์นั้นและสร้างสำเนาโดยใช้ชื่อที่ตรงกับโลแคลปัจจุบันคือ woocommerce-de_DE_formal.mo คุณต้องคัดลอกไฟล์ที่หายไปทั้งหมดที่ไซต์ของคุณใช้งาน

ตำแหน่งทั่วไปที่คุณสามารถค้นหาไฟล์ MO เหล่านี้ได้คือ:


  • ../wp-content/languages/

  • ../wp-content/plugins/plugin-in-question/

  • ../wp-content/plugins/plugin-in-question/languages/

สุดท้าย คุณยังสามารถค้นหาเส้นทางเฉพาะได้ในตาราง wp_icl_mo_files_domains ในฐานข้อมูลของคุณ

ปัญหาที่ทราบแล้วทั้งหมด →