ActionScript - editar Xml desde Flash AS3

 
Vista:

editar Xml desde Flash AS3

Publicado por David (1 intervención) el 03/05/2012 13:42:27
Hola, quiero un menu en Flash y lo quiero poner en 2 idiomas, entonces quiero desde un XML poner los dos idiomas y que el menu carge el idioma que "default = true", entonces quiero borrar ese "default" y ponerlo segun que sitio segun el idioma. un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Crear un menú multilingüe en Flash utilizando un archivo XML

Publicado por Alejandro (369 intervenciones) el 27/06/2023 22:38:19
Para crear un menú en Flash con soporte para múltiples idiomas a partir de un archivo XML que contiene los textos en diferentes idiomas, puedes seguir estos pasos:

1. Crea un archivo XML que contenga los textos del menú en los diferentes idiomas. Aquí tienes un ejemplo de cómo podría ser la estructura:

1
2
3
4
5
6
7
8
9
<menu>
  <item id="inicio" default="true">
    <text es="Inicio" en="Home" />
  </item>
  <item id="acerca" default="false">
    <text es="Acerca de" en="About" />
  </item>
  <!-- Agrega más elementos de menú y sus textos en los diferentes idiomas -->
</menu>

2. En tu archivo FLA de Flash, crea una capa y agrega un componente de texto dinámico para cada elemento del menú. Asigna a cada componente un nombre de instancia único y establece su propiedad "Var" como "textoMenu" seguido del id del elemento. Por ejemplo, el componente de texto para el elemento "inicio" tendría un nombre de instancia "textoMenuInicio" y su propiedad "Var" sería "textoMenu.inicio".

3. En el panel de acciones (ActionScript), agrega el siguiente código para cargar y analizar el archivo XML y establecer los textos del menú:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.xml.XMLDocument;
 
var idiomaActual:String = "es"; // Establece el idioma actual, puedes cambiarlo según tus necesidades
 
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, cargarXML);
xmlLoader.load(new URLRequest("ruta_del_archivo.xml")); // Reemplaza "ruta_del_archivo.xml" con la ruta real de tu archivo XML
 
function cargarXML(event:Event):void {
    var xml:XML = new XML(event.target.data);
    var xmlDocument:XMLDocument = new XMLDocument();
    xmlDocument.ignoreWhite = true;
    xmlDocument.parseXML(xml.toXMLString());
 
    for each (var item:XML in xmlDocument.firstChild.childNodes) {
        var itemId:String = item.@id;
        var itemDefault:Boolean = (item.@default == "true");
 
        if (itemDefault) {
            // Establece el idioma predeterminado del menú
            idiomaActual = obtenerIdiomaActual(); // Función para obtener el idioma actual desde la configuración del sitio
        }
 
        var texto:String = item.child("text").attribute(idiomaActual);
        this["textoMenu" + itemId].text = texto;
    }
}
 
function obtenerIdiomaActual():String {
    // Aquí debes implementar la lógica para obtener el idioma actual desde la configuración del sitio
    // Puede ser a través de cookies, variables de sesión, selección del usuario, etc.
    // Devuelve el código de idioma actual, como "es", "en", etc.
    return "es"; // Cambia esto según tu implementación real
}

Asegúrate de reemplazar "ruta_del_archivo.xml" con la ruta real de tu archivo XML y de adaptar la función `obtenerIdiomaActual()` para obtener el idioma actual desde la configuración de tu sitio.

Con este código, al cargar el archivo XML, se analizará y se establecerán los textos del menú según el idioma actual. El idioma predeterminado se establecerá según el atributo "default" en el archivo XML. Puedes cambiar el idioma actual según las necesidades de tu sitio.

Recuerda que este es solo un ejemplo básico para mostrar el enfoque general. Puedes personalizarlo y adaptarlo según tus necesidades específicas.

¡Espero que esta solución te ayude a crear un menú multilingüe en Flash utilizando un archivo XML! ¡Buena suerte con tu proyecto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar