วิธีแปลปลั๊กอินและธีม WordPress โดยอัตโนมัติด้วย Google Translate

เผยแพร่แล้ว: 2019-07-31

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

น่าแปลกที่ไซต์ WordPress น้อยกว่าครึ่งมีการตั้งค่าภาษาเป็นภาษาอังกฤษ! หากคุณยังไม่ได้ตั้งค่าการแปล นั่นหมายความว่ามากกว่า 50% ของผู้มีโอกาสเป็นลูกค้าของคุณอาจไม่สามารถใช้งานผลิตภัณฑ์ของคุณในภาษาที่พวกเขาเข้าใจได้ดีที่สุด

WordPress.org Locale Stats

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

ฉันชื่อ Diego Imbriani และฉันเป็นนักพัฒนาปลั๊กอินตั้งแต่ปี 2011 ฉันขายปลั๊กอินผ่านบริษัท GreenTreeLabs ของฉัน และขณะนี้ผลิตภัณฑ์ของฉันมีการใช้งานบนเว็บไซต์ประมาณ 70,000 แห่งทั่วโลก

โชคดีที่ฉันพบวิธีที่จะช่วยบรรเทากระบวนการแปลทั้งหมด และทำให้การแปลปลั๊กอินและธีมง่ายขึ้นมาก

บทนำ

ฉันเพิ่งต้องการเพิ่มการแปลภาษาอิตาลีในปลั๊กอินตัวใดตัวหนึ่งของฉัน: Final Tiles Gallery สำหรับ WordPress ดังนั้นฉันจึงเปิดไฟล์ PO ของปลั๊กอินซึ่งมีสตริงที่แปลได้ทั้งหมด และฉันเริ่มแปลปลั๊กอินทีละบรรทัด

ไฟล์ PO ภาษาอิตาลีของ Final Tiles Gallery

ไฟล์ที่แยกจากไฟล์ PO ภาษาอิตาลีของ Final Tiles Gallery

ไฟล์ PO ของ Final Tiles Gallery มีประมาณ 350 รายการ และการแปลทั้งหมดใช้เวลาประมาณ 2 ชั่วโมง และ – พูดตามตรง – ฉันไม่พบว่างานนี้น่าสนใจมาก ขณะที่ฉันกำลังค้นหาคำแปล ฉันสงสัยว่ามีวิธีแปลไฟล์ PO ของฉันโดยอัตโนมัติหรือไม่...

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

WordPress และภาษา

ฉันต้องยอมรับว่าฉันไม่เคยกังวลมากเกี่ยวกับการแปลปลั๊กอินของฉัน ฉันเป็นคนอิตาลี แต่ฉันมักใช้โปรแกรมและระบบปฏิบัติการเป็นภาษาอังกฤษ รู้สึก "แปลก" ที่จะใช้อินเทอร์เฟซผู้ใช้แบบใดก็ตามที่ไม่ใช่ภาษาอังกฤษ อาจจะเป็นแค่ฉัน

WordPress ถูกใช้โดยผู้คนนับล้านที่มีภูมิหลัง ภาษา และวัฒนธรรม – จากทั่วทุกมุมโลก เราไม่สามารถละเลยการแปลปลั๊กอินและธีมของเราได้

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

ฉันขายปลั๊กอินของฉันโดยใช้ Freemius ซึ่งมีแดชบอร์ดที่ดีพร้อมการวิเคราะห์และสถิติที่มีประโยชน์อย่างยิ่ง เมื่อไม่กี่วันก่อน ฉันได้ดูตาราง "ภาษา 10 อันดับแรก" ที่คุณพบใน แดชบอร์ดนักพัฒนาซอฟต์แวร์ และแม้ว่าฉันจะรู้ว่าไซต์หลายแห่งที่ติดตั้ง Final Tiles Gallery ไม่ได้เป็นภาษาอังกฤษ แต่ฉันก็แปลกใจมากที่ พบว่าจากตัวอย่างการติดตั้งประมาณ 25,000 รายการ มีเว็บไซต์น้อยกว่า 50% เป็นภาษาอังกฤษ! นี่คือภาพรวม:

จำนวนการติดตั้งทั้งหมดตามประเทศ

อย่างที่คุณเห็น ฝรั่งเศส เยอรมัน และรัสเซียสร้างผู้ใช้จำนวนมาก โดยมีทั้งหมดเกือบ 20%

