Как подключить русский язык в html
Перейти к содержимому

Как подключить русский язык в html

Объявление языка в HTML

Всегда используйте языковой атрибут тэга html для объявления языка по умолчанию на странице. Если страница содержит контент на другом языке, добавляйте языковой атрибут к элементам, окружающим этот контент.

Используйте lang атрибут для HTML страниц и xml:lang атрибут для страниц XML. Для XHTML 1.x и документов HTML5 Polyglot используйте оба атрибута вместе.

Используйте языковые тэги из IANA Language Subtag Registry . Вы можете найти тэги также с помощью Language Subtag Lookup.

Используйте вложенные элементы для того, чтобы позаботиться о контенте и значения атрибутов для одинаковых элементов на разных языках.

Детали

Основы

Всегда используйте языковой атрибут элемента html . Он наследуется всеми другими элементами, и поэтому для текста в head элементе документа будет задан язык по умолчанию.

Обратите внимание, что предпочтительнее использовать html элемент, чем body , так как body элемент не включает в себя текст из head элемента.

Если у вас есть какой-либо контент на странице, язык которого отличается от заданного в языковом атрибуте элемента html , добавляйте языковые атрибуты к элементам окружающим такой контент. Это позволит вам отображать или обрабатывать его различным образом.

С некоторыми частями кода у вас могут возникнуть проблемы. Если у вас есть мультиязычный текст в элементе title , вы не сможете разметить текст, содержащий разные языки, потому что title атрибут поддерживает только символы, а не разметку. То же самое относится к нескольким языкам в значениях атрибутов. На текущий момент эффективное решение этой проблемы отсутствует.

Выбор корректного атрибута

Если ваш документ HTML (то есть обрабатывается, как text/html ), используйте lang атрибут для установки языка документа или блока текста. Например, следующий код установит французский языком по умолчанию:

Когда XHTML 1.x или страницы Polyglot обрабатываются, как text/html , используйте оба атрибута lang и xml:lang вместе каждый раз, когда вы хотите объявить язык. Атрибут xml:lang — это стандартный способ объявления языковой информации в XML. Убедитесь, что значения обоих атрибутов идентичны.

<html lang=»fr» xml:lang=»fr» xmlns=»http://www.w3.org/1999/xhtml»>

Атрибут xml:lang не особо полезен для обработки HTML файлов, но он будет перекрывать значение lang атрибута каждый раз, когда вы обрабатываете документ, как XML. Атрибут lang разрешен синтаксисом XHTML и может быть распознан браузерами. Однако, когда используются другие синтаксические анализаторы XML (например, функция lang() в XSLT), вы не можете полагаться на то, что атрибут lang будет распознан.

Если вы обрабатываете ваш документ, как XML (то есть используете MIME type application/xhtml+xml ), то атрибут lang не нужен, будет достаточно атрибута xml:lang .

<html xml:lang=»fr» xmlns=»http://www.w3.org/1999/xhtml»>

Что, если содержимое элемента и значения его атрибутов на разных языках?

Иногда язык текста в атрибутах и язык непосредственно контента элемента различаются. Например, в правом верхнем углу этой статьи расположен список ссылок на другие переводы данной страницы. Текст ссылки отображает язык целевой страницы, но связанный title атрибут содержит подсказку на языке текущей страницы:

Screen snap showing a tooltip containing the word

Если ваш код выглядит, как указано ниже, то атрибут языка указывает, что испанский — не только язык контента, но и title текста. Это, очевидно, некорректно.

Некорректный код. Не копируйте!

<a lang=»es» title=»Spanish» href=»qa-html-language-declarations.es»> Español </a>

Вместо этого, перенесите языковой атрибут в другой элемент, как показано в данном примере, в котором span элемент наследует en язык по умолчанию, установленный у html элемента.

<span title=»Spanish»><a lang=»es» href=»qa-html-language-declarations.es»> Español </a></span>

Что если нет подходящего элемента для того, чтобы прицепить атрибут языка?

Если вы хотите указать язык контента, но вокруг него нет никакой разметки, используйте такой элемент, как span или div . Вот пример:

<p>You’d say that in Chinese as <span lang=»zh-Hans»>中国科学院文献情报中心</span>.</p>

Выбор значений языка

Чтобы быть уверенными, что юзер агенты распознают указанный вами язык, вам следует придерживаться стандартизированному подходу при указании значений атрибутов языка. Вам также необходимо подумать о том, как стандартизированно ссылаться на различные диалекты одного языка, например, такие, как американский и британский английский, которые существенно отличаются своим написанием и произношением.

Правила создания языковых атрибутов описываются IETF спецификацией, которая называется BCP 47. Помимо описания использования простых тэгов языка таких, как en (английский) или fr (французский), BCP 47 описывает, как сочетать языковые тэги, что позволяет вам указывать региональные диалекты, скрипты и другие варианты, относящиеся к данному языку.

BCP 47 включает в себя, но выходит за рамки ISO списков кодов языков и стран. Чтобы найти подходящий код, вам нужно обратиться к IANA Language Subtag Registry .

Неофициальная утилита Language Subtag Lookup предоставляет удобный фронтенд инструментарий для IANA registry.

Для краткого, но достаточно тщательного ознакомления с синтаксисом тэгов BCP 47, читайте Языковые тэги в HTML и XML . Если необходима помощь в выборе корректного языкового тэга из множества возможных тэгов и комбинаций, смотрите Выбор тэга языка .

Дополнительная информация

Указание метаданных о языке аудитории

Если вы хотите создать метаданные, описывающие скорее язык целевой аудитории страницы, чем язык определенной части текста, реализуйте это с помощью отправки сервером информации в HTTP заголовке Content-Language . Если ваша целевая аудитория говорит более, чем на одном языке, HTTP заголовок позволяет вам использовать список языков, разделённых запятыми.

Это пример HTTP заголовка, объявляющего ресурс смесью английского, хинди панджаби языков:

Content-Language: en, hi, pa

Обратите внимание, что этот подход не сработает, если страница загружается с жесткого диска, CD или другого источника, не являющегося сервером. В настоящее время нет широко распространенного способа использования таких метаданных внутри страницы.

В прошлом многие люди использовали meta элемент с атрибутом http-equiv со значением Content-Language . Из-за давних путаниц и непоследовательных реализаций этого элемента HTML5 спецификация сделала его несоответствующим стандартам HTML, так что вам больше не следует использовать этот элемент.

Для обратной совместимости, HTML5 описывает алгоритм, с помощью которого язык контента может быть определён из HTTP или meta Content-Language информации при определённых условиях. Как бы то ни было, это только запасной механизм для случаев, когда языковой атрибут отсутствует у html тэга. Если вы используете атрибут языка для html , что следует делать всегда, подобные запасные пути бесполезны.

Для подробной информации о Content-Language в HTTP и meta элементах читайте HTTP и meta для информации о языке .

Различные вещи, которые не относятся к делу

Вероятно, стоит упомянуть ещё несколько моментов, которые не имеют отношения к этой дискуссии.

Первое, невозможно объявить язык с помощью CSS.

Второе, DOCTYPE , с которого должен начинаться любой HTML может содержать то, что выглядит для некоторых людей, как объявления языка. DOCTYPE в примере ниже содержит текст EN, что означает ‘English’. Это, тем не менее, указывает на язык schema (схемы), связанной с данным документом – это никоим образом не указывает на непосредственно язык самого документа.

<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Transitional//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»>

Третье, иногда люди предполагают, что информация о естественном языке может быть получена из кодировки символов. Тем не менее, кодировка символов не позволяет однозначно идентифицировать естественный язык. Должно быть взаимно однозначное сопоставление между кодировкой и языком, чтобы это сработало, а его нет. Одна кодировка может быть использована многими языками, например Latin 1 (ISO-8859-1) используется и французским, и английским, а ещё многими другими языками. В дополнение, кодировка может отличаться в рамках одного языка, например арабский может использовать ‘Windows-1256’ или ‘ISO-8859-6’ или ‘UTF-8’.

Все эти примеры кодировок спорны, так как весь контент сегодня должен быть создан в UTF-8, который охватывает все, кроме самых редких, языки.

В некоторых текстах, таких, как арабский и иврит, отображаемый текст читается в основном справа налево, хотя числа и иностранные термины отображаются слева направо. Необходима разметка, такая, как dir атрибут, для объявления right-to-left содержания. И в некоторых случаях разметка необходима для правильного отображения двунаправленного текста, но это невозможно сделать с помощью разметки языка.

