Comunidad de diseño web y desarrollo en internet online

ayuda con flash y xml (hacer bilingüe un sitio ya diseñado)

Citar            
MensajeEscrito el 18 Jun 2010 12:44 pm
Como estan?
Antes que nada un saludo a todos, mi nombre es Pablo y si bien muchas veces leo los foros, esta vez posteo por lo siguiente:

Tengo un template en Flash AS3 que carga XML (todo por modulos y con deeplinking).

Basicamente tengo la idea de hacerlo bilingüe y quiero saber como puedo hacer para definir 2 rutas diferentes al cargar la ruta de los XML para asi por medio de un boton o bien un combo box poder elegir el idioma.


tengo esto en la carga del xml:

xmlpath = "xml/main.xml";
var urlRequest:URLRequest = new URLRequest (xmlPath);
loadXML (urlRequest);

si pudiera hacer que xmlpath cargue una variable que dependa de la opcion de lenguaje entonces podria optar por "xml/main_sp.xml" o bien "xml/main_en.xml"

corrijanme si mi razonamiento quedo atras con el pascal. (hace bastante que no programo en flash por eso apelo a uds)

desde ya muchas gracias y espero puedan ayudarme

Por Pablo82

4 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Jun 2010 12:55 pm
genera una variable que sea modificable antes de cargar el xml... algo tal que así

en frame anterior o en swf anterior

idioma=0 (este por ejemplo para español, y idioma=1 para inglés)

ahora, antes de cargar el codigo xml tener un selector de idioma (un botón que ponga español y otro que ponga inglés y segun cual se seleccione, que este modifique la variable)....

en el siguiente frame, o si lo del idioma es un swf anterior, pues entonces al cargar el swf del xml

if(_root.idioma==0){
xmlpath = "xml/main_esp.xml";
}
else if (_root.idioma==1){
xmlpath = "xml/main_eng.xml";
}
var urlRequest:URLRequest = new URLRequest (xmlPath);
loadXML (urlRequest);

... vamos, que es una idea.

Por pitger

Claber

201 de clabLevel



Genero:Masculino  

Cáceres

firefox
Citar            
MensajeEscrito el 18 Jun 2010 12:59 pm
ahorrando unas líneas de código y siendo la variable 0/1 podría ser así tb:

xmlpath = "xml/main_"+idioma+".xml"; //esto en el caso de ser un frame despues. El archivo español sería "main_0.xml"

xmlpath = "xml/main_"+_root.idioma+".xml"; //esto en el caso de ser en el swf principal. El archivo español sería "main_1.xml"

y así te quitas los if de en medio.

Por pitger

Claber

201 de clabLevel



Genero:Masculino  

Cáceres

firefox
Citar            
MensajeEscrito el 18 Jun 2010 12:59 pm
ahora lo pruebo y te cuento! desde YA

si bien se que debo haber preguntado una gilada, MILLLL MILLONES DE GRACIAS (increible velocidad)

ahi lo pruebo

Por Pablo82

4 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Jun 2010 01:01 pm

pitger escribió:

ahorrando unas líneas de código y siendo la variable 0/1 podría ser así tb:

xmlpath = "xml/main_"+idioma+".xml"; //esto en el caso de ser un frame despues. El archivo español sería "main_0.xml"

xmlpath = "xml/main_"+_root.idioma+".xml"; //esto en el caso de ser en el swf principal. El archivo español sería "main_1.xml"

y así te quitas los if de en medio.



CORRIJO...

xmlpath = "xml/main_"+idioma+".xml"; //esto en el caso de ser un frame despues. El archivo español sería "main_0.xml", y "main_1.xml" el inglés.

xmlpath = "xml/main_"+_root.idioma+".xml"; //esto en el caso de ser en el swf principal. El archivo español sería "main_0.xml", y "main_1.xml" el inglés.

Por pitger

Claber

201 de clabLevel



Genero:Masculino  

Cáceres

firefox
Citar            
MensajeEscrito el 18 Jun 2010 01:03 pm

Pablo82 escribió:

ahora lo pruebo y te cuento! desde YA

si bien se que debo haber preguntado una gilada, MILLLL MILLONES DE GRACIAS (increible velocidad)

ahi lo pruebo


ojalá alguien me respondiese a mi duda con la misma velocidad....!!!

Por pitger

Claber

201 de clabLevel



Genero:Masculino  

Cáceres

firefox
Citar            
MensajeEscrito el 18 Jun 2010 01:11 pm
deberia meterlo en una funcion (?)

La idea es tener un boton que cambie de esp a eng dependiendo de lo que fue seleccionado

si es "1" y se vuelve a clickear cargue "0" y al revez

pero deberia hacerlo en cuaquier momento ... recargando la web..

perdon pero ando perdido con esto

la lineas que copie arriba son las del primer swf y casi el comienzo de las acciones del 1er frame... el if es claro pero quiza deberia llamar a una funcion que contenga esto... la verdad es que si podes orientarme mas todavia seria de mucha utilidad.

Por Pablo82

4 de clabLevel



 

