

The method to store the localized resources (in this case the German resources) is creating a resource-only DLL that is being updated by a “Pre-link step” or a “Custom Build Step” in the VC IDE any time the domestic language’s (English) resources are changed. As an extra bonus I will show how to create a localized version of MFC’s Scribble sample application that will switch the user interface language at run time from English to German and vice versa. In this tutorial I will show how to use a tool that comes for free, the “MS Resource Localization Toolset”, and I will demonstrate how it can be seamlessly integrated into the VC Developer Studio and into every project at any time during the development cycle. So far, I have seen a variety of methods for storing localized resources, from simple ASCII text files to resource-only DLLs or even databases. But even at that point the question arises: “Is it worth to localize the resources at all? What happens with the next version of our application, will we be able to reuse the localization that was done for the current version?” It is obvious that the crucial problems are to find and to use the right tool, one that supports leveraging of existing localized versions of an application, and to use the right method for storing the localized resources. As a result, localization is very often done at the end of the development cycle, when changes to the program’s resources are not expected to happen anymore. The reason for this is that it is considered not very easy to maintain different languages during the development cycle, because each time a change is made in the programmer’s native language, this change has to be made in whatever file that contains a localized version of the program’s resources or text strings. Most programmers shy away from building applications that support more than one language, the programmer’s native language (also called the ‘domestic language’).

If you just want to download the article code and compile it, click here to see further instructions)

Download Source Code and Example (Unzip with directory preservation.
