共用方式為


使用虛擬地區設定進行可本地化測試

虛擬地區 設定內建於 Windows Vista 和更新版本,因此您可以透過國家語言支援 (NLS) API 存取它們。 您可以使用虛擬地區設定來測試 應用程式的當地語系化能力 。 本主題包含使用虛擬碼的程序。

注意

在虛擬地區設定方面需要特別考慮的一項工作是列舉它們:無論是在您的程式代碼中,還是 控制台 的區域和語言選項部分。 這個我們稍後再談。

虛擬地區設定的名稱為 「qps-ploc」、“qps-ploca” 和 “qps-plocm”。 從 Windows 10 起,虛擬地區設定 「qps-Latn-x-sh」 也可供使用。

擷取偽區域設定的相關資訊

您可以使用 GetLocaleInfoEx 來擷取虛擬語區的相關資訊。 在函式中傳入特定偽地區的名稱(請參閱上述名稱清單)。 例如,鏡像偽地區設定的「qps-plocm」。

wchar_t languageIdentifier[5];
int rc{ ::GetLocaleInfoEx(L"qps-plocm", LOCALE_ILANGUAGE, languageIdentifier, 5) };

搭配偽區域設定使用LocaleNameToLCID

您可以使用偽區域設定的名稱來呼叫 NLS 映射函數 LocaleNameToLCID

LCID lcid{ ::LocaleNameToLCID(L"qps-plocm", 0) };

啟用列舉用的偽地區設定

在您的應用程式中,您可以呼叫 EnumSystemLocalesEx 來列舉系統可辨識的地區設定。 控制台 的區域和語言選項部分也會呼叫 EnumSystemLocalesEx,以建置它所顯示的地區設定清單。 不過,根據預設,系統無法辨識上述四個虛擬地區設定,因此 EnumSystemLocalesEx 不會傳回它們。

注意

Windows 10 版本 1709 和更新版本:將機碼新增至 Windows 登錄來啟用虛擬地區設定。 修改是在操作系統上已安裝語言的 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls 機碼下進行的。 下面顯示的每個鍵值都是對應至所啟用偽區域語言的十六進位 LCID。 每個值都是字串類型 (REG_SZ)。

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Locale]
"00000501"="1" // qps-ploc (Windows Vista and later)
"000005fe"="7" // qps-ploca (Windows Vista and later)
"00000901"="1" // qps-Latn-x-sh (Windows 10 and later)
"000009ff"="d" // qps-plocm (Windows Vista and later)

Windows 10 版本 1803 和更新版本:編輯 Windows 登錄沒有任何作用。 不過,您仍然可以使用偽地區設定的名稱來呼叫未列舉的 NLS API,以填充您的使用者介面 (UI)。