通过百度翻译翻译四国语言

在日常开发工作中,如果需要多语言,很多时候就需要在线翻译,通常是简体中文翻译为英文、日文,繁体中文。

如果对翻译要求结果不高,使用百度翻译即可,而翻译一个字段点来点去,实在是烦人,特此写了个脚本,请在百度翻译界面 F12 打开控制台使用:

let translateCn = function (text) {
    location.href = "https://fanyi.baidu.com/#zh/zh/";
    var getResult = function (lang, cb) {
        var output = document.querySelector(".target-output");
        var btnSelect = document.querySelector(".select-to-language");
        btnSelect.click();
        var langItems = document.querySelectorAll(".lang-table .lang-item");
        langItems = Array.prototype.slice.apply(langItems);
        var btnLang = null;
        if (lang === "cn") {
            btnLang = langItems.find((o) => o.innerText === "中文(简体)");
        }
        if (lang === "cht") {
            btnLang = langItems.find((o) => o.innerText === "中文(繁体)");
        }
        if (lang === "jp") {
            btnLang = langItems.find((o) => o.innerText === "日语");
        }
        if (lang === "en") {
            btnLang = langItems.find((o) => o.innerText === "英语");
        }
        if (output != null) {
            output.innerText = "";
        }
        btnLang.click();
        btnTrans.click();
        var idx = setInterval(() => {
            if (output != null && output.innerText.length > 0) {
                clearInterval(idx);
                cb(output.innerText);
            } else {
                output = document.querySelector(".target-output");
            }
        }, 30);
    };
    var input = document.querySelector("#baidu_translate_input");
    var btnTrans = document.querySelector("#translate-button");
    input.value = text;
    var transResult = {
        cn: "",
        cht: "",
        jp: "",
        en: "",
    };
    transResult.cn = text;
    getResult("cht", function (result2) {
        transResult.cht = result2;
        getResult("jp", function (result3) {
            transResult.jp = result3;
            getResult("en", function (result4) {
                transResult.en = result4;
                console.clear();
                console.log("简体中文:",transResult.cn);
                console.log("繁体中文:",transResult.cht);
                console.log("日文:",transResult.jp);
                console.log("英文:",transResult.en);
            });
        });
    });
};

使用方式:
目前只考虑了简体中文翻译为其他语言

translateCn("苹果树下的雪花");

结果:

简体中文: 苹果树下的雪花
繁体中文: 蘋果樹下的雪花
日文: リンゴの木の下の雪
英文: Snowflakes under Apple Trees
生活,有时候就是很简单,有时候却很要命。
原文地址:https://www.cnblogs.com/DHclly/p/14301182.html