JMÉNO
locale − Popis vícejazykové podpory
POUŽITÍ
#include <locale.h>
POPIS
Locale je množina jazykových a kulturních pravidel pro popis takových aspektu jako jsou jazyk pro zprávy, různé znakové sady, abecední řazení atd. Každý program musí mít možnost zjistit jeho locale a chovat se podle jím daných pravidel.
Hlavičkový soubor <locale.h> deklaruje datové typy, funkce a makra, která tuto přenositelnost usnadňuje.
Deklarované funkce: setlocale(3) pro nastavení aktuálního lacale a localeconv(3) pro zjištění informací o formátování čísel.
Různé
kategorie pro lokální informace jsou
definovány jako makra. Jestliže se
použijí jako první argument pro funkci
setlocale(3) je možno nastavit jednu z
požadovaných kategorií: 
LC_COLLATE
Mění chování funkcí strcoll(3) a strxfrm(3), které se používají na porovnání řetězců v lokální abecedě, Například, ostré německé s se třídí jako "ss".
LC_CTYPE
Mění chování klasifikačních funkcí a maker jako isupper(3) a toupper(3), a funkcí pro vícebytové znaky jako je mblen(3) nebo wctomb(3).
LC_MONETARY
Mění návratovou hodnotu funkce localeconv(3), která popisuje způsob jak jsou tištěna čísla, včetně detailů o desetinné tečce či čárce. Interně je tato informace použita ve funkci strfmon(3).
LC_MESSAGES
mění jazyk zpráv a určuje jak vypadá pozitivní a negativní odpověď v daném jazyce. GNU C−lib obsahuje pro tento účel funkce gettext(3), ngettext(3), and rpmatch(3). Funkce z GNU gettext se rovněž řídí proměnnou prostředí LANGUAGE (která obsahuje dvojtečkou oddělovaný seznam locales), je−li tato nastavena na platné locale jiné než "C".
LC_NUMERIC
Mění chování funkcí printf(3) a scanf(3) kdykoli mají použít nastavení locale. Tuto informaci lze také číst pomocí funkce localeconv(3).
LC_TIME
mění chování funkcí strftime(3), která zobrazuje současný čas podle lokálních pravidel; například v Evropě se běžně používá 24 hodinový den, zatímco v USA 12 hodinový.
| LC_ALL | Nastavuje vše. | 
Jestliže je druhý argument pro setlocale(3) prázdný řetězec, "", hledá se základní locale takto:
| 1. | Jestliže je nastavena proměnná prostředí LC_ALL, použije se LC_ALL . | ||
| 2. | Jestliže existuje proměnná prostředí, která se jmenuje stejně jako některá z kategorií, použije se tato. | ||
| 3. | Jestliže je nastavena proměnná prostředí LANG, použije se hodnota LANG . | 
Hodnoty pro číselnou konverzi jsou nastaveny ve struct lconv , kterou vrací funkce localeconv(3), má následující deklaraci:
struct lconv {
/* Číselná (nikoli peněžní) informace */
| /* Znak pro desetinnou čárku */  | ||||||
| /* Oddělovač tisíců */ | 
char *grouping; /*
Každý prvek označuje počet
číslic ve skupině; 
významnější hodnoty se
zobrazují více vlevo. 
Pozice CHAR_MAX určuje odkud se již
žádné 
oddělování nečiní. Prvek s
hodnotou 0 označuje, 
že předchozí prvek se použije odtud
doleva. */
/* Peněžní informace. */
char
*int_curr_symbol; /* První tři znaky jsou
symbolem měny podle 
ISO 4217. Čtvrtý znak je oddělovač,
pátý 
je '\0'. */
| /* Lokální symbol pro měnu */  | /* desetinná čárka */  | |||||
| /* Viz thousands_sep nahoře */  | ||||||
| /* Viz grouping nahoře */  | ||||||
| /* Kladné znaménko */  | ||||||
| /* Záporné znaménko */  | ||||||
| /* Mezinárodní počet des. míst
*/  | ||||||
| /* Lokální počet des. míst */ | 
char p_cs_precedes; /* 1
když znak měny předchází
číslo, 
0 když jej následuje */ 
char p_sep_by_space; /* 1 když mezera odděluje
currency_symbol od desetinné čárky */
char n_cs_precedes; /* 1 když currency_symbol
předchází 
záporné hodnoty, 0 když následuje
*/ 
char n_sep_by_space; /* 1 když mezera odděluje
currency_symbol od záporné hodnoty */ 
/* Kladné a záporné znaménko:
0 Závorky kolem hodnoty a symbolu měny. 
1 Znaménko před hodnotou i symbolem měny.
2 Znaménko následuje za hodnotou i symbolem
měny. 
3 Znaménko bezprostředně před symbolem
měny. 
4 Znaménko bezprostředně následuje
symbolem měny. */ 
char p_sign_posn; 
char n_sign_posn; 
};
SPLŇUJE STANDARDY
POSIX.1−2001.
Funkce GNU gettext jsou specifikovány v LI18NUX2000.
DALŠÍ INFORMACE
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)
TIRÁŽ
Tato stránka je součástí projektu Linux man−pages. Popis projektu a informace o hlášení chyb najdete na http://www.kernel.org/doc/man−pages/.