ข้อมูลเบื้องต้นเกี่ยวกับตัวกรอง Gettext

เผยแพร่แล้ว: 2023-02-12

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

โชคดีที่มีคุณสมบัติบางอย่างของ WordPress core ที่สามารถช่วยคุณปรับองค์ประกอบบางอย่างของไซต์ของคุณได้ สิ่งนี้ทำให้คุณสามารถปรับแต่งข้อความของปุ่มหรือฉลาก แทนที่จะละทิ้งปลั๊กอินที่มีประโยชน์อย่างอื่น หรือแม้กระทั่งเตรียมไซต์ของคุณสำหรับการแปล

ในบทความนี้ เราจะให้ความเข้าใจที่ดีขึ้นเกี่ยวกับตัวกรอง gettext รวมถึงวิธีการทำงานกับกระบวนการแปลของไซต์ของคุณ มีหลายสิ่งหลายอย่างที่จะครอบคลุม ดังนั้นมาดำน้ำกันเลย!

สารบัญ
1. Gettext คืออะไร
2. Gettext และ PHP สำหรับการแปล
2.1. ขั้นตอนที่ 1: แยกสตริงข้อความเป็นไฟล์ POT
2.2. ขั้นตอนที่ 2: สร้างไฟล์ Portable Object (PO)
2.3. ขั้นตอนที่ 3: แปลงเป็นไฟล์ Machine Object (MO)
3. ตัวกรอง Gettext ของ WordPress มีประโยชน์เมื่อใด
4. กระจายข้อความของคุณด้วย WP Engine

Gettext คืออะไร

ตัวกรอง gettext ช่วยให้คุณสามารถแก้ไของค์ประกอบข้อความบนไซต์ WordPress ของคุณได้ เข้าใจได้ดีที่สุดผ่านตัวอย่าง

สมมติว่าแบบฟอร์มความคิดเห็นของคุณมีสองฟิลด์: "ชื่อ" และ "อีเมล" หากคุณต้องการให้พวกเขาอ่านว่า “First Name” และ “Email Address” คุณสามารถใช้ตัวกรอง gettext เพื่อแก้ไขได้ แทนที่จะต้องแทนที่ทุกอินสแตนซ์ของแต่ละคำในไฟล์ธีมของคุณด้วยตนเอง

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

คำศัพท์สองสามข้อที่ต้องทำความเข้าใจก่อนดำเนินการต่อ ได้แก่:

  • ความเป็นสากล (i18n) ซึ่งหมายความว่าโค้ด WordPress ของคุณได้รับการจัดเตรียมสำหรับการแปลเป็นภาษาอื่นๆ
  • รองรับหลายภาษา (l10n) กระบวนการที่คุณสามารถเขียนโปรแกรม i18n และแปลการติดตั้ง WordPress เป็นภาษาท้องถิ่นเพื่อใช้ในภาษาแม่ได้
  • GNU gettext ห้องสมุด GNU เป็นระบบปฏิบัติการโอเพ่นซอร์สฟรี ไลบรารี่ของ gettext ช่วยให้คุณสามารถตัดข้อความเป็นสตริงของโค้ด ซึ่งสามารถแยกออกมาเพื่อแปลได้
  • ไฟล์ POT: เพื่อดำเนินการแยกสตริงที่แปลได้ซึ่งสร้างด้วยฟังก์ชัน gettext ไฟล์ Portable Object Template (POT) จะถูกสร้างขึ้น
  • ไฟล์ PO: เครื่องมือเช่น Poedit ใช้ไฟล์ POT เพื่อสร้างไฟล์ Portable Object (PO) ที่รวมการแปลที่เสร็จสมบูรณ์และสตริงที่แปลได้
  • ไฟล์ MO: ไฟล์ Machine Object (MO) ถูกสร้างขึ้นจากไฟล์ PO มันอยู่ในไดเร็กทอรีปลั๊กอินหรือธีมของคุณและจัดส่งโดยเซิร์ฟเวอร์ของคุณหากมีการร้องขอเวอร์ชันแปลของเว็บไซต์ของคุณ

