Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2010
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 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
  #2  
Antiguo 01-02-2010
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 16
cocute Va por buen camino
me respondo a mi mismo, no se bien como funciona lo de $03FF pero funciona:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  LangID: DWORD;
 begin
  LangID := GetUserDefaultLangID;
  case Byte(LangID and $03FF) of
    LANG_SPANISH: Button1.Caption:='español';
    LANG_ENGLISH: Button1.Caption:='english';
  else
   Button1.Caption:='Otro idioma';
end;

end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como grabar todos los sonidos que reproduce windows gulder Windows 5 22-01-2011 02:16:08
Como saber que idioma tiene seleccionado el windows xp en configuracion regional Gaby123 Varios 2 23-04-2007 23:03:51
Detectar si windows ejecuto mi aplicacion al Iniciar el Sistema BuenaOnda Varios 10 10-01-2007 16:21:07
Como Detectar cuando Windows se esta Cerrando???? AGAG4 API de Windows 3 24-05-2005 16:29:18
Texto según el idioma del sistema roman API de Windows 3 18-05-2004 01:56:01


La franja horaria es GMT +2. Ahora son las 21:34:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi