简体繁体互转

586 阅读1分钟

起因

  • 前端活动需要
  • 日本包本地化需要初始化页面文案汇总
  • 前端活动需要
  • 服务端文字替换

功能

  • 文案提取
    • 将提取的导出txt或者Excel
  • 文字翻译

实现

百度API接口文档

要翻译的内容,如何处理进行传参数?怎么过滤不同语言的代码标签?

  • 只提取中文,将页面中午汇总成字符串进行请求。
 		var reg = /[\u4e00-\u9fa5]+/g;
        let query =this.text.match(reg).join();
        console.log('需要传递到参数:',query)
  • 处理后内容

获取回来的是字符串,如何实现匹配内容进行替换?

  • 问题

  • 解决方案

        console.log('拿到的内容',res.data);
        const {trans_result}=res.data;
        let arrSrc = trans_result[0].src.split(',');
        let arrDst = trans_result[0].dst.match(reg);
        console.log(arrSrc,arrDst)
        this.after=this.text.replace(reg,res=>{
          let val=''
          arrSrc.some((item,index)=>{
              if(item==res) val= arrDst[index];
          })
          return val;
        })
       将返回内容src通过‘,’号进行分割为数组
       将返回内容dst通过‘,’号进行分割为数组
       将返回的页面匹配到中文进行对比,如果一样,通过索引,将dst内容取回

文字过多导致请求失败,如何处理?

通过动态IP方式进行处理 将内容数量进行管控。超出即分批进行请求。拿到所有数据后统一进行替换

用户体验建议?

  • 直接将要翻译的文件拖入目标文件夹
  • 开完发手动将目标内容放入翻译框