ค่าภาษา + ภูมิภาคของแอตทริบิวต์ HTML5 lang


11

ฉันกำลังทำงานบนเว็บไซต์ที่จะนำเสนอเนื้อหาที่มีการแปลตามlanguage+regionแนวทางที่อธิบายไว้ในหน้า W3.org นี้ (เช่นfr-CAสำหรับเนื้อหาภาษาฝรั่งเศสแบบแคนาดาและเนื้อหาfr-FR"ภาษาฝรั่งเศสภาษาฝรั่งเศส") เนื่องจากเราพิจารณาว่าเนื้อหาแต่ละlanguage+regionรายการมีความแตกต่างกันเป็นสิ่งสำคัญสำหรับเราที่เครื่องมือค้นหาจะระบุและแสดงเนื้อหาอย่างเหมาะสม

เมื่อค้นหาบนอินเทอร์เน็ต (เช่นคำถามนี้ ) ปรากฏว่าคนส่วนใหญ่แนะนำให้ใช้รหัสภาษา ISO639ในlangแอตทริบิวต์HTML เพื่ออธิบายภาษาเนื้อหา ทำตามคำแนะนำนี้เราจะใช้<html lang="fr">ซึ่งจะไม่ทำให้เกิดความแตกต่างระหว่างlanguage+regionชุดค่าผสมข้างต้น

เมื่อตรวจสอบข้อกำหนดของ HTML4ดูเหมือนว่าการใช้language+regionเป็นรหัสภาษาจะสมบูรณ์แบบได้อย่างสมบูรณ์เนื่องจากen-USตัวอย่างจะให้เป็นหนึ่งค่าที่เป็นไปได้ อย่างไรก็ตามฉันไม่พบการยืนยันใด ๆ ในข้อกำหนด HTML5ซึ่งดูเหมือนจะไม่ให้ตัวอย่างใด ๆ เกี่ยวกับค่าที่ใช้ได้

จากนั้นฉันก็พยายามหาคำตอบโดยดูจากสิ่งที่ยักษ์เว็บทำอยู่ ฉันดูว่า Facebook กำลังทำอะไร: พวกเขาเสนอเว็บไซต์ในเวอร์ชัน Candian French และ French French ด้วยเนื้อหาที่แตกต่างกันเล็กน้อย (เล็กน้อย) ในขณะที่langค่าHTML ยังคงเหมือนเดิม:


URL fr-CA : http://fr-ca.facebook.com
แอตทริบิวต์ lang HTML: การ<html lang="fr">
แปลคำว่า 'email':courriel


URL fr-FR : http://fr-fr.facebook.com/
แอตทริบิวต์ lang HTML: การ<html lang="fr">
แปลคำว่า 'email':Adresse électronique

วิธีที่แนะนำ / มาตรฐานของการอธิบายเนื้อหาที่แปลเป็นภาษาท้องถิ่นโดยใช้language+regionวิธีการใน HTML5 คืออะไร?

คำตอบ:


5

W3C ให้คำแนะนำที่มีความยาวมากในการเลือกแท็ก / แท็กภาษา

บิตสำคัญ:

ภาษาไวยากรณ์แท็กจะถูกกำหนดโดย IETF ของBCP 47 ก่อนหน้านี้คุณจำเป็นต้องศึกษารายการรหัสในมาตรฐาน ISO ต่างๆเพื่อค้นหาแท็กย่อยที่ถูกต้องแต่ตอนนี้คุณต้องดูในRegistryย่อยภาษาของ IANAเท่านั้น เราจะอธิบายรีจิสทรีใหม่ด้านล่าง

บทความนี้ให้คำแนะนำเกี่ยวกับวิธีการเลือกส่วนประกอบของแท็กภาษา สำหรับภาพรวมของแนวคิดที่กำหนดไว้ใน BCP 47 ให้ดู แท็กภาษาใน HTML และ XML

...

มีเครื่องมือที่ให้ความช่วยเหลือเพิ่มเติมในขณะที่ค้นหารีจิสทรีเช่นเครื่องมือภาษาแท็กย่อย Lookup ริชาร์ดอิชิดะของ

...

ให้แน่ใจว่าคุณมีภาษาที่ถูกต้อง บางครั้งก็จ่ายเพื่อตรวจสอบทางเลือกน้อย Mark Davis ผู้เขียนร่วมของ BCP47 เขียนว่า "บ่อยครั้งที่มันไม่ชัดเจนว่าจะใช้ตัวระบุภาษาใดตัวอย่างเช่นสิ่งที่คนส่วนใหญ่เรียกว่าปัญจาบในปากีสถานจริง ๆ แล้วมีรหัส 'lah' และชื่อทางการ 'Lahnda' กรณีอื่น ๆ ที่ใช้ชื่อเดียวกันสำหรับภาษาต่าง ๆ หรือชื่อที่ผู้ใช้ค้นหาไม่มีอยู่ในรายการรีจิสทรีของ IANA "

