标签 GoldenDict 下的文章

GoldenDict搭配Python 程序使用腾讯云机器翻译

前言:

笔者之前曾经写过一篇博文,介绍了自己使用翻译工具的经历。最后还安利了一波 GoldenDict ,同时安利了某位大佬的项目,调用 Python 程序通过 Google 翻译为 GoldenDict 添加整句翻译功能。最近笔者在新买的电脑上配置这套翻译工具时,发现这个Python程序只支持通过Google.com翻译了。而在中国大陆是无法直连Google.com的,于是我希望有一个替代方案。经过一番简单的对比,发现腾讯云提供了易于上手、免费额度足的翻译API,腾讯翻译君也是用的这个API。于是我便参考大佬的项目,通过腾讯云API接口,自己写了一个Python程序。

因为笔者学习Python的总时长不超过5小时,才疏学浅,还请大佬们不要喷我写的辣鸡代码,代码会放到GitHub上,大佬如果看不下去,欢迎添砖加瓦。整个配置分为申请翻译接口和部署Python程序两大步。

仓库链接

申请翻译接口:

目前腾讯机器翻译每月提供5百万字符的免费文本翻译额度,一般的非翻译工作者,这个量应该足够了。只需要开通机器翻译免费账户,到达月免费限额会自动中断服务,不会扣费。当然,你也可以升级付费账号,超出免费额度后付费使用。

  1. 首先我们需要打开 腾讯云 官网并登录,没有可先点击页面右上角注册账号,登录后需要在右上角的菜单中进行个人实名认证。
  2. 注册后点击机器翻译 TMT页面上的立即使用按钮,会跳转到机器翻译的服务控制台。
  3. 在控制台勾选 我已阅读··· ,然后点击免费试用,按提示免费开通机器翻译服务。为避免超出免费额度后被收费,首次开通建议选择试用版,若以后发现免费版不够用,可以随时改付费版。
  4. 开通后,鼠标放在网页右上角头像上,在弹出的菜单中点击访问管理,然后在左侧菜单选择访问密钥 --> API 密钥管理,进入之后会有一个弹窗提示。
  5. 弹窗的内容是告诉你,在目前界面创建的密钥可以调用账号里的所有腾讯云资源,为保险起见,建议创建一个子账号,然后只给这个子账号分配需要的服务对应权限,最后使用子账号创建密钥,这样更安全。
  6. 此时有两种方法:
    • 一种是忽略提示,点击 继续使用 ,然后点击 新建密钥 按钮,表格里就会添加新的密钥,能看到Secretld和SecretKey。这样操作简单,但一旦泄露风险较大。
    • 另一种操作繁琐一些,但更安全。点击 切换使用子账号密钥 ,会跳转到新建用户页面。点击自定义创建,选择 可访问资源并接收消息 ,然后点击 下一步 。新的页面中设置用户信息:填写用户名,备注可填写 机器翻译接口-GoldenDict访问方式:只勾选编程访问。其他不必填写,完成后点击下一步。新的页面中搜索“ 机器翻译 ”,勾选QcloudTMTFullAccess(机器翻译(TMT)全读写访问权限) 即可,然后点击下一步。最后的页面用于审阅之前几步填写的信息,确认无误后点击 完成 即可。此时就会看到这个子账户的SecretId和SecretKey
  7. 完成上面操作后,保持页面,等待下面部署Python程序阶段使用SecretIdSecretKey

部署Python程序:

注意,笔者Python初学者,技术很菜,目前发现程序有个Bug,如果输入的Text包含“®™”这类符号,会报错退出。

安装Python3.3.6以上,到官网下载,装的时候注意勾上pip和PATH。

安装腾讯云SDK:

pip install --upgrade tencentcloud-sdk-python

中国大陆地区的用户可以使用国内镜像源提高下载速度,例如:

pip install -i https://mirrors.tencent.com/pypi/simple/ --upgrade tencentcloud-sdk-python

GitHub下载TencentTrans.pyfavicon.ico两个文件,随手丢在合适的地方。目录不要太深,注意不要有空格。

文本编辑器打开 TencentTrans.py ,修改以下两行中的内容为上一大步中申请的ID和KEY。

SecretId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
SecretKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

GoldenDict 中点击 编辑 --> 词书 ,在 来源 选项卡中选择 程序 选项卡。点击 添加 按钮,类型选择 纯文本 ,名称填写 腾讯翻译君 ,命令行填写 python 文件路径\TencentTran.py %GDWORD% ,图标填写 文件路径\favicon.ico

以上的路径要使用 绝对路径,类似于这样格式 python C:\GoldenDict\XXX\Python.py , C:\GoldenDict\XXX\favicon.ico

填写完成后将前面的已启用打勾,点击确定按钮完成配置。这样就可以使用啦!

参考资料:

我该用什么词典?——翻译工具的选择

前言

