游客:
注册
|
登录
|
帮助
网友俱乐部
»
网络编程
»
XML教程
» 巧用XML做多语言界面的FLASH
网友生活网
|
网友学堂
如何获得金币?
诚招斑竹
IP归属地查询 PR查询 收录查询 whois查询
免费超短2级域名,your.jpy.cc
传世私服
|
传奇世界私服
注册亚洲交友中心,找个人来同居吧!
免费存储空间,免费网络硬盘
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: 巧用XML做多语言界面的FLASH
问天
元帅
UID 11493
精华
187
积分 34202
帖子 33353
威望 91
金币 13148
热心 2617
阅读权限 100
注册 2006-4-7
状态
在线
#1
使用道具
发表于 2007-2-20 11:37
资料
个人空间
主页
短消息
加为好友
巧用XML做多语言界面的FLASH
最近有了一点小空,又开始研究起FLASH来了。发现FLASH做应用程序的人很多,但是多语言界面做的人是很少的,就着意看了一下,发现居然很简单。翻了翻手册。捣了出来,不敢独享,还请大家多指点。
我就来确定流程吧。
1.先判断操作系统的语言版本->2.读取相关语言包 ->3.替换显示字串
一、判断系统语言
判断语言有一个内置函数 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
) {
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 就有的功能,我现在才细细看。汗。大家要注意的是FLASH
XML
功能不是很完整的,无法通过节点名来找到值,只能通过索引位来找值,造成了一些麻烦,虽然可以自己写函数来递归,但效率就差了,所以想了一个别致的办法来解决了。
这是这个功能的函数
代码拷贝框
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
.nodeName] = temp
.attributes.value;
}
//一次性替换所有显示字符
text_username.text = LANG_username;
text_password.text = LANG_password;
Button_login.label = LANG_login;
Button_reg.label = LANG_reg;
};
}
最后就是执行了
网友
问天
签名 - 网友社区
请您回个帖。谢谢
PR查询
免费域名
免费空间
[广告]
免费域名(Free Subdomain)
免费空间(Free hosting)
PR查询(Google Pagerank)
投票
交易
悬赏
活动
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
当前时区 GMT+8, 现在时间是 2008-10-13 10:47
信产部ICP备案:
京ICP备05066424号
北京市公安局网监备案:1101050648号
Powered by
Discuz!
5.5.0
TOP
清除 Cookies
-
联系我们
-
网友俱乐部
-
Archiver
-
WAP