Категории локализации.

   Как уже было замечено, в каждой отдельной стране способ представления данных отличается. Чтобы упорядочить все эти отличия, их объединяют в группы и особым образом описывают. Такая группа признаков называется Категория Локализации :

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"


Last change : 21-04-2003