waLocale

Работа с локалями

Содержание...

Методы

  • getFirstDay

    Возвращает номер дня недели, который используется в качестве начала недели в стране, которой соответствует указанная локаль.

  • getInfo

    Возвращает параметры локали.

  • format

    Возвращает число, отформатированное с учётом параметров локали.

  • getAll

    Возвращает информацию обо всех доступных локалях.

  • fromArray

    Возвращает значение из указанного массива, ключ которого соответствует указанной локали.

  • transliterate

    Возвращает транслитерированное значение строки текста в соответствии с параметрами указанной локали.

public static function getFirstDay ($locale = null)

Возвращает номер дня недели, который используется в качестве начала недели в стране, которой соответствует указанная локаль.

Параметры

  • $locale

    Идентификатор локали. Если значение не указано, то используется текущая локаль.

Пример

waLocale::getFirstDay('en_US')

Результат

7

public static function getInfo ($locale)

Возвращает параметры локали.

Параметры

  • $locale

    Идентификатор локали.

Пример

waLocale::getInfo('en_US')

Результат

[
    'iso3' => 'usa',
    'name' => 'English',
    'region' => 'USA',
    'english_name' => 'English',
    'english_region' => 'USA',
    'date_formats' => [
      'humandate' => 'F j, Y',
      'date' => 'm/d/Y',
      'dtime' => 'd/m H:i',
      'datetime' => 'm/d/Y H:i',
      'fulldatetime' => 'm/d/Y H:i:s',
    ],
    'decimal_point' => '.',
    'frac_digits' => '2',
    'thousands_sep' => ',',
    'first_day' => 7,
    'amount_in_words' => [
      'delim' => [
        10 => '-',
        100 => ' and ',
      ],
    ],
    'currency' => 'USD',
]

public static function format ($n, $decimals = null, $locale = null)

Возвращает число, отформатированное с учётом параметров локали.

Параметры

  • $n

    Число, которое нужно отформатировать.

  • $decimals

    Количество цифр после разделителя десятичной дроби, которое должно присутствовать в отформатированном числе. Если в исходном числе больше цифр после разделителя, то число округляется до указанного количества цифр.

  • $locale

    Идентификатор локали.

Пример

waLocale::format(123456.7890, 2, 'en_US')

Результат

123,456.79

public static function getAll ($type = false, $enabled_only = true)

Возвращает информацию обо всех доступных локалях.

Параметры

  • $type

    Тип значений, которые нужно получить:

    • 'all' или true: вернуть ассоциативный массив со всеми параметрами локалей.
    • 'name_region': вернуть ассоциативный массив с идентификаторами локалей в качестве ключей, значения которых — строки вида «Название языка (название страны)».
    • 'name': вернуть ассоциативный массив с идентификаторами локалей в качестве ключей, значения которых — строки вида «Название языка».
    • false: вернуть простой массив идентификаторов локалей.
  • $enabled_only

    Флаг, обозначающий, что нужно получить информацию только о локалях, перечисленных в конфигурационном файле wa-config/locale.php. В противном случае метод возвращает информацию обо всех локалях, описанных в файлах в директории wa-system/locale/data/.

Пример

waLocale::getAll(false)

Результат

[
    'ru_RU',
    'en_US',
]

Пример

waLocale::getAll('name_region')

Результат

[
    'en_US' => 'English (USA)',
    'ru_RU' => 'Русский (Российская Федерация)',
]

public static function fromArray ($arr, $locale = null)

Возвращает значение из указанного массива, ключ которого соответствует указанной локали.

Параметры

  • $arr

    Массив, ключами которого являются идентификаторы локалей.

  • $locale

    Идентификатор локали. Если значение не указано, то используется текущая локаль.

Пример

waLocale::fromArray([
    'ru_RU' => 'русский',
    'en_US' => 'English',
], 'ru_RU')

Результат

русский

public static function transliterate ($value, $locale = null)

Возвращает транслитерированное значение строки текста в соответствии с параметрами указанной локали. Транслитерация выполняется, если в информации о локали указана таблица соответствий букв в параметре translit_table.

Параметры

  • $value

    Строка текста, которую нужно транслитерировать.

  • $locale

    Идентификатор локали. Если значение не указано, то используется текущая локаль.

Пример

waLocale::transliterate('привет', 'ru_RU')

Результат

privet