Введение

Параметры, определяющие локаль в компьютере.

В информатике локаль — это набор параметров, определяющих язык пользователя, регион и любые особые предпочтения, которые пользователь хочет видеть в своем пользовательском интерфейсе. Как правило, идентификатор локали состоит как минимум из кода языка и кода страны или региона. Локаль является важным аспектом интернационализации (i18n).

Международные стандарты

В стандартных C и C++ локаль определяется в "категориях": (сортировка текста), (классификация символов), (формат валюты), (формат чисел) и (формат времени). Специальная категория может быть использована для установки всех параметров локали. Помимо "минимальной локали" с именем "C", стандарты C и C++ не определяют стандартные имена локалей, хотя формат POSIX часто используется в качестве базового.

Специфика платформ Microsoft

Windows использует специфические языковые и территориальные строки. Идентификатор локали (LCID) для неуправляемого кода в Microsoft Windows — это число, например, 1033 для английского (США), 2057 для английского (Великобритания) или 1041 для японского (Япония). Эти числа состоят из языкового кода (младшие 10 бит) и кода культуры (старшие биты) и поэтому часто записываются в шестнадцатеричном формате, например, 0x0409, 0x0809 или 0x0411. Microsoft начинает внедрять управляемые интерфейсы программирования приложений (API) для .NET, использующие этот формат. Одной из первых общедоступных функций является функция для смягчения проблем с интернационализированными доменными именами, но больше функций представлено в Windows Vista Beta 1. Начиная с Windows Vista, новые функции, использующие имена локалей BCP 47, были введены для замены большинства API, основанных на LCID. Формат имен локалей, подобный POSIX, доступен в UCRT (Universal C Run Time) Windows 10 и 11.