I have spent the past two days investigating which technology I will use to support translations of text strings (as part of an overall internationalization migration) for an archaic (VC6) Windows desktop application (with MFC) that is being migrated to Visual Studio 2013 at the same time that it is being internationalized.

I have all but decided to use GetText to implement text (string) translations (given the availability of Poedit, Eazy Po, and perhaps other tools; at least Poedit also includes a build of xgettext for Windows, and I suspect Eazy Po does as well).

However, the "Microsoft-recommended" approach to string translations is to use the MUI tool (muirct). I did research this carefully before all but deciding to go with GetText.

I will not go into the pros and cons that I identified for these two technologies, because that is not directly relevant to my question. Suffice it to say that GetText seems clearly better, in my opinion.

There is only one area of comparison between these two technologies that I do not yet understand to my satisfaction. Specifically, I have little sense of whether gettext (perhaps wrapped by Boost.Locale) is at all standard practice for translating Windows desktop applications in C++.

Specifically: If I were to learn that 99% of all Windows desktop applications written in C++ in the year 2014 (seemingly industry-wide) used the Microsoft-recommended "MUI"-based technology for string (text) translations, I would likely decide to engage in another day or two's worth of careful investigation just to be certain I didn't miss something. But if even 5% or 10% (or more) used a gettext-based technology, I would be satisfied with that and I would move ahead and use gettext myself without feeling a need for any further investigation.

I have been unable to find any statistics regarding how common the use of gettext is for string translations for Windows desktop applications, in comparison with the Microsoft-recommended "MUI"-based approach.

(Related note: I did a search on my development machine for *.mui and *.po files, and I found only a handful of applications using either type of resource file; but the GetText-related *.po applications are more common, at least on my machine. Interestingly, even some Microsoft applications use *.po files.)

I would appreciate a response from someone with experience in the area of internationalizing Windows desktop applications: Is the use of gettext (and derivative) approaches, vs. the MUI approach, for Windows desktop applications, thoroughly non-standard? I'd just like to know if I'm really doing something out of the ordinary here - not that I won't go ahead and do it anyways :)

  • 1
    Possibly of interest: Why is asking a question on “best practice” a bad thing?. If your use case fits gettext the best, why should you care what others do? Jan 5, 2015 at 16:06
  • 3
    Can you explain how your question is not spotting a herd in the distance and going trotting off after it? See also What's wrong with proving best practices through statistics? I'm not unsympathetic to your position, but your question would be a better one if it asked why a particular technology seems to be favored. That a technology is used more often than another (without a supporting justification) is completely uninteresting. Jan 5, 2015 at 18:03
  • 1
    @RobertHarvey Just because it is not a good idea to follow trends for trend's sake, does not mean that trends should not be taken into consideration. I threw out 99% to make a point. If I were to say "99.999%", do you think that would make a difference? What if I were to find out that every single application in the history of Windows was internationalized with MUI, and that I was the first person ever to do so with GetText? That would be sufficient cause for concern, such that I would reconsider. To me, that's not following a herd. I suggest not placing all questions into molds. Jan 5, 2015 at 18:09
  • 2
    To be fair, the question does seem a bit off topic. However, I can see where @DanNissenbaum is coming from. If a given technology is only rarely used for the purpose and on the platform in question, it would make support for that particular technology a dicey proposition at best. It is also possible that there are reasons why it is so infrequently used which weren't discovered through aforementioned research. While I agree that this is off-topic, is there a better forum to which it could be migrated rather than the current back-and-forth disagreement over it's validity?
    – Michael
    Jan 5, 2015 at 19:18
  • 2
    @DanNissenbaum: We've tried to make that statement as inclusive as possible to mean "anything that would require us to link anywhere else on the Internet, unless it is in support of an actual, written answer to the question." Jan 5, 2015 at 19:21

1 Answer 1


From my scant research, both are similar, because they translate text that will appear in the app, but MUI handles MS Windows localised folder-names also (I'm guessing /My Documents/ etc but in French etc).

The 'Downloads' folder is called 'Overførsler' in Danish.

Being more mac/linux inclined I reckon gettext would be fine, depends who paying the bills for all this code :)

Not the answer you're looking for? Browse other questions tagged or ask your own question.