Skip to content

v4.0.0

Latest

Choose a tag to compare

@xnx3 xnx3 released this 10 Feb 07:23

新增及优化了百多项功能及使用细节,v4版本将重点优化视觉感知体验、AI自动化接入微调方面的能力。
全面开放私有化部署能力,部署后可自动接入集成GIteeAI大模型通道,采用混元翻译模型,开启内存缓存加速,具备毫秒相应、高稳定支持。

translate.js 更新项:

  1. 增加 translate.debug 可以对私有部署翻译服务后的一些细节优化进行自检
  2. 增加 debug.js 用于开发模式使用,可将二维网页进行升维处理、元素分离分层处理、立体旋转、鼠标跟随、节点定位、数据变动轨迹展示等,以便后续开发AI自动化
  3. translate.ignore.class 增加更精准的控制参数使用,可以传入自定义function方法进行编程控制
  4. 增加 Vue3 的适配插件
  5. 增加 ArcoDesign Vue3 的适配插件
  6. 增加 NaiveUI Vue3 的适配插件
  7. 增加 translate.visual.filterRectsByLineInterval 按行间隔筛选rects数组中的节点;
  8. 增加 translate.js.objToString 将js对象转为字符串
  9. 增加 layui i18n 插件的ai一键翻译语言配置文件
  10. 增加 translate.lifecycle.changeLanguage 的钩子,当用户点击切换语言时,触发
  11. 增加 translate.time 对翻译的每个过程进行耗时监控;
  12. 增加 translate.node ,用于实时整理记录当前参与翻译的node
  13. 增加 translate.util.findParticiple 分词发现,用于寻找分词外的指定文本下标返回
  14. 增加 translate.node.refresh(); 用于同步刷新当前dom跟翻译数据。
  15. 增加对 html.translatejs-text-hidden small 的文本遮罩
  16. 增加无刷新页面切换语言的能力
  17. 增加 translate.language.systems 语言体系,包含阿拉伯字母体系、西里尔字母体系、拉丁体系、泰语体系;
  18. 增加 translate.language. recognition_languageName_force 强制识别为某个语种,而忽略字符百分比,这个暂时跟translate.language.translateLocal配合使用;
  19. 增加 addNodeToQueueAnalysis 等返回值,优化全部命中自定义术语后,会漏掉某些加入 translate.node 的场景
  20. 增加 translate.node.data.key.translateResults 、 translate.element.nodeAnalyse.analyseReplaceBefore_DateToTranslateNode 解决transalte.node 误删除的问题
  21. 增加 translate.time.execute.start(); 用于实时显示性能耗时情况
  22. 增加 translate.visual.webPageLoadTranslateBeforeHiddenText_use 用以当触发切换语言时,会自动隐藏切换回源语种的一闪的几秒钟间隙,避免源语种闪现;
  23. 增加 translate.reset 的 config 参数的传入
  24. 增加 translate.visual.webPageLoadTranslateBeforeHiddenText 的 config 传入配置参数
  25. 增加 translate.util.compareStringsIgnoringNumbers 用于排除数字的两个字符串比对
  26. 增加 translate.lifecycle.execute.finally 用于监控翻译的触发完成;
  27. 增加 translate.lifecycle.execute.trigger 用于监听 translate.execute 触发
  28. 增加 translate.visual.filterNodeRepeat 对 node 去重;
  29. 增加 translate.executeTriggerNumber 用于记录translate.execute 触发了多少次;
  30. 增加 translate.node.data 的初始化
  31. 增加 translate.lifecycle.execute.translateNetworkAfter 网络请求之后的触发钩子
  32. 优化 translate.request.listener.start 必须在翻译执行后才会触发;
  33. 增加 translate.history 历史翻译信息、 translate.recycle 内存回收,避免长时间及适配异常导致页面卡顿
  34. 增加 translate.isTranslateExecute() 用以判定当前是否使用翻译,也就是使用多语言切换能力
  35. 增加 translate.faultTolerance 针对一些UI框架的容错能力;
  36. 增加 translate.lifecycle.execute.trigger 返回值控制翻译的是否执行、 增加 docs、executeTriggerNumber 参数获取
  37. 增加 translate.log 用于统一处理控制台日志打印
  38. 增加 translate.element.nodeToElement 将 node转化为实际的元素节点;
  39. 增加 translate.ignore 忽略翻译的识别方面,对元素属性的适配;
  40. 增加 translate.listener.nodeValueChangeNeedTranslate 用于监听发生改变的这个 node 是否有正常需要翻译的内容、以及是否是非translate.js触发的需要被翻译;
  41. 增加 translate.element.nodeAnalyse.gets 扫描 element/node 下的所有可翻译的子节点(下层节点),返回数组形态;
  42. 增加 translate.selectLanguageTag.customLanguagesHandle 用以对translate.selectLanguageTag.languages自定义语种进行过滤及自定义显示语种的顺序保持
  43. 增加 translate.visual.rectsSpaceEliminateOverlap 针对元素的视觉空间重叠计算
  44. 增加 translate.request.post 请求数据的参数返回;
  45. 增加对离线配置文件中,每行配置缩进的自识别,以避免漏掉某些配置本身开头就有空格的情况;
  46. 增加 translate.listener.input 增加对一些UI框架比如 vant 中会有组件的值以 input 的 value 作为显示时,当组件动态改变后,显示的文本未实时跟随翻译的问题;
  47. 增加 translate.listener.reset 用于还原撤销dom监控;
  48. 增加 translate.lifecycle.changeLanguage.resetAfter 用于监控语言切换触发
  49. 增加 translate.config 用于一键导出、导入 所有配置,可以再不同translate对象之间快速进行配置复制克隆。
  50. 增加 translate.element.iframe 对 iframe进行自动注入并将主页面的配置自动复制进去
  51. 增加对iframe无src属性的适配,增加对 iframe的src属性动态改变后的自动监听注入
  52. 增加 translate.ignore.class.push 的传入参数 function 作为第二个参数,用于忽略某个范围内的元素可以编程的方式进行精准调控;
  53. 增加 translate.util.text_full_half_width_generate 对翻译文本进行逆向回溯;
  54. 优化 translateText 函数,使其包含用于处理翻译失败的 abnormalFunc。更新了使用示例,以演示如何使用 XMLHttpRequest 对象进行错误处理。
  55. 优化翻译失败判定,兼容最新增加的giteeai 账户余额不足返回的错误码;
  56. 修复 translate.lifecycle.execute.renderFinish 异常会因翻译网络请求导致多次触发的异常;
  57. 优化 translate.visual.webPageLoadTranslateBeforeHiddenText(); 的体验
  58. 优化自定义术语的适配问题
  59. 优化 translate.visual.getRects 识别,将返回的一维数组改为二维数组,第二维度每行都单独计算;
  60. 优化 translate.visual.hideText.hide();、show() 可以传入id
  61. 优化 translate.progress.api.startUITip(); 遮罩层美化
  62. 修复同一个标签中,有多个要翻译的属性,且属性的值相同时,会只翻译其中某一个的bug
  63. 优化 translate.js.transString 的适配
  64. 优化 translate.js.transObject 对 translate.ignore.text 的支持,以适配 layui i18n 的翻译数据配置的自动化翻译
  65. 优化 translate.js.find 返回值增加 functionResult 的返回,以适配 function 的value
  66. 调整自定义术语的 translate.nomenclature.append 传入的第一个from参数,允许为null或空字符串,此时将会自动识别网页当前语种或继承设置的当前本地语种
  67. 优化当页面本身没有被翻译,打开后手动触发 translate.changeLanguage 进行翻译后,定义的 元素动态监听未能生效的异常
  68. 优化 translate.listener.start 动态监听 dom ,使处理更高效及避免遗漏
  69. 优化 translate.util.textReplace ,增加分词 participles 的传入,传入的分词将会被完好的保留,不会被打散。
  70. 优化 translate.request.send 对 giteeai 注册用户的支持
  71. 优化 translate.reset ,将有 translate.node 提供数据还原支持
  72. 优化 translate.request.listener.start 监听,只有当 translate.execute 执行完一次后,才能被触发;
  73. 优化自定义术语在来回切换语言时,自定义术语会导致有部分命中其他术语语言的,的不被翻译
  74. 优化 translate.reset() 对 属性的还原
  75. 优化在gb2312的网页编码上偶发报错问题
  76. 优化属性变动的监听,以及 class 改动时直接忽略;
  77. 优化 translate.time.execute 打印每次的翻译语种及翻译文本
  78. 优化 translate.progress.api.startUITip(); 遮罩的美观
  79. 优化隐藏文本为瞬间隐藏,禁用动画产生时间差;
  80. 优化 reset 的顺序及切换语言的语言选择框渲染
  81. 优化 translate.lifecycle.execute.translateNetworkBefore 增加具体参与翻译的 node 集合的传入
  82. 优化翻译提示, 当前翻译未完结,新翻译任务已加入等待翻译队列,待上个翻译任务结束后便会执行当前翻译任务,在后面增加此次增加的标签或node
  83. 优化 translate.lifecycle.execute.translateNetworkBefore 的传入参数,增加 nodes 的传入;
  84. 优化 translate.lifecycle.execute.start 的传参为对象形态;
  85. 优化语言下拉选择,第一次会自动缓存语言信息,以后在进行渲染时将不再重新从网络拉取语言信息
  86. 优化 translate.nomenclature.dispose 对自定义忽略文本的支持
  87. 优化自定义术语命中部分后,会导致 reset 无法正常还原这个节点的异常
  88. 优化 translate.request.data ,细化记录的网络请求;
  89. 优化 translate.progress.api.startUITip(); 对input 的 placeholder 文本隐藏控制并使其更精细处理;
  90. 优化 translate.nomenclature.replace、 translate.nomenclature.dispose 的传入参数 nodeObject 移除 attribute 属性。 如果目标是元素的属性,应该传入这个属性的node ,使之定位更清晰;
  91. 优化 translate.listener.addListener 当属性发生改变时,根据属性来精确判定是否需要被翻译,此时也会适配用户所自定义翻译的属性;
  92. 优化 translate.execute 当上一次翻译还未完成时的拦截,控制台打印提示,增加对传入的属性node也进行参与打印;
  93. 优化 translate.node 中的记录方式,将原本元素按照属性拆分改为直接按照最终节点进行记录,移除不同属性不同记录,增强约束;
  94. 优化 layui i18n 一键翻译能力,优化对内容中换行符的适配、优化对function方法体中出现的文本进行翻译适配
  95. 优化 objToString 方法,优化对内容中换行符的适配、优化对function方法体中出现的文本进行翻译适配
  96. 优化 translate.office.fullExtract.export 导出,导出的js源码可以直接运行使用
  97. 优化 translate.office 调整为 translate.offline
  98. 优化自定义翻译标签元素的 textarea 的 value
  99. 优化调整 renderTask.taskQueue 以 node 为key,在多个同样翻译文本属不同node的场景下,更精准匹配
  100. 优化自定义术语跟 input - value 一起时匹配异常的问题
  101. 优化 translate.progress.api.startUITip() 遮罩增加视觉去重叠;
  102. 优化网络请求钩子在响应异常时也能正常捕获完成
  103. 优化 translate.visual.filterNodeRepeat ,增加对视觉面积小的进行过滤移除,以提高视觉效果
  104. 优化 iframe 中,互相控制切换语种的问题
  105. 优化离线翻译对配置文本中换行符的支持;
  106. 优化导出离线翻译数据时对无效字符的处理;
  107. 优化 translate.renderTask.execute 中进行渲染翻译结果时,如果有dom频繁变动导致 translate.node 中的历史数据出现时间差,导致对不上时,为更好提高容错增加自动创建新的node数据到 translate.node 进行完整数据集;
  108. 优化 translate.node.get(xxx). lastTranslateRenderTime 的改变放在渲染DOM的前一刻;
  109. 优化 translate.listener.start(); 监听时,会自动忽略动态增加的 translate.ignore.tag 中的元素,不会触发对其扫描
  110. 优化 将提示的 translate.execute( docs ) 传入的docs.length 过大 从 1500 放宽到 15000
  111. 优化忽略class name ,对某些特殊情况如 svg中的文本忽略父节点class name时异常的问题
  112. 优化 translate.setDocuments() 传入参数,增加参数有效性检查,自动剔除无效不存在的传入对象;
  113. 优化 translate.language. getTranslateAreaText() 异常返回,即使遇到异常,返回值也是空字符串,而不会存在undefined
  114. 优化 translate.element.iframe.use(...); 如果以file访问时的拦截提示
  115. 优化 translate.util.textReplace 对分词处理时,分词中包含多个翻译文本时会出现数据下标异常问题;
  116. 移除 translate.execute 第二次扫描重组待翻译文本,避免一些自定义分词被打散、提升翻译速度
  117. 移除 translate.nodeHistory ,有 translate.node 替代
  118. 移除 translate.addNodeToQueueTextAnalysis ,功能有 translate.nomenclature.dispose 取代
  119. 移除 translate.execute 在扫面完后继续对历史node进行的判定
  120. 移除多分词识别字符串的debug打印
  121. 移除 translate.node.getAttribute ,加入 translate.node 的 node 将不再分 attribute ,使定位更清晰,约束增强;
  122. 移除 v2 版本的 translate.inProgressNodes
  123. 移除旧版的 translate.listener.ignoreNode
  124. 移除旧版本的根据客户端的ip来计算所在国家,进而判定出用户使用的语种,有更精确的用户自己设置的浏览器默认语种替代

