Udostępnij za pośrednictwem


Zlokalizowane zasoby w aplikacjach MFC: biblioteki DLL Satellite

MFC w wersji 7.0 i nowszych zapewnia obsługę rozszerzonych satelitarnej biblioteki DLL, funkcja, która pomaga w tworzeniu aplikacji zlokalizowanej w wielu językach.Satelitarne, biblioteka DLL jest DLL tylko do zasobów zawierający zasoby aplikacji zlokalizowanej w danym języku.Gdy aplikacja rozpoczyna wykonywanie, MFC automatycznie ładuje zlokalizowanych zasobów najbardziej odpowiednie dla środowiska.Na przykład może istnieć aplikacja, z zasobów języka angielskiego satelitarnym dwie biblioteki DLL, zawierającego francuski tłumaczenie zasoby i pozostałe, zawierające tłumaczenie na język niemiecki.Po uruchomieniu aplikacji w systemie języka angielskiego, używa angielskiej zasobów.Jeśli uruchomienie w systemie francuski, wykorzystuje francuski zasobów; uruchomienie na niemiecki system używa zasobów niemiecki.

Do obsługi zasobów zlokalizowanych w aplikacji MFC MFC próbuje załadować satelitarnej DLL zawierającego zasoby zlokalizowane z określonego języka.Satelitarne biblioteki DLL są o nazwie ApplicationNameXXX.dll, gdzie ApplicationName jest nazwą pliku .exe lub .dll przy użyciu MFC, i XXX jest trzyliterowy kod dla języka zasobów (na przykład 'ENU' lub "DEU").

MFC próbuje załadować biblioteki DLL zasobów dla każdego z następujących języków w kolejności, zatrzymując się po jednym stwierdzi:

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

  2. (W systemie Windows 2000 lub nowsza) Bieżący użytkownik w domyślny język interfejsu użytkownika, bez jakichkolwiek szczególnych odmianą języka (to znaczy ENC [kanadyjski angielski] staje się ENU [U.s. angielski]).

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

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

  5. Fałszywe języka o kodzie 3 listu LOC.

MFC nie może znaleźć żadnych bibliotek DLL satelitarnej, używa, niezależnie od zasobów są zawarte w zgłoszeniu.

Na przykład załóżmy, że aplikacja LangExample.exe używa MFC i jest z systemem Windows 2000 wielu interfejsu użytkownika systemu; język interfejsu użytkownika systemu Windows jest ENU [U.s. angielski] i [kanadyjski francuski] FRC ustawiono 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żeli żaden z tych bibliotek DLL, MFC używa zasobów w LangExample.exe.

Zobacz też

Informacje

TN057: Lokalizacja składników MFC

Koncepcje

Biblioteki DLL w programie Visual C++