Provided by: manpages-pl_4.21.0-2_all bug

NAZWA

       locale - opis obsługi wielu języków

SKŁADNIA

       #include <locale.h>

OPIS

       Locale  to  zestaw  reguł  językowych  i kulturalnych. Obejmują one aspekty takie, jak język komunikatów,
       różne zestawy znaków, konwencje  leksykograficzne  itd.  Program  musi  umieć  określić  swoje  locale  i
       zachowywać się odpowiednio, aby można go było przenieść do innych kultur.

       The header <locale.h> declares data types, functions, and macros which are useful in this task.

       Funkcje  deklarowane to setlocale(3), ustawiająca bieżące locale, i localeconv(3), pobierająca informacje
       o formatowaniu liczb.

       Istnieją różne kategorie informacji regionalnych, których potrzebować może program; zadeklarowane są  one
       jako  makra.  Używając  ich  jako  pierwszego  argumentu  funkcji  setlocale(3),  możliwe jest ustawienie
       poniższych informacji regionalnych:

       LC_ADDRESS (rozszerzenie GNU, od glibc 2.2)
              Zmienia ustawienia opisujące formaty (np. adresy  pocztowe)  służące  do  opisywania  położenia  i
              rzeczy okołogeograficznych. Aplikacje wymagające tej informacji mogą korzystać z nl_langinfo(3) do
              pozyskania  niestandardowych  elementów,  takich jak _NL_ADDRESS_COUNTRY_NAME (nazwa kraju w danym
              języku) i _NL_ADDRESS_LANG_NAME (nazwa języka w danym języku), które zwracają przykładowo łańcuchy
              "Deutschland"  i  "Deutsch"  (dla  niemieckich  locale).  Inne  nazwy  elementów  są  wypisane   w
              <langinfo.h>.)

       LC_COLLATE
              Kategoria  obejmuje  zasady  zestawiania  używane do sortowania i wyrażeń regularnych, w tym klasy
              ekwiwalentów znaków i zestawiania elementów wieloznakowych. Ta kategoria locale zmienia zachowanie
              funkcji strcoll(3) i strxfrm(3), porównujących łańcuchy znaków w alfabecie lokalnym.  Na  przykład
              niemieckie scharfes S sortowane jest jako "ss".

       LC_CTYPE
              Kategoria  określa  interpretację  sekwencji  bajtów  jako  znaków  (np.  znaki  jednobajtowe albo
              wielobajtowe), klasyfikację znaków (np. alfabetyczna lub numeryczna) i zachowanie klas  znaków.  W
              systemach  glibc ta kategoria określa również reguły transliteracji znaków do iconv(1) i iconv(3).
              Zmienia zachowanie operacji na  znakach  i  funkcji  klasyfikacyjnych,  takich  jak  isupper(3)  i
              toupper(3), oraz znakowych funkcji wielobajtowych, takich jak mblen(3) i wctomb(3).

       LC_IDENTIFICATION (rozszerzenie GNU, od glibc 2.2)
              Zmienia  ustawienia  powiązane  z  metadanymi  locale.  Aplikacje  wymagające  tej informacji mogą
              korzystać   z   nl_langinfo(3)   do   pozyskania    niestandardowych    elementów    takich    jak
              _NL_IDENTIFICATION_TITLE  (tytuł tego dokumentu locale) i _NL_IDENTIFICATION_TERRITORY (terytorium
              geograficzne do którego odnosi się ten dokument locale), które mogą  zwrócić  łańcuchy  takie  jak
              "English locale for the USA" i "USA". Inne nazwy elementów są wypisane w <langinfo.h>.

       LC_MONETARY
              Kategoria  określa  formatowanie używane do wartości numerycznych związanych z pieniędzmi. Zmienia
              informację zwracaną przez localeconv(3), która opisuje sposób, w jaki zwykle drukowane są  liczby,
              ze  szczegółami  takimi  jak  kropka  dziesiętna  kontra  przecinek dziesiętny. Informacja ta jest
              używana wewnętrznie przez funkcję strfmon(3).

       LC_MESSAGES
              Kategoria wpływa na język, w którym wyświetlane są komunikaty,  oraz  to,  jak  wygląda  odpowiedź
              twierdząca  i przecząca. Biblioteka GNU C zawiera funkcje gettext(3), ngettext(3) oraz rpmatch(3),
              ułatwiające użycie tych informacji. Funkcje GNU z rodziny gettext biorą pod uwagę również  zmienną
              środowiska LANGUAGE (zawierającą rozdzieloną dwukropkami listę ustawień językowych), jeśli bieżące
              ustawienia  językowe  są  poprawne  i  różne  od  "C".  Ta  kategoria wpływa również na zachowanie
              catopen(3).

       LC_MEASUREMENT (rozszerzenie GNU, od glibc 2.2)
              Zmienia ustawienia związane z systemem miar w locale (np. metryczny albo jednostki używane w USA).
              Aplikacje   mogą   korzystać   z   nl_langinfo(3)   do   pozyskania   niestandardowego    elementu
              _NL_MEASUREMENT_MEASUREMENT,  który zwraca wskaźnik do znaku który ma wartość 1 (system metryczny)
              lub 2 (system imperialny).

       LC_NAME (rozszerzenie GNU, od glibc 2.2)
              Zmienia  ustawienia  opisujące  formy  grzecznościowe.   Aplikacje   wymagające   tej   informacji
              mogą korzystać   z   nl_langinfo(3)   do   pozyskania   niestandardowych   elementów   takich  jak
              _NL_NAME_NAME_MR (forma grzecznościowa dla panów) i  _NL_NAME_NAME_MS  (forma  grzecznościowa  dla
              pań),  które  zwracają łańcuchy takie jak "Herr" i "Frau" (dla niemieckich ustawień regionalnych).
              Inne nazwy elementów są wypisane w <langinfo.h>.

       LC_NUMERIC
              This category determines the formatting rules used for nonmonetary numeric values—for example, the
              thousands separator and the radix character (a period in most English-speaking  countries,  but  a
              comma  in  many  other regions).  It affects functions such as printf(3), scanf(3), and strtod(3).
              This information can also be read with the localeconv(3) function.

       LC_PAPER (rozszerzenie GNU, od glibc 2.2)
              Zmienia ustawienia związane z wymiarami standardowego  rozmiaru  papieru  (np.  letter  albo  A4).
              Aplikacje  wymagające  wymiarów  mogą  je  pozyskać  korzystając  z  nl_langinfo(3),  aby otrzymać
              niestandardowe elementy _NL_PAPER_WIDTH i _NL_PAPER_HEIGHT, które zwrócą wartości int  określające
              wymiary w milimetrach.

       LC_TELEPHONE (rozszerzenie GNU, od glibc 2.2)
              Zmienia  ustawienia  opisujące  formaty używane w telefonii. Aplikacji potrzebujące tej informacji
              mogą   korzystać   z   nl_langinfo(3)   aby   pobrać    niestandardowe    elementy    takie    jak
              _NL_TELEPHONE_INT_PREFIX  (międzynarodowy prefiks używany do wybrania numerów w tym locale), który
              zwróci przykładowo "49" (dla Niemiec). Inne elementy są wypisane w <langinfo.h>.

       LC_TIME
              Kategoria określa formatowanie wartości daty i czasu. Przykładowo większość  Europy  używa  zegara
              24-godzinnego,  a  w USA korzysta się z zegara 12-godzinnego. Ustawienie w tej kategorii wpływa na
              zachowanie funkcji takich jak strftime(3) i strptime(3).

       LC_ALL Wszystko powyższe.

       If the second argument to setlocale(3)  is an empty string, "", for the default locale, it is  determined
       using the following steps:

       (1)  Jeśli istnieje niepusta zmienna środowiskowa LC_ALL, używana jest wartość LC_ALL

       (2)  Jeśli istnieje i jest niepusta zmienna środowiskowa o tej samej nazwie co jedna z kategorii powyżej,
            dla tej kategorii używana jest jej wartość.

       (3)  Jeśli istnieje niepusta zmienna środowiskowa LANG, używana jest wartość LANG

       Wartości  dotyczące  lokalnego  formatowania  dostępne  są  w  strukturze  lconv, zwracanej przez funkcję
       localeconv(3). lconv ma następującą deklarację:

           struct lconv {

               /* Informacja numeryczna (niewalutowa) */

               char *decimal_point;     /* Radix character */
               char *thousands_sep;     /* Separator for digit groups to left
                                           of radix character */
               char *grouping;     /* Each element is the number of digits in
                                      a group; elements with higher indices
                                      are further left.  An element with value
                                      CHAR_MAX means that no further grouping
                                      is done.  An element with value 0 means
                                      that the previous element is used for
                                      all groups further left. */

               /* Pozostałe pola zawierają informacje o walucie */

               char *int_curr_symbol;   /* First three chars are a currency
                                           symbol from ISO 4217.  Fourth char
                                           is the separator.  Fifth char
                                           is '\0'. */
               char *currency_symbol;   /* Local currency symbol */
               char *mon_decimal_point; /* Radix character */
               char *mon_thousands_sep; /* Like thousands_sep above */
               char *mon_grouping;      /* Like grouping above */
               char *positive_sign;     /* Sign for positive values */
               char *negative_sign;     /* Sign for negative values */
               char  int_frac_digits;   /* International fractional digits */
               char  frac_digits;       /* Local fractional digits */
               char  p_cs_precedes;     /* 1 if currency_symbol precedes a
                                           positive value, 0 if succeeds */
               char  p_sep_by_space;    /* 1 if a space separates
                                           currency_symbol from a positive
                                           value */
               char  n_cs_precedes;     /* 1 if currency_symbol precedes a
                                           negative value, 0 if succeeds */
               char  n_sep_by_space;    /* 1 if a space separates
                                           currency_symbol from a negative
                                           value */
               /* Positive and negative sign positions:
                  0 Parentheses surround the quantity and currency_symbol.
                  1 The sign string precedes the quantity and currency_symbol.
                  2 The sign string succeeds the quantity and currency_symbol.
                  3 The sign string immediately precedes the currency_symbol.
                  4 The sign string immediately succeeds the currency_symbol. */
               char  p_sign_posn;
               char  n_sign_posn;
           };

   Rozszerzenia POSIX.1-2008 do API locale
       POSIX.1-2008 standardized a number of extensions to the locale API, based on implementations  that  first
       appeared  in glibc 2.3.  These extensions are designed to address the problem that the traditional locale
       APIs do not mix well with multithreaded applications and with applications that must deal  with  multiple
       locales.

       Rozszerzenia zajmują się formą nowych funkcji do tworzenia i działania na obiektach locale (newlocale(3),
       freelocale(3),  duplocale(3)  i uselocale(3)) oraz różnymi nowymi funkcjami bibliotycznymi z przyrostkiem
       "_l" (np. toupper_l(3)),  które  rozszerzają  tradycyjne,  zależne  od  ustawień  regionalnych  API  (np.
       toupper(3)) pozwalając na określenie obiektu locale który ma zostać zastosowany przy wykonywaniu funkcji.

