Клас Locale

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

Вступ

"Locale" - це ідентифікатор, який використовується для розпізнавання мови, культури або регіональних особливостей поведінки API. Локалі PHP організовані та позначені так само як і локалі CLDR, що використовуються ICU та багатьма виробниками систем Unix, Linux та Mac, Java тощо. Локалі позначаються згідно з мовними мітками стандарту RFC 4646 (який використовує тире, а не підкреслення) на додаток до традиційного позначення з використанням символу підкреслення. Функції даного класу розуміють обидва написання, якщо не вказано інше.

Приклади ідентифікаторів:

  • en-US (Англійська, США)
  • zh-Hant-TW (Китайська, Традиційне зображення, Тайвань)
  • fr-CA, fr-FR (Канадська Французька та Французька відповідно)

Клас Locale (і відповідні процедурні функції) використовується для взаємодії з ідентифікаторами локалів, перевірки правильного складання ідентифікатора, його коректності і т.д. Модулі використовуються CLDR в UAX #35 (і успадковується ICU), є коректними і використовуються скрізь вони були б у ICU.

Цей клас не можна інстанціювати як об'єкт. Усі методи/функції оголошено статичними.

null або порожній рядок вважатимуться за "базовий" локаль. "Базова" локаль - це "en_US_POSIX" в CLDR. Мовні мітки (і ідентифікатори локалі) реєстронезалежні. У даному класі присутній метод, що перетворює їх до канонічного вигляду.

Огляд класів


    
     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
      GRANDFATHERED_LANG_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() у вигляді ключів асоціативного масиву, що повертається.

Locale::LANG_TAG

Мітка для мови

Locale::EXTLANG_TAG

Розширена мітка мови

Locale::SCRIPT_TAG

Мітка зображення

Locale::REGION_TAG

Мітка регіону

Locale::VARIANT_TAG

Мітка варіанта

Locale::GRANDFATHERED_LANG_TAG

Мітка мови у старому синтаксисі (grandfathered)

Locale::PRIVATE_TAG

Приватна мітка

Дивіться також

Зміст

  • Locale::acceptFromHttp — Спробувати визначити найкращу локаль на основі заголовку HTTP "Accept-Language"
  • Locale::canonicalize - Канонізувати рядок локалі
  • Locale::composeLocale— Повертає коректно відсортовані та розділені ідентифікатори локалі
  • Locale::filterMatches— Перевірити, чи тег фільтра мови локалі відповідає
  • Locale::getAllVariants— Отримання варіантів із переданої локалі
  • Locale::getDefault — Отримання значення локалі INTL за замовчуванням із опції 'default_locale'
  • Locale::getDisplayLanguage— Повертає відповідним чином локалізоване ім'я мови для заданої локалі
  • Locale::getDisplayName - Повертає відповідним чином локалізоване ім'я локалі
  • Locale::getDisplayRegion— Повертає відповідним чином локалізовану назву регіону для заданої локалі
  • Locale::getDisplayScript— Повертає відповідним чином локалізовану назву алфавіту для заданої локалі
  • Locale::getDisplayVariant— Повертає відповідним чином локалізовану назву варіанта для заданої локалі
  • Locale::getKeywords— Отримати ключові слова для локалі
  • Locale::getPrimaryLanguage— Отримати первинну мову для локалі
  • Locale::getRegion— Отримати регіон для локалі
  • Locale::getScript - Отримати алфавіт для локалі
  • Locale::lookup— Пошук мовних позначок найбільш відповідних заданої локалі
  • Locale::parseLocale— Здобути асоціативний масив усіх підтегів локалі
  • Locale::setDefault— Встановити локаль за умовчанням під час виконання