stringtranslate.com

Языковой тег IETF

Языковой тег IETF BCP 47 — это стандартизированный код или тег, который используется для идентификации человеческих [1] языков в Интернете (код языка). Структура тегов была стандартизирована Инженерной группой Интернета (IETF) [1] в Best Current Practice (BCP) 47 ; [1] субтеги поддерживаются в реестре языковых субтегов IANA . [2] [3] [4]

Чтобы различать варианты языка для стран, регионов или систем письма (сценариев), языковые теги IETF объединяют подтеги из других стандартов, таких как ISO 639 , ISO 15924 , ISO 3166-1 и UN M.49 . Например, тег «en» означает английский язык ; «es-419» для латиноамериканского испанского языка ; «rm-sursilv» для ретороманского Sursilvan ; «ср-Цирл» для сербского языка , написанного кириллицей ; «nan-Hant-TW» для китайского языка Мин Нань с использованием традиционных иероглифов Хань , как говорят на Тайване ; и «gsw-u-sd-chzh» для немецкого языка Цюриха .

Он используется такими вычислительными стандартами, как HTTP , [5] HTML , [6] XML [7] и PNG . [8] календарный план

История

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

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

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

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

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

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

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

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

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

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

Кроме того, существуют теги сценариев, которые не относятся к традиционным сценариям, таким как латиница, или даже к сценариям вообще, и они обычно начинаются с буквы Z. Например, Zsye относится к смайликам , Zmth к математической записи , Zxxx к неписаным документам и Zyyy. к неопределенным сценариям.

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

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

Список распространенных субтегов основного языка

Ниже приводится список некоторых наиболее часто используемых субтегов основного языка. Список представляет собой лишь небольшое подмножество (менее 2 процентов) субтегов основного языка; Для получения полной информации следует обратиться непосредственно к реестру языковых субтегов.

Связь с другими стандартами

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

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

ИСО 639-3 и ИСО 639-1.

RFC 4646 определил концепцию «расширенного языкового субтега» (иногда называемого extlang ), хотя в то время такие субтеги не были зарегистрированы. [13] [ не удалось проверить ] [14] [ не удалось проверить ]

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

Целые теги, которые были зарегистрированы до RFC 4646 и теперь классифицируются как «устаревшие» или «избыточные» (в зависимости от того, соответствуют ли они новому синтаксису), устарели в пользу соответствующего субтега языка на основе ISO 639-3, если таковой существует. . Приведу несколько примеров: в китайском языке Мин Нан предпочтительнее zh-min-nan ; хак предпочтительнее i-hak и zh-hakka для китайского языка хакка ; Для американского языка жестов ase предпочтительнее sgn-US .

Windows Vista и более поздние версии Microsoft Windows поддерживают RFC 4646. [15]

ИСО 639-5 и ИСО 639-1/2

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

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

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

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

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

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

ISO 15924, ISO/IEC 10646 и Юникод.

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

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

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

ISO 15924 включает некоторые коды вариантов письма (например, Hans и Hant для упрощенных и традиционных форм китайских иероглифов), которые унифицированы в Unicode и ISO/IEC 10646 . Эти варианты письма чаще всего кодируются для библиографических целей, но не всегда имеют значение с лингвистической точки зрения (например, коды сценариев Latf и Latg для Fraktur и гэльского вариантов латинского алфавита, которые в основном кодируются обычными латинскими буквами). в Юникоде и ISO/IEC 10646). Иногда они могут быть полезны в языковых тегах для выявления орфографических или семантических различий с различным анализом букв, диакритических знаков и орграфов / триграфов в качестве кластеров графем по умолчанию или различий в правилах регистра букв.

ISO 3166-1 и ООН М.49.

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

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

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

Соблюдение основных стандартов

Разногласия по поводу идентификации языка могут распространяться на BCP 47 и на основные стандарты, которые его определяют. Например, некоторые носители пенджаби считают, что различие ISO 639-3 между [pan] «панджаби» и [pnb] «западным пенджаби» является ложным (т.е. они считают, что это один и тот же язык ); что подразновидности арабского алфавита должны кодироваться отдельно в ISO 15924 (как, например, фрактурный и гэльский стили латинского алфавита); и что BCP 47 должен отражать эти взгляды и/или отменять основные стандарты в отношении них.

