Встановлює налаштування локалі

(PHP 4, PHP 5, PHP 7)

setlocale - Встановлює налаштування локалі

Встановлює налаштування локалі.

Список параметрів

Якщо як locale передано порожній рядок "" абоNULL, імена локалів будуть взяті з однойменних змінних оточення або змінної з ім'ям "LANG".

Якщо locale передано "0", локаль змінено не буде, а буде повернуто поточне значення.

Якщо в якості locale передано масив, або після цього аргументу випливають додаткові аргументи, функція буде використовувати елементи масиву або аргументи по порядку як імена локалі до тих пір, поки установка локалі не буде успішною. Це зручно, якщо одна й та сама локаль має різне ім'я в різних системах, або для створення запасного варіанту за відсутності будь-якої локалі в системі.

(Необов'язкові аргументи у вигляді рядків або масивів для встановлення налаштувань локалі до першої успішної спроби.)

На Windows setlocale(LC_ALL, '') встановлює імена локалів із системних регіональних/мовних налаштувань (доступних через Панель керування).

Значення, що повертаються

Значення, що повертається функцієюsetlocale(), залежить від системи, на якій запущено PHP. Вона повертає те саме значення, що й системна функція setlocale.

список змін

Версія Опис
7.0.0Видалено підтримку для параметра category , що передається як рядок. З поточної версії можна використовувати лише константи 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 знайдуть корисну інформацію про значення locale на сайті Microsoft MSDN. Підтримувані мови перераховані в документації за мовними рядками, а значення країн/регіонів у документації за рядками країн/регіонів.