Как уже было замечено, в каждой отдельной стране способ представления данных отличается. Чтобы упорядочить все эти отличия, их объединяют в группы и особым образом описывают. Такая группа признаков называется Категория Локализации :
LC_CTYPE | Определяет правила классификации и преобразования одиночных символов. Позволяет правильно определять вид символа: цифра, буква, значок, заглавная буква или прописная и т.д. Другими словами, включает правильную работу isalnum(), isalpha(), iscntrl(), isdigit(), ... и т.п. для местного алфавита. Вдобавок, включает правильный перевод строчных -- прописных букв: toupper() и tolower(). См. <ctype.h> |
LC_COLLATE | Определяет правила сравнения и преобразования строк. Позволяет определять лексикографический порядок символов (порядок сортировки) в местном алфавите. Включает правильную работу strcoll() и strxfrm(). Оказывает непосредственное влияние на работу утилит типа sort и т.д. |
LC_TIME | Определяет правила национального представления времени и даты. Задает именование дней недели, месяцев и т.п. а также задает способ написания даты и времени. (12/24) Hепосредственно влияет на strftime() а через нее на утилиты date и т.д. |
LC_NUMERIC | Определяет правила национального представления чисел с плавающей точкой. Влияет на strtod() и форматы %f и %g printf(), scanf(). |
LC_MONETARY | Определяет правила национального представления денежных величин. (См. Currency Symbols ISO 4712) strfmon(). |
Особая категория локализации LC_ALL служит для обращения одновременно ко всем категориям, т.е. работает как '*' (wildcard).
В стандарте POSIX 1996 кроме категорий локализации стандартизированы также Ключевые Cлова (keywords), которые определяют внутреннее содержимое категорий локализации. Hапример, для категории LC_CTYPE определены ключевые слова: alpha, digit, xdigit и т.д. Для категории LC_TIME определены ключевые слова : mon, day, abmon, abday, e.t.c. (названия месяцев, название дней недели, в полной и в сокращенной форме), а также способ записи даты во внешнем представлении и т.д. Получить доступ к ключевым словам категорий локализации можно с помощью функции nl_langinfo() (не входит POSIX, но входит в XPG).
Формальное описание категорий локализации содержится в файле locale definition "описания локализации". Этот файл может быть 'откомпилирован' утилитой localedef.
Кроме перечисленных выше категорий локализации иногда также определены:
LC_RESPONSE - Hабор "стандартных" местных ответов ja, si, да, yes, e.t.c.
LC_MESSAGES - Hабор стандартных сообщений об ошибках: "File not found", "Файл не найден".
В POSIX категория LC_RESPONSE входит в LC_MESSAGES. Кроме того, значение LC_MESSAGES оказывает влияние на NLS.
Для локализации системы X Window используются ее собственные настройки locale (Xlocale), которые здесь не рассматриваются. Смотри здесь или здесь.
Содержание "Locale AS IT IS"