วันนี้เราได้เผยแพร่เวอร์ชันเบต้าสาธารณะรุ่นแรกของการแปลสตริงแบบใหม่ทั้งหมด ซึ่งหลีกเลี่ยงการเรียกใช้ฐานข้อมูลทั้งหมดเพื่อแปลสตริงบนส่วนหน้าเว็บไซต์และหน้าจัดการเว็บไซต์ WordPress
วิธีการทำงานของการแปลสตริงใน WPML มีการเปลี่ยนแปลงไปในช่วงหลายปีที่ผ่านมา เป้าหมายของเราคือการให้คุณสามารถแปลข้อความทุกส่วนบนเว็บไซต์ของคุณได้เสมอ และใช้ทรัพยากรเซิร์ฟเวอร์ให้น้อยที่สุดเท่าที่จะเป็นไปได้
ในช่วงไม่กี่ปีที่ผ่านมา ปลั๊กอินและธีมมีขนาดใหญ่ขึ้น โดยใช้สตริงที่แปลได้มากขึ้น หน้าจัดการเว็บไซต์ทั่วไปที่เปิดปลั๊กอินสร้างหน้าเว็บ WooCommerce และปลั๊กอินขนาดใหญ่อื่น ๆ อาจโหลดสตริงมากกว่า 30K รายการจากฐานข้อมูล การเติบโตของจำนวนสตริงที่แปลได้นี้ทำให้เว็บไซต์ที่ใช้การแปลสตริงทำงานช้าลง WPML ช่วยให้คุณแปลทุกอย่างบนหน้าเว็บได้ และเมื่อมีการกรองสตริงจำนวนมากเหล่านี้ CPU และฐานข้อมูลก็จะทำงานหนักขึ้น
วันนี้ เราพร้อมแล้วกับเวอร์ชันใหม่ที่เปลี่ยนวิธีการทำงานของการแปลสตริงไปอย่างสิ้นเชิง เวอร์ชันที่เผยแพร่ใหม่นี้มีการเปลี่ยนแปลงที่สำคัญสองประการ:
- ยุ่งเกี่ยวกับสตริงที่คุณต้องการแปลเท่านั้น
- อาศัยไฟล์ .mo เพื่อใช้การแปล
การเปลี่ยนแปลงแรกหมายความว่าตารางการแปลสตริงจะไม่รวมข้อความทั้งหมดจากปลั๊กอินทั้งหมดและธีมตามค่าเริ่มต้น สำหรับเว็บไซต์ส่วนใหญ่ ธีมและปลั๊กอินจะมาพร้อมกับไฟล์ .mo ของตัวเองที่มีคำแปลที่ดีและสมบูรณ์ WPML จึงไม่จำเป็นต้องกรอง (และทำให้แปลได้) สตริงทั้งหมดเหล่านี้ หากคุณต้องการแทนที่การแปลข้อความจากปลั๊กอิน คุณยังคงสามารถทำได้ คุณจะสามารถเลือกปลั๊กอินที่คุณต้องการได้ และ WPML จะลงทะเบียนสตริงที่มาจากปลั๊กอินนั้น
การเปลี่ยนแปลงใหญ่ประการที่สองหมายความว่า WPML จะไม่เรียกใช้ฐานข้อมูลสำหรับการแปลสตริงใด ๆ WPML จะคอมไพล์ไฟล์ .mo สำหรับคำแปลของคุณและให้ WordPress โหลดไฟล์เหล่านั้น ขนาดของไฟล์ .mo เหล่านี้ขึ้นอยู่กับจำนวนสตริงที่คุณแปล บนเซิร์ฟเวอร์ส่วนใหญ่ การโหลดไฟล์จะเร็วกว่าการโหลดหลายรายการจากฐานข้อมูลอย่างมาก (ฐานข้อมูลเป็นคอขวดด้านประสิทธิภาพสำหรับหลายเว็บไซต์)
การสร้างไฟล์ .mo
WPML การแปลสตริงจัดการการสร้างและการบำรุงรักษาไฟล์ .mo โดยอัตโนมัติ สิ่งนี้จะเกิดขึ้นทุกครั้งที่คุณแปลสตริงในหน้า WPML -> การแปลสตริง
อย่างไรก็ตาม หลังจากอัปเกรดเป็นเวอร์ชันเบต้านี้ คุณจะต้องสร้างไฟล์เป็นครั้งแรก
หากเว็บไซต์ของคุณมีสตริงที่แปลแล้วก่อนการอัปเกรด คุณจะเห็นกล่องโต้ตอบต่อไปนี้ในหน้าจัดการเว็บไซต์ใด ๆ หลังจากอัปเดตการแปลสตริง:
คุณสามารถสร้างไฟล์ .mo ใหม่ได้หากมีข้อผิดพลาดเกิดขึ้นขณะทดสอบเวอร์ชันเบต้า
ในการดำเนินการดังกล่าว:
- ไปที่ WPML -> ฝ่ายสนับสนุน
- คลิกลิงก์ การแก้ปัญหา
- เลื่อนไปที่ด้านล่างของหน้า และคลิก Show custom MO Files Pre-generation dialog box
- โหลดหน้าเว็บซ้ำ (ขั้นตอนนี้จะไม่จำเป็นในเวอร์ชันที่เผยแพร่จริง)
- กล่องโต้ตอบที่ให้คุณสร้างไฟล์ .mo ใหม่จะปรากฏขึ้น
ผลลัพธ์
เวอร์ชันนี้ทำงานอยู่บนเว็บไซต์ที่ใช้งานจริงทั้งหมดของเราแล้ว (WPML.org, Toolset.com และ ICanLocalize.com) ซึ่งทำงานได้อย่างราบรื่นและเซิร์ฟเวอร์ก็ทำงานได้ดี การแปลสตริงไม่เคยเป็นปัจจัยสำคัญในด้านประสิทธิภาพของเว็บไซต์เรา ดังนั้นเราจึงใช้เว็บไซต์อื่นในการวิเคราะห์ประสิทธิภาพ
เราได้รับเว็บไซต์หลายสิบแห่งจากลูกค้า ซึ่งการแปลสตริงมีผลกระทบมากกว่าอย่างเห็นได้ชัด ในเว็บไซต์ทั้งหมดนี้ เราขอยืนยันว่าภาระของเซิร์ฟเวอร์ที่เกิดจากการแปลสตริงลดลงจนแทบจะเป็นศูนย์ ตอนนี้เว็บไซต์เหล่านี้ใช้เวลาโหลดประมาณครึ่งหนึ่งของเวลาที่เคยใช้ก่อนหน้านี้ (ไชโย!)
สถานะการพัฒนาปัจจุบัน
เวอร์ชันเบต้านี้พร้อมให้คุณทดสอบแล้ว ข้อควรระวังเพียงอย่างเดียวคือ ยังไม่สามารถทำงานบนการติดตั้งมัลติไซต์ได้ หากคุณมีการติดตั้ง WordPress แบบไซต์เดียว (ปกติ) และสงสัยว่าคุณมีปัญหาด้านประสิทธิภาพเนื่องจากการแปลสตริง ลองใช้เวอร์ชันเบต้านี้ เราจะปล่อยให้เวอร์ชันเบต้านี้ทำงานเป็นเวลาหลายสัปดาห์และรวบรวมคำติชมจากลูกค้าในระหว่างนี้ เราจะดำเนินการสนับสนุนสำหรับมัลติไซต์ให้เสร็จสมบูรณ์ในขณะที่รวบรวมข้อมูลเว็บไซต์ของลูกค้าเพิ่มเติม
หากคุณเปลี่ยนมาใช้เวอร์ชันเบต้านี้และยังคงพบปัญหาด้านประสิทธิภาพที่สำคัญเกี่ยวกับ WPML เราต้องการตรวจสอบเว็บไซต์ของคุณ เราอาจพบปัญหาด้านประสิทธิภาพส่วนอื่น ๆ ที่เราต้องจัดการ เราต้องการให้แน่ใจว่าเมื่อเวอร์ชันนี้พร้อมใช้งานจริง จะไม่มีใครพบปัญหาด้านประสิทธิภาพที่เกี่ยวข้องกับ WPML เป้าหมายของเราคือการเผยแพร่ WPML 4.3 สำหรับการใช้งานจริงในช่วงครึ่งแรกของเดือนกันยายน
ดาวน์โหลดและทดลองใช้
โปรดจำไว้ว่า เวอร์ชันนี้ยังไม่สามารถทำงานบนการติดตั้งมัลติไซต์ได้!คุณสามารถใช้เวอร์ชันนี้บนไซต์สำหรับการพัฒนาและบนเว็บไซต์ที่ใช้งานจริงได้ แต่ต้องใช้ด้วยความระมัดระวัง
การอัปเดตอัตโนมัติ
หากต้องการรับเวอร์ชันเบต้านี้ ให้ไปที่ ปลั๊กอิน -> เพิ่มใหม่ และคลิกแท็บ Commercial:

