跳到主要内容

本文经 J-Compass 编辑流程调研与事实核查;编辑团队在发布前审核信息来源及准确性。 了解我们的编辑方法 →
本译文仅供参考,以方便阅读。内容以英文版本为准。 阅读英文原文 →

Yomitan + Anki:一键制卡配置

通过 Yomitan,只需点击一下鼠标,就能将鼠标悬浮查阅的单词一键制作成 Anki 卡片。在此之前,你只需完成一次简单的准备工作:安装 AnkiConnect 插件、在 Yomitan 中指定目标牌组和笔记类型,并完成几个字段的映射配置。1 本文假设你已按照“Yomitan (Yomichan):悬浮取词词典工作流”安装了 Yomitan 并能正常查词。如果尚未安装,请先完成该部分配置。

概述​

该工作流包含三个程序,各自承担一项职责:Yomitan 负责浏览器端查词;Anki 负责存储卡片并通过间隔重复系统安排复习;而名为 AnkiConnect 的轻量插件则充当桥梁,让两者进行通信。2

一旦桥梁架设完毕,之后的学习闭环每次都无比顺畅:浏览母语文本、鼠标悬浮查词、点击绿色加号。本文接下来的内容将详细讲解如何完成这一通车前的一次性配置。

各组件的连接关系与前置条件​

Yomitan 从不直接向 Anki 写入数据。它是通过 AnkiConnect 与 Anki 通信的,该插件“每次在 Anki 启动时都会初始化一个运行在 8765 端口的轻量 HTTP 服务器”。2 该服务器仅在本地监听,处于同一台电脑上:“默认情况下,AnkiConnect 仅将 HTTP 服务器绑定到 127.0.0.1 IP 地址,因此你只能从运行它的同一台主机进行访问”。2

正是这种本地绑定机制,使得该桥梁无需注册任何账号,也不依赖外部互联网。Yomitan 所在的浏览器与 Anki 运行在同一台设备上,数据交接完全在电脑的本地回环地址(localhost)上完成。

整个通信链路共有三个环节,任何一处中断都会导致卡片无法保存:

在开始制作第一张卡片之前,必须确保三项前提就绪:Yomitan 已经能够正常查词;Anki 桌面客户端已安装;在 Yomitan 中指定了存放卡片的牌组和笔记类型。牌组和笔记类型的选择将在下文详述。创建一个专用的摘录牌组是一项推荐实践,而在 Yomitan 中选择指定的牌组和模型(Model)则是必须完成的硬性要求。1

为什么要从阅读材料中摘录制卡​

从真实阅读中摘录出的卡片自备上下文语境。单词是与你在阅读中实际遇到的完整句子绑定在一起的,而非仅仅是一段抽象的词典解释。这一语境正是 i+1 理念的核心支柱:每张新卡片只在你原本基本理解的材料上增加一个未知要素。

本文侧重于该制卡交接流程的技术操作。至于如何筛选摘录内容以及背后的 i+1 理论逻辑,请参阅“例句摘录:从阅读材料中构建专属日语 Anki 牌组”及相关的阅读策略专文。

安装 AnkiConnect​

在 Anki 中添加插件​

AnkiConnect 通过插件代码进行安装。该代码为 2055492159,这是其在 AnkiWeb 平台上的固定专属标识符。32

安装步骤引自 AnkiConnect 的 README 文档:“在 Anki 中依次选择 工具 > 附加组件 > 获取附加组件 打开安装对话框。在标有 代码 的文本框中输入 2055492159,然后点击 确定 继续。根据系统提示重启 Anki 以完成 AnkiConnect 的安装”。2

菜单文字可能因 Anki 版本而异

README 中标记的路径为“工具” > “附加组件” > “获取附加组件”(Tools > Add-ons > Browse & Install / Get Add-ons)。无论哪种路径,都会打开要求输入“代码”的对话框;在此处粘贴 2055492159 即可。2

重启 Anki 后,无需操作 Yomitan 即可验证桥梁是否处于激活状态。README 给出的检验方法是:“你可以在浏览器中访问 localhost:8765,随时验证 AnkiConnect 是否正在运行。如果服务器正常工作,浏览器窗口中应显示 AnkiConnect v.5 类似的提示信息”。2 只要看到“出现了 AnkiConnect 的提示横幅”即代表成功。提示中的具体版本号字符串会随插件构建版本而略有不同。

Anki 必须保持运行状态​

AnkiConnect 的服务仅在 Anki 处于打开状态时才存在。README 明确指出了这一要求:“必须保持 Anki 在后台运行,其他应用程序才能使用 AnkiConnect”。2

这一机制源于其安装原理:HTTP 服务器“在每次 Anki 运行时启动并监听 8765 端口”。当 Anki 关闭后,Yomitan 便失去了通信目标。2 Yomitan 文档也给出了相同的故障诊断:当弹窗中没有出现添加图标时,请“确保 Anki 正在后台运行”。1

