我正在使用谷歌基于ajax的翻译API,如下例所示。
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);
当我发送“你好吗?”等字符串时,
我得到的翻译就像“xxx xxx xxxxxxx”。修剪原始字符串中的空格。如何防止它发生?
答案 0 :(得分: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];
}
});
}
});
}
答案 1 :(得分:0)
你做不到。你可以做的是通过将前导/尾随空间重新划分为临时变量并在Google完成后重新开始/追加它来解决这个问题。