WPML

หน้านี้มีไว้สำหรับส่วนที่เหลือ ได้แก่ ธีมและปลั๊กอินที่ไม่ค่อยได้รับความนิยม เวอร์ชันที่เพิ่งเผยแพร่ใหม่ซึ่งผู้พัฒนาปล่อยออกมาก่อนที่ความเข้ากันได้ของ WPML จะตามทัน และตัวช่วยทั่วไปจำนวนหนึ่งสำหรับเว็บไซต์ที่พบอาการเฉพาะเจาะจง ลูกค้าของเอเจนซี่ส่วนใหญ่ไม่เคยเข้ามาที่หน้านี้ เมื่อคุณเข้ามาที่นี่ มักจะเป็นเพราะฝ่ายสนับสนุนของ WPML ได้แนะนำให้คุณเปิดใช้งานตัวเลือกเฉพาะเจาะจงหรือวาง wpml-config.xml

หน้าเพจย่อยของการตั้งค่าสองหน้าครอบคลุมเรื่องความเข้ากันได้ และหน้านี้จะอธิบายทั้งสองหน้า:

  • WPMLการตั้งค่าความเข้ากันได้ มีตัวเลือกสำหรับอาการทั่วไป
  • WPMLการตั้งค่าการกำหนดค่า XML ที่กำหนดเอง คือที่ที่คุณเขียน wpml-config.xml ของคุณเอง ซึ่งอธิบายไว้ในครึ่งหลังของหน้านี้

อินเทอร์เฟซผู้ใช้สำหรับค่าเริ่มต้นที่พบบ่อยที่สุด (การตั้งค่าการแปลตามประเภทโพสต์ ตามอนุกรมวิธาน ตามฟิลด์) จะอยู่ในหน้าการตั้งค่าแยกต่างหากซึ่งครอบคลุมอยู่ใน สิ่งที่จะได้รับการแปลและสิ่งที่ไม่ได้รับการแปล โดยผู้ใช้ส่วนใหญ่จะใช้อินเทอร์เฟซนั้นและเข้ามาที่นี่ก็ต่อเมื่ออินเทอร์เฟซดังกล่าวไม่ตอบโจทย์ความต้องการ

ตัวเลือกความเข้ากันได้

เปิด WPMLการตั้งค่าความเข้ากันได้

หน้านี้มีการ์ด 4 ใบ โดยการ์ดแต่ละใบจะกำหนดเป้าหมายไปที่ปัญหาความเข้ากันได้ประเภทเฉพาะเจาะจง

ตัวเลือกการแปลภาษา – สำหรับธีมและปลั๊กอินที่โหลดคำแปลไม่ได้

เมื่อธีมหรือปลั๊กอินมีคำแปล UI ของตัวเองอยู่แล้ว (ไฟล์ .mo ในโฟลเดอร์ /languages/) แต่คำแปลเหล่านั้นไม่แสดงบนเว็บไซต์ของคุณ การ์ด ตัวเลือกการแปลภาษา จะมีตัวเลือก 3 รายการที่ช่วยให้ WPML ค้นหาและนำคำแปลเหล่านั้นไปใช้

  • โหลดไฟล์ .mo ของธีมโดยอัตโนมัติโดยใช้ load_textdomain บังคับให้ WPML เรียกใช้ load_textdomain() สำหรับ text domain ของธีม ใช้เมื่อคำแปลของธีมอยู่ในดิสก์แต่ไม่ปรากฏขึ้น
  • ป้อน textdomain เขียนทับ text domain ที่ตรวจพบอัตโนมัติ ธีมบางตัวลงทะเบียน text domain ด้วยวิธีที่ไม่ได้มาตรฐาน ฟิลด์นี้จะช่วยให้คุณระบุได้อย่างชัดเจน
  • ใช้ text domain ของธีมหรือปลั๊กอินเมื่อการเรียก gettext ไม่ได้ใช้ string literal แฟล็กความเข้ากันได้สำหรับธีม/ปลั๊กอินที่ใช้การเรียก __() พร้อมอาร์กิวเมนต์ตัวแปรแทนสตริงแบบตรงตัว WPML ไม่สามารถตรวจพบสิ่งเหล่านี้ได้โดยอัตโนมัติ และตัวเลือกนี้จะช่วยให้สามารถนำคำแปลไปใช้ได้

หากฝ่ายสนับสนุนของ WPML แนะนำให้คุณมาที่นี่ พวกเขาจะบอกคุณว่าควรตั้งค่าตัวเลือกใดและ textdomain ใด

ทำให้ธีมทำงานแบบหลายภาษาได้

ปรับแต่ง ID สำหรับฟังก์ชันหลายภาษา เลเยอร์ความเข้ากันได้สำหรับธีมที่มีการฮาร์ดโค้ดโดยอิงตามภาษาเดียว (เช่น ธีมที่จัดเก็บ "ID รูปภาพเด่น" ไว้เพียงครั้งเดียวและใช้รูปภาพเดียวกันในทุกภาษา)