То же самое относится к направлению текста. Как и в случае с кодировками, не всегда существует соответствие между языком и текстом, в том числе его направлением. Например, азербайджанский может быть записан справа налево (арабская письменность) и слева направо (латиница и кириллица), соответственно код языка az может относится к обоим вариантам. Дополнительно, разметка направления текста применяет к тексту целый ряд различных значений, в то время, как язык является простым переключателем, который не соответствует поставленным задачам.

Русский язык в html – HTML — поддержка русского языка » PacificSky.Ru

Код языка применяется для атрибутов, задающих язык, на котором написан весь документ или отдельные его блоки. В HTML язык обычно задается через атрибут lang.

В табл. 1 приведены некоторые распространенные языки и их коды, которые используются в качестве значений.

Не выкладывайте свой код напрямую в комментариях, он отображается некорректно. Воспользуйтесь сервисом cssdeck.com или jsfiddle.net, сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.

Коды для обозначения языков | HTML справочник

Код языка, подразумевает собой сокращенное наименование, состоящее из двух букв которые определяют язык содержимого внутри элемента. Если у языка есть диалект, то через дефис добавляют еще две буквы (например, США lang =»en-us»).

Основная функция глобального атрибута lang определить язык содержимого внутри HTML элемента. Например, атрибут lang, применённый к тегу <html> указывает язык содержимого веб-страницы (для всего текста на странице).

Старайтесь всегда объявлять язык страницы — это важно для приложений, читающих с экрана, для поисковых систем, для осущствления правильной расстановки переносов, выбора необходимого набора кавычек браузером (вид может зависеть от языка), проверки орфографии и пунктуации и так далее.

Атрибут имеет следующий синтаксис:

Пример использования атрибута в мультиязычном документе:

В этом примере основной язык документа является русский («ru»), а один абзац объявлен на испанском языке («es»).

Таблица содержит регистрацию двухбуквенных кодов (ISO 639-1):

Коды языков HTML — таблица кодов языков

В HTML коды языков могут использоваться для указания языка веб-страницы или ее части. Это поможет поисковой системе, а также браузеру правильно обработать страницу.

Пример кода указания языка страницы lang HTML документа

Пример указания языка на HTML веб странице:

Пример для спецификации XHTML:

Стандарт ISO 639-1 кодов языков

HTML использует стандарт кодов языков ISO 639-1.

Таблица кодов языков ниже содержит HTML код языка с указанием перевода на русский и английский.