ŚRODOWISKO

       Następujące  zmienne  środowiskowe  są  używane  przez newlocale(3) i setlocale(3) wpływając na wszystkie
       nieuprzywilejowane zlokalizowane programy:

       LOCPATH
              A list of pathnames, separated by colons (':'), that should be used to find locale data.  If  this
              variable  is  set,  only  the  individual  compiled  locale data files from LOCPATH and the system
              default locale data path are used; any available locale archives are not used (see  localedef(1)).
              The  individual  compiled  locale data files are searched for under subdirectories which depend on
              the currently used locale.  For example, when en_GB.UTF-8 is used for a  category,  the  following
              subdirectories are searched for, in this order: en_GB.UTF-8, en_GB.utf8, en_GB, en.UTF-8, en.utf8,
              and en.

PLIKI

       /usr/lib/locale/locale-archive
              Zwykle domyślne położenie archiwum locale.

       /usr/lib/locale
              Zwykle domyślna ścieżka dla skompilowanych indywidualnie plików locale.

STANDARDY

       POSIX.1-2001.

ZOBACZ TAKŻE

       iconv(1),   locale(1),   localedef(1),  catopen(3),  gettext(3),  iconv(3),  localeconv(3),  mbstowcs(3),
       newlocale(3), ngettext(3), nl_langinfo(3), rpmatch(3), setlocale(3), strcoll(3), strfmon(3), strftime(3),
       strxfrm(3), uselocale(3), wcstombs(3), locale(5), charsets(7), unicode(7), utf-8(7)

TŁUMACZENIE

       Autorami   polskiego   tłumaczenia   niniejszej   strony   podręcznika    są:    Gwidon    S.    Naskrent
       <naskrent@hoth.amu.edu.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3  lub  nowszej.   Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej manpages-pl-
       list@lists.sourceforge.net.

Linux man-pages 6.03                            5 lutego 2023 r.                                       locale(7)