Клас 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
Приватна мітка
Дивіться також
- » RFC 4646 - мітки для ідентифікаторів мов
- » RFC 4647 - перевірка мовних міток
- » Проект Unicode CLDR: Стандартний репозиторій даних локалей
- » Регістр мовних міток IANA
- » Керівництво користувача ICU - Локаль
- » ICU api локалі
Зміст
- 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— Встановити локаль за умовчанням під час виконання