Foros del Web » Creando para Internet » Flash y Actionscript »

Multilenguaje en XML

Estas en el tema de Multilenguaje en XML en el foro de Flash y Actionscript en Foros del Web. Saludos, Tengo un script para la carga de multilenguaje que pongo a continuación: Código: on (release) { doc = new XML(); doc.ignoreWhite = true; doc.load("idioma_espanol.xml"); ...
  #1 (permalink)  
Antiguo 28/09/2005, 05:28
Avatar de Eztopa  
Fecha de Ingreso: diciembre-2002
Ubicación: En todas partes
Mensajes: 135
Antigüedad: 21 años, 11 meses
Puntos: 0
Multilenguaje en XML

Saludos,
Tengo un script para la carga de multilenguaje que pongo a continuación:

Código:
on (release) {
doc = new XML();
doc.ignoreWhite = true;
doc.load("idioma_espanol.xml");
function myOnLoad() {
_root.inicio.btn_inicio.text = doc.firstChild.childNodes[0].firstChild;
_root.empresa.btn_empresa.text = doc.firstChild.childNodes[1].firstChild;
_root.servicios.btn_servicios.text = doc.firstChild.childNodes[2].firstChild;
_root.contactar.btn_contactar.text = doc.firstChild.childNodes[3].firstChild;
_root.tiempo.btn_eltiempo.text = doc.firstChild.childNodes[4].firstChild;
_root.cargavideo.cabecera1.text = doc.firstChild.childNodes[5].firstChild;
_root.cargavideo.cabecera2.text = doc.firstChild.childNodes[5].firstChild;
_root.cargavideo.cabecera3.text = doc.firstChild.childNodes[6].firstChild;
_root.cargavideo.cabecera4.text = doc.firstChild.childNodes[6].firstChild;
_root.cargacontenido.btn_agricultura.tagricultura.text = doc.firstChild.childNodes[7].firstChild;
}
doc.onLoad = myOnLoad;
}
Este código lo pongo en cada uno de los botones que carga el lenguaje, evidentemente en los otros idiomas carga un archivo xml diferente.

El problema que tengo es que cuando carga el contenido del archivo xml en los campos dinamicos, cuando cargo cualquier otra sección de la web con un loadmovie, el idioma vuelve a ser el predefinido.

¿Como podría guardar el idioma elegido en una variable para que cuando carge el idioma esté se quede en la memoria hasta que el usuario decida cambiar de idioma?
__________________
Cool BOTIJO POWER!!!
Diseño Web
http://www.coolbotijo.net/coolbotijo1.gif
  #2 (permalink)  
Antiguo 28/09/2005, 11:37
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 10 meses
Puntos: 11
mmmm.. buena pregunta.... yo tb esstoy en eso.. pero creo que mejor seria usar carpetas diferentes.. es decir llamar a

español/menu.xml
ingles/menu.xml
mote/menu.xml
etc...


DE ese modo no te complicas la vida...

o bien puedes hacer una web en español y cargar los datos.. al terminar todo saca copia de tu carpeta principal....

Por ejemplo

Termine mi web en español.. la carpetra donde esta mi web se llama Peruweb_español
bueno saco una copia y le pongo este nombre peruweb_ingles

Luego todos los archivos XML los cambias de idioma...

listo... asi puedes hacerlo.... se me ocurrio esta idea porque vi que asi trabaja PHPNUKE, y otras Webs multimidiomas

crea un index.html y en ella pon el logo o lo que deses y que el usuario elija el idioma... y de ahi o redireccionas a peruweb_ingles o peruweb_espanol o peruweb_huevadas , etc...

Espero que te sirva... pero si hay otra alternativa seria bueno que lo mensionen...
  #3 (permalink)  
Antiguo 28/09/2005, 11:45
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 10 meses
Puntos: 11
Hola nuevamnete... vi tu pagan web .. tienes buenos diseños.. en que haces tus graficos y obtimizas imagenes? que programa usas para diseño grafico y para diseño web?

Gracias por tu respuesta...
  #4 (permalink)  
Antiguo 28/09/2005, 17:15
Avatar de Eztopa  
Fecha de Ingreso: diciembre-2002
Ubicación: En todas partes
Mensajes: 135
Antigüedad: 21 años, 11 meses
Puntos: 0
Gracias por responder richardinj sin embargo yo no queria replicar la web en inglés, intento cambiar el idioma de la web dinamicamente con xml, si alguien sabe responder a mi pregunta le estaría muy agradecido.

Muchas gracias por lo de los diseños, uso flash y dreamweaver.

Un saludo.
__________________
Cool BOTIJO POWER!!!
Diseño Web
http://www.coolbotijo.net/coolbotijo1.gif
  #5 (permalink)  
Antiguo 28/09/2005, 18:01
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 10 meses
Puntos: 11
Mira.. me refiero a duplicar las carpetas.. pero en cada carpeta cambiar el contenido del XML(traducir a otro idioma) para ello tus SWF deben cargar todos los textos...

Por ejemplo...

Tengo pelicula.SWF

y este me carga un mensaje desde un XML(contenido.xml) que dice HOLA

listo .. ahora en otra carpeta pongo el mismo SWF pero en el XML cambio HOLA por HELLO.. entonces me mostraria HELLO...

La estructura seria algo así:

wwwroot
---index.html
---web_es
-------pelicula.swf
-------contenido.xml
---web_en
-------pelicula.swf
-------contenido.xml // pero los valores cambiados a otro idioma
etc
etc
etc

En index elije el idioma y se va a la carpeta específica.

Haber si me deje entender... o estoy dando vueltas?

Un SWF, varios idiomas..

Creo que ahi esta una idea... un camino mas corto.. si quieres pasar variables.. es mas complicado...
  #6 (permalink)  
Antiguo 28/09/2005, 19:45
Avatar de Eztopa  
Fecha de Ingreso: diciembre-2002
Ubicación: En todas partes
Mensajes: 135
Antigüedad: 21 años, 11 meses
Puntos: 0
Es que precisamente me referia a pasar variables en tiempo real, usando variables para cambiar dinamicamente los textos.

Gracias
__________________
Cool BOTIJO POWER!!!
Diseño Web
http://www.coolbotijo.net/coolbotijo1.gif
  #7 (permalink)  
Antiguo 29/09/2005, 09:00
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 10 meses
Puntos: 11
declaralo como _global
  #8 (permalink)  
Antiguo 29/09/2005, 16:44
Avatar de Eztopa  
Fecha de Ingreso: diciembre-2002
Ubicación: En todas partes
Mensajes: 135
Antigüedad: 21 años, 11 meses
Puntos: 0
Pero como se declara como _global??

Podrias poner algún ejemplo??

Un saludo
__________________
Cool BOTIJO POWER!!!
Diseño Web
http://www.coolbotijo.net/coolbotijo1.gif
  #9 (permalink)  
Antiguo 30/09/2005, 09:13
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 10 meses
Puntos: 11
haber con esto...

Desde Flash se puede definir las variables globales anteponiendoles el comando "_global". ¿Eso en que ayuda? pues que con aseguramos que la variable pueda ser accesible desde cualquier lado de nuestra película, sea desde dentro de un movie clip como desde un swf leìdo externamente.

Ejemplo:

Código:
_global.nombre = "Flash";
En el ejemplo siguiente se crea una función factorial() de nivel superior, disponible en cada línea de tiempo y ámbito de un archivo SWF:

Código:
_global.factorial = function (n) {
  if (n <= 1) {
    return 1;
  } else {
    return n * factorial(n-1);
  }
Es decir.. cuando lo declaras como variable.. sirve para todos los niveles y todo el SWF en sí...

Para tu caso.. si da click en el idioma, cambia la variable global.. y carga los respectivos XML...

si deseas puedes hacer asi

lenguaje por defecto... _global.idioma="_ES";

si da click en Ingles pues se cambia a _global.idioma="_EN";

y al cargar tus archivos XML.. quedaria algo asi...

load("idioma"+_global.idioma+".xml")//=idioma_ES.xml

y asi para todos los XML... idioma_ES.xml, idioma_EN.xml, idioma_PE.xml, etc...

Suerte....


NOTA: // si no deseas un lenguaje por defecto y quieres que primero elija en idioma en el index. y que luego se muestre el SWF en otra web, pues solamente usa esto en tu codigo el la otra web...(pasar variables a un SWF)

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="778" height="120">

<param name="movie" value="pelicula.swf?lenguaje=_ES "
<param name="quality" value="high"><param name="SCALE" value="exactfit">

<embed src="swf/barner.swf" width="778" height="120" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" scale="exactfit"></embed>
</object>

Y en el primer fotograma pones

Código HTML:
_global.idioma=lenguaje
por ahi va la idea...

Suerte...
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 16:08.