snipplets.dev/code/PHP/setlocale.php

56 lines
3.7 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/*
setlocale(int $category, string $locales, string ...$rest): string|false
Альтернативная сигнатура (не поддерживается с именованными аргументами):
setlocale(int $category, array $locale_array): string|false
*/
/*
category
Параметр category - это именованная константа, определяющая категорию функций,
на которые будет влиять установка локали:
LC_ALL - все нижеперечисленное
LC_COLLATE - функции сравнения строк, смотрите strcoll()
LC_CTYPE - функции преобразования и классификации строк, например strtoupper()
LC_MONETARY - для функции localeconv()
LC_NUMERIC - задаёт символ десятичного разделения (смотрите также localeconv())
LC_TIME - форматирование даты/времени функцией strftime()
LC_MESSAGES - для системных сообщений (доступна, если PHP был скомпилирован с поддержкой libintl)
locales
Если в качестве locales передана пустая строка "" или null,
имена локалей будут взяты из одноимённых переменных окружения
или переменной с именем "LANG".
Если в качестве locales передан "0", локаль изменена не будет,
а будет возвращено текущее значение.
Если в качестве locales передан массив, или после этого аргумента следуют
дополнительные аргументы, функция будет использовать элементы массива
или аргументы по порядку в качестве имён локали до тех пор,
пока установка локали не будет успешной. Это удобно, если одна и та же локаль
имеет разное имя в различных системах, или для создания запасного варианта
при отсутствии какой-либо локали в системе.
rest
Необязательные аргументы в виде строк или массивов
для установки настроек локали до первой успешной попытки.
locale_array
Каждый элемент массива пытается установить новую локаль
до первой успешной попытки. Это полезно,
если локаль известна под разными именами в разных системах
или для обеспечения запасного варианта для возможно недоступного
языкового стандарта.
Замечание:
На Windows setlocale(LC_ALL, '') устанавливает имена локалей из системных
региональных/языковых настроек (доступных через Панель Управления).
*/
setlocale(LC_ALL, 'nl_NL');
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "На этой системе немецкая локаль имеет имя '$loc_de'";
?>