2011-05-04 4 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; 
} 

Normalement, la traduction va bien. Après avoir tenté quelques clics, la page traduite n'est pas dans le bon ordre. Par exemple, la page:google traduction

<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> 

sortie:

<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> 

Toute idée pourquoi?

Répondre

0

Vous ne pouvez pas garantir l'ordre dans lequel les réponses de traduction vous reviendront.

Vous auriez le même problème à faire tout autre type de requête AJAX.

+0

Merci pour votre réponse. Avez-vous une idée de la façon de résoudre ce genre de problème? – wordpressquestion

Questions connexes