通過百度翻譯翻譯四國語言

在日常開發工作中,如果需要多語言,很多時候就需要在線翻譯,通常是簡體中文翻譯爲英文、日文,繁體中文。

如果對翻譯要求結果不高,使用百度翻譯即可,而翻譯一個字段點來點去,實在是煩人,特此寫了個腳本,請在百度翻譯界面 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章