ทำความเข้าใจ Gettext Plurals: วิธีจัดการ Pluralization ที่ซับซ้อนใน WordPress

ในภาษาอังกฤษ การทำเป็นพหูพจน์เป็นเรื่องง่าย คุณมี "Apple" หนึ่งผล และคุณมี "Apples" สองผลขึ้นไป
แต่ถ้าคุณกำลังแปลเว็บไซต์ WordPress ของคุณเป็นภาษาโปแลนด์ รัสเซีย หรืออารบิก คุณกำลังจะเดินเข้าไปในทุ่นระเบิดทางภาษา
คุณรู้หรือไม่ว่าในภาษารัสเซีย คำว่า "file" จะเปลี่ยนไปขึ้นอยู่กับว่าคุณมี 1 ไฟล์, 2-4 ไฟล์ หรือ 5 ไฟล์ขึ้นไป?
- 1 файл (1 file)
- 3 файла (3 files)
- 5 файлов (5 files)
หากเครื่องมือแปลของคุณสมมติอย่างไม่ถูกต้องว่าทุกภาษามีรูปแบบเหมือนภาษาอังกฤษ (เอกพจน์ vs. พหูพจน์) ผู้ใช้ของคุณจะเห็นประโยคที่ไม่ถูกต้องตามหลักไวยากรณ์ ซึ่งทำให้แบรนด์ของคุณดูไม่เป็นมืออาชีพ
คู่มือนี้อธิบายว่า WordPress และ Gettext จัดการกฎที่ซับซ้อนเหล่านี้อย่างไร และวิธีทำให้เป็นอัตโนมัติอย่างถูกต้อง
องค์ประกอบทางเทคนิคของสตริงพหูพจน์
ในไฟล์ .po มาตรฐาน สตริงพหูพจน์มีลักษณะดังนี้:
msgid "You have %d new message"
msgid_plural "You have %d new messages"
msgstr[0] ""
msgstr[1] ""
msgid: รูปแบบเอกพจน์ (ใช้สำหรับ count = 1)msgid_plural: รูปแบบพหูพจน์ (ใช้สำหรับ count != 1)msgstr[N]: การแปล
สำหรับภาษาอังกฤษ คุณต้องการเพียง msgstr[0] (เอกพจน์) และ msgstr[1] (พหูพจน์) เท่านั้น แต่สำหรับภาษาอื่น ๆ คุณอาจต้องการ msgstr[2], msgstr[3] หรือแม้แต่ msgstr[5]
ส่วนหัว Plural-Forms
WordPress ทราบได้อย่างไรว่าจะใช้ msgstr ใด? โดยจะดูที่ส่วนหัวของไฟล์ .po ของคุณ
สำหรับภาษารัสเซีย ส่วนหัวจะมีลักษณะดังนี้:
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
สูตรทางคณิตศาสตร์ที่น่ากลัวนี้บอก WordPress ว่า:
- มี 3 รูปแบบที่เป็นไปได้ (
nplurals=3) - ใช้รูปแบบ 0 หากตัวเลขลงท้ายด้วย 1 (แต่ไม่ใช่ 11)
- ใช้รูปแบบ 1 หากตัวเลขลงท้ายด้วย 2-4 (แต่ไม่ใช่ 12-14)
- ใช้รูปแบบ 2 สำหรับทุกสิ่งอื่นๆ
ทำไมนักแปลส่วนใหญ่ถึงล้มเหลวในเรื่องนี้
เมื่อคุณใช้ AI wrapper ทั่วไปหรือเครื่องมืออัตโนมัติพื้นฐาน มักจะละเว้นส่วนหัว Plural-Forms
มันเห็นอินพุตภาษาอังกฤษ (2 รูปแบบ) และพยายามบังคับให้เป็นภาษาเป้าหมาย
- ข้อผิดพลาด: อาจเติม
msgstr[0]และmsgstr[1]แต่ปล่อยให้msgstr[2]ว่างเปล่า - ผลลัพธ์: เมื่อผู้ใช้ชาวรัสเซียมี 5 ข้อความ WordPress จะมองหารูปแบบ 2 หากว่างเปล่าหรือหายไป WordPress มักจะกลับไปใช้สตริงภาษาอังกฤษเดิม
ทันใดนั้น เว็บไซต์ที่แปลเป็นภาษาท้องถิ่นอย่างสมบูรณ์ของคุณจะแสดง "You have 5 new messages" เป็นภาษาอังกฤษ ตรงกลางประโยคภาษารัสเซีย สิ่งนี้ทำลายความดื่มด่ำและความไว้วางใจของผู้ใช้
ทางออก: AI ที่คำนึงถึงบริบทพร้อมการสนับสนุน Plural
การจัดการพหูพจน์อย่างถูกต้องต้องใช้สองสิ่ง:
- การปฏิบัติตามมาตรฐาน Gettext อย่างเคร่งครัด: เครื่องมือต้องเคารพจำนวน
npluralsในส่วนหัว - ความฉลาดทางภาษา: AI ต้องรู้วิธีผันคำสำหรับช่วงตัวเลขเฉพาะเหล่านั้น
นี่คือคุณสมบัติที่มีมาแต่เดิมของ SimplePoTranslate
วิธีที่เราจัดการ Plurals ที่ซับซ้อน
เราไม่ได้แค่แปลข้อความ เราอ่านคณิตศาสตร์ในส่วนหัว .po ของคุณ
เมื่อคุณอัปโหลดไฟล์เพื่อแปลเป็นภาษาโปแลนด์ (ซึ่งมีรูปแบบพหูพจน์ 3 รูปแบบ):
- การวิเคราะห์ส่วนหัว: เราตรวจพบ
nplurals=3 - Prompt Engineering: ระบบของเราสั่งให้ Context-Aware AI: "แปลสตริงนี้เป็นภาษาโปแลนด์ ให้รูปแบบ 3 แบบ: แบบหนึ่งสำหรับเอกพจน์ แบบหนึ่งสำหรับตัวเลขที่ลงท้ายด้วย 2-4 และแบบหนึ่งสำหรับอื่น ๆ "
- การตรวจสอบ: เราตรวจสอบว่าเอาต์พุตมี
msgstr[0],msgstr[1]และmsgstr[2]อย่างครบถ้วนก่อนที่จะคอมไพล์ไฟล์
เราจัดการสิ่งนี้โดยอัตโนมัติ คุณไม่จำเป็นต้องรู้กฎไวยากรณ์ของภาษาเป้าหมาย คุณอัปโหลดไฟล์ และเราจะเติมทุกรูปแบบพหูพจน์ที่จำเป็นอย่างถูกต้อง
ดีกว่าการแปลด้วยตนเองหรือไม่
เว้นแต่คุณจะพูดภาษาเป้าหมายได้อย่างคล่องแคล่ว คุณไม่สามารถกรอกรูปแบบพหูพจน์เหล่านี้ด้วยตนเองได้ คุณจะต้องเดา SimplePoTranslate ใช้ประโยชน์จาก LLM ขั้นสูงที่ได้รับการฝึกฝนตามกฎไวยากรณ์ที่แน่นอนเหล่านี้ ทำให้มั่นใจได้ถึงความถูกต้องในระดับเจ้าของภาษา
ทำให้ Plurals ของคุณถูกต้อง
อย่าปล่อยให้ "1 Apple, 5 Apples" ทำลายรูปลักษณ์ที่เป็นมืออาชีพของเว็บไซต์ของคุณ ใช้เครื่องมือที่เข้าใจความซับซ้อนของไวยากรณ์ระดับโลก
SimplePoTranslate ให้คุณทดสอบเอ็นจิน pluralization ของเราได้ฟรี
พร้อมที่จะแปลโดยไม่ต้องปวดหัวใช่ไหม เริ่มต้นฟรีที่ SimplePoTranslate.com