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)