setlocale(3) Library Functions Manual setlocale(3) setlocale - LIBRARY Standard C library (libc, -lc) #include char *setlocale(int category, const char *locale); setlocale() . locale NULL, . category . LC_ALL LC_ADDRESS Formatting of addresses and geography-related items (*) LC_COLLATE LC_CTYPE LC_IDENTIFICATION , (*) LC_MEASUREMENT Settings related to measurements (metric versus US customary) (*) LC_MESSAGES LC_MONETARY LC_NAME (*) LC_NUMERIC LC_PAPER (*) LC_TELEPHONE , (*) LC_TIME , , GNU. locale(7). locale -- , category. <> <> ( ), , setlocale(). If locale is an empty string, "", each part of the locale that should be modified is set according to the environment variables. The details are implementation-dependent. For glibc, first (regardless of category), the environment variable LC_ALL is inspected, next the environment variable with the same name as the category (see the table above), and finally the environment variable LANG. The first existing environment variable is used. If its value is not a valid locale specification, the locale is unchanged, and setlocale() returns NULL. The locale "C" or "POSIX" is a portable locale; it exists on all conforming systems. A locale name is typically of the form language[_territory][.codeset][@modifier], where language is an ISO 639 language code, territory is an ISO 3166 country code, and codeset is a character set or encoding identifier like ISO-8859-1 or UTF-8. For a list of all supported locales, try "locale -a" (see locale(1)). locale NULL, . On startup of the main program, the portable "C" locale is selected as default. A program may be made portable to all locales by calling: setlocale(LC_ALL, ""); after program initialization, and then: o using the values returned from a localeconv(3) call for locale-dependent information; o using the multibyte and wide character functions for text processing if MB_CUR_MAX > 1; o using strcoll(3) and strxfrm(3) to compare strings; and o using wcscoll(3) and wcsxfrm(3) to compare wide-character strings. setlocale() , . . , , . , NULL. attributes(7). +----------------------------+----------------------------------------------------------+----------------------------+ | | | | +----------------------------+----------------------------------------------------------+----------------------------+ |setlocale() | | MT-Unsafe const:locale env | +----------------------------+----------------------------------------------------------+----------------------------+ C11, POSIX.1-2008. Categories LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME C11, POSIX.1-2008. LC_MESSAGES POSIX.1-2008. Others: GNU. POSIX.1-2001, C89. Categories LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME C89, POSIX.1-2001. LC_MESSAGES POSIX.1-2001. Others: GNU. locale(1), localedef(1), isalpha(3), localeconv(3), nl_langinfo(3), rpmatch(3), strcoll(3), strftime(3), charsets(7), locale(7) Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov ; GNU (GNU General Public License - GPL, 3 ) , - . - , , <>. Linux man-pages 6.8 2 2024 . setlocale(3)