Ver Mensaje Individual
  #1  
Antiguo 01-02-2010
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Reputación: 16
cocute Va por buen camino
Como detectar idioma del sistema y que funcione en todos windows?

pues eso, uso delphi2010 en Windows 7 64, pero me interesa que la cosa funcione en todos windows.

he probado con esto:
Código Delphi [-]
if SysLocale.PriLangID = LANG_SPANISH then Idioma.text='Español';
if SysLocale.PriLangID = LANG_ENGLISH then Idioma.text='Ingles';

pero esto no me funciona con mi sistema Windows7 x64, me dice que tengo el sistema en ingles cuando en realidad está en español.

he probado con esta alternativa y funciona bien (pero solo para España "Español tradicional" claro esta):
Código Delphi [-]
if GetUserDefaultLangID = 1034 then Idioma.text='Español';
if GetUserDefaultLangID = 9 then Idioma.text='Ingles';



El problema es que si uso este modo tendría que definir todas estas variantes, sería lo correcto definirlas todas o hay algun metodo alternativo que me diga solo si el sistema es ingles, español u otro sin distinguir paises?

9 - English
3081 - English(Australian)
10249 - English(Belize)
2057 - English(British)
4105 - English(Canadian)
9225 - English(Caribbean)
6153 - English(Ireland)
8201 - English(Jamaica)
5129 - English(New Zealand)
7177 - English(South Africa)
11273 - English(Trinidad)
1033 - English(United States)
11274 - Spanish(Argentina)
16394 - Spanish(Bolivia)
13322 - Spanish(Chile)
9226 - Spanish(Colombia)
5130 - Spanish(Costa Rica)
7178 - Spanish(Dominican Republic)
12298 - Spanish(Ecuador)
17418 - Spanish(El Salvador)
4106 - Spanish(Guatemala)
18442 - Spanish(Honduras)
2058 - Spanish(Mexican)
19466 - Spanish(Nicaragua)
6154 - Spanish(Panama)
15370 - Spanish(Paraguay)
10250 - Spanish(Peru)
20490 - Spanish(Puerto Rico)
3082 - Spanish(Spain - Modern Sort)
1034 - Spanish(Spain - Traditional Sort)
14346 - Spanish(Uruguay)
8202 - Spanish(Venezuela)

Última edición por cocute fecha: 01-02-2010 a las 12:33:53.
Responder Con Cita