|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Cambiar idioma app (no xml)
Hola!
Quiero cambiar el idioma de mi aplicación dependiendo del idioma en que esté el sistema. Yo ya sé cómo hacerlo mediante el 'values-en' o 'layout-fr', el problema está en que tengo un par o tres de clases que tienen un setText, por ejemplo, un progressDialog o un TextView al que se le asigna un texto dependiendo del estado de un EditText. Resumiendo, quiero saber si hay alguna manera de que dependiendo del idioma del sistema, funcione la clase 'Castellano.java' o la clase 'Ingles.java' Gracias y un saludo! Última edición por KrLx_roller Día 20/10/11 a las 19:45:32. |
|
#2
|
||||
|
||||
Mas que con clases para cada idioma, lo que se suele hacer es usar archivos de recursos. Lo más sencillo sería incluir un archivo de texto en el jar, que tuviera las cadenas en el idioma correspondiente. Un archivo para cada idioma. Luego, al arrancar el programa, se detecta el idioma y sencillamente se abre un fichero u otro segun el idioma detectado.
Hacer clases distintas, cada una con su nombre, y cargarlas segun el idioma, es posible... pero un autentico infierno, además de multiplicar tu trabajo por el numero de idiomas soportados. Con ficheros de texto, cuando vayas a agregar mas idiomas, lo tendras muy facil.
__________________
Por respeto a los demas:
Y, en general, trata a todo el mundo como te gusta a ti que te traten. |
#3
|
||||
|
||||
Muchas gracias! Mañana cuando pueda lo intentaré como dices ya que ahora estoy un poco quemado. Entre esto y la otra pregunta del almacenamiento de cookies no se si podre dormir... :
Sent from my LG-P970 using Tapatalk |
#4
|
||||
|
||||
Pues lo primero descansar. Si te pasas toda la noche con el programa, vas a avanzar unas pocas lineas. Si descansas, aunque sea un rato, aumentas la producción a lo bestia. Te lo dice la voz de la experiencia.
De todas formas, busca algo en el Google para tener más información. Lo que yo te cuento es lo normal, y lo más simple. Pero si buscas un poco, seguro que encuentras alguna librería que te da la mayor parte del trabajo hecho. La palabra clave es "internacionalización" ![]()
__________________
Por respeto a los demas:
Y, en general, trata a todo el mundo como te gusta a ti que te traten. |
#5
|
||||
|
||||
Buenas! He estado intentándolo sin éxito... Lo tengo tal que así (creo haber seguido todos los pasos correctamente) y me da FC.
lang.propierties Código:
progress_dialog=Iniciando Sesión wrong_user_or_pass=Usuario y/o contraseña incorrectos Código:
final ProgressDialog pd = ProgressDialog.show(this, null, ResourceBundle.getBundle("lang").getString("progress_dialog"), true, false); new Thread(){ public void run(){ postLoginData(); pd.dismiss(); } }.start(); Código:
result.post(new Runnable(){ public void run() { result.setText(ResourceBundle.getBundle("lang").getString("wrong_user_or_pass")); } }); +App +src +gen +Android 2.2 +Referenced Libraries +assets +res AndroidManifest.xml default.properties lang_es.properties lang.properties Gracias por la información y un saludo! P.D: Malditos FC! ![]() |
#7
|
||||
|
||||
Echale un vistazo a la ayuda:
http://developer.android.com/guide/t...alization.html
__________________
Saludos
![]() -Pedro- http://www.maicas.net/ (desarrollo de software) http://droid.maicas.net/ (solo android) |
![]() |
![]() |
||||||
|