msie7
Citar            
MensajeEscrito el 19 Jun 2010 09:05 am
No necesariamente tiene que cargarse otra vez la web... yo hace tiempo hice una web (www.alsat.es, por decir un ejemplo de ellas) en la agencia donde trabajaba y si te fijas, en el botón "Menú" hay para cambiar el idioma... cuando haces clic, tan sólo cambia los textos y nada mas, pero claro, hay que saberlo con antelación y evitar así poner en el swf principal y en el primer frame la carga de textos como te ocurre a ti ahora.

Al tema....

En el frame 1 creamos la variable 'idioma' con valor 1 (y que por defecto es español).

Código :

var idioma=1;
var idioma=1;
xmlpath = "xml/main_"+idioma+".xml";//asignamos los textos en español
var urlRequest:URLRequest = new URLRequest (xmlPath);
loadXML (urlRequest);


ya en el 2 frame:

Crea un movie clip con nombre de instancia 'btnMovie' y dentro de él, el botón (nombre de instancia 'mybtn') del idioma y un texto dinámico encima (en una capa superior)con nombre de variable 'txt'

Seleccionamos el movie clip 'btnMovie' y en las acciones del mismo pegamos:

Código :

onClipEvent(enterFrame){
mybtn.onRelease=function(){
   if(_root.idioma==1){
      _root.gotoAndPlay(2);//nos vamos casi al principio de todo
      _root.xmlpath = "xml/main_"+_root.idioma+".xml";//asignamos los textos en español
      var urlRequest:URLRequest = new URLRequest (_root.xmlPath);
      _root.loadXML (urlRequest);
      txt="english";//ponemos el texto english para que el que lo quiera ver en inglés lo vea en ese idioma
      _root.idioma=2;//dejamos la variable lista para que la próxima vez que se dé al botón salte el 2º if
   }

   if(_root.idioma==2){
      _root.gotoAndPlay(2);//nos vamos casi al principio de todo
      _root.xmlpath = "xml/main_"+_root.idioma+".xml";//asignamos los textos en español
      var urlRequest:URLRequest = new URLRequest (_root.xmlPath);
      _root.loadXML (urlRequest);
      txt="español";//ponemos el texto español para que el que lo quiera ver en español lo vea en ese idioma
      _root.idioma=1;//dejamos la variable lista para que la próxima vez que se dé al botón salte el 1º if
   }
}
}


*No lo he probado así que tal vez tenga fallo pero al menos te da una idea de como hacerlo ¿no? ya mas que esto quizá sea hacerlo por ti pero así tampoco aprendes nada.

Por pitger

Claber

201 de clabLevel



Genero:Masculino  

Cáceres

firefox
Citar            
MensajeEscrito el 19 Jun 2010 05:32 pm
una vez mas gracias!

Me estoy dando cuenta que estoy algo oxidado con esto del flash... pero no me vencerá

Estuve probando el codigo que propusiste y si bien me parece perfecto me tira este error:

1087: Syntax error: extra characters found after end of program. onClipEvent(enterFrame){

El tema con el template es que adquiri uno y ahora quiero modificarle estas cosas... es por eso que debo adecuarme a la programacion ya hecha,

en el frame de ACTIONS y dentro de la funcion donde tenia el codigo de carga del xml (el que puse arriba al comienzo) puse el codigo modificado con la variable idioma... dentro de la misma funcion defini la variable

cree el btnMovie y el boton dentro...

lo que si no tengo es el 2do frame, por lo que agregue una capa y ahi mismo puse las acciones del btnMovie

Quiza sea ahi el problema...

Por Pablo82

4 de clabLevel



 

msie8
Citar            
MensajeEscrito el 29 Jun 2010 02:13 pm
no le encuentro la vuelta.. Agradezco si pueden darme mas ayuda

gracias!

Por Pablo82

4 de clabLevel



 

msie8
Citar            
MensajeEscrito el 30 Jun 2010 01:17 am
no te funciona el codigo que te estuvo mostrando por que eso es As2 y tu plantilla esta en As3.

Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

chrome
Citar            
MensajeEscrito el 30 Jun 2010 01:30 pm
aaaa buen dato

Que deberia corregir para pasarlo a As3?

Por Pablo82

4 de clabLevel



 

msie8
Citar            
MensajeEscrito el 28 Jul 2010 02:17 pm
Como estan?
Abro mi duda nuevamente a aquellos que puedan ayudarme

Necesito solucionar el tema y veo que flash ya no es lo que era el 4 :P por lo que estoy dispuesto a entregar el template y que me coticen algunos cambio que necesito hacerle.

Espero alguna respuesta y desde ya, gracias

Por Pablo82

4 de clabLevel



 

msie8
Citar            
MensajeEscrito el 19 Ene 2011 04:24 pm
Saludos y gracias.

Quisera cargar una imagen pero al dar clic en un boton se cambie de idioma sin necesidad de cargar toda la imagen solo quiero q se carge un texto con otro idioma asi como en el ejemplo (www.alsat.es) donde se carga un texto y no se cambia la imagen solo el texto.
Alguien q me ayude con ese dato o donde puedo consegui ese codigo para realizar en un trabajo q estoy realizando.

Gracias por su colaboracion.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8

 

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