2010-06-26 91 views
1

我想知道如何使用Google的代码翻译文本,只要它不是英文。如果您输入西班牙语或其他外语,下面的代码可以正常工作,但如果输入英语,它只是重复英语(显然,我们不需要英语翻译)。有任何想法吗?谢谢。Google Ajax语言翻译问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Google Ajax Language API</title> 
</head> 

<script type="text/javascript" src="http://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
google.load("language", "1"); 
function initialize() { 
     var text = document.getElementById("text").innerHTML; 
     google.language.detect(text, function(result) { 
     if (!result.error && result.language) { 
      google.language.translate(text, result.language, "en", 
            function(result) { 
      var translated = document.getElementById("translation"); 
      if (result.translation) { 
       translated.innerHTML = result.translation; 
      } 
      }); 
     } 
     }); 
    } 
    google.setOnLoadCallback(initialize); 
</script> 


<body> 


<div style="width:420px; margin:auto; padding:5px;">Original Text:</div> 
<div id="text" style="width:420px; margin:auto; padding:5px;">I like cold beer</div> 
<br /> 
<div style="width:420px; margin:auto; padding:5px;">Translated Text:</div> 
<div id="translation" style="width:420px;margin:auto;padding:3px;"></div> 



</body> 
</html> 

回答

2

detect告诉你语言。只要利用这一点,如果语言是'en'就不要做任何事情

if (!result.error && result.language && result.language != 'en') { 
      google.language.translate(text, result.language, "en", 
            function(result) { 
      var translated = document.getElementById("translation"); 
      if (result.translation) { 
       translated.innerHTML = result.translation; 
      } 
      }); 
     } 
+0

工程!哇,快点..... – Barry 2010-06-26 03:42:52