|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;偶然候想为我们的网页供应多言语撑持,假如一种言语用一张网页来做其实太贫苦了,幸亏Google供应了言语工具功效,上面先容怎样使用它来完成网页多种言语之间的转换。
lan.htm
以下为援用的内容:
<form>
<selectname="lan">
<optionvalue="en|de">英语翻译成德语</option>
<optionvalue="en|es">英语翻译成西班牙语</option>
<optionvalue="en|fr">英语翻译成法语</option>
<optionvalue="en|it">英语翻译成意年夜利语</option>
<optionvalue="en|pt">英语翻译成葡萄牙语</option>
<optionvalue="en|ja">英语翻译成日语BETA</option>
<optionvalue="en|ko">英语翻译成朝鲜语BETA</option>
<optionvalue="en|zh-CN">英语翻译成中文(简体)BETA</option>
<optionvalue="de|en">德语翻译成英语</option>
<optionvalue="de|fr">德语翻译成法语</option>
<optionvalue="es|en">西班牙语翻译成英语</option>
<optionvalue="fr|en">法语翻译成英语</option>
<optionvalue="fr|de">法语翻译成德语</option>
<optionvalue="it|en">意年夜利语翻译成英语</option>
<optionvalue="pt|en">葡萄牙语翻译成英语</option>
<optionvalue="ja|en">日语翻译成英语BETA</option>
<optionvalue="ko|en">朝鲜语翻译成英语BETA</option>
<optionvalue="zh-CN|en">中文(简体)翻译成英语BETA</option>
<inputstyle="FONT-SIZE:12px"type="button"value="Go->"name="Button1"onClick="javascript:window.open(translate.asp?urls=+document.location+&lan=+lan.value,_self,)">
</select>
</form>
lan.htm中的内容用来选择要翻译的言语包含本来的言语和要翻译成的言语。我们只必要将lan.htm中的内容拷到供应多言语翻译的页面中就能够了。
translate.asp
以下为援用的内容:
<html>
<head>
<title>在线翻译</title>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
</head>
<body>
<%
onerrorresumenext
假如网速很慢的话,能够调剂以下工夫。单元秒
Server.ScriptTimeout=999999
========================================================
字符编码函数
========================================================
FunctionBytesToBstr(body,code)
dimobjstream
setobjstream=Server.CreateObject("adodb.stream")
objstream.Type=1
objstream.Mode=3
objstream.Open
objstream.Writebody
objstream.Position=0
objstream.Type=2
objstream.Charset=code
BytesToBstr=objstream.ReadText
objstream.Close
setobjstream=nothing
EndFunction
取行字符串在另外一字符串中的呈现地位
FunctionNewstring(wstr,strng)
Newstring=Instr(lcase(wstr),lcase(strng))
ifNewstring<=0thenNewstring=Len(wstr)
EndFunction
交换字符串函数
functionReplaceStr(ori,str1,str2)
ReplaceStr=replace(ori,str1,str2)
endfunction
=====================================================
functionReadXml(url,code,start,ends)
setoSend=createobject("Microsoft.XMLHTTP")
SourceCode=oSend.open("GET",url,false)
oSend.send()
ReadXml=BytesToBstr(oSend.responseBody,code)
if(start=""orends="")then
else
start=Newstring(ReadXml,start)
ReadXml=mid(ReadXml,start)
ends=Newstring(ReadXml,ends)
ReadXml=left(ReadXml,ends-1)
endif
endfunction
dimurlpage,lan
urlpage=request("urls")
lan=request("lan")
%>
<formmethod="post"action="translate.asp">
<inputtype="text"name="urls"size="150"value="<%=urlpage%>">
<inputtype="hidden"name="lan"value="<%=lan%>">
<inputtype="submit"value="submit">
</form>
<%
dimtransURL
transURL="http://216.239.39.104/translate_c?hl=zh-CN&ie=UTF-8&oe=UTF-8&langpair="&server.URLEncode(lan)&"&u="&urlpage&"&prev=/language_tools"
if(len(urlpage)>3)then
getcont=ReadXml(transURL,"gb2312","","")
response.Write(getcont)
endif
%>
</body>
</html>
translate.asp完成翻译功效,这是使用google的言语工具完成的。
注重,由于供应多言语撑持,以是translate.asp文件所用的编码是撑持一切字符的"utf-8"
大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧 |
|