ประโยชน์ของการแปลปลั๊กอินหรือธีม

สำหรับธุรกิจปลั๊กอินหรือธีมของ WordPress การแปลผลิตภัณฑ์ของเราเป็นโอกาสทางการตลาดด้วยเหตุผลหลายประการ:

ผู้ชมจำนวนมากขึ้น

ผู้ใช้ WordPress บางรายไม่ต้องการติดตั้งปลั๊กอินที่ไม่มีการแปลในภาษาของพวกเขา อาจเป็นได้จากหลายสาเหตุ แต่หลักๆ แล้วอาจเป็นเพราะพวกเขาไม่เข้าใจภาษาอังกฤษ

ในกรณีอื่นๆ ผู้ใช้อาจเข้าใจภาษาอังกฤษ แต่เพียงต้องการใช้ภาษาของตนเอง ดังนั้น เมื่อมีตัวเลือกระหว่างปลั๊กอินที่คล้ายกันสองตัว ลูกค้าเหล่านั้นจะเลือกหนึ่งตัวในภาษาของพวกเขา แม้ว่าปลั๊กอินอื่นจะดีกว่าเล็กน้อย

นอกจากนี้ยังสามารถเกี่ยวข้องกับเหตุผลทางวัฒนธรรม ตัวอย่างเช่น ด้วยเหตุผลทางประวัติศาสตร์ โดยเฉพาะคนฝรั่งเศสรุ่นเก่าที่ไม่ชอบภาษาอังกฤษ หากคุณ google “ทำไมคนฝรั่งเศสถึงเกลียดภาษาอังกฤษ” คุณจะพบบทความมากมายเกี่ยวกับหัวข้อนี้ นอกจากนี้ มีชาวฝรั่งเศสเพียง 40% เท่านั้นที่พูดภาษานี้ได้ ดังนั้นหากผลิตภัณฑ์ของคุณไม่ได้แปลเป็นภาษาฝรั่งเศส คุณจะสูญเสียส่วนแบ่งการตลาดของ WordPress ภาษาฝรั่งเศส 60% ทันที และหากมีทางเลือกอื่นในฝรั่งเศสสำหรับผลิตภัณฑ์ของคุณ คุณอาจสูญเสียพวกเขาทั้งหมดหรืออย่างน้อยก็ส่วนใหญ่ การวิเคราะห์ที่คล้ายคลึงกันนี้เกี่ยวข้องกับหลายประเทศในเอเชีย เช่น ญี่ปุ่น ที่ยังไม่ได้ "ทำให้เป็นอเมริกัน"

WordPress.org SEO

Vova Feldman ซีอีโอของ Freemius ได้เขียนเกี่ยวกับประโยชน์ของการแปล SEO ในที่เก็บ WordPress.org เล็กน้อย แต่ยังไม่สามารถเน้นย้ำได้มากพอ ความจริงก็คืออัลกอริธึมการค้นหาใน repo นั้นไวมากต่อการใช้ภาษาต่างๆ ใน ​​readme.txt ของคุณ

การมุ่งเน้นความพยายามในการแปลของคุณไม่เพียงแต่ในสตริงผลิตภัณฑ์ของคุณเท่านั้น แต่ยังรวมถึง readme.txt ของคุณสามารถรวมการเข้าถึงการตลาดของคุณใน repo ในขณะที่ผู้ใช้ส่วนใหญ่ค้นหาเป็นภาษาอังกฤษ มีความชัดเจนตามสถิติสถานที่จาก WordPress.org ที่กล่าวถึงข้างต้นว่ามีผู้ใช้จำนวนมากที่ไม่ค้นหาในภาษาอังกฤษ ดังนั้นจึงจำกัดการเข้าถึงเฉพาะปลั๊กอินและธีมจำนวนมากที่มีให้เท่านั้น ที่เข้าใจภาษาอังกฤษ

อัลกอริธึมให้ผลลัพธ์ที่แตกต่างกันตามตำแหน่งที่ตั้งของการติดตั้ง WordPress ที่กำหนด – การแปลผลิตภัณฑ์ของคุณจะเอาชนะอุปสรรคนี้ในการเปิดรับผู้ใช้ที่คุณปกติไม่สามารถเข้าถึงได้

Vova พูดได้ดีมากว่า "สิ่งสำคัญที่สุด ตอนนี้การแปลสำคัญกว่าที่เคย!" – และยังคงเป็นจริงมานานกว่าหนึ่งปีแล้ว

