locale
1. locale.5.man
Manpage of LOCALE
LOCALE
Section: Руководство пользователя Linux (5)Updated: 2008-06-17
Index Return to Main Contents
ИМЯ
locale - описание файла определения локалиОПИСАНИЕ
Файлы определения локалей содержат в себе всю информацию, которая нужна команде localedef(1) для преобразования её в двоичную базу данных локали.Файлы определения состоят из разделов, каждый из которых подробно описывает некоторые категории локали.
СИНТАКСИС
Файлы определения локали начинаются с заголовка, который может состоять из следующих ключевых слов:- <escape_char>
- сопровождается символом, который будет использоваться как символ экранирования во всей оставшейся части файла для обозначения символов, которые должны восприниматься особым образом. По умолчанию это символ обратной косой черты (\).
- <comment_char>
- сопровождается символом, который будет использоваться как символ комментария во всей оставшейся части файла. По умолчанию это символ решётки (#).
Каждая категории локали описывается в отдельной части. Каждая часть может быть скопирована из другой существующей локали или или создана заново. Если категория должна быть скопирована, то в определении должно находиться единственное ключевое слово copy, сопровождаемое названием локали, из которой скопирована категория.
LC_CTYPE
Определение для категории LC_CTYPE начинается со строки LC_CTYPE в первой колонке.Существуют следующие разрешённые ключевые слова:
- upper
- сопровождается списком символов в верхнем регистре. Символы от A до Z включаются в класс автоматически. Символы, указанные в cntrl, digit, punct или space, запрещёны.
- lower
- сопровождается списком символов в нижнем регистре. Символы от a до z включаются в класс автоматически. Символы, указанные в cntrl, digit, punct или space, запрещёны.
- alpha
- сопровождается списком символов. Символы, указанные в upper или lower, включаются в класс автоматически. Символы, указанные в cntrl, digit, punct или space, запрещёны.
- digit
- сопровождается списком символов, которые считаются цифрами. Разрешается использовать в списке только цифры от 0 до 9. Они включаются в этот класс по умолчанию.
- space
- сопровождается списком символов, которые считаются пробельными символами. Символы, указанные в upper, lower, alpha, digit, graph или xdigit, запрещёны. Символы <space>, <form-feed>, <newline>, <carriage-return>, <tab> и <vertical-tab> добавляются автоматически.
- cntrl
- сопровождается списком управляющих символов. Символы, указанные в upper, lower, alpha, digit, punct, graph, print или xdigit, запрещёны.
- punct
- сопровождается списком символов пунктуации. Символы, указанные в upper, lower, alpha, digit, cntrl, xdigit или <space>, запрещёны.
- graph
- сопровождается списком печатных (видимых) символов, не считая символа <space>. Автоматически включаются символы из upper, lower, alpha, digit, xdigit и punct. Символы, указанные в cntrl, запрещёны.
- сопровождается списком печатных (видимых) символов, включая символ <space>. Автоматически включаются символы из upper, lower, alpha, digit, xdigit, punct и <space>. Символы, указанные в cntrl, запрещёны.
- xdigit
- сопровождается списком символов, описывающих шестнадцатеричные цифры. Далее должны быть указаны десятичные цифры, сопровождаемые одним или несколькими наборами из шести символов в возрастающем порядке. По умолчанию включены: от 0 до 9, от a до f, от A до F.
- blank
- сопровождается списком символов, классифицированных как blank. Автоматически включены символы <space> и <tab>.
- toupper
- сопровождается списком преобразований символов нижнего регистра в символы верхнего. Каждое преобразование выполняется для пары символов в нижнем и верхнем регистре, разделенных знаком , и заключённых в круглые скобки. Элементы списка разделяются точкой с запятой.
- tolower
- сопровождается списком преобразований символов верхнего регистра в символы нижнего. Если ключевое слово tolower не задано, то по умолчанию используется список, противоположный списку toupper.
Определение для LC_CTYPE заканчивается строкой END LC_CYTPE.
LC_COLLATE
Категория LC_COLLATE определяет правила сортировки символов. Из-за ограничений в libc реализованы не все параметры POSIX.Определение начинается со строки LC_COLLATE в первой колонке.
Существуют следующие разрешённые ключевые слова:
- collating-element
- collating-symbol
Определение упорядочивания начинается со строки:
- order_start
сопровождаемой списком ключевых слов forward, backward или position. Описание упорядочивания состоит из строк, описывающих метод упорядочивания. Описание заканчивается командой
- order_end.
Подробности смотрите в исходном коде в /usr/lib/nls/src, особенно примеры POSIX, Example и Example2.
Определение для категории LC_COLLATE заканчивается строкой END LC_COLLATE.
LC_MONETARY
Определение начинается со строки LC_MONETARY в первой колонке.Существуют следующие разрешённые ключевые слова:
- int_curr_symbol
- сопровождаются символом международной валюты. Это должна быть строка из четырех символов, в которой указан код символа международной валюты согласно стандарту ISO 4217 (три символа) с последующим разделителем.
- currency_symbol
- сопровождается символом локальной валюты.
- mon_decimal_point
- сопровождается строкой, которая будет использована в качестве разделителя (десятичной точки) при выводе денежных сумм.
- mon_thousands_sep
- сопровождается строкой, которая будет использована в качестве разделителя тысяч при выводе денежных сумм.
- mon_grouping
- сопровождается строкой, которая описывает форматирование числовых количеств.
- positive_sign
- сопровождается строкой, которая используется для указания положительного знака денежных сумм.
- negative_sign
- сопровождается строкой, которая используется для указания отрицательного знака денежных сумм.
- int_frac_digits
- сопровождается количеством дробных цифр, которые должны использоваться при форматировании с int_curr_symbol.
- frac_digits
- сопровождается количеством дробных цифр, которые должны использоваться при форматировании с currency_symbol.
- p_cs_precedes
- сопровождается целым числом, установленное значение которого равно 1, если currency_symbol или int_curr_symbol должен предшествовать форматированному денежному количеству или равно 0, если символ следует за его величиной.
- p_sep_by_space
-
сопровождается целым числом.
-
- 0
- означает, что между символом и величиной не должны пропечатываться пробелы.
- 1
- означает, что между символом и величиной должен печататься пробел.
- 2
- означает, что пробел должен печататься между символом и знаковой строкой, если они смежны.
-
- n_cs_precedes
-
-
- 0
- - символ следует за величиной.
- 1
- - символ предшествует величине.
-
- n_sep_by_space
- Устанавливаемое целое число равно 0, если никакие пробелы не отделяют currency_symbol или int_curr_symbol от величины (в случае с отрицательным денежным значением); оно равно 1, если пробел отделяет символ от величины; и равно 2, если пробел отделяет символ от знаковой строки (в случае их смежности).
- p_sign_posn
-
-
- 0
- Круглые скобки включают в себя количество и currency_symbol или int_curr_symbol.
- 1
- Знаковая строка предшествует количеству и currency_symbol или int_curr_symbol.
- 2
- Знаковая строка следует за количеством и currency_symbol или int_curr_symbol.
- 3
- Знаковая строка предшествует количеству и currency_symbol или int_curr_symbol.
- 4
- Знаковая строка следует за currency_symbol или int_curr_symbol.
-
- n_sign_posn
-
-
- 0
- Круглые скобки включают в себя количество и currency_symbol или int_curr_symbol.
- 1
- Знаковая строка предшествует количеству и currency_symbol или int_curr_symbol.
- 2
- Знаковая строка следует за количеством и currency_symbol или int_curr_symbol.
- 3
- Знаковая строка предшествует количеству и currency_symbol или int_curr_symbol.
- 4
- Знаковая строка следует за currency_symbol или int_curr_symbol.
-
Определение для категории LC_MONETARY заканчивается строкой END LC_MONETARY.
LC_NUMERIC
Определение начинается с строки LC_NUMERIC в первой колонке.Разрешены следующие ключевые слова:
- decimal_point
- сопровождается строкой, которая будет использована в качестве разделителя (десятичной точки) при форматировании числовых количеств.
- thousands_sep
- сопровождается строкой, которая будет использована в качестве разделителя тысяч при форматировании числовых количеств.
- grouping
- сопровождается строкой, которая описывает форматирование числовых количеств.
Определение для категории LC_NUMERIC заканчивается строкой END LC_NUMERIC.
LC_TIME
Определение начинается со строки LC_TIME в первой колонке.Разрешены следующие ключевые слова:
- abday
- сопровождается списком кратких названий дней недели. Список начинается с первого дня недели, указанного в week (по умолчанию Sunday, воскресенье).
- day
- сопровождается списком названий дней недели. Список начинается с первого дня недели, указанного в week (по умолчанию Sunday, воскресенье).
- abmon
- сопровождается списком кратких названий месяцев.
- mon
- сопровождается списком названий месяцев.
- am_pm
- Соответственное представление строк am и pm.
- d_t_fmt
- Дата и формат времени соответственно.
- d_fmt
- Формат даты.
- t_fmt
- Формат времени.
- t_fmt_ampm
- 12-часовой формат времени.
- week
- сопровождается списком из трёх значений: количество дней в неделе (по умолчанию 7), день начала недели (по умолчанию воскресенье) и минимальная длина первой недели в году (по умолчанию 4). Независимо от начала недели, 19971130 считается воскресеньем и 19971201 считается понедельником. Поэтому у стран, для которых используется 19971130, именем первого дня недели будет воскресенье в списке day, а у стран, использующих 19971201, будет перевод названия понедельника.
- first_weekday (начиная с glibc 2.2)
- Номер первого дня из списка дней, который будет показан в приложениях-календарях. Значение по умолчанию 1 соответствует или воскресенью или понедельнику, в зависимости от значения второго элемента в списке week.
- first_workday (начиная с glibc 2.2)
- Номер первого рабочего дня из списка day.
Определение для категории LC_TIME заканчивается строкой END LC_TIME.
LC_MESSAGES
Определение начинается со строки LC_MESSAGES в первой колонке.Разрешены следующие ключевые слова:
- yesexpr
- сопровождается регулярным выражением, которое описывает возможные ответы "да".
- noexpr
- сопровождается регулярным выражением, которое описывает возможные ответы "нет".
Определение для категории LC_MESSAGES заканчивается строкой END LC_MESSAGES.
Подробности смотрите в стандарте POSIX.2.
ФАЙЛЫ
/usr/lib/locale/ --- база данных для текущих настроек локали в этой категории/usr/lib/nls/charmap/* --- charmap-файлы
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.2, ISO/IEC 14652.ДЕФЕКТЫ
Эта страница руководства не содержит всей необходимой информации.СМОТРИТЕ ТАКЖЕ
locale(1), localedef(1), localeconv(3), setlocale(3), charmap(5)
Index
This document was created by man2html using the manual pages.
Time: 17:41:45 GMT, May 11, 2012
2. locale.7.man
Manpage of LOCALE
LOCALE
Section: Руководство программиста Linux (7)Updated: 2008-12-05
Index Return to Main Contents
ИМЯ
locale - описание поддержки нескольких языковОБЗОР
#include <locale.h>
ОПИСАНИЕ
Локаль - это сочетание языковых и культурных аспектов. Они включают в себя: язык сообщений, различные наборы символов, лексикографические соглашения и т.д. Программа должна определять локализацию и действовать согласно её установкам в целях достижения взаимосвязи различных культур.Файл <locale.h> описывает типы данных, функции и макросы, необходимые для выполнения этой задачи.
В нём описаны функции: setlocale(3), устанавливающая текущую локаль и localeconv(3), которая возвращает информацию о форматировании чисел.
Существуют различные категории локализации, которые программа может использовать; они описаны как макросы. Используя их в качестве первого аргумента функции setlocale(3), можно установить значение значение категории в желаемую локаль:
- LC_COLLATE
- Эта категория изменяет поведение функций strcoll(3) и strxfrm(3), которые используются для сравнения строк с учётом местного алфавита. Например, немецкая эсцет (sharp s) рассматривается как "ss".
- LC_CTYPE
- Эта категория влияет на поведение функций обработки и классификации символов, таких как: isupper(3) и toupper(3), а также многобайтных символьных функций, таких как: mblen(3) или wctomb(3).
- LC_MONETARY
- влияет на информацию, возвращаемую функцией localeconv(3) , которая описывает способ отображения числа, например, необходимо ли использовать в качестве десятичного разделителя точку или запятую. Эта информация используется в функции strfmon(3).
- LC_MESSAGES
- изменяет язык отображаемых сообщений и указывает, как должны выглядеть положительный и отрицательный ответы. Библиотека GNU C содержит функции gettext(3), ngettext(3) и rpmatch(3) для более удобного использования этой информации. Семейство функций GNU gettext так же учитывает переменную окружения LANGUAGE (содержащую через двоеточие список локалей), если указана допустимая категория отличная от "C".
- LC_NUMERIC
- изменяет информацию, которая используется в семействе функций printf(3) и scanf(3), если необходимо использовать настройки локали. Эта информация может быть также прочитана при помощи функции localeconv(3).
- LC_TIME
- влияет на поведение функции strftime(3), которая используется для отображения текущего времени в местном формате; например, большая часть Европы использует 24-часовой формат, тогда как в США используют 12-часовой.
- LC_ALL
- Все вышеперечисленное.
Если второй аргумент функции setlocale(3) равен пустой строке "", то локаль по умолчанию будет определяться следующим образом:
- 1.
- Если существует непустая переменная окружения LC_ALL, то используется её значение.
- 2.
- Если существует переменная окружения с именем одной из вышеописанных категорий и она непустая, то её значение присваивается этой категории.
- 3.
- Если существует непустая переменная окружения LANG, то используется её значение.
Информация о локальном форматировании чисел доступна в структуре struct lconv, возвращаемой функцией localeconv(3) , которая описана следующим образом:
struct lconv {
/* Информация о числах (не связанная с деньгами) */
char *decimal_point; /* Символ разделителя дробной части */
char *thousands_sep; /* Разделитель групп цифр слева от
символа разделителя дробной части */
char *grouping; /* Каждый элемент является номером цифры в группе;
большие элементы указывают на крайние слева значения.
Элемент с значением CHAR_MAX означает, что группировка
завершена. Элемент со значением 0 указывает, что
предыдущий элемент используется для всех групп,
находящихся левее. */
/* В оставшихся полях указывается информация о денежных величинах */
char *int_curr_symbol; /* Первые три символа являются символом валюты
согласно ISO 4217. Четвёртый символ является
разделителем. Пятый символ равен
aq\0aq. */
char *currency_symbol; /* Местный символ валюты */
char *mon_decimal_point; /* Символ разделителя дробной части */
char *mon_thousands_sep; /* Как thousands_sep */
char *mon_grouping; /* Как grouping */
char *positive_sign; /* Знак положительных значений */
char *negative_sign; /* Знак отрицательных значений */
char int_frac_digits; /* Представление дробных чисел в международном
формате */
char frac_digits; /* Представление дробных чисел в локальном
формате */
char p_cs_precedes; /* 1, если символ валюты указывается перед
положительным значение, 0 -- если
следует за ним. */
char p_sep_by_space; /* 1, если пробел отделяет символ валюты
от положительного значения */
char n_cs_precedes; /* 1, если символ валюты предшествует
отрицательному значению,
0, если следует за ним */
char n_sep_by_space; /* 1, если пробел отделяет символ валюты
от отрицательного значения */
/* Позиция положительного или отрицательного знака:
0 Скобки окружают количество и символ валюты.
1 Знак предшествует количеству и символу валюты.
2 Знак следует за количеством и символом валюты.
3 Знак непосредственно предшествует символу валюты.
4 Знак непосредственно следует за символом валюты. */
char p_sign_posn;
char n_sign_posn;
};
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001.Функции GNU gettext определены в LI18NUX2000.
СМОТРИТЕ ТАКЖЕ
locale(1), localedef(1), gettext(3), localeconv(3), ngettext(3), nl_langinfo(3), rpmatch(3), setlocale(3), strcoll(3), strfmon(3), strftime(3), strxfrm(3)
Index
This document was created by man2html using the manual pages.
Time: 17:41:45 GMT, May 11, 2012




