Языковой тег IETF - IETF language tag - Wikipedia

An IETF Тег языка BCP 47 это код идентифицировать человеческие языки. Например, тег en означает английский; es-419 за Латиноамериканский испанский; RM-Sursilv за Сурсильван; gsw-u-sd-chzh за Цюрих Немецкий; nan-Hant-TW за Мин Нань китайский как сказано в Тайване с помощью традиционные ханьские персонажи. Чтобы различать языковые варианты для страны, регионы, системы письма и т. д. языковые теги IETF объединяют вложенные теги из других стандартов, таких как ISO 639, ISO 15924, ISO 3166-1, и UN M.49. Структура тегов стандартизирована Инженерная группа Интернета (IETF) в Наилучшая текущая практика (BCP) 47; вложенные теги поддерживаются IANA Реестр языковых подтегов.[1][2][3] Языковые теги IETF используются вычислительными стандартами, такими как HTTP,[4] HTML,[5] XML,[6] и PNG.[7]

История

Языковые теги IETF были впервые определены в RFC 1766, Отредактировано Харальд Твейт Альвестранд, опубликовано в марте 1995 года. В тегах использовались двухбуквенные коды языков ISO 639 и двухбуквенные коды стран ISO 3166, что позволяло регистрировать целые теги, которые включали вложенные теги вариантов или сценариев из трех-восьми букв.

В январе 2001 года это было обновлено RFC 3066, в котором добавлено использование трехбуквенных кодов ISO 639-2, разрешены вложенные теги с цифрами и принята концепция языковых диапазонов из HTTP / 1.1, чтобы помочь с сопоставлением языковых тегов.

Следующая редакция спецификации произошла в сентябре 2006 г. с публикацией RFC 4646 (основная часть спецификации) под редакцией Аддисон Филипс и Марк Дэвис и RFC 4647 (который касается поведения сопоставления). RFC 4646 представил более структурированный формат языковых тегов, добавил использование четырехбуквенных кодов сценариев ISO 15924 и трехзначных кодов географических регионов UN M.49 и заменил старый реестр тегов новым реестром вложенных тегов. Небольшое количество ранее определенных тегов, которые не соответствовали новой структуре, были исключены, чтобы поддерживать совместимость с RFC 3066.

Текущая версия спецификации, RFC 5646, был опубликован в сентябре 2009 года. Основная цель этого пересмотра заключалась в том, чтобы включить трехбуквенные коды из ISO 639-3 и 639-5 в реестр языковых подтегов, чтобы повысить совместимость между ISO 639 и BCP 47.[8]

Синтаксис языковых тегов

Каждый языковой тег состоит из одного или нескольких «вложенных тегов», разделенных дефисом (-). Каждый вложенный тег состоит только из основных латинских букв или цифр.

За исключением языковых тегов для частного использования, начинающихся с Икс- префиксы и устаревшие языковые теги (включая теги, начинающиеся с я- префикса и ранее зарегистрированных в старом реестре языковых тегов), вложенные теги появляются в следующем порядке:

  • Один вложенный тег основного языка на основе двухбуквенного кода языка из ISO 639-1 (2002) или трехбуквенный код из ISO 639-2 (1998), ISO 639-3 (2007) или ISO 639-5 (2008), или зарегистрированный через процесс BCP 47 и состоящий из пяти-восьми букв;
  • До трех дополнительных расширенные языковые подтэги состоит из трех букв, разделенных дефисами; (В настоящее время нет расширенного языкового подтэга, зарегистрированного в реестре языковых подтегов без эквивалентного и предпочтительного подтега основного языка. Этот компонент языковых тегов сохранен для обратной совместимости и для использования в будущих частях ISO 639.)
  • Необязательный вложенный тег скрипта, основанный на четырехбуквенном коде сценария из ISO 15924 (обычно пишется на Название дела );
  • Необязательный подтег региона на основе двухбуквенного кода страны из ISO 3166-1 альфа-2 (обычно пишется заглавными буквами) или трехзначный код из UN M.49 для географических регионов;
  • Необязательный варианты вложенных тегов, разделенные дефисами, каждый из которых состоит из пяти-восьми букв или из четырех знаков, начинающихся с цифры; (Вложенные теги вариантов зарегистрированы IANA и не связаны с каким-либо внешним стандартом.)
  • Необязательный вложенные теги расширений, разделенные дефисами, каждый из которых состоит из одного символа, за исключением буквы Икс, и дефис, за которым следует один или несколько вложенных тегов от двух до восьми символов каждый, разделенных дефисом;
  • Необязательный подтег частного использования, состоящий из буквы Икс и дефис, за которым следуют вложенные теги от одного до восьми символов каждый, разделенные дефисами.

Субтеги не чувствительный к регистру, но в спецификации рекомендуется использовать тот же регистр, что и в реестре языковых вложенных тегов, где вложенные теги регионов ВЕРХНИЙ РЕГИСТР, вложенные теги скрипта Название дела, а все остальные вложенные теги строчная буква. Использование заглавных букв соответствует рекомендациям основных стандартов ISO.

Необязательные вложенные теги сценария и региона рекомендуется опускать, если они не добавляют отличительной информации к языковому тегу. Например, es предпочтительнее es-Latn, так как предполагается, что испанский язык будет написан латиницей; я предпочтительнее ja-JP, как японский как используется в Японии не сильно отличается от японского, используемого в других местах.

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

Языковые теги IETF использовались как регион идентификаторы во многих приложениях. Этим приложениям может быть необходимо установить свою собственную стратегию для определения, кодирования и сопоставления локалей, если стратегия, описанная в RFC 4647, не подходит.

Использование, интерпретация и сопоставление языковых тегов IETF в настоящее время определены в RFC 5646 и RFC 4647. Реестр языковых вложенных тегов перечисляет все действующие в настоящее время общедоступные вложенные теги. Подтеги для частного использования не включаются в реестр, поскольку они зависят от реализации и подлежат частным соглашениям между третьими сторонами, использующими их. Эти частные соглашения выходят за рамки BCP 47.

Отношение к другим стандартам

Хотя некоторые типы вложенных тегов являются производными от ISO или же ООН базовые стандарты, они не полностью соответствуют этим стандартам, так как это может привести к изменению значения языковых тегов со временем. В частности, вложенный тег, полученный из кода, присвоенного ISO 639, ISO 15924, ISO 3166, или же UN M.49 остается действительным (хотя и устаревшим) вложенным тегом, даже если код исключен из соответствующего основного стандарта. Если позже стандарт присвоит отозванному коду новое значение, соответствующий вложенный тег все равно сохранит свое старое значение.

Эта стабильность была введена в RFC 4646.

ISO 639-3 и ISO 639-1

RFC 4646 определила понятие «расширенного языкового подтэга» (иногда называемого extlang), хотя в то время таких подтэгов не регистрировалось.[9][неудачная проверка ][10][неудачная проверка ]

RFC 5645 и RFC 5646 добавлены подтэги основного языка, соответствующие ISO 639-3 коды для всех языков, которых еще не было в реестре. Кроме того, коды языков, входящих в определенные макроязыки, были зарегистрированы как расширенные языковые подтэги. Языки жестов также были зарегистрированы как extlangs с префиксом sgn. Эти языки могут быть представлены либо только с вложенным тегом для охватываемого языка (cmn для мандаринского языка) или с сочетанием языка и расширенного языка (ж-смн). Первый вариант предпочтительнее для большинства целей. Второй вариант называется "расширенная форма" и является новым в RFC 5646.

Целые теги, которые были зарегистрированы до RFC 4646 и теперь классифицируются как «устаревшие» или «избыточные» (в зависимости от того, соответствуют ли они новому синтаксису) устарели в пользу соответствующего языкового вложенного тега на основе ISO 639-3, если он существует. Чтобы перечислить несколько примеров, нан предпочтительнее ж-мин-нан за Мин Нан Китайский; хак предпочтительнее ай-хак и ж-хакка за Хакка китайский; и ас предпочтительнее sgn-US за Американский язык жестов.

ISO 639-5 и ISO 639-2

ISO 639-5 определяет языковые коллекции с кодами alpha-3 иначе, чем они были изначально закодированы в ISO 639-2 (включая один код, уже присутствующий в ISO 639-1). В частности, языковые коллекции теперь все определены в ISO 639-5 как включающие, а не некоторые из них определены исключительно. Это означает, что языковые коллекции имеют более широкую сферу применения, чем раньше, в некоторых случаях, когда они могут включать языки, которые уже были отдельно закодированы в ISO 639-2.

Например, код ISO 639-2 афа ранее был связан с названием «афро-азиатский (другой)», за исключением таких языков, как арабский, у которых уже был собственный код. В ISO 639-5 эта коллекция названа «Афро-азиатские языки» и включает все такие языки. ISO 639-2 изменил эксклюзивные имена в 2009 году, чтобы они соответствовали включительным именам ISO 639-5.[11]

Чтобы избежать нарушения реализаций, которые все еще могут зависеть от более старого (исключительного) определения этих коллекций, ISO 639-5 определяет атрибут типа группировки для всех коллекций, которые уже были закодированы в ISO 639-2 (такой тип группировки не определен для новых коллекции добавлены только в ISO 639-5).

BCP 47 определяет свойство «Scope» для идентификации вложенных тегов для языковых коллекций. Однако он не определяет какую-либо данную коллекцию как включающую или исключающую, и не использует атрибут типа группировки ISO 639-5, хотя поля описания в реестре языковых подтэгов для этих подтегов соответствуют именам ISO 639-5 (включительно). Как следствие, языковые теги BCP 47, которые включают в себя вложенный тег основного языка для коллекции, могут быть неоднозначными в отношении того, предназначена ли коллекция для включения или исключения.

ISO 639-5 не определяет точно, какие языки являются членами этих коллекций; определяется только иерархическая классификация коллекций с использованием инклюзивного определения этих коллекций. Из-за этого, RFC 5646 не рекомендует использовать вложенные теги для языковых коллекций для большинства приложений, хотя они по-прежнему предпочтительнее вложенных тегов, значение которых еще менее определено, таких как «Несколько языков» и «Не определено».

Напротив, классификация отдельных языков в пределах их макроязыка стандартизирована как в ISO 639-3, так и в Реестре языковых подтегов.

ISO 15924, ISO / IEC 10646 и Unicode

Вложенные теги скрипта были впервые добавлены в реестр языковых вложенных тегов, когда RFC 4646 был опубликован, из списка кодов, определенных в ISO 15924. Они кодируются в языковом теге после основного и расширенного языковых вложенных тегов, но перед другими типами вложенных тегов, включая региональные и вариантные вложенные теги.

Некоторые вложенные теги основного языка определены с помощью свойства с именем «Suppress-Script», которое указывает на случаи, когда по умолчанию для языка может использоваться один сценарий, даже если он может быть написан с другим сценарием. В этом случае предпочтительно опустить вложенный тег сценария, чтобы повысить вероятность успешного сопоставления. При необходимости можно добавить другой вложенный тег скрипта, чтобы различать. Например, йи предпочтительнее йи-хебр в большинстве случаев, потому что для идиш язык.

Другой пример: zh-Hans-SG можно считать эквивалентным zh-Hans, потому что код региона, вероятно, не имеет значения; в письменной форме китайского языка, используемой в Сингапуре, используются те же упрощенные китайские иероглифы, что и в других странах, где пишется китайский язык. Тем не менее, вложенный тег скрипта сохраняется, потому что он важен.

Обратите внимание, что ISO 15924 включает некоторые коды для вариантов сценария (например, Ганс и Хант для упрощенных и традиционных форм китайских иероглифов), которые объединены в Unicode и ISO / IEC 10646. Эти варианты сценария чаще всего кодируются в библиографических целях, но не всегда важны с лингвистической точки зрения (например, Latf и Латг коды сценариев для фрактурных и гэльских вариантов латинского алфавита, которые в основном кодируются обычными латинскими буквами в Unicode и ISO / IEC 10646). Иногда они могут быть полезны в языковых тегах для выявления орфографических или семантических различий, с различным анализом букв, диакритических знаков и диграфов / триграфов в качестве кластеров графем по умолчанию или различий в правилах использования регистра букв.

ISO 3166-1 и UN M.49

Подтеги двухбуквенных областей основаны на кодах, присвоенных или "исключительно зарезервированных" в ISO 3166-1. Если Агентство по техническому обслуживанию ISO 3166 переназначит код, который ранее был назначен другой стране, существующий вложенный тег BCP 47, соответствующий этому коду, сохранит свое значение, а новый вложенный тег региона, основанный на UN M.49 будет зарегистрирован для новой страны. UN M.49 также является источником числовых субтэгов для географических регионов, таких как 005 для Южной Америки.

Вложенные теги регионов используются для указания разнообразия языков, «используемых в» конкретном регионе. Они подходят, когда сорт носит региональный характер, и могут быть адекватно охвачены путем определения участвующих стран, например, при различении Британский английский (en-GB) из Американский английский (en-US). Когда разница заключается в одном из сценариев или разновидностей сценариев, как для упрощенный против традиционный Китайские иероглифы, это должно быть выражено вложенным тегом скрипта вместо вложенного тега региона; в этом примере zh-Hans и ж-хант следует использовать вместо zh-CN и zh-HK.

Когда существует отдельный языковой подтэг для языка, который можно рассматривать как региональную разновидность, часто предпочтительнее использовать более конкретный подтэг вместо комбинации языка и региона. Например, ar-DZ (арабский как используется в Алжир ) может быть лучше выражено как arq за Алжирский разговорный арабский.

Расширения

Подтеги расширений (не путать с расширенные языковые подтэги) позволяют добавлять дополнительную информацию к языковому тегу, которая не обязательно служит для идентификации языка. Одно из применений расширений - кодирование информации о языковом стандарте, например календаря и валюты.

Подтеги расширений состоят из нескольких строк символов, разделенных дефисом, которые начинаются с одного символа (кроме Икс), названный одиночка. Каждое расширение описывается отдельно IETF RFC, который определяет центр регистрации для управления данными для этого расширения. IANA отвечает за размещение синглтонов.

По состоянию на январь 2014 года назначено два продления.

Расширение T (преобразованное содержимое)

Расширение T позволяет языковому тегу включать информацию о том, как тегированные данные были транслитерированы, расшифрованы или иным образом преобразованы. Например, тег en-t-jp может использоваться для контента на английском языке, который был переведен с оригинального японского. Дополнительные подстроки могут указывать на то, что перевод был выполнен механически или в соответствии с опубликованным стандартом.

Расширение T описано в RFC 6497, опубликовано в феврале 2012 года. Регистрирующим органом является Консорциум Unicode.

Расширение U (локаль Юникода)

Расширение U позволяет использовать широкий спектр атрибутов локали, найденных в Общий репозиторий данных локали (CLDR) для встраивания в языковые теги. Эти атрибуты включают подразделения страны, данные календаря и часового пояса, порядок сортировки, валюту, систему счисления и идентификацию клавиатуры.

Вот некоторые примеры:

Расширение U описано в RFC 6067, опубликовано в декабре 2010 г. Регистрирующим органом является Консорциум Unicode.

Смотрите также

Рекомендации

  1. ^ "Реестр языковых подтэгов". iana.org. Управление по присвоению номеров в Интернете. Получено 2018-12-05.
  2. ^ "Реестр расширений языковых тегов". iana.org. Управление по присвоению номеров в Интернете. Получено 2018-12-06.
  3. ^ «IANA - Реестры протоколов». iana.org. Получено 28 июля 2015.
  4. ^ Филдинг, Рой Т .; Решке, Джулиан Ф., ред. (Июнь 2014 г.). "Языковые теги". Протокол передачи гипертекста (HTTP / 1.1): семантика и содержание. сек. 3.1.3.1. Дои:10.17487 / RFC7231. RFC 7231.
  5. ^ «Языковая информация и направление текста». w3.org. Получено 28 июля 2015.
  6. ^ «Расширяемый язык разметки (XML) 1.0 (пятое издание)». w3.org. Получено 28 июля 2015.
  7. ^ «Спецификация переносимой сетевой графики (PNG) (второе издание)». w3.org. Получено 28 июля 2015.
  8. ^ Устав обновления реестра языковых тегов В архиве 2007-02-10 на Wayback Machine
  9. ^ Эддисон Филлипс, Марк Дэвис (2008). «Теги для идентификации языков (старый проект для редакции RFC 4646, теперь устарел и может скоро исчезнуть)». IETF WG LTRU. Получено 2008-06-23.
  10. ^ Дуг Юэлл (2008). «Обновление реестра языковых вложенных тегов (старый проект для версии RFC 4645, теперь устарел и может скоро исчезнуть)» (1 МБ). IETF WG LTRU. Получено 2008-06-23.
  11. ^ «Список языковых кодов ISO 639-2 - Коды для представления названий языков (Библиотека Конгресса)». loc.gov. Получено 28 июля 2015.

внешняя ссылка