ชื่อเสียง

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

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

ผู้ร่วมสมทบ

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

สถิติการแปลสำหรับปลั๊กอิน Gutenberg

รายการสถิติการแปลบางส่วนสำหรับปลั๊กอิน Gutenberg

ตอนนี้เราเข้าใจประโยชน์ของการแปลผลิตภัณฑ์ของเราแล้ว คำถามต่อไปคือ เราควรรองรับกี่ภาษา?

การเลือกภาษาที่รองรับ

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

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

ในการแก้ไขปัญหานี้ ฉันขอแนะนำให้เริ่มต้นด้วยภาษายอดนิยม และข้อมูลประเภทนี้สามารถรับได้จาก 3 แห่ง ประการแรกคือ Freemius Developer Dashboard ตามที่กล่าวไว้ข้างต้น หากคุณไม่ได้ใช้ Freemius อีกตัวเลือกที่มีประโยชน์คือหน้าสถิติ WordPress.org ที่แสดงตำแหน่งที่ตั้ง WordPress ที่ได้รับความนิยมมากที่สุด อีกทางเลือกหนึ่งที่ดีคือการดูสถิติ Google Analytics สำหรับเว็บไซต์ผลิตภัณฑ์ของคุณ

สมัครสมาชิกและรับสำเนาของเราฟรี

หนังสือธุรกิจปลั๊กอิน WordPress

วิธีสร้างธุรกิจปลั๊กอิน WordPress ที่เจริญรุ่งเรืองในระบบเศรษฐกิจการสมัครสมาชิก

แบ่งปันกับเพื่อน

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

ขอบคุณสำหรับการแชร์

ยอดเยี่ยม - เพิ่งส่งสำเนา 'The WordPress Plugin Business Book' ไปที่ . ต้องการช่วยให้เรากระจายข่าวมากยิ่งขึ้นหรือไม่? ไปต่อ แบ่งปันหนังสือกับเพื่อนและเพื่อนร่วมงานของคุณ

ขอบคุณสำหรับการสมัคร!

- เราเพิ่งส่งสำเนา 'The WordPress Plugin Business Book' ของคุณไปที่ .

อีกครั้ง

มีการพิมพ์ผิดในอีเมลของคุณ? คลิกที่นี่เพื่อแก้ไขที่อยู่อีเมลและส่งอีกครั้ง

ปกหนังสือ
ปกหนังสือ

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

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

การใช้ Google Translate API เพื่อแปลปลั๊กอิน/ธีมของคุณ

Google Cloud มี API เพื่อให้คุณสามารถใช้แปลภาษาเป็นบริการได้

ราคา Google Translate API

API เวอร์ชัน 3 ใช้งานได้ฟรีจนถึง 500,000 อักขระต่อเดือน และ 20 ดอลลาร์ต่อล้านอักขระหากคุณใช้เกินโควต้า คุณสามารถอ่านรายละเอียดราคาได้ที่นี่

ราคา API การแปล

ราคา Google Translate API (พฤษภาคม 2019)

A Quick Side Note – เป็นสากล

ปลั๊กอินทั้งหมดจะต้องเป็น สากล ก่อนที่จะถูก แปล จุดเริ่มต้นที่ดีคือคู่มือ WordPress.org I18n สำหรับนักพัฒนา WordPress ซึ่งจะอธิบายขั้นตอนต่างๆ เมื่อคุณสร้างไฟล์ .pot/.po แล้ว คุณสามารถดำเนินการตามกระบวนการเขียนสคริปต์ด้านล่างได้

ปลั๊กอินทั้งหมดจะต้องเป็นสากลก่อนที่จะแปล จุดเริ่มต้นที่ดีคือคู่มือ WordPress.org I18n สำหรับนักพัฒนา WordPress ที่อธิบายขั้นตอนต่างๆ ทวีต

มาเขียนสคริปต์กันเถอะ!

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

  1. ไปที่ https://console.developers.google.com และเข้าสู่ระบบ
  2. คลิก "ไม่มีองค์กร" หรือเลือกองค์กรที่คุณต้องการ (เราคิดว่าคุณไม่มี):

องค์กร Google Cloud Select

3. คลิก “โครงการใหม่”:

Google Cloud โครงการใหม่

4. ป้อนชื่อโครงการแล้วคลิก "สร้าง":

โครงการ Google Cloud ใหม่

