JS 网页全自动翻译 v3.0 发布,纯 JS 翻译不再依赖服务端

来源: 投稿
作者: 鬼画符
2024-02-19 08:58:00

两行 js 实现 html 全自动翻译。 无需改动页面、无语言配置文件、无 API Key、对 SEO 友好!

升级说明

  1. 增加 client.edge 的翻译模式,不在依赖于 translate.service 翻译服务器,而是由微软直接提供翻译支持。
  2. 增加七牛云的cdn源,感谢七牛云赞助CDN全球加速支持。
  3. 大幅优化一级缓存(浏览器端)的命中,提高翻译速度,降低后端翻译服务压力
  4. 动态渲染的元素进行捕获翻译时,增加对元素去重,避免重复翻译,提高效率
  5. 增加 translate.inProgressNodes 动态页面渲染的自动翻译优化,避免重复翻译的问题
  6. 增加意大利语的判断
  7. 增加机器翻译终端的指定 translate.service.use('client.edge’);
  8. 优化如果之前翻译过,浏览器本身存存储过翻译记录,那么在进行使用时命中缓存后的新增翻译节点,提高检测速度
  9. 调整使用元素整体翻译时,如果出现英文中文混合、英文法语混合、英文德语混合等情况,无论英文占比多大,都不会认为是英文,而是刨除英文之后,按照出现概率最高的语种为当前语种
  10. 增加版本自动检测 translate.versionCheck(); 
  11. 增加 translate.util. versionStringToInt()  版本比对方法;
  12. 网络翻译增加对字符异常过多时,将一次翻译请求拆分为多次请求的翻译支持,如果翻译结果中有手动插入的null的则是凑数组数量的; 
  13. 增加 translate.util.split 数组拆分,可以按照字符数对数组进行自动拆分
  14. 增加 client.edge 模式的语言列表不在依赖服务端,直接在js中内置。
  15. 增加 translate.language.clearCacheLanguage(); 清除历史翻译语种的缓存;
  16. 增加 language.json 返回 serviceId 翻译通道的语种唯一id标识
  17. 优化缓存未命中之后的剩余字符翻译,避免语种检测问题漏掉某些字符会在某些极端场景下导致文字一直不断增加的问题;
  18. 优化如果翻译文本中包含符号+会翻译失效的问题
  19. 优化采用元素整体翻译时,翻译字符如果包含符号*会导致翻译异常的问题
  20. 增加对 [ ] 符号 的适配
  21. 彻底去掉v1版本的translate.init() 初始化,有v3版本的进行全面替代
  22. 修复像是vue等动态渲染有时会出现漏掉某段文本不翻译的问题
  23. 更新 VUE 中使用的文档 (青岛云迪智能科技有限公司 - 赵安吉 提供)
  24. 优化 edge 翻译支持的语言列表
  25. 优化 client.edge 翻译模式针对一次翻译超过五万字符的自动分断翻译适配
  26. 优化韩语文本描述(JeongHyeon Kim 提供)
  27. 修复 指定翻译服务接口 不生效的bug
  28. 优化文本重复追加问题,避免像是 JavaScript 被错误翻译为 “JavaScript的” ,然后出现了多个句子中都出现了Javascript时,会出现翻译后文本重复的问题。会验证翻译后的文本,是否会完全包含翻以前的文本,如果包含了,那么强制将翻译后的文本赋予翻译前的原始文本(也就是不被翻译)

在线体验

http://res.zvo.cn/translate/demo.html

快速使用

在你的网页最末尾, </html> 之前,加入以下代码,会在页面的最底部出现选择语言的标签:

<script src="https://cdn.staticfile.net/translate.js/3.0.3/translate.js"></script>
<script> 
translate.language.setLocal('chinese_simplified'); //设置本地语种(当前网页的语种)。如果不设置,默认就是 'chinese_simplified' 简体中文。 可填写如 'english'、'chinese_simplified' 等,具体参见文档下方关于此的说明。 
translate.service.use('client.edge'); //设置机器翻译服务通道,直接客户端本身,不依赖服务端 。相关说明参考 http://translate.zvo.cn/43086.html
translate.execute(); //进行翻译  
</script>

开源适配

如果您有开源项目,比如文档、cms、UI 框架、后台管理框架、等等,需要采用此进行多语言切换,欢迎喊我,无偿提供全程接入讨论及遇到的问题跟随优化,希望我们的开源项目能互相产生作用一起越来越好。

展开阅读全文
点击引领话题📣 发布并加入讨论🔥
0 评论
12 收藏
分享
返回顶部
顶部