Comunidad de diseño web y desarrollo en internet online

Cambiar un texto dinamico XML

Citar            
MensajeEscrito el 10 Sep 2010 07:15 pm
Hola, estoy haciendo una web, con dos idiomas y xml

En la presentación del inicio hay dos banderas, una española y una catalana. Que modifican la variable idioma y le dan el valor es o ca en cada caso.
También me cargan los archivos de contenido en su idioma.

Código ActionScript :

_global.idioma=""
bande.onRelease = function() {
   gotoAndStop(2);
   _global.idioma="es"
   es_menu.load("es_menu.xml");
   es_servicios.load("es_contenido.xml");
};
bandc.onRelease = function() {
   gotoAndStop(2);
   _global.idioma="ca"
   ca_menu.load("ca_menu.xml");
   ca_servicios.load("ca_contenido.xml");
};

Luego en el centro tengo un cuadrado que se llama txt_servicios que dependiendo de la banderita tiene que mostrar un idioma u otro. Este es el código

Código ActionScript :

var es_servicios:XML = new XML();
es_servicios.ignoreWhite = true;
es_servicios.onLoad = function() {
   tit_servicios.text = es_servicios.firstChild.childNodes[0].firstChild.nodeValue;
   txt_servicios.text = es_servicios.firstChild.childNodes[1].firstChild.nodeValue;
};
var ca_servicios:XML = new XML();
ca_servicios.ignoreWhite = true;
ca_servicios.onLoad = function() {
   tit_servicios.text = ca_servicios.firstChild.childNodes[0].firstChild.nodeValue;
   txt_servicios.text = ca_servicios.firstChild.childNodes[1].firstChild.nodeValue;
};

Me funciona perfectamente si abro y cierro la película para cambiar de idioma.
El problema es que cuando empiezo en castellano, el texto se queda en castellano aunque se pulse la bandera catalana (en el fotograma n1). Si entro por primera vez en catalan y vuelvo al fotograma n1 y pulso en la bandera de españa, el texto sigue quedando en catalan

¿podeis ayudarme?

Muchisimas gracias

Por mysker

7 de clabLevel



 

chrome
Citar            
MensajeEscrito el 10 Sep 2010 10:53 pm
Lo estás probando desde un navegador o directamente desde flash?? porque si es el primer caso con toda seguridad es que la caché del navegador siempre utiliza el mismo objeto XML con lo que tenga adentro.

Yo siempre utilizo una técnica que te podría ser muy útil: el objeto XML lo igualo a un arreglo o vector y luego de utilizar los datos (por ejemplo para tit_servicios.text) limpio el vector y de esta manera poder utilizarlo cuando un nuevo XML sea cargado.

Me cuenta!

Por Giotto

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Sep 2010 08:13 am
buena idea, lo probaré ^^

gracias!

Por mysker

7 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Sep 2010 07:15 pm
Muchas gacias chicos. Al final he creado varios archivos xml y cargo todo el archivo xml en el cuadro de texto.

Queda más o menos así y va genial

Código ActionScript :

_global.idioma = "es";
bande.onRelease = function() {
   gotoAndStop(2);
   _global.idioma = "es";
   es_servicios.load("es_servicios.xml");
};

var es_servicios:XML = new XML();
var contenido:TextField.StyleSheet = new TextField.StyleSheet();
es_servicios.ignoreWhite = true;
es_servicios.onLoad = function() {
   txt_servicios = es_servicios;
};


Ahora tengo otro problema :P
Quiero darle formato al texto dinámico. He visto que se puede hacer con hojas de estilos.
Lo he hecho de esta manera y no me funciona ¿que estoy haciendo mal?

Código ActionScript :

contenido.load("servicios.css");
bande.onRelease = function() {
   gotoAndStop(2);
   _global.idioma = "es";
   es_servicios.load("es_servicios.xml");
};
var es_servicios:XML = new XML();
var contenido:TextField.StyleSheet = new TextField.StyleSheet();
es_servicios.ignoreWhite = true;
es_servicios.onLoad = function() {
   txt_servicios.styleSheet = contenido;
   txt_servicios = es_servicios;
};


Muchas gracias chicos

Por mysker

7 de clabLevel



 

chrome

 

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