Загальний атрибут lang виозначує мову елемента: мову нередаговного вмісту або мову, якою користувач має писати в редаговних елементах (полях введення). Значення атрибута — один «тег мови» у форматі, визначеному стандартом Теги Ідентифікації Мов (BCP47).

Якщо значенням атрибута є порожній рядок (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>.

Підтримка веб-переглядачами

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
langChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes

Legend

Full support  
Full support

Див. також

Мітки документа й учасники

Зробили внесок у цю сторінку: asmforce, HA3IK
Востаннє оновлена: asmforce,