ICAO曾经说过:安全数据库中的很多数据,都是以报告的形式,与诸如事故和事故征候等复杂事件相关。无论是SMS,还是EBT,其基础都是数据,既然数据都是报告的形式,而网上又能找到丰富的报告资料,尤其是事故调查报告、事故征候调查报告,这将对安全管理带来很多便利。然而,这些报告多为外语写成,英语最多,其他语种也不在少数,阅读困难使我们和海量数据失之交臂,有没有解决办法呢?
看完本篇,带你拥抱新世界。
▌步骤一:油猴
我们在网上搜一下,就能获得很多外语信息,有诸多方法把网页的外语变为中文,其中最简单实用的,是油猴+沉浸式翻译:
TamperMonkey是免费的浏览器插件,可以对浏览器下载的脚本进行管理,可以让网页变得更好看、去除广告、同步翻译等。其中沉浸式翻译插件支持很多种语言的相互翻译。
使用也极其简单,屏幕右侧弹出菜单,点击翻译即可。翻译结果会自动插入脚本,所以看上去是混排对照形式,既能看懂,又能对照。
以上是法语、阿拉伯语的奥运网站翻译效果。
安装油猴,请自行咨询度娘。
阅读一般的网页,用油猴就足够。但是,很多高质量文档,都是以pdf格式放在网上,下载后没法用油猴同步翻译,怎么办?
▌步骤二:pdf➡html
没错,想办法让pdf文档变成html文档即可。html文档就是浏览器读取和呈现的脚本文件,油猴也是针对html文档进行修改,获得翻译效果。
https://soft.rubypdf.com/software/pdf2htmlex-windows-version
按以上网址找到红框内软件,并下载,解压缩到一个文件夹,例如D:\pdf2html\。
接下来,我们去FAA网站下载一个AC试试,例如AC_20-165B,这是一个关于ADS-B的咨询通告,将pdf文件放到D:\pdf2html\里面。
这时打开命令行模式,进入D:\pdf2html\,或者对着文件夹点右键:
然后敲入指令:
pdf2htmlEX.exe --embed cfijo --dest-dir out AC_20-165B.pdf
开头是软件文件名,中间是参数,都不要改;最后是需要转化的文件名,可以换成需要转化的其他pdf文档。
执行完成后,文件夹内会出现out子文件夹,进去打开同名html文件,本例是AC_20-165B.html,你会看到和pdf文件几乎一样的页面:
说明已经转化成功,现在我们试一下油猴翻译:
成功翻译了,但是看上去很乱,这是为什么呢?因为这个软件的作者非常严谨,为了达到和原文尽量一致的显示效果,作者对层叠样式表进行了限制,导致油猴修改脚本后文字没地方显示,这又该怎么办?
▌步骤三:去除限制
这部分简单粗暴,分2个环节:
1、用记事本打开刚才生成的AC_20-165B.html,删除以下内容后保存:
<link rel="stylesheet" href="fancy.min.css"/>
<script src="compatibility.min.js"></script>
<script src="pdf2htmlEX.min.js"></script>
2、再次用浏览器打开AC_20-165B.html,全文复制粘贴到一个新建word文档中,将该文档另存为html文件,例如AC.html,然后用浏览器打开它,启用油猴翻译,将会看到:
全文翻译成功,且保留英汉对照模式。
如果觉得麻烦,也可使用python代码,执行后做一次步骤三环节2即可。
import os
import webbrowser as wb
def run_cmd_command(cmd_command):
os.system(cmd_command)
if __name__ == "__main__":
pdfname = 'AC_20-165B' # 确定pdf文件名
python_exe_path = 'pdf2htmlEX.exe --embed cfijo --dest-dir out ' + pdfname + '.pdf'
cmd_command = "{}".format(python_exe_path)
run_cmd_command(cmd_command) # 转换为html
style = ['<link rel="stylesheet" href="fancy.min.css"/>',
'<script lay-src="compatibility.min.js"></script>',
'<script lay-src="pdf2htmlEX.min.js"></script>']
# 使用 open() 函数以只读模式打开我们的文本文件
with open('.\\out\\' + pdfname + '.html', 'r', encoding='UTF-8') as file:# 使用 read() 函数读取文件内容并将它们存储在一个新变量中
data = file.read()
for i in style:# 使用 replace() 函数搜索和替换文本
data = data.replace(i, '')
with open('.\\out\\' + pdfname + '.html', 'w', encoding='UTF-8') as file:# 以只写模式打开我们的文本文件以写入替换的内容
file.write(data) # 在文本文件中写入替换的数据
wb.open('.\\out\\' + pdfname + '.html')
▌Final Song
有些朋友可能发现,打开生成的html文件后浏览器没有出现粉红“中”,打开网站却能出现并翻译,这是怎么回事呢?
原因是本地权限没有开,需要右键点击油猴,然后点击“管理扩展程序”:
这里打开即可:
外文书店的大门由此打开,如果你也成功解锁,记得转发给需要的人。
深入了解民航,请进入下列链接: