加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

ASP巧用Google实现在线翻译功能

发布时间:2023-04-25 13:29:00 所属栏目:Asp教程 来源:
导读:有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换。

lan.htm

<form>

<select name="lan"
有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换。
 
lan.htm
 
<form>
 
<select name="lan">
 
<option value="en|de">英语 翻译成 德语</option>
 
<option value="en|es">英语 翻译成 西班牙语</option>
 
<option value="en|fr">英语 翻译成 法语</option>
 
<option value="en|it">英语 翻译成 意大利语</option>
 
<option value="en|pt">英语 翻译成 葡萄牙语</option>
 
<option value="en|ja">英语 翻译成 日语 BETA</option>
 
<option value="en|ko">英语 翻译成 朝鲜语 BETA</option>
 
<option value="en|zh-CN" >英语 翻译成 中文(简体) BETA</option>
 
<option value="de|en">德语 翻译成 英语</option>
 
<option value="de|fr">德语 翻译成 法语</option>
 
<option value="es|en">西班牙语 翻译成 英语</option>
 
<option value="fr|en">法语 翻译成 英语</option>
 
<option value="fr|de">法语 翻译成 德语</option>
 
<option value="it|en">意大利语 翻译成 英语</option>
 
<option value="pt|en">葡萄牙语 翻译成 英语</option>
 
<option value="ja|en">日语 翻译成 英语 BETA</option>
 
<option value="ko|en">朝鲜语 翻译成 英语 BETA</option>
 
<option value="zh-CN|en">中文(简体) 翻译成 英语 BETA</option>
 
<input style="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>
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 
</head>
 
<body>
 
<%
 
'on error resume next
 
' 如果网速很慢的话,可以调整以下时间。单位秒
 
Server.ScriptTimeout = 999999
 
'========================================================
 
'字符编码函数
 
'========================================================
 
Function BytesToBstr(body,code)
 
dim objstream
 
set objstream = Server.CreateObject("adodb.stream")
 
objstream.Type = 1
 
objstream.Mode =3
 
objstream.Open
 
objstream.Write body
 
objstream.Position = 0
 
objstream.Type = 2
 
objstream.Charset =code
 
BytesToBstr = objstream.ReadText
 
objstream.Close
 
set objstream = nothing
 
End Function
 
'取行字符串在另一字符串中的出现位置
 
Function Newstring(wstr,strng)
 
Newstring=Instr(lcase(wstr),lcase(strng))
 
if Newstring<=0 then Newstring=Len(wstr)
 
End Function
 
'替换字符串函数
 
function ReplaceStr(ori,str1,str2)
 
ReplaceStr=replace(ori,str1,str2)
 
end function
 
'=====================================================
 
function ReadXml(url,code,start,ends)
 
set oSend=createobject("Microsoft.XMLHTTP")
 
SourceCode = oSend.open ("GET",url,false)
 
oSend.send()
 
ReadXml=BytesToBstr(oSend.responseBody,code )
 
if(start="" or ends="") then
 
else
 
start=Newstring(ReadXml,start)
 
ReadXml=mid(ReadXml,start)
 
ends=Newstring(ReadXml,ends)
 
ReadXml=left(ReadXml,ends-1)
 
end if
 
end function
 
dim urlpage,lan
 
urlpage=request("urls")
 
lan=request("lan")
 
%>
 
<form method="post" action="translate.asp">
 
<input type="text" name="urls" size="150" value="<%=urlpage%>">
 
<input type="hidden" name="lan" value="<%=lan%>">
 
<input type="submit" value="submit">
 
</form>
 
<%
 
dim transURL
 
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)
 
end if
 
%>
 
</body>
 
</html>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章