locale(5) opis pliku definicji locale

OPIS

Plik definicji locale zawiera wszelkie informacje potrzebne poleceniu localedef(1) do przekształcenia tych informacji w binarną bazę danych locale.

Pliki definicji składają się z sekcji opisujących szczegółowo poszczególne kategorie locale.

Składnia

Na początku pliku definicji locale znajduje się od nagłówek, który może zawierać następujące słowa kluczowe:
<escape_char>
po którym następuje pewien znak. Znak ten powinien być używany w pozostałej części pliku jako znak cytujący, zaznaczając znaki które należy interpretować w szczególny sposób. Domyślnie jest to odwrotny ukośnik ( \ ).
<comment_char>
po którym następuje pewien znak. Znak ten będzie używany w pozostałej części pliku jako znak komentarza. Domyślnie jest to krzyżyk (#).

Definicje locale podzielone są na części - jedna dla każdej kategorii locale. Każda część może zostać skopiowana z innego istniejącego locale, lub może zostać zdefiniowana od podstaw. Jeśli kategorię należy skopiować, jedynym dozwolonym słowem kluczowym dla tej definicji jest słowo copy, po którym następuje nazwa locale, które należy skopiować.

Sekcje kategorii locale

Poniższe sekcje kategorii są zdefiniowane przez POSIX:
*
LC_CTYPE
*
LC_COLLATE
*
LC_MESSAGES
*
LC_MONETARY
*
LC_NUMERIC
*
LC_TIME

Dodatkowo, od wersji 2.2 biblioteka GNU C obsługuje następujące kategorie niestandardowe:

*
LC_ADDRESS
*
LC_IDENTIFICATION
*
LC_MEASUREMENT
*
LC_NAME
*
LC_PAPER
*
LC_TELEPHONE

LC_ADDRESS

Definicja zaczyna się od napisu LC_ADDRESS w pierwszej kolumnie.

Dozwolone są następujące słowa kluczowe:

postal_fmt
po której następuje łańcuch zawierający opis pola definiującego format używany do adresu pocztowego w locale. Rozpoznawane są następujące opisy pól:
%a
Opieka osoby lub organizacji.
%f
Nazwa firmy.
%d
Nazwa departamentu.
%b
Nazwa budynku.
%s
Nazwa ulicy lub (w np. w Japonii) kwartału.
%h
Numer lub oznaczenie budynku.
%N
Wprowadza koniec wiersza, jeśli poprzednia wartość opisu nie była łańuchem pustym; w przeciwnym razie ignorowane.
%t
Wprowadza spację, jeśli poprzednia wartość opisu nie była łańuchem pustym; w przeciwnym razie ignorowane.
%r
Numer pokoju, oznaczenie drzwi.
%e
Numer piętra.
%C
Oznaczenie kraju, ze słowa kluczowego <country_post>.
%z
Kod pocztowy.
%T
Wieś, miasto.
%S
Stan, prowincja lub prefektura (lub województwo).
%c
Kraj, według rekordu danych.

Każdy opis pola może mieć "R" po "%", aby wskazać, że informacja jest wzięta z łańcucha w wersji łacińskiej wpisu

country_name
po którym następuje nazwa kraju w języku bieżącego dokumentu (np. "Deutschland" dla locale de_DE).
country_post
po którym następuje skrócona nazwa kraju (zob. CERT_MAILCODES).
country_ab2
po którym następuje dwuliterowy skrót kraju (ISO 3166).
country_ab3
po którym następuje trzyliterowy skrót kraju (ISO 3166).
country_num
po którym następuje numeryczny kod kraju (ISO 3166).
country_car
po którym następuje lista kodów numer aut kraju.
country_isbn
po którym następuje kod ISBN (dla książek).
lang_name
po którym następuje nazwa języka w języku bieżącego dokumentu.
lang_ab
po którym następuje dwuliterowy skrót języka (ISO 639).
lang_term
po którym następuje trzyliterowy skrót języka (ISO 639-2/T).
lang_lib
po którym następuje trzyliterowy skrót języka do użycia bibliotecznego (ISO 639-2/B). Aplikacje powinny zwykle preferować lang_term zamiast lang_lib.

Definicję LC_ADDRESS kończy napis END LC_ADDRESS.

LC_CTYPE

Definicja zaczyna się od napisu LC_CTYPE w pierwszej kolumnie.

Dozwolone są następujące słowa kluczowe:

upper
po którym następuje lista wielkich liter. Litery od A do Z są dołączane automatycznie. Znaki, które określono jednocześnie jako cntrl, digit, punct lub space są niedozwolone.
lower
po którym następuje lista małych liter. Litery od a do z są dołączane automatycznie. Znaki, które określono jednocześnie jako cntrl, digit, punct lub space są niedozwolone.
alpha
po którym następuje lista liter. Wszystkie znaki określone jako upper lub lower są dołączane automatycznie. Znaki, które określono jednocześnie jako cntrl, digit, punct lub space są niedozwolone.
digit
po którym następuje lista znaków klasyfikowanych jako cyfry. Dozwolone są tylko cyfry od 0 do 9. Są one dołączane domyślnie do tej klasy.
space
po którym następuje lista znaków klasyfikowanych jako białe znaki. Znaki które określone są jednocześnie jako upper, lower, alpha, digit, graph lub xdigit są niedozwolone. Znaki <spacja>, <nowa-strona>, <nowa-linia>, <powrót-karetki>, <tabulacja> i <tabulacja-pionowa> są dołączane domyślnie.
cntrl
po którym następuje lista znaków sterujących. Znaki, które określono jednocześnie jako upper, lower, alpha, digit, punct, graph, print lub xdigit, są niedozwolone.
punct
po którym następuje lista znaków interpunkcyjnych. Znaki, które określono jednocześnie jako upper, lower, alpha, digit, cntrl, xdigit oraz znak <spacja> są niedozwolone.
graph
po którym następuje lista znaków widocznych, z wyłączeniem znaku <spacja>. Znaki określone jako upper, lower, alpha, digit, xdigit oraz punct są dołączane automatycznie. Znaki, które określono jednocześnie jako cntrl są niedozwolone.
print
po którym następuje lista znaków widocznych, łącznie ze znakiem <spacja>. Znaki określone jako upper, lower, alpha, digit, xdigit, punct oraz znak <spacja> są dołączane automatycznie. Znaki, które określono jednocześnie jako cntrl są niedozwolone.
xdigit
po którym następuje lista znaków klasyfikowanych jako cyfry szesnastkowe. Muszą być podane cyfry dziesiętne, po których następuje jeden lub więcej zestawów sześciu znaków, w porządku rosnącym. Domyślnie zawarte są następujące znaki: 0 do 9, a do f, A do F.
blank
po którym następuje lista znaków klasyfikowanych jako puste. Znaki <spacja> i <tabulacja> są dołączane automatycznie.
toupper
po którym następuje lista odwzorowań liter małych na wielkie. Każde odwzorowanie to para składająca się z małej i wielkiej litery, rozdzielonych , i zamkniętych w nawiasach. Elementy tej listy rozdzielone są średnikami.
tolower
po którym następuje lista odwzorowań liter wielkich na małe. Jeśli nie występuje słowo kluczowe tolower, to stosowane jest odwzorowanie odwrotne do listy toupper.

Definicję LC_CTYPE kończy napis END LC_CTYPE.

LC_COLLATE

Kategoria LC_COLLATE definiuje reguły porównywania znaków. Z powodu ograniczeń w libc nie wszystkie opcje POSIX zostały zaimplementowane.

Definicja zaczyna się od napisu LC_COLLATE w pierwszej kolumnie.

Dozwolone są następujące słowa kluczowe:

collating-element
po którym następuje definicja symbolu sortowania elementów, reprezentującego wieloznakowy element sortujący.
collating-symbol
po którym następuje definicja symbolu sortowania, który można użyć do sortowania kolejności zdań.

Definicja porządku zaczyna się od wiersza:

order_start
po której następuje lista słów kluczowych wybranych spośród forward, backward lub position. Definicja porządku składa się z linii opisujących kolejność, i zakończona jest słowem kluczowym order_end.

Definicję LC_COLLATE kończy napis END LC_COLLATE.

LC_IDENTIFICATION

Ta kategoria zawiera metainformacje o definicjach locale.

Definicja zaczyna się od napisu LC_IDENTIFICATION w pierwszej kolumnie.

Dozwolone są następujące słowa kluczowe:

title
po którym następuje tytuł dokumentu locale (np. "Maori language locale for New Zealand").
source
po którym następuje nazwa organizacji zarządzającej tym dokumentem.
address
po którym następuje adres organizacji zarządzającej tym dokumentem.
contact
po którym następuje imię i nazwisko osoby kontaktowwej z organizacji zarządzającej tym dokumentem.
email
po którym następuje adres poczty elektronicznej osoby z organizacji zarządzającej tym dokumentem.
tel
po którym następuje numer telefonu (w formacie międzynarodowym) organizacji zarządzającym tym dokumentem.
fax
po którym następuje numer faksu (w formacie międzynarodowym) organizacji zarządzającym tym dokumentem.
language
po którym następuje nazwa języka do którego odnosi się ten dokument.
territory
po którym następuje nazwa kraju/regionu geograficznego do którego odnosi się ten dokument.
audience
po którym następuje opis odbiorców do których ten dokument jest skierowany.
application
po którym następują opisy specjalnych zadań, do których ten dokument jest przeznaczony
abbreviation
po którym następuje skrócona nazwa tego dokumentu.
revision
po którym następuje numer wersji tego dokumentu.
date
po którym następuje data ostatniej modyfikacji tego dokumentu.

Dodatkowo, dla każdej z kategorii zdefiniowanej przez dokument powinien występować wiersz ze słowem kluczowym category, po którym następuje:

*
łańcuch identyfikujący tę definicję kategorii locale,
*
średnik i
*
jeden z identyfikatorów LC_*.

Definicję LC_IDENTIFICATION kończy napis END LC_IDENTIFICATION.

LC_MESSAGES

Definicja zaczyna się od napisu LC_MESSAGES w pierwszej kolumnie.

Dozwolone są następujące słowa kluczowe:

yesexpr
po którym następuje wyrażenie regularne opisujące możliwe odpowiedzi na tak.
noexpr
po którym następuje wyrażenie regularne opisujące możliwe odpowiedzi na nie.
yesstr
po którym następuje łańcuch odnoszący się do "tak".
nostr
po którym następuje łańcuch odnoszący się do "nie".

Definicję LC_MESSAGES kończy napis END LC_MESSAGES.

LC_MEASUREMENT

Definicja zaczyna się od napisu LC_MEASUREMENT w pierwszej kolumnie.

Dozwolone są następujące słowa kluczowe:

measurement
po którym następuje liczba identyfikująca standard używany do pomiarów. Rozpoznawane są następujące wartości:
1
Metryczny.
2
Miary USA.

Definicję LC_MEASUREMENT kończy napis END LC_MEASUREMENT.

LC_MONETARY

Definicja zaczyna się od napisu LC_MONETARY w pierwszej kolumnie.

Dozwolone są następujące słowa kluczowe:

int_curr_symbol
po którym następuje międzynarodowy symbol waluty. Musi to być czteroznakowy łańcuch zawierający międzynarodowy symbol waluty zdefiniowany w standardzie ISO 4217 (trzy znaki), po których następuje separator.
currency_symbol
po którym następuje symbol waluty lokalnej.
mon_decimal_point
po którym następuje łańcuch służący do oddzielania części całkowitej od ułamkowej w zapisie dziesiętnym wielkości pieniężnych.
mon_thousands_sep
po którym następuje łańcuch służący jako separator trzycyfrowych grup przy formatowaniu wielkości pieniężnych.
mon_grouping
po którym następuje sekwencja liczb całkowitych oddzielonych od siebie średnikami opisująca formatowanie wielkości monetarnych. Więcej informacji znajduje się w opisie grouping poniżej.
positive_sign
po którym następuje łańcuch służący jako znak dodatni dla wielkości pieniężnych.
negative_sign
po którym następuje łańcuch służący jako znak ujemny dla wielkości pieniężnych.
int_frac_digits
po którym następuje liczba cyfr dziesiętnych, które powinny wystąpić przy formatowaniu z int_curr_symbol.
frac_digits
po którym następuje liczba cyfr dziesiętnych, które powinny wystąpić przy formatowaniu z currency_symbol.
p_cs_precedes
po którym następuje liczba całkowita wskazująca położenie currency_symbol w nieujemnych, formatowanych wielkościach liczbowych:
0
jeśli symbol następuje po wartości
1
jeśli symbol poprzedza wartość.
n_cs_precedes
po którym następuje liczba całkowita wskazująca położenie currency_symbol w ujemnych, formatowanych wielkościach monetarnych. Rozpoznawane są te same wartości co przy p_cs_precedes.
int_p_cs_precedes
po którym następuje liczba całkowita wskazująca położenie int_currency_symbol w nieujemnych, formatowanych międzynarodowo wielkościach monetarnych. Rozpoznawane są te same wartości co przy p_cs_precedes.
int_n_cs_precedes
po którym następuje liczba całkowita wskazująca położenie int_currency_symbol w ujemnych, formatowanych międzynarodowo wielkościach monetarnych. Rozpoznawane są te same wartości co przy p_cs_precedes.
p_sep_by_space
po którym następuje liczba całkowita wskazująca oddzielenie currency_symbol, łańcuch znaku i wartość dla nieujemnych, formatowanych wielkościach monetarnych. Rozpoznawane są następujące wartości:
0
Między symbolem waluty a wartością nie ma spacji.
1
Jeśli symbol waluty i łańcuch znaku są połączone, spacje oddziela je od wartości, w przeciwnym razie spacja oddziela symbol waluty od wartości.
2
Jeśli symbol waluty i łańcuch znaku są połączone, spacje oddziela je od wartości, w przeciwnym razie spacja oddziela łańcuch znaku od wartości.
n_sep_by_space
po którym następuje liczba całkowita wskazująca oddzielenie currency_symbol, łańcuch znaku i wartość dla ujemnych, formatowanych wielkościach monetarnych. Rozpoznawane są takie same wartości co przy p_sep_by_space.
int_p_sep_by_space
po którym następuje liczba całkowita wskazująca oddzielenie int_currency_symbol, łańcuch znaku i wartość dla nieujemnych, formatowanych międzynarodowo wielkościach monetarnych. Rozpoznawane są takie same wartości co przy p_sep_by_space.
int_n_sep_by_space
po którym następuje liczba całkowita wskazująca oddzielenie int_currency_symbol, łańcuch znaku i wartość dla ujemnych, formatowanych międzynarodowo wielkościach monetarnych. Rozpoznawane są takie same wartości co przy p_sep_by_space.
p_sign_posn
po którym następuje liczba całkowita wskazująca gdzie positive_sign powinien być umieszczany dla nieujemnej wartości monetarnej:
0
Wielkość i currency_symbol lub int_curr_symbol są ujęte w nawiasy.
1
Łańcuch określający znak poprzedza wielkość i currency_symbol lub int_curr_symbol.
2
Łańcuch określający znak następuje po wielkości i currency_symbol lub int_curr_symbol.
3
Łańcuch określający znak poprzedza currency_symbol lub int_curr_symbol.
4
Łańcuch określający znak następuje po currency_symbol lub int_curr_symbol.
n_sign_posn
po którym następuje liczba całkowita wskazujące położenie negative_sign w ujemnych wielkościach monetarnych. Rozpoznawane są te same wartości co przy p_sign_posn.
int_p_sign_posn
po którym następuje liczba całkowita wskazująca położenie negative_sign w nieujemnych, formatowanych międzynarodowo wielkościach monetarnych. Rozpoznawane są te same wartości co przy p_sign_posn.
int_n_sign_posn
po którym następuje liczba całkowita wskazująca położenie negative_sign w ujemnych, formatowanych międzynarodowo wielkościach monetarnych. Rozpoznawane są te same wartości co przy p_sign_posn.

Definicję LC_MONETARY kończy napis END LC_MONETARY.

LC_NAME

Definicja zaczyna się od napisu LC_NAME w pierwszej kolumnie.

Dozwolone są różne słowa kluczowe, lecz jedynie name_fmt jest obowiązkowy. Inne słowa kluczowe są potrzebne jedynie wtedy, gdy odpowiednie pozdrowienia są używane na co dzień w danym locale. Oto dozwolone słowa kluczowe:

name_fmt
po którym następuje łańcuch zawierający opisy pól definiujące format używany dla nazw w tym locale. Rozpoznawane są następujące opisy pól:
%f
Nazwisko (nazwiska).
%F
Nazwiska wielkimi literami.
%g
Pierwsze imię.
%G
Inicjał imienia.
%l
Imię zapisane literami alfabetu łacińskiego.
%o
Inne krótsze imię.
%m
Kolejne imię (imiona).
%M
Inicjały kolejnych imion.
%p
Profesja.
%s
Forma grzecznościowa, taka jak "Doctor".
%S
Skrócona forma grzecznościowa, taka jak "Mr." lub "Dr."
%d
Forma grzecznościowa, używająca konwencji zestawów FDCC.
%t
Jeśli poprzedzający opis pola tworzy łańcuch pusty, jest to łańcuch pusty, w przeciwnym razie znak spacji.
name_gen
po którym następuje ogólna forma grzecznościowa bez względu na płeć.
name_mr
po którym następuje forma grzecznościowa dla mężczyzn.
name_mrs
po którym następuje forma grzecznościowa dla zamężnych kobiet.
name_miss
po którym następuje forma grzecznościowa dla niezamężnych kobiet.
name_ms
po którym następuje forma grzecznościowa dla wszystkich kobiet.

Definicję LC_NAME kończy napis END LC_NAME.

LC_NUMERIC

Definicja zaczyna się od napisu LC_NUMERIC w pierwszej kolumnie.

Dozwolone są następujące słowa kluczowe:

decimal_point
po którym następuje łańcuch służący przy formatowaniu wielkości liczbowych do oddzielania części całkowitej i ułamkowej liczb dziesiętnych.
thousands_sep
po którym następuje łańcuch służący przy formatowaniu wielkości liczbowych jako separator grup trzycyfrowych.
grouping
po którym następuje sekwencja liczb całkowitych oddzielonych od siebie średnikami opisująca formatowanie wielkości numerycznych.
Każda liczba całkowita określa liczbę cyfr w grupie. Pierwsza liczba całkowita definiuje rozmiar grupy będącej po lewej stronie znaku oddzielającego część całkowitą od ułamkowej. Kolejne liczby całkowite definiują kolejne grupy na lewo od poprzedniej grupy. Jeśli ostatnią liczbą całkowitą nie jest -1, to rozmiar poprzedniej grupy (jeśli występuje) powtarza się dla pozostałych cyfr. Jeśli ostatnią liczbą całkowitą jest -1, następne grupowania nie są przeprowadzane.

Definicję LC_NUMERIC kończy napis END LC_NUMERIC.

LC_PAPER

Definicja zaczyna się od napisu LC_PAPER w pierwszej kolumnie.

Dozwolone są następujące słowa kluczowe:

height
po którym następuje wysokość, w milimetrach, standardowego formatu papieru.
width
po którym następuje szerokość, w milimetrach, standardowego formatu papieru.

Definicję LC_PAPER kończy napis END LC_PAPER.

LC_TELEPHONE

Definicja zaczyna się od napisu LC_TELEPHONE w pierwszej kolumnie.

Dozwolone są następujące słowa kluczowe:

tel_int_fmt
po którym następuje łańcuch zawierający opisy pól identyfikujące format używany do wybierania numerów międzynarodowych. Rozpoznawane są następujące opisy pól:
%a
Kod obszaru bez prefiksu krajowego (prefiks ten to często "00").
%A
Kod obszaru razem z krajowym prefiksem.
%l
Numer lokalny (z kodem obszaru).
%e
Rozszerzenie (do numeru lokalnego).
%c
Kod kraju.
%C
Alternatywny kod serwisowy operatora używany do dzwonienia za granicę.
%t
Jeśli poprzedzający opis pola tworzy łańcuch pusty, jest to łańcuch pusty, w przeciwnym razie znak spacji.
tel_dom_fmt
po którym następuje łańcuch zawierający opisy pól identyfikujące format używany do wybierania numerów miejscowych. Rozpoznawane opisy pól są takie same jak przy tel_int_fmt.
int_select
po którym następuje prefiks używany przy wybieraniu międzynarodowych numerów telefonów.
int_prefix
po którym następuje prefiks używany przy telefonowaniu z innych krajów.

Definicję LC_TELEPHONE kończy napis END LC_TELEPHONE.

LC_TIME

Definicja zaczyna się od napisu LC_TIME w pierwszej kolumnie.

Dozwolone są następujące słowa kluczowe:

abday
po którym następuje lista skróconych nazw dni tygodnia. Lista zaczyna się od pierwszego dnia tygodnia, jak podano w week (domyślnie niedziela). Zob. UWAGI.
day
po którym następuje lista nazw dni tygodnia. Lista zaczyna się od pierwszego dnia tygodnia, jak podano w week (domyślnie niedziela). Zob. UWAGI.
abmon
po którym następuje lista skrótów nazw miesięcy.
mon
po którym następuje lista nazw miesięcy.
am_pm
po którym następuje odpowiednia reprezentacja łańcuchów am (przed południem) i pm (po południu). Pole to powinno pozostać puste w przypadku locale nie korzystających z konwencji AM/PM.
d_t_fmt
po którym następuje odpowiedni format daty i czasu.
d_fmt
po którym następuje odpowiedni format daty.
t_fmt
po którym następuje odpowiedni format czasu.
t_fmt_ampm
po którym następuje odpowiedni format czasu przy zegarze 12h. Pole to powinno pozostać puste w przypadku locale nie korzystających z konwencji AM/PM.
week
po którym następuje lista trzech wartości: liczba dni w tygodniu (domyślnie 7), data rozpoczynająca tydzień (domyślnie odnosząca się do niedzieli) i minimalna długość pierwszego tygodnia w roku (domyślnie 4). Niezależnie od początkowego tygodnia dla niedzieli powinno się używać 19971130, a dla poniedziałku 19971201. Zob. UWAGI.
first_weekday (od glibc 2.2)
po którym następuje numer pierwszego dnia z listy day do pokazania w kalendarzach. Domyślna wartość 1 odnosi się albo do niedzieli, albo do poniedziałku, w zależności od wartości drugiej pozycji z listy week. Zob. UWAGI.
first_workday (od glibc 2.2)
po którym następuje numer pierwszego dnia roboczego z listy day. Domyślną wartością jest 2. Zob. UWAGI.
cal_direction
po której następuje wartość wskazująca kierunek wyświetlania dat kalendarzowych, jak poniżej:
1
Od lewej do prawej, z góry.
2
Od góry do dołu, z lewej.
3
Z prawej do lewej, z góry.
date_fmt
po którym następuje format daty odpowiedni dla date(1).

Definicję LC_TIME kończy napis END LC_TIME.

PLIKI

/usr/lib/locale/locale-archive
Domyślne (zwykle) położenie archiwum locale.
/usr/share/i18n/locales
Domyślna (zwykle) ścieżka plików definicji locale.

ZGODNE Z

POSIX.2, ISO/IEC TR 14652.

UWAGI

Wspólne pomysły społeczności biblioteki GNU C odnośnie abday, day, week, first_weekday i first_workday ze strony https://sourceware.org/glibc/wiki/Locales przedstawiają się następująco.
*
Wartość drugiego wpisu listy week określa początek list abday i day.
*
first_weekday określa przesunięcie pierwszego dnia tygodnia na listach abday i day.
*
Z powodów kompatybilności, wszystkie locale glibc powinny ustawiać wartość drugiego wpisu na liście week na 19971130 (niedziela) i tak samo powinny rozpoczynać listę abday oraz day, natomiast to, kiedy de facto zaczyna się tydzień należy ustawić w first_weekday: 1 (niedziela) lub 2 (poniedziałek).

BŁĘDY

Ta strona podręcznika nie jest kompletna.

O STRONIE

Angielska wersja tej strony pochodzi z wydania 3.71 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów, oraz najnowszą wersję oryginału można znaleźć pod adresem http://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Gwidon S. Naskrent (PTM) <[email protected]>, Andrzej M. Krzysztofowicz (PTM) <[email protected]> i Michał Kułach <[email protected]>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 3.71 oryginału.