MFC 7 and later has a build in feature using resource DLLs. When a MFC applications starts MFC is looking for a possible resource DLL from the same directory where the original .exe or .dll is located. If MFC can find this it uses resources of the resource DLL instead of the original PE file. Resource DLLs are named ApplicationNameXXX.dll, where ApplicationName is the name of the .exe or .dll using MFC, and XXX is the three-letter code for the language of the resources. For example MyApplicationENU.dll is an English (United States) DLL and MyApplicationDEU.dd is German (Germany) DLL.
To make Sisulizer to create localized resource DLLs for your MFC file right click the source name on the project tree and choose Properties. Check Resource DLL files check box.
MFC attempts to load the resource DLL for each of the following languages in order, stopping when it finds one:
If MFC does not find any satellite DLLs, it uses whatever resources are contained in the application itself.
As an example, suppose that an application MyApplication.exe uses MFC and is running on a Windows XP. The system UI language is ENU [English (United States)] and the current user's UI language is set to DES [German (Switzerland)]. MFC will look for the following DLLs in the following order:
If none of these DLLs are found, MFC will just use the resources in MyApplication.exe
It is not practical to implement runtime language change in MFC. It is possible but not without significant need to modify your existing code.