Chyi Pin Lim writes:
> setlocale(LC_MESSAGES, "ru_RU.KOI8-R");
The setlocale() in the Microsoft C library doesn't know anything about
LC_MESSAGES (which is defined in the libintl.h from GNU gettext), this
hardly has any effect. And even if you change it to LC_ALL, the second
parameter would be wrong, as the Microsoft C library doesn't use those
Unixish locale names. Instead it uses stuff like "russian_Russia.1251".
I don't know about the 0.11.5 version of GNU gettext available from
the mingw page, but at least version 0.12.1 and later doesn't look at
the C library locale information at all on Win32. Instead it looks for
LC_ALL or LANG environment variables, and if no such are set, at the
language of in the thread locale, from GetThreadLocale(). This is then
translated into a Unixish locale name used to form the path to the
My advice is to remove the setlocale() call, and instead set the LANG
environment variable to ro_RU.KOI8-r.