前言

之前四座网发布过基于百度在线翻译的火车头php翻译插件和百度翻译API火车头翻译插件两款火车头采集器的翻译插件,前者基于百度在线翻译的实现的,但因为百度在线翻译规则变了导致现在无法使用,后者虽然可以使用但是百度翻译api每个月只有200万字符的免费翻译,对于翻译数量比较大的人来说可能不够用。

前几天有朋友在四座网博客上留言说发现一个可以使用的Google翻译php代码,问我能不能改成火车头数据采集器的php翻译插件,我看了下代码感觉应该不是很难就答应了,于是便有了今天这款GoogleTranslate插件。

很多人可能看到GoogleTranslate是基于Google在线翻译的,可能会怀疑它的稳定性,虽然Google搜索在国内是被墙了,但是Google翻译是通过translate.Google.cn来访问的,因此不用翻墙就可以直接使用。唯一的问题就是GoogleTranslate这款火车头数据采集软件插件是通过抓取Google在线翻译来实现的,不保证以后Google会改变网页规则。

插件特点

  • 免费 基于Google在线翻译实现,使用完全免费。
  • 简单 插件只有一个1K大小的php文件,下载后放到火车头网站采集软件里即可。
  • 方便 所有的设置都在火车头网站数据抓取软件的采集规则里设置即可,不需要修改插件代码。
  • 灵活 不受软件版本和操作系统版本的限制,只要支持php插件的火车头采集工具即可使用。

使用方法

1.修改火车头的PHP环境

由于火车头软件内置的PHP环境有问题,在使用php插件之前需要先修改火车头的PHP环境。修改的方法很简单,打开火车头采集器的安装目录“System/PHP”,找到php.ini文件打开,并找到如下代码。

;extension=php_curl.dll

将最前面的分号“;”删除并保存即可,这样火车头数据采集器就可以正常运行这个PHP插件了。

2.将插件文件放到火车头的安装目录

将下载的插件解压后,把“GoogleTranslate.php”文件放到火车头安装目录的插件文件夹。(V9版的是Plugins文件夹,7.6版的是Plugins/LocoySpider文件夹)

3.设置翻译方向和翻译标签

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

各国语言标识见本文下面的“语言标识”部分。

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

我上图中填写了4个翻译规则,火车头采集软件运行后,数据保存规则如下:

  • 采集的标题不会保存中文内容,只会保存翻译后的英文内容。
  • 内容、作者、出处三个都即会保存采集的中文内容,同时会保存翻译后的英文内容。

4.创建翻译内容标签

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

上图中三个红框中的标签是用来保存翻译后的内容的,标签名必须和“翻译标签”内规则填写的标签名一致,如果未创建或和标签名和规则不一致,则会无法翻译,有可能火车头软件还会报错。

5.开启火车头采集工具的PHP插件功能

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

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

完成了以上步骤,只要翻译方向和翻译标签没错的话,就可以正常翻译了。

翻译的测试效果图

语言标识

语言标识码名称语言标识码名称
auto自动检测
zh-CN中文(简体)zh-TW中文(繁体)
en英语fr法语
de德语ru俄语
it意大利语ko韩语
ja日语la拉丁语
sq阿尔巴尼亚语ar阿拉伯语
am阿姆哈拉语az阿塞拜疆语
ga爱尔兰语et爱沙尼亚语
eu巴斯克语be白俄罗斯语
bg保加利亚语is冰岛语
pl波兰语bs波斯尼亚语
fa波斯语af布尔语(南非荷兰语)
da丹麦语tl菲律宾语
fi芬兰语fy弗里西语
km高棉语ka格鲁吉亚语
gu古吉拉特语kk哈萨克语
ht海地克里奥尔语ha豪萨语
nl荷兰语ky吉尔吉斯语
gl加利西亚语ca加泰罗尼亚语
cs捷克语kn卡纳达语
co科西嘉语hr克罗地亚语
ku库尔德语lv拉脱维亚语
lo老挝语lt立陶宛语
lb卢森堡语ro罗马尼亚语
mg马尔加什语mt马耳他语
mr马拉地语ml马拉雅拉姆语
ms马来语mk马其顿语
mi毛利语mn蒙古语
bn孟加拉语my缅甸语
hmn苗语xh南非科萨语
zu南非祖鲁语ne尼泊尔语
no挪威语pa旁遮普语
pt葡萄牙语ps普什图语
ny齐切瓦语sv瑞典语
sm萨摩亚语sr塞尔维亚语
st塞索托语si僧伽罗语
eo世界语sk斯洛伐克语
sl斯洛文尼亚语sw斯瓦希里语
gd苏格兰盖尔语ceb宿务语
so索马里语tg塔吉克语
te泰卢固语ta泰米尔语
th泰语tr土耳其语
cy威尔士语ur乌尔都语
uk乌克兰语uz乌兹别克语
es西班牙语iw希伯来语
el希腊语haw夏威夷语
sd信德语hu匈牙利语
sn修纳语hy亚美尼亚语
ig伊博语yi意第绪语
hi印地语su印尼巽他语
id印尼语jw印尼爪哇语
yo约鲁巴语vi越南语

注意事项

  • 如果是测试的话,“翻译方向”和“翻译标签”这两个标签一定要设置,否则火车头软件会报错。
  • 我没有测试单篇文章字数很多时的效率和成功率,所以不知道如果采集的文章很长的话能不能正常翻译。
  • GoogleTranslate插件的原理是将采集结果去请求Google在线翻译,然后再模拟浏览器将翻译结果抓取下来保存在火车头采集器里,所以如果Google翻译的网页规则变了的话,插件可能会无法使用。
  • 我在火车头V9和7.6两个版本里都测试了,均能正常使用。如果火车头软件出现“您使用的PHP插件存在语法或其他问题,请检查!”这个错误提示,请按上面的使用方法中第1条,看看是否正确修改了火车头的PHP环境;然后再检查翻译方向、翻译标签设置的规则是否和你的采集规则一致。

如果插件突然使用不了了的话,可以在下面留言,或联系我。另外我是PHP渣,写这个插件的时候是一边搜索一边写的,如果你对PHP很了解,对这个插件有什么优化建议,欢迎评论留言告诉我。

鸣谢

写这个插件的原因是网友@DEV 在我博客上留言提出来的,要不是他留言我不会写这个插件。这个插件翻译的实现代码全部来自@云落的乐趣公园,我只是做了简单的修改,再加上了火车头插件的代码而已。

对以上两位朋友深表感谢。

下载地址

GoogleTranslate