Foros del Web » Programando para Internet » Android »

Cambiar idioma de APP a través de código y no de configuración

Estas en el tema de Cambiar idioma de APP a través de código y no de configuración en el foro de Android en Foros del Web. Lo que pretendo es cambiar cadenas de texto cuando el usuario haga click en un botón, no es exactamente otro idioma, sino otra forma de ...
  #1 (permalink)  
Antiguo 05/01/2016, 13:10
 
Fecha de Ingreso: julio-2011
Mensajes: 74
Antigüedad: 7 años, 1 mes
Puntos: 1
Cambiar idioma de APP a través de código y no de configuración

Lo que pretendo es cambiar cadenas de texto cuando el usuario haga click en un botón, no es exactamente otro idioma, sino otra forma de escribirlo. Algo así:

Si botón está en OFF:

Código:
texto = "hola"
Si el botón está en ON:

Código:
texto = "hey! que pasa?"
para que os hagais una idea...

Si creo diferentes carpetas values con dos idiomas, el de por defecto y por ejemplo values-en, lo podría hacer?
  #2 (permalink)  
Antiguo 07/01/2016, 07:55
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 15 años, 10 meses
Puntos: 16
Respuesta: Cambiar idioma de APP a través de código y no de configuración

No se si entendí bien, pero sería algo como esto?

Código Java:
Ver original
  1. final Button button = new Button(this);
  2. button.setText("Click to change second line of text");
  3.  
  4. OnClickListener buttonListener = new OnClickListener() {
  5.     boolean clicked = false;
  6.  
  7.     @Override
  8.     public void onClick(View v) {
  9.         if (!clicked) {
  10.             clicked = true;
  11.             mTextView.setText("hey! que pasa?");    
  12.         } else {
  13.             clicked = false;
  14.             mTextView.setText("hola");
  15.         }      
  16.     }
  17. };
  18. button.setOnClickListener(buttonListener);

aún que sería más adecuado usar la clase R (R.string.texto) para asignar el texto, pero para efectos de ejemplo creo que vale.

Saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #3 (permalink)  
Antiguo 07/01/2016, 13:38
 
Fecha de Ingreso: julio-2011
Mensajes: 74
Antigüedad: 7 años, 1 mes
Puntos: 1
Respuesta: Cambiar idioma de APP a través de código y no de configuración

Cita:
Iniciado por El_Metallick Ver Mensaje
No se si entendí bien, pero sería algo como esto?

Código Java:
Ver original
  1. final Button button = new Button(this);
  2. button.setText("Click to change second line of text");
  3.  
  4. OnClickListener buttonListener = new OnClickListener() {
  5.     boolean clicked = false;
  6.  
  7.     @Override
  8.     public void onClick(View v) {
  9.         if (!clicked) {
  10.             clicked = true;
  11.             mTextView.setText("hey! que pasa?");    
  12.         } else {
  13.             clicked = false;
  14.             mTextView.setText("hola");
  15.         }      
  16.     }
  17. };
  18. button.setOnClickListener(buttonListener);

aún que sería más adecuado usar la clase R (R.string.texto) para asignar el texto, pero para efectos de ejemplo creo que vale.

Saludos
Gracias por responder. Pero no es exactamente lo que busco. Yo lo que quiero es que se haga de forma automática, es decir, que si creo la carpeta de values-en (ahí meto otro tipo de valor para las mismas variables STRING), pues en el botón simplemente le ponga código que me cambie la carpeta de values, para que lea en values-en.

De esa forma, con el mismo trozo de código, cambio el texto de muchos componentes a la vez. ¿Me explico?

Un saludo.
  #4 (permalink)  
Antiguo 07/01/2016, 20:41
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 15 años, 10 meses
Puntos: 16
Respuesta: Cambiar idioma de APP a través de código y no de configuración

en este hilo de stackoverflow se cambia programáticamente el idioma para usar distintos values.
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!

Etiquetas: app, idioma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:52.