2010-05-22 16 views
0

J'utilise google ajax basé API de traduction comme dans l'exemple ci-dessous.perdre l'espace de début et de fin lorsqu'il est traduit en utilisant la traduction automatique Google

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

Quand j'envoyez une chaîne comme "comment allez-vous?"

Le transaltion ce que je reçois est comme "xxx xxx xxxxxxx". les espaces dans la chaîne d'origine sont coupés. Comment puis-je l'empêcher de se produire?

Répondre

1

Essayez:

function initialize() { 
    var text = document.getElementById("text").innerHTML; 
    var spaceMatch = text.match(/^(\s*).*?(\s*)$/); 
    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 = spaceMatch[1] + result.translation + spaceMatch[2]; 
     } 
     }); 
    } 
    }); 
} 
0

Vous ne pouvez pas. Ce que vous pouvez faire est de contourner ce problème en reformulant l'espace de début/de fin en variables scratch et en ajoutant/rajoutant l'espace après que Google ait terminé.