lang
Синтаксис тегу мови
Загальний атрибут lang
виозначує мову елемента: мову нередаговного вмісту або мову, якою користувач має писати в редаговних елементах (полях введення). Значення атрибута — один «тег мови» у форматі, визначеному стандартом Теги Ідентифікації Мов (BCP47).
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Першокод цього прикладу збережено у репозиторії GitHub. Якщо ви хочете долучитися до створення чи поліпшення таких прикладів, пропонуйте нам свої зміни до репозиторію https://github.com/mdn/interactive-examples.
Якщо значенням атрибута є порожній рядок (lang=""
), мова встановлюється як невідома; якщо тег мови несумісний із BCP47, мова встановлюється як недійсна.
Повний синтаксис BCP47 досить глибокий, щоб позначити надзвичайно специфічні мовні діалекти, але в більшості використання набагато простіше.
Тег мови складається з мов підтегів, розділених дефісом, де кожен підтег вказує на певну властивість мови. Три найпоширеніші підтеги:
- Підтег мови
- Обов'язковий. Код із 2 або 3 символів, який визначає основну мову, зазвичай написані у нижньому регістрі. Наприклад, код для англійської мови є
en
, а код для Бадеші єbdz
. - Підтег сценарію
- Необов'язково. Цей підтег визначає, яку систему запису використовувати для мови і завжди має довжину 4 символи, починається з великої літери. Наприклад, французька-шрифтом-Брайля буде
fr-Brai
, аja-Kana
це японська, що написана алфавітом Катакана. Якщо мова написана дуже типовим способом, як англійська латинським алфавітом, немає необхідності використовувати цей підтег. - Підтег регіону/області
- Необов'язково. Цей підтег визначає діалект базової мови із певного місця розташування, і це або 2 ВЕЛИКІ літери, що відповідають коду країни, або 3 номери, що відповідають регіону без конкретної країни. Наприклад,
es-ES
це іспанська, якою говорять в Іспанії, аes-013
це іспанська мова в Центральній Америці. “Міжнародний іспанський” просто будеes
.
Підтег скрипта передує підтегу регіону, якщо вони обидва присутні — ru-Cyrl-BY
це російська, написана кирилицею, якою говорять в Білорусі.
Щоб знайти правильні коди підтегу для мови, спробуйте Пошук Підтегу Мови.
Навіть якщо атрибут lang зазначено, його значення може бути знехтувано, бо атрибут xml:lang має пріоритет.
Для псевдо-класу CSS :lang
, дві недійсні (invalid) назви мов є різні, якщо їхні імена відрізняються. Таким чином, :lang(es)
відповідає обом lang="es-ES"
і lang="es-419"
, :lang(xyzzy)
не відповідатиме lang="xyzzy-Zorp!"
.
Специфікації
Специфікація | Статус | Коментар |
---|---|---|
HTML Living Standard The definition of 'lang' in that specification. |
Living Standard | Немає змін від останнього знімку, HTML 5.1 |
HTML 5.1 The definition of 'lang' in that specification. |
Recommendation | Знімок HTML Living Standard, без змін HTML5 |
HTML5 The definition of 'lang' in that specification. |
Recommendation | Знімок HTML Living Standard, поведінка з xml:lang та певний алгоритм визначення мови. Він також є справжнім глобальним атрибутом. |
HTML 4.01 Specification The definition of 'lang' in that specification. |
Recommendation | Підтримується у всіх елементах, крім <applet> , <base> , <basefont> , <br> , <frame> , <frameset> , <iframe> , <param> , та <script> . |
Підтримка веб-переглядачами
BCD tables only load in the browser