利用有道翻译Api实现英文翻译功能
有道翻译提供了翻译和查词的数据接口。通过数据接口,您可以获得一段文本的翻译结果或者查词结果。 通过调用有道翻译API数据接口,您可以在您的网站或应用中更灵活地定制翻译和查词功能。 第一步:申请接口api 到有道开放平台http://fanyi.youdao.com/openapi?path=data-mode申请api 注意事项: 申请成功会得到一组api信息,比如我的信息如下:
- 创建时间:2017-05-10
- 网站名称:wangtuizhijia
- 网站地址:http://www.wangtuizhijia.com
使用有道翻译接口很简单,他们的数据是通过get方式提交的,所以我们只要把信息拼接对就可以,下面是用php实现的翻译,也配备了参数说明:
<?php /* * 请求方式:get,编码方式:utf-8 主要功能:中英互译,同时获得有道翻译结果和有道词典结果(可能没有) 参数说明: type – 返回结果的类型,固定为data doctype – 返回结果的数据格式,xml或json或jsonp version – 版本,当前最新版本为1.1 q – 要翻译的文本,必须是UTF-8编码,字符长度不能超过200个字符,需要进行urlencode编码 only – 可选参数,dict表示只获取词典数据,translate表示只获取翻译数据,默认为都获取 注: 词典结果只支持中英互译,翻译结果支持英日韩法俄西到中文的翻译以及中文到英语的翻译 errorCode: 0 – 正常 20 – 要翻译的文本过长 30 – 无法进行有效的翻译 40 – 不支持的语言类型 50 – 无效的key 60 – 无词典结果,仅在获取词典结果生效 * * */ class Youdao { public $keyfrom; public $key; public $doctype; /*自动配置参数 * */ function __construct() { $this->keyfrom = ‘wangtuizhijia’; $this->key = ‘1048394636’; $this->doctype = ‘json’; } /* * 翻译并返回结果 * $content是需要翻译的文字 * */ public function translate($content) { $youdao_api_url = ‘http://fanyi.youdao.com/openapi.do?keyfrom=’ . $this->keyfrom . ‘&key=’ . $this->key . ‘&type=data&doctype=’ . $this->doctype . ‘&version=1.1&q=’ . $content; return json_decode(file_get_contents($youdao_api_url)); } } //设置需要翻译的文字 $content=’hello’; //实例化翻译类 $Youdao = new Youdao(); $translated_data = $Youdao->translate($content); //有道翻译结果,是个数组 $translation_arr = $translated_data->translation; //有道词典-基本词典,一个对象 $basic_obj = $translated_data->basic; //发音 $phonetic = $basic->phonetic; //解释,是一个数组,因为有很多种意思 $explains_arr = $basic->explains; // 有道词典-网络释义,是个数组,数组里面包含对象 $web_arr= $translated_data->web; ?>
注意事项:
使用API key 时,请求频率限制为每小时1000次,超过限制会被封禁。
如果您的应用确实需要超过每小时1000次请求,可以通过translate-service@corp.youdao.com这个邮箱和有道联系。
本人博客地址:利用有道翻译Api实现英文翻译功能