package comp { import flash.display.Sprite; import flash.errors.*; import flash.events.*; import flash.net.URLLoader; import flash.net.URLRequest; public dynamic class LangLoader extends Sprite{ public var langData:String; public function LangLoader(langUsed:String){ var langFile:String = "lang/lang"+langUsed+".xml"; var request:URLRequest = new URLRequest(langFile); var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, completeHandler); try{ loader.load(request); } catch (error:ArgumentError){ trace("An ArgumentError has occurred."); } catch (error:SecurityError){ trace("A SecurityError has occurred."); } } private function completeHandler(event:Event):void{ var dataXML:XML = XML(event.target.data); this.langData = dataXML.toXMLString(); var xml:XML = new XML(langData); //trace(xml); for each (var xmlNode:XML in xml.item) { //create dynamic vars CONSTS lang var t1:String = xmlNode.attribute("lvar"); var t2:String = xmlNode.attribute("lvalue"); this[t1] = t2; //trace("--- " + t1 + " : " + this[t1]); } } } }