Код ISO639-1 Язык на русском Язык на английском
ab Абхазский Abkhazian
av Аварский Avaric
ae Авестийский Avestan
az Азербайджанский Azerbaijani
ay Аймара Aymara
ak Акан Akan
sq Албанский Albanian
am Амхарский Amharic
en Английский English
ar Арабский Arabic
hy Армянский Armenian
as Ассамский Assamese
aa Афарский Afar
af Африкаанс Afrikaans
bm Бамбара Bambara
eu Баскский Basque
ba Башкирский Bashkir
be Белорусский Belarusian
bn Бенгальский Bengali (Bangla)
my Бирманский Burmese
bi Бислама Bislama
bg Болгарский Bulgarian
bs Боснийский Bosnian
br Бретонский Breton
cy Валлийский Welsh
hu Венгерский Hungarian
ve Венда Venda
vo Волапюк Volapük
wo Волоф Wolof
vi Вьетнамский Vietnamese
gl Галисийский Galician
lg Ганда Luganda, Ganda
hz Гереро Herero
kl Гренландский Kalaallisut, Greenlandic
el Греческий (новогреческий) Greek
ka Грузинский Georgian
gn Гуарани Guarani
gu Гуджарати Gujarati
gd Гэльский Gaelic (Scottish)
da Датский Danish
dz Дзонг-кэ Dzongkha
dv Дивехи (Мальдивский) Divehi, Dhivehi, Maldivian
zu Зулу Zulu
he Иврит Hebrew
ig Игбо Igbo
yi или ji Идиш Yiddish
id или in Индонезийский Indonesian
ia Интерлингва Interlingua
ie Интерлингве Interlingue
iu Инуктитут Inuktitut
ik Инупиак Inupiak
ga Ирландский Irish
is Исландский Icelandic
es Испанский Spanish
it Итальянский Italian
yo Йоруба Yoruba
kk Казахский Kazakh
kn Каннада Kannada
kr Канури Kanuri
ca Каталанский Catalan
ks Кашмири Kashmiri
qu Кечуа Quechua
ki Кикуйю Kikuyu
kj Киньяма Kwanyama
ky Киргизский Kyrgyz
zh Китайский Chinese
kv Коми Komi
kg Конго Kongo
ko Корейский Korean
kw Корнский Cornish
co Корсиканский Corsican
xh Коса Xhosa
ku Курдский Kurdish
km Кхмерский Khmer
lo Лаосский Lao
la Латинский Latin
lv Латышский Latvian (Lettish)
ln Лингала Lingala
lt Литовский Lithuanian
lu Луба-катанга Luga-Katanga
lb Люксембургский Luxembourgish
mk Македонский Macedonian
mg Малагасийский Malagasy
ms Малайский Malay
ml Малаялам Malayalam
mt Мальтийский Maltese
mi Маори Maori
mr Маратхи Marathi
mh Маршалльский Marshallese
mn Монгольский Mongolian
gv Мэнский (Мэнкский) Manx
nv Навахо Navajo
na Науру Nauru
nd Ндебелесеверный NorthernNdebele
nr Ндебелеюжный SouthernNdebele
ng Ндунга Ndonga
de Немецкий German
ne Непальский Nepali
nl Нидерландский (Голландский) Dutch
no Норвежский Norwegian
ny Ньянджа Chichewa, Chewa, Nyanja
nn Нюнорск (новонорвежский) Norwegiannynorsk
oj Оджибве Ojibwe
oc Окситанский Occitan
or Ория Oriya
om Оромо Oromo (AfaanOromo)
os Осетинский Ossetian
pi Пали Pāli
pa Пенджабский Punjabi (Eastern)
fa Персидский Persian (Farsi)
pl Польский Polish
pt Португальский Portuguese
ps Пушту Pashto,Pushto
rm Ретороманский Romansh
rw Руанда Kinyarwanda (Rwanda)
ro Румынский Romanian
rn Рунди Kirundi
ru Русский Russian
sm Самоанский Samoan
sg Санго Sango
sa Санскрит Sanskrit
sc Сардинский Sarda
ss Свази Swati
sr Сербский Serbian
si Сингальский Sinhalese
sd Синдхи Sindhi
sk Словацкий Slovak
sl Словенский Slovenian
so Сомали Somali
st Сотоюжный Sesotho
sw Суахили Swahili (Kiswahili)
su Сунданский Sundanese
tl Тагальский Tagalog
tg Таджикский Tajik
th Тайский Thai
ty Таитянский Tahitian
ta Тамильский Tamil
tt Татарский Tatar
tw Тви Twi
te Телугу Telugu
bo Тибетский Tibetan
ti Тигринья Tigrinya
to Тонганский Tonga
tn Тсвана Setswana
ts Тсонга Tsonga
tr Турецкий Turkish
tk Туркменский Turkmen
uz Узбекский Uzbek
ug Уйгурский Uyghur
uk Украинский Ukrainian
ur Урду Urdu
fo Фарерский Faroese
fj Фиджи Fijian
fl Филиппинский Pilipino
fi Финский (Suomi) Finnish
fr Французский French
fy Фризский WesternFrisian
ff Фулах Fula, Fulah, Pulaar, Pular
ha Хауса Hausa
hi Хинди Hindi
ho Хиримоту HiriMotu
hr Хорватский Croatian
cu Церковнославянский (Старославянский) OldChurchSlavonic, OldBulgarian
ch Чаморро Chamorro
ce Чеченский Chechen
cs Чешский Czech
za Чжуанский Zhuang,Chuang
cv Чувашский Chuvash
sv Шведский Swedish
sn Шона Shona
ee Эве Ewe
eo Эсперанто Esperanto
et Эстонский Estonian
jv Яванский Javanese
ja Японский Japanese

Список HTML тегов на одной странице. Справочник по тегам HTML5

Метатеги | htmlbook.ru

Метатеги используются для хранения информации предназначенной для браузеров и поисковых систем. Например, механизмы поисковых систем обращаются к метатегам для получения описания сайта, ключевых слов и других данных.

Метатеги для поисковых механизмов

Среди разработчиков сайтов существует мнение, что правильно написанные метатеги позволяют подняться к верхним строчкам поисковых серверов. На самом деле это не так, на одних метатегах высоко не поднимешься, но и неудачно выполненное содержимое метатегов может ухудшить рейтинг сайта.