BCP 47 делегирует этот тип суждения основным стандартам и не пытается отменить или заменить их. Вариантные субтеги и (теоретически) субтеги основного языка могут быть зарегистрированы индивидуально, но не таким образом, чтобы это противоречило основным стандартам. [17]

Расширения

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

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

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

Расширение T (преобразованный контент)

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

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

Расширение U (локальный стандарт Unicode)

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

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

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

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

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

  1. ^ abc Филлипс, Аддисон; Дэвис, Марк (сентябрь 2009 г.). «Информация о BCP 47 » Редактор RFC».
  2. ^ «Реестр языковых субтегов» . iana.org . Управление по присвоению номеров в Интернете . Проверено 5 декабря 2018 г.
  3. ^ «Реестр расширений языковых тегов» . iana.org . Управление по присвоению номеров в Интернете . Проверено 6 декабря 2018 г.
  4. ^ «IANA — Реестры протоколов». iana.org . Проверено 28 июля 2015 г.
  5. ^ Филдинг, Рой Т.; Решке, Джулиан Ф., ред. (июнь 2014 г.). «Языковые теги». Протокол передачи гипертекста (HTTP/1.1): семантика и содержание. сек. 3.1.3.1. дои : 10.17487/RFC7231 . РФК 7231.
  6. ^ «Языковая информация и направление текста» . w3.org . Проверено 28 июля 2015 г.
  7. ^ «Расширяемый язык разметки (XML) 1.0 (пятое издание)» . w3.org . Проверено 28 июля 2015 г.
  8. ^ «Спецификация портативной сетевой графики (PNG) (второе издание)» . w3.org . Проверено 28 июля 2015 г.
  9. ^ Филлипс, Аддисон; Дэвис, Марк (сентябрь 2006 г.). «RFC 4647 — Сопоставление языковых тегов».
  10. ^ Филлипс, Аддисон; Дэвис, Марк (сентябрь 2009 г.). «RFC 5646 — Теги для идентификации языков».
  11. ^ Устав обновления реестра языковых тегов. Архивировано 10 февраля 2007 г. на Wayback Machine.
  12. ^ "Буквенные коды культур - Список" . Архивировано из оригинала 07 августа 2022 г. Проверено 8 января 2022 г.
  13. ^ Аддисон Филлипс, Марк Дэвис (2008). «Теги для определения языков (старый проект редакции RFC 4646, сейчас устаревший и может скоро исчезнуть)». Рабочая группа IETF LTRU . Проверено 23 июня 2008 г.
  14. ^ Дуг Юэлл (2008). «Обновление реестра языковых субтегов (старый проект редакции RFC 4645, сейчас устаревший и может скоро исчезнуть)» (1 МБ) . Рабочая группа IETF LTRU . Проверено 23 июня 2008 г.
  15. ^ «Функция GetGeoInfoA (winnls.h) — приложения Win32» .
  16. ^ «Список языковых кодов ISO 639-2 — Коды для представления названий языков (Библиотека Конгресса)» . loc.gov . Проверено 28 июля 2015 г.
  17. ^ Юэлл, Дуг (12 августа 2022 г.). «Re: Рекомендации по исправлению кода языка пенджаби [Ietf-languages]» . Проверено 12 августа 2022 г.
  18. ^ Дэвис, М.; Филлипс, А.; Умаока, Ю.; Фальк, К. (февраль 2012 г.). «Расширение BCP 47 T — преобразованный контент». rfc-editor.org . Редактор RFC (информационный). дои : 10.17487/RFC6497 . РФК 6497 . Проверено 24 июня 2022 г.
  19. ^ Дэвис, М.; Филлипс, А.; Умаока, Ю. (декабрь 2010 г.). «BCP 47 Расширение U». rfc-editor.org . Редактор RFC (информационный). дои : 10.17487/RFC6067 . РФК 6067 . Проверено 24 июня 2022 г.

Внешние ссылки