setlocale

Установка региональных настроек.
Синтаксис:

string SetLocale(string category, string locale);

Функция setlocale устанавливает текущую локаль, с которой будут работать функции преобразования регистра символов, вывода даты-времени и т.д. Вообще говоря, для каждой категории функций локаль определяется отдельно и выглядит по-разному.
То, какую именно категорию функций затронет вызов setlocale(), задается в параметре category. Он может принимать следующие строковые значения:

LC_CTYPE - активизирует указанную локаль для функций перевода в верхний/нижний регистры;
LC_NUMERIC - активизирует локаль для функций форматирования дробных чисел - а именно, задает
разделитель целой и дробной части в числах;
LC_TIME - задает формат вывода даты и времени по умолчанию;
LC_ALL - устанавливает все вышеперечисленные режимы.
Теперь поговорим о параметре locale. Как известно, каждая локаль, установленная в системе, имеет свое уникальное имя, по которому к ней можно обратиться. Именно оно и фиксируется в этом параметре. Однако, есть два важных исключения из этого правила.
Во-первых, если величина locale равна пустой строке "", то устанавливается та локаль, которая указана в глобальной переменной окружения с именем, совпадающем с именем категории category (или LANG - она практически всегда присутствует в Unix).

Во-вторых, если в этом параметре передается 0, то новая локаль не устанавливается, а просто возвращается имя текущей локали для указанного режима.