Какая польза от атрибута lang в HTML, если мы определили кодировку как utf-8

Почему требуется html lang=en, если мы определяем meta charset=utf-8. Я имею в виду, что мы определили кодировку, так какой смысл в lang?

Что я понимаю из utf-8, так это то, что он содержит в себе символы почти всех языков.


person S.Kumar    schedule 01.10.2020    source источник
comment
UTF8 - это кодировка, а не язык. Язык английский, французский, русский, китайский. Все они обычно обслуживаются на HTML-страницах с кодировкой UTF8.   -  person Panagiotis Kanavos    schedule 01.10.2020


Ответы (2)


Атрибут HTML lang используется для определения языка текстового содержимого в Интернете. Эта информация помогает поисковым системам возвращать результаты для конкретного языка, а также используется программами чтения с экрана, которые переключают языковые профили для обеспечения правильного акцента и произношения. Я добавил ссылку на статью, вы можете прочитать больше:

Справочник

person Orhan    schedule 01.10.2020

Вы путаете кодировку с языком.

Юникод (и кодировка UTF-8) может представлять символы почти для всех языков, вы правы, но как их представлять? Шрифты должны знать язык, чтобы отображать каждый символ в родной форме. Один и тот же символ мог быть написан по-разному, в зависимости от языка (обычно речь идет о лигатурах, но и символы могли быть написаны по-разному). Также в старом английском иногда мы хотим, чтобы s записывалось как f (без средней строки), но мы хотим писать его как s, не используя специальный символ (в Unicode есть is для особых целей). Но правила были только для английского языка. В других языках были другие правила.

Но язык определяет множество других частей: как писать числа (с десятичной точкой или запятой? Как писать даты? и т. д.), а также как разбивать строки (слова).

Потом о читалках, а если хотите, то в браузере посмотрите определение слова, или просто в поисковиках.

UTF-8 — это просто кодировка, ее не следует путать с представлением текста.

person Giacomo Catenazzi    schedule 01.10.2020
comment
Когда я использую lang=fr и запускаю код (который на английском языке), он все равно дает тот же результат. - person S.Kumar; 03.10.2020
comment
@S.Kumar: да, иногда так, но это не значит, что всегда так. Браузеры могут быть более точными (например, если требуется большее пространство после точки или нет). И JavaScript может использовать язык для форматирования, имен и чисел. Но и виджеты. Вы просто сообщаете читателю больше информации о том, чего ожидать. Это неплохо (особенно с индийскими языками). Не все шрифты различают язык (разные глифы в одной и той же кодовой точке Unicode), но это также говорит нам о качестве шрифта и внимании к деталям. - person Giacomo Catenazzi; 03.10.2020