1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434
|
<?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) {}
?>
|