Udostępnij za pośrednictwem


Zasoby zlokalizowane w aplikacjach MFC: biblioteki DLL Satellite

MFC w wersji 7.0 i nowszymi zapewnia rozszerzoną obsługę satelitarnej biblioteki dll, funkcja, która pomaga w tworzeniu aplikacji zlokalizowanej w wielu językach.Satelity DLL jest DLL tylko zasobów zawiera zasoby aplikacji są zlokalizowane dla określonego języka.Gdy aplikacja rozpoczyna się wykonywanie, MFC automatycznie ładuje zlokalizowanych zasobów najbardziej odpowiednie dla środowiska.Na przykład może istnieć aplikacja z zasobami języka angielskiego SAT dwie biblioteki dll, zawierającą francuskie tłumaczenie zasobów i inne zawierające niemieckie tłumaczenie.Po uruchomieniu aplikacji w systemie języka angielskiego używa angielskiej zasobów.Jeśli uruchomienie w systemie francuski, wykorzystuje francuskich zasobów; Jeśli uruchomione w niemieckim systemie, używa zasobów niemiecki.

Do obsługi zasoby zlokalizowane w aplikacji MFC MFC będzie próbował załadować towarzyszącej biblioteki DLL zawierającego zasoby zlokalizowane w określonym języku.Noszą nazwy biblioteki DLL Satellite ApplicationNameXXX.dll, gdzie ApplicationName jest nazwą .exe lub .dll przy użyciu biblioteki MFC, i XXX jest trzyliterowy kod języka zasobów (na przykład 'ENU' lub "DEU").

MFC podejmie próbę załadowania biblioteki DLL zasobów dla każdego z następujących języków w celu zatrzymania, gdy znajdzie jeden:

  1. (System Windows 2000 lub nowsza) Bieżący użytkownik domyślny język interfejsu użytkownika, jako zwrot od interfejsu API Win32 GetUserDefaultUILanguage().

  2. (System Windows 2000 lub nowsza) Bieżący użytkownik w domyślny język interfejsu użytkownika, bez żadnych szczególnych odmianą języka (czyli ENC [kanadyjski angielski] staje się [US ENUAngielski]).

  3. Domyślny język interfejsu użytkownika systemu.W systemie Windows 2000 lub nowszym to jest zwracany z interfejsu API GetSystemDefaultUILanguage().Na innych platformach jest to język samego systemu operacyjnego.

  4. System domyślny język interfejsu użytkownika, bez żadnych szczególnych odmianą języka.

  5. Fałszywe języka 3 literą kodu LOC.

MFC nie może znaleźć żadnych bibliotek DLL satellite, używa, niezależnie od zasobów są zawarte w samej aplikacji.

Na przykład załóżmy, że aplikacja LangExample.exe używa MFC i jest uruchomiony w systemie Windows 2000 wielu interfejs użytkownika systemu; język interfejsu użytkownika systemu Windows jest [US ENUAngielski] i KPP [kanadyjski francuski] jest ustawiony język interfejsu użytkownika bieżącego użytkownika.MFC szuka następujących bibliotek DLL w następującej kolejności:

  1. LangExampleFRC.dll (język Interfejsu użytkownika).

  2. LangExampleFRA.dll (język Interfejsu użytkownika bez odmianą języka, w tym przykładzie francuski (Francja).

  3. LangExampleENU.dll (język interfejsu użytkownika systemu).

  4. LangExampleLOC.dll.

Jeśli nie zostaną znalezione żadne z tych bibliotek DLL, biblioteki MFC korzysta z zasobów w LangExample.exe.

Zobacz też

Informacje

TN057: lokalizacja składników MFC

Koncepcje

Biblioteki DLL w programie Visual C++