Místní zdroje v aplikacích MFC: Satelitní knihovny DLL
Knihovna MFC 7.0 a novější rozšiřuje podporu pro satelitní knihovny DLL o funkce, které pomáhají při vytváření aplikací, které jsou lokalizovány pro více jazyků. Satelitní knihovna DLL je knihovna DLL, která obsahuje pouze prostředky aplikace, které jsou lokalizovány pro určitý jazyk. Jakmile se aplikace spustí, knihovna MFC automaticky načte lokalizované prostředky, které jsou nejvhodnější pro prostředí. Například můžete mít aplikaci s anglickými jazykovými prostředky se dvěmi satelitními knihovnami DLL, kde jedna obsahuje francouzský překlad zdrojů a druhá obsahuje německý překlad. Pokud je aplikace spuštěna v anglické verzi systému, používá anglické prostředky. Pokud je spuštěna na francouzském systému, používá francouzské prostředky; Pokud je spuštěna na německém systému, používá německé prostředky.
Pro podporu lokalizovaných prostředků v aplikaci knihovny MFC se knihovna MFC pokusí zavést satelitní knihovnu DLL, která obsahuje prostředky, které jsou lokalizovány do určitého jazyka. Satelitní knihovny DLL jsou pojmenovány jako NázevAplikaceXXX.dll, kde NázevAplikace je název souboru .exe nebo knihovny .dll, která používá knihovnu MFC a XXX je kód skládající se ze 3 písmen, která označují jazyk prostředků (například "ENU" nebo "DEU").
Knihovna MFC se pokusí načíst prostředky knihovny DLL pro každý z jazyků v následujícím pořadí a zastaví se, pokud jej nalezne:
(pouze systém Windows 2000 nebo novější) Výchozí jazyk uživatelského rozhraní pro aktuálního uživatele, který je vrácen z GetUserDefaultUILanguage() rozhraní API systému Win32.
(pouze systém Windows 2000 nebo novější) Výchozí jazyk uživatelského rozhraní pro aktuálního uživatele bez jakéhokoli konkrétního dílčího jazyka (to znamená EN [Kanadská angličtina] se stane ENU [Americká angličtina]).
Výchozí jazyk uživatelského rozhraní systému. V systému Windows 2000 nebo novějším je toto vráceno z GetSystemDefaultUILanguage() rozhraní API. Na ostatních platformách to je jazyk operačního systému.
Výchozí jazyk uživatelského rozhraní systému bez jakéhokoli konkrétního dílčího jazyka.
Falešný jazyk s 3 písmeným kódem LOC.
Pokud knihovna MFC nenajde žádné satelitní knihovny DLL, použije libovolné prostředky, které jsou obsaženy v samotné aplikaci.
Například předpokládejme, že aplikace LangExample.exe používá knihovnu MFC a je spuštěna v systému Windows 2000 ve více uživatelském rozhraní systému; Jazyk uživatelského rozhraní systému je ENU [Americká Angličtina] a jazyk uživatelského rozhraní pro aktuálního uživatele je nastaven na FRC [kanadská francouzština]. Knihovna MFC hledá následující knihovny DLL v následujícím pořadí:
LangExampleFRC.dll (jazyk uživatelského rozhraní uživatele).
LangExampleFRA.dll (jazyk uživatelského rozhraní uživatele bez dílčího jazyka, v tomto příkladu francouzština (Francie).
LangExampleENU.dll (jazyk uživatelského rozhraní systému).
LangExampleLOC.dll.
Pokud není nalezena žádná z těchto knihoven DLL, knihovna MFC použije prostředky z LangExample.exe.
Viz také
Odkaz
TN057: Localization of MFC Components