Bruno Haible - 2009-01-18

At the moment a program asks for a translation
from gettext(), it is not yet clear whether that
string will be piped into an Emacs buffer (GUI
codepage) or to a console (console codepage), or
written into a file or pipe that will then be
viewed through the GUI (GUI codepage).

For this reason, the best possible implementation
of this feature would be an iconv-on-the-fly
inside stdout, if stdout happens to be directed
to a console. But this is hard to do portably
(and for every program!), and also does not work
well for commands like
$ foo --help | head -n 20

In summary, there is no good solution. Blame
Microsoft or use a console replacement that
does not have this problem.