Internationalization 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 (English, United States)
  • zh-Hant-TW (Chinese, Traditional Script, Taiwan)
  • fr-CA, fr-FR (French for Canada and France respectively)

Locale 클래스(및 관련 절차 함수)는 로케일 식별자와 상호 작용하여 ID가 ​​올바른 형식인지, 유효한지 등을 확인하는 데 사용됩니다. UAX #35(및 ICU에 의해 상속됨)에서 CLDR이 사용하는 확장은 유효하고 일반적으로 ICU에 있는 모든 곳에서 사용됩니다.

Locale은 개체로 인스턴스화할 수 없습니다. 제공된 모든 함수/메소드는 정적입니다.

null 또는 빈 문자열은 "root" 로케일을 가져옵니다. "root" 로케일은 CLDR의 "en_US_POSIX"와 동일합니다. 언어 태그(및 로케일 식별자)는 대소문자를 구분하지 않습니다. 명세와 대소문자를 일치시키는 정규화 함수가 있습니다.


클래스 개요

class Locale {
  /* Methods */
  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 (null)
NumberFormatter와 같이 영향을 받는 다양한 로케일 클래스의 메소드와 함께 로케일 매개변수로 사용됩니다. 이 상수는 메소드가 기본 로케일을 사용하도록 합니다.

이 상수는 다른 클래스의 getLocale 메소드에 대한 로케일 선택을 설명합니다.

Locale::ACTUAL_LOCALE (string)
이것은 데이터가 실제로 가져온 로케일입니다.
Locale::VALID_LOCALE (string)
이것은 ICU에서 지원하는 가장 구체적인 로케일입니다.

이러한 상수는 로케일을 구문 분석하거나 구성하는 방법을 정의합니다. 그것들은 locale_compose()에 대한 인수 배열의 키로 사용해야 하며 반환된 연관 배열의 키로 locale_parse()에서 반환됩니다.

Locale::LANG_TAG (string)
언어 하위 태그
Locale::EXTLANG_TAG (string)
확장 언어 하위 태그
Locale::SCRIPT_TAG (string)
스크립트 하위 태그
Locale::REGION_TAG (string)
지역 하위 태그
Locale::VARIANT_TAG (string)
변형 하위 태그
Locale::GRANDFATHERED_LANG_TAG (string)
Grandfathered Language subtag
Locale::PRIVATE_TAG (string)
비공개 하위 태그

기타


목차