locale(5)

НАЗВАНИЕ
locale - описание файла определения локали

ОПИСАНИЕ
Файлы определения 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;

print
    сопровождается списком печатаемых символов, включая символ <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) и Примеры2 (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
    Устанавливаемое целое число равно нулю
     , если никакие пробелы не отделяют currency_symbol или int_curr_symbol от величины (в случае с отрицательным денежным значением); оно равно единице, если пробел отделяет символ от величины; и равно двум, если пробел отделяет символ от знаковой строки (в случае их смежности).

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
    сопровождается списком кратких названий дней недели. Список начинается с Sunday или его перевода (например, воскресенье).

day сопровождается списком названий дней недели. Список начинается с воскресенья.

abmon
    сопровождается списком кратких названий месяцев.

mon сопровождается списком названий месяцев.

am_pm
    Соответственное представление строк am и pm
     .

d_t_fmt
    Дата и формат времени соответственно.

d_fmt
    Формат даты.

t_fmt
    Формат времени.

t_fmt_ampm
    12-часовой формат времени.

Определение для категории 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

СМ. ТАКЖЕ
setlocale(3), localeconv(3), charmap(5), locale(1), localedef(1)