只要 Anki 关闭,连接桥梁即告失效

Yomitan 无法将卡片保存到未打开的 Anki 中。在整个阅读学习期间,必须保持 Anki 桌面客户端在后台持续运行,而不仅仅是在决定添加单词的那一刻才打开它。2

将 Yomitan 连接至 Anki​

启用 Anki 集成​

在 AnkiConnect 安装完毕且 Anki 正在运行的状态下,进入 Yomitan 的设置页面开启集成。文档指导如下:“勾选标有 启用 Anki 集成(Enable Anki integration) 的复选框”,该选项位于 Yomitan 设置页面的 Anki 选项区域中。1

Yomitan 对两类卡片分别进行独立配置:一类在 词汇(Terms) 标签页下,另一类在 汉字(Kanji) 标签页下。每个标签页都可以指定各自独立的牌组、模型与字段映射,从而让词汇卡片和汉字卡片按不同的字段格式存入不同的牌组。1

选择牌组与笔记类型(模型)​

在映射任何字段之前,Yomitan 会要求你“选择用于为此类型创建新抽认卡的 Anki 牌组和模型”。1 必须先选择好牌组和模型,因为下一步的字段映射是针对各个具体模型来定义的。1

“Model”(模型)是 Anki 对“笔记类型”(Note Type)的技术称谓。Yomitan 中标有 model 的下拉菜单对应的内容与 Anki 的笔记类型列表完全一致;其官方文档全程通用“model”一词。1

设立专门的例句摘录牌组,能将这些来自日常阅读的卡片与现成的预设牌组清晰隔离开来,这也会让下一步的字段选择思路更加明晰。

映射卡片字段​

字段标记及其提取内容​

字段映射在 Yomitan 的 Anki 设置中通过“配置 Anki 卡片格式...”控件进行设置。在此处,你可以使用一个或多个标记填入所选模型的各个字段。1 标记是由大括号包裹的名称。创建卡片时,Yomitan 会自动将其替换为查词结果中对应的组成部分。1

下方列出的常用标记子集足以满足制作例句摘录卡片的需求(即根据真实阅读句子制作的卡片)。每条释义均引自 Yomitan 官方文档:1

标记填入的内容
{expression}“以汉字表示的词条(若无汉字则显示为假名)。”
{reading}“词条的假名读音(对于表述即为读音的词条则为空)。”
{furigana}“上方带有振假名标注的汉字词条。”
{sentence}“来自原文中该词条所在的句子、引语或短语。”
{sentence-furigana}“来自原文中该词条所在的句子、引语或短语,并带有振假名标注。”
{glossary}“词条的释义列表(输出格式取决于是否以分组模式运行)。”
{audio}“来自音频源之一的词条发音音频(若有)。”
{screenshot}“添加词条时捕获的网页截图。”

Yomitan 支持的标记远不止这些,还包括词频数据、音调标注,以及能够提取生词前后句段的完形填空(Cloze)三件套等。1 上述八个标记已完全能够支撑标准的“词汇+语境”卡片。只有当你的笔记类型确实需要特殊字段时,才需调用其他高级标记。

推荐的基础映射方案​

字段映射的核心原则是:条目的每一项内容对应 Anki 的一个独立字段。“单词”字段填入 {expression},“读音”字段填入 {reading} 或 {furigana},“释义”字段填入 {glossary},“例句”字段填入 {sentence} 或 {sentence-furigana}。可选的“音频”与“图像”字段分别填入 {audio} 与 {screenshot}。1

这是一种通用的映射架构,而非固化死板的笔记类型。具体的笔记类型视觉排版以及社区中流传的模板属于另一范畴。本文着眼于基础原理,只要包含这些基础字段的模型均可正常工作。

首字段查重陷阱​

Anki 依靠一个关键字段来判断某张卡片是否属于新卡。官方文档明确指出:“Anki 默认不允许向牌组中添加重复卡片;它会使用模型中的第一个字段来检测重复”。1

这条规则主导了整个映射的设计:必须将能够唯一标识卡片的标记映射到模型的第一字段中——词汇卡片为 {expression},汉字卡片为 {character}。1 如果第一字段填入了非唯一内容,或者误填了整条例句,Anki 就可能将一个全新的单词误判为重复条目,并静默导致添加失败。1

务必在第一字段中映射唯一标记

在笔记类型的第一字段中填入 {expression}(或者汉字卡片的 {character}),因为该字段是 Anki 的判重主键。当某个单词已经存在于牌组中时,Yomitan 只会提供“添加重复卡片”选项,或者在禁止重复时完全不显示添加按钮。1

摘录制卡工作流:浏览、悬浮、加号​