ธีมสมัยใหม่ส่วนใหญ่ที่เข้ากันได้กับ WPML ไม่จำเป็นต้องใช้วิธีนี้ แต่ธีมรุ่นเก่าหรือธีมที่รองรับ WPML ได้น้อยกว่าอาจจำเป็นต้องใช้ในบางครั้ง เปิดใช้งานตัวเลือกนี้หากคุณเห็นการอ้างอิงเนื้อหา (รูปภาพ เมนู รายการแนะนำ) รั่วไหลข้ามภาษาอย่างไม่ถูกต้อง

การกรองภาษาสำหรับการดำเนินการ AJAX

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

เปิดใช้งานคุกกี้หากคุณพบอาการนี้: ผู้เยี่ยมชมในหน้าภาษาฝรั่งเศสได้รับผลลัพธ์เป็นภาษาอังกฤษจากส่วนที่โหลดด้วย AJAX นี่คือการแก้ไขปัญหาบั๊กทั้งประเภทได้ด้วยการทำเครื่องหมายในช่องเดียว

หน้าเข้าสู่ระบบและหน้าลงทะเบียน

อนุญาตให้แปลหน้าเข้าสู่ระบบและหน้าลงทะเบียน /wp-login.php ในตัวของ WordPress และหน้าจอการลงทะเบียนไม่ได้เป็นส่วนหนึ่งของเนื้อหาปกติที่ WPML แปล เนื่องจากสิ่งเหล่านี้อยู่นอกเหนือเชนเทมเพลตของธีม ตัวเลือกนี้จะเพิ่มหน้าดังกล่าวลงในชุดหน้าเว็บที่แปลได้ของ WPML

หากเว็บไซต์ของคุณทำงานบน nginx ตัวเลือกนี้จำเป็นต้องมีการปรับแต่งการกำหนดค่าเซิร์ฟเวอร์ด้วย หน้าดังกล่าวจะมีลิงก์ไปยังคู่มือ nginx ของ WPML พร้อมบล็อกการกำหนดค่าที่ถูกต้อง

ข้อความของธีมและปลั๊กอิน – ตั้งค่าที่นี่ สแกนที่อื่น

การทำงานกับสตริงของธีม/ปลั๊กอินสองประเภทจะถูกแยกออกเป็นสองหน้าจอ:

  • การตั้งค่าในหน้านี้ จะจัดการความเข้ากันได้สำหรับคำแปลที่ธีม/ปลั๊กอินมีอยู่แล้ว ได้แก่ load_textdomain การเขียนทับ textdomain และ gettext แบบไม่ตรงตัว
  • เครื่องมือสแกนจะมีหน้าจอของตัวเอง เมื่อคุณต้องการค้นหาสตริงของธีมและปลั๊กอินที่ยังไม่ได้ลงทะเบียนสำหรับการแปล ให้ใช้หน้าจอ การแปลข้อความผู้ดูแลระบบ ซึ่งสามารถเข้าถึงได้จากแท็บ สตริง ใน การแปล ภายใต้ส่วน "ไม่พบสตริงที่คุณกำลังมองหาใช่ไหม"

สำหรับขั้นตอนการสแกนสตริงแบบเต็ม โปรดดู การแปลสตริง

wpml-config.xml ที่กำหนดเอง

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

เมื่อ wpml-config.xml ที่มาพร้อมกับธีมหรือปลั๊กอินไม่เพียงพอสำหรับเว็บไซต์ของคุณ คุณสามารถเขียนขึ้นมาเองได้ WPML จะนำไปใช้ทับซ้อนกับสิ่งที่ธีมหรือปลั๊กอินให้มา

เวลาที่ควรเขียน wpml-config.xml ของคุณเอง

มี 3 สถานการณ์

  • ฟิลด์ที่คุณต้องการแปลไม่ได้อยู่ใน wpml-config.xml ที่ให้มา ผู้พัฒนาธีมหรือปลั๊กอินไม่ได้ประกาศให้ฟิลด์กำหนดเองเป็นฟิลด์ที่แปลได้ แต่คุณต้องการแปลบนเว็บไซต์ของคุณ
  • ฟิลด์มีค่าเริ่มต้นที่ไม่ถูกต้อง wpml-config.xml ที่ให้มาตั้งค่าบางอย่างเป็น คัดลอก แต่คุณต้องการ แปล หรือในทางกลับกัน
  • คุณกำลังสร้างธีมหรือปลั๊กอินที่กำหนดเอง และคุณต้องการประกาศพฤติกรรมการแปลจากหน้าการตั้งค่าของ WPML แทนที่จะรวมไฟล์ wpml-config.xml ไว้กับโค้ดของคุณ

