Задава локални настройки

(PHP 4, PHP 5, PHP 7)

setlocale - Задаване на локални настройки

Задава настройките за локал.

Списък с параметри

Ако празният низ "" илиNULL е подаден като локал, имената на локалите ще бъдат взети от променливи на средата със същото име или променлива с име "LANG".

Ако "0" е предадено като локал, локалът няма да бъде променен и текущата стойност ще бъде върната.

Ако масив е подаден като локал или ако допълнителни аргументи следват този аргумент, функцията ще използва елементите на масива или аргументите по ред като имена на локал, докато настройката на локала не бъде успешна. Това е полезно, ако един и същ локал има различно име на различни системи или за създаване на резервен вариант, когато локал липсва в системата.

(Незадължителни аргументи от низ или масив за задаване на настройките за локал преди първия успешен опит.)

В Windows setlocale(LC_ALL, '') задава имената на локалите от системните регионални/езикови настройки (достъпни през контролния панел).

Върнати стойности

Стойността, върната отsetlocale() зависи от системата, на която работи PHP. Връща точно същата стойност като системната функция setlocale.

Списък на промените

Описание на версията
7.0.0Премахната поддръжка за параметъра на категорията, предаван като низ. От текущата версия могат да се използват само константи LC_*.
5.3.0Понастоящем тази функция хвърляE_DEPRECATED известия, ако в параметъра на категорията е предаден низ вместо една от константите LC_*.

Пример #1 Примери за използванеsetlocale()

/* ИнсталацияХоландски локал */ setlocale (LC_ALL, 'nl_NL');

/* опит за използване на различни локали за немски */ $loc_de = setlocale ( LC_ALL , 'de_DE@euro' , 'de_DE' , 'de' , 'ge' ); echo "В тази система немският локал е ' $loc_de '" ; ?>

Пример #2 Примери за използване наsetlocale() в Windows

/* Задаване на холандски локал */ setlocale (LC_ALL, 'nld_nld');

/* опит за използване на различни локали за немски */ $loc_de = setlocale ( LC_ALL , 'de_DE@euro' , 'de_DE' , 'deu_deu' ); echo "Предпочитан немски локал в тази система: ' $loc_de '" ; ?>

Бележки

Информацията за локалите се актуализира по време на процеса, а не за нишка. Ако изпълнявате PHP на многонишков сървър като IIS, HHVM или Apache на Windows, може да откриете неочаквани промени в локала, когато изпълнявате скриптове, които никога не са извиквалиsetlocale(). Това е така, защото други скриптове, изпълнявани в паралелни нишки на този процес, промениха локалните настройки за целия процес едновременно с помощта наsetlocale().

Потребителите на Windows ще намерят полезна информация за стойностите на локала на сайта на Microsoft MSDN. Поддържаните езици са изброени в » документацията за езиков низ, а стойностите за държава/регион в » документацията за низ за държава/регион.