在日常开发工作中,如果需要多语言,很多时候就需要在线翻译,通常是简体中文翻译为英文、日文,繁体中文。
如果对翻译要求结果不高,使用百度翻译即可,而翻译一个字段点来点去,实在是烦人,特此写了个脚本,请在百度翻译界面 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); }); }); }); };使用方式:
目前只考虑了简体中文翻译为其他语言
结果:
简体中文: 苹果树下的雪花 繁体中文: 蘋果樹下的雪花 日文: リンゴの木の下の雪 英文: Snowflakes under Apple Trees