• 主题更新一下,修复了头像挂掉的问题

  • 后羿更新网站文章可能不会那么闲了

  • 不得不说,美国贴吧的界面真是难看到死

  • 看到网上新闻美国的贴吧将成为中国公司

  • 推送试试

  • 睡觉之前测试一下

  • 发现了一个非常不错的插件

  • 经过确认,微软的必应搜索在中国被屏蔽

  • 给主题增加一个阿里云的代码库

  • 正式通知一下,有赞支付已经停止业务了

【2018/4】最新可用PHP在线调用谷歌在线翻译API代码

网络技术 云落 1年前 (2018-04-15) 944次浏览 7个评论 扫描二维码
文章目录[隐藏]

在线调用谷歌在线翻译 API,可以在一些项目中实现文本的自动翻译

【2018/4】最新可用PHP在线调用谷歌在线翻译API代码

前沿

需求

云落最近在做我爱 Chrome 插件网,里面需要翻译插件摘要和说明,如果都是手动翻译,那么太费事了,所以我追求是在发布文章的时候就自动翻译成中文,百度了下,发现谷歌翻译 api 需要的挺多的,但是很多文章的方法都失效了,或者比较麻烦,云落当然是比较懒的,所以自己研究下,总算是不需要 TKK 就能实现在线翻译,至少可以省却了手动翻译英文说明的步骤了。

代码

因为云落是应用在 WordPress 里面,所以只弄了个 PHP 版本的,当然,其实有能力的一看就懂,代码瞎凑的,如果有能改进的地方还请指出啊。

<?php
$longtext = 'Joymems, Get nostalgic. See your own photos on every new Chrome tab.
Spice up your new tabs with YOUR photos. Every new tab will show your memories from your photo albums. Simple, intuitive and personal.

See the people you love, the moments you care about, the things that inspire you. Your photos, your story!';

function gtranslate($text){
	$entext = urlencode($text);
	$url = 'http://translate.google.cn/translate_a/single?client=gtx&dt=t&ie=UTF-8&oe=UTF-8&sl=auto&tl=zh-CN&q='.$entext;
	set_time_limit(0);
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
	curl_setopt($ch, CURLOPT_HEADER, false);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
	curl_setopt($ch, CURLOPT_MAXREDIRS,20);
	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 40);
	curl_setopt($ch, CURLOPT_URL, $url);
	$result = curl_exec($ch);
	curl_close($ch);
        $result = json_decode($result);
	if(!empty($result)){
	foreach($result[0] as $k){
		$v[] = $k[0];
	}
	return implode(" ", $v);
	}
}
echo gtranslate($longtext);
?>

当文本量比较大的时候可能会出现空白情况

将上面代码放进自己服务器里面运行下,就能看到翻译的结果了。,结果是:

Joymems,怀旧。 在每个新的 Chrome 标签上查看您自己的照片。\n 用您的照片为您的新标签添彩。 每个新标签都会显示你的相册。 简单,直观和个人。\n\n 看到你爱的人,你关心的时刻,激励你的事物。 你的照片,你的故事!\n\n 它是私人的和免费的。

仅限英文时候翻译

本来云落已经实现了翻译这个功能,后来发现无论什么语言都会翻译一边,如果是中文的时候,那就不必要了,所以对翻译这个过程做个判定,本来是想用正则的,但是觉得效率不太好,所以用了另一个方法,其实也很简单,那就是比较文本的长度。
利用下面的代码就可以判断文本是否是英语

$text = 'i go to school';
$v = strlen($text);
$k = mb_strlen($text,'utf-8');

实际看下运行吧
【2018/4】最新可用PHP在线调用谷歌在线翻译API代码

【2018/4】最新可用PHP在线调用谷歌在线翻译API代码
我们在实际应用中可以这样

$text = 'i go to school 啊啊';
$v = strlen($text);
$k = mb_strlen($text,'utf-8');
if($v = $k){
$result =  gtranslate($text);
}
echo $result;

最后

最后展示下最近在做的另一个网站,我爱 Chrome 插件网,主要是做 Chrome 浏览器的插件下载服务的,WordPress 网站,主题是 Git,在 Git 上面我又定制开发了一些功能。
我爱 Chrome 插件网


-- 完 --
【2018/4】最新可用PHP在线调用谷歌在线翻译API代码
扫码订阅,第一时间获得更新
微信扫码二维码,订阅我们网站的动态,另外不定时发送 WordPress 小技巧,你可以随时退订,欢迎订阅哦~

极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【2018/4】最新可用PHP在线调用谷歌在线翻译API代码

极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【2018/4】最新可用PHP在线调用谷歌在线翻译API代码
喜欢 (1)
[sp91@qq.com]
分享 (0)
云落
关于作者:
无折腾,不生活,我是一个WordPress菜鸟,一个玩淘宝的卖家,欢迎你认识我,我是云落!
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(7)个小伙伴在吐槽
  1. 测试返回结果,只有“Joymems,怀旧。”,不知什么原因,请予以解答,谢谢
    dev2018-05-16 15:56 回复 Windows 7 | Chrome 66.0.3359.139
    • 云落
      代码问题,已更新
      云落2018-05-16 21:22 回复 Windows 10 | Chrome 66.0.3359.139
      • 测试了,正常运行,非常感谢
        DEV2018-05-16 21:53 回复 Windows 7 | Chrome 55.0.2883.87
  2. 666,云落太棒了,健康第一站发来贺电
    健康第一站2018-04-16 11:00 回复 Windows 7 | Chrome 55.0.2883.87
  3. 签到成功!签到时间:2018-04-15 23:54:29,每日打卡,生活更精彩哦~
    ttg2018-04-15 23:48 回复 Windows 10 | Chrome 64.0.3282.186
  4. 我爱 Chrome 插件网 这个建站速度和充实网站内容的速度真的很给力
    懿古今2018-04-15 16:21 回复 Windows 7 | Chrome 65.0.3325.181
  5. 52插件网完全是全自动的了~厉害~
    西枫里博客2018-04-15 15:30 回复 Windows 7 | 搜狗浏览器 2.X