Два метатега предназначены специально для поисковых серверов: description (описание) и keywords (ключевые слова). Некоторые вебмастера добавляли в раздел keywords ключевые слова, которые не имеют никакого отношения к теме сайта, но зато пользовались определенным успехом среди посетителей поисковиков. Однако, через некоторое время, поисковые системы научились бороться с таким явлением и проверяют содержимое веб-страницы на соответствие заявленным ключевым словам.

Некоторые принципы, относящиеся к метатегам:

  • не включайте ключевые слова, которые не содержатся на ваших страницах;
  • не повторяйте ключевые слова;
  • используйте метатеги по их прямому назначению;
  • делайте описание и список ключевых слов различными для каждой страницы сайта с учетом содержимого.
description

Большинство поисковых серверов отображают содержимое поля description (пример 1) при выводе результатов поиска. Если этого тега нет на странице, то поисковый движок просто перечислит первые встречающиеся слова на странице, которые, как правило, оказываются не очень-то и в тему.

Пример 1. Использование Description

keywords

Этот метатег был предназначен для описания ключевых слов, встречающихся на странице (пример 2). Но в результате действия людей, желающих попасть в верхние строчки поисковых систем любыми средствами, теперь дискредитирован. Поэтому многие поисковики пропускают этот параметр.

Пример 2. Использование Keywords

Ключевые слова можно перечислять через пробел или запятую. Поисковые системы сами приведут запись к виду, который они используют.

Автозагрузка страниц

Чтобы автоматически загружать новый документ через определенный промежуток времени используется инструкция http-equiv=»refresh» (пример 3).

Пример 3. Автозагрузка страницы

Браузер поймет эту запись, как ожидать 5 секунд, а затем загрузить новую страницу, указанную в параметре URL, в данном случае это переход на сайт htmlbook.ru.

Этот метатег позволяет создавать перенаправление (редирект) на другой сайт. Если URL не указан, произойдет автоматическое обновление текущей страницы через количество секунд, заданных в атрибуте content.

Кодировка

Чтобы сообщить браузеру, в какой кодировке находятся символы веб-страницы, необходимо установить параметр <meta http-equiv=»Content-Type» content=»text/html; charset=имя кодировки»>. Для операционной системы Windows и кириллицы charset обычно принимает значение utf-8 или windows-1251 (пример 4).

Пример 4. Выбор текущей кодировки

Если указание кодировки отсутствует, браузер пытается сам определить, какой тип символов используется в документе и выбирает необходимую кодировку автоматически. Браузер не всегда может точно распознать язык веб-страницы и в некоторых случаях предлагает вьетнамскую кодировку вместо кириллицы. По этой причине лучше всегда указывать приведенную строчку. Тем не менее, возникают обстоятельства, когда указание кодировки может принести определенный вред. Например, веб-сервер автоматически использует перекодирование данных в KOI-8, а браузер, встретив параметр charset=windows-1251, переводит текст в кодировку Windows. Получается двойное изменение символов, прочитать такой текст не просто. К счастью, подобная проблема уже отходит в прошлое, во всяком случае, ее легко можно выявить и нейтрализовать на уровне сервера.

Как сделать русский язык в html

3.4.1 Missing Charset

Some HTTP/1.0 software has interpreted a Content-Type header without charset parameter incorrectly to mean «recipient should guess.» Senders wishing to defeat this behavior MAY include a charset parameter even when the charset is ISO-8859-1 and SHOULD do so when it is known that it will not confuse the recipient.

Unfortunately, some older HTTP/1.0 clients did not deal properly with an explicit charset parameter. HTTP/1.1 recipients MUST respect the charset label provided by the sender; and those user agents that have a provision to «guess» a charset MUST use the charset from the content-type field if they support that charset, rather than the recipient’s preference, when initially displaying a document. See section 3.7.1.

3.7.1 Canonicalization and Text Defaults

.

The «charset» parameter is used with some media types to define the character set (section 3.4) of the data. When no explicit charset parameter is provided by the sender, media subtypes of the «text» type are defined to have a default charset value of «ISO-8859-1» when received via HTTP. Data in character sets other than «ISO-8859-1» or its subsets MUST be labeled with an appropriate charset value. See section 3.4.1 for compatibility problems.

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна5 / 5

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *