(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Locale — идентификатор, через который из API получают информацию о языке, культуре или региональном поведении. Локали PHP организованы и обозначены так же, как и локали проекта CLDR, которыми пользуется проект ICU и многие производители систем Unix, Linux и Mac, Java и т. д. Локали обозначаются согласно языковым меткам стандарта RFC 4646 (который использует тире, а не подчёркивание) в дополнение к традиционным обозначением с символом подчёркивания. Функции класса понимают оба написания, если явно не указали иное.
Примеры идентификаторов:
Класс Locale (и соответствующие процедурные функции) используется для взаимодействия с идентификаторами локалей, для проверки правильного составления идентификатора, его корректности и т. д. Модули используются CLDR в UAX #35 (и наследуется ICU), являются корректными и используются везде они были бы в ICU.
Данный класс нельзя инстанциировать как объект. Все методы/функции объявлены статическими.
null
или пустая строка будут считаться за «базовую» локаль.
«Базовая» локаль — «en_US_POSIX» в проекте CLDR. Языковые метки
(и идентификаторы локали) регистронезависимы. В классе
присутствует метод, который преобразует их к каноничному виду.
Locale::DEFAULT_LOCALE
Эти константы описывают выбор локали для метода getLocale различных классов.
Locale::ACTUAL_LOCALE
Locale::VALID_LOCALE
Эти константы определяют, как анализируются или составляются локали. Их следует задавать как ключи массива аргументов для функции locale_compose() и возвращать как ключи возвращаемого ассоциативного массива (array) функции locale_parse().
Locale::LANG_TAG
Locale::EXTLANG_TAG
Locale::SCRIPT_TAG
Locale::REGION_TAG
Locale::VARIANT_TAG
Locale::GRANDFATHERED_LANG_TAG
Locale::PRIVATE_TAG