Apa perbedaan antara <html lang="en">
dan <html lang="en-US">
? Nilai lain apa yang bisa mengikuti tanda hubung?
Menurut w3.org " Subkode dua huruf apa pun dianggap sebagai kode negara [ISO3166]." jadi apakah itu berarti nilai apa pun yang tercantum di bawah kode alfa-2 adalah nilai yang diterima?
Jawaban:
lang
Tag pertama hanya menentukan kode bahasa. Yang kedua menentukan kode bahasa, diikuti dengan kode negara.Ya, bagaimanapun nilainya mungkin atau mungkin tidak memiliki arti yang nyata.
<html lang="en-US">
pada dasarnya berarti "laman ini dalam gaya bahasa Inggris AS". Dengan cara yang sama,<html lang="en-GB">
akan berarti "halaman ini dalam gaya Inggris Raya".Jika Anda benar-benar ingin menentukan kombinasi yang tidak valid, Anda bisa. Itu tidak akan berarti banyak, tetapi
<html lang="en-ES">
valid menurut spesifikasi, seperti yang saya pahami. Namun, kombinasi bahasa / negara tersebut tidak akan banyak membantu karena bahasa Inggris tidak umum digunakan di Spanyol.Ini tidak membantu browser untuk menampilkan halaman, tetapi berguna untuk mesin pencari, pembaca layar, dan hal-hal lain yang mungkin membaca dan mencoba menafsirkan halaman, selain manusia.
sumber
hyphens: auto
), makalang
atribut diperlukan untuk memungkinkan browser memilih sekumpulan aturan yang tepat.Anda dapat menggunakan kode negara apa pun, ya, tetapi itu tidak berarti browser atau perangkat lunak lain akan mengenalinya atau melakukan sesuatu secara berbeda karenanya. Misalnya, pembaca layar mungkin menangani "en-US" dan "en-GB" yang sama jika mereka hanya mendukung aksen Amerika dalam bahasa Inggris. Namun, perangkat lunak lain yang memiliki dua suara berbeda, dapat menyesuaikan sesuai dengan kode negara.
sumber
Ini akan membantu: http://www.w3.org/International/articles/language-tags/
sumber
RFC 3066 memberikan rincian nilai yang diizinkan (penekanan dan tautan ditambahkan):
Saya menafsirkan bahwa sebagai makna semua kode 2 huruf yang valid (menurut ISO 3166) valid sebagai sub tag. RFC selanjutnya menyatakan:
Ngomong-ngomong, sepertinya salah ketik, karena bab 3 sepertinya terkait dengan proses pendaftaran, bukan bab 5.
Pencarian cepat untuk registri IANA mengungkapkan daftar yang sangat panjang , dari semua sub tag bahasa yang tersedia. Berikut salah satu contoh dari daftar (yang akan digunakan sebagai
en-scouse
):Ada berbagai macam sub tag yang tersedia; gulungan cepat telah terungkap
fr-1694acad
(Prancis abad ke-17).Kegunaan dari beberapa tag (menurut saya sebagian besar) ini, jika berkaitan dengan dokumen yang dirancang untuk ditampilkan di browser, terbatas. The W3C Internasionalisasi spesifikasi hanya menyatakan:
Saya kesulitan menemukan informasi mendetail tentang bagaimana browser berperilaku saat menemukan tag bahasa yang berbeda, tetapi kemungkinan besar mereka akan menawarkan beberapa manfaat bagi pengguna yang menggunakan pembaca layar, yang dapat menggunakan tag tersebut untuk menentukan bahasa / dialek / aksen untuk menyajikan konten.
sumber
Skema XML mengharuskan namespace xml dideklarasikan dan diimpor sebelum menggunakan xml: lang (dan nilai namespace xml lainnya) RELAX NG mendeklarasikan sebelumnya namespace xml, seperti dalam XML, jadi tidak diperlukan deklarasi tambahan.
sumber
Nah, pertanyaan pertama itu mudah. Ada banyak
en
(bahasa Inggris) tetapi (kebanyakan) hanya satu bahasa Inggris AS. Satu akan menebak adaen-CN
,en-GB
,en-AU
. Kira mungkin ada bahasa Inggris Austria tetapi itu lebih banyak ya Anda bisa daripada ya ada.sumber