google的翻译质量还是比较不错的,下面这个方法可以将中文的文字翻译成英文,至于其他的语言,只要稍作修改即可.

  1. function translate($content)
  2. {
  3.  //$content = "中华人民共和国";
  4.  $argv = array(
  5.   'text'=>$content);  
  6.  //构造要post的字符串  <span id="more-144"></span>
  7.  foreach ($argv as $key=>$value)
  8.  {  
  9.   if ($flag!=0)
  10.   {
  11.    $params .= "&";  
  12.    $flag = 1;  
  13.   }  
  14.   $params.= $key."="; $params.= urlencode($value);  
  15.   $flag = 1;  
  16.  }  
  17.  $length = strlen($params);
  18.  $fp = fsockopen("www.google.com",80,$errno,$errstr,10)
  19. or exit($errstr."—>".$errno);  
  20.  $header = "POST /translate_t?langpair=zh|en HTTP/1.1\r\n";  
  21.  $header .= "Host:translate.google.com\r\n";  
  22.  $header .= "Referer:/translate_t\r\n";  
  23.  $header .= "Content-Type: application/x-www-form-urlencoded\r\n";  
  24.  $header .= "Content-Length: ".$length."\r\n";  
  25.  $header .= "Connection: Close\r\n\r\n";
  26.  $header .= $params."\r\n";  
  27.  fputs($fp,$header);  
  28.  $inheader = 1;  
  29.  $result = '';
  30.  while (!feof($fp))
  31.  {
  32.   $line = fgets($fp,1024);
  33.   if ($inheader && ($line == "\n" || $line == "\r\n"))
  34.   {
  35.    $inheader = 0;  
  36.   }  
  37.   if ($inheader == 0)
  38.   {  
  39.    $result .= $line;  
  40.   }  
  41.  }
  42.  $start = "<div id=result_box dir=\"ltr\">";
  43.  $end = "</div></td></tr><tr><td class=submitcell>";
  44.  $result = getSubContent($result,$start,$end);
  45.  return $result;
  46. }

, ,

相关文章

引用地址:http://t263.net/google-translate.html

欢迎发表评论