В PHP внутреннее расширение, конкретно Класс Locale, это говорит:
Локали идентифицируются с помощью языковых тегов RFC 4646
Причина, по которой я упоминаю RFC 4646 устарела в пользу RFC 5646.
Я намеревался использовать внутреннее расширение перевести коды ISO 639 на название соответствующего языка (например, ан в английский). Хотя это и не является существенным, было бы полезно иметь доступность.
639 языковых кодов активно поддерживаются и изменяются соответствующими органами регистрации. Это тоже не гипотетическая проблема, просто посмотрите журнал изменений для ISO 639-3.
Использование устаревшего языкового тега заставляет меня немного беспокоиться о том, насколько активно внутреннее расширение поддерживается; RFC 5656 был выпущен в 2009 году, это вряд ли передовой стандарт.
международный Расширение полагается на ICU для предоставления языковых кодов, между прочим. Версия ICU хранится в константе PHP_ICU_VERSION
, Сам ICU опирается на репозиторий общих локалей Unicode (CLDR), как указано в той же документации, которую вы процитировали в классе Locale: «Расширения, используемые CLDR в [Стандартном приложении Unicode] # 35 (и унаследованные ICU), действительны и используются где бы они ни находились в отделении интенсивной терапии, как обычно. «
Других решений пока нет …