在线聊天功能 实现中俄双语实时翻译 原创 加精!!
2014-06-13 14:55
603 查看
要做一个在线实时聊天系统,而且还要实时双语翻译(中、俄)。头疼
先找了一个php在线客服系统 带源码的。看懂源码后在上面加翻译功能,一共耗时4天弄出来的。
代码如下:
下面是调用baiduTran()的函数:
详细解释:
先找了一个php在线客服系统 带源码的。看懂源码后在上面加翻译功能,一共耗时4天弄出来的。
代码如下:
if(mb_detect_encoding($fdata,"UTF-8, GBK") != "UTF-8"){ //$fdata = mb_detect_encoding($fdata,"UTF-8, GBK") $fdata = mb_convert_encoding($fdata,'utf-8','CP936'); } if (preg_match("/[\x{4e00}-\x{9fa5}]./u",$fdata)) { $ewen = baiduTran(urlencode($fdata)); $fdata .= "<br>"; $fdata .= $ewen; } else { $zhongwen = baiduTran(urlencode($fdata),'ru','zh'); $fdata .= "<br>"; $fdata .= $zhongwen; } $fdata = mb_convert_encoding($fdata,'gbk','utf-8');
下面是调用baiduTran()的函数:
function baiduTran($text,$from='zh',$to='ru'){ if(empty($text)) return ""; $wf=file_get_contents("http://openapi.baidu.com/public/2.0/bmt/translate? client_id=GTK5cWTRRSEDKt829jf4DdnL&q=$text&from=$from&to=$to"); if (false===$wf||empty($wf)){ return false; } $obj =json_decode($wf); $obj=$obj->{'trans_result'}; $trans_result=$obj[0]; $dst=$trans_result->{'dst'}; return $dst; }
详细解释:
//检测中文还是俄文的时候必须是utf-8字体,就需要转换字体 if(mb_detect_encoding($fdata,"UTF-8, GBK") != "UTF-8"){//先需要侦测字符编码是什么 //$fdata = mb_detect_encoding($fdata,"UTF-8, GBK") //通过这个发现:前台页面传到后台的字体是:CP93。经测试买家端输入的字符传到后台就是gbk,卖家端输入的字符传到后台是CP93 真神奇 $fdata = mb_convert_encoding($fdata,'utf-8','CP936');//需要把CP936字体转换成utf-8字体 } //检测输入是中文还是俄文 if (preg_match("/[\x{4e00}-\x{9fa5}]./u",$fdata)) { //原理是判断字体是否含有中文(找这个表达式费老劲了) $ewen = baiduTran(urlencode($fdata));//输入的是中文 翻译成俄文 $fdata .= "<br>"; //把原来的和翻译过的加在一起 中间加个回车 $fdata .= $ewen; } else { //输入的是俄文 翻译成中文 $zhongwen = baiduTran(urlencode($fdata),'ru','zh'); //输入的是中文 翻译成俄文 $fdata .= "<br>";//把原来的和翻译过的加在一起 中间加个回车 $fdata .= $zhongwen; } //将转换后的字体再转换成gbk否则前台页面显示乱码 $fdata = mb_convert_encoding($fdata,'gbk','utf-8'); //百度翻译函数 function baiduTran($text,$from='zh',$to='ru'){ //默认是中文翻译成俄文 if(empty($text)) return ""; $wf=file_get_contents("http://openapi.baidu.com/public/2.0/bmt/translate? client_id=GTK5cWTRRSEDKt829jf4DdnL&q=$text&from=$from&to=$to"); //此处的client_id需要填入获取的appid,和百度地图api类似,在百度云开发者注册。 if (false===$wf||empty($wf)){ return false; } $obj =json_decode($wf); $obj=$obj->{'trans_result'}; $trans_result=$obj[0]; $dst=$trans_result->{'dst'}; return $dst; }
相关文章推荐
- Java 实现在线翻译功能 调用微软Bing API
- Ext 在线实时聊天系统的开发,有源码包,实现了实时更新在线用户列表和群聊
- 基于PHP实现一个简单的在线聊天功能
- java在线聊天项目0.8版 实现把服务端接收到的信息返回给每一个客户端窗口中显示功能
- Android 集成阿里百川实现在线客服、聊天功能
- ASP利用Google实现在线翻译功能
- js实现网页在线聊天功能(二)
- 直播项目,在线聊天功能--socket实现客户端和服务器端通讯的简单案例
- js实现网页在线聊天功能(四)
- java在线聊天项目0.3版本 制作客户端窗体,实现发送按钮和回车发送信息功能,使用ActionListener监听事件中actionPerformed方法(用内部类和匿名内部类两种方法)
- 原创翻译 在Windows CE上实现一个全功能的webserver
- 页面里的在线实时聊天实现
- js+php实现实时网页聊天功能
- 用Application轻松实现在线客服(简单的QQ聊天功能)
- AngularJs实现聊天列表实时刷新功能
- ASP利用Google实现在线翻译功能
- js实现网页在线聊天功能(一)
- A利用ASP小偷和Google实现在线翻译功能的代码
- WebSocket+多线程python socket网页版实时在线聊天实现
- springboot整合tomcat自带的websocket实现在线聊天及象棋网页对战功能