利⽤第三⽅翻译API翻译整个⽹站
最新⼀个项⽬需要全站翻译,但是有没有做国际化。改起来⽐较⿇烦。所以就想有没有什么好的⽅法可以直接翻译整个⽹站。
思路:
利⽤第三⽅翻译A PI,把⽹页中所有的中⽂发过去,拿到返回值之后把所有中⽂替换成英⽂。
1 百度翻译开发平台注册
2 怎么使⽤
直接上代码吧,注释也还算清晰。
dragonboat>现代科技与日常生活<!doctype html>
<head>
<meta chart="utf-8" />
</head>
<body>
<div>测试
<div>橘⼦</div>
生活大爆炸第6季</div>
<div>梨</div>
convergence
<div>测试</div>
<div>零⾷</div>
<div>⽔果</div>
<div>上班</div>
<script src="js/jquery-1.7.1.min.js" type="text/javascript" chart="utf-8"></script>
<script src="./js/md5.js"></script>
<script type="text/javascript">
transformLanguage('en');
function transformLanguage(newLanguage) {
// 获取所有dom元素中⽂
let transformStr = '';
// 获取所有dom元素烦躁英语
function getChildDom(dom, type, data = {}) {不知所措是什么意思
高中英语听力mp3下载
if(type == 'read') {
[...dom.children].forEach(v => {
// 判断中⽂
// /^[\u0391-\uFFE5]+$/
make的中文意思是什么
let re= /[\u4e00-\u9fa5]/g;
// 防⽌某些标签有内容并且有标签,或者有空格
let vHtml = $(v).contents().filter(function (index, content) {deType === 3}).text().trim();
// 跳过script标签
if (re.test(vHtml) && v.tagName != 'SCRIPT') {wago
transformStr += `${vHtml},`
}
// 递归获取元素
getChildDom(v, type, data);
})
}el {
daa
let transOld = ans_result[0].src.split(',');
let transNew = ans_result[0].dst.split(',');
[...dom.children].forEach(v => {
// 判断中⽂
// /^[\u0391-\uFFE5]+$/
let re= /[\u4e00-\u9fa5]/g;
let vHtml = $(v).contents().filter(function (index, content) {deType === 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)]
)