อภิธานศัพท์การแปลและความสอดคล้องของคำศัพท์ใน WordPress

เปิดร้านค้า WooCommerce เวอร์ชันภาษาเยอรมัน แล้วลองสังเกตคำว่า "Cart" ที่ปรากฏอยู่บนส่วนต่าง ๆ ของอินเทอร์เฟซ ปุ่มในส่วนหัวระบุว่า Warenkorb หน้าชำระเงินระบุว่า Einkaufswagen ส่วนอีเมลยืนยันระบุว่า Korb ทั้งสามคำนี้เป็นคำภาษาเยอรมันที่ถูกต้องตามหลักภาษาสำหรับ "ตะกร้าสินค้า" และนักแปลที่เป็นมนุษย์ที่แปลทีละไฟล์อาจใช้คำใดคำหนึ่งในนั้นได้ แต่ลูกค้าที่เข้าชมเว็บไซต์จะไม่เห็นคำพ้องความหมายสามคำ พวกเขาจะเห็นเว็บไซต์ที่ไม่สามารถใช้คำศัพท์ได้อย่างสอดคล้องกัน และในเว็บไซต์อีคอมเมิร์ซ ความไม่สอดคล้องนี้จะสื่อถึงความสะเพร่าในขณะที่คุณกำลังขอข้อมูลบัตรเครดิต
นี่คือปัญหาที่ อภิธานศัพท์การแปล (translation glossary) สามารถแก้ไขได้ อภิธานศัพท์ ซึ่งบางครั้งเรียกว่า termbase เป็นรายการที่ได้รับการรับรองว่าคำศัพท์เฉพาะควรแปลอย่างไรในแต่ละภาษา คำศัพท์ใดที่ไม่ควรแปลเลย และคำศัพท์ใดที่ต้องแปลในลักษณะเดียวกันทุกครั้ง คู่มือนี้จะอธิบายแนวคิดของอภิธานศัพท์ หมวดหมู่คำศัพท์สองประเภทที่สำคัญที่สุด เหตุใดการแบ่งไฟล์ขนาดใหญ่เป็นส่วนๆ จึงทำลายความสอดคล้องโดยไม่รู้ตัว และวิธีที่ระบบแปลที่รักษาอภิธานศัพท์ในทุกส่วนจะแก้ไขปัญหานี้ได้อย่างไร
อภิธานศัพท์การแปลคืออะไร
อภิธานศัพท์การแปลคือการจับคู่คำศัพท์ต้นฉบับกับคำแปลที่ได้รับการอนุมัติอย่างมีโครงสร้าง ซึ่งดูแลรักษาแยกตามแต่ละภาษา พูดง่ายๆ ก็คือมันเป็นตารางที่ประกอบด้วยคำศัพท์ต้นฉบับ คำศัพท์เป้าหมายที่ต้องการ และหมายเหตุว่าคำนั้นถูกล็อกไว้หรือไม่ หรือสามารถแปลได้ นักแปลและเครื่องมือแปลจะใช้อภิธานศัพท์นี้เป็นแหล่งข้อมูลที่เชื่อถือได้เพียงแหล่งเดียว เพื่อให้แนวคิดเดียวกันไม่ถูกแปลเป็นสองวิธีที่แตกต่างกัน
ตัวอย่างส่วนย่อยของอภิธานศัพท์ขนาดเล็กในรูปแบบ JSON อาจมีลักษณะดังนี้:
{
"en": "Cart",
"translations": {
"de": "Warenkorb",
"es": "Carrito",
"fr": "Panier"
},
"translatable": true
},
{
"en": "Acme Pro",
"translations": {},
"translatable": false,
"note": "Brand product name. Never translate."
}
หรือหากทีมของคุณชอบสเปรดชีตแบบเรียบง่าย ข้อมูลเดียวกันนี้สามารถอยู่ในรูปแบบ CSV ได้:
source,de,es,fr,translatable
Cart,Warenkorb,Carrito,Panier,yes
Checkout,Kasse,Pagar,Commander,yes
Acme Pro,,,,no
Add to Cart,In den Warenkorb,Añadir al carrito,Ajouter au panier,yes
อภิธานศัพท์ทำหน้าที่สองอย่างพร้อมกัน สำหรับคำศัพท์ที่แปลได้ มันจะบังคับใช้การแปลที่ได้รับการอนุมัติเพียงหนึ่งเดียว สำหรับคำศัพท์ที่ไม่สามารถแปลได้ มันจะทำหน้าที่เป็นรายการห้ามแตะต้อง
รูปแบบของไฟล์นั้นแทบจะไม่มีความสำคัญ ไม่ว่าจะเป็น JSON, CSV, สเปรดชีต หรือไฟล์ key-value อย่างง่าย ล้วนใช้งานได้ เพราะคุณค่าของอภิธานศัพท์ไม่ได้อยู่ที่นามสกุลไฟล์ แต่อยู่ที่บทบาทในการเป็นข้อมูลอ้างอิงที่ตกลงกันไว้ สิ่งสำคัญคือการมีอยู่ของมัน การเป็นสำเนาต้นฉบับเพียงชุดเดียวที่เชื่อถือได้ และสิ่งที่ใช้แปลสตริงของคุณได้นำไปใช้จริง อภิธานศัพท์ที่เก็บอยู่ในไดรฟ์ที่แชร์แต่กระบวนการแปลไม่เคยอ่าน ก็เป็นเพียงเอกสารเท่านั้น แต่อภิธานศัพท์ที่ระบบแปลบังคับใช้กับทุกสตริงคือการรับประกันคุณภาพ
ทีมส่วนใหญ่เริ่มสร้างอภิธานศัพท์เมื่อเกิดปัญหาขึ้นแล้ว หลังจากที่พบความไม่สอดคล้องในการใช้งานจริงจนน่าอับอาย แนวทางที่ดีกว่าคือการเริ่มสร้างตั้งแต่ก่อนการแปลครั้งแรกด้วยรายการที่ชัดเจน เช่น ชื่อผลิตภัณฑ์ของคุณ คำศัพท์อินเทอร์เฟซที่ใช้บ่อยที่สุด 20 คำ และคำศัพท์เฉพาะทางอุตสาหกรรมที่หากเลือกผิดอาจทำให้ลูกค้าสับสน การเลือกคำศัพท์ที่เหมาะสม 20 คำจะช่วยป้องกันความล้มเหลวส่วนใหญ่ที่เกิดจากความไม่สอดคล้องกันได้
สองประเภทของคำศัพท์ที่พังทลายหากไม่มีอภิธานศัพท์
คำศัพท์ใดบ้างที่ต้องการการควบคุมด้วยอภิธานศัพท์? มีสองประเภท และแต่ละประเภทก็ล้มเหลวในทิศทางตรงกันข้ามกัน
คำศัพท์เกี่ยวกับแบรนด์ที่ไม่ควรแปล
ชื่อผลิตภัณฑ์ ชื่อแบรนด์ ชื่อฟีเจอร์ และเครื่องหมายการค้าควรผ่านกระบวนการแปลโดยไม่มีการเปลี่ยนแปลงใดๆ เมื่อ Acme Pro กลายเป็น Acme Profesional ในภาษาสเปน หรือฟีเจอร์การจัดส่ง QuickShip ของคุณกลายเป็น EnvíoRápido คุณได้ทำลายการจดจำแบรนด์ และบ่อยครั้งยังทำลาย UI ที่สตริงนั้นถูกจับคู่ในโค้ดอีกด้วย
นี่คือความล้มเหลวของอภิธานศัพท์ที่พบบ่อยที่สุดและสร้างความเสียหายมากที่สุด เครื่องมือแปลอัตโนมัติที่ทำงานด้วยตัวเองจะแปล Pro, Plus, Cloud และคำอื่น ๆ ที่ดูเหมือนเป็นคำนามทั่วไปอย่างมีประโยชน์ เพราะมันไม่มีทางรู้ว่าคำเหล่านั้นเป็นส่วนหนึ่งของแบรนด์ อภิธานศัพท์คือสิ่งที่บอกให้มันหยุด
คำศัพท์ที่ต้องแปลให้สอดคล้องกัน
ปัญหาตรงกันข้ามคือสถานการณ์ Warenkorb เทียบกับ Einkaufswagen คำเหล่านี้เป็นคำจริงที่ควรแปล แต่ต้องแปลในลักษณะเดียวกันเสมอ คำศัพท์ในอินเทอร์เฟซเช่น Cart, Checkout, Account, Wishlist, Order และ Shipping ต้องจับคู่กับคำเป้าหมายที่กำหนดไว้หนึ่งคำในทุกหน้าจอ อีเมล และปุ่ม อันตรายในที่นี้ไม่ใช่การแปลผิด แต่เป็นการแปลที่คลาดเคลื่อน: การเลือกคำที่ถูกต้องแต่ละคำก็ไม่เป็นไรเมื่อพิจารณาแยกต่างหาก แต่ความไม่สอดคล้องกันทั่วทั้งเว็บไซต์เท่านั้นที่เป็นข้อบกพร่อง
นี่คือปัญหาการบ่อนทำลายความน่าเชื่อถือ ผู้ใช้สร้างแบบจำลองทางจิตวิทยาของคำศัพท์ในอินเทอร์เฟซของคุณเมื่อพวกเขาใช้งานมัน เมื่อคำศัพท์เปลี่ยนไป แบบจำลองนั้นก็พังทลายลง และความขัดแย้งทางความคิดจะถูกรับรู้ว่าเป็นความรู้สึกคลุมเครือว่าเว็บไซต์มีคุณภาพต่ำ แม้ว่าลูกค้าจะไม่สามารถอธิบายได้ว่าทำไม
ความสอดคล้องยังมีค่าใช้จ่ายด้านความสามารถในการใช้งานที่เป็นรูปธรรม นอกเหนือจากความรู้สึกดีๆ เอกสารสนับสนุน, คำแนะนำ (tooltips) และอีเมลเริ่มต้นใช้งาน ล้วนอ้างอิงถึงคำศัพท์ในอินเทอร์เฟซ หากปุ่มระบุว่า Warenkorb แต่บทความช่วยเหลือระบุว่า Einkaufswagen ลูกค้าที่สับสนจะไม่สามารถเชื่อมโยงคำแนะนำกับหน้าจอได้ การใช้คำศัพท์ที่ไม่สอดคล้องกันจะทำให้เนื้อหาการสนับสนุนของคุณพังทลายลงอย่างเงียบๆ อภิธานศัพท์คือสิ่งที่ทำให้ผลิตภัณฑ์ เอกสาร และเนื้อหาทางการตลาดทั้งหมดพูดภาษาเดียวกันอย่างแท้จริง
ทำไมการแบ่งไฟล์ขนาดใหญ่เป็นส่วนๆ จึงทำให้เกิดความไม่สอดคล้องกัน
นี่คือกลไกที่เปลี่ยนความรำคาญเรื่องอภิธานศัพท์เพียงครั้งเดียวให้กลายเป็นปัญหาระบบบนเว็บไซต์ขนาดใหญ่ ร้านค้า WordPress หรือ WooCommerce ขนาดใหญ่อาจมีไฟล์ .po ที่มีสตริงหลายพันรายการ ซึ่งมากกว่าที่โมเดล AI ใดๆ จะแปลได้ในการร้องขอครั้งเดียว ดังนั้นไฟล์จึงถูกแบ่งออกเป็นส่วนๆ และแต่ละส่วนจะถูกแปลแยกกัน
ปัญหาคือเมื่อแต่ละส่วนถูกแปลแยกกัน เครื่องมือแปลจะไม่มีข้อมูลว่ามันแปลคำศัพท์หนึ่งๆ เมื่อสามส่วนก่อนหน้าว่าอย่างไร ส่วนที่ 1 อาจแปลคำว่า "Cart" เป็น Warenkorb ส่วนที่ 7 ซึ่งถูกประมวลผลเป็นการร้องขอที่เป็นอิสระโดยไม่มีบริบทที่ใช้ร่วมกัน ก็อาจแปล "Cart" คำเดียวกันนั้นเป็น Einkaufswagen ได้อย่างสมเหตุสมผลเช่นกัน ไม่มีคำใดผิดในตัวมันเอง ความไม่สอดคล้องกันนี้เป็นผลมาจากการแบ่งส่วน ไม่ใช่จากการตัดสินใจที่ไม่ดีเพียงครั้งเดียว
# Chunk 1 - header strings
msgid "Cart"
msgstr "Warenkorb"
# Chunk 7 - footer strings, translated in a separate request
msgid "View Cart"
msgstr "Einkaufswagen ansehen"
ยิ่งไฟล์ใหญ่ขึ้นเท่าไร ก็ยิ่งมีส่วนย่อยมากขึ้น และยิ่งมีโอกาสที่คำศัพท์เดียวกันจะแตกต่างกันมากขึ้น นี่คือเหตุผลที่การแปลไฟล์ขนาดใหญ่นั้นยากกว่าที่คิด ซึ่งเป็นหัวข้อที่เราครอบคลุมในเชิงลึกใน how to translate large PO files การแบ่งส่วนแบบง่ายๆ เป็นการแลกเปลี่ยนความสมบูรณ์กับความสอดคล้อง และในร้านค้าที่มีสตริงนับพัน การแลกเปลี่ยนนั้นปรากฏให้เห็นอยู่ทุกที่
ระบบแปลที่รู้เรื่องอภิธานศัพท์จะแก้ไขปัญหานี้ได้อย่างไร
การแก้ไขคือระบบแปลที่ทำสองสิ่งพร้อมกัน: แบ่งไฟล์ขนาดใหญ่อย่างชาญฉลาดเพื่อให้สามารถประมวลผลได้ทั้งหมด และนำบริบทของอภิธานศัพท์และคำศัพท์ไปใช้กับทุกส่วนย่อย เพื่อไม่ให้การแบ่งไฟล์ก่อให้เกิดความคลาดเคลื่อน
นี่คือจุดที่ Smart Batching และ Context-Aware AI ทำงานร่วมกัน Smart Batching จะแบ่งไฟล์ขนาด 10MB ขึ้นไปออกเป็นส่วนย่อยที่สามารถประมวลผลได้ แต่ส่วนย่อยเหล่านี้จะไม่ถูกแปลแยกกันแบบโดดเดี่ยว ระบบแปลจะบังคับใช้อภิธานศัพท์และความสอดคล้องของคำศัพท์ในทุกส่วนย่อย ดังนั้นเมื่อคำว่า "Cart" ถูกกำหนดให้เป็น Warenkorb แล้ว ทุกส่วนย่อยถัดไปที่มีคำว่า "Cart" ก็จะได้รับการแปลแบบเดียวกัน อภิธานศัพท์ของคำศัพท์แบรนด์ที่ถูกล็อกไว้ก็จะเดินทางไปพร้อมกับทุกส่วนย่อยด้วย ดังนั้น Acme Pro จึงยังคงอยู่ครบถ้วนไม่ว่าจะปรากฏในสตริงลำดับที่ 5 หรือสตริงลำดับที่ 5,000
ผลลัพธ์ที่จับต้องได้คือไฟล์ร้านค้าที่มี 6,000 สตริงจะกลับมาพร้อมกับคำศัพท์ที่สอดคล้องกันชุดเดียว แทนที่จะเป็นงานปะติดปะต่อ ชื่อแบรนด์ไม่ถูกเปลี่ยนแปลง คำศัพท์ในอินเทอร์เฟซเป็นไปในทิศทางเดียวกัน และตัวแปรที่อยู่ในสตริงเหล่านั้น เช่น %s และ {name} ก็ยังคงถูกล็อกอยู่กับที่ในเวลาเดียวกัน คุณจะได้ไฟล์ที่อ่านแล้วรู้สึกราวกับว่านักแปลที่ระมัดระวังและมีความจำสมบูรณ์แบบคนหนึ่งได้แปลทั้งหมดในคราวเดียว
ลองเปรียบเทียบกับทางเลือกที่คนส่วนใหญ่หันไปใช้: แปลไฟล์เป็นชิ้นๆ แล้วค่อยทำการค้นหาและแทนที่ด้วยตนเองเพื่อทำให้คำศัพท์เป็นมาตรฐานในภายหลัง วิธีการนี้ล้มเหลวด้วยสองเหตุผล ประการแรก คุณต้องรู้คำศัพท์ทุกคำที่คลาดเคลื่อนไปแล้ว ซึ่งหมายถึงการทบทวนสตริงนับพันเพื่อค้นหาความไม่สอดคล้องกันตั้งแต่แรก ประการที่สอง การค้นหาและแทนที่แบบสุ่มสี่สุ่มห้านั้นอันตราย เพราะคำเดียวกันอาจถูกต้องในบริบทหนึ่งและผิดในอีกบริบทหนึ่ง การบังคับใช้อภิธานศัพท์ในระหว่างการแปล ในขณะที่เครื่องมือยังมีบริบททั้งหมดของแต่ละสตริงนั้นปลอดภัยกว่าการแก้ไขภายหลังโดยพื้นฐาน
อภิธานศัพท์ในเวิร์กโฟลว์หลายเว็บไซต์
สำหรับเอเจนซีที่ดูแลงานแปลหลายภาษาสำหรับเว็บไซต์ลูกค้าหลายแห่ง ระเบียบวินัยด้านอภิธานศัพท์ยิ่งทวีความสำคัญ ลูกค้าแต่ละรายมีคำศัพท์แบรนด์ของตนเองและคำศัพท์ที่ได้รับการอนุมัติของตนเอง และการนำอภิธานศัพท์ของลูกค้าหนึ่งรายไปใช้กับอีกรายหนึ่งนั้นรับประกันได้ว่าจะสร้างความอับอาย เวิร์กโฟลว์ที่ทำซ้ำได้และขับเคลื่อนด้วยอภิธานศัพท์คือสิ่งที่ทำให้เว็บไซต์หลายภาษาหลายสิบแห่งมีความสอดคล้องกันโดยไม่จำเป็นต้องมีการตรวจสอบด้วยตนเองหลายสิบครั้ง ซึ่งเป็นหัวใจสำคัญของ the ideal localization workflow for agencies managing multiple client sites อภิธานศัพท์จะกลายเป็นสินทรัพย์เฉพาะสำหรับลูกค้าแต่ละรายที่ติดไปกับทุกไฟล์ที่คุณแปลให้พวกเขา
ความสอดคล้องของคำศัพท์เป็นหนึ่งในสัญญาณคุณภาพที่ไม่มีใครสังเกตเห็นอย่างตั้งใจเมื่อมันถูกต้อง และทุกคนจะรู้สึกได้เมื่อมันผิด ลูกค้าที่อ่าน Warenkorb บนทุกหน้าจอจะไม่คิดอะไรเลย ส่วนคนที่เห็นคำสามคำที่แตกต่างกันสำหรับ "ตะกร้าสินค้า" ก็ไม่ได้ยื่นคำร้องเรียนเช่นกัน พวกเขาแค่เชื่อถือเว็บไซต์น้อยลงเล็กน้อยและมีโอกาสเปลี่ยนเป็นลูกค้าที่จ่ายเงินน้อยลงเล็กน้อย อภิธานศัพท์ที่ถูกบังคับใช้กับทุกส่วนของทุกไฟล์คือวิธีที่คุณจะมั่นใจได้ว่าพวกเขาไม่จำเป็นต้องคิดถึงเรื่องนี้เลย
พร้อมที่จะรักษาคำศัพท์ทุกคำให้สอดคล้องกันทั่วทั้งร้านค้าหลายภาษาของคุณแล้วหรือยัง? ลองใช้ SimplePoTranslate ฟรี — ไม่ต้องใช้บัตรเครดิต ระดับฟรีจะบังคับใช้อภิธานศัพท์และความสอดคล้องของคำศัพท์ในทุกส่วนย่อย ดังนั้นคำว่า "Cart" จะยังคงเป็นคำเดียวกัน และชื่อแบรนด์ของคุณจะไม่มีการเปลี่ยนแปลงตั้งแต่สตริงแรกจนถึงสตริงสุดท้าย