Compartir a través de


Filtrado de idiomas en una aplicación de consola MUI

Una aplicación de consola MUI puede admitir la configuración del sistema o la configuración específica de la aplicación para sus idiomas de interfaz de usuario. En este tema se describe el filtrado de idiomas para este tipo de aplicación.

Limitar los idiomas que se van a mostrar

A diferencia de una ventana gráfica, la consola de Windows no puede mostrar scripts complejos, como árabe, hebreo, persa, hindi, urdu, tailandés y muchos otros. Por lo tanto, la consola no puede mostrar muchos idiomas de interfaz de usuario en ninguna circunstancia.

La consola solo puede mostrar caracteres de la página de códigos OEM única asociada al idioma actual para aplicaciones que no son Unicode. Para cada página de códigos OEM, la consola usa una fuente determinada y es posible que esto no proporcione cobertura completa para esa página de códigos.

Estas limitaciones relacionadas con la consola reducen el número de idiomas de interfaz de usuario que la consola puede mostrar en un equipo determinado. Por ejemplo, si el idioma actual de las aplicaciones que no son Unicode es japonés y el usuario intenta mostrar texto alemán en la consola, los caracteres con umlauts no se muestran correctamente. Si el idioma actual de las aplicaciones que no son Unicode es alemán y el usuario quiere mostrar texto japonés en la consola, los resultados son mucho peores, lo que representa el texto casi incomprensible.

Nota

Al proporcionar compatibilidad con la consola para las aplicaciones MUI, recuerde que la consola solo proporciona compatibilidad limitada con los editores de métodos de entrada.

 

Establecer el idioma para la salida de la consola

En Windows Vista y versiones posteriores, una aplicación de consola establece el idioma para admitir la visualización de la consola mediante una llamada a SetThreadPreferredUILanguages. En esta llamada, la aplicación pasa MUI_CONSOLE_FILTER en el parámetro dwFlags y NULL para pwszLanguagesBuffer. Una alternativa es llamar a SetThreadUILanguage con un identificador de idioma de 0. Esta configuración hace que la función seleccione el idioma que mejor admita la pantalla de la consola.

En Windows XP, la aplicación solo puede establecer el idioma para la salida de la consola llamando a SetThreadUILanguage con un identificador de idioma de 0.

Establecer preferencias de idioma de la aplicación