当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP实现在线文章翻译的功能

ASP
ASP里面令人震撼地Debug类(VBScript)
提供个 全免杀海洋2006asp木马 下载
VBS加密免杀器 下载
asp页面下的乱码问题终于解决了
一款不错的asp木马 黑色界面
七步倒┈→专用asp后门
ASP对网页进行保护的简单代码 ip
asp遍历站点所有文件夹的代码
用js实现QQ在线查询功能
非常不错的ASP+Access数据库的终极安全大法18则
万能Asp防注入代码 拒绝攻击
用asp实现把文件打包成Xml文件包,带解包的ASP工具附下载
asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
asp字符串加密解密函数
asp adodb.stream对象的方法/属性
asp rs.open sql,conn,3,1中3,1代表什么?
推荐ASP中VBScript常用函数
ASP的Global.asa使用说明
ASP七大对象说明分析
ASP网站生成静态html页面技术小结

用ASP实现在线文章翻译的功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 196 ::
收藏到网摘: n/a

有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好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-&gt;" 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>

translate.asp实现翻译功能,这是利用google的语言工具实现的。

注意,因为提供多语言支持,所以translate.asp文件所用的编码是支持所有字符的"utf-8"