It handles the standard format specifiers well enough.  The MingW version of libintl redefines printf in the header file, as gettext can make use of formatting syntax that MSVC printf can't handle, but apparently some versions of libintl are lacking a static implementation for that, and it causes undefined references to libintl_printf.  

The Windows header actually warns you to include libintl.h in any file using the redefined printf, but doing this doesn't actually fix anything here, so it seems to be a bug in the library. 

I changed the line to undefine the redefine instead of re-redefining it, which should better reflect what's going on here.  This should only affect mongroupdef.cpp, which doesn't appear to use anything particular to gettext, so don't I think it'll cause problems.