找回密码
 注册
广告投放 虚位以待【阿里云】2核2G云新老同享 99元/年,续费同价做网站就用糖果主机-sugarhosts.comJtti.com-新加坡服务器,美国服务器,香港服务器
查看: 797|回复: 18

ASP程序中提供在线文章翻译功能

[复制链接]
发表于 2006 年 6 月 2 日 00:56:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
 有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换。
   
    lan.htm
  

  1.   <form>
  2.   <select name="lan">
  3.   <option value="en|de">英语 翻译成 德语</option>
  4.   <option value="en|es">英语 翻译成 西班牙语</option>
  5.   <option value="en|fr">英语 翻译成 法语</option>
  6.   <option value="en|it">英语 翻译成 意大利语</option>
  7.   <option value="en|pt">英语 翻译成 葡萄牙语</option>
  8.   <option value="en|ja">英语 翻译成 日语 BETA</option>
  9.   <option value="en|ko">英语 翻译成 朝鲜语 BETA</option>
  10.   <option value="en|zh-CN" >英语 翻译成 中文(简体) BETA</option>
  11.   <option value="de|en">德语 翻译成 英语</option>
  12.   <option value="de|fr">德语 翻译成 法语</option>
  13.   <option value="es|en">西班牙语 翻译成 英语</option>
  14.   <option value="fr|en">法语 翻译成 英语</option>
  15.   <option value="fr|de">法语 翻译成 德语</option>
  16.   <option value="it|en">意大利语 翻译成 英语</option>
  17.   <option value="pt|en">葡萄牙语 翻译成 英语</option>
  18.   <option value="ja|en">日语 翻译成 英语 BETA</option>
  19.   <option value="ko|en">朝鲜语 翻译成 英语 BETA</option>
  20.   <option value="zh-CN|en">中文(简体) 翻译成 英语 BETA</option>
  21.   <input style="FONT-SIZE: 12px" type="button" value="Go->" name="Button1" onClick="JavaScript:window.open(’translate.ASP?urls=’+document.location+’&lan=’+lan.value,’_self’,’’)">
  22.   </select>
  23.   </form>
  24.      
复制代码

    lan.htm中的内容用来选择要翻译的语言包括原来的语言和要翻译成的语言。我们只需要将lan.htm中的内容拷到提供多语言翻译的页面中就可以了。
   
    translate.asp
     

  1.   <html>
  2.   <head>
  3.   <title>在线翻译</title>
  4.   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5.   </head>
  6.    
  7.   <body>
  8.   <%
  9.   ’on error resume next
  10.   ’ 如果网速很慢的话,可以调整以下时间。单位秒
  11.   Server.ScriptTimeout = 999999
  12.   ’========================================================
  13.   ’字符编码函数
  14.   ’========================================================
  15.   Function BytesToBstr(body,code)
  16.   dim objstream
  17.   set objstream = Server.CreateObject("adodb.stream")
  18.   objstream.Type = 1
  19.   objstream.Mode =3
  20.   objstream.Open
  21.   objstream.Write body
  22.   objstream.Position = 0
  23.   objstream.Type = 2
  24.   objstream.Charset =code
  25.   BytesToBstr = objstream.ReadText
  26.   objstream.Close
  27.   set objstream = nothing
  28.   End Function
  29.    
  30.   ’取行字符串在另一字符串中的出现位置
  31.   Function Newstring(wstr,strng)
  32.    Newstring=Instr(lcase(wstr),lcase(strng))
  33.    if Newstring<=0 then Newstring=Len(wstr)
  34.   End Function
  35.    
  36.   ’替换字符串函数
  37.   function ReplaceStr(ori,str1,str2)
  38.    ReplaceStr=replace(ori,str1,str2)
  39.   end function
  40.    
  41.   ’=====================================================
  42.   function ReadXML(url,code,start,ends)
  43.    set oSend=createobject("Microsoft.XMLHTTP")
  44.    SourceCode = oSend.open ("GET",url,false)
  45.    oSend.send()
  46.    ReadXml=BytesToBstr(oSend.responseBody,code )
  47.    if(start="" or ends="") then
  48.    else
  49.     start=Newstring(ReadXml,start)
  50.     ReadXml=mid(ReadXml,start)
  51.     ends=Newstring(ReadXml,ends)
  52.     ReadXml=left(ReadXml,ends-1)
  53.    end if
  54.   end function
  55.    
  56.   dim urlpage,lan
  57.   urlpage=request("urls")
  58.   lan=request("lan")
  59.   %>
  60.   <form method="post" action="translate.asp">
  61.   <input type="text" name="urls" size="150" value="<%=urlpage%>">
  62.   <input type="hidden" name="lan" value="<%=lan%>">
  63.   <input type="submit" value="submit">
  64.   </form>
  65.   <%
  66.    dim transURL
  67.    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"
  68.     if(len(urlpage)>3) then
  69.      getcont=ReadXml(transURL,"gb2312","","")
  70.      response.Write(getcont)
  71.     end if
  72.   %>
  73.   </body>
  74.   </html>
  75.       
复制代码

    translate.asp实现翻译功能,这是利用google的语言工具实现的。
   
    注意,因为提供多语言支持,所以translate.asp文件所用的编码是支持所有字符的"utf-

[ 本帖最后由 聶十八 于 2006-6-2 01:45 编辑 ]
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
发表于 2006 年 6 月 2 日 01:00:04 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
虾米?
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2006 年 6 月 2 日 01:02:30 | 显示全部楼层
有时间测试一下
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2006 年 6 月 2 日 01:32:33 | 显示全部楼层
你提供下载吗?复制有乱码
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2006 年 6 月 2 日 01:56:48 | 显示全部楼层
这篇文章是否应该移到我的版面?晕。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2006 年 6 月 2 日 02:21:10 | 显示全部楼层
呵呵。你的版面没人起。。
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2006 年 6 月 2 日 08:28:12 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
什么版面啊
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2006 年 6 月 2 日 08:29:09 | 显示全部楼层
收藏了
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

 楼主| 发表于 2006 年 6 月 2 日 08:29:59 | 显示全部楼层
论坛我们灌水的时候了
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2006 年 6 月 2 日 08:32:04 | 显示全部楼层
收藏 有空搞着玩玩
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2025 年 2 月 3 日 22:36 , Processed in 0.020778 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表