จากหน้านี้ ให้เปิดใช้งานช่องทาง เบต้า และอัปเดตปลั๊กอินโดยอัตโนมัติ
ไปที่หน้าของเราเกี่ยวกับการติดตั้งเวอร์ชันเบต้าของ WPML สำหรับรายละเอียดเพิ่มเติม
หากต้องการรับการอัปเดตอัตโนมัติหรือสลับไปยังช่องทางเบต้า คุณต้องลงทะเบียนเว็บไซต์ของคุณ
การอัปเดตด้วยตนเอง
คุณยังสามารถอัปเดตด้วยตนเองได้เช่นกัน
ในการดำเนินการดังกล่าว ให้ทำตามคำแนะนำในการอัปเดต WPML ด้วยตนเอง (แม้ว่าจะอ้างอิงถึง WPML เวอร์ชันเก่า แต่กระบวนการก็เหมือนกันทุกประการ)
ข้อเสนอแนะ?
หลังจากที่คุณลองใช้ WPML เวอร์ชันเบต้านี้ เรายินดีรับฟังข้อเสนอแนะของคุณ โปรดแบ่งปันข้อมูลทั้งหมดที่คุณสามารถให้เราได้ เราต้องการทราบว่าเวอร์ชันเบต้านี้ช่วยแก้ไขปัญหาด้านประสิทธิภาพเมื่อใด และมีปัญหาด้านประสิทธิภาพใดที่ยังคงเหลืออยู่ซึ่งเราต้องจัดการ
แสดงความคิดเห็นของคุณไว้แล้วเราจะติดต่อกลับไป
อัปเดต – 2019-08-16
เราได้เผยแพร่เวอร์ชันเบต้าใหม่ซึ่งแก้ไขปัญหาต่อไปนี้:
- ความไม่เข้ากันกับ WPML Multilingual & Multicurrency for WooCommerce: คุณสามารถติดตั้งเวอร์ชันที่เผยแพร่ปัจจุบันหรือเวอร์ชันเบต้าของ WPML Multilingual & Multicurrency for WooCommerce ที่รวมอยู่ในเวอร์ชันที่เผยแพร่นี้ได้
- ประสิทธิภาพต่ำเมื่อบันทึกโพสต์ที่มีฟิลด์ที่กำหนดเองจำนวนมาก
ปัญหาที่ทราบแล้วจนถึงขณะนี้
เรายังคงดำเนินการปรับปรุงในบางส่วน ณ วันนี้ นี่คือรายการปัญหาที่ทราบแล้ว:
- ยังไม่รองรับมัลติไซต์
- การลบสตริงจากการแปลสตริงจะไม่อัปเดตไฟล์ .mo ที่สร้างขึ้น
- การลบสตริงทั้งหมดของโดเมนจะไม่ลบไฟล์ .mo ที่สร้างขึ้น
- หลังจากลบสตริงทั้งหมดของโดเมนแล้ว การสร้างไฟล์ .mo ใหม่ (ดู "การสร้างไฟล์ .mo" ด้านบนเพื่อดูวิธีสร้างไฟล์ใหม่) จะไม่ลบไฟล์ .mo ที่เกี่ยวข้อง
- ข้อความผู้ดูแลระบบที่แปลแล้วจะส่งคืนค่าดั้งเดิมในฟังก์ชัน icl_translate (ส่งผลต่อ WPML Multilingual & Multicurrency for WooCommerce: "Custom subject of new order emails isn’t translated")

