我已成功创建javascript代码,以使用Google AJAX语言API翻译纯文本。现在我想转发CKEditor实例中的文本,如何实现这个目标?
答案 0 :(得分:2)
首先,我不建议使用Google AJAX语言API,因为它已于12月弃用。您可以使用Microsoft Translator,尽管API不太好。
实际上,您需要做的就是从编辑器中获取文本,翻译它并将其粘贴回来。
从编辑器中获取文字:
有很多不同的方法可以做到这一点,但你可以使用:
CKEDITOR.instances.editor1.getData()
其中editor1是编辑器的ID。如果你正在使用jQuery,你可以这样做:
$('#editor1').val()
翻译它,并将其粘贴回来:
这就像调用google API一样简单,而在回调设置中则是编辑器的内容:
google.language.translate(textToTranslate, translateFrom, translateTo, function(response) {
if (response.translation) {
CKEDITOR.instances.editor1.setData(response.translation);
}
});
或使用jQuery:
google.language.translate(textToTranslate, translateFrom, translateTo, function(response) {
if (response.translation) {
$('#editor1').val(response.translation);
}
});
将所有内容整合到一个功能中
var translate = function(editor, translateFrom, translateTo) {
var textToTranslate = editor.getData();
google.language.translate(textToTranslate, translateFrom, translateTo, function(response) {
if (response.translation) {
editor.setData(response.translation);
}
});
};