คุณสามารถค้นหาข้อมูลภาษาในเอสไอแอลอคและการอ้างอิงข้ามว่าข้อมูลกับวิกิพีเดีย Ethnologue ใช้รหัสสามตัวอักษรเดียวกันกับ BCP47 แต่คุณจะต้องแปลงรหัสตัวอักษร BCP47 2 ตัวเป็น ISO 639-3เพื่อค้นหาภาษาด้วยรหัส ( เครื่องมือของ Richard Ishidaทำเพื่อคุณ)

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

(ของฉันเน้น)

ควรสังเกตว่ารีจิสทรีของแท็กย่อยภาษาของ IANAนั้นค่อนข้างใช้งานยาก ด้วยข้อยกเว้นของแท็ก grandfathered-in (เช่นen-GB-oed) คุณต้องค้นหาแท็กตระกูลภาษาและแท็กย่อยภูมิภาค / ตัวแปร และแท็ก / แท็กย่อยจะถูกจัดเรียงตามประเภทมากกว่าลำดับชั้น ดังนั้นเพียงแค่ช่วยตัวเองเวลาและปัญหาและการใช้เครื่องมือค้นหาริชาร์ดอิชิดะน่ากลัว


2

การใช้<html lang="fr-FR">และไม่<html lang="fr-CA">เป็นอันตรายหากตรงกับเนื้อหาจริง แต่เครื่องมือค้นหาจะไม่สนใจ<html lang="fr">สิ่งเหล่านี้

HTML5 ไม่ได้หมายความว่าจะเปลี่ยนการใช้รหัสภาษา ระบบของรหัสตามที่กำหนดไว้ใน BCP 47 และส่วนขยายนั้นซับซ้อนมากและช่วยให้คุณสามารถระบุตัวแปรภาษาได้อย่างเจ็บปวด สถานะของศิลปะอยู่ในระดับมากง่ายกว่ามากและ fr-FR และ fr-CA เป็นตัวแทนที่ดีที่สุดที่คุณสามารถประสบความสำเร็จในวันนี้ในซอฟต์แวร์ ค่อนข้างบ่อยเพียงรหัสหลัก (นี่ fr) เรื่อง

ไม่มีหลักฐานของเครื่องมือค้นหาที่ให้ความสนใจกับการประกาศของรหัสภาษาเช่นlangคุณลักษณะใด ๆ ซอฟต์แวร์อื่น ๆ เช่นยัติภังค์ตัวตรวจสอบการสะกดสังเคราะห์เสียงพูดและอัลกอริทึมการเลือกแบบอักษรเริ่มต้นอาจพิจารณาlangคุณลักษณะ แต่เครื่องมือค้นหาทำการวิเคราะห์แบบฮิวริสติกตามเนื้อหาจริง

เป็นการยากที่จะตำหนิพวกเขาเนื่องจากสิ่งนี้ให้ผลลัพธ์ที่ดีกว่าการไว้วางใจlangคุณลักษณะ ตัวอย่างเช่นเครื่องมือการเขียนจำนวนมากสร้างโดยอัตโนมัติโดยlang="en"ไม่คำนึงถึงเนื้อหาจริงโดยไม่บอกผู้เขียน


2

[นี่ไม่ใช่พื้นที่ที่แข็งแกร่งที่สุดของฉันดังนั้นฉันแค่อ้างเอกสารที่นี่ แต่ดูเหมือนว่าคุณมองข้ามบางสิ่งไป]

ข้อมูลจำเพาะ HTML5 ต้องว่าlangค่าจะถูกต้องBCP 47 แท็ก ในเอกสารนั้นบิตที่เกี่ยวข้องดูเหมือนว่าจะอยู่ในส่วน 3.4:

ตัวอย่างเช่นการใช้งานสามารถแมปช่วงภาษาเพิ่มเติมกับช่วงพื้นฐาน ความเป็นไปได้อีกประการหนึ่งคือการนำไปใช้เพื่อส่งคืนแท็กการจับคู่ที่เป็นลำดับแรกใน ASCII หากช่วงภาษาเป็น "* -CH" ('CH' หมายถึงสวิตเซอร์แลนด์) และชุดของแท็กประกอบด้วย "de-CH" (ภาษาเยอรมันที่ใช้ในสวิตเซอร์แลนด์), "fr-CH" (ฝรั่งเศส, สวิตเซอร์แลนด์) และ "มัน -CH "(อิตาลี, สวิตเซอร์แลนด์) จากนั้นแท็ก" de-CH "จะถูกส่งกลับ

... ซึ่งเมื่อคุณดูเป็นสิ่งที่คุณได้รับจาก HTML 4 spec อ้าง RFC1766 โดยละเอียดยิ่งขึ้น


ฉันพบปัญหาในการระบุย่อหน้าที่คุณเสนอ (ฉันค้นหาคำหลักบางคำในลิงก์ที่ฉันให้ไว้และในส่วน 3.4 และไม่พบอะไรเลย) คุณสามารถให้ลิงค์กับฉันได้ไหม (ควรมีแท็กแฮชหากเป็นไปได้)
สูงสุด

ข้อมูลจำเพาะ HTML 5 เพียงอ้างอิงถึงรูปแบบที่ต้องการ บิตที่ยกมานั้นมาจากลิงค์ BCP 47 ซึ่งเป็นรูปแบบที่กำหนดไว้จริง
Su '
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.