Использование определенной локали

Задача
Необходимо указать 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) можно выбрать новую локаль и подобрать остальные настройки.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Локализация включаемых файлов
Локализация дат и времени
Локализация денежных значений
Локализация изображений
Локализация текстовых сообщений