Detectar idioma Sistema Operativo

Iniciado por amchacon, 9 Mayo 2013, 14:59 PM

0 Miembros y 1 Visitante están viendo este tema.

amchacon

Tal como suena, busco alguna manera de detectar el idioma que usa el usuario... Tanto en Windows como en Linux.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

anonimo12121

no se pero supongo que habrá algun fichero en el SO que declaré el lenguaje, Suponiendo esto deberás buscar cual es y abrirlo.
Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746

0xDani

En Linux (y no se si en otros Unix-Like) normalmente tienes la variable de entorno LANG, que contiene un string que te dice el idioma, hay algunos en esta tabla.

Puedes obtener el valor de esta variable así:


#include <stdlib.h>
#include <stdio.h>

int main(int argc, char **argv)
{
printf("LANG string: %s\n", getenv("LANG"));

return 0;
}


Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

leosansan

#3
Cita de: amchacon en  9 Mayo 2013, 14:59 PM
Tal como suena, busco alguna manera de detectar el idioma que usa el usuario... Tanto en Windows como en Linux.

Creo que te podría servir, aunque admite otras opciones en cuanto a país e idioma:

Código (cpp) [Seleccionar]
#include <windows.h>
#include <stdio.h>
#include<locale.h>
int main()
{
   setlocale(LC_ALL, "Spanish");
   char idioma[30]={0},idioma2[10],pais[30];
   GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SENGCOUNTRY , pais,
   sizeof(pais));
   printf( "Usted vive en %s\n",pais );
   GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SNATIVELANGNAME  , idioma,
   sizeof(idioma));
   GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVCTRYNAME  , idioma2,
   sizeof(idioma2));
   printf( "Y su idioma es %s  %s",idioma,idioma2 );
   return 0;
}


Saluditos!. ....  

amchacon

Gracias, ambos funcionan de maravilla (el ingles no lo he probado, pero el español me lo detecta bien).

Código (cpp) [Seleccionar]
unsigned int Lenguaje::ObtenerIdiomaSistema()
{
   #ifdef WINDOWS

   char idioma[30]={0};
   GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SNATIVELANGNAME  , idioma,
   sizeof(idioma));

    if (idioma[0] == 'e' && idioma[1] == 's')
      return Espanyol;
   else
       return English;

   #else

   char* Informacion = getenv("LANG");

   if (Informacion[0] == 'e' && Informacion[1] == 's')
       return Espanyol;
   else
       return English;

   #endif
}
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar