php百度翻译类

<?php
// +----------------------------------------------------------------------
// | PHP MVC FrameWork v1.0 在线翻译类 使用百度翻译接口 无需申请Api Key
// +----------------------------------------------------------------------
// | Copyright (c) 2014-2099 http://qiling.org All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: qiling <[email protected]> 2015年4月13日 下午2:22:15
// +----------------------------------------------------------------------
/**
* 在线翻译类
* @author qiling <[email protected]>
*/
class Translate {
/**
* 支持的语种
* @var ArrayAccess
*/
static $Lang = Array (
‘auto‘ => ‘自动检测‘,
‘ara‘ => ‘阿拉伯语‘,
‘de‘ => ‘德语‘,
‘ru‘ => ‘俄语‘,
‘fra‘ => ‘法语‘,
‘kor‘ => ‘韩语‘,
‘nl‘ => ‘荷兰语‘,
‘pt‘ => ‘葡萄牙语‘,
‘jp‘ => ‘日语‘,
‘th‘ => ‘泰语‘,
‘wyw‘ => ‘文言文‘,
‘spa‘ => ‘西班牙语‘,
‘el‘ => ‘希腊语‘,
‘it‘ => ‘意大利语‘,
‘en‘ => ‘英语‘,
‘yue‘ => ‘粤语‘,
‘zh‘ => ‘中文‘
);
/**
* 获取支持的语种
* @return array 返回支持的语种
*/
static function getLang() {
return self::$Lang;
}
/**
* 执行文本翻译
* @param string $text 要翻译的文本
* @param string $from 原语言语种 默认:中文
* @param string $to 目标语种 默认:英文
* @return boolean string 翻译失败:false 翻译成功:翻译结果
*/
static function exec($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 (Windows NT 6.1; rv:37.0) Gecko/20100101 Firefox/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);
var_dump($result);
// 出错状态码 999
if (isset($result[‘error‘])) {
return false;
}
return $result [‘trans_result‘] [‘data‘] [‘0‘] [‘dst‘];
}
}
echo Translate::exec ( "你好,我是" );
?>

时间: 2024-11-08 02:14:55

php百度翻译类的相关文章

基于百度翻译API开发属于自己的翻译工具

你是否每天使用着网页翻译工具?你是否遇到过这种情况,上网过程中遇到一个很长的单词但是又不能复制,要开两个浏览器,一个打开百度翻译,照着另一个网页输入单词?你安装了各种翻译软件后,又删除,只因忍受不了那每次弹出来的广告?其实我们想要的就是简单的翻译一个单词.今天就来使用百度翻译开放API,做一个属于自己的翻译工具,只有简单的翻译功能,至于外观自己根据自己的爱好,想做成什么样就做成什么样,终于可以任性一回了~~ 下面先来看一下词典效果:  一.百度翻译API简介 百度翻译可以通过HTTP访问,返回J

C# 调用百度翻译Api

这是简单的界面.用的是wpf,winform也可以 具体的操作类 public partial class MainWindow : Window { string url = ""; public MainWindow() { InitializeComponent(); this.cbxTranslateChange.SelectedIndex = 0; } private TranClass tranClass = new TranClass(); private void bt

Python爬虫教程-08-post介绍(百度翻译)(下)

Python爬虫教程-08-post介绍(下) 为了更多的设置请求信息,单纯的通过urlopen已经不太能满足需求,此时需要使用request.Request类 构造Request 实例 req = request.Request(url=baseurl,data=data,headers=header) 发出请求 rsp = request.urlopen(req) 文件: 案例v8文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py08po

使用百度翻译api支持中转英,中简转中繁等等

一.在写代码之前先在在百度翻译平台中,申请APP_ID 申请地址连接:http://api.fanyi.baidu.com/api/trans/product/index 二,可以看官方文档,实际上官方有提供demo申请id后可以直接作为工具类来用了 三,以下是我写的工具类: package com.hailian.util.translate; import java.io.BufferedReader; import java.io.IOException; import java.io.I

公众号对接百度翻译API

有时候在公众号中需要对接一些翻译的功能或者其他.最常见的翻译API就是中英互译,程序员用的最多的也就是中译英. 1.到百度翻译官网申请账号 http://api.fanyi.baidu.com/api/trans/product/desktop 登录之后就选择需要开通的服务.到http://api.fanyi.baidu.com/api/trans/product/apichoose 页面可以选择开通的服务.比如我已开通的服务: 开通的时候可以选择版本,对于我个人用户来说开通一个标准版就可以了,

百度翻译APi接口实现

案例使用百度翻译API接口,实现文本翻译 为保证翻译质量,请将单次请求长度控制在 6000 bytes以内.(汉字约为2000个) 签名生成方法如下: 1.将请求参数中的 APPID(appid), 翻译query(q, 注意为UTF-8编码), 随机数(salt), 以及平台分配的密钥(可在管理控制台查看) 按照 appid+q+salt+密钥 的顺序拼接得到字符串1. 2.对字符串1做md5,得到32位小写的sign. 注意: 1.请先将需要翻译的文本转换为UTF-8编码 2.在发送HTTP

学习python:实例1.百度翻译

效果: 代码: # 百度翻译 # Python 3.5.1 from urllib import request, parse import json url = 'http://fanyi.baidu.com/v2transapi' context = input('请输入需要翻译的内容 :\> ') if context >= '\u4e00' and context <= '\u9fa5':     # 判断输入内容是否为汉字     From,To = 'zh','en' els

Thinkphp3.2.3多语言翻译以及使用百度翻译

一.Thinkphp多语言翻译 首先在Common/conf/config.php文件中写入如下内容: <?php return array(     //'配置项'=>'配置值'     //语言包配置     'LANG_SWITCH_ON' => true, // 开启语言包功能     'LANG_AUTO_DETECT' => true, // 自动侦测语言 开启多语言功能后有效     'LANG_LIST' => 'zh-cn,en-us,zh-tw', //必

python学习日记-百度翻译GUI

跟女朋友聊天的时候,女朋友抱怨每次翻译都要打开百度网页上找,这让我有了做一个小的翻译界面的想法,搜索百度翻译居然发现其有API,正合我意,上百度翻译开放平台注册一个个人测试帐号就可以了,东拼西凑,做出了来一个小程序,代码如下: 1 # coding=utf-8 2 from Tkinter import * 3 import tkMessageBox 4 import urllib2 5 import hashlib 6 import json 7 8 9 trans_id = '*******