Man page - locale(7)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr es it pl ja ru ro zh_TW zh_CN deManual
locale
NAZWASKŁADNIA
OPIS
Rozszerzenia POSIX.1-2008 do API locale
ŚRODOWISKO
PLIKI
STANDARDY
ZOBACZ TAKŻE
TŁUMACZENIE
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 (3), ustawiająca bieżące locale, i localeconv (3), 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 pierwszego argumentu funkcji
setlocale
(3),
możliwe jest ustawienie poniższych informacji
regionalnych:
LC_ADDRESS
(rozszerzenie GNU, od glibc 2.2)
Zmienia ustawienia opisujące formaty (np. adresy pocztowe) służące do opisywania położenia i rzeczy okołogeograficznych. Aplikacje wymagające tej informacji mogą korzystać z nl_langinfo (3) do pozyskania niestandardowych elementów, takich jak _NL_ADDRESS_COUNTRY_NAME (nazwa kraju w danym języku) i _NL_ADDRESS_LANG_NAME (nazwa języka w danym języku), które zwracają przykładowo łańcuchy "Deutschland" i "Deutsch" (dla niemieckich locale). Inne nazwy elementów są wypisane w <langinfo.h> .)
LC_COLLATE
Kategoria obejmuje zasady zestawiania używane do sortowania i wyrażeń regularnych, w tym klasy ekwiwalentów znaków i zestawiania elementów wieloznakowych. Ta kategoria locale zmienia zachowanie funkcji strcoll (3) i strxfrm (3), porównujących łańcuchy znaków w alfabecie lokalnym. Na przykład niemieckie scharfes S sortowane jest jako "ss".
LC_CTYPE
Kategoria określa interpretację sekwencji bajtów jako znaków (np. znaki jednobajtowe albo wielobajtowe), klasyfikację znaków (np. alfabetyczna lub numeryczna) i zachowanie klas znaków. W systemach glibc ta kategoria określa również reguły transliteracji znaków do iconv (1) i iconv (3). Zmienia zachowanie operacji na znakach i funkcji klasyfikacyjnych, takich jak isupper (3) i toupper (3), oraz znakowych funkcji wielobajtowych, takich jak mblen (3) i wctomb (3).
LC_IDENTIFICATION (rozszerzenie GNU, od glibc 2.2)
Zmienia ustawienia powiązane z metadanymi locale. Aplikacje wymagające tej informacji mogą korzystać z nl_langinfo (3) do pozyskania niestandardowych elementów takich jak _NL_IDENTIFICATION_TITLE (tytuł tego dokumentu locale) i _NL_IDENTIFICATION_TERRITORY (terytorium geograficzne do którego odnosi się ten dokument locale), które mogą zwrócić łańcuchy takie jak "English locale for the USA" i "USA". Inne nazwy elementów są wypisane w <langinfo.h> .
LC_MONETARY
Kategoria określa formatowanie używane do wartości numerycznych związanych z pieniędzmi. Zmienia informację zwracaną przez localeconv (3), 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 (3).
LC_MESSAGES
Kategoria wpływa na 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 (3), ngettext (3) oraz rpmatch (3), ułatwiające użycie tych informacji. Funkcje GNU z rodziny gettext biorą pod uwagę również zmienną środowiska LANGUAGE (zawierającą rozdzieloną dwukropkami listę ustawień językowych), jeśli bieżące ustawienia językowe są poprawne i różne od "C" . Ta kategoria wpływa również na zachowanie catopen (3).
LC_MEASUREMENT (rozszerzenie GNU, od glibc 2.2)
Zmienia ustawienia związane z systemem miar w locale (np. metryczny albo jednostki używane w USA). Aplikacje mogą korzystać z nl_langinfo (3) do pozyskania niestandardowego elementu _NL_MEASUREMENT_MEASUREMENT , który zwraca wskaźnik do znaku który ma wartość 1 (system metryczny) lub 2 (system imperialny).
LC_NAME (rozszerzenie GNU, od glibc 2.2)
Zmienia ustawienia opisujące formy grzecznościowe. Aplikacje wymagające tej informacji mogą korzystać z nl_langinfo (3) do pozyskania niestandardowych elementów takich jak _NL_NAME_NAME_MR (forma grzecznościowa dla panów) i _NL_NAME_NAME_MS (forma grzecznościowa dla pań), które zwracają łańcuchy takie jak "Herr" i "Frau" (dla niemieckich ustawień regionalnych). Inne nazwy elementów są wypisane w <langinfo.h> .
LC_NUMERIC
Kategoria określa reguły formatowania używane dla wartości numerycznych niezwiązanych z pieniędzmi — np. separator tysięcy i separator dziesiętny (kropka w większości krajów anglojęzycznych lub przecinek w wielu innych). Wpływa na takie funkcje, jak printf (3), scanf (3) i strtod (3). Tę informację można również odczytać za pomocą localeconv (3).
LC_PAPER (rozszerzenie GNU, od glibc 2.2)
Zmienia ustawienia związane z wymiarami standardowego rozmiaru papieru (np. letter albo A4). Aplikacje wymagające wymiarów mogą je pozyskać korzystając z nl_langinfo (3), aby otrzymać niestandardowe elementy _NL_PAPER_WIDTH i _NL_PAPER_HEIGHT , które zwrócą wartości int określające wymiary w milimetrach.
LC_TELEPHONE (rozszerzenie GNU, od glibc 2.2)
Zmienia ustawienia opisujące formaty używane w telefonii. Aplikacji potrzebujące tej informacji mogą korzystać z nl_langinfo (3) aby pobrać niestandardowe elementy takie jak _NL_TELEPHONE_INT_PREFIX (międzynarodowy prefiks używany do wybrania numerów w tym locale), który zwróci przykładowo "49" (dla Niemiec). Inne elementy są wypisane w <langinfo.h> .
LC_TIME
Kategoria określa formatowanie wartości daty i czasu. Przykładowo większość Europy używa zegara 24-godzinnego, a w USA korzysta się z zegara 12-godzinnego. Ustawienie w tej kategorii wpływa na zachowanie funkcji takich jak strftime (3) i strptime (3).
|
LC_ALL |
Wszystko powyższe. |
Jeśli drugim argumentem setlocale (3) jest łańcuch pusty "" oznaczający locale domyślne, ustala się je w następujący sposób:
|
(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 (3). lconv ma następującą deklarację:
struct lconv {
/* Informacje numeryczne (niewalutowe) */
char *decimal_point; /* Znak dziesiętny */
char *thousands_sep; /* Separator grup cyfr po lewej
stronie znaku dziesiętnego */
char *grouping; /* Każdy element jest liczbą cyfr
w grupie; elementy z wyższym indeksem są
bardziej na lewo. Element o wartości
CHAR_MAX oznacza, że dalsze grupowanie
nie następuje. Element o wartości 0 oznacza,
że poprzedni element jest używany do
pozostałych grup po lewej stronie. */
/* Pozostałe pola służą do informacji
walutowych */
char *int_curr_symbol; /* Pierwsze trzy znaki to symbol
waluty
z ISO 4217. Czwarty znak to separator.
Piąty to '\0'. */
char *currency_symbol; /* Symbol lokalnej waluty */
char *mon_decimal_point; /* Znak dziesiętny */
char *mon_thousands_sep; /* Jak
thousands_sep
(powyżej) */
char *mon_grouping; /* Jak
grouping
(powyżej) */
char *positive_sign; /* Znak dla wartości dodatnich */
char *negative_sign; /* Znak dla wartości ujemnych */
char int_frac_digits; /* Międzynarodowe 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;
};
Rozszerzenia POSIX.1-2008 do API locale
POSIX.1-2008 standaryzuje wiele rozszerzeń API locale w oparciu o implementację, która pojawiła się jako pierwsza w glibc 2.3. Rozszerzenia opracowano aby rozwiązać problemy z tradycyjnym API locale, które nie radziło sobie dobrze z aplikacjami wielowątkowymi i z programami które korzystają z wielu ustawień regionalnych.
Rozszerzenia zajmują się formą nowych funkcji do tworzenia i działania na obiektach locale ( newlocale (3), freelocale (3), duplocale (3) i uselocale (3)) oraz różnymi nowymi funkcjami bibliotecznymi z przyrostkiem "_l" (np. toupper_l (3)), które rozszerzają tradycyjne, zależne od ustawień regionalnych API (np. toupper (3)) pozwalając na określenie obiektu locale który ma zostać zastosowany przy wykonywaniu funkcji.
ŚRODOWISKO
Następujące
zmienne środowiskowe są używane przez
newlocale
(3) i
setlocale
(3)
wpływając na wszystkie nieuprzywilejowane
zlokalizowane programy:
LOCPATH
Lista ścieżek oddzielonych dwukropkami (':'), które służą do odnalezienia danych locale. Jeżeli zmienna jest ustawiona, to używane są tylko skompilowane indywidualnie pliki z danymi z LOCPATH oraz z domyślnej ścieżki danych locale, natomiast dostępne archiwa lokalne nie są wykorzystywane (zob. localedef (1)). Indywidualnie kompilowane pliki z danymi locale są wyszukiwane w podkatalogach zależnych od bieżących ustawień regionalnych. Przykładowo jeśli dla kategorii wykorzystuje się en_GB.UTF-8 , to przeszukiwane są następujące podkatalogi (w podanej kolejności): en_GB.UTF-8 , en_GB.utf8 , en_GB , en.UTF-8 , en.utf8 i en .
PLIKI
/usr/lib/locale/locale-archive
Zwykle domyślne położenie archiwum locale.
/usr/lib/locale
Zwykle domyślna ścieżka dla skompilowanych indywidualnie plików locale.
STANDARDY
POSIX.1-2001.
ZOBACZ TAKŻE
iconv (1), locale (1), localedef (1), catopen (3), gettext (3), iconv (3), localeconv (3), mbstowcs (3), newlocale (3), ngettext (3), nl_langinfo (3), rpmatch (3), setlocale (3), strcoll (3), strfmon (3), strftime (3), strxfrm (3), uselocale (3), wcstombs (3), locale (5), charsets (7), unicode (7), utf-8 (7)
TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Gwidon S. Naskrent <naskrent@hoth.amu.edu.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net .