• 欢迎访问乐趣公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入乐趣公园 QQ群
  • Git主题现已支持PHP7版本,速度应该会提高不少,不过云落的网站本来就很快了,所以感觉不是太明显
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏乐趣公园吧
  • 云落的淘宝店铺已经开张了哦,传送门:https://kimipet.taobao.com

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

网络技术 云落 6个月前 (04-15) 160次浏览 已收录 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 插件网


乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【2018/4】最新可用 PHP 在线调用谷歌在线翻译 API 代码
喜欢 (1)
关于作者:
无折腾,不生活,我是一个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