在做一些网站的时候偶尔会遇到需要中英文翻译的部分,也许是提供用户在线翻译的功能,也可能是把用户输入的一整段文字进行翻译。小龙最近就遇到这么一个事儿,对接中外两方用户的沟通,为了对语言不那么顺畅的用户提供一点点帮助,在网站里嵌入了自动翻译的功能,就简化了用户复制黏贴,再打开百度翻译的步骤了。

小龙用的是有道提供的api,普通用户就可以免费使用的。有道提供了网页模块的调用法和数据接口型的,网页模块的会比较简单一些,在他们官网上把写好的代码复制进html就好,这边简单展开以下数据接口型的调用。

首先,我们需要一个key,做过百度api的朋友对这个应该是完全不陌生了。申请地址:http://ai.youdao.com/,注册后就可以申请了。

有道提供的api很简单:

  http://fanyi.youdao.com/openapi.do?keyfrom=<keyfrom>&key=<key>&type=data&doctype=<doctype>&version=1.1&q=要翻译的文本

一个很标准的GET形式的数据传输,想看结果的朋友可以直接申请key以后,将这段链接复制进浏览器的地址栏,打开,就可以看到回传的数据了,记得数据类型必须是utf8的,还要url转码哦。

小龙给一个PHP的DEMO给参考下:

function simple_translate($sentence){$url_sentence = urlencode($sentence);$url = "http://fanyi.youdao.com/openapi.do?keyfrom=xinlei&key=759115437&type=data&doctype=json&version=1.1&q=".$url_sentence;$str_json = file_get_contents($url);if ($str_json){$info = json_decode($str_json);$translation = $info->translation;$result_sentence = $translation[0];}else{$result_sentence = $sentence;}return $result_sentence;
}

这个api有个小小的缺点,就是只能翻译200个字符以内的段落,多了,他就OOXX了~~~~

我们的解决方法嘛,小龙就把段落切成了句子,然后一句句翻,翻完了拼起来呗。。。最原始的方法了,不过,很好使

给一个加强版的DEMO,会调用到上面的function

function translate($string){if ($string){$symbol_array = array(".", "?", "!", ")", "(", "[", "]","{", "}",":");$i = 0;$result = "";while($i < strlen($string)){if (in_array($string[$i], $symbol_array)){$s = $string[$i];$string1 = substr($string, 0, $i);$string2 = substr($string, $i+1);$result = simple_translate($string1).$s.translate($string2);break;}$i++;}if (!$result){$result = simple_translate($string);}return $result;}else{return "";}}

  按照 . , ? ! : () [] {} 对于段落进行了切割,然后逐句翻译,最后再整个拼起来。

转载于:https://www.cnblogs.com/starkiller/p/6928954.html

