如何使用谷歌翻译与CKEditor?

如何使用谷歌翻译与CKEditor?,ckeditor,google-translate,Ckeditor,Google Translate,我已经成功地创建了javascript代码,使用Google AJAX语言API翻译纯文本。现在我想在CKEditor的一个实例中传输文本,如何实现这一点?首先,我不建议使用Google AJAX语言API,因为它在12月份已经被弃用了。您可以使用Microsoft Translator,尽管API没有那么好 实际上,您所需要做的就是从编辑器中获取文本,翻译文本,然后将其重新粘贴 从编辑器获取文本: 有很多不同的方法可以做到这一点,但您可以使用: CKEDITOR.instances.edito

我已经成功地创建了javascript代码,使用Google AJAX语言API翻译纯文本。现在我想在CKEditor的一个实例中传输文本,如何实现这一点?

首先,我不建议使用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);
            }
        });
};

谢谢你完整的回答,史蒂夫。我也在网上搜索了jQuery插件来完成这个任务,我发现这个插件很适合我的需要:@remo:你能简单介绍一下你是如何使用的吗!