vue cli3 调用百度翻译API翻译页面的实现示例


Posted in Javascript onSeptember 13, 2019

首先说下,本人为在校大三狗一只,缺少实战开发经验,然后用语什么的也不标准,就按我自己的想法写的,有什么不对的地方欢迎指导指导哈

然后直接开始吧

在需要翻译的地方做上标记,这里用的是添加名为"text-dom"的class的方法。比如:

<div class="text-dom">原文:</div>

定义储存数据的data

data() {
  return {
   before: {
    q: "", //输入的原文
    to: "" //选择目标语言
   }, //保存初始数据
   appid: "2019*********2613", //百度翻译开放平台的个人AppId
   salt: "14*******88", //随机数
   q: "", //请求翻译文本
   from: "aotu", //源语言
   to: "en", //目标语言
   sign: "", //签名
   userkey: "y0Ly*********gJSAs", //百度翻译开放平台的个人密匙
   fyjg: "" //翻译结果
  };
 },

页面渲染完成时,获取页面上的待翻译原文内容

mounted() {
  /* 获取页面所有原文本存放到数组 */
  var textDomArr = new Array();
  $(".text-dom").each(function() {
   textDomArr.push($(this).text());
  });
  /* 拼接所有原文本,并用@符号分隔*/
  var textAllBefore = textDomArr.join("@");
  /* 清除原文本其他符号 */
  var textAll = textAllBefore.replace(/[::\|\\\*^%$#\-]/g, "");
  /* 储存原文本到data中 */
  this.before.q = textAll;
 },

创建一个翻译函数

methods: {
  fanyi() {
   /* 待翻译文本 传入url */
   this.q = this.before.q;
   /* 从页面获取选择的目标语言 传入url */
   this.to = this.before.to;
   /* md5加密,生成签名 */
   this.sign = md5(this.appid + this.q + this.salt + this.userkey);
   /* 对待翻译字符做url编码 */
   this.q = encodeURIComponent(this.before.q);
   /* 请求翻译 */
   this.axios
    .get(
     "/sell/api/trans/vip/translate" +
      "?q=" +
      this.q +
      "&from=" +
      this.from +
      "&to=" +
      this.to +
      "&appid=" +
      this.appid +
      "&salt=" +
      this.salt +
      "&sign=" +
      this.sign
    )
    /* 得到返回数据 */
    .then(res => {
     this.fyjg = res.data.trans_result[0].dst; //得到翻译结果

     /* 把翻译结果分割成数组 */
     var yiwenArr = new Array();
     yiwenArr = this.fyjg.split("@");
     //console.log(yiwenArr);

     /* 用译文替换页面原文 */
     var n = 0;
     $(".text-dom").each(function() {
      $(this).text(yiwenArr[n]);
      n++;
     });
    });
  }
 }

html部分可以用select切换翻译的目标语言

<select v-model="before.to" @change="fanyi()">
    <option value="zh">简体中文</option>
    <option value="cht">繁体中文</option>
    <option value="yue">粤语</option>
    <option value="en">英语</option>
    <option value="kor">韩语</option>
    <option value="jp">日语</option>
    <option value="fra">法语</option>
   </select>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE浏览器PNG图片透明效果代码
Sep 02 Javascript
IE8 兼容性问题(属性名区分大小写)
Jun 04 Javascript
javascript获取鼠标点击元素对象(示例代码)
Dec 20 Javascript
浅谈javascript的调试
Jan 28 Javascript
以Python代码实例展示kNN算法的实际运用
Oct 26 Javascript
跟我学习javascript的垃圾回收机制与内存管理
Nov 23 Javascript
浅谈AngularJS中ng-class的使用方法
Nov 11 Javascript
Vue写一个简单的倒计时按钮功能
Apr 20 Javascript
React+Webpack快速上手指南(小结)
Aug 15 Javascript
利用JavaScript的Map提升性能的方法详解
Aug 14 Javascript
js实现验证码功能
Jul 24 Javascript
Vue3.0的优化总结
Oct 16 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
Sep 13 #Javascript
layui实现把数据表格时间戳转换为时间格式的例子
Sep 12 #Javascript
深入了解JavaScript 防抖和节流
Sep 12 #Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
Sep 12 #Javascript
使用layer.msg 时间设置不起作用的解决方法
Sep 12 #Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 #Javascript
layer iframe 设置关闭按钮的方法
Sep 12 #Javascript
You might like
IIS下PHP的三种配置方式对比
2014/11/20 PHP
php中session与cookie的比较
2015/01/27 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
PHP两个n位的二进制整数相加问题的解决
2018/08/26 PHP
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
2011/01/08 Javascript
js三种排序算法分享
2012/08/16 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
基于jquery实现弹幕效果
2016/09/29 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
vue项目中播放rtmp视频文件流的方法
2020/09/17 Javascript
使用python装饰器验证配置文件示例
2014/02/24 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
学前教育求职自荐信范文
2013/12/25 职场文书
新郎婚宴答谢词
2014/01/19 职场文书
生日礼品店创业计划书范文
2014/03/21 职场文书
大学共青团员个人自我评价
2014/04/16 职场文书
参赛口号
2014/06/16 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
2015年三万活动总结
2015/03/25 职场文书
教师节班会主持词
2015/07/06 职场文书
个人道歉信大全
2019/04/11 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python