LOCALE(5)

ИМЯ
locale - описание файла определения локали

ОПИСАНИЕ
Файл определения локали содержит в себе всю информацию, которая нужна команде localedef(1) для преобразования её в двоичную базу данных локалей.

Файлы определения состоят из разделов, каждый из которых подробно описывает некоторую категорию локали. Дополнительную информацию об этих категориях смотрите в locale(7).

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

escape_char
    за которым указывается символ, использующийся в оставшихся строках файла как символ экранирования для пометки символов, которые должны обрабатываться особым образом. По умолчанию это символ обратной косой черты (\).

comment_char
    за которым указывается символ, использующийся в оставшихся строках файла как символ комментария. По умолчанию это символ решётки (#).

Определение локали поделено на отдельные части — для каждой категории своя. Каждую часть можно скопировать из другой существующей локали или создать с нуля. Если категорию нужно скопировать, то в определении должно находиться единственное ключевое слово copy и имя локали в двойных кавычках, из которого копируется категория. Исключением из этого правила являются LC_COLLATE и LC_CTYPE, когда в описании copy могут перечисляться правила для локали и выбранные замены.

При создании локали или категории с нуля за основу нужно взять из системы существующее определение локали, так как оно следует общим соглашениям glibc.

  Разделы категорий локали
Следующие разделы категорий определены в POSIX:

*   LC_CTYPE

*   LC_COLLATE

*   LC_MESSAGES

*   LC_MONETARY

*   LC_NUMERIC

*   LC_TIME

Также, начиная с версии 2.2, библиотека GNU C поддерживает следующие нестандартные категории:

*   LC_ADDRESS

*   LC_IDENTIFICATION

*   LC_MEASUREMENT

*   LC_NAME

*   LC_PAPER

*   LC_TELEPHONE

Более подробное описание каждой категории смотрите в locale(7).

  LC_ADDRESS
Определение начинается со строки LC_ADDRESS в первой колонке.

Допустимы следующие ключевые слова:

postal_fmt
    за которым указывается строка описателей поля, задающая формат почтовых адресов, используемый в локали. Доступны следующие описатели поля:

    %n  Имя человека, возможно собранное с использованием ключевого слова LC_NAME name_fmt (начиная с glibc 2.24).

    %a  Относится к человеку или организации.

    %f  Фирменное название.

    %d  Название отдела.

    %b  Обозначение здания.

    %s  Название улицы или блока (в Японии).

    %h  Номер дома или назначения.

    %N  Вставить конец строки, если предыдущее значение описателя было не пустой строкой; в противном случае игнорируется.

    %t  Вставить пробел, если предыдущее значение описателя было не пустой строкой; в противном случае игнорируется.

    %r  Номер квартиры, комнаты.

    %e  Номер этажа.

    %C  Страна назначения, берётся из ключевого слова country_post.

    %l  Часть территории внутри посёлка или города (начиная с glibc 2.24).

    %z  Индекс, почтовый код.

    %T  Город, посёлок.

    %S  Область, штат или префектура.

    %c  Страна, как указана в данных записи.

    Каждый описатель поля может содержать «R» после «%» для указания того, что информация берётся из версии строки на латинице.

country_name
    за которым указывается название страны на языке текущего документа (например, «Deutschland» для локали de_DE).

country_post
    за которым указывается аббревиатура страны (смотрите CERT_MAILCODES).

country_ab2
    за которым указывается двухсимвольная аббревиатура страны (ISO 3166).

country_ab3
    за которым указывается трёхсимвольная аббревиатура страны (ISO 3166).

country_num
    за которым указывается числовой код страны (ISO 3166).

country_car
    за которым указывается код страны в международном номерном знаке.

country_isbn
    за которым указывается код ISBN (для книг).

lang_name
    за которым указывается название языка на языке текущего документа.

lang_ab
    за которым указывается двухсимвольная аббревиатура языка (ISO 639).

lang_term
    за которым указывается трёхсимвольная аббревиатура языка (ISO 639-2/T).

lang_lib
    за которым указывается трёхсимвольная аббревиатура языка, используемая в библиотеках (ISO 639-2/B). Обычно, приложениям нужно использовать lang_term вместо lang_lib.

Определение категории LC_ADDRESS заканчивается строкой END LC_ADDRESS.

  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>.

charclass
    за которым указывается список определённых в локали имён классов символов, которые будут определены в локали позднее.

toupper
    за которым указывается список преобразований символов нижнего регистра в символы верхнего. Каждое преобразование — это пара символов в нижнем и верхнем регистре, разделённых знаком , и заключённых в круглые скобки.

tolower
    за которым указывается список преобразований символов верхнего регистра в символы нижнего. Если ключевое слово tolower не задано, то по умолчанию используется список, противоположный списку toupper.

map totitle
    за которым указывается список преобразований пар символов и букв, используемых в заголовках.

class
    за которым указывается определение класса символов определённой локали, сначала имя класса, затем идут символы, принадлежащие классу.

charconv
    за которым указывается список определённых в локали имён преобразований символов, которые будут определены в локали позднее.

outdigit
    за которым указывается список альтернативных выводимых цифр для локали.

map to_inpunct
    за которым указывается список преобразований пар альтернативных цифр и разделителей вводимых цифр для локали.

map to_outpunct
    за которым указывается список преобразований пар альтернативных разделителей вывода для локали.

translit_start
    отмечает начало раздела правил транслитерации. В начале раздела может содержаться ключевое слово include, за которым указываются правила и замены для определённой локали. Любое правило, указанное в локали, заменит любое правило, скопированное или включённое из других файлов. В случае повтора определения правила в файле локали, используется только первое правило.

    Правило транслитерации состоит из символа, который будет транслитерироваться, и списка целей транслитерации через точку с запятой. Используется первая цель, из набора символов которой может быть представлен указанный символ. Если представить нечем, то будет использоваться символ default_missing.

include
    в разделе правил транслитерации включает файл правил транслитерации (и необязательный файл_набора отображения).

default_missing
    в разделе правил транслитерации определяет символ по умолчанию, который будет использован для транслитерации, если ни одна из целей не может быть представлена набором символов цели.

translit_end
    помечает конец правил транслитерации.

Определение категории LC_CTYPE заканчивается строкой END LC_CTYPE.

  LC_COLLATE
Заметим, что в glibc не поддерживаются все параметры, определённые в POSIX; список поддерживаемых параметров приведён ниже (для glibc 2.23).

Определение начинается со строки LC_COLLATE в первой колонке.

Допустимы следующие ключевые слова:

coll_weight_max
    за которым указывается число, представляющее уровни сортировки. Это ключевое слово воспринимается glibc, но игнорируется.

collating-element
    за которым указывается определение символа элемента-сортировки, представляющего многосимвольный элемент сортировки.

collating-symbol
    за которым указывается определение символа сортировки, который можно использовать в определениях порядка сортировки.

define
    за которым указывается строка, которая будет вычислена в конструкции ifdef строка / else / endif.

reorder-after
    за которым следует повторное определение правила сортировки.

reorder-end
    помечает конец повторного определения правила сортировки.

reorder-sections-after
    за которым следует имя сценария для переупорядочивания сценариев, перечисляемых после.

reorder-sections-end
    помечает конец разделов переупорядочивания.

script
    за которым следует объявление сценария.

symbol-equivalence
    за которым следует символ-сортировки, который будет эквивалентен другому определённому символу-сортировки.

Определение правила сортировки начинается со строки:

order_start
    за которой указывается список ключевых слов из forward, backward или position. Определение сортировки состоит из строк, описывающих порядок сортировки, и заканчивается ключевым словом order_end.

Определение категории LC_COLLATE заканчивается строкой END LC_COLLATE.

  LC_IDENTIFICATION
Определение начинается со строки LC_IDENTIFICATION в первой колонке.

Допустимы следующие ключевые слова:

title
    за которым указывается название документа локали (например, «Maori language locale for New Zealand»).

source
    за которым указывается название организации, которая сопровождает этот документ.

address
    за которым указывается адрес организации, которая сопровождает этот документ.

contact
    за которым указывается контактное лицо от организации, которое сопровождает этот документ.

email
    за которым указывается адрес электронной почты лица или организации, которое сопровождает этот документ.

tel за которым указывается номер телефона (в международном формате) организации, которая сопровождает этот документ. В glibc 2.24 это ключевое слово устарело и заменено другими методами описания контактов.

fax за которым указывается номер факса (в международном формате) организации, которая сопровождает этот документ. В glibc 2.24 это ключевое слово устарело и заменено другими методами описания контактов.

language
    за которым указывается название языка, к которому применим этот документ.

territory
    за которым указывается название страны/географической области, к которой применим этот документ.

audience
    за которым указывается аудитория, которой адресован этот документ.

application
    за которым указывается описание любого специального применения, для которого предназначен этот документ.

abbreviation
    за которым указывается короткое имя источника, предоставившего этот документ.

revision
    за которым указывается номер выпуска этого документа.

date
    за которым указывается дата выпуска этого документа.

Также, для каждой категории, определяемой документом, должна быть строка, начинающаяся с ключевого слова category, после которого указывается:

*   строка, обозначающая определение этой категории локали,

*   точка с запятой и

*   один из идентификаторов LC_*.

Определение категории LC_IDENTIFICATION заканчивается строкой END LC_IDENTIFICATION.

  LC_MESSAGES
Определение начинается со строки LC_MESSAGES в первой колонке.

Допустимы следующие ключевые слова:

yesexpr
    за которым указывается регулярное выражение, которое описывает возможные ответы «да».

noexpr
    за которым указывается регулярное выражение, которое описывает возможные ответы «нет».

yesstr
    за которым указывается выходная строка, соответствующая «да».

nostr
    за которым указывается выходная строка, соответствующая «нет».

Определение категории LC_MESSAGES заканчивается строкой END LC_MESSAGES.

  LC_MEASUREMENT
Определение начинается со строки LC_MEASUREMENT в первой колонке.

Допустимы следующие ключевые слова:

measurement
    за которым указывается число, определяющее систему мер, используемую при измерениях. Возможны следующие значения:

    1   Метрическая

    2   Система мер США

Определение категории LC_MEASUREMENT заканчивается строкой END LC_MEASUREMENT.

  LC_MONETARY
Определение начинается со строки LC_MONETARY в первой колонке.

Допустимы следующие ключевые слова:

int_curr_symbol
    за которым указывается международной символ валюты. Это должна быть строка из четырёх символов, в которой указан код международного символа валюты согласно стандарту ISO 4217 (три символа) с последующим разделителем.

currency_symbol
    за которым указывается локальный символ валюты.

mon_decimal_point
    за которым указывается строка, используемая как десятичный разделитель в денежных величинах.

mon_thousands_sep
    за которым указывается строка, используемая как разделитель групп тысяч в денежных величинах.

mon_grouping
    за которым указывается последовательность целых, разделяемых точкой с запятой, которые описывают формат денежных величин. Смотрите подробности в grouping далее.

positive_sign
    за которым указывается строка, используемая для указания положительного знака денежных величин.

negative_sign
    за которым указывается строка, используемая для указания отрицательного знака денежных величин.

int_frac_digits
    за которым указывается количество цифр в дробной части, которое нужно использовать при форматировании с int_curr_symbol.

frac_digits
    за которым указывается количество цифр в дробной части, которое нужно использовать при форматировании с currency_symbol.

p_cs_precedes
    за которым указывается целое, обозначающее положение currency_symbol при форматировании неотрицательной денежной величины:

    0   сначала величина, затем символ

    1   сначала символ, затем величина

p_sep_by_space
    за которым указывается целое, обозначающее разделитель currency_symbol, строки знака и значения при форматировании неотрицательной денежной величины. Допустимы следующие значения:

    0   Отсутствует пробел между денежным символом и величиной.

    1   Если денежный символ и строка знака находятся рядом, то они отделяются от значения пробелом; в противном случае пробелом разделяются денежный символ и значение.

    2   Если денежный символ и строка знака находятся рядом, то они отделяются от значения пробелом; в противном случае пробелом разделяются строка знака и значение.

n_cs_precedes
    за которым указывается целое, обозначающее положение currency_symbol при форматировании отрицательной денежной величины. Используются те же значения что и для p_cs_precedes.

n_sep_by_space
    за которым указывается целое, обозначающее разделитель currency_symbol, строку знака и значение при генерации отрицательной денежной величины. Используются те же значения что и для p_sep_by_space.

p_sign_posn
    за которым указывается целое, обозначающее положение positive_sign при форматировании неотрицательной денежной величины:

    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
    за которым указывается целое, обозначающее положение negative_sign при форматировании отрицательной денежной величины. Используются те же значения что и для p_sign_posn.

int_p_cs_precedes
    за которым указывается целое, обозначающее положение int_curr_symbol при генерации неотрицательной денежной величины в международном формате. Используются те же значения что и для p_cs_precedes.

int_n_cs_precedes
    за которым указывается целое, обозначающее положение int_curr_symbol при генерации отрицательной денежной величины в международном формате. Используются те же значения что и для p_cs_precedes.

int_p_sep_by_space
    за которым указывается целое, обозначающее разделитель int_curr_symbol, строку знака и значение при генерации неотрицательной денежной величины в международном формате. Используются те же значения что и для p_sep_by_space.

int_n_sep_by_space
    за которым указывается целое, обозначающее разделитель int_curr_symbol, строку знака и значение при генерации отрицательной денежной величины в международном формате. Используются те же значения что и для p_sep_by_space.

int_p_sign_posn
    за которым указывается целое, обозначающее положение positive_sign при генерации неотрицательной денежной величины в международном формате. Используются те же значения что и для p_sign_posn.

int_n_sign_posn
    за которым указывается целое, обозначающее положение negative_sign при генерации отрицательной денежной величины в международном формате. Используются те же значения что и для p_sign_posn.

Определение категории LC_MONETARY заканчивается строкой END LC_MONETARY.

  LC_NAME
Определение начинается со строки LC_NAME в первой колонке.

Допускаются различные ключевые слова, но обязательно только name_fmt. Другие ключевые слова нужны только, если есть общее соглашение использовать соответствующее приветствие в этой локали.Допустимые ключевые слова:

name_fmt
    за которым указывается строка описателей поля, которые задают формат, используемый для имён в локали. Доступны следующие описатели поля:

    %f  Фамилия.

    %F  Фамилия в верхнем регистре.

    %g  Имя.

    %G  Инициал имени.

    %l  Имя латиницей.

    %o  Другое сокращённое имя.

    %m  Дополнительные имена.

    %M  Инициалы дополнительных имён.

    %p  Профессия.

    %s  Приветствие, например «доктор».

    %S  Сокращение приветствия, например «Mr.» или «Dr.».

    %d  Приветствие в соответствии с соглашениями FDCC.

    %t  Если предыдущий описатель поля равен пустой строке, то выдаётся пустая строка, в противном случае символ пробела.

name_gen
    за которым указывается приветствие для любого пола.

name_mr
    за которым указывается приветствие для мужчин.

name_mrs
    за которым указывается приветствие для замужних женщин.

name_miss
    за которым указывается приветствие для не замужних женщин.

name_ms
    за которым указывается приветствие, подходящее для всех женщин.

Определение категории LC_NAME заканчивается строкой END LC_NAME.

  LC_NUMERIC
Определение начинается со строки LC_NUMERIC в первой колонке.

Допустимы следующие ключевые слова:

decimal_point
    за которым указывается строка, используемая в качестве десятичного разделителя при форматировании числовых величин.

thousands_sep
    за которым указывается строка, используемая в качестве разделителя тысяч при форматировании числовых величин.

grouping
    за которым указывается последовательность целых чисел, разделяемых точкой с запятой, которые описывают формат числовых величин.

    Каждое целое указывает количество цифр в группе. Первое целое определяет размер группы, расположенной первой слева от десятичного разделителя. Последующие целые определяют последующие группы левее предыдущей группы. Если последнее целое не равно -1, то размер предыдущей группы (если есть) постоянно используется для оставшихся цифр. Если последнее целое равно -1, то дальнейшая группировка не производится.

Определение категории LC_NUMERIC заканчивается строкой END LC_NUMERIC.

  LC_PAPER
Определение начинается со строки LC_PAPER в первой колонке.

Допустимы следующие ключевые слова:

height
    за которым указывается высота бумаги стандартного формата в миллиметрах.

width
    за которым указывается ширина бумаги стандартного формата в миллиметрах.

Определение категории LC_PAPER заканчивается строкой END LC_PAPER.

  LC_TELEPHONE
Определение начинается со строки LC_TELEPHONE в первой колонке.

Допустимы следующие ключевые слова:

tel_int_fmt
    за которым указывается строка описателей поля, которыми задаётся формат, используемый для набора международных номеров. Доступны следующие описатели поля:

    %a  Код региона без национального префикса (используемый чаще всего префикс «00»).

    %A  Код региона включая национальный префикс.

    %l  Локальный номер (внутри кода региона).

    %e  Расширение (локального номера).

    %c  Код страны.

    %C  Альтернативный сервисный код поставщика услуг связи (carrier), используемый при наборе заграничного номера.

    %t  Если предыдущий описатель поля равен пустой строке, то выдаётся пустая строка, в противном случае символ пробела.

tel_dom_fmt
    за которым указывается строка описателей поля, которыми задаётся формат, используемый для набора местных номеров. Используются те же описатели поля, что и в tel_int_fmt.

int_select
    за которым указывается префикс для набора международных телефонных номеров.

int_prefix
    за которым указывается префикс, используемый в других странах для звонков в эту страну.

Определение категории LC_TELEPHONE заканчивается строкой END LC_TELEPHONE.

  LC_TIME
Определение начинается со строки LC_TIME в первой колонке.

Допустимы следующие ключевые слова:

abday
    за которым указывается список сокращённых названий дней недели. Список начинается с первого дня недели, указанного в week (по умолчанию Sunday, воскресенье). Смотрите ЗАМЕЧАНИЯ.

day за которым указывается список названий дней недели. Список начинается с первого дня недели, указанного в week (по умолчанию Sunday, воскресенье). Смотрите ЗАМЕЧАНИЯ.

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

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

d_t_fmt
    за которым указывается соответствующий формат даты и времени (синтаксис описан в strftime(3)).

d_fmt
    за которым указывается соответствующий формат даты (синтаксис описан в strftime(3)).

t_fmt
    за которым указывается соответствующий формат времени (синтаксис описан в strftime(3)).

am_pm
    за которым указывается соответствующее представление строк am и pm. Должно быть пустым для локалей, в которых не используется соглашение для AM/PM.

t_fmt_ampm
    за которым указывается соответствующий формат времени для представления 12 часового формата (синтаксис описан в strftime(3)). Должно быть пустым для локалей, в которых не используется соглашение для AM/PM.

era за которым указывается список строк через точку с запятой, задающих как в локали считать и отображать года каждой эпохи. Каждая строка имеет следующий формат:

    direction:offset:start_date:end_date:era_name:era_format

    Поля определены следующим образом:

    direction
        Может быть + или -. Символ + означает, что у годов, находящихся ближе к start_date, числовое значение меньше, чем у годов, находящихся ближе к end_date. Символ - имеет обратный смысл.

    offset
        Ближайший к start_date номер года в эре, соответствует описателю %Ey (смотрите strptime(3)).

    start_date
        Начало эры в виде гггг/мм/дд. Года до 1-го нашей эры представляются отрицательными числами.

    end_date
        Конец эры в виде гггг/мм/вв или одно из двух специальных значений: -* или +*. Комбинация -* означает, что конечная дата — это начало времён. Комбинация +* означает, что конечная дата — это конец времён.

    era_name
        Название эпохи, соответствует описателю %EC (смотрите strptime(3)).

    era_format
        Формат года в эпохе, соответствует описателю %EY (смотрите strptime(3)).

era_d_fmt
    за которым указывается формат даты в альтернативном формате эпохи, соответствует описателю %Ex (смотрите strptime(3)).

era_t_fmt
    за которым указывается формат времени в альтернативном формате эпохи, соответствует описателю %EX (смотрите strptime(3)).

era_d_t_fmt
    за которым указывается формат даты и времени в альтернативном формате эпохи, соответствует описателю %Ec (смотрите strptime(3)).

alt_digits
    за которым указываются альтернативные цифры, используемые для даты и времени в локали.

week
    за которым указывается список из трёх значений, разделённых точкой с запятой: количество дней в неделе (по умолчанию 7), день начала недели (по умолчанию воскресенье) и минимальная длина первой недели в году (по умолчанию 4). Независимо от начала недели, 19971130 считается воскресеньем и 19971201 считается понедельником. Смотрите ЗАМЕЧАНИЯ.

first_weekday (начиная с glibc 2.2)
    за которым указывается номер первого дня из списка day, который будет показан в приложениях-календарях. Значение по умолчанию 1 соответствует или воскресенью или понедельнику, в зависимости от значения второго элемента в списке week. Смотрите ЗАМЕЧАНИЯ.

first_workday (начиная с glibc 2.2)
    за которым указывается номер первого рабочего дня из списка day Значение по умолчанию равно 2.Смотрите ЗАМЕЧАНИЯ.

cal_direction
    за которым указывается числовое значение, задающее направление показа календарных дат:

    1   Слева направо, сверху.

    2   Сверху вниз, слева.

    3   Справа налево, сверху.

date_fmt
    за которым указывается представление соответствующей даты для date(1) (синтаксис описан в strftime(3)).

Определение категории LC_TIME заканчивается строкой END LC_TIME.

ФАЙЛЫ

/usr/lib/locale/locale-archive
    Обычный путь по умолчанию для расположения архива локалей.

/usr/share/i18n/locales
    Обычный путь по умолчанию для файлов определений локалей.

СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.2.

ЗАМЕЧАНИЯ
Коллективная мудрость сообщества библиотеки GNU C про abday, day, week, first_weekday и first_workday пишет в https://sourceware.org/glibc/wiki/Locales следующее:

*   Значение второго элемента в списке week задаёт начало списков abday и day.

*   В first_weekday задаётся смещение первого дня недели в списках abday и day.

*   Для совместимости, все локали glibc должны содержать значение второго элемента в списке week равное 19971130 (воскресенье), а также в базовых списках abday и day, соответственно, и установить значение first_weekday и first_workday равное 1 или 2, в зависимости от реального начала и рабочего дня недели в локали — воскресенья или понедельника.

СМОТРИТЕ ТАКЖЕ
iconv(1), locale(1), localedef(1), localeconv(3), newlocale(3), setlocale(3), strftime(3), strptime(3), uselocale(3), charmap(5), charsets(7), locale(7), unicode(7), utf-8(7)