Locale 类

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

简介

“地区设置”是用于从 API 获取语言、文化或区域特定行为的标识符。 PHP 地区设置的组织和标识方式与 ICU(以及许多 Unix 类操作系统、Mac、Java 等供应商使用的 CLDR 地区设置)相同。 除非另有说明,否则此类中的函数会容忍这两种格式。

标识符示例包括

  • en-US(英语,美国)
  • zh-Hant-TW(中文,繁体,台湾)
  • fr-CA、fr-FR(分别代表加拿大和法国的的法语)

Locale 类(以及相关的过程函数)用于与地区设置标识符进行交互 - 验证 ID 是否格式正确、有效等。 CLDR 在 UAX #35 中使用的扩展(并由 ICU 继承)是有效的,并在 ICU 通常使用的地方使用。

地区设置不能作为对象实例化。 提供的所有函数/方法都是静态的。

空字符串或空字符串获取“根”地区设置。“根”地区设置在 CLDR 中等效于“en_US_POSIX”。 语言标记(以及地区设置标识符)不区分大小写。 存在一个规范化函数来使大小写与规范匹配。

类概要

class Locale {
/* 常量 */
public const int ACTUAL_LOCALE;
public const int VALID_LOCALE;
public const null DEFAULT_LOCALE = null;
public const string LANG_TAG;
public const string EXTLANG_TAG;
public const string SCRIPT_TAG;
public const string REGION_TAG;
public const string VARIANT_TAG;
public const string PRIVATE_TAG;
/* 方法 */
public static acceptFromHttp(string $header): string|false
public static canonicalize(string $locale): ?string
public static composeLocale(array $subtags): string|false
public static filterMatches(string $languageTag, string $locale, bool $canonicalize = false): ?bool
public static getAllVariants(string $locale): ?array
public static getDefault(): string
public static getDisplayLanguage(string $locale, ?string $displayLocale = null): string|false
public static getDisplayName(string $locale, ?string $displayLocale = null): string|false
public static getDisplayRegion(string $locale, ?string $displayLocale = null): string|false
public static getDisplayScript(string $locale, ?string $displayLocale = null): string|false
public static getDisplayVariant(string $locale, ?string $displayLocale = null): string|false
public static getKeywords(string $locale): array|false|null
public static getPrimaryLanguage(string $locale): ?string
public static getRegion(string $locale): ?string
public static getScript(string $locale): ?string
public static lookup(
    array $languageTag,
    string $locale,
    bool $canonicalize = false,
    ?string $defaultLocale = null
): ?string
public static parseLocale(string $locale): ?array
public static setDefault(string $locale): bool
}

预定义常量

Locale::DEFAULT_LOCALE
用作各种区域设置相关类的(例如 NumberFormatter)方法的区域设置参数。此常量将使方法使用默认区域设置。

这些常量描述了不同类 getLocale 方法的区域设置选择。

Locale::ACTUAL_LOCALE
这是数据实际来源的区域设置。
Locale::VALID_LOCALE
这是 ICU 支持的最具体的区域设置。

区域设置子标签

这些常量定义了如何解析或组合区域设置。它们应作为参数数组中的键用于 locale_compose(),并作为从 locale_parse() 返回的关联 array 的键返回。

Locale::LANG_TAG
语言子标签
Locale::EXTLANG_TAG
扩展语言子标签
Locale::SCRIPT_TAG
脚本子标签
Locale::REGION_TAG
地区子标签
Locale::VARIANT_TAG
变体子标签
Locale::GRANDFATHERED_LANG_TAG
祖父语言子标签
Locale::PRIVATE_TAG
私有子标签

目录

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top