下载鸥 > 网站下载 > 开发教程 > PHP

无需任何Api的在线翻译功能

373 2020-11-12 19:41:47

收藏

简述

无需申请ApiKey,支持的语言众多,方便快捷。


今天分享一个 php 的翻译类模块,这个模块是之前在 thinkphp 的论坛里淘到的。小试了一下,效果非常不错!于是果断搬过来收藏。

<?php
//+----------------------------------------------------------------------
//|PHPMVCFrameWorkv1.0在线翻译类使用百度翻译接口无需申请ApiKey
//+----------------------------------------------------------------------
//|Copyright(c)2014-2099http://qiling.orgAllrightsreserved.
//+----------------------------------------------------------------------
//|Licensed(http://www.apache.org/licenses/LICENSE-2.0)
//+----------------------------------------------------------------------
//|Author:qiling<70419470@qq.com>2015年4月13日下午2:22:15
//+----------------------------------------------------------------------
/**
*在线翻译类
*@authorqiling<70419470@qq.com>
*/
classTranslate{
/**
*支持的语种
*@varArrayAccess
*/
static$Lang=Array(
'auto'=>'自动检测',
'ara'=>'阿拉伯语',
'de'=>'德语',
'ru'=>'俄语',
'fra'=>'法语',
'kor'=>'韩语',
'nl'=>'荷兰语',
'pt'=>'葡萄牙语',
'jp'=>'日语',
'th'=>'泰语',
'wyw'=>'文言文',
'spa'=>'西班牙语',
'el'=>'希腊语',
'it'=>'意大利语',
'en'=>'英语',
'yue'=>'粤语',
'zh'=>'中文'
);
/**
*获取支持的语种
*@returnarray返回支持的语种
*/
staticfunctiongetLang(){
returnself::$Lang;
}
/**
*执行文本翻译
*@paramstring$text要翻译的文本
*@paramstring$from原语言语种默认:中文
*@paramstring$to目标语种默认:英文
*@returnbooleanstring翻译失败:false翻译成功:翻译结果
*/
staticfunctionexec($text,$from='zh',$to='en'){
//http://fanyi.baidu.com/v2transapi?from=zh&query=%E7%94%A8%E8%BD%A6%E8%B5%84%E8%AE%AF&to=fra
$url="http://fanyi.baidu.com/v2transapi";
$data=array(
'from'=>$from,
'to'=>$to,
'query'=>$text
);
$data=http_build_query($data);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_REFERER,"http://fanyi.baidu.com");
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0(WindowsNT6.1;rv:37.0)Gecko/20100101Firefox/37.0');
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,10);
$result=curl_exec($ch);
curl_close($ch);
$result=json_decode($result,true);
if(!isset($result['trans_result']['data']['0']['dst'])){
returnfalse;
}
return$result['trans_result']['data']['0']['dst'];
}
}
//使用示例:
echoTranslate::exec("你好,世界!");

 

本文地址:https://xzo.com.cn/develop/php/311.html

有帮助,很赞!

信息来源:精准像素
信息标签
导出教程 下载word版教程
发表评论 共有条评论
关于PHP

PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。

PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。

推荐PHP开发教程
PHP判断某个时间戳(打卡、点餐、签到等)是不是今天记录的
PHP判断某个时间戳(打卡、点餐、签到等)是不是今天记录的

php判断时间戳是不是今天的实现方法:首先创建一个PHP示例文件;指定一个时间,并...

15 999
PHP怎样高效快速地生成一组10条随机数?
PHP怎样高效快速地生成一组10条随机数?

猜你喜欢如果用rand()来获取随机ID是非常消耗性能的。小网站几百几千条数据...

1 317
PHP排序函数sort、asort、rsort、krsort、ksort区别与用法详解
PHP排序函数sort、asort、rsort、krsort、ksort区别与用法详解

在php中自带了大量了数组排序函数,使用起来非常简单,下面我们一一来介绍一下...

3 330
当缓存文件大于4KB,不能用cookie时的替代方案就是session
当缓存文件大于4KB,不能用cookie时的替代方案就是session

鸥哥最近在开发一个项目,出于对用户隐私的保护,数据一概不能存储到数据表,而是...

1 331
怎样在每次发起请求时重置session_id?
怎样在每次发起请求时重置session_id?

在一些开发场景中,我们需要在每次发起请求后更新重置session_id以同步用户数...

3 289
什么是高并发,与CPU,内存,分布式有什么关系
什么是高并发,与CPU,内存,分布式有什么关系

我们在网站开发的过程中经常会接触到高并发这个概念,但高并发到底是什么,具体...

1 260
怎样用php批量删除文件或者文件夹?
怎样用php批量删除文件或者文件夹?

在网站建成后的维护与优化阶段,我们会面临无用栏目/数据处理的问题。量小的...

0 267
PHP基础函数介绍:PHP_EOL
PHP基础函数介绍:PHP_EOL

PHP_EOL是一个相当好用的函数,可自动适配多种换行格式,在实际的应用中体验非...

0 377
随机PHP开发教程
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入