Share via


MFC 應用程式中的當地語系化資源:附屬 DLL

MFC 7.0 版和更新版本提供附屬 DLL 的增強支援,這項功能有助於建立當地語系化為多種語言的應用程式。 附屬 DLL 是 僅限資源的 DLL ,其中包含針對特定語言當地語系化的應用程式資源。 當應用程式開始執行時,MFC 會自動載入最適合環境的當地語系化資源。 例如,您可以有一個具有英文語言資源且具有兩個附屬 DLL 的應用程式,一個包含您資源的法文翻譯,另一個包含德文翻譯。 當應用程式在英文語言系統上執行時,它會使用英文資源。 如果在法文系統上執行,它會使用法文資源;如果在德文系統上執行,則會使用德文資源。

若要支援 MFC 應用程式中的當地語系化資源,MFC 會嘗試載入附屬 DLL,其中包含當地語系化為特定語言的資源。 附屬 DLL 的名稱為 ApplicationNameXXX.dll ,其中 ApplicationName 是使用 MFC 的 .exe 或 .dll 名稱,而 XXX 是資來源語言的三個字母代碼(例如 'ENU' 或 'DEU')。

MFC 會嘗試依序載入下列每個語言的資源 DLL,並在找到資源 DLL 時停止:

  1. 從 GetUserDefaultUILanguage() WIN32 API 傳回的目前使用者預設 UI 語言。

  2. 目前使用者的預設 UI 語言,沒有任何特定的子語言(也就是 ENC [加拿大英文] 會變成 ENU [美式英文])。

  3. 系統的預設 UI 語言,如 GetSystemDefaultUILanguage() API 所傳回。 在其他平臺上,這是作業系統本身的語言。

  4. 系統的預設 UI 語言,沒有任何特定的子語言。

  5. 具有 3 個字母代碼 LOC 的假語言。

如果 MFC 找不到任何附屬 DLL,它會使用應用程式本身中包含的任何資源。

例如,假設應用程式 LangExample.exe 使用 MFC 並在多個使用者介面系統上執行;系統 UI 語言為 ENU [美式英文],而目前使用者的 UI 語言設定為 FRC [加拿大法文]。 MFC 會依下列順序尋找下列 DLL:

  1. LangExampleFRC.dll (使用者的 UI 語言)。

  2. LangExampleFRA.dll (使用者 UI 語言沒有子語言,在此範例中為法文 (法國)。

  3. LangExampleENU.dll (系統的 UI 語言)。

  4. LangExampleLOC.dll。

如果找不到這些 DLL,MFC 會使用 LangExample.exe 中的資源。

另請參閱

在 Visual Studio 中建立 C++ DLL
TN057:MFC 元件的當地語系化