LOCALE(5)

ИМЯ
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 и 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)