巧用XML做多语言界面的FLASH

huiqi254254

huiqi254254

2016-02-19 14:53

下面是个巧用XML做多语言界面的FLASH教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

最近有了一点小空,又开始研究起FLASH来了。发现FLASH做应用程序的人很多,但是多语言界面做的人是很少的,就着意看了一下,发现居然很简单。翻了翻手册。捣了出来,不敢独享,还请大家多指点。

我就来确定流程吧。

1.先判断操作系统的语言版本->2.读取相关语言包 ->3.替换显示字串

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

一、判断系统语言
判断语言有一个内置函数 System.capabilities.language,这个比较简单的,但你不可能每个语言都有,所以要建立一个已经有的语言包的数组,一一比较,如果没有,就选用默认的语言包了。
这是这个功能的函数

代码拷贝框
function getLANG() {
//已经拥有的语言列表
var LANG_list = ["zh-CN", "en"];
//先用系统函数取语言代码
var LANG = System.capabilities.language;
//是否已经拥有相关语言包,若无,就用英文
for (var i = 0, find = false; iif (LANG == LANG_list[i]) {
find = true;
break;
}
}
LANG = find ? LANG : en;
return (LANG);
}

二、读取语言包,并一次性替换
这里我使用的是XML文件,这样就不用一次载入所有语言包了。语言包结构如下,注意是UTF-8编码的,注意这里的技巧是文件名得是语言名,比如中文就得是 zh-CN.xml ,英文就得是 en.xml。

代码拷贝框
<?xml version="1.0" encoding="UTF-8"?>
<LANG>
<LANG_username value = "用户名" />
<LANG_password value = "密 码" />
<LANG_login value = "登 陆" />
<LANG_reg value = "注 册" />
<LANG_change value = "en" />
</LANG>

XML文件,还非常容易修改的特点,2000年 flash5 就有的功能,我现在才细细看。汗。大家要注意的是FLASHXML功能不是很完整的,无法通过节点名来找到值,只能通过索引位来找值,造成了一些麻烦,虽然可以自己写函数来递归,但效率就差了,所以想了一个别致的办法来解决了。
这是这个功能的函数

代码拷贝框
function loadLANG(arg) {
//建立XML对象
var LANG_XML = new XML();
LANG_XML.ignoreWhite = true;
//读入XML文件,LANG_path 是自己定义的语言包路径,方便修改
LANG_XML.load(LANG_path+arg+".xml");
//载入后操作以下功能
LANG_XML.onLoad = function(bool) {
//取得XML第一个节点的子节点集数组
var temp = LANG_XML.firstChild.childNodes;
//把值一个一个赋给语言变量
for (var i = 0, find = false; i_root[temp[i].nodeName] = temp[i].attributes.value;
}
//一次性替换所有显示字符
text_username.text = LANG_username;
text_password.text = LANG_password;
Button_login.label = LANG_login;
Button_reg.label = LANG_reg;
};
}

最后就是执行了,利用第二个功能,还可以随时更新界面,大家请看下面的例子,并下载源文件。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

展开更多 50%)
分享

猜你喜欢

巧用XML做多语言界面的FLASH

Web开发
巧用XML做多语言界面的FLASH

ASP程序界面的多语言支持

ASP
ASP程序界面的多语言支持

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在ASP.Net 2.0中实现多语言界面的方法

Web开发
在ASP.Net 2.0中实现多语言界面的方法

新设想——VC开发多语言界面支持的新招

编程语言 网络编程
新设想——VC开发多语言界面支持的新招

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

VC开发多语言界面支持的简单方法

编程语言 网络编程
VC开发多语言界面支持的简单方法

ASP实现多语言支持

ASP
ASP实现多语言支持

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

XML文档搜索使用小结

XML文档搜索使用小结

电脑频繁死机在进行CMOS设置时也会出现死机现象

电脑频繁死机在进行CMOS设置时也会出现死机现象
下拉加载更多内容 ↓