Filtrage des langues dans une application console MUI

Une application console MUI peut prendre en charge les paramètres système ou les paramètres spécifiques à l’application pour ses langages d’interface utilisateur. Cette rubrique traite du filtrage des langues pour ce type d’application.

Limiter les langues à afficher

Contrairement à une fenêtre graphique, la console Windows ne peut pas afficher de scripts complexes, tels que l’arabe, l’hébreu, le persan, l’hindi, l’urdu, le thaï et bien d’autres. Par conséquent, de nombreuses langues d’interface utilisateur ne peuvent pas être affichées par la console dans n’importe quelle circonstance.

La console ne peut afficher que des caractères à partir de la page de code OEM unique associée à la langue actuelle pour les applications non Unicode. Pour chaque page de code OEM, la console utilise une police particulière et cela peut ne pas fournir une couverture complète pour cette page de code.

Ces limitations liées à la console réduisent le nombre de langages d’interface utilisateur que la console peut afficher sur un ordinateur particulier. Par exemple, si la langue actuelle pour les applications non Unicode est japonaise et que l’utilisateur tente d’afficher du texte allemand dans la console, les caractères avec umlauts ne s’affichent pas correctement. Si la langue actuelle pour les applications non Unicode est allemande et que l’utilisateur souhaite afficher du texte japonais dans la console, les résultats sont beaucoup pires, rendant le texte presque incompréhensible.

Notes

Lorsque vous fournissez une prise en charge de la console pour vos applications MUI, n’oubliez pas que la console ne prend en charge que les éditeurs de méthode d’entrée.

 

Définir la langue pour la sortie de la console

Sur Windows Vista et versions ultérieures, une application console définit la langue pour prendre en charge l’affichage de la console en appelant SetThreadPreferredUILanguages. Dans cet appel, l’application transmet MUI_CONSOLE_FILTER dans le paramètre dwFlags et NULL pour pwszLanguagesBuffer. Une alternative consiste à appeler SetThreadUILanguage avec un identificateur de langue de 0. Ce paramètre entraîne la sélection de la fonction qui prend en charge le mieux l’affichage de la console.

Sur Windows XP, l’application ne peut définir la langue de sortie de la console qu’en appelant SetThreadUILanguage avec un identificateur de langue de 0.

Définition des préférences de langue d’application