5. ตอนนี้คุณควรถูกเปลี่ยนเส้นทางไปยังแดชบอร์ดคอนโซล คลิก “เปิดใช้งาน API และบริการ”:

แดชบอร์ด Google Cloud Console

6. ค้นหา "Cloud Translation API":

ไลบรารี Google Cloud API

7. คลิก "เปิดใช้งาน":

เปิดใช้งาน Cloud Translation API

ตอนนี้เรามีโปรเจ็กต์แล้ว เราต้องตั้งค่าบัญชีบริการเพื่ออนุมัติคำขอของเราไปยัง Google API คุณสามารถทำตามขั้นตอนที่ 1 และ 2 ในคู่มือนี้จากแพลตฟอร์ม Google Cloud หรือทำตามขั้นตอนเหล่านี้:

  1. ไปที่ส่วน "บัญชีบริการ" จากเมนูหลัก: "IAM & Admin":

Google Cloud IAM และผู้ดูแลระบบ

2. คลิกที่ “สร้างบัญชีบริการ”:

Google Cloud สร้างบัญชีบริการ

3. ป้อนชื่อและคำอธิบายสำหรับบัญชีบริการแล้วคลิก "สร้าง":

4. คลิก “ดำเนินการต่อ” เพื่อข้ามการเลือกบทบาทเนื่องจากเราไม่ต้องการ:

การสร้างบัญชีบริการ Google Cloud

5. ตอนนี้คลิก "สร้างคีย์" จากนั้นคลิก "สร้าง" ตรวจสอบให้แน่ใจว่าคุณได้เลือกรูปแบบ JSON:

เปิดใช้งานคีย์การสร้างบัญชีบริการ Google Cloud

6. หลังจากที่คุณสร้างคีย์ เบราว์เซอร์จะดาวน์โหลดโดยอัตโนมัติ จำโฟลเดอร์ที่คุณจะบันทึกไฟล์เพราะเราต้องการใช้ในภายหลัง

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

ตัวอย่าง: Linux หรือ macOS

แทนที่ [PATH] ด้วยเส้นทางไฟล์ของไฟล์ JSON ที่มีรหัสบัญชีบริการของคุณ

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

ตัวอย่างเช่น:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"

ตัวอย่าง: Windows:

แทนที่ [PATH] ด้วยเส้นทางไฟล์ของไฟล์ JSON ที่มีรหัสบัญชีบริการของคุณ และ [FILE_NAME] ด้วยชื่อไฟล์

ด้วย PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

ตัวอย่างเช่น:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"

ด้วยพรอมต์คำสั่ง:

set GOOGLE_APPLICATION_CREDENTIALS=[PATH]

เมื่อเราทำสิ่งที่น่าเบื่อเสร็จแล้ว เราก็เริ่มแปลได้เลย!

  1. โคลนที่เก็บจาก https://github.com/GreenTreeLabs/po-gtranslator
    1. เปิดบรรทัดคำสั่งของคุณและเรียกใช้คำสั่งต่อไปนี้:
    2. โคลน Git https://github.com/GreenTreeLabs/po-gtranslator.git
    3. หากคุณไม่ได้ติดตั้ง git คุณสามารถดาวน์โหลดได้ที่นี่
  2. ป้อนไดเร็กทอรี po-translator:

cd po-gtranslator

  1. ติดตั้งการพึ่งพา:

npm install

  1. ในกรณีที่คุณไม่มียูทิลิตี้ npm โปรดติดตั้ง Node.js จากที่นี่
  2. รันสคริปต์ด้วยพารามิเตอร์ที่จำเป็นทั้งหมด:

node po-gtranslator.js --project_id=final-tiles-gallery --po_source=it.po --po_dest=it_IT.po --mo=it.mo --lang=it

มาดูพารามิเตอร์แต่ละตัวกัน:

--project_id : ID ของโครงการ Google ของคุณ คุณสามารถรับได้จาก Google Cloud Console

--po_source : เส้นทางของไฟล์ PO ว่างที่คุณต้องการแปล

--po_dest : เส้นทางของไฟล์ PO พร้อมคำแปล

--mo : เส้นทางของไฟล์ MO

--lang : รหัสของภาษาที่คุณต้องการแปลเป็น

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

ดำเนินการแปลอัตโนมัติ!
po-gtranslator.js ใช้งานได้จริง!

ขอบคุณสำหรับสคริปต์กับฉัน!

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