Autor Tema: ¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?  (Leído 2773 veces)

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

Conectado panreyes

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 2022
  • Karma: 64
  • Sexo: Masculino
    • Ver Perfil
    • panreyes.com
Según esto:

[size=78%]http://developer.android.com/reference/java/util/Locale.html[/size]


desde Java está claro, pero desde nuestro código lo tenemos algo más complicado.
¿Alguna idea? ¿Se podría meter en una variable de entorno y recibirla con getenv("LANG"); como si fuera un Linux?

Conectado FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5549
  • Karma: 125
  • Sexo: Masculino
    • Ver Perfil
    • GECA soft
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #1 en: Abril 04, 2013, 09:18:18 am »
Josebita te llaman, funcion nueva xD
 
si se guardará en alguna carpeta se podria mirar, tal como hiciste en la caanoo

Desconectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12478
  • Karma: 367
  • Sexo: Masculino
    • Ver Perfil
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #2 en: Abril 04, 2013, 01:02:46 pm »
Según esto:

[size=78%]http://developer.android.com/reference/java/util/Locale.html[/size]


desde Java está claro, pero desde nuestro código lo tenemos algo más complicado.
¿Alguna idea? ¿Se podría meter en una variable de entorno y recibirla con getenv("LANG"); como si fuera un Linux?

get_env o getenv, no recuerdo como se llama, lo tienes en mod_sys
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Desconectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12478
  • Karma: 367
  • Sexo: Masculino
    • Ver Perfil
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #3 en: Abril 04, 2013, 01:03:45 pm »
ambos se estan superando ultimamente, hagan un search, seguro que esta en la wiki, en el foro sin dudas, ya se hablo de esta funcion.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Conectado panreyes

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 2022
  • Karma: 64
  • Sexo: Masculino
    • Ver Perfil
    • panreyes.com
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #4 en: Abril 04, 2013, 03:25:51 pm »
ambos se estan superando ultimamente, hagan un search, seguro que esta en la wiki, en el foro sin dudas, ya se hablo de esta funcion.
Si, getenv funciona perfectísimamente en Linux, pero no sirve para Android.

Desconectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12478
  • Karma: 367
  • Sexo: Masculino
    • Ver Perfil
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #5 en: Abril 04, 2013, 06:36:58 pm »
deberia servir... quizas no esta implementada... pero deberia.... android no es mas que un linux.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Conectado FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5549
  • Karma: 125
  • Sexo: Masculino
    • Ver Perfil
    • GECA soft
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #6 en: Abril 04, 2013, 08:53:00 pm »
no tiene porque, tener unix detras no signfica que el so vaya funcionar igual ni usar las mismas funciones de sistema de toda la vida

Desconectado josebita

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 4039
  • Karma: 257
  • Sexo: Masculino
    • Ver Perfil
    • BennuGD Mobile Worklog
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #7 en: Abril 05, 2013, 08:20:22 am »
deberia servir... quizas no esta implementada... pero deberia.... android no es mas que un linux.
Android usa el kernel Linux, pero a nivel de "usuario" (nosotros, como gente que programa para la plataforma) no se parece demasiado a la forma en que trabaja éste.
Ésto es lo que se obtiene en mi teléfono (Galaxy Nexus con Android 4.2.2 estándar):
Citar
e8540@L2ZCVP4J:~$ adb shell
shell@android:/ $ export
ANDROID_ASSETS
ANDROID_BOOTLOGO
ANDROID_DATA
ANDROID_PROPERTY_WORKSPACE
ANDROID_ROOT
ANDROID_SOCKET_adbd
ANDROID_STORAGE
ASEC_MOUNTPOINT
BOOTCLASSPATH
EMULATED_STORAGE_SOURCE
EMULATED_STORAGE_TARGET
EXTERNAL_STORAGE
HOME
HOSTNAME
LD_LIBRARY_PATH
LOOP_MOUNTPOINT
MKSH
PATH
PS1
RANDOM
SHELL
TERM
USER
shell@android:/ $ echo $HOME
/data
shell@android:/ $ echo $HOSTNAME
android
shell@android:/ $ echo $PS1
$(precmd)$USER@$HOSTNAME:${PWD:-?} $
shell@android:/ $ echo $SHELL
/system/bin/sh
shell@android:/ $ echo $TERM
vt100
shell@android:/ $ echo $USER
shell
shell@android:/ $ echo $ANDROID_DATA
/data
shell@android:/ $
Así que no se puede obtener el idioma directamente mediante getenv.

Quizás sería interesante extender la mod_sys con rutinas específicas para cada plataforma: obtener idioma, sistema operativo y versión... cosas por el estilo. Por lo que tengo entendido no es muy fácil obtener el idioma del SO en Windows desde Bennu, ¿no?


[Edito] Jué... He escrito la mitad del post y luego me he puesto a otra cosa y se me ha olvidado acabarlo... Perdón a quien lo hubiera leído a medias.
« última modificación: Abril 05, 2013, 08:26:32 am por josebita »

Conectado panreyes

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 2022
  • Karma: 64
  • Sexo: Masculino
    • Ver Perfil
    • panreyes.com
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #8 en: Abril 05, 2013, 08:44:19 am »
Por no añadir un módulo en Windows para leer el registro, hice esta chapuza:

Código: [Seleccionar]
if(os_id==os_win32) //windows
//qué lenguaje lleva este windows?
if(!fexists(getenv("TEMP")+"\lang.txt")) exec(1,"language.bat",0,0); end
fp=fopen(getenv("TEMP")+"\lang.txt",O_READ);
if(fp)
cadena_lenguaje=fgets(fp);
fclose(fp);
end
primera_letra_lenguaje=find(cadena_lenguaje,"0",0);
cadena_lenguaje_bien=""+cadena_lenguaje[primera_letra_lenguaje+2]+cadena_lenguaje[primera_letra_lenguaje+3];


switch(cadena_lenguaje_bien)
case "09": id_lenguaje="en"; end
case "0a": id_lenguaje="es"; end
case "10": id_lenguaje="it"; end
case "07": id_lenguaje="de"; end
case "0c": id_lenguaje="fr"; end
end
end


Y language.bat:
Código: [Seleccionar]
reg query HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\Language /v Default | findstr Default > %TEMP%\lang.txt

Desconectado emov2k4

  • Full Member
  • ***
  • Mensajes: 224
  • Karma: 4
  • Sexo: Masculino
    • Ver Perfil
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #9 en: Agosto 09, 2014, 11:00:31 am »
Estimados,  alguna novedad al respecto a esto con Android ?? , no quiero hacer dos aplicaciones para el idioma.

Saludos

Desconectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12478
  • Karma: 367
  • Sexo: Masculino
    • Ver Perfil
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #10 en: Agosto 09, 2014, 12:14:58 pm »
quizas se le podria pedir a josebita que incluya alguna funcion para esto en android.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Conectado panreyes

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 2022
  • Karma: 64
  • Sexo: Masculino
    • Ver Perfil
    • panreyes.com
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #11 en: Agosto 10, 2014, 04:12:38 am »
Josebita lo puede hacer. Yo tengo un parche rancio hecho en Java, que escribe un fichero al arrancar con el lenguaje y luego lo leo desde Bennu.


Es complicado de mostrar, pero pégale un vistazo a estos ficheros:
https://code.google.com/p/pixjuegos/source/browse/trunk/bennu-android/src/org/libsdl/app/SDLActivity.java#854
https://code.google.com/p/pixjuegos/source/browse/trunk/common-src/lenguaje.pr-#43

Desconectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12478
  • Karma: 367
  • Sexo: Masculino
    • Ver Perfil
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #12 en: Agosto 10, 2014, 03:26:07 pm »
por que en lugar de escribir un fichero no haces un setenv y luego recuperas con getenv desde bennugd?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Conectado panreyes

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 2022
  • Karma: 64
  • Sexo: Masculino
    • Ver Perfil
    • panreyes.com
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #13 en: Agosto 11, 2014, 01:28:35 am »
Eso suena a solución inteligente, y ya sabes cómo soy yo de chapuzas xD

Conectado l1nk3rn3l

  • Hero Member
  • *****
  • Mensajes: 1947
  • Karma: 253
  • Sexo: Masculino
    • Ver Perfil
Re:¿Cómo averiguar el lenguaje del móvil en el que se ejecuta nuestro juego?
« Respuesta #14 en: Agosto 11, 2014, 08:33:34 am »
pregunta ...


donde esta los ultimos fuentes de bennugd para android es que vamos a portar algunas libs graficas
a android entonces requerimos un port ya hecho...




gracias