WPML

วันนี้เราได้เผยแพร่เวอร์ชันเบต้าสาธารณะรุ่นแรกของการแปลสตริงแบบใหม่ทั้งหมด ซึ่งหลีกเลี่ยงการเรียกใช้ฐานข้อมูลทั้งหมดเพื่อแปลสตริงบนส่วนหน้าเว็บไซต์และหน้าจัดการเว็บไซต์ WordPress

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

ในช่วงไม่กี่ปีที่ผ่านมา ปลั๊กอินและธีมมีขนาดใหญ่ขึ้น โดยใช้สตริงที่แปลได้มากขึ้น หน้าจัดการเว็บไซต์ทั่วไปที่เปิดปลั๊กอินสร้างหน้าเว็บ WooCommerce และปลั๊กอินขนาดใหญ่อื่น ๆ อาจโหลดสตริงมากกว่า 30K รายการจากฐานข้อมูล การเติบโตของจำนวนสตริงที่แปลได้นี้ทำให้เว็บไซต์ที่ใช้การแปลสตริงทำงานช้าลง WPML ช่วยให้คุณแปลทุกอย่างบนหน้าเว็บได้ และเมื่อมีการกรองสตริงจำนวนมากเหล่านี้ CPU และฐานข้อมูลก็จะทำงานหนักขึ้น

วันนี้ เราพร้อมแล้วกับเวอร์ชันใหม่ที่เปลี่ยนวิธีการทำงานของการแปลสตริงไปอย่างสิ้นเชิง เวอร์ชันที่เผยแพร่ใหม่นี้มีการเปลี่ยนแปลงที่สำคัญสองประการ:


  • ยุ่งเกี่ยวกับสตริงที่คุณต้องการแปลเท่านั้น

  • อาศัยไฟล์ .mo เพื่อใช้การแปล

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

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

การสร้างไฟล์ .mo


WPML การแปลสตริงจัดการการสร้างและการบำรุงรักษาไฟล์ .mo โดยอัตโนมัติ สิ่งนี้จะเกิดขึ้นทุกครั้งที่คุณแปลสตริงในหน้า WPML -> การแปลสตริง

อย่างไรก็ตาม หลังจากอัปเกรดเป็นเวอร์ชันเบต้านี้ คุณจะต้องสร้างไฟล์เป็นครั้งแรก

หากเว็บไซต์ของคุณมีสตริงที่แปลแล้วก่อนการอัปเกรด คุณจะเห็นกล่องโต้ตอบต่อไปนี้ในหน้าจัดการเว็บไซต์ใด ๆ หลังจากอัปเดตการแปลสตริง:


กล่องโต้ตอบการสร้างไฟล์ .mo

คุณสามารถสร้างไฟล์ .mo ใหม่ได้หากมีข้อผิดพลาดเกิดขึ้นขณะทดสอบเวอร์ชันเบต้า

ในการดำเนินการดังกล่าว:


  1. ไปที่ WPML -> ฝ่ายสนับสนุน

  2. คลิกลิงก์ การแก้ปัญหา

  3. เลื่อนไปที่ด้านล่างของหน้า และคลิก Show custom MO Files Pre-generation dialog box

  4. โหลดหน้าเว็บซ้ำ (ขั้นตอนนี้จะไม่จำเป็นในเวอร์ชันที่เผยแพร่จริง)

  5. กล่องโต้ตอบที่ให้คุณสร้างไฟล์ .mo ใหม่จะปรากฏขึ้น

ผลลัพธ์


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

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

สถานะการพัฒนาปัจจุบัน


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

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

ดาวน์โหลดและทดลองใช้

โปรดจำไว้ว่า เวอร์ชันนี้ยังไม่สามารถทำงานบนการติดตั้งมัลติไซต์ได้!

คุณสามารถใช้เวอร์ชันนี้บนไซต์สำหรับการพัฒนาและบนเว็บไซต์ที่ใช้งานจริงได้ แต่ต้องใช้ด้วยความระมัดระวัง

การอัปเดตอัตโนมัติ


หากต้องการรับเวอร์ชันเบต้านี้ ให้ไปที่ ปลั๊กอิน -> เพิ่มใหม่ และคลิกแท็บ Commercial:
แท็บ Commercial

จากหน้านี้ ให้เปิดใช้งานช่องทาง เบต้า และอัปเดตปลั๊กอินโดยอัตโนมัติ

ไปที่หน้าของเราเกี่ยวกับการติดตั้งเวอร์ชันเบต้าของ WPML สำหรับรายละเอียดเพิ่มเติม

หากต้องการรับการอัปเดตอัตโนมัติหรือสลับไปยังช่องทางเบต้า คุณต้องลงทะเบียนเว็บไซต์ของคุณ

การอัปเดตด้วยตนเอง


คุณยังสามารถอัปเดตด้วยตนเองได้เช่นกัน

ในการดำเนินการดังกล่าว ให้ทำตามคำแนะนำในการอัปเดต WPML ด้วยตนเอง (แม้ว่าจะอ้างอิงถึง WPML เวอร์ชันเก่า แต่กระบวนการก็เหมือนกันทุกประการ)

ข้อเสนอแนะ?


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

แสดงความคิดเห็นของคุณไว้แล้วเราจะติดต่อกลับไป

อัปเดต – 2019-08-16


เราได้เผยแพร่เวอร์ชันเบต้าใหม่ซึ่งแก้ไขปัญหาต่อไปนี้:

  1. ความไม่เข้ากันกับ WPML Multilingual & Multicurrency for WooCommerce: คุณสามารถติดตั้งเวอร์ชันที่เผยแพร่ปัจจุบันหรือเวอร์ชันเบต้าของ WPML Multilingual & Multicurrency for WooCommerce ที่รวมอยู่ในเวอร์ชันที่เผยแพร่นี้ได้

  2. ประสิทธิภาพต่ำเมื่อบันทึกโพสต์ที่มีฟิลด์ที่กำหนดเองจำนวนมาก

ปัญหาที่ทราบแล้วจนถึงขณะนี้


เรายังคงดำเนินการปรับปรุงในบางส่วน ณ วันนี้ นี่คือรายการปัญหาที่ทราบแล้ว:

  1. ยังไม่รองรับมัลติไซต์

  2. การลบสตริงจากการแปลสตริงจะไม่อัปเดตไฟล์ .mo ที่สร้างขึ้น

  3. การลบสตริงทั้งหมดของโดเมนจะไม่ลบไฟล์ .mo ที่สร้างขึ้น

  4. หลังจากลบสตริงทั้งหมดของโดเมนแล้ว การสร้างไฟล์ .mo ใหม่ (ดู "การสร้างไฟล์ .mo" ด้านบนเพื่อดูวิธีสร้างไฟล์ใหม่) จะไม่ลบไฟล์ .mo ที่เกี่ยวข้อง

  5. ข้อความผู้ดูแลระบบที่แปลแล้วจะส่งคืนค่าดั้งเดิมในฟังก์ชัน icl_translate (ส่งผลต่อ WPML Multilingual & Multicurrency for WooCommerce: "Custom subject of new order emails isn’t translated")

พบว่าสิ่งนี้มีประโยชน์หรือไม่? แชร์บทความนี้: