Tim Brandall หัวหน้าทีม Internationalization ของ Netflix เขียนบล็อกเล่าถึงวิธีการจัดการภายใน ที่ทำให้การแสดงผลเนื้อหาบน Netflix ในภาษาต่าง ๆ แสดงผลได้ดีไม่เกิดตัวอักษรล้น UI ซึ่งเป็นเรื่องท้าทายหลังจาก Netflix ขยายตลาดไปสู่ 190 ประเทศ ทำให้การแสดงผลต้องเพิ่มจากภาษาอังกฤษภาษาเดียว ไปสู่ภาษาอื่นรวม 26 ภาษา
ปัญหาส่วนใหญ่ที่เจอคือในภาษาอื่นบนคำเดียวกัน จะมีความยาวตัวอักษรที่มากกว่าภาษาอังกฤษ บางภาษายาวมากกว่า 40% ตัวอย่างเช่นในภาษาเยอรมัน คำว่า Don’t miss out เมื่อแปลออกมาจะยาวมากเป็น Lassen Sie sich nichts entgehen พอนำไปใส่ในหน้าแอปจะเกิดการล้นหน้าจนอ่านไม่รู้เรื่องตามภาพด้านล่าง ซึ่งที่ล้นก็เพราะการออกแบบ UI แต่แรก คิดบนกรอบภาษาอังกฤษ แต่พอ Netflix จะต้องรองรับ 26 ภาษา เรื่องนี้จึงกลายเป็นปัญหา
Netflix จึงได้พัฒนาเครื่องมือที่ทำให้ทีมออกแบบแก้ปัญหา UI ไว้ก่อนล่วงหน้า ก่อนที่เนื้อหาจะถูกนำไปแปลเป็นภาษาต่าง ๆ เครื่องมือนี้ชื่อว่า Pseudo Localization ซึ่งวิธีการก็คือสมมติคำแปลในหน้าต่าง ๆ ขึ้นมาก่อน ให้แสดงผลตัวอักษรในหลายเงื่อนไข เพื่อให้ทีม UI ไปปรับแก้ ดังตัวอย่างด้านล่าง
ผลลัพธ์คำแปลที่ได้ออกมา มีลักษณะเพื่อให้ไปแก้ปัญหาโดยเฉพาะ โดยกำหนด [...] เพื่อบอกจุดเริ่มต้นและสิ้นสุด แปลว่าการแก้ไข UI ต้องเห็นถึง ] ตัวสุดท้าย นอกจากนี้ยังแปลงเป็นตัวอักษรใน ASCII หรือภาษาอื่นที่กินพื้นที่ขึ้นไปด้านบนและด้านล่างด้วย (ตามตัวอย่าง จะเห็นภาษาไทยคำว่า กี้ ใช้ในการทดสอบนี้ด้วย) และสุดท้ายใช้วิธีขยายความยาวคำด้วยการใส่ one two three four แปลว่าขยายออก 40% เป็นต้น
ตัวแบบ Pseudo Localization ยังเผยแพร่ให้ใช้งานสำหรับทีมออกแบบอื่นภายใน Netflix และมีการปรับปรุงออกมาอีกหลายขั้น สามารถอ่านรายละเอียดทั้งหมดได้จากที่มา
ที่มา: Netflix Tech Blog
Comments
ภาษาเยอรมันนี้ฝันร้ายของ Frontend
ปล. มี Pseudo ว่า "กี้" ด้วย ฮ่าๆๆ
ผมนี่นึกถึงคาเมนไรเดอร์ขึ้นมาเลย
[พลาดๆ]
คนขี้ลืม | คนบ้าเกม | คนเหงาๆ
อยากให้แอปอื่นทำแบบนี้บ้างจัง
หลายแอป คำว่า กี้
สระอี และไม้โท หายซะงั้น หรือถูกบดบังจากบรรทัดด้านบน
บางปัญหามันเป็นปัญหาระดับโลกจริงๆ ถ้าสเกลงานไม่ถึงก็ไม่มีวันได้เจอ