2024 年 PHP Conference Japan

Locale 類別

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

簡介

「地區設定 (Locale)」是用於從 API 取得語言、文化或區域特定行為的識別碼。PHP 的地區設定與 ICU(以及許多類 Unix 作業系統、Mac、Java 等供應商)使用的 CLDR 地區設定的組織和識別方式相同。除了使用底線的傳統識別碼之外,地區設定也使用 RFC 4646 語言標籤(使用連字號,而非底線)來識別。除非另有說明,否則此類別中的函式都可接受這兩種格式。

識別碼範例包括:

  • en-US(英文,美國)
  • zh-Hant-TW(中文,繁體,台灣)
  • fr-CA, fr-FR(分別為加拿大和法國的法文)

Locale 類別(以及相關的程序式函式)用於與地區設定識別碼互動——驗證 ID 格式是否正確、是否有效等。UAX #35 中 CLDR 使用的擴充功能(以及 ICU 繼承的擴充功能)皆為有效,並且在 ICU 通常使用的地方皆可使用。

地區設定無法實例化為物件。所有提供的函式/方法都是靜態的。

null 或空字串會取得「根」地區設定。「根」地區設定相當於 CLDR 中的「en_US_POSIX」。語言標籤(以及地區設定識別碼)不區分大小寫。系統提供標準化函式,使大小寫符合規範。

類別概要

類別 Locale {
/* 常數 */
公開 常數 整數 ACTUAL_LOCALE;
公開 常數 整數 VALID_LOCALE;
公開 常數 空值 DEFAULT_LOCALE = null;
公開 常數 字串 LANG_TAG;
公開 常數 字串 EXTLANG_TAG;
公開 常數 字串 SCRIPT_TAG;
公開 常數 字串 REGION_TAG;
公開 常數 字串 VARIANT_TAG;
公開 常數 字串 PRIVATE_TAG;
/* 方法 */
公開 靜態 acceptFromHttp(字串 $header): 字串|false
公開 靜態 canonicalize(字串 $locale): ?字串
公開 靜態 composeLocale(陣列 $subtags): 字串|false
公開 靜態 filterMatches(字串 $languageTag, 字串 $locale, 布林值 $canonicalize = false): ?布林值
公開 靜態 getAllVariants(字串 $locale): ?陣列
公開 靜態 getDefault(): 字串
公開 靜態 getDisplayLanguage(字串 $locale, ?字串 $displayLocale = null): 字串|false
公開 靜態 getDisplayName(字串 $locale, ?字串 $displayLocale = null): 字串|false
公開 靜態 getDisplayRegion(字串 $locale, ?字串 $displayLocale = null): 字串|false
公開 靜態 getDisplayScript(字串 $locale, ?字串 $displayLocale = null): 字串|false
公開 靜態 getDisplayVariant(字串 $locale, ?字串 $displayLocale = null): 字串|false
公開 靜態 getKeywords(字串 $locale): 陣列|false|null
公開 靜態 getPrimaryLanguage(字串 $locale): ?字串
公開 靜態 getRegion(字串 $locale): ?字串
公開 靜態 getScript(字串 $locale): ?字串
公開 靜態 lookup(
    陣列 $languageTag,
    字串 $locale,
    布林值 $canonicalize = false,
    ?字串 $defaultLocale = null
): ?字串
公開 靜態 parseLocale(字串 $locale): ?陣列
公開 靜態 setDefault(字串 $locale):
}

預定義常數

Locale::DEFAULT_LOCALE 空值
與各種受地區設定影響的類別的方法(例如 NumberFormatter)一起用作地區設定參數。此常數將使方法使用預設地區設定。

這些常數描述了不同類別的 getLocale 方法的地區設定選擇。

Locale::ACTUAL_LOCALE 整數
這是資料實際來源的地區設定。
Locale::VALID_LOCALE 整數
這是 ICU 支援的最特定地區設定。

地區設定子標籤

這些常數定義了地區設定的解析或組合方式。它們應該在參數陣列中用作 locale_compose() 的鍵,並從 locale_parse() 返回作為返回的關聯式 陣列 的鍵。

Locale::LANG_TAG 字串
語言子標籤
Locale::EXTLANG_TAG 字串
延伸語言子標籤
Locale::SCRIPT_TAG 字串
文字子標籤
Locale::REGION_TAG 字串
地區子標籤
Locale::VARIANT_TAG 字串
變體子標籤
Locale::GRANDFATHERED_LANG_TAG 字串
祖父級語言子標籤
Locale::PRIVATE_TAG 字串
私有子標籤

更新日誌

版本 說明
8.4.0 類別常數現在已鍵入。

目錄

新增註解

使用者提供的註解

此頁面沒有使用者提供的註解。
To Top