【Anki小工具】有道生词本转Anki 1.0

【Anki小工具】有道生词本转Anki 1.0

简介

其实本人用有道词典有很长时间了,也特别喜欢有道的生词本功能,在发现了Anki之前我也一直用有道的单词本复习单词,虽然现在用Anki记单词了,不过也习惯用有道来收集单词,最后再导入到Anki中,因为有道手机电脑都可以用来收集单词,并且PC端的取词功能也十分强大,所以有道渐渐地变成了一个搜集工具,而本工具的功能就是将有道生词本导出的xml文件转换成Anki可以识别的txt文件,这样就可以灵活导入到记忆库中。

详细介绍

其实最初的想法是自己写的一个Python脚本,用于实现将有道生词本导出的xml文件转成Anki可以识别的txt文件,然后再导入到Anki中。但是这次介绍是本工具的web版本,也就是全平台通用。由于本工具的功能只负责转换,最后的导入可以根据自己的需要来处理,这里为了说明方便以YDdictBasic这个模板为例,来具体说明从利用有道词典搜集单词到最后导入Anki的过程。

搜集单词

有道词典提供PC端和移动端,只需要注册一个账号就可以全平台同步到有道的单词本,而我特别喜欢用PC端的取词功能:

在取词模式中只需要点击那个小五角星就可以添加到有道的生词本中了,总之通过有道词典各种渠道搜集到一定的单词数量后就可以开始下一步了。

导出xml文件

这其实也是到我们需要转换的源文件,至于导出方法也非常简单,直接在PC端有道的生词本选择导出单词

可以根据实际情况选择分类,这里我选择所有分类:

保存文件的时候非常关键,一定要选择保存为xml文件

到此导出工作完成,接下来就是激动人心的转换了。

转换(解析xml)

这也该本次的主角登场了,打开YDdict2Anki网页版:

根据提示,我们第一步应该是用记事本打开刚才导出的xml文件:

全部选中后粘贴到刚才的红色文本框后在下方的蓝色区域中就会出现转换后的详细信息:

  • index为计数列,只是为了帮助你判断转换了多少个单词
  • word为单词列,一般导入到卡片的正面中
  • phonetic为音标列,缺点就是只有一个音标,而且有些单词没有音标
  • trans为释义列,包含词性和基本释义
  • tags为分类列,即你从有道导出时选择的分类,因为我的单词没有分类,所以这列为空

然后根据提示点击蓝色表格会出现Anki可以识别的文本,这其实就是我们需要的内容,不用犹豫,直接全选复制:

然后新打开一个记事本,把刚才复制的内容粘贴进来:

可以看到这其实就是Anki可以识别的文本格式了,每一行就是一条单词信息,单词的每个属性以制表符分隔,需要注意的是保存的时候一定要保存为utf-8编码

这样转换工作就完成了,接下来的导入工作就可以灵活多变了,这里以YDdictBasic这个模板为例继续说明导入到Anki的具体步骤。

导入到Anki

选择刚才保存的txt文件

设置好需要导入的模板以及记忆库,还有就是对应的字段名称,需要注意的是这里必须要勾选上allow HTML in fields,否则trans字段就无法实现换行显示。

导入后会有提示:

这样就导入完成了,不过大家也注意到了这个是没有导入发音的音频文件的,所以单词就不能发音,这里简要说明用AwesomeTTS插件来实现批量添加音频。

添加音频

因为我导入的这个模板音频字段在audio,所以我先筛选出在English这个记忆库中没有音频的卡片:

audio: deck:English -deck:English::*
什么这句代码的意思是在English记忆库但不包含子记忆库的范围中筛选出audio字段为空(即没有音频)的卡片

全部选中后启动AwesomeTTS插件即可批量加入音频:

总结

其实本工具的核心功能就是把有道的xml格式文本转换成Anki可以识别的txt格式文本。

  • YDdict2Anki网页版支持全平台,只需要一个浏览器就可以实现,虽然操作麻烦了点,但是如果一次转换的量大的话可以节省不少时间
  • 当然最原始的版本还是Python脚本版,我和web版本一起托管在了GitHub上面,有兴趣的小伙伴可以去看看哟

当然用有道搜集单词也只是我个人习惯,正因为自己的习惯最开始写个转换脚本只是方便自己,我也不敢臆测大家的使用习惯,适合自己的才是最好的,我只是本着分享原则供大家参考罢了。

编辑于 2016-12-10

文章被以下专栏收录