在研究电子技术和计算机技术的过程中,大家都不可避免的需要接触英文资料;如果英语水平不够,遇到不懂的单词、甚至成段看不懂的情况,那便需要翻译了。传统的纸质词典、电子词典等使用相对低效,在我们使用电脑看英文文档的当下,翻译这件事自然也是用电脑完成。通常,我们会通过浏览器使用谷歌、必应、百度、有道等提供的在线翻译网页查单词、整段翻译,也会在电脑上安装翻译工具程序进行翻译。而后者,作为一个应用程序,通常能提供比通过浏览器工作的在线翻译更好的使用体验。本文前部分会使用较小的篇幅记录笔者翻译工具使用史,后面的部分则介绍笔者如何配置、使用商业词典欧路词典和开源词典GoldenDict。

笔者的翻译工具使用史

说起笔者最开始使用的翻译工具,那应该是有道,那时我刚接触电脑时间不长,只是偶尔用词典软件查过几个单词,安装词典可能只是为了体验通过电脑查单词的这个过程。那时有道有鼠标取词的功能,闲暇时刻我会用鼠标胡乱指向一些中文的词语,将其翻译成英语。

后来笔者入了电子技术这个坑,阅读Datasheet的困难便随之而来,虽然我英语从未挂科,但只满足不挂科的英语水平的确不足以阅读Datasheet,更别提里面很多专业的词汇上课也不会学。可能那时比较流行使用破解版商业软件,又可能是因为PDF文档中取词的需求。看了百度上众多网友的推荐,我选择了使用破解版的金山词霸企业版,因为里面多个词库看起来蛮专业的,而且它有Adobe Reader取词插件,可以很方便的在PDF文件中拖动光标选取内容进行整段的翻译,翻译结果会自动显示。而有道不支持Adobe Reader,自然不会再使用它。

转眼来到2021年的某一天,我秃然发觉金山词霸是用了那么多年,想来这么多年过去,翻译工具是否会有更好的选择呢?一番搜索之后发现很多人都推荐欧路词典,下载安装后发觉界面不错,自带词库查词返回内容也挺多,支持整段的翻译,甚至它还有一个截屏取词的功能。取词与划词默认配置可能不适合所有人,其选项可以根据个人需求进行更改。虽然是商业软件,它的免费版本也没有广告,这点值得称赞。欧路词典可以挂载第三方提供的词库扩展,支持常见的Mdict和灵格斯格式。针对扩展词库,免费版本只能显示前两个。其实对于非英语专业来说,两个可能也够了。如果需要挂载更多扩展词库,欧路词典的价格也不贵,也就三箱桶面的样子。

通过对欧路词典几天的使用,我发现它经常出现划词翻译失灵的现象,这个问题也有可能是和其他翻译工具冲突的原因。抛开此问题不谈,我还发现它的鼠标取词功能识别率略低,之前使用金山词霸几乎没有的识别错误问题,短短几天欧路发生了好几次,但是后来的几天错误率降低了。但是软件版本并没有更新,这个表现很迷,难道是后台直接更新了部分文件还是什么其他的东西自动改变了?这些表现可能与我电脑软件环境有关,但我还是对欧路词典的稳定性抱有怀疑。

在发现欧路词典可能不稳后,开始寻找其他替代方案。想起前面看到的Mdict格式,便打算去了解了一下Mdict是什么,通过搜索引擎搜索后了解到这也是一款词典,功能不是很强,但是很多权威大辞典都是打包成这种格式。然后看到有人对Mdict、欧路词典和GoldenDict进行了简单对比,我了解到了GoldenDict是一款开源软件,它支持的词典格式较多,同时它也支持Mdict格式。然后发现了nonwill大佬优化过后的GoldenDict++OCR,这是支持OCR取词的GoldenDict版本。下载简单使用了一下后发现,功能确实挺不错,它还有一个称之为构词法规则的功能很实用。但它没有欧路词典这种商业软件那么美观的界面,配置也会比较复杂,想要使用它需要一定的折腾能力,但它是免费的。

目前我主要尝试使用欧路词典,而GoldenDict为辅。因为我不是英语专业类工作,也不是英语研究爱好者。我只是需要一个翻译工具用来翻译我无法读懂的文档。这种情况,一个简单易用美观的翻译工具是有必要的。如果欧路词典的划词稳定性没有问题,我可能会考虑购买付费版本;如果有问题,则会考虑换用GoldenDict。

词典的配置与使用

以下记录笔者使用时的配置,系统为Windows10,其他系统没有测试。仅供参考。

欧路词典:

首先是第三方词库的安装,因为免费用户只能加载两个扩展词库,所以需要做一些取舍。如可以安装一部带发音的词频词典和一部权威大词典(或行业词典),排序时把词频词典放第一,自带英汉汉英放第二,权威大辞典放第三以避免长篇幅挡住自带词典内容。如果不使用权威大辞典而是使用词条篇幅较短的行业词典,可以考虑和自带英汉汉英对调。

