[火车头插件]火车头免费在线翻译插件 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版如下图:
V7.6版如下图:
新建一个标签名叫“翻译标签”的标签用来设置需要翻译的标签和保存翻译后内容的标签,数据获取方式选择“生成固定格式的数据”,规则为“采集的标签名>保存翻译后内容的标签名”(同样中间的符号“>”是英文半角输入下的尖括号,符号错了的话无法翻译),多个翻译标签之间用英文半角的逗号“,”隔开,如果不需要保存采集的内容则前后都写采集标签名即可。如下图:
第四步、创建翻译内容标签
根据“翻译标签”里的规则,新建相应的标签名用来保存翻译后的内容,规则留空即可。例如我上面图中的规则里设置了内容、作者、出处三个标签,翻译后的内容都是存储在“翻译的XX”标签里的,那我的采集规则里需要对应的创建这三个标签名,然后这三个标签的采集规则留空,如下图:
如果不需要保留翻译前内容,可以将 翻译标签 中的 内容>翻译的内容 改为 内容>内容
这样采集后直接翻译。
第五步、开启火车头采集工具的PHP插件功能
V9版本的火车头采集器在“编辑任务”>“其他设置”>“插件”>“采集结果处理插件”里,选择GoogleTranslate.php后保存规则。
火车头7.6版本在“编辑任务”>“文件保护及部分高级设置”>“任务PHP插件”里,选择GoogleTranslate后保存规则。
语言标识码-这里就简单的说几个常用的
语言标识码 | 名称 | 语言标识码 | 名称 |
---|---|---|---|
zh-CN | 中文(简体) | zh-TW | 中文(繁体) |
en | 英语 | ko | 韩语 |
ru | 俄语 | ja | 日语 |
fr | 法语 | vi | 越南语 |
de | 德语 | ms | 马来语 |
it | 意大利语 | th | 泰语 |
<?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);
?>