Provided by: manpages-pl_20060617-4_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.

       Nagłówek  <locale.h> deklaruje typy danych, funkcje i makra przydatne w
       tym przedsięwzięciu.

       Funkcje deklarowane  to  setlocale(),  ustawiająca  bieżące  locale,  i
       localeconv(), 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
       pierwszy  argument  funkcji  setlocale(),  możliwe  jest  ustawienie na
       żądane locale jednego z poniższych makr:

       LC_COLLATE
              Używane do zmiany  zachowania  funkcji  strcoll()  i  strxfrm(),
              które używane są do porównywania łańcuchów w alfabecie lokalnym.
              Na przykład niemieckie scharfes s sortowane jest jako "ss".

       LC_CTYPE
              Zmienia   zachowanie   operacji    na    znakach    i    funkcji
              klasyfikacyjnych,   takich   jak  isupper()  i  toupper(),  oraz
              znakowych funkcji wielobajtowych, takich jak mblen() i wctomb().

       LC_MONETARY
              Zmienia informację zwracaną przez  localeconv(),  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().

       LC_MESSAGES
              Zmienia  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(),   ngettext()   oraz   rpmatch(),
              ułatwiające  użycie  tych  informacji.  Funkcje  GNU  z  rodziny
              gettext biorą pod uwagę również zmienną środowiska LANGUAGE.

       LC_NUMERIC
              Zmienia  informacje  używane  przez  rodzinę  funkcji printf() i
              scanf(), kiedy radzi  im  się,  żeby  używały  ustawień  locale.
              Informacja ta może być także odczytana funkcją localeconv().

       LC_TIME
              Zmienia  zachowanie  funkcji  strftime(), wyświetlającej bieżący
              czas w formie lokalnie  akceptowalnej;  na  przykład,  większość
              Europy  używa  zegara 24-godzinnego, podczas gdy w USA używa się
              12-godzinnego.

       LC_ALL Wszystko powyżej.

       Jeśli drugim argumentem setlocale() jest łańcuch pusty  ""  oznaczający
       locale domyślne, ustala się je wedle poniższych kroków:

       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().  lconv  ma  następującą
       deklarację:

         struct lconv {

           /* Informacja numeryczna (nie-walutowa) */

           char *decimal_point;     /* Znak dziesiętny  */
           char *thousands_sep;     /* Separator tysięcy  */
           char *grouping; /* Każdy element to liczba cyfr w danej grupie,
                              elementy z większymi indeksami są bardziej
                              na lewo. Element o wartości CHAR_MAX oznacza,
                              że nie następuje dalsze grupowanie. Element
                              o wartości 0 oznacza, że dla wszystkich
                              grup bardziej na lewo używany jest element
                              poprzedni. */

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

             char *int_curr_symbol; /* Pierwsze trzy znaki to symbol waluty
                                        z ISO 4217. Czwarty znak to
                                        separator.  Piąty to ' '. */
           char *currency_symbol;   /* Symbol lokalnej waluty  */
           char *mon_decimal_point; /* Znak dziesiętny  */
           char *mon_thousands_sep; /* Separator tysięcy  */
           char *mon_grouping;      /* Jak element 'grupujący' (wyżej)  */
           char *positive_sign;     /* Znak dla wartości dodatnich  */
           char *negative_sign;     /* Znak dla wartości ujemnych  */
           char  int_frac_digits;   /* Międzynar. cyfry dziesiętne  */
           char  frac_digits;       /* Lokalne cyfry dziesiętne  */
           char  p_cs_precedes;     /* 1, jeśli symbol waluty poprzedza wartość
                                       dodatnią, 0, jeśli następuje po niej */
           char  p_sep_by_space;    /* 1, jeśli symbol waluty oddziela
                                       od wartości dodatniej spacja */
           char  n_cs_precedes;     /* 1, jeśli symbol waluty poprzedza wartość
                                       ujemną, 0 jeśli następuje po niej */
           char  n_sep_by_space;    /* 1, jeśli symbol waluty oddziela
                                      od wartości ujemnej spacja */
           /* Dodatnie i ujemne pozycje znaku:
              0 Wartość i symbol waluty w nawiasach.
              1 Znak poprzedza wartość i symbol waluty.
              2 Znak następuje po wartości i symbolu waluty.
              3 Znak następuje tuż przez symbolem waluty.
              4 Znak następuje tuż po symbolu waluty. */
           char p_sign_posn;
           char n_sign_posn;
         };

ZGODNE Z

       POSIX.1

       Funkcje GNU gettext są zdefiniowane w LI18NUX2000.

ZOBACZ TAKŻE

       locale(1),   localedef(1),   gettext(3),   localeconv(3),  ngettext(3),
       nl_langinfo(3),  rpmatch(3),  setlocale(3),   strcoll(3),   strfmon(3),
       strftime(3), strxfrm(3)

INFORMACJE O TŁUMACZENIU

       Powyższe   tłumaczenie   pochodzi   z   nieistniejącego   już  Projektu
       Tłumaczenia Manuali i moe nie by aktualne. W razie zauważenia  różnic
       między powyższym opisem a rzeczywistym zachowaniem opisywanego programu
       lub funkcji, prosimy o zapoznanie się z oryginalną  (angielską)  wersją
       strony podręcznika.