asp提供在线文章翻译的功能

 

   有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换。
  
  注:转载请注明出处
  
  lan.htm
  
  <form>
  <select name="lan">
  <option value="ende">英语 翻译成 德语</option>
  <option value="enes">英语 翻译成 西班牙语</option>
  <option value="enfr">英语 翻译成 法语</option>
  <option value="enit">英语 翻译成 意大利语</option>
  <option value="enpt">英语 翻译成 葡萄牙语</option>
  <option value="enja">英语 翻译成 日语 BETA</option>
  <option value="enko">英语 翻译成 朝鲜语 BETA</option>
  <option value="enzh-CN" >英语 翻译成 中文(简体) BETA</option>
  <option value="deen">德语 翻译成 英语</option>
  <option value="defr">德语 翻译成 法语</option>
  <option value="esen">西班牙语 翻译成 英语</option>
  <option value="fren">法语 翻译成 英语</option>
  <option value="frde">法语 翻译成 德语</option>
  <option value="iten">意大利语 翻译成 英语</option>
  <option value="pten">葡萄牙语 翻译成 英语</option>
  <option value="jaen">日语 翻译成 英语 BETA</option>
  <option value="koen">朝鲜语 翻译成 英语 BETA</option>
  <option value="zh-CNen">中文(简体) 翻译成 英语 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>
  
  
  translate.asp实现翻译功能,这是利用google的语言工具实现的。
  
  注意,因为提供多语言支持,所以translate.asp文件所用的编码是支持所有字符的"utf-8"
  
  事例:http://www.tot.name/3.htm 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值