2009-08-24 21 views
10

¿Alguien puede ayudarme con cómo obtener el idioma (inglés, chino, etc.) del sistema operativo Windows a través de Win32 API (C/C++)?Win32 API para obtener el idioma (información de localización) del sistema operativo?

Gracias, Sourabh

+0

Es que no es tan sencillo. No existe el "lenguaje"; podría haber múltiples lenguajes en uso concurrente. puedes ser mas preciso? Consejo: lea el blog de Michael Kaplan ["Ordándolo todo"] (blogs.msdn.com/michkap/) – MSalters

+0

@MSalters Debe vincular directamente al [artículo pertinente] (http://blogs.msdn.com/b/ michkap/archive/2005/02/01/364707.aspx). –

+0

@SadlyNot: Eso está un poco desactualizado ahora (solo cubre XP, que por supuesto es casi EOL) – MSalters

Respuesta

6

Usted puede obtener la configuración regional de usuario por defecto (que creo que es lo que está pidiendo) usando GetUserDefaultLCID. Esto le dará una identificación que puede usarse para determinar la cultura. Consulte here para obtener una tabla que contenga ID y las culturas que representan.

Para Vista o Windows 7, Microsoft recomienda GetUserDefaultLocaleName.

23

Si preguntas acerca de "qué idioma de los menús del sistema operativo y los diálogos están en dispalyed" (es decir, que MUI - Kit de interfaz de usuario multilingüe - está instalado), utilice la siguiente:

Más información:

+3

Y luego use GetLocaleInfo con LOCALE_SENGLANGER para obtener ISO 639 de LANGID. – Yakeen

+1

Sospecho que esto está más cerca de lo que el OP estaba pidiendo, y una respuesta mucho más completa que la mía. – Xiaofu

+0

Una pregunta más a eso: solo quiero configurar el FIELDSEPARATOR en la configuración regional a través de la llamada de api win de Delphi. ¿Puede alguien aquí ayudar? Gracias –

Cuestiones relacionadas