Как уже было замечено, в каждой отдельной стране способ представления данных отличается. Чтобы упорядочить все эти отличия, их объединяют в группы и особым образом описывают. Такая группа признаков называется Категория Локализации :
| LC_CTYPE | Определяет правила классификации и преобразования одиночных символов. Позволяет правильно определять вид символа: цифра, буква, значок, заглавная буква или прописная и т.д. Другими словами, включает правильную работу isalnum(3), isalpha(3), iscntrl(3), isdigit(3), ... и т.п. для местного алфавита. Вдобавок, включает правильный перевод строчных -- прописных букв: toupper(3) и tolower(3). |
| LC_COLLATE | Определяет правила сравнения и преобразования строк. Позволяет определять лексикографический порядок символов (порядок сортировки) в местном алфавите. Включает правильную работу strcoll(3) и strxfrm(). Оказывает непосредственное влияние на работу утилит типа sort(1) и т.д. |
| LC_TIME | Определяет правила национального представления времени и даты. Задает именование дней недели, месяцев и т.п. а также задает способ написания даты и времени. (12/24) Hепосредственно влияет на strfdate(3) а через нее на утилиты date(1) и т.д. |
| LC_NUMERIC | Определяет правила национального представления чисел с плавающей точкой. |
| LC_MONETARY | Определяет правила национального представления денежных величин. (См. Currency Symbols ISO 4712) |
Особая категория локализации LC_ALL служит для обращения одновременно ко всем категориям, т.е. работает как '*'.
В стандарте POSIX 1996 кроме категорий
локализации стандартизированы
также Ключевые Cлова (keywords),
которые определяют внутреннее
содержимое категорий локализации.
Hапример, для категории LC_CTYPE
определены ключевые слова: alpha,
digit, xdigit и т.д. Для
категории LC_TIME определены
ключевые слова : mon, day,
abmon, abday, e.t.c.
(названия месяцев, название дней
недели, в полной и в сокращенной
форме), а также способ записи
даты во внешнем представлении и т.д.
* Формальное описание категорий
локализации содержится в файле
"описания локализации".
Получить доступ к ключевым словам
категорий локализации можно с
помощью функции nl_langinfo()
(Не POSIX).
Кроме перечисленных выше категорий локализации иногда также определены:
LC_RESPONCE - Hабор "стандартных" местных ответов ja, si, да, yes, e.t.c.
LC_MESSAGES - Hабор стандартных сообщений об ошибках: "File not found", "Файл не найден".
В POSIX категория LC_RESPONCE входит в LC_MESSAGES. Кроме того, значение LC_MESSAGES оказывает влияние на NLS.
Для локализации системы X Windows используются ее собственные настройки locale (Xlocale), которые здесь не рассматриваются.