Anki 制卡
使用 Anki 制卡
为什么选择 Anki 制卡?
可以看看这个视频「我们十几年的外语教育方法几乎全错了」,与沙拉查词翻译的设计理念十分契合。
大部分背单词的应用程序展示单词及其多种常见意思,用户通过记忆这些关联来学习。然而,这种方法更适合应试记忆,缺乏实用性。基于准确语境的学习方式,每个单词都有确切的意思,符合 SuperMemo 的记忆理念,更易形成条件反射。
在网页上阅读时,我们可以对不懂的单词进行划词翻译,并将其保存到沙拉查词翻译生词本。此时,单词的上下文也会被保存并提供自动翻译。这些真实的语境可以完美同步到 Anki 记忆库中,生成沙拉查词翻译特制的精美卡片。
Anki Connect 自动制卡
有了沙拉查词翻译,Anki 制卡不需要再繁琐的手动配置,全部都可以一键生成。
首先需要安装 Anki 以及 Anki Connect 插件。
- 在 Anki 菜单栏中找到 工具 👉 插件 👉 浏览与安装。
- 输入 2055492159 确认安装。
- 重启 Anki。 Windows 可能会出现防火墙提示,需要选择允许 Anki。Mac OS X Mavericks 可能需要调整 App Nap 以避免 Anki 被休眠,具体说明见其文档。
安装之后如果没有特殊要求使用默认配置即可,在沙拉查词翻译设置 👉 单词管理/Notebook 中开启 Anki Connect 同步。
开启之后请保持 Anki 在后台运行。另外可以安装插件 85158043 让 Anki 最小化到系统托盘。每次保存单词到生词本的时候沙拉查词翻译会自动制卡并同步到 Anki。相同的单词(以“Date”为准)会被跳过,如需强制更新可以在单词编辑器中更新。
- 例如沙拉查词翻译中的单词:
- 在保存到 Anki 后会成为
其中这些 Date, Text, Context, ContextCloze, Translation, Note, Title, Url, Favicon, Audio 为 Anki 的笔记域“Note fields”。
如果想自定义卡片请不要更改这些名字,而是直接修改或添加新的卡片类型。Anki 的杀手锏之一便是笔记与卡片分离,见前文概念资料。
同时我们可以注意到这些名字与前面沙拉单词基本一一对应,但是多了 ContextCloze 和 Audio。其中 Audio 为待实现的发音功能;而 ContextCloze 仔细看它的值,关键字 beauty 被沙拉查词翻译替换成了 {{ c1::beauty }}
,这是用于生成 Anki 填空卡片。原有的上下文依然保留到 Contex. 方便用户自行制作其它卡片。
结合沙拉查词翻译默认生成的填空题卡片样式,可以得到以下效果:
- 卡片正面:
其中关键字被自动挖空;自动生成的翻译已同时自动排好版;个人笔记被作为提示隐藏起来,点击即可展开;来源保留在下方。
- 卡片背面:
文本方式导入
Anki 同时支持以文本方式导入笔记,但如果能用 Anki Connect 还是建议使用 Anki Connect 更方便。
Note Type
首次导入前我们需要在 Anki 中新建 note type,内置的只有正反面 Question 和 Answer ,如果觉得够用也可以。
点击 Tools -> Manage Note Types 浏览所有 note types ,点 Add 添加。
高级的可自行选择,这里我们选最基础的 Add: Basic。
填写名字,如 Saladict Notebook。
然后看到列表中添加成功了,选中,点击 Fields 编辑字段。
可以看到默认只提供了 Front 和 Back ,全部删掉或直接改名,根据需要换成 Saladict 的几个字段 Word, Context, Translation, Note, Source Title, Source URL, Source Favicon。这里我们按顺序添加 Word, Context, Translation, Note。
Anki 会提示下次同步将完全覆盖,如果没有其它设备尚未同步,点确认。
添加完后 Close 回到列表。点开 Cards 编辑卡片模板。
可以看到卡片模板分为前后。根据需要填写,{{}}
中的就是我们刚才填写的字段,会被自动替换为具体内容。下面是一个简单的模板:
- Front Template
- Back Template
填写完 Close 掉。Note types 添加完毕。
导出单词
在 Saladict 生词本或者查词记录中导出单词,可导出选中或全部导出。Anki 会自动识别重复的。
导出时编写模板,根据上面 Note Type 字段的顺序导出,用 ` 分割可以很好避免字符冲突。
比如按照上面例子的顺序 Word, Context, Translation, Note,我们的模板应该为
%text% %context%
%trans% ` %note%
同时因为 Anki 文本导入是以行为单位识别的,导出的内容中有多行(如自动翻译会产生多行内容)注意将改选编辑器上方的「保留换行」。
可以选为换行替换为空格,导出的文本将没有换行。
可以改选为换行替换为<br>
或 换行替换为<p>
。这是 Anki 可以识别的 HTML 标签(见下方配置)。在默认的样式下每行间 <br>
会比 <p>
更紧凑些。
导出保存文件。
导入单词
打开 Anki -> File -> Import 选择文件,导入类型选 Text separated by tabs or semicolons。
然后出现 Import 面板。几个选项:
Type 就是上面的 Note Type ,选择 Saladict Notebook 。
Deck 是让卡片如何归类,通过 :: 分割层级结构。点开后可以选择已有的也可以 Add 新建。这里我们新建一个 单词::Saladict 。
Fields separated by: Space 。我们换成 ` 。
然后就是忽略规则,按需选择。这里我们保持默认。
Allow HTML in fields 。如果上面选择了 <br>
或 <p>
等 HTML 排版需要勾选。
然后下面的 Field Mapping 字段映射就可以看到识别到了上面定义的四个字段。两者匹配成功。
点击 Import 可以看到导入结果。