2009年1月6日星期二

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


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="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的语言工具实现的。


相关的主题文章:

没有评论:

发表评论