| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 772 人关注过本帖
标题:ASP程序中提供在线文章翻译功能技术解决
只看楼主 加入收藏
风过无影
Rank: 1
等 级:新手上路
威 望:1
帖 子:346
专家分:0
注 册:2005-5-14
收藏
 问题点数:0 回复次数:1 
ASP程序中提供在线文章翻译功能技术解决

 有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好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="***" value="Go->" name="Button1" onClick="*****: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 o**tream
set o**tream = Server.CreateObject("adodb.stream")
o**tream.Type = 1
o**tream.Mode =3
o**tream.Open
o**tream.Write body
o**tream.Position = 0
o**tream.Type = 2
o**tream.Charset =code
BytesToBstr = o**tream.ReadText
o**tream.Close
set o**tream = 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"

搜索更多相关主题的帖子: option 英语 Google 意大利语 
2007-06-14 10:22
yndkai
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:275
专家分:0
注 册:2007-6-1
收藏
得分:0 
支持一下 能用的着

本来讨厌下雨的天空 直到听见有人说爱我
2007-06-14 10:32
快速回复:ASP程序中提供在线文章翻译功能技术解决
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035981 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved