原文: http://www.isaced.com/post-177.html
原来跟大家分享过百度应用引擎BAE的体验,这几天纠结iOS课题项目,想了几天,后来决定做个掌上翻译的应用,调用某某翻译API来实现,至于什么翻译后来定为百度翻译,原因有以下几点:
当时想到过另外一个项目,一个监控,通过PC端发送截屏到指定邮箱,iOS App 通过邮件接收读取图片,达到最基础的一个远控功能,后来想到通过邮箱中转效率实在太低,再想到直接PC和iOS通信,太难,再或者通过Webservice,一个网页接口来中转,太麻烦,三端编码,最后这想法只好泯灭在睡梦之中!
准备先看看PHP如何实现,网上找了找,Get方式实现还是蛮简单,需要在百度开发者中心申请一个API Key,下面是网上摘抄的一段实现百度翻译API的PHP代码,测试可以实现,不过英译中可能需要转换编码。
- <?php
- function language($value,$from="auto",$to="auto")
- {
- $value_code=urlencode($value);
- #首先对要翻译的文字进行 urlencode 处理
- $appid="YourApiKey";
- #您注册的API Key
- $languageurl = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=" . $appid ."&q=" .$value_code. "&from=".$from."&to=".$to;
- #生成翻译API的URL GET地址
- $text=json_decode(language_text($languageurl));
- $text = $text->trans_result;
- return $text[0]->dst;
- }
- function language_text($url) #获取目标URL所打印的内容
- {
- if(!function_exists('file_get_contents')) {
- $file_contents = file_get_contents($url);
- } else {
- $ch = curl_init();
- $timeout = 5;
- curl_setopt ($ch, CURLOPT_URL, $url);
- curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
- $file_contents = curl_exec($ch);
- curl_close($ch);
- }
- return $file_contents;
- }
- echo language('中国');
- ?>
百度翻译API | 百度开发者中心
官方帮助:
http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/%E7%99%BE%E5%BA%A6%E7%BF%BB%E8%AF%91/%E7%BF%BB%E8%AF%91API
=========================怎么申请api key?======================
1. 打开 http://developer.baidu.com 并登陆
2. 单击 “快速创建应用”
3. 填写应用名称,并确定
4. 得到api key