博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js实现页面的自定义翻译
阅读量:5140 次
发布时间:2019-06-13

本文共 738 字,大约阅读时间需要 2 分钟。

目前流行的翻译模式有:

浏览器自带翻译,网站内部翻译,插件翻译。

在大部分浏览器自带翻译,插件翻译都不能做到专业化的翻译。

用translation.js实现的也是属于机器翻译。

做到自定义翻译有以下两个思路。

准备文件:自定义翻译的json对照数据。

思路一:节点遍历,通过以下函数实现: 将body下的文本节点中的searchWord, 替换为replaceWord,遍历json数据执行函数即可。

function replaceBodyText(searchWord, replaceWord){    var reg = new RegExp(searchWord, 'g');    function replaceNode(node){        node.childNodes.forEach(function(v){            if(v.nodeName === 'SCRIPT')                return; //排除

  

思路二:直接通过获取body内容来重写对照词汇,searchWord替换为replaceWord,遍历执行即可。

document.body.innerHTML = document.body.innerHTML.replace(/searchWord/g, "replaceWord");

  

思路一较长但对界面的影响较小,思路二简洁方便,但是影响可能存在不少。

这里指的影响是:交互过程中的事件的解除和绑定。

 

代码植入到界面方式:控制台,油猴,或者各大插件均可,注意网页节点生成时间。

转载于:https://www.cnblogs.com/zhaozhou/p/11462985.html

你可能感兴趣的文章
Border-radius
查看>>
mysql触发器
查看>>
Redis学习笔记(1)Redis安装和启动
查看>>
淌淌淌
查看>>
BZOJ1002:[FJOI2007]轮状病毒
查看>>
SSD5_Recommended Exercise 4 分析
查看>>
django实现分页功能
查看>>
CSS伪类与CSS伪元素的区别
查看>>
如何:修改字符串内容
查看>>
Tomcat Server之启动---Bootstrap类
查看>>
经典问题-生产者和消费者问题
查看>>
Hadoop Distributed File System 简介
查看>>
文档通信(跨域-不跨域)、时时通信(websocket)、离线存储(applicationCache)、开启多线程(web worker)...
查看>>
常用正则表达式
查看>>
队列的基本使用方法
查看>>
解题:USACO18FEB Taming the Herd
查看>>
ACM-括号匹配问题
查看>>
使用Python中的urlparse、urllib抓取和解析网页(一)(转)
查看>>
Linux_屏蔽360、scanv、QQ管家等IP扫描
查看>>
LeetCode 538. Convert BST to Greater Tree
查看>>