Partilhar via


Usando pseudo-localidades para teste de localizabilidade

Pseudo-localidades estão integradas no Windows Vista e versões posteriores, para que o utilizador possa acedê-las através das APIs NLS (National Language Support). Você pode usar pseudolocales para testar a localizabilidade das suas aplicações. 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 no 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 pseudolocalidade. Passe para a função o nome da pseudo-localidade específica (veja 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) };

Utilizar LocaleNameToLCID com pseudo-locais

Você pode chamar a função de mapeamento NLS LocaleNameToLCID com o nome de uma pseudolocalidade.

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

Habilitar pseudolocalidades 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 que ele exibe. No entanto, por padrão, as quatro pseudolocalidades listadas acima não são reconhecidas pelo sistema, portanto, não serão retornadas pelo EnumSystemLocalesEx.

Observação

Windows 10, versão 1709 e versões anteriores: habilite pseudolocalidades adicionando chaves ao Registro do Windows. As edições são feitas sob a tecla 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 emais recentes : Editar o Registro do Windows não tem efeito. No entanto, você ainda pode chamar as APIs NLS não enumerantes com os nomes das pseudolocalidades para preencher sua interface do usuário (UI).