浏览、悬浮、加号​

在连接架设完毕后,例句摘录只需三步操作:在浏览器中阅读日文原版文本;按住配置的修饰键悬停在单词上唤出 Yomitan 弹窗;点击添加图标将卡片发送到你指定的牌组中。1

弹窗上的添加图标正是一键制卡承诺的体现。文档结合示例词描述道:“点击[图标]会添加当前的表达(例如 食べる)”,而第二个图标则用于添加该表达的读音。1

食たべる1
“吃”(文档中展示通过加号按钮添加的示例词)

如果弹窗中完全没有出现添加图标,通常是上游通信链路出了问题。官方文档给出的解决办法是“确保 Anki 正在后台运行”,这直接对应了 AnkiConnect 必须处于运行状态的要求。1

单词卡 vs 语境例句卡​

纯单词卡与语境例句卡的区别完全取决于你映射了哪些标记。纯单词卡只映射 {expression}、{reading} 和 {glossary}。而语境例句卡则额外增加了 {sentence} 或 {sentence-furigana},用于捕获“原文中该词条所在的句子、引语或短语”。1

{sentence} 提取的内容取决于页面上生词周边的上下文文本,并非固定静态值。1 完形填空标记则会将提取出的句子以生词为界进行切分,这也是从同一次查词中生成填空题卡片样式的技术原理。1

音频与截图​

{audio} 会插入“来自音频源之一的词条发音音频(若有)”。该表述包含两层限制:它仅从已配置的音频源中拉取,且前提是该词条确实存在对应音频。1 {screenshot} 会插入“添加词条时所截取的网页屏幕截图”。1

这两个字段均为可选项,且受来源制约。音频源的配置需在 Yomitan 自身的“音频”设置中完成,而非在 Anki 标签页中。该部分配置属于前置基础工作,本文默认已经就绪。

注意事项​

保持牌组精简,克制制卡数量​

例句摘录牌组的膨胀速度非常惊人。一个充斥着似懂非懂词汇的庞大牌组,其复习负担远重于一个只记录真正阻碍理解的核心生词的小牌组。只摘录那些切实阻碍你阅读理解的生词,切忌把滚屏遇到的每一个未知词汇统统制卡。

关于卡片价值的取舍标准以及多少新卡算过量,属于“例句摘录:从阅读材料中构建专属日语 Anki 牌组”的方法论范畴。本文仅负责提供把卡片存入牌组的工具链路。

加号按钮变灰或消失时的排查步骤​

当添加按钮或图标无法点击时,通常是由以下四种原因之一导致的。请按顺序进行排查,因为第一种情况最为常见:

第一,Anki 尚未打开。此时完全不显示任何图标,解决方法是启动 Anki,因为“Anki 必须在后台保持运行”。21 第二,AnkiConnect 未安装或无法访问。在浏览器中打开 localhost:8765 确认是否能看到 AnkiConnect 横幅。2

第三,Yomitan 中未选定牌组或笔记类型。这两项均需明确指定,卡片才能被添加。1 第四,该单词与第一字段产生重复。在这种情况下,Yomitan 只会显示“添加重复卡片”或不显示添加按钮,因为 Anki“使用模型中的第一字段来检测重复”。1

阅读器、OCR 与字幕工具的共同归宿​

这套 Yomitan + Anki 管线是更广泛的数字化阅读工具链的最终卡片出口,并非孤立的小技巧。浏览器端电子书阅读器、漫画 OCR 文本层以及视频字幕摘录工具都能生成 Yomitan 在悬浮时可识别的文本。它们最终都将制作的卡片输送给同一个网桥。

只需完成一次字段映射,所有这些语料来源都能通过相同的“浏览-悬浮-加号”闭环,汇入同一个 Anki 牌组之中。

参见​

References​

Footnotes​

  1. Yomitan project. "Anki Integration." Yomitan Documentation (yomitan.wiki). https://yomitan.wiki/anki/ . UI labels and the complete field-marker reference; labels are app-version-dependent and may drift. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17 ↩18 ↩19 ↩20 ↩21 ↩22 ↩23 ↩24 ↩25 ↩26 ↩27 ↩28 ↩29

  2. AnkiConnect (FooSoft / Alex Yatskov). AnkiConnect README ("Installation," "Requirements"). Canonical project home: https://foosoft.net/projects/anki-connect/ ; source repository: https://git.sr.ht/~foosoft/anki-connect . README text quoted here was read from the public mirror at https://raw.githubusercontent.com/amikey/anki-connect/master/README.md (identical to the FooSoft README). ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12

  3. AnkiConnect. AnkiWeb shared add-on listing, add-on code 2055492159. https://ankiweb.net/shared/info/2055492159 — the canonical install listing; the numeric code is the install identifier. ↩