[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Категории и локали

Аргумент category может быть одним из значений, представленных на
следующей странице. Эти символьные константы определены в <locale.h>.
LC_TIME        влияет   на    поведение   ascftime(3C),    cftime(3C),
               getdate(3C) и strftime(3C).

LC_NUMERIC     изменяет    разделяющий    символ    для    десятичного
               представления в операциях ввода/вывода (смотри описание
               printf(3C) и  функции преобразования строк strtod(3C)).
               Базу   данных    можно   опросить    с   использованием
               localeconv(3C).

LC_MONETARY    влияет на поведение localeconv(3C).

LC_COLLATE     влияет на поведение strcoll(3C) и strxfrm(3C).

LC_CTYPE       влияет на  поведение  функций  преобразования  символов
               (см.  страницу   руководства  ctype(3C)),   таких   как
               isdigit(3C), и  функций на странице conv(3C), таких как
               tolower(3C). LC_CTYPE  также  влияет  на  многобайтовые
               функции, такие как mbtowc(3C) и wctomb(3C).

LC_MESSAGES    влияет на поведение gettxt(3C).

LC_ALL         влияет на все категории программной локали.

Каждая категория ссылается на базу данных, соответствующую данной
локали. Базы данных определены в /usr/lib/locale/locale/category
(подставьте подходящие имена для "locale" и "category").
Первый пример на следующей странице устанавливает категорию LC_TIME
локали Франции. Эта категория расположена в
/usr/lib/locale/FR/LC_TIME. Второй пример устанавливает LC_NUMERIC
категорию локали C (стандартная локаль Соединенных Штатов). Третий
пример устанавливает все категории локали, описанной переменной LANG.
Например,
$ LANG=IT prog
выполнит prog с использованием итальянских локалей из каталога
/usr/lib/locale/IT. Несколько стандартных команд ОС UNIX позволяют
устанавливать локаль на основе значения этой переменной. Например:
$ LANG=DE
$ export LANG
$ date
Donnerstag den 10. August 1989 14.47 Uhr

Большинство баз данных создаются при помощи команд, указанных в
Справочном руководстве администратора. Следующий список указывает для
каждой категории команду, которой она создается:
   категория   команда из 1M         категория   команда из 1M


LC_NUMERIC      chrtbl(1M)         LC_CTYPE       chrtbl(1M)
LC_COLLATE      colltbl(1M)        LC_TIME        нет команды
LC_MESSAGES     mkmsgs(1M)         LC_MONETARY    montbl(1M)

                          КАТЕГОРИИ И ЛОКАЛИ
                   /usr/lib/locale/locale/category


 категория                         влияет на

 LC_TIME       strftime(3C), getdate(3G)

 LC_NUMERIC    заместитель десятичной точки для
               форматированного ввода/вывода: printf(3C);
               преобразование строк: strtod(3C)

 LC_MONETARY   localeconv(3C)
 LC_COLLATE    strcoll(3C), strxfrm(3C)

 LC_CTYPE      преобразование символов: ctype(3C), conv(3C)
               многобайтовые функции: mbtowc(3C), wctomb(3C)

 LC_MESSAGES   gettxt(3C)
 LC_ALL        все категории


Примеры:                          Используют:

setlocale(LC_TIME, "FR")          /usr/lib/locale/FR/LC_TIME
setlocale(LC_NUMERIC,"C")         /usr/lib/locale/C/LC_NUMERIC
setlocale(LC_ALL, "" )            локаль, определенная в LANG