REEID EDITORIAL

เมนูและการนำทางใน WordPress หลายภาษาคือข้อมูลเชิงโครงสร้าง

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

12 Sep 20265 min read

ประเด็นสำคัญ

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

การนำทางมีมากกว่าข้อความที่แปลแล้ว

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

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

อะไรทำให้เมนูเป็นข้อมูลเชิงโครงสร้าง

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

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

ทำไมการแมปปลายทางจึงสำคัญ

ป้ายกำกับเมนูเดียวกันอาจแทนเป้าหมายเบื้องหลังที่ต่างกันในแต่ละภาษา หน้าเพจที่แปลแล้วอาจมี permalink ต่างออกไป คลังอนุกรมวิธานอาจมีอยู่ในภาษาหนึ่งแต่ยังไม่มีในอีกภาษาจนกว่าจะสร้างและเชื่อมโยงคำศัพท์นั้นแล้ว ส่วน URL แบบกำหนดเองอาจต้องใช้พาธเฉพาะภาษาแทนการคัดลอกลิงก์จากภาษาต้นฉบับตรง ๆ

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

การกำหนดเส้นทางเฉพาะภาษาทำให้รูปทรงของเมนูเปลี่ยนไป

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

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

รูปแบบความล้มเหลวที่พบบ่อยเมื่อแปลเมนูเป็นสตริง

รูปแบบความล้มเหลวแบบหนึ่งคือ hierarchy drift: รายการแม่ถูกแปลแล้ว แต่รายการลูกไม่ได้แมปไปยังเนื้อหาในภาษาเดียวกัน ทำให้เมนูย่อยไม่แสดงกลุ่มแนวคิดเดียวกันอีกต่อไป

อีกแบบคือ destination drift: ป้ายกำกับถูกแปลแล้ว แต่รายการยังคงชี้ไปยังหน้าเดิม คลังอนุกรมวิธานเดิม หรือ URL แบบกำหนดเองเดิม ส่วนแบบที่สามคือ plugin-item drift ซึ่งรายการเมนูที่สร้างจากข้อมูลของปลั๊กอินถูกคัดลอกมาโดยไม่เก็บรักษาความสัมพันธ์ของวัตถุเบื้องหลัง ในแต่ละกรณี เมนูอาจดูสมบูรณ์ แต่ตรรกะการนำทางกลับไม่สอดคล้องกัน

ความล้มเหลวเหล่านี้เห็นได้ชัดเป็นพิเศษเมื่อไซต์ผสมหลายชนิดของเนื้อหา เมนูที่มีทั้งหน้า คลังหมวดหมู่ และลิงก์แบบกำหนดเอง จำเป็นต้องจัดการแต่ละประเภทตามพฤติกรรมการกำหนดเส้นทางของมันเอง

ผลกระทบเชิงปฏิบัติสำหรับเจ้าของและผู้พัฒนา WordPress

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

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

คำถามที่พบบ่อย

ทำไมฉันแค่แปลป้ายกำกับเมนูแล้วใช้ลิงก์เดิมไม่ได้?

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

ลิงก์แบบกำหนดเองทำงานต่างจากลิงก์หน้าในเมนูหลายภาษาหรือไม่?

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

ความเสี่ยงหลักของการคัดลอกโครงสร้างเมนูจากภาษาหนึ่งไปยังอีกภาษาหนึ่งคืออะไร?

โครงสร้างอาจถูกคัดลอกในเชิงภาพ แต่ความสัมพันธ์เบื้องหลังอาจไม่ถูกคัดลอกไปด้วย นั่นอาจทำให้กลุ่มแม่-ลูกยังคงอยู่ แต่รายการต่าง ๆ ชี้ไปยังเนื้อหาภาษาต้นฉบับ คลังที่หายไป หรือปลายทางที่สร้างโดยปลั๊กอินซึ่งไม่มีอยู่ในภาษาปลายทาง

แหล่งที่มาและหลักฐาน

นำสถาปัตยกรรมไปใช้งานจริง

ดูว่าการเชื่อมต่อ WordPress ทำงานอย่างไรในระบบหลายภาษา

สำรวจความเข้ากันได้เฉพาะปลั๊กอิน พื้นที่การแปล และบันทึกการติดตั้งใช้งานใน REEID Integration Directory

Shopping Cart
Scroll to Top