Manpages

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 */

char *decimal_point;

/* Znak pro desetinnou čárku */
char *thousands_sep;

/* 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'. */

char *currency_symbol;

/* Lokální symbol pro měnu */
char *mon_decimal_point;

/* desetinná čárka */
char *mon_thousands_sep;

/* Viz thousands_sep nahoře */
char *mon_grouping;

/* Viz grouping nahoře */
char *positive_sign;

/* Kladné znaménko */
char *negative_sign;

/* Záporné znaménko */
char int_frac_digits;

/* Mezinárodní počet des. míst */
char frac_digits;

/* 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/.