Autor
|
Tema: Detectar idioma Sistema Operativo (Leído 4,213 veces)
|
amchacon
Desconectado
Mensajes: 1.211
|
Tal como suena, busco alguna manera de detectar el idioma que usa el usuario... Tanto en Windows como en Linux.
|
|
|
En línea
|
|
|
|
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.
|
|
|
En línea
|
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
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) { return 0; }
Saludos.
|
|
|
En línea
|
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
Desconectado
Mensajes: 1.314
|
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:#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!. ....
|
|
« Última modificación: 9 Mayo 2013, 19:52 pm por leosansan »
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Gracias, ambos funcionan de maravilla (el ingles no lo he probado, pero el español me lo detecta bien). 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 }
|
|
|
En línea
|
|
|
|
|
|