องค์ประกอบเหล่านี้มีบทบาทในการเตรียมผลิตภัณฑ์ WordPress สำหรับการแปล ดังที่คุณจะเห็นในขั้นตอนด้านล่าง

Gettext และ PHP สำหรับการแปล

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

ขั้นตอนที่ 1: แยกสตริงข้อความเป็นไฟล์ POT

สิ่งแรกที่คุณจะต้องทำคือตรวจสอบว่าธีมหรือปลั๊กอินของคุณมีไฟล์ POT อยู่แล้วหรือไม่ ถ้าไม่ คุณจะต้องสร้างโดยอัตโนมัติ สร้างด้วยตนเองด้วย Terminal หรือใช้แอปพลิเคชันที่แนะนำโดย WordPress ที่เรากล่าวถึงก่อนหน้านี้เรียกว่า Poedit:

รุ่น Pro มีฟีเจอร์ WordPress ที่รวดเร็วสำหรับสร้างไฟล์ที่คุณต้องการ อย่างไรก็ตาม คุณยังสามารถสร้างไฟล์ POT ได้ด้วยการคลิกเพิ่มเติมเพียงไม่กี่ครั้งโดยใช้แอปฟรี

ในการเริ่มต้น คุณจะต้องดาวน์โหลดและติดตั้ง Poedit ซึ่งจะทำงานบนเดสก์ท็อปของคุณ เมื่อเสร็จแล้ว ให้ไปที่ File > New คุณจะได้รับแจ้งให้เลือกภาษาสำหรับการแปลของคุณ:

จากนั้น คุณจะต้องบันทึกโครงการใหม่ของคุณก่อนที่จะดำเนินการต่อ ถัดไป คุณจะมีตัวเลือกในการอัปเดตไฟล์ POT ที่มีอยู่หรือ แยกจากแหล่งที่มา :

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

เมื่อคุณคลิก Extract from source คุณจะมีการตั้งค่าสามแท็บเพื่อกำหนดค่า:

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

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

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

ขั้นตอนที่ 2: สร้างไฟล์ Portable Object (PO)

ถัดไป คุณจะต้องแปลงไฟล์ POT เป็นไฟล์ PO สำหรับแต่ละภาษาที่คุณต้องการเพิ่ม หากคุณไม่ได้แปลธีมหรือปลั๊กอินของคุณ และวางแผนที่จะใช้ตัวกรอง gettext สำหรับการแทนที่ภาษาอังกฤษเป็นภาษาอังกฤษเท่านั้น ให้ตั้งค่าทั้งสองภาษา (ต้นฉบับและการแปล) เป็นภาษาอังกฤษ

หากคุณไปที่ Catalog > Update from POT File ใน Poedit คุณสามารถเลือกไฟล์ที่ต้องการแปลได้:

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

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

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

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

ขั้นตอนที่ 3: แปลงเป็นไฟล์ Machine Object (MO)

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

ไฟล์ MO อาจถูกสร้างขึ้นแล้วในโฟลเดอร์ ภาษา ของธีมของคุณ ขึ้นอยู่กับวิธีที่คุณดำเนินการผ่านเวิร์กโฟลว์ Poedit หากไม่มี ให้ไปที่ File > Compile to MO :

ตอนนี้คุณควรมีองค์ประกอบที่คุณต้องการเพื่อใช้งานคุณลักษณะต่างๆ ที่เป็นไปได้โดยตัวกรอง gettext ใน WordPress

ตัวกรอง Gettext ของ WordPress มีประโยชน์เมื่อใด

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

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

  • การปรับแต่งฉลาก
  • การเปลี่ยนแปลงข้อความของปุ่ม
  • การเปลี่ยนแปลงหัวเรื่อง

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

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

กระจายข้อความของคุณด้วย WP Engine

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

ตรวจสอบแผนการโฮสต์ WordPress เฉพาะที่มีการจัดการของเราสำหรับโครงการต่อไปของคุณ เรามีการบำรุงรักษาเซิร์ฟเวอร์ของคุณเพื่อให้คุณสามารถสร้างสรรค์สิ่งใหม่ๆ ได้อย่างง่ายดาย!