PDA

Ver la Versión Completa : Cómo saber el idioma del dispositivo


z3us
23/04/14, 18:38:02
Pues eso, necesito saber si con tasker puedo saber qué idioma se está usando en un Android. Yo creo que tiene que estar contenido en alguna variable de sistema, pero no doy con ella.
Gracias

mlesir
23/04/14, 19:46:37
Lo más parecido que he encontrado es en una base de sql3 en: data/data/com.android.providers/settings.db/android_metadata

Por cierto en settings.db hay también otras cosas que también pueden ser muy interesantes.

Es raro que no haya una variable en tasker. Si te enteras de algo a mi también me interesa mucho el tema.

cace0353
23/04/14, 22:48:03
La encontrarás en el plugin > Secure Settings > System+Actions > Locale. Arriba del todo te dice cual es el estado actual de la variable
Cuidado, no le des a guardar con el valor por defecto: te va a quedar todo el sistema en africaans (holandés de Suráfrica), a mí me ocurrió... :-(

mlesir
23/04/14, 23:23:15
Pregunta chorra: esto sirve para cambiar el idioma y de acuerdo que arriba viene el idioma actual del dispositivo pero como hago para que una app o proyecto consiga meter esa información en una variable?
Creo que Zeus y yo lo que queremos no es cambiar el idioma si no saber cual usa el usuario, valga la redundancia.

z3us
23/04/14, 23:35:37
Eso es, por si en el futuro hago una aplicación en inglés y español.

mlesir
24/04/14, 02:14:16
Vaya releyendo mi post creo que no me ha salido un "tono" adecuado. Con pregunta chorra quería decir que a lo mejor se me escapa algo muy obvio (que no sería la primera vez), en ningún caso quería darle un tono irónico. Esta claro que tiene que haber una forma dado que como dice Cace secure lo muestra el caso es como meterlo en una variable. Yo no atino a saber cómo.
En todo caso ( y esto es lo que yo hago en mi app) se puede hacer que la primera vez que se ejecuta la app se pregunte esto al usuario.
Cace si es que no lo has entendido mal, por favor explicanos cómo hacerlo porque no lo veo, y si lo has entendido mal igualmente se agradece mucho el interes y el esfuerzo.

cace0353
24/04/14, 10:07:56
Lamento que mi aportación no sea más que una vaga "pista"

Dias atrás, y precisamente para lograr que el cambio de idioma fuera automático, intenté trastear con la variable que guarda el idioma actual del dispositivo. Sin éxito.... Ya he contado que lo máximo que logré fué que me quedara el sistema en afrikaans.
Acabé metiendo la opción para cambiar el idioma en el menú de configuración. Este menú ya existía de todos modos para modificar otros parámetros. Poco "pro", pero suficiente.

He apuntado lo del pluguin de Secure settings por si alguno con idea de Linux se atreve a hacer un script ó preparar un comando de consola para incorporarlo como acción a la tarea y así que el idioma se cambie automáticamente.

maid450
24/04/14, 11:24:46
Lo más parecido que he encontrado es en una base de sql3 en: data/data/com.android.providers/settings.db/android_metadata
Por cierto en settings.db hay también otras cosas que también pueden ser muy interesantes.
Es raro que no haya una variable en tasker.
Si te enteras de algo a mi también me interesa mucho el tema.

En la tabla android_metadata de settings.db es en efecto donde se guarda el valor, y de hecho el sistema internamente es donde lo busca.
El valor está en formato "idioma_VARIANTE", con lo que hay que quedarse con la parte de antes del "_".

En la tabla settings.db se guardan todos los valores de configuración del sistema, asi que se pueden sacar cosas muy interesantes...

Stenary
24/04/14, 16:22:59
Y entonces, si esta en la carpeta data, solo se podria acceder a ese archivo si eres root?
O me he colado y no hace falta?

mlesir
24/04/14, 19:04:06
Yo creo que para leer esas carpetas SI hace falta root no? Seria cuestión de probarlo pero no tengo ningún dispositivo sin root.

maid450
25/04/14, 07:53:59
Y entonces, si esta en la carpeta data, solo se podria acceder a ese archivo si eres root? O me he colado y no hace falta?
Si que hace falta...

z3us
30/05/14, 03:38:03
Me han respondido en la comunidad tasker de Google + (os compadezco de verdad a los que no uséis esta maravillosa red social).

En la acción Script - ejecutar consola metemos este comando:
getprop persist.sys.language

le metemos una variable de salida, y ahí tenemos el código del idioma del teléfono.

Por lo visto no hace falta root. A mí por lo menos me funciona con el cuadro de root desmarcado. A ver si alguien que tenga un dispositivo no rooteado nos lo puede confirmar

mlesir
30/05/14, 12:51:38
Genial z3us.
Lo que me estoy temiendo es que pase que ese comando no lo tengan disponibles algunos dispositivos.
La comunidad la sabía que existía pero habrá que echarle un vistazo por lo que cuentas y subir al recopilatorio el enlace en direcciones de interes.

mlesir
30/05/14, 19:39:25
Me ha funcionado perfecto. Eso si tengo root.