К какому стандарту относятся языковые коды вида zh-Hans?

Через REST API приложения я получаю коды языков следующего вида: ll-Xxxx.

  • языки с двумя строчными буквами (выглядит как ISO 639-1),
  • тире,
  • код, состоящий из четырех букв, начинающийся с прописной буквы (выглядит как код ISO 639-3 макроязыка).

Некоторые примеры:

az-Arab Azerbaijani in the Arabic script
az-Cyrl Azerbaijani in the Cyrillic script
az-Latn Azerbaijani in the Latin script

sr-Cyrl Serbian in the Cyrillic script
sr-Latn Serbian in the Latin script

uz-Cyrl Uzbek in the Cyrillic script
uz-Latn Uzbek in the Latin script

zh-Hans Chinese in the simplified script
zh-Hant Chinese in the traditional script

Из того, что я нашел в Интернете:

[ISO 639-1] — это первая часть серии международных стандартов ISO 639 для языковых кодов. Часть 1 посвящена регистрации двухбуквенных кодов.

и

ISO 639-3 – это международный стандарт языковых кодов. При определении некоторых языковых кодов некоторые определяются как макроязыки [...]

Теперь мне нужно написать фрагмент кода, чтобы убедиться, что я получаю действительный код языка.
Но поскольку то, что я получаю, представляет собой смесь 639-1 (двухбуквенный язык) и 639-3 (макроязык), какой стандарт я использую? Я должен придерживаться? Принадлежит ли этот код какому-то запутанному (возможно, общему) стандарту?


person Anto    schedule 19.09.2013    source источник


Ответы (2)


Текущим справочником по определению языков является IETF BCP 47, который объединяет IETF RFC 5646 и RFC 4647.

Коды вида ll-Xxxx объединяют код языка по ISO 639-1 (две буквы) и ISO 15924 код скрипта (четыре буквы). BCP 47 рекомендует писать коды языков строчными буквами, а коды скриптов писать «строчными буквами с заглавной буквы», но в основном это делается для удобочитаемости.

BCP 47 также рекомендует, чтобы код языка был самым коротким доступным тегом ISO 639. Таким образом, если язык представлен как в ISO 639-1 (две буквы), так и в ISO 639-3 (три буквы), вам следует использовать ISO 639-1.

person Tsundoku    schedule 15.08.2016

Следуя RFC-5646 (на странице 4), языковой тег может быть записан в следующей форме: [language] -[скрипт].

person Julien    schedule 21.09.2013