Releases: xnx3/translate
Releases · xnx3/translate
v4.0.0
新增及优化了百多项功能及使用细节,v4版本将重点优化视觉感知体验、AI自动化接入微调方面的能力。
全面开放私有化部署能力,部署后可自动接入集成GIteeAI大模型通道,采用混元翻译模型,开启内存缓存加速,具备毫秒相应、高稳定支持。
translate.js 更新项:
- 增加 translate.debug 可以对私有部署翻译服务后的一些细节优化进行自检
- 增加 debug.js 用于开发模式使用,可将二维网页进行升维处理、元素分离分层处理、立体旋转、鼠标跟随、节点定位、数据变动轨迹展示等,以便后续开发AI自动化
- translate.ignore.class 增加更精准的控制参数使用,可以传入自定义function方法进行编程控制
- 增加 Vue3 的适配插件
- 增加 ArcoDesign Vue3 的适配插件
- 增加 NaiveUI Vue3 的适配插件
- 增加 translate.visual.filterRectsByLineInterval 按行间隔筛选rects数组中的节点;
- 增加 translate.js.objToString 将js对象转为字符串
- 增加 layui i18n 插件的ai一键翻译语言配置文件
- 增加 translate.lifecycle.changeLanguage 的钩子,当用户点击切换语言时,触发
- 增加 translate.time 对翻译的每个过程进行耗时监控;
- 增加 translate.node ,用于实时整理记录当前参与翻译的node
- 增加 translate.util.findParticiple 分词发现,用于寻找分词外的指定文本下标返回
- 增加 translate.node.refresh(); 用于同步刷新当前dom跟翻译数据。
- 增加对 html.translatejs-text-hidden small 的文本遮罩
- 增加无刷新页面切换语言的能力
- 增加 translate.language.systems 语言体系,包含阿拉伯字母体系、西里尔字母体系、拉丁体系、泰语体系;
- 增加 translate.language. recognition_languageName_force 强制识别为某个语种,而忽略字符百分比,这个暂时跟translate.language.translateLocal配合使用;
- 增加 addNodeToQueueAnalysis 等返回值,优化全部命中自定义术语后,会漏掉某些加入 translate.node 的场景
- 增加 translate.node.data.key.translateResults 、 translate.element.nodeAnalyse.analyseReplaceBefore_DateToTranslateNode 解决transalte.node 误删除的问题
- 增加 translate.time.execute.start(); 用于实时显示性能耗时情况
- 增加 translate.visual.webPageLoadTranslateBeforeHiddenText_use 用以当触发切换语言时,会自动隐藏切换回源语种的一闪的几秒钟间隙,避免源语种闪现;
- 增加 translate.reset 的 config 参数的传入
- 增加 translate.visual.webPageLoadTranslateBeforeHiddenText 的 config 传入配置参数
- 增加 translate.util.compareStringsIgnoringNumbers 用于排除数字的两个字符串比对
- 增加 translate.lifecycle.execute.finally 用于监控翻译的触发完成;
- 增加 translate.lifecycle.execute.trigger 用于监听 translate.execute 触发
- 增加 translate.visual.filterNodeRepeat 对 node 去重;
- 增加 translate.executeTriggerNumber 用于记录translate.execute 触发了多少次;
- 增加 translate.node.data 的初始化
- 增加 translate.lifecycle.execute.translateNetworkAfter 网络请求之后的触发钩子
- 优化 translate.request.listener.start 必须在翻译执行后才会触发;
- 增加 translate.history 历史翻译信息、 translate.recycle 内存回收,避免长时间及适配异常导致页面卡顿
- 增加 translate.isTranslateExecute() 用以判定当前是否使用翻译,也就是使用多语言切换能力
- 增加 translate.faultTolerance 针对一些UI框架的容错能力;
- 增加 translate.lifecycle.execute.trigger 返回值控制翻译的是否执行、 增加 docs、executeTriggerNumber 参数获取
- 增加 translate.log 用于统一处理控制台日志打印
- 增加 translate.element.nodeToElement 将 node转化为实际的元素节点;
- 增加 translate.ignore 忽略翻译的识别方面,对元素属性的适配;
- 增加 translate.listener.nodeValueChangeNeedTranslate 用于监听发生改变的这个 node 是否有正常需要翻译的内容、以及是否是非translate.js触发的需要被翻译;
- 增加 translate.element.nodeAnalyse.gets 扫描 element/node 下的所有可翻译的子节点(下层节点),返回数组形态;
- 增加 translate.selectLanguageTag.customLanguagesHandle 用以对translate.selectLanguageTag.languages自定义语种进行过滤及自定义显示语种的顺序保持
- 增加 translate.visual.rectsSpaceEliminateOverlap 针对元素的视觉空间重叠计算
- 增加 translate.request.post 请求数据的参数返回;
- 增加对离线配置文件中,每行配置缩进的自识别,以避免漏掉某些配置本身开头就有空格的情况;
- 增加 translate.listener.input 增加对一些UI框架比如 vant 中会有组件的值以 input 的 value 作为显示时,当组件动态改变后,显示的文本未实时跟随翻译的问题;
- 增加 translate.listener.reset 用于还原撤销dom监控;
- 增加 translate.lifecycle.changeLanguage.resetAfter 用于监控语言切换触发
- 增加 translate.config 用于一键导出、导入 所有配置,可以再不同translate对象之间快速进行配置复制克隆。
- 增加 translate.element.iframe 对 iframe进行自动注入并将主页面的配置自动复制进去
- 增加对iframe无src属性的适配,增加对 iframe的src属性动态改变后的自动监听注入
- 增加 translate.ignore.class.push 的传入参数 function 作为第二个参数,用于忽略某个范围内的元素可以编程的方式进行精准调控;
- 增加 translate.util.text_full_half_width_generate 对翻译文本进行逆向回溯;
- 优化 translateText 函数,使其包含用于处理翻译失败的 abnormalFunc。更新了使用示例,以演示如何使用 XMLHttpRequest 对象进行错误处理。
- 优化翻译失败判定,兼容最新增加的giteeai 账户余额不足返回的错误码;
- 修复 translate.lifecycle.execute.renderFinish 异常会因翻译网络请求导致多次触发的异常;
- 优化 translate.visual.webPageLoadTranslateBeforeHiddenText(); 的体验
- 优化自定义术语的适配问题
- 优化 translate.visual.getRects 识别,将返回的一维数组改为二维数组,第二维度每行都单独计算;
- 优化 translate.visual.hideText.hide();、show() 可以传入id
- 优化 translate.progress.api.startUITip(); 遮罩层美化
- 修复同一个标签中,有多个要翻译的属性,且属性的值相同时,会只翻译其中某一个的bug
- 优化 translate.js.transString 的适配
- 优化 translate.js.transObject 对 translate.ignore.text 的支持,以适配 layui i18n 的翻译数据配置的自动化翻译
- 优化 translate.js.find 返回值增加 functionResult 的返回,以适配 function 的value
- 调整自定义术语的 translate.nomenclature.append 传入的第一个from参数,允许为null或空字符串,此时将会自动识别网页当前语种或继承设置的当前本地语种
- 优化当页面本身没有被翻译,打开后手动触发 translate.changeLanguage 进行翻译后,定义的 元素动态监听未能生效的异常
- 优化 translate.listener.start 动态监听 dom ,使处理更高效及避免遗漏
- 优化 translate.util.textReplace ,增加分词 participles 的传入,传入的分词将会被完好的保留,不会被打散。
- 优化 translate.request.send 对 giteeai 注册用户的支持
- 优化 translate.reset ,将有 translate.node 提供数据还原支持
- 优化 translate.request.listener.start 监听,只有当 translate.execute 执行完一次后,才能被触发;
- 优化自定义术语在来回切换语言时,自定义术语会导致有部分命中其他术语语言的,的不被翻译
- 优化 translate.reset() 对 属性的还原
- 优化在gb2312的网页编码上偶发报错问题
- 优化属性变动的监听,以及 class 改动时直接忽略;
- 优化 translate.time.execute 打印每次的翻译语种及翻译文本
- 优化 translate.progress.api.startUITip(); 遮罩的美观
- 优化隐藏文本为瞬间隐藏,禁用动画产生时间差;
- 优化 reset 的顺序及切换语言的语言选择框渲染
- 优化 translate.lifecycle.execute.translateNetworkBefore 增加具体参与翻译的 node 集合的传入
- 优化翻译提示, 当前翻译未完结,新翻译任务已加入等待翻译队列,待上个翻译任务结束后便会执行当前翻译任务,在后面增加此次增加的标签或node
- 优化 translate.lifecycle.execute.translateNetworkBefore 的传入参数,增加 nodes 的传入;
- 优化 translate.lifecycle.execute.start 的传参为对象形态;
- 优化语言下拉选择,第一次会自动缓存语言信息,以后在进行渲染时将不再重新从网络拉取语言信息
- 优化 translate.nomenclature.dispose 对自定义忽略文本的支持
- 优化自定义术语命中部分后,会导致 reset 无法正常还原这个节点的异常
- 优化 translate.request.data ,细化记录的网络请求;
- 优化 translate.progress.api.startUITip(); 对input 的 placeholder 文本隐藏控制并使其更精细处理;
- 优化 translate.nomenclature.replace、 translate.nomenclature.dispose 的传入参数 nodeObject 移除 attribute 属性。 如果目标是元素的属性,应该传入这个属性的node ,使之定位更清晰;
- 优化 translate.listener.addListener 当属性发生改变时,根据属性来精确判定是否需要被翻译,此时也会适配用户所自定义翻译的属性;
- 优化 translate.execute 当上一次翻译还未完成时的拦截,控制台打印提示,增加对传入的属性node也进行参与打印;
- 优化 translate.node 中的记录方式,将原本元素按照属性拆分改为直接按照最终节点进行记录,移除不同属性不同记录,增强约束;
- 优化 layui i18n 一键翻译能力,优化对内容中换行符的适配、优化对function方法体中出现的文本进行翻译适配
- 优化 objToString 方法,优化对内容中换行符的适配、优化对function方法体中出现的文本进行翻译适配
- 优化 translate.office.fullExtract.export 导出,导出的js源码可以直接运行使用
- 优化 translate.office 调整为 translate.offline
- 优化自定义翻译标签元素的 textarea 的 value
- 优化调整 renderTask.taskQueue 以 node 为key,在多个同样翻译文本属不同node的场景下,更精准匹配
- 优化自定义术语跟 input - value 一起时匹配异常的问题
- 优化 translate.progress.api.startUITip() 遮罩增加视觉去重叠;
- 优化网络请求钩子在响应异常时也能正常捕获完成
- 优化 translate.visual.filterNodeRepeat ,增加对视觉面积小的进行过滤移除,以提高视觉效果
- 优化 iframe 中,互相控制切换语种的问题
- 优化离线翻译对配置文本中换行符的支持;
- 优化导出离线翻译数据时对无效字符的处理;
- 优化 translate.renderTask.execute 中进行渲染翻译结果时,如果有dom频繁变动导致 translate.node 中的历史数据出现时间差,导致对不上时,为更好提高容错增加自动创建新的node数据到 translate.node 进行完整数据集;
- 优化 translate.node.get(xxx). lastTranslateRenderTime 的改变放在渲染DOM的前一刻;
- 优化 translate.listener.start(); 监听时,会自动忽略动态增加的 translate.ignore.tag 中的元素,不会触发对其扫描
- 优化 将提示的 translate.execute( docs ) 传入的docs.length 过大 从 1500 放宽到 15000
- 优化忽略class name ,对某些特殊情况如 svg中的文本忽略父节点class name时异常的问题
- 优化 translate.setDocuments() 传入参数,增加参数有效性检查,自动剔除无效不存在的传入对象;
- 优化 translate.language. getTranslateAreaText() 异常返回,即使遇到异常,返回值也是空字符串,而不会存在undefined
- 优化 translate.element.iframe.use(...); 如果以file访问时的拦截提示
- 优化 translate.util.textReplace 对分词处理时,分词中包含多个翻译文本时会出现数据下标异常问题;
- 移除 translate.execute 第二次扫描重组待翻译文本,避免一些自定义分词被打散、提升翻译速度
- 移除 translate.nodeHistory ,有 translate.node 替代
- 移除 translate.addNodeToQueueTextAnalysis ,功能有 translate.nomenclature.dispose 取代
- 移除 translate.execute 在扫面完后继续对历史node进行的判定
- 移除多分词识别字符串的debug打印
- 移除 translate.node.getAttribute ,加入 translate.node 的 node 将不再分 attribute ,使定位更清晰,约束增强;
- 移除 v2 版本的 translate.inProgressNodes
- 移除旧版的 translate.listener.ignoreNode
- 移除旧版本的根据客户端的ip来计算所在国家,进而判定出用户使用的语种,有更精确的用户自己设置的浏览器默认语种替代
翻译服务端更新:
- 文本预处理能力全部重构,对邮箱、网址、文件名、等进行翻译前自动识别处理,对长文本英文语句进行自动拆句、对html文本进行自动识别处理
- 增加删除域名管理页面多余提示,以及安装SSL页面完善拦截增加HTTPS域名访问拦截安装SSL证书操作
- 增加译文微调页面,目标域名校验以及翻译结果空字符校验
- 增加 standbyConfig 修复通道的 accuracy 单独配置
- 增加启动后的请求拦截,在 translate.service 未完全初始化完成之前,禁止任何请求进入
- 增加腾讯混元大模型的接入支持
- 增加译文微调页面,目标域名校验以及翻译结果空字符校验
- 增加 noTranslateModel 无翻译模型通道的配置
- 增加 config.properties 中的 translate.service.set.networktimeout 配置
- 增加 BigModelUtil.trans 中 platform 参数传入,以更好适配各个平台精准匹配;
- 增加对 windows的适配
- 增加 translate.service.set.bigModel.appendPrompt 的设置,可以自定义追加提示词
- 增加控制台操作自定义术语的能力
- 优化将管理平台安装SSL页面线上静态layui样式引入替换为本地路径
- 优化域名管理列表加载慢问题去掉导航js引入
- 优化大模型对giteeai余额不足的拦截问题
- 优化 /admin/system/status.json 增加 gc 相关参数返回
- 优化 cache 序列化内存泄露问题
- 优化私有化部署的GIteeAI自动接入引导步骤
- 优化健康检查请求接口,对通道、redis、gc、线程池等进行全面检查
- 优化大模型拆分使用 ListUtil,而不再使用 JsonUtil,避免一些特殊文字如 null 会序列化异常的问题
- 优化 bigmodelUtil 的 textBeforeAfterHandle 下标异常问题
- 优化健康检查及响应非200将计入 error.log
- 优化 Ollama 的精准微调
- 优化 LibreTranslte 数组分割异常问题,同大模型的分割,每次只翻译其中一个,而非一次性翻译多个
- 优化重构授权体系
- 优化域名管理大模型字段检测如果不是giteeAI模型将不再显示,并且修改掉写入设置config配置文件没有空行问题
- 优化新增编辑域名模型时将域名管理中的大模型传值错误的model参数替换
- 优化域名管理保存大模型时giteeAI名称错误问题
- 优化 ServiceLoad 的翻译服务加载,避免极其频繁的从反射中加载类
v3.18.98
v3.18.89
v3.18.0
- 优化 translate.language.setUrlParamControl(...) 跟 translate.language.clearCacheLanguage() 同时出现时,如果执行顺序不对会打印使用提示
- 修复 translate.setAutoDiscriminateLocalLanguage() 异常的问题
- 优化对动态监听页面变动进行自动翻译时,如果配置了离线翻译,依旧还会有出现原文一闪而逝的状况
- 增加 layuiadmin 的完美适配方案 (仓库的 extend/layuiAdmin/ 目录下)
- 优化 translate.request.api.translate 如果设置为空字符串,则会禁止网络请求,以提高用户的完全极致体验
- 浏览器本地语种 browserLanguage 增加 zh 的对应
- 增加 translate.element.tagAttribute 条件判定支持
- 针对 client.edge 的罗曼语族优化、优化 send 网络请求时 xhr 携带的 data 参数
- 优化对指定标签的属性进行翻译中的input的value属性,当用户手动更改的内容,也能被正常翻译
- 启用 translate.lifecycle.execute.start 作为进行翻译开始时的监听
- 修复个别情况弹出iframe子页面时,会触发页面整体刷新导致无法使用的异常
- 优化 translate.util.textReplace 对翻译结果文本中前、后出现空格的处理
- 增加 translate.ignore.setTextRegexs 对忽略文本增加正则方式指定的支持,有 wangliangyu 提交贡献
- translate.util.getElementPosition 优化,兼容es5
- 添加对react的模块化组件支持,简化react的引入使用 (位于仓库的 extend/react/ 目录下)
- 优化对多语种混合场景下日语的识别
- 增加 translate.visual.hideText 用于切换语言后,刷新当前页面之后,自动隐藏原文,当翻译完成后,再讲原文显示出
- translate.service 全面接入 giteeai 提供大模型在线翻译的支持
- translate.service 小牛翻译增加 url 的设置以针对离线私有化部署小牛SDK的场景进行更好的自定义
- translate.service 修复当全名命中内存缓存,且没有命中文件缓存这种情况时,出现下下标对比异常的问题
- translate.service 调整,当配置文件中没有 redis.host 配置时,则是不使用redis, 此时针对翻译本身 language.json 、translate.json 的使用都是无影响的,只是内存级缓存不在启用
- translate.service 优化前后过滤问题,对组合型标签如 {} [] 不在过滤
- translate.service request_xxx.log 日志增加 useTime 接口处理耗时的记录
- translate.service 内置自动设置开启SSL证书访问并自动续期SSL证书
- translate.service 增加 translate.service.thread.apiPercentageIntercept 的配置
- translate.service 增加单独的打分配置 translate.service.set.repair.config
- translate.service 域名白名单增加 /admin/domain/getDomainList.json、 /admin/domain/deleteDomain.json 管理接口
- translate.service 增加 /admin/domain/getDomainStatus.json ,另外 域名列表接口增加参数控制是否模糊搜索还是精确搜索
- translate.service 译文管理,增加 对 domain 的精确搜索
- translate.service 全面优化 serviceName 跟翻译服务的对应关系,其将对应到具体的大模型上,将主通道、修复通道、备用通道可以使用不同的模型来区分语种支持
- translate.service 大模型翻译的 max_tokens 参数改为动态调整,自动根据翻译的文本动态调控值
- translate.service 将中译英漏翻译问题修复失败、大模型接口非正常响应 ,都将进入修复模式,而非单纯只是翻译结果打分不合适才进入修复模式
- translate.service 全面优化 URL 识别
- translate.service 增加英文断句拆分支持
- translate.service 增加 translate.service.set.waitThreadNumber 、 translate.service.set.threadDebug 的配置 、增加 等待线程的上限,避免异常情况超限
- translate.service 优化 index.do 健康检查 url
- translate.service 优化 /admin/system/status.json 获取系统状态接口,响应内容增加大模型请求现成池相关数据、jvm相关数据
- translate.service 增加 admin 项目,用于 translate.service 服务开放API提供可视化客户端的管理界面。(位于仓库的 extend/translate.service-admin/ 目录下)
- 发布 translate100 翻译模型,针对超低配置的终端(1核2G内存)运行使用、做到自动识别适配全球主流的上百个语言。CPU运行速度超43token/s,主要用于针对私有化部署场景,采用qwen3 8~32B 做主要翻译时,针对千问大模型处理不了的部分,又做的一层保障,将qwen3翻译不达标的文本再交由 translate100 来进行最后的翻译,以完成大模型翻译的可靠稳定性闭环。
v3.17.0
- translate.service 深度绑定 GiteeAI 作为公有云翻译大模型算力支持
- translate.service 增加shell一键部署后通过访问自助完成GiteeAI的开通及整个接入流程。
- 增加 translate.ignore.setTextRegexs 可以正则的方式设置不进行翻译的文本 (有使用者wangliangyu提供)
- 增加 translate.lifecycle.execute.renderFinish 生命周期相关监控
- 增加 translate.visual.adjustTranslationSpacesByNodequeueUuid 用于进行视觉上的坐标处理,对类似于中译英场景,元素紧挨时两个单词会紧贴的问题。
- 增加 translate.visual 用于人眼看到的视觉层的处理
- 增加 translate.util.getElementPosition 用于计算实际显示的元素坐标及尺寸
- 优化 translate.reset() 只对最后一次的翻译进行还原操作(不刷新当前页面)
- 优化 translate.progress.api.startUITip() 翻译中的提示
- 优化for遍历对象时排除原型链上的属性
- 优化 init.json、language.json、ip.json、connectTest.json 为可配置,可屏蔽不发起网络请求
- 优化 translate.language.autoRecognitionLocalLanguage 自动识别当前语种时,识别的是 translate.setDocument() 区域的语种
- 优化对自定义接口路径时测速失败的支持
- 优化 translate.request.listener.start() 监听对旧浏览器的兼容
- 增加 PerformanceObserver 对象的判断,避免在老旧的浏览器里报错
- 增加对 translate.progress 的自动删除
- 优化翻译执行的等待,私有部署服务端可以禁用等待
- 增加 translate.office.fullExtract 以便对整站进行离线翻译的配置输出
- 优化 translate.util.textReplace 中翻英的阅读流畅度
- 去掉 translate.enterprise.isUse 的判断,更好适配定制精简版 translate.js
- 增加 translate.request.appendParams 的支持
- 增加 translate.listener.use 用于记录代码是否启用监听
- 增加对自定义翻译标签元素的忽略翻译能力支持
- 增加本地语种 希伯来语 的适配
- 优化 translate.changeLanguage 在iframe中进行切换时,也会影响父层一起切换语种
- translate.service 增加对内存缓存中的译文进行修改,可以模糊搜索原文,找到指定原文及译文,对翻译不满意的译文手动进行修改。
- translate.service 优化流量控制配置,如果cycleTime设置为0则是不使用流控
- translate.service 文本预处理,增加识别字符后的的特殊符号进行提取处理,不让特殊字符进入翻译的工具类
- translate.service 增加对内存缓存进行设置及清空相关管理接口
- translate.service 优化字符拆分跟 translate.js 的合并时空格补充的异常
- translate.service 优化中译英,分隔符本身也将全角转为半角的问题
- translate.service 全面优化文本分割能力,可通过配置自定义文本分割的字符
- translate.service 优化对 qwen3 大模型的支持及推理能力控制
- translate.service 增加 translate.service.set.useSemanticsModelApi 配置,可自由决定是否启用大模型判断语义
v3.16.0
v3.15.5
v3.15.0
- translate.js 增加 translate.js.transObject 、translate.js.transString 可以对js对象进行翻译,传入js对象或者js源码,对它里面的值进行翻译。用于针对类似于js绘图场景,图片中包含的文本无法翻译的问题
- translate.js 优化 translate.progress.api.startUITip(); 的翻译进行中的视觉效果
- translate.js 优化本地语种俄语、日语的识别
- translate.js 增加本地语种为泰语、阿拉伯语、罗马尼亚语 的识别翻译
- translate.js 全面优化类似于中文、日语翻译为英语、法语这种,有连续字符翻译文单词用空格间隔的语种时,其前后的空格识别及自动追加。
- translate.js 增加 translate.util.textReplace 的能力,增加对替换目标文本中也包待替换文本时的适配、以及多次出现待替换文本等复杂情况
- tcdn 大幅优化缓存刷新的效率
- tcdn 优化json格式不在静态资源重定向名单内,而是每次都动态代理请求新数据
- tcdn 独立出 /tcdn.js 文件,避免将一些js直接追加到原本的html中。
- tcdn-admin 优化源站编辑时,子域名选项这块的描述,增加自定义子域名的文档说明
- tcdn-admin 增加数据自动同步接口,当新解压出的tcdn-admin 连接已有配置数据的tcdn时,会自动从tcdn服务端同步配置数据下来到 tcdn-admin
- tcdn 并增加一键升级tcdn服务端应用到最新版本的接口 ,并在 tcdn-admin 管理端增加一键升级tcdn到最新版的能力
- tcdn 优化缓存线程,网站扫描的爬虫线程数跟当前CPU线程数一致。
- tcdn 优化网站扫描线程扫描时,如果遇到超链接是图片、视频等静态资源将直接掠过
- translate.service 优化文件缓存、内存缓存的存储数据记录统计
- translate.service 增加 /admin/setDomain.json 接口,可进行实时设置
- translate.service 的自定义domain,增加 serviceChannel 参数的自定义,可以自定义某个域名或者key的翻译通道
- translate.service 优化文本分割,对长文本进行自动分割为短文本,交有大(小)模型进行翻译
- translate.service 增加优化针对推理模型的适配
- 增加gemma支持
- translate.service 大模型翻译结果精度识别大幅优化,并增加 40 ~ 60 两个分数线
- translate.service 增加ollama的适配
- translate.service 增加MTranServer提供的翻译服务适配
- translate.api 优化对 <meta http-equiv="Refresh" 的适配,使这种页面也能被翻译,而非返回报错提示
- translate.api 优化对无body的页面也能进行翻译,而非返回报错提示
- translate.api 优化翻译完成之后,接口响应之前,在增加一层验证,验证翻译结果页面跟传入的页面的一致性。
- translate.api 如果传入页面是 GBK、GB2312 编码,返回的错误提示会有友好的提示说明