Задача
Необходимо указать PHP, что следует использовать настройки определенной локали.
Решение
Вызовите функцию setlocale() с соответствующей категорией и локалью. Покажем, как указать локаль es_US (испанский язык, США) для всех категорий:
setlocale(LC_ALL,'es_US');
Ниже показано, как задать способ форматирования времени и даты для локали de_AT (немецкий язык, Австрия):
setlocale(LC_TIME,'de_AT');
Обсуждение
Чтобы определить текущую локаль, не меняя ее, вызовите функцию setlocale() со значением NULL в качестве локали:
print setlocale(LC_ALL,NULL);
en_US
Различные системы также поддерживают множество синонимов для распространенных локалей, перечисленных в файле, таком как /usr/share/locale/locale.alias. Этот файл состоит из ряда строк, в том числе:
russian ru_RU.ISO-8859-5
slovak sk_SK.ISO-8859-2
slovene sl_SI.ISO-8859-2
slovenian sl_SI.ISO-8859-2
spanish es_ES.ISO-8859-1
swedish sv_SE.ISO-8859-1
Первая колонка каждой строки – это синоним, во второй показаны локаль и набор символов, на которые указывает синоним. В вызовах функции setlocale() можно использовать синоним вместо соответствующей строки, на которую указывает синоним. Например, можно сделать так:
setlocale(LC_ALL,'swedish');
вместо:
setlocale(LC_ALL,'sv_SE.ISO-8859-1');
Чтобы изменить локаль в Windows, откройте панель управления. В разделе Язык и Стандарты (Regional Settings) можно выбрать новую локаль и подобрать остальные настройки.