Rechercher une page de manuel
locale
Langue: pl
Version: 20 września 1998 (fedora - 25/11/07)
Section: 7 (Divers)
NAZWA
locale - opis obsługi wielu językówSTRESZCZENIE
#include <locale.h>
OPIS
Locale to zestaw reguł językowych i kulturalnych. Pokrywają 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 lokalnej informacji której potrzebować może program; zadeklarowane są one jako makra. Używając ich jako pierwszy argument funkcji setlocale() możliwe jest ustawienie jednego z poniższych na żądane locale:
- 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 vs. 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 słuchają również zmiennej 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, vs. 12-godzinnego w USA.
- 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-monetarna) */ char *decimal_point; /* Znak dziesiętny */ char *thousands_sep; /* Separator tysięcy */ /* Każdy element to ilość 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. */ char *grouping; /* Informacja monetarna */ /* Pierwsze trzy znaki to symbol waluty z ISO 4217. Czwarty znak to separator. Piąty to ' '. */ char *int_curr_symbol; 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 */ /* 1 jeśli symbol waluty poprzedza wartość dodatnią, 0 jeśli następuje */ char p_cs_precedes; /* 1 jeśli symbol waluty oddziela od wartości dodatniej spacja */ char p_sep_by_space; /* 1 jeśli symbol waluty poprzedza wartość ujemną, 0 jeśli następuje */ char n_cs_precedes; /* 1 jeśli symbol waluty oddziela od wartości ujemnej spacja */ char n_sep_by_space; /* 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.1Funkcje GNU gettext są zdefiniowane w LI18NUX2000.
ZOBACZ TAKŻE
setlocale(3), localeconv(3), locale(1), localedef(1), nl_langinfo(3), gettext(3), ngettext(3), rpmatch(3), strfmon(3), strcoll(3), strxfrm(3), strftime(3)Contenus ©2006-2023 Benjamin Poulain
Design ©2006-2023 Maxime Vantorre