Apa perbedaan antara <html lang = “en”> dan <html lang = “en-US”>?

106

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?

Celeritas
sumber
Anda dapat menemukan lebih banyak detail di RFC yang ditautkan ke dalam spesifikasi .
James Allardice
1
apakah Anda tertarik dengan perbedaan antara browser atau teori (spesifikasi)?
Aprillion
@ keduanya. Maksud saya, apakah ini membantu browser lebih jauh untuk menampilkan halaman?
Celeritas

Jawaban:

130

<html lang="en">
<html lang="en-US">

langTag pertama hanya menentukan kode bahasa. Yang kedua menentukan kode bahasa, diikuti dengan kode negara.

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?

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.

Maksud saya, apakah ini membantu browser lebih jauh untuk menampilkan halaman?

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.

Jeremy Wiggins
sumber
31
FWIW, bahasa resmi Uganda sebenarnya adalah bahasa Inggris dan Swahili.
Muhammad Alkarouri
34
Ha, poin yang bagus. Betapa Amerika saya. :( Saya memperbarui contoh ke Spanyol, dan kali ini melakukan sedikit kerja keras untuk memastikan bahasa Inggris juga bukan bahasa resmi di sana. Terima kasih atas tipnya.
Jeremy Wiggins
@JeremyWiggins, tentang 2 baris terakhir dalam jawaban Anda, dimulai dengan "itu tidak membantu browser ....". Bagaimana jika situs webnya internasional (internasionalisasi), apakah pengaturan tag bahasa masih diperlukan?
Yustme
4
Mengenai dua baris terakhir - jika halaman menggunakan tanda hubung dari CSS ( hyphens: auto), maka langatribut diperlukan untuk memungkinkan browser memilih sekumpulan aturan yang tepat.
RobertT
1
Tidak hanya pengaturan bahasa untuk mesin pencari atau pembaca layar yang dibantu dengan pengaturan bahasa yang tepat juga terdapat efek tipografi. Misalnya kutipan sederhana <q> </q> hanya diinterpretasikan dengan benar dengan pengaturan bahasa yang benar yang berbeda antara de-DE, de-CH, fr dan fr-CH misalnya.
theking2
8

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.

woz
sumber
Tautannya mati, jika Anda menemukan penggantinya, harap tandai ini untuk dibatalkan penghapusannya
Taryn
5

Ini akan membantu: http://www.w3.org/International/articles/language-tags/

Aturan emas saat membuat tag bahasa adalah membuat tag sesingkat mungkin. Hindari wilayah, skrip, atau sub tag lainnya kecuali jika menambahkan informasi pembeda yang berguna. Misalnya, gunakan ja untuk bahasa Jepang dan bukan ja-JP, kecuali jika ada alasan khusus yang perlu Anda katakan bahwa ini adalah bahasa Jepang yang digunakan di Jepang, bukan di tempat lain.

Daftar di bawah ini menunjukkan berbagai jenis sub tag yang tersedia. Kami akan mengupayakan cara kami melalui ini dan bagaimana mereka digunakan di bagian selanjutnya.

bahasa-extlang-script-region-variant-extension-privateuse

Alfred D'Souza
sumber
1
Beberapa aplikasi perangkat lunak default ke ejaan AS dan lokalisasi ketika opsi bahasa Inggris umum dipilih, misalnya Windows melakukan ini untuk paket bahasa Inggris. technet.microsoft.com/en-us/library/cc766191(v=ws.10).aspx Windows (tidak membantu) hanya memiliki satu paket bahasa untuk beberapa negara yang berbicara banyak bahasa, seperti Belanda (Belanda, bukan Prancis) tapi empat untuk Spanyol (Catalan, Galicia, Basque, Spanyol). Belgia menjadi nol, mungkin karena banyak bahasa nasional adalah bahasa mayoritas di negara lain.
Mousey
2

RFC 3066 memberikan rincian nilai yang diizinkan (penekanan dan tautan ditambahkan):

Semua sub tag 2 huruf diinterpretasikan sebagai kode negara ISO 3166 alpha-2 dari [ISO 3166] , atau selanjutnya ditetapkan oleh badan pemeliharaan ISO 3166 atau badan standardisasi yang mengatur, yang menunjukkan area yang terkait dengan varian bahasa ini.

Saya menafsirkan bahwa sebagai makna semua kode 2 huruf yang valid (menurut ISO 3166) valid sebagai sub tag. RFC selanjutnya menyatakan:

Tag dengan sub tag kedua dari 3 sampai 8 huruf dapat didaftarkan di IANA, sesuai dengan aturan di bab 5 dokumen ini.

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):

Jenis: varian

Subtag: scouse

Deskripsi: Scouse

Ditambahkan: 2006-09-18

Awalan: en

Komentar: Dialek Liverpudlian Inggris yang dikenal sebagai '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:

Browser dan aplikasi lain dapat menggunakan informasi tentang bahasa konten untuk menyampaikan informasi yang paling tepat kepada pengguna, atau untuk menyajikan informasi kepada pengguna dengan cara yang paling tepat. Semakin banyak konten yang di-tag dan di-tag dengan benar, aplikasi semacam itu akan semakin berguna dan menyebar.

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.

James Allardice
sumber
0

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.

hellosi
sumber
-1

Nah, pertanyaan pertama itu mudah. Ada banyak en(bahasa Inggris) tetapi (kebanyakan) hanya satu bahasa Inggris AS. Satu akan menebak ada en-CN, en-GB, en-AU. Kira mungkin ada bahasa Inggris Austria tetapi itu lebih banyak ya Anda bisa daripada ya ada.

Wes Miller
sumber
6
EN-UK adalah en-gb ... lihat di sini untuk daftar 10 bahasa Inggris andiamo.co.uk/language-resources/iso-language-codes.aspx
Codemwnci
1
tetapi hanya ada satu Zulu! : o)
Codemwnci