篩選 MUI 主控台應用程式中的語言

MUI 主控台應用程式可以支援其使用者介面語言的系統設定或應用程式特定設定。 本主題討論此類型的應用程式語言篩選。

限制顯示語言

不同于圖形化視窗,Windows 主控台無法顯示 複雜的腳本,例如阿拉伯文、希伯來文、印度文、Urdu、泰文等等。 因此,主控台在任何情況下都無法顯示許多使用者介面語言。

主控台只能顯示與非 Unicode 應用程式目前語言相關聯的單一 OEM 字碼頁 字元。 針對每個 OEM 字碼頁,主控台會使用特定字型,但這可能不會提供該字碼頁的完整涵蓋範圍。

這些主控台相關限制可減少主控台可在特定電腦上顯示的使用者介面語言數目。 例如,如果非 Unicode 應用程式的目前語言是日文,而且使用者嘗試在主控台中顯示德文文字,則具有 umlauts 的字元不會正確顯示。 如果非 Unicode 應用程式的目前語言是德文,而且使用者想要在主控台中顯示日文文字,結果會更糟,轉譯文字幾乎無法理解。

注意

為 MUI 應用程式提供主控台支援時,請記住主控台只提供 輸入法編輯器的有限支援。

 

設定主控台輸出的語言

在 Windows Vista 和更新版本上,主控台應用程式會呼叫 SetThreadPreferredUILanguages來設定支援主控台顯示的語言。 在此呼叫中,應用程式會針對pwszLanguagesBuffer傳遞dwFlags參數中的MUI_CONSOLE_FILTER和Null。 替代方式是呼叫 SetThreadUILanguage ,其語言識別項為 0。 此設定會使函式選取最能支援主控台顯示的語言。

在 Windows XP 上,應用程式只能呼叫具有 0 語言識別項的 SetThreadUILanguage 來設定主控台輸出的語言。

設定應用程式語言喜好設定