WPML

เมื่อเดือนที่แล้วเราได้ประกาศเปิดตัวเบต้าแรกของ WPML 3.4 และ WPML Multilingual & Multicurrency for WooCommerce 3.8 วันนี้ หลังจากผ่านการทดสอบอย่างเข้มข้นเป็นเวลา 4 สัปดาห์ (รวมถึงการแก้ไขและปรับปรุงหลายรายการ) เรายินดีที่จะเผยแพร่เป็นเวอร์ชันที่ใช้งานจริง

ตามที่เราได้เขียนไว้ในโพสต์ประกาศเปิดตัวเบต้า เวอร์ชันเหล่านี้ของ WPML และ WPML Multilingual & Multicurrency for WooCommerce มุ่งเน้นไปที่การปรับปรุงความสามารถในการใช้งานและเวิร์กโฟลว์การแปลให้ดียิ่งขึ้น การอัปเดตนี้ช่วยให้ทำงานกับเว็บไซต์ WooCommerce หลายภาษาได้ง่ายขึ้น โดยเฉพาะเมื่อใช้ส่วนเสริมของ WooCommerce จำนวนมาก อินเทอร์เฟซการแปลที่ได้รับการปรับปรุงให้มีประสิทธิภาพจะนำฟิลด์ต่าง ๆ ที่ส่วนเสริมเพิ่มเข้ามาไปไว้ในตัวแก้ไขการแปลที่ใช้งานสะดวก โดยวางเรียงเคียงข้างกัน

ดาวน์โหลด


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

สิ่งที่จะตามมา (เร็ว ๆ นี้)

ลดภาระการโหลดลง 50%


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

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

เรากำลังจะผลักดันการปรับปรุงประสิทธิภาพในสองขั้นตอน

WPML 3.4.1 และ WPML Multilingual & Multicurrency for WooCommerce 3.8.1 (ในอีกประมาณ 2-3 สัปดาห์) จะรวมถึงการลดเวลาในการประมวลผลลงประมาณ 25% และลดคิวรีไปยังหน้าแสดงรายการเหล่านี้ลง 50%

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

กำหนดการสำหรับ WPML 3.5 ยังคงยืดหยุ่นได้ เราจะรอดูว่าเราสามารถออกเบต้าแรกและประกาศเปิดตัวได้เร็วแค่ไหน

ตัวสลับภาษาที่ปรับปรุงใหม่


ตัวสลับภาษาใน WPML 3.5 ได้รับการออกแบบใหม่ทั้งหมด ซึ่งมีความเข้ากันได้แบบย้อนหลัง 100% ดังนั้นเว็บไซต์ที่มีอยู่ทั้งหมดจะทำงานได้เหมือนเดิมโดยไม่มีการเปลี่ยนแปลง อย่างไรก็ตาม มันจะนำเสนอความเป็นไปได้ใหม่ ๆ สำหรับตัวสลับภาษา ซึ่งเราหวังว่าจะช่วยให้การทำงานของคุณง่ายขึ้น

ขอยกตัวอย่างบางส่วน:


  • ความสามารถในการแสดงตัวสลับภาษาที่แตกต่างกันในเมนูและวิดเจ็ตต่าง ๆ โดยไม่จำกัดเพียงแค่อันเดียว

  • โหมดความเข้ากันได้กับเฟรมเวิร์ก CSS ต่าง ๆ รวมถึง Bootstrap และธีมเริ่มต้นของ WordPress ในปัจจุบัน

  • การปรับแต่งสีและการออกแบบสำหรับตัวสลับภาษาแต่ละตัว

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

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

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

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

มีคำติชมหรือไม่


โปรดแจ้งให้เราทราบว่าคุณใช้งาน WPML 3.4 และ WPML Multilingual & Multicurrency for WooCommerce 3.8 เป็นอย่างไรบ้าง เรายินดีรับฟังคำติชมของคุณเกี่ยวกับการเปลี่ยนแปลงในเวอร์ชันที่เผยแพร่นี้ รวมถึงแผนสำหรับรอบถัดไป

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