修改Flash的Locale类,以实现多语言自由切换。

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

修改Localt.as的2个函数:

// call this after all the xml paths have been added

static function initialize():Void {

xmlDoc = new XML();

xmlDoc.ignoreWhite = true;

xmlDoc.onLoad = function(success:Boolean) {

onXMLLoad(success); // parse the XML

callback.call(null, success);

}

/*var langCode:String = xmlLang;

if(xmlMap[xmlLang] == undefined) {

langCode = defaultLang;

}*/

var langCode:String = defaultLang;

if(xmlMap[langCode] == undefined) {

langCode = xmlLang;

if (xmlMap[langCode] == undefined)

return;

}

currentXMLMapIndex = 0;

xmlDoc.load(xmlMap[langCode][0]);

}

/******************************************

* private methods

******************************************/

private static function onXMLLoad(success:Boolean) {

if(success == true) {

// reset the string map

delete stringMap;

stringMap = new Object();

parseStringsXML(xmlDoc);

assignDelayedInstances();

}

else {

/*var langCode:String = xmlLang;

if(xmlMap[xmlLang] == undefined) {

langCode = defaultLang;

}*/

var langCode:String = defaultLang;

if(xmlMap[langCode] == undefined) {

langCode = xmlLang;

if (xmlMap[langCode] == undefined)

return;

}

currentXMLMapIndex++;

var currentXMLMapCount = xmlMap[langCode].length;

if (currentXMLMapCount != undefined && currentXMLMapCount > currentXMLMapIndex)

xmlDoc.load(xmlMap[langCode][currentXMLMapIndex]);

}

}

调用方式:

mx.lang.Locale.setDefaultLang (”zh-CN”);

mx.lang.Locale.initialize ();

必须条件:

多语言面板设置为自动检测语言设置

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航