笔者经常需要翻译一些英文文档,但是试用了一些商业软件之后,一来觉得满足不了自己的翻译习惯,二来也是觉得对于个人来说,使用需要的收费的东西总是会有些顾忌。
一番了解之后,决定选用搜狗翻译/有道翻译官方提供的翻译api自己实现一个web版的翻译界面。目前搜狗翻译/有道翻译都已经开始收费,但收费的标准还可以让人接受,以搜狗翻译为例,现价:¥40.00/百万字符。还是可以接受的。
闲言少叙。直入正题。
考虑到篇幅问题,我在这篇文章里面暂时只会简单涉及3方面的内容:
翻译API的调用
Django Web应用框架的简单说明
web页面的效果展示
翻译API的调用
直接上图,展示一个自己写的调用搜狗翻译api的Python代码:
解释什么的就不需要了,很简单的代码,搜狗官方也有很详细的文档。
说句题外话,有时候你会发现调用有道翻译api的翻译结果,和你自己在其官方web页面上得到结果有所不同,那是因为有道翻译内部实际上有多个翻译版本。在wei页面上你可以看到所有的版本,但好像有道翻译api却只能得到一个固定的翻译版本。
事实上,除了使用官方的API,笔者也参照一些网上资料,通过使用Python爬虫的方式分别抓取了有道翻译/搜狗翻译/谷歌翻译 web版的翻译内容,以此实现完全免费的翻译api,笔者的建言是:完全不推荐这样做。原因有二:
有道/搜狗 官方已经对此做了一些限制,所以效果不会好
还是要支持正版啊
Django Web应用框架的简单说明
对于Python的开发者来说,Django Web应用框架是一个必须了解的网站开发框架,在这里笔者不会详细的叙述Django的使用,因为哪怕只是简单的展开在这个项目里面会涉及到的东西都够我写上10篇文章的了。
我只是在这里简单的写一个数据的流程图(暂且叫流程图吧,管它规不规范呢):
web页面的效果展示
一旦能够正确调用翻译api获取翻译结果,那如何在web页面中显示就纯属个人爱好了。为了使用方便,笔者在实际项目的web端(浏览器中)使用JavaScript实现了一组自定义快捷键。
为了展示web页面,笔者从美国洛杉矶时报随便找了一段英文文本,存入word文档中。
在web中输入待翻译文档:
点击提交后,后端的Django就会调用翻译api进行翻译,并将数据存入数据库。
在web显示翻译结果:
接下来就是修改翻译结果,然后存入word文档中了。
到此,基于Django和翻译API实现web版的中英文对照翻译(一)就结束了。
因为不知道会不会有人对此感兴趣,所以只是写个大概,更多内容,改天再叙!!!
转载于:https://blog.51cto.com/13738949/2299904