翻译服务端更新:

  1. 文本预处理能力全部重构,对邮箱、网址、文件名、等进行翻译前自动识别处理,对长文本英文语句进行自动拆句、对html文本进行自动识别处理
  2. 增加删除域名管理页面多余提示,以及安装SSL页面完善拦截增加HTTPS域名访问拦截安装SSL证书操作
  3. 增加译文微调页面,目标域名校验以及翻译结果空字符校验
  4. 增加 standbyConfig 修复通道的 accuracy 单独配置
  5. 增加启动后的请求拦截,在 translate.service 未完全初始化完成之前,禁止任何请求进入
  6. 增加腾讯混元大模型的接入支持
  7. 增加译文微调页面,目标域名校验以及翻译结果空字符校验
  8. 增加 noTranslateModel 无翻译模型通道的配置
  9. 增加 config.properties 中的 translate.service.set.networktimeout 配置
  10. 增加 BigModelUtil.trans 中 platform 参数传入,以更好适配各个平台精准匹配;
  11. 增加对 windows的适配
  12. 增加 translate.service.set.bigModel.appendPrompt 的设置,可以自定义追加提示词
  13. 增加控制台操作自定义术语的能力
  14. 优化将管理平台安装SSL页面线上静态layui样式引入替换为本地路径
  15. 优化域名管理列表加载慢问题去掉导航js引入
  16. 优化大模型对giteeai余额不足的拦截问题
  17. 优化 /admin/system/status.json 增加 gc 相关参数返回
  18. 优化 cache 序列化内存泄露问题
  19. 优化私有化部署的GIteeAI自动接入引导步骤
  20. 优化健康检查请求接口,对通道、redis、gc、线程池等进行全面检查
  21. 优化大模型拆分使用 ListUtil,而不再使用 JsonUtil,避免一些特殊文字如 null 会序列化异常的问题
  22. 优化 bigmodelUtil 的 textBeforeAfterHandle 下标异常问题
  23. 优化健康检查及响应非200将计入 error.log
  24. 优化 Ollama 的精准微调
  25. 优化 LibreTranslte 数组分割异常问题,同大模型的分割,每次只翻译其中一个,而非一次性翻译多个
  26. 优化重构授权体系
  27. 优化域名管理大模型字段检测如果不是giteeAI模型将不再显示,并且修改掉写入设置config配置文件没有空行问题
  28. 优化新增编辑域名模型时将域名管理中的大模型传值错误的model参数替换
  29. 优化域名管理保存大模型时giteeAI名称错误问题
  30. 优化 ServiceLoad 的翻译服务加载,避免极其频繁的从反射中加载类