Usando pseudo-localidades para testes de localização
As pseudo-localidades são incorporadas ao Windows Vista e posterior, para que você possa acessá-las por meio de APIs NLS (Suporte à Linguagem Nacional). Você pode usar pseudo-localidades para testar a capacidade de localização de seus aplicativos. Este tópico inclui procedimentos para o uso de pseudocódigos.
Observação
Uma tarefa que precisa de consideração especial quando se trata de pseudo-localidades é enumerá-las; seja em seu código ou na parte de opções regionais e de idioma do Painel de Controle. Mais sobre isso mais adiante neste tópico.
Os nomes das pseudo-localidades são "qps-ploc", "qps-ploca" e "qps-plocm". A partir do Windows 10, a pseudo-localidade "qps-Latn-x-sh" também está disponível.
Recuperar informações sobre pseudo-localidades
Você pode usar GetLocaleInfoEx para recuperar informações sobre uma pseudo-localidade. Passe para a função o nome da pseudo-localidade específica (consulte a lista de nomes acima). Por exemplo, "qps-plocm" para a pseudo-localidade espelhada.
wchar_t languageIdentifier[5];
int rc{ ::GetLocaleInfoEx(L"qps-plocm", LOCALE_ILANGUAGE, languageIdentifier, 5) };
Usar LocaleNameToLCID com pseudo-localidades
Você pode chamar a função de mapeamento NLS LocaleNameToLCID com o nome de uma pseudo-localidade.
LCID lcid{ ::LocaleNameToLCID(L"qps-plocm", 0) };
Habilitar pseudo-localidades para enumeração
Em seu aplicativo, você pode chamar EnumSystemLocalesEx para enumerar as localidades que o sistema reconhece. A parte de opções regionais e de idioma do Painel de Controle também chama EnumSystemLocalesEx para criar a lista de localidades exibidas. No entanto, por padrão, as quatro pseudo-localidades listadas acima não são reconhecidas pelo sistema, portanto, não serão retornadas por EnumSystemLocalesEx.
Observação
Windows 10, versão 1709 e anterior: habilite pseudo-localidades adicionando chaves ao Registro do Windows. As edições são feitas sob a chave HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls
para os idiomas instalados no sistema operacional. Cada chave mostrada abaixo é o LCID hexadecimal correspondente à pseudo-localidade que está sendo habilitada. Cada valor é do tipo string (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, versão 1803 e mais recente: a edição do Registro do Windows não tem efeito. No entanto, você ainda pode chamar as APIs NLS não enumeradas com os nomes das pseudo-localidades para preencher sua interface do usuário (UI).