HTML теги
Теги это строительные блоки в HTML. Все что можно увидеть на веб-странице и с чем можно взаимодействовать реализовано при помощи тегов HTML.
В данном справочнике содержится информация обо всех тегах HTML 4.01 и HTML5 с описанием, примерами и атрибутами.
Базовые теги
Вставляет комментарии | |
body | Определяет тело HTML документа |
br | Вставляет разрыв строки |
DOCTYPE | Декларация типа HTML документа |
h1-h6 | Определяют HTML заголовки |
hr | Определяет тематический разрыв контента |
html | Определяет, что это HTML-документ |
p | Определяет текстовый параграф |
title | Определяет титульный заголовок страницы |
Ссылки
a | Определяет гипертекстовую ссылку |
link | Определяет ссылку на внешний ресурс |
nav | Определяет набор ссылок навигации |
Форматирование
abbr | Определяет аббревиатуру |
acronym | Определяет акроним |
address | Определяет информацию об авторе статьи или документа |
b | Определяет жирное начертание текста |
bdi | Изолирует текст от изменения направления вывода |
bdo | Устанавливает направление вывода текста |
big | Увеличивает размер текста |
blockquote | Определяет цитату внутри документа |
center | Используется для выравнивания текста по центру |
cite | Определяет название работы, цитату или сноску на другой документ |
code | Определяет программный код |
del | Определяет удаленный текст |
dfn | Определяет первое появление нового термина |
em | Определяет акцентированный текст |
font | Определяет характеристики шрифта текст |
i | Устанавливает начертание текста курсивом |
ins | Определяет новый добавленный текст |
kbd | Определяет текст, набранный на клавиатуре |
mark | Определяет выделенный текст |
meter | Определяет оценочный индикатор |
pre | Определяет заранее форматированный текст |
progress | Определяет индикатор прогресса выполнения задачи |
q | Определяет короткую цитату внутри документа |
rp | Определяет текст для вывода в браузерах, не поддерживающих элемент |
rt | Определяет небольшую аннотацию к тексту |
ruby | Предназначен для добавления небольшой аннотации |
s | Определяет нерелевантный текст |
samp | Определяет текст, который является результатом вывода компьютерной программы |
small | Уменьшает размер текста |
strike | Определяет перечеркнутый текст |
strong | Определяет важный текст |
sub | Определяет текст в виде нижнего индекса |
sup | Определяет текст в виде верхнего индекса |
time | Определяет дату/время |
tt | Определяет телетайпный текст |
u | Определяет подчеркнутый текст |
var | Определяет переменную компьютерной программы |
wbr | Определяет место для переноса строки в тексте |
Программные объекты
applet | Вставляет в код страницы Java апплет |
embed | Определяет контейнер для внешнего приложения |
noscript | Определяет контент, который будет отображаться, если браузер не поддерживает скрипты |
object | Вставляет в код страницы программный объект |
param | Определяет параметры для программных объектов |
script | Определяет скрипты, исполняемые на стороне пользователя |
Изображения
area | Определяет активные области в карте-изображении |
canvas | Определяет область, в которой можно рисовать при помощи скриптов |
figcaption | Определяет подпись к элементу |
figure | Используется для группирования различных самодостаточных элементов |
img | Вставляет изображение |
map | Определяет карту-изображение |
Семантика и стили
article | Определяет автономный контент |
aside | Определяет блок сбоку от основного контента |
details | Определяет дополнительную информацию |
dialog | Создает диалоговое окно |
div | Определяет блок кода HTML документа |
footer | Определяет «подвал» документа или раздела |
header | Определяет «шапку» документа или раздела |
main | Определяет основное содержимое документа |
section | Определяет раздел документа |
span | Используется для группирования строчных элементов |
style | Определяет CSS стили на уровне веб-страницы |
summary | Определяет заголовок для элемента |
Аудио и видео
audio | Позволяет в браузере проигрывать звуковые файлы |
source | Определяет медиа ресурс для медиа элементов |
track | Определяет текстовую дорожку для медиа элементов |
video | Позволяет в браузере проигрывать видео файлы |
Мета-информация
base | Определяет базовые URL для ссылок на странице |
basefont | Определяет цвет, размер и шрифт текста по умолчанию |
head | Является контейнером для всех головных элементов документа |
meta | Определяет мета-информацию о HTML документе |
Формы и элементы ввода
button | Определяет кнопку формы |
datalist | Определяет предопределенные варианты значений для элемента |
fieldset | Используется для группирования родственных элементов формы |
form | Используется для создания HTML форм |
input | Определяет поле ввода HTML формы |
keygen | Определяет поле-генератор ключей |
label | Определяет метку для элемента |
legend | Определяет заголовок для элемента |
optgroup | Используется для группирования родственных вариантов выбора |
option | Определяет отдельные пункты в выпадающем списке выбора |
output | Представляет результаты вычислительных операций |
select | Используется для создания выпадающего списка |
textarea | Определяет многострочное текстовое поле ввода |
Таблицы
caption | Определяет пояснительный заголовок таблицы |
col | Определяет свойства для каждого столбца таблицы |
colgroup | Определяет группу из одного или более столбцов таблицы для форматирования |
table | Определяет HTML таблицу |
tbody | Группирует основное содержимое HTML таблицы |
td | Определяет стандартную ячейку HTML таблицы |
tfoot | Группирует содержимое нижнего колонтитула HTML таблицы |
th | Определяет заголовочную ячейку HTML таблицы |
thead | Группирует содержимое верхнего колонтитула HTML таблицы |
tr | Определяет строку HTML таблицы |
Списки
dd | Используется для создания определения термина в списке определений |
dir | Определяет список директорий (системных папок) |
dl | Создает список определений |
dt | Создает термин в списке определений |
li | Создает элемент списка |
menu | Определяет список/меню команд |
menuitem | Определяет команду/пункт меню |
ol | Создает упорядоченный (нумерованный) список |
ul | Создает неупорядоченный (маркированный) список |
Фреймы
frame | Определяет фрейм внутри фреймовой структуры |
frameset | Определяет фреймовую структуру |
iframe | Определяет встроенный фрейм |
noframes | Определяет информацию, которая выводится, когда нет поддержки фреймов |
В чем разница между HTML и XML?
HTML и XML – два популярных языка разметки для разработки приложений и веб-разработки. Несмотря на схожие названия, примеры их использования разные. HTML в основном используется для разработки пользовательского интерфейса приложения. Он отображает текст, изображения, кнопки, флажки и выпадающие списки на веб-сайте или в приложении. В отличие от него, основная цель XML заключается в обмене данными и их передаче. Он кодирует данные в формате, который может быть прочитан как машинами, так и людьми. XML описывает, что представляют собой данные, тогда как HTML определяет способ отображения данных конечному пользователю.
В чем сходство между HTML и XML?
XML и HTML, а также другие языки, такие как LaTeX, SVG, Markdown и SGML, принадлежат к семейству языков программирования, называемых языками разметки.
Язык разметки – это система для описания данных как для людей, так и для других программ. В нем используется удобный для чтения синтаксис, определяющий структуру, тип, атрибуты, отношения между частями, отображение и значение данных.
Как языки разметки, HTML и XML имеют несколько сходств.
Синтаксис
Как правило, в языках разметки используется схожий синтаксис, включающий теги и атрибуты.
Теги
Теги обозначаются такими символами, как скобки, запятые и точки. Они обеспечивают структуру и тип элементов данных, а также определяют начало и конец каждого элемента контента. В XML и HTML теги помещаются в угловые скобки, причем каждый элемент находится между двумя открывающими и закрывающими тегами.
Атрибуты
Атрибуты предоставляют дополнительную информацию об элементе, например URL-адрес изображения. В HTML и XML атрибуты элемента определяются в открывающем теге.
Четко определенная структура
Для корректной обработки документы HTML и XML должны соответствовать синтаксическим правилам данного языка. Документ, соответствующий правилам, называется правильно составленным документом. Для правильно сформированного документа требуется:
- Один корневой элемент
- Закрывающиеся (или самозакрывающиеся) теги для всех элементов
- Правильное размещение тегов, помещенных в другие теги
- Правильное описание специальных символов, таких как & для символа &
Разработчики используют текстовый редактор или интегрированную среду разработки (IDE) для написания и проверки синтаксиса.
Использование
Обычно разработчики сами не используют языки разметки HTML или XML. Эти языки сочетаются со скриптовыми языками для создания динамических веб-страниц и приложений. Динамические приложения меняются из-за новых входящих данных.
При использовании HTML страницы приложений становятся динамическими благодаря скриптовым языкам, которые генерируют новый HTML. В XML скриптовые языки используют новую информацию для обновления параметров.
Независимость от платформы
Независимость от платформы – это способность языка работать в разных операционных системах и на разных платформах без каких-либо модификаций. Как XML, так и HTML основываются на тексте и используют простой синтаксис. Поэтому эти элементы легко интерпретируются различными программными приложениями и операционными системами. Код XML и HTML работает в неизменном виде в браузерах и на различных мобильных платформах.
Основные синтаксические различия HTML и XML
Основное различие между HTML и XML заключается в их тегах. В HTML существуют предопределенные теги, которые должны использовать все. При написании кода HTML нельзя создавать собственные теги. В отличие от этого, в XML используются собственные теги, которые вы можете определить как создатель документа.
Далее мы подробнее поговорим о том, как HTML и XML различаются по тегам.
Предопределенные теги
В HTML есть предопределенные теги. Это означает, что сам тег является частью списка, определенного стандартом HTML. Текущий стандарт HTML – HTML5.
Примеры предопределенных тегов HTML5:
- – для заголовка документа;
- – для абзаца;
- от до – для шести уровней заголовков;
- – для гиперссылки;
- – для изображения;
- – тег элемента контейнера для группировки других элементов;
- – тег, определяющий основной контент.
Напротив, в XML теги являются расширяемыми, то есть они создаются специально для целей документа. Как создатель документа, вы должны определить теги и атрибуты. Они могут представлять собой любую комбинацию букв и цифр.
Обычно создатели документов используют простые слова для описания данных. Необходимо написать схему XML, определяющую теги и атрибуты для проверки документов и совместного восприятия.
В следующей таблице мы приводим несколько примеров синтаксиса HTML и XML.
HTML
XML
This is a paragraph
class= означает, что элемент имеет атрибут класса body_paragraph, который можно использовать для применения стилей.
country означает элемент страны. language означает, что элемент имеет языковой атрибут – английский.
This is a Heading
This is a paragraph
This is a subheading
This is another paragraph
Самозакрывающиеся теги
В HTML некоторые элементы могут использовать самозакрывающиеся теги (обозначаемые косой чертой) из-за недостатка контента. Использовать самозакрывающиеся теги может ограниченное количество тегов HTML.
Напротив, самозакрывающиеся теги в XML могут существовать в любом месте, где нет контента.
HTML
XML
Другие ключевые отличия HTML и XML
Несмотря на сходство, в XML и HTML имеется несколько отличий.
Цель
HTML широко известен как язык Интернета. Основная цель HTML заключается в отображении содержимого текстового документа в графической форме в браузере.
Напротив, благодаря XML различные приложения могут обмениваться данными и их структурой и хранить их в универсально понятном виде. Основная цель XML – позволить различным типам приложений, например базам данных, понимать и использовать одни и те же данные и их структуру.
Типизация
В HTML используется динамическая типизация, при которой типы атрибутов во время выполнения сверяются с ожидаемым типом данных. Например, если атрибут должен быть числовым, но вводится как строка, может возникнуть ошибка или неожиданное поведение веб-страницы во время выполнения. Динамическая типизация позволяет вносить изменения в веб-страницы с новыми входящими данными.
Напротив, в XML используется статическая типизация, когда типы атрибутов предопределены в схеме XML и проверяются перед сжатием или обработкой. При статической типизации возникает меньше ошибок, но и меньше динамического содержимого.
Схема
Определения типов документов (DTD) или схемы обеспечивают структуру, которую можно проверять и повторять для аналогичных документов. Обычно они содержат следующую информацию:
- Используемая версия HTML или XML
- Разрешенные элементы и атрибуты
- Правила структуры документа и взаимосвязей элементов
В HTML DTD – это декларация, которая содержится в начале документа HTML.
В XML DTD представляет собой отдельный файл. Объявление типов документов более важно в XML, поскольку теги XML определяются создателем документа. Благодаря DTD обеспечивается единое понимание тегов отправителем и получателем данных.
Когда использовать HTML, а когда – XML
HTML – это тип разметки, известный как язык представления. Название язык представления связано с тем, что он предназначен для отображения. Вы используете HTML для создания веб-страниц и веб-приложений на стороне клиента. Обычно его комбинируют с каскадными таблицами стилей (CSS) для стилизации и языком программирования JavaScript для динамического поведения.
Напротив, XML используется для обмена данными между двумя приложениями или системами. Для восприятия одного и того же формата приложения имеют общие схемы XML, определяющие содержимое файла XML.
Хотя XML по-прежнему широко используется, в настоящее время более популярным является JSON, другой легкий язык разметки для обмена данными, благодаря его скорости анализа. Вы можете прочитать сравнение JSON и XML, чтобы выбрать лучший для вас формат обмена данными.
Как использовать HTML и XML вместе
XML может встраиваться в HTML и анализироваться с помощью языка программирования JavaScript для создания динамических веб-страниц. Аналогичным образом, при необходимости HTML также можно встроить в XML, используя символьные данные (CDATA) для открытого текста. См. следующие примеры.
XML в HTML
HTML в XML
#7 – Что такое атрибуты в HTML?
Что такое атрибуты в HTML? Мы ни раз их уже писали, но все еще не говорили о них. В уроке мы изучим понятие атрибуты и дополнительно рассмотрим их создание на практике.
Видеоурок
В HTML существует гигантское количество различных атрибутов. Запомнить их все – невозможно. Многие атрибуты дублируются в различных тегах, например, атрибут title . Он добавляет всплывающую подсказку и используется в большинстве HTML тегов.
Многие другие атрибуты запоминаются по мере изучения HTML. Если вы не знаете какой-либо атрибут сейчас, то не переживайте. Все основные атрибуты вы все равно запомните, а второстепенные атрибуты помнить не обязательно.
Весь код будет доступен после подписки на проект!
Языковые тэги в HTML и XML
В данной статье мы называем значения языкового атрибута такие, как fr-CA языковым тэгом . Части fr и CA называются субтэгами (subtag) в случаях, если они являются частями тэга. Если имеются ввиду элементы списков стран или языков ISO, fr и CA называются кодами .
Языковые тэги используются для обозначения языка текста или других элементов в HTML и XML документах. Используйте lang атрибут для указания языковых тэгов в HTML и xml:lang атрибут для XML
В обоих случаях информация о языке наследуется элементами, дочерними по отношению к тем, в которых находится указанный атрибут, до тех пор, пока в дочернем элементе не будет указан другой язык (таким же образом).
RFC — это то, что IETF называет спецификациями. Каждый RFC имеет уникальный номер. К сожалению, невозможно определить, читая RFC 1766 или RFC 3066, что эти спецификации устарели и заменены другими спецификациями.
Синтаксис языковых тэгов был установлен IETF в BCP 47. BCP означает ‘Best Current Practice’ (Лучшая практика на сегодня) и яаляется постоянным именем для целой серии RFC , чьё число изменяется по мере их обновления. Последняя RFC, описывающая синтаксис языковых тэгов, это RFC 5646, Tags for the Identification of Languages , она является обновлением RFC 4646, 3066 и 1766.
Раньше вам нужно было искать субтэги обращаясь к спискам кодов различных ISO стандартов, но сегодня вы можете найти все субтэги в IANA Language Subtag Registry . Мы опишем новый реестр ниже.
Примечание! Если вам нужно пошаговое руководство по выбору языкового тэга, вам следует читать Выбор языкового тэга . Здесь далее следует обзор более продвинутого уровня синтаксиса и концепций, относящихся к языковым тэгам, как описано в BCP 47.
Большинство языковых тэгов состоят из двух- или трёхбуквенного субтэга. Часто за ним следует субтэг региона, состоящий из двух букв или трёх цифр. RFC 5646 также разрешает использование ещё нескольких субтэгов, если это необходимо. Это будет кратко рассмотрено в следующем разделе, в том числе диалект, написание, вариант языка, расширение и частное использование субтэгов.
Золотое правило при создании языкового тэга заключается в том, чтобы держать тэги, как можно более короткими. Избегайте региона, написания или других субтэгов, если они не предоставляют полезную и необходимую информацию. Например, используйте ja для японского, а не ja-JP , до тех пор, пока нет определенной причины указать, что это японский, используемый в Японии, а не где-то ещё.
Код | Язык | Субтэги (subtag) |
---|---|---|
en | английский | язык |
mas | масаи | язык |
fr-CA | канадский французский | язык + регион |
es-419 | испанский, используемый в Латинской Америке | язык + регион |
zh-Hans | китайский, использующий упрощенное написание | язык + написание |
HTML и XML также предоставляют возможность предотвратить наследование языка использованием пустой строки, то есть xml:lang=»». По сути, это говорит: «Я не хочу ассоциировать какой-либо язык с этой информацией».
В оставшейся части этой статьи содержатся дополнительные сведения о том, как создавать языковые теги.
Создание языковых тэгов
Некоторые из ключевых разниц между RFC 5646 и более ранними спецификациями, такими, как RFC 3066:
- есть только одно место поиска валидных субтэгов — новый IANA registry
- субтэги имеют фиксированную позицию и длину, что делает более простым сопоставление языковых тэгов
- теперь есть больше гибкости вокруг потенциальных компонентов языкового тэга.
RFC 3066 по существу позволял вам составлять языковые теги, которые были либо кодом языка, либо кодом языка и кодом страны, либо одним из небольшого числа специально зарегистрированных значений в IANA language tag registry.
RFC 5646 обслуживает больше типов субтэгов и позволяет комбинировать их различными способами. Хотя может показаться, что это усложняет жизнь, но по факту выбор языковых тэгов остаётся таким же простым, однако, если вам нужны дополнительные мощности, то это будет доступно вам. Фактически, для большинства людей RFC 5646 должен сделать жизнь проще несколькими способами — например, есть только одно место, где вам нужно искать валидные субтэги.
Хотя RFC 5646 предоставляет дополнительные возможности для создания языковых вариаций, он также охватывает все тэги, которые были валидными ранее. Так, что если вы использовали RFC 1766, RFC 3066 или RFC 4646 нет необходимости вносить какие-либо изменения в ваши тэги.
Список ниже демонстрирует различные типы субтэгов, которые доступны. Мы рассмотрим, как они работают в следующих разделах.
language — extlang — script — region — variant -extension- privateuse
Язык, диалект, письменность, регион, вариант, расширение, частное использование.
Записи в реестре следуют определенным соглашениям в отношении верхнего и нижнего регистра букв. Например, языковые тэги в нижнем регистре, буквенные субтэги региона — в верхнем, тэги написания начинаются с заглавной буквы. Это только договоренность! Когда вы используете эти субтэги вы вольны делать это, как вам нравится, до тех пор, пока вы не ограничены правилами системы, с которой работаете. В языковой разметке HTML и XML регистр не важен.
Использование субтэгов (subtag) реестра
Как отмечено выше, раньше вам приходилось обращаться к различным ISO стандартам для поиска субтэгов, но сегодня вы можете найти все субтэги в одном месте. Реестр IANA registry поначалу выглядит сложным в сравнении со списками ISO кодов, но он достаточно прост, как только вы поймёте его структуру.
Реестр это длинный текстовый файл. Для поиска языкового субтэга, ищите по названию языка на английском. Если мы ищем ‘French’ (французский), мы найдём такую запись:
%% Type: language Subtag: fr Description: French Added: 2005-10-16 Suppress-Script: Latn %%
Заметьте, что тип этой записи language . То, что мы ищем, это код с меткой Subtag , который имеет значение fr .
Таким же образом вы можете искать другие тэги. Например, чтобы найти тэг fr-CA (канадский французский), вам необходимо искать Canada (Канада), и убедиться, что вы нашли тэг типа region (регион).
Однако есть несколько дополнительных вещей, которые нужно учитывать при выборе субтэгов. К примеру, вам следует избегать субтэгов, которые описаны в реестре, как избыточные или устаревшие, также вам необходимо использовать субтэги вариантов в сочетании с другими определенными субтэгами. Для получения большей информации о выборе субтэгов, читайте Выбор языкового тэга .
Есть также неофициальная удобная утилита для поиска по реестру.
Следующий раздел предоставит вам больше информации о конкретных субтэгах.
Субтэг основного языка
Читайте подробнее в BCP 47:
Все языковые тэги должны начинаться с субтэга основного языка.
Примеры простых языковых тэгов включают:
- en (английский)
- ast (астурийский — в ISO списках нет двухбуквенного кода для астурийского)
Эти коды взяты из ISO 639 и поддерживаются актуальными.
Из-за того, что RFC 3066 не предоставлял список валидных субтэгов, а просто ссылался на ISO 639, есть некоторая путаница в том, как поступать, если список ISO кодов содержит и двух- и трёхбуквенный код (а иногда и более, чем трёхбуквенный). Сегодня все валидные субтэги перечислены в едином реестре IANA registry, который принимает только одно значение из ISO списков для каждого языка. Если двухбуквенный ISO код доступен, то только он один будет в реестре. Иначе — только трёхбуквенный код. Это сделано для упрощения.
Когда RFC 5646 был опубликован, свыше 7,000 новых ISO 639-3 трёхбуквенных кодов были добавлены в Subtag Registry.
Это пример основного субтэга основного языка для испанского es в реестре:
%% Type: language Subtag: es Description: Spanish Description: Castilian Added: 2005-10-16 Suppress-Script: Latn %%
Хотя коды регистронезависимы, они обычно пишутся в нижнем регистре, но это просто соглашение.
Субтэг диалекта
zh-yue
ar-afb
Читайте подробнее в BCP 47:
Мы будем ссылаться на субтэги диалектов, как extlang . Субтэг extlang всегда должен идти после субтэга основного языка, он должен быть единственным и идти до всех других субтэгов.
Примеры языковых тэгов, включающих субтэги диалектов:
- zh-yue (кантонский диалект китайского)
- ar-afb (арабский диалект Персидского залива)
Комбинация язык + диалект предоставлена для отображения устаревших форм языковых тегов, однако, есть единый субтэг для каждой комбинации языка + диалекта. Следует использовать этот языковой субтэг вместо сочетания языка и диалекта там, где это возможно. Например, используйте yue , а не zh-yue для кантонского диалекта, и afb вместо ar-afb для арабского диалекта Персидского залива.
Субтэги диалекта вседа состоят из 3 букв. Каждая extlang запись в реестре содержит поле Prefix которая определяет язык, идущий перед субтэгом диалекта. Записи также включают поле Preferred-Value которое обозначает эквивалентный языковой тэг.
Это пример кода для арабского диалекта Персидского залива, afb , в реестре:
%% Type: extlang Subtag: afb Description: Gulf Arabic Added: 2009-07-29 Preferred-Value: afb Prefix: ar Macrolanguage: ar %%
Языковые ветви Субтэги основных языков, которые используются совместно с субтэгами диалекта также известны, как языковые ветви, и охватывают несколько языков, уточненных диалектными субтэгами. Субтэг языковой ветви может быть использован сам по себе, но без какого-либо соглашения о контексте его использования он не обязательно точен в достаточной степени.
Например, zh означает китайский, но этот код охватывает множество китайских диалектов, зачастую взаимонепонятных. Когда zh используется сам по себе, то это обычно используется для обозначения преобладающего языка в охватываемом диапазоне, хотя это явно не указано в BCP 47. Например, условно считается, что zh обозначает преобладающую форму китайского языка — путунхуа (Mandarin). Там, где нужна абсолютная точность, используйте cmn , если это не нарушает функциональную совместимость. Однако, если вы используете zh для представления языка, который не является путунхуа, например, диалект Хакка, то лучше использовать более конкретный код (в данном случае, hak ).
С другой стороны, zh-Hans в общем смысле использует zh . Это удобный способ описать письменность упрощенного китайского, так как китайский использует одинаковую письменность вне зависимости он диалекта читателя.
Субтэг письменности
zh-Hans
az-Latn
Читайте подробнее в BCP 47:
Примеры языковых тэгов, включающих в себя субтэги письменности:
- zh-Hans (упрощенный китайский)
- az-Latn (азербайджанский, записанный латиницей — так как азербайджанский может быть записан и на основе арабского письма)
Субтэг письменности был впервые представлен в RFC 4646. Субтэги были взяты из списка кодов ISO 15924 и поддерживаются соответственно ему.
В языковом тэге может быть только один субтэг письменности, и он должен следовать сразу же за субтэгом языка или диалекта. Он всегда состоит из 4 букв.
Следует использовать субтэг письменности только тогда, когда необходимо подчеркнуть это различие. Как писал соавтор RFC 4646 Эддисон Филлипс: «Для практически любого контента, который не использует субтэг письменности сегодня, остается лучшей практикой не использовать его и в будущем».
Если вы специально хотите указать, что контент не является письменным, то для этого есть специальный субтэг. Например, вы можете использовать en-Zxxx чтобы обозначить, что англоязычная аудиозапись не является письменным контентом.
В общем-то многие записи субтэгов в реестре не рекомендуют использовать тэги письменности, указывая поле Suppress script . Подобное поле есть в примере с испанским выше, которое означает, что обычно испанский записывается латиницей и, что субтэг Latn , как правило не должен быть указан после тэга es .
Это пример записи реестра для кириллической записи, Cyrl , которую использует, например, русский язык:
%% Type: script Subtag: Cyrl Description: Cyrillic Added: 2005-10-16 %%
Хотя в целом, маловероятно, что вам нужно будет указывать письменность при использовании языковых тэгов, есть одна или две ситуации о которых нужно знать. Одним из подобных примеров является китайский язык. Существует множество китайских диалектов, часто взаимно непонятных носителям, но все эти диалекты записаны либо с помощью упрощенного китайского письма, либо с помощью традиционного. Люди обычно хотят обозначить, то текст является упрощенным либо традиционным, но, до недавлего времени не было способа сделать это. Люди выли вынуждены использовать что-то вроде zh-CN (обозначающее китайский, используемый в Китае) для указания упрощенного китайского даже в Сингапуре, и zh-TW (обозначающее китайский, используемый на Тайване) для традиционного китайского. (Другие люди, также используют zh-HK для традиционного китайского). Доступность zh-Hans и zh-Hant для письменного китайского в упрощенном и традиционном виде должно улучшить согласованность и точность, и уже сегодня это широко применяется, хотя, конечно, вы можете использовать и старые тэги в каких-то случаях для совместимости.
Субтэг региона
en-GB
es-005
zh-Hant-HK