Partager via


Utilisation de pseudo-paramètres régionaux pour les tests de localisation

Les pseudo-paramètres régionaux sont intégrés à Windows Vista et versions ultérieures, afin que vous puissiez y accéder via les API NLS (National Language Support). Vous pouvez utiliser des pseudo-paramètres régionaux pour tester la localisabilité de vos applications. Cette rubrique inclut des procédures d’utilisation de pseudo-codes.

Notes

Une tâche qui nécessite une attention particulière lorsqu’il s’agit de pseudo-paramètres régionaux est de les énumérer ; que ce soit dans votre code ou dans la partie des options régionales et linguistiques de l’Panneau de configuration. Plus d’informations à ce sujet plus loin dans cette rubrique.

Les noms des pseudo-paramètres régionaux sont « qps-ploc », « qps-ploca » et « qps-plocm ». Depuis Windows 10, les pseudo-paramètres régionaux « qps-Latn-x-sh » sont également disponibles.

Récupérer des informations sur les pseudo-paramètres régionaux

Vous pouvez utiliser GetLocaleInfoEx pour récupérer des informations sur des pseudo-paramètres régionaux. Transmettez à la fonction le nom des pseudo-paramètres régionaux particuliers (voir la liste des noms ci-dessus). Par exemple, « qps-plocm » pour les pseudo-paramètres régionaux mis en miroir.

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

Utiliser LocaleNameToLCID avec des pseudo-paramètres régionaux

Vous pouvez appeler la fonction de mappage NLS LocaleNameToLCID avec le nom d’un pseudo-paramètre régional.

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

Activer les pseudo-paramètres régionaux pour l’énumération

Dans votre application, vous pouvez appeler EnumSystemLocalesEx pour énumérer les paramètres régionaux que le système reconnaît. La partie des options régionales et linguistiques de l’Panneau de configuration appelle également EnumSystemLocalesEx pour générer la liste des paramètres régionaux qu’il affiche. Toutefois, par défaut, les quatre pseudo-paramètres régionaux répertoriés ci-dessus ne sont pas reconnus par le système. Ils ne sont donc pas retournés par EnumSystemLocalesEx. Pour les systèmes de Windows Vista jusqu’à Windows 10 version 1709, la solution consiste à activer les pseudo-paramètres régionaux en ajoutant des clés au Registre Windows.

Les modifications sont effectuées sous la clé HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls pour les langues installées sur le système d’exploitation. Vous pouvez définir ces paramètres pour activer les pseudo-paramètres régionaux. Chaque clé illustrée ci-dessous est le LCID hexadécimal correspondant aux pseudo-paramètres régionaux activés. Chaque valeur est de type chaîne (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)

Pour Windows 10, version 1803, la modification du Registre Windows comme celle-ci n’a aucun effet. Toutefois, vous pouvez toujours appeler les API NLS sans énumération avec les noms des pseudo-paramètres régionaux (voir les exemples de code ci-dessus) pour remplir votre interface utilisateur.