利用第三方翻译API翻译整个网站 |
您所在的位置:网站首页 › results中文翻译 › 利用第三方翻译API翻译整个网站 |
利⽤第三⽅翻译API翻译整个⽹站 最新⼀个项⽬需要全站翻译,但是有没有做国际化。改起来⽐较⿇烦。所以就想有没有什么好的⽅法可以直接翻译整个⽹站。 思路: 利⽤第三⽅翻译A PI ,把⽹页中所有的中⽂发过去,拿到返回值之后把所有中⽂替换成英⽂。 1 百度翻译开发平台注册 2 怎么使⽤ 直接上代码吧,注释也还算清晰。
测试
橘⼦
梨
测试
零⾷
⽔果
上班
transformLanguage('en'); function transformLanguage(newLanguage) { // 获取所有 dom 元素中⽂ let transformStr = ''; // 获取所有 dom 元素 function getChildDom(dom, type, data = {}) { if(type == 'read') { [...dom.children].forEach(v => { // 判断中⽂ // /^[\u0391-\uFFE5]+$/ let re= /[\u4e00-\u9fa5]/g; // 防⽌某些标签有内容并且有标签
,或者有空格
let vHtml = $(v).contents().filter(function (index, content) {return content.nodeType === 3}).text().trim(); // 跳过 script 标签 if (re.test(vHtml) && v.tagName != 'SCRIPT') { transformStr += `${vHtml},` } // 递归获取元素 getChildDom(v, type, data); }) }else { let transOld = data.trans_result[0].src.split(','); let transNew = data.trans_result[0].dst.split(','); [...dom.children].forEach(v => { // 判断中⽂ // /^[\u0391-\uFFE5]+$/ let re= /[\u4e00-\u9fa5]/g; let vHtml = $(v).contents().filter(function (index, content) {return content.nodeType === 3}).text().trim(); // 跳过 script 标签 if (re.test(vHtml) && v.tagName != 'SCRIPT') { // 防⽌标签⾥⾯还有标签,所以只替换⾥⾯的 html, 使⽤ replace $(v).html( $(v).html().replace( transOld[transOld.findIndex(arrList => arrList == vHtml)] , transNew[transOld.findIndex(arrList => arrList == vHtml)] ) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |