无需API的在线翻译功能
无需任何API的在线翻译功能是一种非常方便的功能,它允许用户在网页上直接进行翻译。这种功能通常由网站开发者自己实现,而不是依赖于第三方API。这样,开发者可以更好地控制翻译的质量,并且不需要支付额外的费用。此外,这种功能还可以为用户提供更好的体验,因为他们不需要离开网站就可以完成翻译。总之,无需任何API的在线翻译功能是一种非常实用且方便的功能,它可以帮助用户更好地理解和交流不同语言的内容。
今天分享一个 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("你好,世界!");