如何在CKEditor上使用Google Translate?

时间:2011-06-22 01:46:44

标签: ckeditor google-translate

我已成功创建javascript代码,以使用Google AJAX语言API翻译纯文本。现在我想转发CKEditor实例中的文本,如何实现这个目标?

1 个答案:

答案 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);
            }
        });
};