2011-05-04 149 views
0
function translate(lang) { 
    var source = document.getElementById("article").innerHTML; 
    var len = source.length; 

    // Google Language API accepts 500 characters per request 
    var words = 500; 
    document.getElementById("translation").style.display='block'; 

    document.getElementById("translation").innerHTML = ""; 

    for(i=0; i<=(len/words); i++) { 
    google.language.translate (source.substr(i*words, words), 
       "en", lang, function (result) { 
     if (!result.error) { 
      document.getElementById("translation").innerHTML += result.translation; 
     } }); } 

    // Hide the text written in the original language 
    document.getElementById("article").style.display = 'none'; 
    return false; 
} 

通常,翻译好吧。尝试几次点击后,翻译后的页面的顺序不正确。例如,页面:谷歌翻译

<p>Paragraph 1</p> 
<p>Paragraph 2</p> 
<p>Paragraph 3</p> 
<ul> 
    <li>list 1</li> 
    <li>list 2</li> 
    <li>list 3</li> 
</ul> 

输出:

<p>Paragraph 3</p> 
<ul> 
    <li>list 1</li> 
    <li>list 2</li> 
    <li>list 3</li> 
</ul> 
<p>Paragraph 1</p> 
<p>Paragraph 2</p> 

任何想法,为什么?

回答

0

您无法保证翻译回复将返回给您的订单。

你也会有同样的问题做任何其他类型的AJAX请求。

+0

谢谢你的回答。你有什么想法如何解决这种问题? – wordpressquestion 2011-05-05 00:50:18