添加词典的操作过程。单文件的词典直接在词库管理中点击安装词库>选择文件,按照提示添加即可。多文件的词典安装时需要点击安装词库>选择文件夹。包含外观样式文件的词典,需要现在设置中心中点击打开软件配置目录,打开欧路的配置文件目录,复制词典自带的样式文件到这个目录。

欧路词典的划词翻译功能可能有问题,勾选开启划词翻译功能选项,使用光标选择一段内容后会出现翻译按钮,点击此按钮有时会出现无效的情况。但是手动划词快捷键F7按下还是能正常翻译的。这个问题可能是本人系统环境造成,也可能是欧路词典本身的Bug。针对此问题,建议记住快捷键F7,去掉开启划词翻译功能选项勾选,后期使用快捷键调用划词翻译。再记住一个截屏翻译快捷键:Ctrl+Alt+D,必要时可以直接截屏翻译。我个人始终认为:快捷键比点击图标更高效

其他设置就是比较常规的,比如我勾选了关闭窗口时最小化到状态栏。这样就可以缩到通知区域里面,不占用任务栏了。勾选启动Windows系统时自动运行,这样就可以随系统启动。如果不喜欢它的每日一句等在线内容,可以取消这个勾选,主页就会更清爽一些。其他一些快捷键也可以按实际习惯修改。

GoldenDict:

主程序安装与配置官网提供的版本已经太旧了,不支持mdx和mdd格式的词典文件,可以去SourceFORGE下载。建议使用nonwill大佬优化过后功能更强大的GoldenDict++OCR,这个有OCR功能,我也是用的这个。大佬针对Windows编译的版本都是便携版(Portable),根据自己系统下载主程序包解压到合适位置后,可以下载Dictionary文件,里面有一些共享的词典样式表和字体文件。

确保GoldenDict++OCR未打开,在其主目录下,新建portable文件夹和content文件夹。解压Dictionary文件中的dicts目录下的内容到content文件夹,解压portable目录下内容到portable文件夹。然后运行GoldenDict++OCR,点击编辑~~>首选项,打开首选项的设置页面。在此可以设置显示风格(即主题)和附加样式(查词结果显示区域的样式),.该词典上古风格的主题,在现在的审美看来糟糕透了,咱肯定不能指望免费的东西有什么漂亮的主题,但还是有必要按照自己喜好修改一下。我分别选择了灵格斯-蓝色调modern-yeah。如果需要随开机启动,可勾选随系统启动。取词和划词选项卡可以修改相应功能的快捷键,OCR取词默认快捷键是Ctrl+B+B,这个快捷键与Adobe Acrobat冲突,所以我的改成了Ctrl+Shift+C+C

词典的安装:与欧路词典需要付费不同,GoldenDict不需要付费即可加载多本词典,但是加载过多的词典可能带来使用卡顿。如果是对英语进行研究,可能需要查看大量不同词典;如果只是一般应用,建议尽量少装词典,像上文欧路配置两本词典也可以。具体按照操作:将词典文件解压到content目录,点击编辑~~>辞书在来源选项卡的文件选项卡引入前文创建的content目录的路径,然后在辞书选项卡中可以看到已经扫描到的词典。辞书排序栏中不需要的辞书,可以托拽到禁用栏中。

启用构词法规则:学习英语过程中,有时我们可能需要了解这个单词的来源是什么单词,以便更好地记忆、学习、理解单词。如果之前我们正确的将morphology文件夹放到了content目录,那么在来源选项卡下的构词法规则库页面,我们可以勾选需要的构词法(比如英语),应用设置后我们查询单词时如果在构词法库中有记录,则会在单词页面上附加显示来源词的释义。比如搜索sustainable,除了给出此单词释义是形容词可持续的,还会给出sustain的释义是动词维持。这个功能欧路词典是没有的。构词法词库还用于拼写错误时给出拼写建议。比如我听了一个词:algorithm,但我不知道如何拼写,我随手打出:aogerithm,然后GoldenDict便会给出拼写建议:algorithm,而欧路词典的建议是通过联网的网络释义实现的。

整句翻译:与其他商业公司的翻译软件相比,GoldenDict一个很大的缺点就是没有整句翻译。这个需求可以通过调用外部程序实现。因为Google翻译等对自己的翻译API做了限制,经过大佬们的努力,他们通过调用外部的一个Python程序实现,Python程序负责调用Google翻译API并把结果返回GoldenDict。笔者使用的xinebf提供的项目,托管于GitHub,项目页有详细的安装说明。

首先需要安装Python3.7以上版本,然后通过pip3 install google-translate-for-goldendict命令配置这个项目,接下来在GoldenDict中点击 编辑 - 字典 - 字典来源 - 程式,添加如下条目:

类型: Html
名称: Google Translate
命令行: python -m googletranslate zh-CN %GDWORD% -s "translate.google.cn"

图示请从GitHub项目中下载保存到合适位置,然后设置位置。保存设置后尝试使用快捷键对英文句子取词,即可看到整句翻译结果。

到此,本文结束。其他使用技巧大家可自行摸索,如果有什么见解,也可以在下面留言。

参考: