首页 > 解决方案 > 使用 Google 翻译 Jquery 翻译多个 DIV

问题描述

我正在使用这个 Google Translate JQuery 脚本来翻译我的博客项目:

        $("#translateButton").click(function () {
        var url = "https://translation.googleapis.com/language/translate/v2?key=MY_API";
        url += "&source=" + $("#sourceLang").text();
        url += "&target=" + $("#targetLang").val();
        url += "&q=" + escape($("#txtSource").text());
        $.get(url, function (data, status) {
            $("#txtTarget").val(data.data.translations[0].translatedText);
        });
    });

但现在我只能翻译正文而不是页面标题。是否也可以翻译 pagetitle DIV 中的文本?

标签: jquerygoogle-cloud-platformgoogle-translategoogle-translation-api

解决方案


调用 Google Translate API 时,您可以传递多个输入源。您可以在 API文档中找到有关查询参数的更多信息。考虑到这一点,您可以有两个输入源,一个是页面标题,另一个是正文。结果将按照传入的输入源的顺序在数组中返回。这是代码片段:

$("#translateButton").click(function () {
        var url = "https://translation.googleapis.com/language/translate/v2?key=MY_API";
        url += "&source=" + $("#sourceLang").text();
        url += "&target=" + $("#targetLang").val();
        url += "&q=" + escape($("#txtSource").text());
        //pageTitle being the id of the div containing your page title
        url += "&q=" + escape($("#pageTitle").text());
        $.get(url, function (data, status) {
            $("#txtTarget").val(data.data.translations[0].translatedText);
            //Translated page title, which will replace the old one. 
            $("#pageTitle").val(data.data.translations[1].translatedText);
        });
    });

推荐阅读