Rechercher une page de manuel
locale
Langue: pl
Version: 20 wrze¶nia 1998 (openSuse - 09/10/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