修改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 ();
必须条件:
多语言面板设置为自动检测语言设置