Provided by: manpages-pl_4.15.0-9_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
              Kategoria  określa  reguły   formatowania   używane   dla   wartości   numerycznych
              niezwiązanych z pieniędzmi - np. separator tysięcy i separator dziesiętny (kropka w
              większości krajów anglojęzycznych lub przecinek w wielu innych).  Wpływa  na  takie
              funkcje,  jak printf(3), scanf(3) i strtod(3). Tę informację można również odczytać
              za pomocą localeconv(3).

       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 standaryzuje wiele rozszerzeń API locale w  oparciu  o  implementację,  która
       pojawiła  się  jako  pierwsza  w  wersji 2.3 biblioteki GNU C. Rozszerzenia opracowano aby
       rozwiązać problemy z tradycyjnym API locale, które nie radziło sobie dobrze z  aplikacjami
       wielowątkowymi i z programami które korzystają z wielu ustawień regionalnych.

       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.

ZGODNE Z

       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)

O STRONIE

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

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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.