translate.js 前端翻译
两行js实现html全自动翻译。
无需改动页面、无语言配置文件、无API Key、对SEO友好!
特性说明
- 使用极其简单。 无需任何前期准备,直接加入几行代码即可拥有多种语言全自动切换能力。
- 不增加工作量。 无需另行改造页面本身,也没有各种语言都要单独配置的语言文件,更不需要你对页面本身要显示的文字区域进行代码调用,我认为那样对技术人员实在是太不友好了。而且它也不需要你到某某网站申请什么key,它本身就是开放的,拿来即用。
- 极其灵活扩展。 您可指定它只翻译某些指定区域、切换语言时显示下拉框还是通过摆放多个切换语言按钮进行、可指定某些特定的元素不进行翻译忽略……
- 自动匹配语种。 自动根据用户所在的国家切换其国家所使用的语种
- 瞬间翻译能力。 内置缓存预加载机制,只要翻译过的网页,再次看时会达到瞬间翻译的效果,给用户的感觉就是,这个页面本来就是这种语言的,而不是经过第三方翻译的。
- 永久免费使用。 采用Apache-2.0开源协议,您可永久免费使用。
- 搜索引擎友好。 完全不影响你本身网站搜索引擎的收录。爬虫所爬取的网页源代码,它不会对其进行任何改动,你可完全放心。
- 后端翻译开源。 在某些政府机关及大集团内部项目中,对数据隐私及安全保密有强要求场景、或您对自有客户希望提供自建高可靠翻译服务场景时,您可将后端翻译接口进行私有化部署,不走我们公开开放的翻译接口,以做到安全保密及后端服务全部自行掌控。
- 多个翻译节点。每间隔1分钟自动获取一次延迟最小的节点进行接入使用,全面规避全球使用时,某个地域网络波动导致后端翻译接口无法响应的情况发生。自动适配最快节点,做到更好的使用体验!
在线体验
http://res.zvo.cn/translate/demo.html
测试效果
先拿别人的网站动手试试效果
- 随便打开一个网页
- 右键 - 审查元素
- 粘贴入以下代码:
var head= document.getElementsByTagName('head')[0]; var script= document.createElement('script'); script.type= 'text/javascript'; script.src= 'https://res.zvo.cn/translate/inspector_v2.js'; head.appendChild(script);
- Enter 回车键 , 执行
- 在当前网页的左上角,就出现了一个大大的切换语言,切换试试看。
快速使用
在网页最末尾, </html>
之前,加入以下代码,一般在页面的最底部就出现了选择语言的 select 切换标签。 其实就这么简单:
<script src="https://cdn.staticfile.net/translate.js/3.5.1/translate.js"></script>
<script>
translate.language.setLocal('chinese_simplified'); //设置本地语种(当前网页的语种)。如果不设置,默认自动识别当前网页显示文字的语种。 可填写如 'english'、'chinese_simplified' 等,具体参见文档下方关于此的说明。
translate.service.use('client.edge'); //设置机器翻译服务通道,直接客户端本身,不依赖服务端 。相关说明参考 http://translate.zvo.cn/43086.html
translate.execute();//进行翻译
</script>
详细使用
- 设置默认翻译为的语种
- 自定义翻译术语
- 翻译完后自动执行
- 指定翻译服务接口
- 监控页面动态渲染的文本进行自动翻译
- 设置本地语种(当前网页的语种)
- 自动根据用户所在的国家切换其语种
- 主动进行语言切换
- 只翻译指定的元素
- 翻译时忽略指定的id
- 翻译时忽略指定的class属性
- 翻译时忽略指定的tag标签
- 对网页中图片进行翻译
- 设定切换语言所支持的语种
- 设定是否自动出现 select 切换语言
- CSS美化切换语言按钮
- 指定切换语言选择框在代码中的位置
- 对网页中图片进行翻译
- 鼠标划词翻译
- 获取当前显示的是什么语种
- 根据URL传参控制以何种语种显示
- 离线翻译及自动生成配置
- 手动调用接口进行翻译操作
- 元素的内容整体翻译能力配置
- 翻译接口响应捕获处理
- 清除历史翻译语种的缓存
- 网页ajax请求触发自动翻译
- 设置只对指定语种进行翻译
- 重新绘制 select 语种下拉选择
- 识别字符串语种及分析
- 重写一级缓存(浏览器缓存)
- 设置使用的翻译服务 translate.service.use
- 启用企业级稳定翻译
使用示例
普通网站中点击某个语言进行切换
如下图所示,网站中的某个位置要有几种语言切换
直接在其html代码末尾的位置加入以下代码:
<!-- 增加某种语言切换的按钮。注意 ul上加了一个 class="ignore" 代表这块代码不会被翻译到 -->
<ul class="ignore">
<li><a href="javascript:translate.changeLanguage('english');">English</a></li>|
<li><a href="javascript:translate.changeLanguage('chinese_simplified');">简体中文</a></li>|
<li><a href="javascript:translate.changeLanguage('chinese_traditional');">繁體中文</a></li>
</ul>
<!-- 引入多语言切换的js -->
<script src="https://cdn.staticfile.net/translate.js/3.2.1/translate.js"></script>
<script>
translate.selectLanguageTag.show = false; //不出现的select的选择语言
translate.service.use('client.edge'); //设置翻译服务
translate.execute();
</script>
谁在使用
截止 2023.7 月份时,本项目的后端免费翻译服务的请求量就已经达到了 1.5亿次/月 的规模,并且还在非常快速的持续增大,包括一些城投集团像是长沙城投、以及一些政府单位像是环境保障局、企业国际化经营服务平台、海外矿业产业联合、国际潮青联谊年会、人力资源和社会保障局、政务服务网、海外的一些平台如futrom智能住宅、bitheime全球区块链等等都在广泛使用。
这里给出两个使用比较好的网站作为实际示例参考:
另外,很多开源框架及产品也都已将此翻译能力接入了自身系统,赋予自身系统多语言切换能力。比如 Discuz、wangmarket CMS、Layui、易优CMS、迅睿CMS 、Pear Admin、WoShop……