setlocale
Setlocale is a function in the C standard library that sets or queries the program’s current locale for one or more categories. It is declared in locale.h and has the prototype char *setlocale(int category, const char *locale). The category selects which aspect of localization to affect, such as LC_ALL, LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, and LC_MESSAGES; some platforms may expose additional categories and some categories may not be fully controllable at runtime.
The locale parameter specifies the locale to use. If locale is non-null, setlocale attempts to switch the
Categories control different aspects of localization. LC_ALL applies changes to all categories at once; other categories
In practice, setlocale affects locale-dependent functions and behavior, including string collation, numeric formatting, monetary formatting, and