Руководство по PHP
Пред. |  | След.

# setlocale

(PHP 3, PHP 4, PHP 5)

setlocale -- Устанавливает локаль

## Описание

string setlocale ( mixed category, string locale [, string ...] )
string setlocale ( mixed category, array locale )

`category` - строка или константа, задающая категорию функций, на которые будет влиять установка локали:

- LC_ALL - все функции

- LC_COLLATE - функции сравнения строк, см. strcoll()

- LC_CTYPE - функции преобразования строк, например strtoupper()

- LC_MONETARY - функция localeconv()

- LC_NUMERIC - задает символ десятичной точки (см. также localeconv())

- LC_TIME - форматирование дат функцией strftime()

> Замечание: Начиная с 4.2.0, передача `category` в виде строки не поддерживается, рекомендуется использовать перечисленные константы. Передача этих констант как строк (в кавычках) вызовет вывод предупреждения.

Если в качестве `locale` передана пустая строка `""`, имена локалей будут взяты из соответствующих переменных окружения или переменной с именем "LANG".

Если в качестве `locale` передан `NULL` или `"0"`, локаль изменена не будет, а будет возвращено текущее значение.

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

> Замечание: Передача нескольких локалей доступна начиная с PHP 4.3.0

Setlocale возвращает имя вновь установленной локали или `FALSE` если системе не поддерживает установку локали, указанная локаль не существует или передано недопустимое имя категории. Недопустимое имя категории также вызывает предупредение. Имена локалей и категорий описаны в RFC 1766 и ISO 639.

> Замечание: Возвращаемое функцией setlocale() значение зависит от системы - это значение, возвращаемое системной функцией setlocale.

> Подсказка: Полезная информация о значениях аргумента `locale` в Windows содержится на сайте MSDN. Поддерживаемые языки перечислены здесь: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp, поддерживаемые коды стран/регионов - здесь: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_country_strings.asp. Windows поддерживает трехбуквенные коды стран/регионов, определенные в стандарте `ISO 3166-Alpha-3`, который можно найти на этом сайте Unicode.

Пример 1. Примеры использования setlocale()

`<?php /* Установка голландской локали */ setlocale(LC_ALL, 'nl_NL'); /* выводит: vrijdag 22 december 1978 */ echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978)); /* попытка использовать различные локали для немецкого языка (с PHP 4.3.0) */ $loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge'); echo "На этой системе немецкая локаль имеет имя '$loc_de'"; ?>`

Пример 2. Примеры использования setlocale() в Windows

`<?php /* Установка голландской локали */ setlocale(LC_ALL, 'nl_NL'); /* выводит: vrijdag 22 december 1978 */ echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978)); /* попытка использовать различные локали для немецкого языка (с PHP 4.3.0) */ $loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu'); echo "На этой системе немецкая локаль имеет имя '$loc_de'"; ?>`

Пред. | Начало | След.
rtrim | Уровень выше | sha1_file