How much gets localized in a localized version of Windows?
ErikF wonders, “Do the localized versions of Windows translate these weird, out of the way resources? My guess is “no”, but I don’t have a localized copy of Windows to look at right now.” There are two questions here. The first question is “What content is in scope for localization?”
- Everything in the resources of a DLL is in scope.
- Registry keys are not in scope. They can’t be, because different users on a machine can have different preferred languages, but there is only one registry. To work around this, the registry uses string redirection for anything that needs to be localized.
- File names used to be in scope, because there was no facility for displaying a file to the user with a name different from its physical name. That changed in Windows 2000, and the decision to switch completely to MUI-style file names was made in Windows Vista.
The next question is, “Of everything in scope, how much of it actually gets translated?” Historically, the answer has been “All of it.” Not just the stuff you might expect, like strings and dialog boxes, but other stuff like animations. As you can imagine, translating every single string and dialog box (and possibly also bitmaps and animations) is an enormous undertaking. Windows Vista mixed this up a bit by introducing Language Interface Packs, which are “mostly-localized” versions of Windows. Each Language Interface Pack starts with one of the “fully-localized” versions, and then re-translates a subset of the resources to suit the target language. Strings left untranslated receive the translation from the base language.
Michael Kaplan appears to have quite a supply of LIP-related puns, which he dips into whenever a new LIP is released.