i ในภาษาตุรกี
(en.wikipedia.org)เวลาจัดการเรื่อง internationalization ของซอฟต์แวร์ สิ่งที่ชวนปวดหัวเป็นพิเศษคือสถานการณ์ที่มันทำงานได้กับแทบทุกภาษา แต่กลับใช้ไม่ได้กับบางภาษา (หรืออาจจะแค่ภาษาเดียว) เท่านั้น ตัวอย่างคลาสสิกคือ i สองชนิดที่มีเฉพาะในภาษาตุรกีและภาษาอาเซอร์ไบจาน ในอักษรละตินทั่วไปจะมีเพียง i ตัวพิมพ์เล็กที่มีจุด และ I ตัวพิมพ์ใหญ่ที่ไม่มีจุด แต่ในภาษาเหล่านี้ ı/I ที่ไม่มีจุด และ i/İ ที่มีจุด จะจับคู่กันแยกต่างหาก ตัวอย่างเช่น อักษรตัวแรกของคำว่า "อิสตันบูลİstanbul" คือ İ ซึ่งเป็นตัวพิมพ์ใหญ่ที่มีจุด
ใน Unicode ไม่มีการเข้ารหัส i/I ของภาษาตุรกี·อาเซอร์ไบจานแยกต่างหาก (เพราะถือว่าเป็นอักษรละตินตัวเดียวกัน) จึงมักเกิดปัญหาในซอฟต์แวร์ที่ไม่ได้คำนึงถึงภาษาเหล่านี้ และเคยมีกรณีที่ร้ายแรงถึงขั้นมีผู้เสียชีวิตด้วย [1] หากต้องการจัดการให้ถูกต้อง จำเป็นต้องใช้ไลบรารี Unicode ที่คำนึงถึงข้อมูลวัฒนธรรม (locale) ภาษาและสภาพแวดล้อมที่มีการจัดการ locale อยู่แล้ว เช่น Java หรือ C# มักไม่มีปัญหาใหญ่ ส่วนที่อื่นจะต้องใช้ไลบรารีเพิ่มเติมอย่าง ICU
[1] https://gizmodo.com/a-cellphones-missing-dot-kills-two-people-puts-thr…
1 ความคิดเห็น
ภาษาตุรกี... ผมจำได้ว่าเคยลำบากเพราะคำมันยาว ทำให้ติดปัญหาเรื่องความกว้างของ label/ปุ่ม...