ในทุกกรณี ฝ่ายสนับสนุนของ WPML อาจแนะนำให้คุณมาที่นี่ พร้อมกับไฟล์ wpml-config.xml ที่ถูกต้องเพื่อให้คุณวาง ส่วนใหญ่แล้วจะเป็นการดำเนินการที่มาจากฝ่ายสนับสนุน และบางครั้งก็มาจากการดำเนินการของนักพัฒนา

เหตุใดจึงควรแก้ไข wpml-config.xml ในหน้าจัดการเว็บไซต์ของ WPML แทนที่จะเป็นในไฟล์ธีม

คุณสามารถแก้ไข wpml-config.xml ของธีมหรือปลั๊กอินได้โดยตรง แต่การเปลี่ยนแปลงนั้นจะหายไปในครั้งถัดไปที่มีการอัปเดตธีมหรือปลั๊กอิน ตัวแก้ไขในหน้าจัดการเว็บไซต์ของ WPML ที่ WPMLการตั้งค่าการกำหนดค่า XML ที่กำหนดเอง จะวางเลเยอร์ wpml-config.xml ของคุณทับซ้อนกับสิ่งที่ธีมหรือปลั๊กอินให้มา และยังคงอยู่หลังจากการอัปเดต ซึ่งเป็นตำแหน่งที่เหมาะสมสำหรับการปรับแต่งเฉพาะเว็บไซต์

รูปแบบของ wpml-config.xml

หน้านี้คือตัวแก้ไข XML เพียงวางบล็อก <wpml-config>...</wpml-config> บันทึก แล้ว WPML จะนำ wpml-config.xml ของคุณไปใช้

ตัวอย่าง wpml-config.xml ขั้นต่ำที่ประกาศให้ shortcode สามารถแปลได้:

<wpml-config>
  <shortcodes>
    <shortcode>
      <tag>add_to_cart_link</tag>
    </shortcode>
  </shortcodes>
</wpml-config>

ประเภทองค์ประกอบที่คุณมักจะประกาศ ได้แก่:

  • <custom-fields> ทำเครื่องหมายฟิลด์กำหนดเองเป็น translate, copy, copy-once หรือ nothing
  • <custom-types> ประกาศให้ประเภทโพสต์แบบกำหนดเองสามารถแปลได้
  • <taxonomies> ประกาศให้อนุกรมวิธานที่กำหนดเองสามารถแปลได้
  • <shortcodes> แสดงรายการ shortcode ที่ WPML ควรแปลเนื้อหา
  • <custom-term-fields> สำหรับข้อมูลเมตาของ term

แต่ละองค์ประกอบจะมีแอตทริบิวต์ของตัวเอง (เช่น action="translate" ในฟิลด์กำหนดเอง) สำหรับข้อมูลอ้างอิง wpml-config.xml ฉบับสมบูรณ์ (ทุกองค์ประกอบ ทุกแอตทริบิวต์ ทุกค่าที่อนุญาต) โปรดดู ข้อมูลสำหรับนักพัฒนา WPML

ขั้นตอนการทำงานในทางปฏิบัติ

หากฝ่ายสนับสนุนของ WPML ให้บล็อก wpml-config.xml เพื่อให้คุณนำไปวาง:

  1. เปิด WPMLการตั้งค่าการกำหนดค่า XML ที่กำหนดเอง
  2. วาง XML ของพวกเขาไว้ในบล็อก <wpml-config> ที่มีอยู่ (หรือแทนที่เนื้อหาหากพวกเขาให้บล็อกมาแบบเต็ม)
  3. บันทึก
  4. WPML จะนำ wpml-config.xml ของคุณไปใช้ทันที หากมีการประกาศประเภทโพสต์หรือฟิลด์ที่แปลได้รายการใหม่ รายการดังกล่าวจะปรากฏใน WPMLการตั้งค่าการแปลประเภทโพสต์ หรือ WPMLการตั้งค่าการแปลฟิลด์ที่กำหนดเอง ทันที

หากคุณกำลังสร้างธีมหรือปลั๊กอินที่กำหนดเองและต้องการส่งมอบการกำหนดค่า WPML ไปพร้อมกับโค้ด คุณจะต้องใส่บล็อก <wpml-config> เดียวกันลงในไฟล์ wpml-config.xml ที่รูทของธีมหรือปลั๊กอินของคุณแทน WPML จะอ่านไฟล์นี้เมื่อมีการเปิดใช้งาน ตัวแก้ไขในหน้าจัดการเว็บไซต์มีไว้สำหรับการปรับแต่งเฉพาะเว็บไซต์ ส่วนไฟล์ที่รวมมาด้วยนั้นมีไว้สำหรับค่าเริ่มต้นของธีม/ปลั๊กอินเอง

เขียนโดยAmir

เขียนโดยAmir