我正在开发一个管理页面来为博客创建帖子。我有一个法语文本区和一个英语文本区。所以,对于那些不能自己翻译的人,我创建了一个按钮“用谷歌翻译”:
<a id="tr_textefr" href="http://translate.google.fr/#fr/en/" target="_blank">
Traduire avec Google
</a>
我的法语 textarea 有一个名为 onkeyup
的 javascript 函数:
function translate(what){
var button = "tr_" + what;
var textarea = document.getElementById(what);
var google = "http://translate.google.fr/#fr/en/" + textarea.value;
document.getElementById(button).setAttribute('href', google);
}
例如,如果我写“Voulez-vous coucher avec moi ce soir ?”,它将更改“http://translate.google.fr/#fr/en/Voulez-vous coucher avec moi ce soir ?”的 href 属性? ”。该链接将重定向到我的文本的翻译版本(通过谷歌翻译)。
顺便说一句,这段代码工作正常。问题是我有时可以在文本中包含 bbcode:“Voulez-vous [b]coucher[/b] avec moi ce soir?”。
那么,谷歌翻译有没有办法禁止翻译某些单词或句子?例如,我不想翻译两个@之间的单词:“Voulez-vous @[b]@coucher@[/b]@avec moi ce soir?”
原文由 pmrotule 发布,翻译遵循 CC BY-SA 4.0 许可协议
编辑(2020 年 9 月): 似乎随着一些 API 更改,此解决方案不再适用(至少在网络上)。
通过将字符串的某些部分包装在具有特定类值的
<span>
标记中( 如此 处解释),可以保护部分字符串免于翻译:例子
此外,如果您不介意支付少量费用(每 100 万个字符 20 美元),Google Translate API 将为您提供更大的灵活性。