โครงสร้างและความเป็นมาของมาตรฐาน ISO 639
มาตรฐาน ISO 639 เป็นระบบสากลที่กำหนดรหัสตัวอักษรเพื่อใช้แทนชื่อภาษาทั่วโลก ในอดีตมาตรฐานนี้ถูกแบ่งออกเป็นหลายส่วนแยกจากกัน ได้แก่ ISO 639-1 (รหัส 2 ตัวอักษร หรือ Set 1) ISO 639-2 (รหัส 3 ตัวอักษร หรือ Set 2) และ ISO 639-3 (รหัส 3 ตัวอักษรเพื่อครอบคลุมทุกภาษาในโลก หรือ Set 3) จนกระทั่งเกิดการปรับปรุงและรวมเข้าด้วยกันเป็นมาตรฐานเอกภาพภายใต้ชื่อ ISO 639:2023
การทำความเข้าใจความสัมพันธ์ระหว่างรหัสแต่ละชุด (Identifier Set) มีความสำคัญอย่างยิ่งต่อการจัดการฐานข้อมูลและการแปลซอฟต์แวร์ (Localization) รหัส Set 1 มักใช้กับภาษาหลักที่มีการใช้งานอย่างแพร่หลายในอินเทอร์เน็ต ในขณะที่ Set 2 และ Set 3 จะขยายขอบเขตเพื่อรองรับภาษาถิ่น ภาษาโบราณ และภาษาเฉพาะกลุ่ม ระบบค้นหาของเครื่องมือนี้ช่วยให้ผู้ใช้งานสามารถสืบค้นและเชื่อมโยงรหัสที่แตกต่างกันเหล่านี้ได้อย่างถูกต้องตามฐานข้อมูลอ้างอิงอย่างเป็นทางการ
ความแตกต่างระหว่างรหัสบรรณารักษ์ (B) และรหัสคำศัพท์ (T)
ข้อกำหนดที่มักสร้างความสับสนในระบบ ISO 639-2 (Set 2) คือการมีอยู่ของรหัสสองรูปแบบสำหรับภาษาเดียวกันในกลุ่มภาษาจำนวนหนึ่ง ได้แก่:
- รหัสบรรณารักษ์ (Bibliographic หรือ B): พัฒนาขึ้นเพื่อใช้ในระบบห้องสมุดและการจัดหมวดหมู่หนังสือตามประเพณีเดิม
- รหัสคำศัพท์ (Terminology หรือ T): พัฒนาขึ้นเพื่อใช้ในงานด้านระบบข้อมูลและเทคโนโลยีสารสนเทศ ซึ่งมีความสอดคล้องทางโครงสร้างกับรหัสใน Set 3 มากกว่า
ตัวอย่างที่ชัดเจนคือภาษาฝรั่งเศส ซึ่งใช้รหัส fre ในระบบ Set 2/B แต่ใช้รหัส fra ในระบบ Set 2/T และ Set 3 หากระบบปลายทางไม่ได้กำหนดข้อตกลงการใช้งานที่ชัดเจน การสลับกันระหว่างรหัส B และ T อาจส่งผลให้การแลกเปลี่ยนข้อมูลระหว่างระบบเกิดความผิดพลาดได้
ขอบเขตและประเภทของภาษาในระบบทะเบียน
มาตรฐาน ISO 639 จำแนกภาษาออกตามขอบเขตและประเภทของภาษาอย่างเป็นระบบ โดยมีการกำหนดรหัสภายในเพื่อแปลงค่าแสดงผลดังนี้:
ขอบเขตของภาษา (ขอบเขต)
- ภาษาส่วนบุคคล (รหัส
I) - ภาษามาโคร (รหัส
M) - รหัสพิเศษ (รหัส
S) - คอลเลกชันภาษา (รหัส
C) - ช่วงการใช้งานในท้องถิ่นที่สงวนไว้ (รหัส
R)
ประเภทของภาษา (ประเภทภาษา)
- การใช้ชีวิต (รหัส
L) - สูญพันธุ์ (รหัส
E) - โบราณ (รหัส
A) - ประวัติศาสตร์ (รหัส
H) - สร้างขึ้น (รหัส
C) - พิเศษ (รหัส
S)
แนวคิดเรื่องภาษาใหญ่และภาษาสมาชิก
โครงสร้างแบบภาษาใหญ่ (ภาษามาโคร) ถูกออกแบบมาเพื่อแก้ปัญหาการจัดหมวดหมู่ในกรณีที่ภาษาหนึ่งมีภาษาย่อยจำนวนมาก ซึ่งในบางบริบทอาจถูกมองว่าเป็นภาษาเดียวกัน แต่ในทางภาษาศาสตร์กลับมีความแตกต่างกันจนไม่สามารถสื่อสารกันเข้าใจได้โดยง่าย
ตัวอย่างที่เด่นชัดคือภาษาจีน (Chinese) ซึ่งจัดเป็นภาษาใหญ่ (ภาษามาโคร) โดยมีภาษาสมาชิกย่อยภายใต้รหัสระบบ เช่น ภาษาจีนกลาง (Mandarin Chinese) เครื่องมือนี้ช่วยให้ผู้ใช้งานสามารถสืบค้นความสัมพันธ์และตรวจสอบได้ว่ารหัสใดเป็นภาษาสมาชิกภายใต้ภาษาใหญ่ใด เพื่อป้องกันความผิดพลาดในการกำหนดรหัสภาษาในระบบฐานข้อมูลสากล
ข้อจำกัดและข้อควรระวังในการใช้งานรหัส
ในการทำงานจริงกับรหัส ISO 639 มีข้อจำกัดและขอบเขตข้อมูลที่ผู้ใช้งานควรระวังเพื่อหลีกเลี่ยงความผิดพลาด:
- รหัสที่ยังไม่ถูกกำหนด (Unassigned Codes): รหัสตัวอักษรบางชุดอาจยังไม่มีการจัดสรรให้กับภาษาใดๆ ในระบบอ้างอิง ซึ่งจะแสดงสถานะเป็น "ไม่ได้รับมอบหมาย"
- ประวัติรหัสที่ถูกยกเลิก (Retired Codes): เครื่องมือนี้มุ่งเน้นการแสดงผลข้อมูลปัจจุบันจากชุดข้อมูล snapshot ที่กำหนดเท่านั้น จึงไม่ครอบคลุมประวัติการยกเลิกรหัสย้อนหลังของ Set 3
- การค้นหาด้วยชื่อภาษาท้องถิ่น: ชื่อภาษาในท้องถิ่นที่แสดงผลผ่านเบราว์เซอร์เป็นเพียงข้อมูลช่วยค้นหาเท่านั้น ชื่อที่เป็นทางการและน่าเชื่อถือที่สุดสำหรับการอ้างอิงคือชื่ออ้างอิงอย่างเป็นทางการ
คำถามที่พบบ่อย (FAQ)
ถาม: เครื่องมือนี้ทำงานโดยส่งข้อมูลการค้นหาไปยังเซิร์ฟเวอร์ภายนอกหรือไม่?
ตอบ: ไม่ ข้อมูลการค้นหาทั้งหมดจะถูกประมวลผลภายในเบราว์เซอร์ของผู้ใช้งานโดยตรงผ่านชุดข้อมูลอ้างอิงที่มาพร้อมกับหน้าเว็บ ไม่มีการอัปโหลดข้อมูลใดๆ ออกไปภายนอก
ถาม: ทำไมการค้นหาด้วยชื่อภาษาบางครั้งจึงไม่แสดงผล?
ตอบ: การค้นหาด้วยชื่อภาษาจำเป็นต้องพิมพ์ตัวอักษรอย่างน้อย 2 ตัวอักษรขึ้นไป และความยาวทั้งหมดของคำค้นหาต้องไม่เกิน 79 ตัวอักษร เพื่อให้ระบบสามารถประมวลผลได้อย่างถูกต้อง
ถาม: รหัสประเภท "ช่วงการใช้งานในท้องถิ่นที่สงวนไว้" มีไว้เพื่ออะไร?
ตอบ: เป็นช่วงรหัสที่มาตรฐาน ISO 639 สำรองไว้ให้ผู้พัฒนาซอฟต์แวร์หรือผู้ดูแลระบบสามารถนำไปกำหนดใช้เองเป็นการภายในองค์กร สำหรับภาษาหรือภาษาถิ่นที่ยังไม่มีการกำหนดรหัสอย่างเป็นทางการในระบบสากล
ถาม: ข้อมูลในเครื่องมือนี้อ้างอิงจากมาตรฐานชุดใด?
ตอบ: ข้อมูลเป็นการรวมกันของทะเบียนอย่างเป็นทางการของ ISO 639:2023 ทั้งในส่วนของ Set 3 และ Set 2 ตามวันที่ระบุใน snapshot ของระบบ