2009-08-24 11 views
10

Qualcuno può aiutarmi con come ottenere la lingua (inglese, cinese, ecc.) Del sistema operativo Windows tramite l'API win32 (C/C++) ??API Win32 per ottenere la lingua (informazioni di localizzazione) del sistema operativo?

Grazie, Sourabh

+0

E 'solo non è così semplice. Non esiste una cosa come "la lingua"; potrebbero esserci più lingue nell'uso simultaneo. Puoi essere più preciso? Suggerimento: leggi il blog di Michael Kaplan ["Ordinamento completo"] (blogs.msdn.com/michkap/) – MSalters

+0

@MSalters Devi collegare direttamente al [articolo pertinente] (http://blogs.msdn.com/b/ michkap/archive/2005/02/01/364707.aspx). –

+0

@SadlyNot: Questo è un po 'obsoleto (copre solo XP, che è ovviamente quasi EOL) – MSalters

risposta

6

È possibile ottenere le impostazioni internazionali utente predefinito (che credo sia quello che stai chiedendo) utilizzando GetUserDefaultLCID. Questo ti darà un ID che può essere usato per determinare la cultura. Vedi here per una tabella contenente ID e le culture che rappresentano.

Per Vista o Windows 7, Microsoft consiglia GetUserDefaultLocaleName.

23

Se stai chiedendo di "Quale lingua dei menu del sistema operativo e le finestre di dialogo sono dispalyed in" (cioè che MUI - Multilingual User Interface Kit - è installato), utilizzare il seguente:

Maggiori informazioni:

+3

E quindi utilizzare GetLocaleInfo con LOCALE_SENGLANGUAGE per ottenere ISO 639 da LANGID. – Yakeen

+1

Sospetto che sia più vicino a ciò che l'OP chiedeva e una risposta molto più completa della mia. – Xiaofu

+0

Ancora una domanda: voglio solo impostare FIELDSEPARATOR nelle impostazioni locali tramite win api call da Delphi. Qualcuno può aiutarti? Grazie –

Problemi correlati