企业网管论坛
|
网吧网管论坛
|
网管软件下载
|
网管教程
|
网管招聘
|
网管培训
|
网吧游戏
|
网吧系统
|
服务器
|
安全
|
病毒
|
路由交换
|
数据库
|
Windows
|
Linux
游客:
注册
|
登录
|
新手必看
|
网管知识库
|
网管博客
|
搜索
|
帮助
我是网管首页
»
我是网管论坛
»
【 网站建设 】
» 留着自用的代码
新手帮助
|
版主申请
|
BST制度
|
MST制度
到底要不要升级到Windows Server 2008?
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题:
[网络编程]
留着自用的代码 (查看:430 回复:0)
┄┅★麦芽糖℃
中级网管
UID 738298
精华 0
积分 371
帖子
820
MST币
4234 点
BST币
371 点
赚取
阅读权限 100
注册 2008-6-1
状态 离线
#1
大
中
小
[
使用道具
]
发表于 2008-6-8 13:24 [
资料
] [
博客
] [
短消息
] [
加为好友
]
爱琴思邮件系统iGENUS V5.0
留着自用的代码
本帖发表在
我是网管
论坛,帖子地址:
http://bbs.54master.com/254711,1,1
使用Javascript实现简单的Map
公司的一个项目中,要求使用静态页面实现多国语言,项目已经做完,现总结一下。 只能在微软的操作系统上使用,因为读取xml资源时使用了“微软XML分析程序 Microsoft XML Core
Services(MSXML)”,关于它的介绍可以从网上获得很多信息。
index.html 是首页面,可以选择语言。
main_i18n.html 是利用静态网页实现多国语言的一个例子。
只要为控件指定了i18n的tag,就可以实现控件的多国语言显示。
具体操作在i18n.js中。其中有部分注解。应该可以看的明白。
文档结果如下:
/*根目录*/
├ index.html /*首页面*/
├ main_i18n.html /*主页面*/
├ i18n /*资源文件*/
│ └ xml
│ ├eData_EN.xml /*英文*/
│ ├eData_SC.xml /*简体中文*/
│ └eData_TC.xml /*繁体中文*/
│
└ jsfile /*脚本语言*/
└i18n.js /*多国语言处理*/
1、index.html
<
html
>
<
head
>
<
title
>
测试主页面
</
title
>
</
head
>
<
body
>
<
form
name
='lanForm'
action
="main_i18n.html"
method
="get"
target
="_blank"
>
<
table
border
="0"
>
<
tr
align
="left"
>
<
td
>
语言:
</
td
>
<
td
>
<
SELECT
NAME
="language"
>
<
option
value
="EN"
>
英文
</
option
>
<
option
value
="SC"
>
中文(简体)
</
option
>
<
option
value
="TC"
>
中文(繁体)
</
option
>
</
SELECT
>
</
td
>
<
td
>
<
input
type
="submit"
value
="测试主页面"
/>
</
td
>
</
tr
>
</
table
>
</
form
>
</
body
>
</
html
>
2、main_i18n.html
<
html
>
<
head
>
<
script
src
="./jsfile/i18n.js"
type
="text/javascript"
></
script
>
</
head
>
<
body
onload
="deali18n();"
>
<
h3
>
i18n Test
</
h3
>
<
form
name
='mainForm'
>
<
table
border
="0"
"
>
<
tr
>
<
td
>
button.text :
</
td
>
<
td
><
input
type
="text"
size
="40"
i18n
="COMMON/A"
/></
td
>
</
tr
>
<
tr
>
<
td
>
input.button :
</
td
>
<
td
><
input
style
="width:230px;"
type
="button"
i18n
="COMMON/B"
/></
td
>
</
tr
>
<
tr
>
<
td
>
button :
</
td
>
<
td
><
button
style
="width:240px;"
i18n
="COMMON/C"
name
="c1"
></
button
></
td
>
</
tr
>
<
tr
>
<
td
>
TEXTAREA :
</
td
>
<
td
><
TEXTAREA
i18n
="COMMON/D"
NAME
="d1"
ROWS
="2"
COLS
="40"
></
TEXTAREA
></
td
>
</
tr
>
<
tr
>
<
td
>
SELECT :
</
td
>
<
td
>
<
SELECT
id
="selectTxt"
NAME
="selectTxt"
style
="width:230px;"
>
<
option
id
="id1"
i18n
="COMMON/A"
value
="A"
></
option
>
<
option
id
="id2"
i18n
="COMMON/B"
value
="B"
></
option
>
<
option
id
="id3"
i18n
="COMMON/C"
value
="C"
></
option
>
<
option
id
="id4"
i18n
="COMMON/D"
value
="D"
></
option
>
<
option
id
="id5"
i18n
="COMMON/E"
value
="E"
></
option
>
</
SELECT
>
</
td
>
</
tr
>
<
tr
>
<
td
>
input.checkbox.Label :
</
td
>
<
td
><
input
type
="checkbox"
value
="a"
/><
label
i18n
="COMMON/F"
/></
td
>
</
tr
>
<
tr
>
<
td
>
input.radio.Label :
</
td
>
<
td
><
input
type
="radio"
value
="b"
/><
label
i18n
="COMMON/G"
/></
td
>
</
tr
>
<
tr
>
<
td
>
label
</
td
>
<
td
><
label
i18n
="COMMON/H"
></
label
></
td
>
</
tr
>
<
tr
>
<
td
>
SPAN
</
td
>
<
td
><
SPAN
i18n
="COMMON/I"
></
SPAN
></
td
>
</
tr
>
<
tr
>
<
td
>
HREF
</
td
>
<
td
><
A
HREF
="http://www.csdn.net"
target
="_blank"
i18n
="COMMON/LINK"
></
A
></
td
>
</
tr
>
<
tr
>
<
td
>
DIV :
</
td
>
<
td
>
<
div
i18n
='COMMON/K'
/>
</
td
>
</
tr
>
<
tr
>
<
td
>
DIV not in i18n:
</
td
>
<
td
>
<
div
i18n
="divTestI18nNull"
>
divTest
</
div
>
</
td
>
</
tr
>
<
tr
>
<
td
>
DIV havn't i18n:
</
td
>
<
td
>
<
div
>
divTest
</
div
>
</
td
>
</
tr
>
</
table
>
</
form
>
</
body
>
</
html
>
3、i18n.js
function
deali18n()
...
{
//
获取url传入的language参数的value
var
lanValue
=
getParastr(
"
language
"
,
"
EN
"
);
//
默认为英文
//
将页面做i18n处理(根据传入的语言代码)
getI18nContent(lanValue);
}
//
获取program参数,用户请求页面时传入语言代码,def_lan为默认值
function
getParastr(str_name , def_lan)
...
{
var
hrefstr,pos,parastr,para,tempstr;
hrefstr
=
window.location.href;
pos
=
hrefstr.indexOf(
"
?
"
)
parastr
=
hrefstr.substring(pos
+
1
);
para
=
parastr.split(
"
&
"
);
tempstr
=
""
;
for
(i
=
0
;i
<
para.length;i
++
)
...
{
tempstr
=
para
;
pos
=
tempstr.indexOf(
"
=
"
);
if
(tempstr.substring(
0
,pos)
==
str_name)
...
{
return
tempstr.substring(pos
+
1
);
}
}
return
def_lan;
//
如果没有得到则传回默认值
}
function
getI18nContent(lan)
...
{
initDoc(lan);
for
(
var
i
=
0
; i
<
document.mainForm.all.length; i
++
)
...
{
var
e
=
document.mainForm.elements
;
if
(e)
...
{