The Locale class

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

Introducere

A "Locale" is an identifier used to get language, culture, or
regionally-specific behavior from an API. PHP locales are organized and
identified the same way that the CLDR locales used by ICU (and many
vendors of Unix-like operating systems, the Mac, Java, and so forth) use.
Locales are identified using RFC 4646 language tags (which use hyphen, not
underscore) in addition to the more traditional underscore-using
identifiers. Unless otherwise noted the functions in this class are
tolerant of both formats.

Examples of identifiers include:

en-US (English, United States)

zh-Hant-TW (Chinese, Traditional Script, Taiwan)

fr-CA, fr-FR (French for Canada and France respectively)

The Locale class (and related procedural functions) are used to interact
with locale identifiers--to verify that an ID is well-formed, valid, etc.
The extensions used by CLDR in UAX #35 (and inherited by ICU) are valid
and used wherever they would be in ICU normally.

Locales cannot be instantiated as objects. All of the functions/methods
provided are static.

The null or empty string obtains the "root" locale. The "root" locale is
equivalent to "en_US_POSIX" in CLDR. Language tags (and thus locale
identifiers) are case insensitive. There exists a canonicalization
function to make case match the specification.

These constants define how the Locales are parsed or composed. They should
be used as keys in the argument array to locale_compose()
and are returned from locale_parse()
as keys of the returned associative array.