lang

Глобальный атрибут lang (от англ. "language" ‒ «язык») позволяет задать язык элемента и для нередактируемых элементов, и для редактируемых элементов, которые заполняются пользователем. Данный атрибут в элементе <html> устанавливает язык для всего текста на странице. Авторам рекомендуется указывать атрибут lang в элементе html, указав приоритетный язык документа, что помогает инструментам синтеза речи и инструментам перевода. В качестве задаваемого значения должно выступать значение допустимое документом BCP 47.

Синтаксис

<element lang="значение">

Например,

<div lang="ru">Этот тект на русском языке</div>

Значения атрибута

Если значением атрибута является пустая строка lang = "", то язык устанавливается на неизвестный, а если значение атрибута недопустимо в соответствии с BCP47, он считается недействительным. Полный синтаксис BCP47 достаточно сложен, чтобы указывать специфические языковые диалекты, но в большинстве случаях это не требуется. Так предусмотрено указание через дефис (-) подверсии языка (версия языка: en-us, zh-gan; набор символов для написания: sr-Latn ‒ сербский-латиница).

Имеется три наиболее распространенных вида субтега:

Языковой субтег Обязательный. Все языковые тэги должны начинаться с субтэга основного языка. 2-или-3-символьный код, который определяет базовый язык, обычно записываемый строчными буквами. Например, код языка для английского - en , а код для Бадеши - bdz .

Субтеги письменности Необязательный. Субтеги письменности должны быть использованы в качестве части языкового тэга только тогда, когда необходимо передать какую-то отличительную информацию через тэг. Обычно это случаи, когда один язык использует различные типы письма или когда контент был записан с помощью нетипичной для данного языка письменности (например, русский текст, написанный латиницей, будет иметь такой тег: ru-Latn). Субтеги письменности всегда состоят из четырёх букв, и должны идти после любых субтегов языка или диалекта и до всех других субтегов. Этот субтег определяет систему записи, используемую для языка, и всегда имеет длину 4 символа, причем первая буква заглавная. Например, французский, написаный шрифтом Брайле - fr-Brail а ja-Kana - японский, написанный с алфавитом катаканы. Если язык написан весьма типичным способом, например, английский в латинском алфавите, нет необходимости использовать этот субтег.

Субтеги региона Необязательный. Этот субтег определяет диалект базового языка из определенного места и представляет собой либо 2 прописные буквы , соответствующие коду страны, либо 3 числа, соответствующие области, не относящейся к стране. Субтэги региона связывают выбранный вами субтэг языка с определённым регионом мира. Субтэги региона должны идти после всех субтэгов языка и письменности. Как и субтэги письменности, субтэги региона следует использовать только, если они вносят информацию, необходимую, чобы отличить этот языковой тэг от другого; если нет - отбрасывайте его. Например, en-GB может быть полезным отличием при проверке правописания, но субтэг региона в ja-JP вряд ли полезен, если только вы намеренно не подчёркиваете, что это не японский, используемый в других частях мира. Есть 2 типа субтэгов региона: двухбуквенные коды и коды, состоящие из трёх цифр. Последние, как правило, определяют многонациональные регионы, а не конкретные страны. Например es-ES означает испанский, на котором говорят в Испании, тогда, как es-419 означает испанский, распространённый в Латинской Америке Субтег письменности предшествует региону, если присутствуют оба, например, ru-Cyrl-BY является русским, написанным на кириллице, как говорят в Беларуси.

Даже если атрибут lang установлен, он нен учитывется, если установлен атрибут xml:lang, т.к. он имеет больший приоритет.

Для CSS псевдо-класса :lang два неправильных значения различаются, если их имена различны. Так, значение :lang(es) соответствует и lang="es-ES", и lang="es-419", а вот значение :lang(xyzzy) не будет соответствовать lang="xyzzy-Zorp!".

Коды распространенных языков

Язык Код
Абхазский ab
Азербайджанский az
Аймарский ay
Албанский sq
Английский en
Американский английский en-us
Арабский ar
Армянский hy
Ассамский as
Африкаанс af
Башкирский ba
Белорусский be
Бенгальский bn
Болгарский bg
Бретонский br
Валлийский cy
Венгерский hu
Вьетнамский vi
Галисийский gl
Голландский nl
Греческий el
Грузинский ka
Гуарани gn
Датский da
Зулу zu
Иврит iw
Идиш ji
Индонезийский in
Интерлингва (искусственный язык) ia
Ирландский ga
Исландский is
Испанский es
Итальянский it
Казахский kk
Камбоджийский km
Каталанский ca
Кашмирский ks
Кечуа qu
Киргизский ky
Китайский zh
Корейский ko
Корсиканский co
Курдский ku
Лаосский lo
Латвийский, латышский lv
Латынь la
Литовский lt
Малагасийский mg
Малайский ms
Мальтийский mt
Маори mi
Македонский mk
Молдавский mo
Монгольский mn
Науру na
Немецкий de
Непальский ne
Норвежский no
Пенджаби pa
Персидский fa
Польский pl
Португальский pt
Пуштунский ps
Ретороманский rm
Румынский ro
Русский ru
Самоанский sm
Санскрит sa
Сербский sr
Словацкий sk
Словенский sl
Сомали so
Суахили sw
Суданский su
Тагальский tl
Таджикский tg
Тайский th
Тамильский ta
Татарский tt
Тибетский bo
Тонга to
Турецкий tr
Туркменский tk
Узбекский uz
Украинский uk
Урду ur
Фиджи fj
Финский fi
Французский fr
Фризский fy
Хауса ha
Хинди hi
Хорватский hr
Чешский cs
Шведский sv
Эсперанто (искусственный язык) eo
Эстонский et
Яванский jw
Японский ja

Пример

<p lang="ru" >Евклид (др.-греч. <span lang="el">Εὐκλείδης </span>) — древнегреческий математик,
    автор первого из дошедших до нас теоретических трактатов по математике.</p>

Совместимость браузеров

Настольные браузеры

Базовая поддержка дададададада

Мобильные браузеры

Базовая поддержка дадададададада

См. также: