Comunidad de diseño web y desarrollo en internet online

Cambiar idioma con xml y as2

Citar            
MensajeEscrito el 03 Abr 2010 07:39 pm
Hola a todos.

Es la primera vez que posteo un tema en el foro, pero aclaro que Cristalab ha sido mi método de consulta desde hace unos 6 años que comencé con Flash.
En esta ocasión tengo un problema con un proyecto que estoy realizando. Resulta que ando montando un multimedia el cual debe cambiar de idioma de Inglés a Español y de Español a Inglés. Luego de consultar bastante y sin ser experto en AS2 decidí montarlo de la siguiente forma:

1. Cree dos archivos XML llamados english.xml y spanish.xml organizados por sus respectivos nodos.

En Inglés:

Código XML :

<?xml version="1.0" encoding="utf-8"?>
<content>
<!-- Titulo del Multimedia(0) -->
      <campos>
            <title_txt>PROFESSIONAL INTERNSHIP DEPARTMENT</title_txt>
      </campos>
</content>



En Español:

Código XML :

<?xml version="1.0" encoding="utf-8"?>
<content>
<!-- Titulo del Multimedia(0) -->
      <campos>
            <title_txt>DEPARTAMENTO DE PRÁCTICAS PROFESIONALES</title_txt>
      </campos>
</content>



2. En el primer frame de flash, llamo el idioma por defecto que en este caso es Español.

Código ActionScript :

content = new XML();
content.ignoreWhite = true;
content.load("xml/spanish.xml");

function languageOnLoad() {

title_txt.text = content.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;
}
content.onLoad = languageOnLoad;
stop();


3. Tengo dos botones que me ejecutarán las acciones de cambio de idioma.
Carga el idioma Inglés:

Código ActionScript :

on (release) {
   content = new XML();
   content.ignoreWhite = true;
   content.load("xml/english.xml");
   
   function languageOnLoad() {
   
   title_txt.text = content.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;
        }
   content.onLoad = languageOnLoad;
   stop();
}


Carga el idioma Español:

Código ActionScript :

on (release) {
   content = new XML();
   content.ignoreWhite = true;
   content.load("xml/spanish.xml");
   
   function languageOnLoad() {
   
   title_txt.text = content.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;
        }
   content.onLoad = languageOnLoad;
   stop();
}


Hasta ahí todo funciona a las mil maravillas, el problema comienza cuando cambio a inglés y voy a otra sección del multimedia. Cuando regreso al home, me regresa a español inmediatamente. Es claro pues en el primer frame del stage tengo el código por defecto que llama al xml en español.

Mi pregunta es ¿Cómo puedo hacer para que no me cambie el idioma cuando regreso al home del multimedia?, ¿Cómo podría hacer para que según el idioma en el que me encuentre me llame el otro xml del idioma?

Agradezco si alguien me puede ayudar.

Por ojoel19

1 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 03 Abr 2010 09:00 pm
crea una variable tipo "idiomaAct"
cuando hagas el onRelease cambia el valor a el idioma
cuando entres a una seccion, pon un validador, si ya existe un idioma, ponlo, sino usa el estandar, algo asi:

Código ActionScript :

if(idiomaAct)
content.load("xml/"+idiomaAct+".xml");
else
content.load("xml/spanish.xml");

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 03 Abr 2010 09:03 pm
Gracias tribak, voy a ensayar lo que me dices y te cuento los resultados.

Por ojoel19

1 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 03 Abr 2010 09:12 pm
Pregunta tribak. Cómo debo crear esta variable. Te aclaro que no soy muy ducho en AS2, así que tengo muy claro como debo crear esta variable.

Por ojoel19

1 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 03 Abr 2010 09:36 pm
al principio

Código ActionScript :

var idiomaAct:String;


de momento está vacia, por lo que al hacer una validacion

Código ActionScript :

if(idiomaAct){
trace("El Idioma está definido")
}
else{
trace("El Idioma no está definido")
}


deberia devolverte el error de que no está definido

pero despues de indicarle un valor asi

Código ActionScript :

idiomaAct = "español";


y volver a hacer la prueba deberia indicarte que ya está definido

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.