123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434 |
- <?php
- /**
- * 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.
- *
- * @see http://www.icu-project.org/apiref/icu4c/uloc_8h.html
- * @see http://www.unicode.org/reports/tr35/
- *
- */
- class Locale {
- #############################################################################
- # Common constants.
- #############################################################################
- /**
- * The following static members are used with the getLocale methods of
- * the various locale affected classes, such as numfmt.
- */
- const DEFAULT_LOCALE = null;
- /**
- * identifiers for the actual locale, valid locale
- * WARNING:
- * The values described here are NOT the actual values in PHP code.
- * They are references to the ICU C definitions, so the line
- * const ACTUAL_LOCALE = 'ULOC_ACTUAL_LOCALE';
- * actually means that Locale::ACTUAL_LOCALE is the same as
- * ULOC_ACTUAL_LOCALE constant in the ICU library.
- */
- const ACTUAL_LOCALE = 'ULOC_ACTUAL_LOCALE';
- const VALID_LOCALE = 'ULOC_VALID_LOCALE';
- /**
- * Valid locale tag and subtag values
- */
- const LANG_TAG = "language";
- const EXTLANG_TAG = "extlang";
- const SCRIPT_TAG = "script";
- const REGION_TAG = "region";
- const VARIANT_TAG = "variant";
- const GRANDFATHERED_LANG_TAG = "grandfathered";
- const PRIVATE_TAG = "private";
-
- #############################################################################
- # Object-oriented API
- #############################################################################
- /**
- * Gets the default locale value from the INTL global 'default_locale'
- * At the PHP initilaization (MINIT) this value is set to
- * 'intl.default_locale' value from php.ini if that value exists
- * or from ICU's function uloc_getDefault()
- * Then onwards picks up changes from setDefault() calls also
- *
- * @return string the current runtime locale
- */
- public static function getDefault() {}
- /**
- * sets the default runtime locale to $locale
- * This changes the value of INTL global 'default_locale'
- *
- * @param string $locale is a BCP 47 compliant language tag containing the
- * locale identifier. UAX #35 extensions are accepted.
- * @return boolean 'true' if okay, 'false' if an error
- */
- public static function setDefault($locale) {}
- /**
- * Gets the primary language for the input locale
- *
- * @param string $locale the locale to extract the primary language code from
- * @return string the language code associated with the language
- * or null in case of error.
- */
- public static function getPrimaryLanguage($locale) {}
- /**
- * Gets the script for the input locale
- *
- * @param string $locale the locale to extract the script code from
- * @return string the script subtag for the locale or null if not present
- */
- public static function getScript($locale) {}
- /**
- * Gets the region for the input locale
- *
- * @param string $locale the locale to extract the region code from
- * @return string the region subtag for the locale or null if not present
- */
- public static function getRegion($locale) {}
- /**
- * Gets the variants for the input locale
- *
- * @param string $locale the locale to extract the variants from
- * @return array the array containing the list of all variants
- * subtag for the locale or null if not present
- */
- public static function getAllVariants($locale) {}
- /**
- * Gets the keywords for the input locale
- *
- * @param string $locale the locale to extract the keywords from
- * @return array associative array containing the keyword-value pairs for this locale
- */
- public static function getKeywords($locale) {}
- /**
- * Returns an appropriately localized display name for the input locale
- *
- * @param string $locale the locale to return a displayname for
- * @param [string] $in_locale optional format locale
- * If is 'null' then the default locale is used.
- * @return string display name of the locale in the format
- * appropriate for $in_locale.
- */
- public static function getDisplayName($locale, $in_locale = null) {}
- /**
- * Returns an appropriately localized display name for language of the input locale
- *
- * @param string $locale the locale to return a display language for
- * @param [string] $in_locale optional format locale to use to display the language name
- * If is 'null' then the default locale is used.
- * @return string display name of the language for the $locale in the format
- * appropriate for $in_locale.
- */
- public static function getDisplayLanguage($lang, $in_locale = null) {}
- /**
- * Returns an appropriately localized display name for script of the input locale
- *
- * @param string $locale the locale to return a display script for
- * @param [string] $in_locale optional format locale to use to display the script name
- * If is 'null' then the default locale is used.
- * @return string display name of the script for the $locale in the format
- * appropriate for $in_locale.
- */
- public static function getDisplayScript($script, $in_locale = null) {}
- /**
- * Returns an appropriately localized display name for region of the input locale
- *
- * @param string $locale the locale to return a display region for
- * @param [string] $in_locale optional format locale to use to display the region name
- * If is 'null' then the default locale is used.
- * @return string display name of the region for the $locale in the format
- * appropriate for $in_locale.
- */
- public static function getDisplayRegion($region, $in_locale = null) {}
- /**
- * Returns an appropriately localized display name for variants of the input locale
- *
- * @param string $locale the locale to return a display variant for
- * @param [string] $in_locale optional format locale to use to display the variant name
- * If is 'null' then the default locale is used.
- * @return string display name of the variant for the $locale in the format
- * appropriate for $in_locale.
- */
- public static function getDisplayVariant($variant, $in_locale = null) {}
- /**
- * Checks if a $langtag filter matches with $locale according to
- * RFC 4647's basic filtering algorithm
- *
- * @param string $langtag the language tag to check
- * @param string $locale the language range to check against
- * @param bool $canonicalize Canonicalize parameters?
- * @return boolean 'true' if $locale matches $langtag 'false' otherwise
- */
- public static function filterMatches($langtag, $locale, $canonicalize) {}
- /**
- * Searchs the items in $langtag for the best match to the language
- * range specified in $locale according to RFC 4647's lookup algorithm.
- *
- * @param array $langtag an array containing a list of language tags to compare
- * to $locale
- * @param string $locale the locale to use as the language range when matching
- * @param string $default the locale to use if no match is found
- * @return string closest matching language tag, $default,
- * or empty string
- */
- public static function lookup(array $langtag, $locale, $default = null) {}
- /**
- * Returns a correctly ordered and delimited locale ID
- *
- * @param array $subtags an array containing a list of key-value pairs, where
- * the keys identify the particular locale ID subtags,
- * and the values are the associated subtag values.
- *
- * @return string the corresponding locale identifier.
- */
- public static function composeLocale(array $subtags) {}
- /**
- * Returns a key-value array of locale ID subtag elements.
- *
- * @param string $locale the locale to extract the subtag array from
- *
- * @return array $subtags an array containing a list of key-value pairs, where
- * the keys identify the particular locale ID subtags,
- * and the values are the associated subtag values.
- */
- public static function parseLocale($locale) {}
- }
- #############################################################################
- # Procedural API
- #############################################################################
- /**
- * Gets the default locale value from the INTL global 'default_locale'
- * At the PHP initilaization (MINIT) this value is set to
- * 'intl.default_locale' value from php.ini if that value exists
- * or from ICU's function uloc_getDefault()
- * Then onwards picks up changes from setDefault() calls also
- *
- * @return string the current runtime locale
- */
- function locale_get_default() {}
- /**
- * sets the default runtime locale to $locale
- * This changes the value of INTL global 'default_locale'
- *
- * @param string $locale is a BCP 47 compliant language tag containing the
- * locale identifier. UAX #35 extensions are accepted.
- * @return boolean 'true' if okay, 'false' if an error
- */
- function locale_set_default($locale) {}
- /**
- * Gets the primary language for the input locale
- *
- * @param string $locale the locale to extract the primary language code from
- * @return string the language code associated with the language
- * or null in case of error.
- */
- function locale_get_primary_language($locale) {}
- /**
- * Gets the script for the input locale
- *
- * @param string $locale the locale to extract the script code from
- * @return string the script subtag for the locale or null if not present
- */
- function locale_get_script($locale) {}
- /**
- * Gets the region for the input locale
- *
- * @param string $locale the locale to extract the region code from
- * @return string the region subtag for the locale or null if not present
- */
- function locale_get_region($locale) {}
- /**
- * Gets the variants for the input locale
- *
- * @param string $locale the locale to extract the variants from
- * @return array the array containing the list of all variants
- * subtag for the locale or null if not present
- */
- function locale_get_all_variants($locale) {}
- /**
- * Gets the keywords for the input locale
- *
- * @param string $locale the locale to extract the keywords from
- * @return array associative array containing the keyword-value pairs for this locale
- */
- function locale_get_keywords($locale) {}
- /**
- * Returns an appropriately localized display name for the input locale
- *
- * @param string $locale the locale to return a displayname for
- * @param [string] $in_locale optional format locale
- * If is 'null' then the default locale is used.
- * @return string display name of the locale in the format
- * appropriate for $in_locale.
- */
- function locale_get_display_name($locale, $in_locale = null) {}
- /**
- * Returns an appropriately localized display name for language of the input locale
- *
- * @param string $locale the locale to return a display language for
- * @param [string] $in_locale optional format locale to use to display the language name
- * If is 'null' then the default locale is used.
- * @return string display name of the language for the $locale in the format
- * appropriate for $in_locale.
- */
- function locale_get_display_language($lang, $in_locale = null) {}
- /**
- * Returns an appropriately localized display name for script of the input locale
- *
- * @param string $locale the locale to return a display script for
- * @param [string] $in_locale optional format locale to use to display the script name
- * If is 'null' then the default locale is used.
- * @return string display name of the script for the $locale in the format
- * appropriate for $in_locale.
- */
- function locale_get_display_script($script, $in_locale = null) {}
- /**
- * Returns an appropriately localized display name for region of the input locale
- *
- * @param string $locale the locale to return a display region for
- * @param [string] $in_locale optional format locale to use to display the region name
- * If is 'null' then the default locale is used.
- * @return string display name of the region for the $locale in the format
- * appropriate for $in_locale.
- */
- function locale_get_display_region($region, $in_locale = null) {}
- /**
- * Returns an appropriately localized display name for variants of the input locale
- *
- * @param string $locale the locale to return a display variant for
- * @param [string] $in_locale optional format locale to use to display the variant name
- * If is 'null' then the default locale is used.
- * @return string display name of the variant for the $locale in the format
- * appropriate for $in_locale.
- */
- function locale_get_display_variant($variant, $in_locale = null) {}
- /**
- * Checks if a $langtag filter matches with $locale according to
- * RFC 4647's basic filtering algorithm
- *
- * @param string $langtag the language tag to check
- * @param string $locale the language range to check against
- * @param bool $canonicalize Canonicalize parameters?
- * @return boolean 'true' if $locale matches $langtag 'false' otherwise
- */
- function locale_filter_matches($langtag, $locale, $canonicalize) {}
- /**
- * Searchs the items in $langtag for the best match to the language
- * range specified in $locale according to RFC 4647's lookup algorithm.
- *
- * @param array $langtag an array containing a list of language tags to compare
- * to $locale
- * @param string $locale the locale to use as the language range when matching
- * @param string $default the locale to use if no match is found
- * @return string closest matching language tag, $default,
- * or empty string
- */
- function locale_lookup(array $langtag, $locale, $default = null) {}
- /**
- * Returns a correctly ordered and delimited locale ID
- *
- * @param array $subtags an array containing a list of key-value pairs, where
- * the keys identify the particular locale ID subtags,
- * and the values are the associated subtag values.
- *
- * @return string the corresponding locale identifier.
- */
- function locale_compose_locale(array $subtags) {}
- /**
- * Returns a key-value array of locale ID subtag elements.
- *
- * @param string $locale the locale to extract the subtag array from
- *
- * @return array $subtags an array containing a list of key-value pairs, where
- * the keys identify the particular locale ID subtags,
- * and the values are the associated subtag values.
- */
- function locale_parse_locale($locale) {}
- ?>
|