2010-05-22 91 views
0

我正在使用基於Google ajax的翻譯API,如下例所示。在使用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); 

當我送字符串,如 「你怎麼樣?」

我所得到的transaltion是像 「XXX XXX XXXXXXX」。原始字符串中的空格將被修剪。如何防止它發生?

回答

1

嘗試:

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

你不能。你可以做的是通過將前導空格/尾部空格重新劃分爲臨時變量並在Google完成之前重新添加/附加前綴來解決此問題。