#include #include #include int main(int argc, char **argv) { const char c[] = "en_US"; char *messages; int ret; messages = setlocale(LC_MESSAGES, NULL); printf("LC_MESSAGES before is: %s\n", messages); ret = setenv("LANG", c, 1); printf("ret setenv() LANG: %d\n", ret); ret = setenv("LC_ALL", c, 1); printf("ret setenv() LC_ALL: %d\n", ret); messages = setlocale(LC_ALL, ""); if ( NULL == messages ) { fprintf(stderr, "error setting locale, trying to set explicitly!\n"); messages = setlocale(LC_ALL, c); if ( NULL == messages ) { fprintf(stderr, "ah, setlocale does not work!\n"); } } messages = setlocale(LC_MESSAGES, NULL); printf("LC_MESSAGES after is: %s\n", messages); return 0; }