Recursos localizados em aplicativos MFC: DLLs satélites
O MFC na versão 7.0 ou posterior fornece suporte avançado para DLLs satélite, um recurso que ajuda na criação de aplicativos localizados para vários idiomas. Uma DLL satélite é uma DLL somente de recurso que contém os recursos de um aplicativo localizados para um idioma específico. Quando o aplicativo começa a ser executado, o MFC carrega automaticamente o recurso localizado mais apropriado para o ambiente. Por exemplo, você pode ter um aplicativo com recursos do idioma inglês com duas DLLs satélites, uma contendo uma tradução em francês de seus recursos e outra contendo uma tradução em alemão. Quando o aplicativo é executado em um sistema de idioma inglês, ele usa os recursos em inglês. Se executado em um sistema francês, ele usa os recursos em Francês; se executado em um sistema alemão, ele usa os recursos em alemão.
Para dar suporte a recursos localizados em um aplicativo MFC, o MFC tenta carregar uma DLL satélite contendo recursos localizados em um idioma específico. As DLLs satélites são denominadas ApplicationNameXXX.dll, em que ApplicationName é o nome do .exe ou .dll que está usando o MFC, e XXX é o código de três letras para o idioma dos recursos (por exemplo, 'ENU' ou 'DEU').
O MFC tenta carregar a DLL do recurso para cada um dos seguintes idiomas na ordem e para quando encontrar uma:
O idioma de interface do usuário padrão do usuário atual, conforme retornado da API do Win32 GetUserDefaultUILanguage().
O idioma de interface do usuário padrão do usuário atual, sem qualquer subidioma específico (ou seja, ENC [inglês canadense] torna-se ENU [inglês dos EUA]).
O idioma de interface do usuário padrão do sistema, conforme retornado da API GetSystemDefaultUILanguage(). Em outras plataformas, esse é o idioma do sistema operacional em si.
O idioma da interface do usuário padrão do sistema, sem qualquer subidioma específico.
Um idioma falso com o LOC de código de 3 letras.
Se o MFC não encontrar DLLs satélites, ele usará quaisquer recursos contidos no próprio aplicativo.
Por exemplo, suponha que um aplicativo LangExample.exe usa MFC e está em execução em um sistema de interface do usuário múltiplo; o idioma da interface do usuário do sistema é ENU [inglês americano] e o idioma da interface do usuário atual está definido como FRC [francês canadense]. O MFC procura as seguintes DLLs na ordem a seguir:
LangExampleFRC.dll (Idioma da interface do usuário).
LangExampleFRA.dll (idioma da interface do usuário sem o subidioma, neste exemplo francês (França).
LangExampleENU.dll (idioma da interface do usuário do sistema).
LangExampleLOC.dll.
Se nenhuma dessas DLLs for encontrada, o MFC usará os recursos em LangExample.exe.
Confira também
Criar DLLs C /C++ no Visual Studio
TN057: localização de componentes MFC