Partager via


Filtrage des langues dans une application console MUI

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

Limiter les langues à afficher

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

La console ne peut afficher que des caractères de la seule page de code OEM associée à la langue actuelle pour les applications non Unicode. Pour chaque page de code OEM, la console utilise une police particulière, ce qui 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 le japonais 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 l’allemand et que l’utilisateur souhaite afficher du texte japonais dans la console, les résultats sont bien pires, rendant le texte presque incompréhensible.

Notes

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

 

Définir la langue pour la sortie de 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 passe 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 permet à la fonction de sélectionner la langue qui prend le mieux en charge l’affichage de la console.

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

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