[火车头插件]火车头免费在线翻译插件 PHP翻译插件 英文翻译成中文插件

来源:火车头翻译插件, 浏览:2500次 时间:2020-06-21
做网站找雨过天晴工作室


[火车头插件]火车头免费在线翻译插件 PHP翻译插件 英文翻译成中文插件

使用方法:

第一步、修改火车头自带PHP环境

火车头采集器安装目录下System目录,再进入PHP目录,打开php.ini文件,找到  ;extension=php_curl.dll  把前面的   ;   去掉

第二步、将下载好的插件放入火车头采集器插件目录

将本文最下面的代码粘贴到txt上,另存为GoogleTranslate.php,可直接下载(都是一样的,代码贴上来是防止链接失效):https://pan.baidu.com/s/1tVkKugmvTTCcXJGYcoQLWQ

V9版在安装目录下  Plugins   目录中,7.6版在安装目录下     Plugins目录下的 LocoySpider目录   文件夹

第三步、设置标签

在火车头的采集规则里新建一个标签名叫“翻译方向”的标签,数据获取方式选择“生成固定格式的数据”,内容按“源语言标识>翻译目标语言标识”这样的规则填写。例如我采集的是中文,需要翻译成英文,则填“zh-CN>en”(中间的符号“>”是英文半角输入下的尖括号,符号错了的话无法翻译)

V9版如下图:

blob.png

V7.6版如下图:

blob.png

新建一个标签名叫“翻译标签”的标签用来设置需要翻译的标签和保存翻译后内容的标签,数据获取方式选择“生成固定格式的数据”,规则为“采集的标签名>保存翻译后内容的标签名”(同样中间的符号“>”是英文半角输入下的尖括号,符号错了的话无法翻译),多个翻译标签之间用英文半角的逗号“,”隔开,如果不需要保存采集的内容则前后都写采集标签名即可。如下图:

blob.png

blob.png

第四步、创建翻译内容标签

根据“翻译标签”里的规则,新建相应的标签名用来保存翻译后的内容,规则留空即可。例如我上面图中的规则里设置了内容、作者、出处三个标签,翻译后的内容都是存储在“翻译的XX”标签里的,那我的采集规则里需要对应的创建这三个标签名,然后这三个标签的采集规则留空,如下图:

blob.png

blob.png

如果不需要保留翻译前内容,可以将 翻译标签 中的  内容>翻译的内容  改为  内容>内容

这样采集后直接翻译。

第五步、开启火车头采集工具的PHP插件功能

V9版本的火车头采集器在“编辑任务”>“其他设置”>“插件”>“采集结果处理插件”里,选择GoogleTranslate.php后保存规则。

火车头7.6版本在“编辑任务”>“文件保护及部分高级设置”>“任务PHP插件”里,选择GoogleTranslate后保存规则。

语言标识码-这里就简单的说几个常用的

语言标识码 名称 语言标识码 名称
zh-CN 中文(简体) zh-TW 中文(繁体)
en 英语 ko 韩语
ru 俄语 ja 日语
fr 法语 vi 越南语
de 德语 ms 马来语
it 意大利语 th 泰语


以下内容保存为GoogleTranslate.php
——————-
<?php
/************************************************************************
* 本插件由四座网根据网上的Google翻译代码修改编写
* 本插件使用简单、设置方便、翻译免费,详情使用说明请进入下面的网址查看
* 使用说明:http://www.sizuo.org/locoy-GoogleTranslate.html
* 本插件从Google翻译获取数据,Google可能会更改规则,插件不保证长期有效
* 转载插件或代码请保留本说明
************************************************************************/
function translate($text){
$query = urlencode($text);
$url = ‘https://translate.google.cn/translate_a/single?client=gtx&dt=t&ie=UTF-8&oe=UTF-8&sl=’.FROM.’&tl=’.TO.’&q=’.$query;
set_time_limit(0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_REFERER, “https://translate.google.cn” );
curl_setopt($ch, CURLOPT_USERAGENT, ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36’ );
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);
}
}
if($LabelArray[‘PageType’]==”Save”)
{
$direction = explode(‘>’ , $LabelArray[‘翻译方向’]);
define(“FROM”,$direction[0]);
define(“TO”,$direction[1]);
$tab = explode(‘,’ , $LabelArray[‘翻译标签’]);
foreach($tab as $t_value){
$arr[] = explode(‘>’ , $t_value);
}
$arrlength=count($arr);
for($x=0;$x<$arrlength;$x++){
$LabelArray[”.$arr[$x][1].”] = translate($LabelArray[”.$arr[$x][0].”]);
}
}
echo serialize($LabelArray);
?>