0
votes

I have few win32 DLL's (Non-MFC) along with individual .rc files for different languages, presently we replace the rc file and build the full DLL again for each locale. I am trying to find out a better way of doing it and found that MFC DLL's have something called satellite dll's wherein we can have a single DLL for the code and other resource DLL's for individual rc files. But this resource/satellite DLL's solution doesn't seems to be working for Non-MFC dll's.

Could somebody tell me what would be the best way to localize such non-MFC dll's so that we do not need to regenerate the full Dll for each individual locales.

Thanks in advance Rahul

1
You will need to document your Windows version requirements, it is not a detail if XP still needs to be supported. MUI support for Vista and up is documented here.Hans Passant

1 Answers

1
votes

There's no reason why you can't do the same with non-MFC dlls - I have done so many times.

You just need to create a set of resource-only DLLs, one for each supported language, and (from your main DLL) either load dynamically at runtime, or give them all the same names and just deploy the correct version during installation.

This MSDN page describes how to create a resource-only DLL. Although it mentions that it's helpful for MFC, there is no necessity to use MFC at all - you can apply the same logic that MFC uses to decide which satellite to load.

Partial screenshot

MSDN