关于网站调用在线翻译api实现翻译功能相关推荐

  1. Python 调用有道翻译api接口翻译外文网站的整篇西班牙文实战演示

    Python 调用有道翻译 api 接口翻译整篇西班牙文实战演示 第一章:翻译效果展示 ① 翻译文章示例一[阿尔卡拉门的无海摩纳哥:"不到4万欧元,你就不能在这里租任何东西."] ...

  2. python有道翻译接口-Python调用有道翻译api实现翻译

    通过调用有道翻译的api,实现中译英.其他语言译中文 代码: # coding=utf-8 import urllib import urllib2 import json import time i ...

  3. python有道翻译接口-Python通过调用有道翻译api实现翻译功能示例

    本文实例讲述了Python通过调用有道翻译api实现翻译功能.分享给大家供大家参考,具体如下: 通过调用有道翻译的api,实现中译英.其他语言译中文 Python代码: # coding=utf-8 ...

  4. python 调用Google Translate API进行翻译

    调用Google 翻译API进行翻译 #!/usr/bin/python #coding: UTF-8 import sys reload(sys) sys.setdefaultencoding('u ...

  5. php调用翻译,PHP调用有道词典翻译API实现翻译功能及代码

    PHP调用有道词典翻译API实现翻译功能及代码,其中英文可以翻译,中文不能翻译是什么问题啊?急 http://fanyi.youdao.com/openapi.do?keyfrom=cxvsdffd3 ...

  6. php有道,PHP调用有道词典翻译API实现通译功能及代码

    PHP调用有道词典翻译API实现通译功能及代码PHP调用有道词典翻译API实现翻译功能及代码 PHP调用有道词典翻译API实现翻译功能及代码,其中英文可以翻译,中文不能翻译是什么问题啊?急 http: ...

  7. python 百度翻译api_Python如何通过百度翻译API实现翻译功能

    本人英语不好,很多词组不认识,只能借助工具:百度翻译和谷歌翻译都不错,近期自学Python,就想能否自己设计一个百度翻译软件呢? 百度翻译开放平台:http://api.fanyi.baidu.com ...

  8. python 英语翻译 excel_Python调用百度翻译api批量翻译Excel这工作效率

    目录 背景 实现Excel表批量翻译,解除百度翻译一次只能5000字数的限制. 源代码 百度翻译api 这里直接使用大佬已经写好的代码,自己稍加改动.账号密码需要自行去百度翻译开放平台注册.翻译语言 ...

  9. python调用谷歌翻译英文文献pdf_Python 调用 Google Translate API 批量翻译文章

    有时候批量翻译中文文章,批量变成各个小语种的语言,手动的粘贴复制是非常慢的.需要调用翻译 API 接口,综合对比市面上的各个翻译 API,个人觉得 Google 的翻译 API 最为好用和准确. 下面 ...

  10. python调用youdao百度翻译API,翻译文本(tcy)

    用途:本文通过python实现在线翻译 说明:方式1:youdao实现翻译(不需要注册,翻译文本自动识别)方式2:baidu翻译API(需要注册,获取ip和密码)首先需要在百度翻译API官网进行注册, ...

最新文章

  1. 小插件 打开Android程序动画,android-单击小部件后如何启动活动?
  2. 算法---------两数之和
  3. jquery.dragsort.js 实现拖拽过程遇到的问题
  4. Crawler:反爬虫机制之基于urllib库+伪装浏览器+代理访问(代理地址随机选取)+实现下载某网址上所有的图片到指定文件夹
  5. (转)让Spring自动扫描和管理Bean
  6. 面向自动驾驶行业,Imagination推出性能高达600 TOPS的多核AI加速器
  7. css点滴3—5种方式实现圆环
  8. python 与栈 入门
  9. ERP知识普及连载(13)
  10. 最新版ins安装包下载
  11. 深挖那些隐藏在Linux中的炫酷主题
  12. Hibernate框架搭建
  13. k8s修改集群IP--不重置集群
  14. 使用Fairseq进行机器翻译
  15. Xenu's Link Sleuth 的使用
  16. python笔记本好_如何使用 Python 分析笔记本电脑上的 100 GB 数据
  17. QQ防红跳转短网址生成网站源码(91she完整源码)
  18. 物联网无线通信技术蓝牙、wifi、zigbee
  19. 计算机word实线边框在哪,4.22 Word 2016 形状轮廓(边框)设置(实线、渐变线)-Word2016入门进阶教程-亮术网...
  20. 根域名服务器都在国外,中国安全吗?安全

热门文章

  1. 各种汇编器masm masm32 fasm nasm yasm gas的区别
  2. 祝贺!屠呦呦再获国际大奖!一文读懂:神药青蒿素那些我们不知道的事
  3. OpenCV库使用sift函数,出现“The function/feature is not implemented”问题解决方法
  4. 死锁产生的原因及四个必要条件
  5. WeakHashMap和四种引用总结:
  6. 什么是Servlet?
  7. 001_Layout布局
  8. ajax从mysql提取数据在html中_Python骚操作,提取pdf文件中的表格数据!
  9. go 公众号 关注 监听_荐号丨推荐五个适合法学院关注公众号
  10. 无法安装ie8,因为其他程序或更新正在等待重启您的计算机,ie8 因为其他程序或更新正在等待重新启...