Unless I'm very mistaken, this is not something the compiler has built in or cares about.
The code probably looks somewhat similar to this:
#define CHECK(x) if(x!= 0) fprintf(sterr, "error: %s : %s", #x, strerror(errno));
...
CHECK(fdopen(fd, "wb"))
It's what makes most sense (actually the only thing that makes sense), because the compiler cannot possibly know the 276,000 reasons why each of the 500 library calls it uses might fail on the 25 platforms it runs on. It is easiest and safest to ask the OS for a human readable string.
Thus, the only thing that will likely help is set the system language accordingly. No worries though, this shold work just fine with Martin's EnvVar plugin (though I'm just guessing, haven't tried).