Lingua Study

approved

by xiaobai

Study languages with timestamped YouTube transcripts, playback controls, and on-demand AI translation. - This plugin has not been manually reviewed by Obsidian staff.

18 stars834 downloadsUpdated 15d agoMIT

Lingua Study

简体中文 | English

在 Obsidian 中把 YouTube 和哔哩哔哩英文视频变成可跟读、可听写、可查词、可复习的学习材料。支持带时间戳字幕、本地缓存播放、逐句翻译、离线词典和生词本。

[!IMPORTANT] Lingua Study 1.5.1 仅支持桌面版 Obsidian。移动端仍处于测试阶段,不包含在本次正式发布范围内。当前主要面向“英文视频字幕 → 简体中文学习”的场景。公开 YouTube 字幕导入使用非官方公开接口,因为 YouTube 官方字幕下载 API 只能下载用户有权编辑的视频字幕。YouTube 与哔哩哔哩的公开接口可能随时变化。本插件不会绕过登录、地区、嵌入、会员或反机器人限制。

近期更新(1.3.0–1.5.1)

  • 划词翻译开关:可随时关闭字幕选区的自动翻译悬浮窗,不影响双击查词和手动翻译命令

  • 本地视频学习:从原有 Lingua Study 入口导入本地 MP4,并自动匹配同名 SRT/VTT 字幕

  • 多服务划句翻译:支持百度翻译、DeepSeek、Kimi 与 OpenAI 兼容服务,译文显示为可拖动悬浮卡片

  • FSRS-6 复习计划:使用真实 FSRS-6 调度,并可设置目标留存率

  • 初高中学习目标:新增初中英语和高中英语,词典同步保留对应考试标签

  • 词典更新提醒:旧版完整词典继续可用,只在“学习与词典”页询问是否更新,不会强制下载

  • 生词与词形增强:完整编辑生词字段并长期保留个人版本,查词支持词形还原、别名和模糊建议

  • 可选界面外观:默认保留经典外观,也可在设置中切换为 Lingua Paper;两种外观的功能保持一致

  • 播放器自由缩放:桌面端可从播放器四个角拖动调整大小,控制器同步缩放并记住宽度

  • 版本更新提醒:打开设置页时检查最新官方 Release,仅在发现新版时直接打开 Obsidian 内的插件更新页面

  • 逐句听写:反复播放当前句,提交后进行逐词对照与评分

  • 影子跟读:跟随原声录音,支持暂停、继续、波形显示和录音回放

  • 生词学习闭环:双击查词、加入生词本、完整编辑学习字段、保留视频原句并安排每日复习

  • 生词本导出:可导出为 Obsidian 学习笔记或桌面端分页 PNG 长图

  • 字幕平滑跟随:播放过程中自动保持当前句可见,减少页面跳动和重复布局

  • 字幕可重新导入:哔哩哔哩播放器已有字幕时仍显示字幕按钮,可替换错误或失败的导入结果

  • 自定义词典:桌面端可导入不超过 100 MB、最多 100 万词条的 CSV、TSV 或 JSON 词典,并优先使用自定义释义

功能概览

  • 使用隐私增强域名 youtube-nocookie.com 嵌入 YouTube 播放器
  • 本地缓存并播放哔哩哔哩视频;缓存不可用时回退到哔哩哔哩官方外部播放器
  • 在 Obsidian 左侧功能区提供 Lingua Study 专属图标,用于手动导入当前笔记中的 YouTube 或哔哩哔哩链接
  • 可选“粘贴单个独立视频链接后自动导入”,默认关闭
  • 打开 Lingua Study 设置页时检查 GitHub 最新正式 Release,只在有新版时提供 Obsidian 应用内插件页面入口
  • 直接导入哔哩哔哩英文字幕;仅在平台要求时使用与浏览器隔离的 Obsidian 内登录窗口
  • 优先使用人工英文字幕,找不到时再尝试自动英文字幕
  • 当 YouTube 常规页面请求失败时,自动尝试无需 API Key 的移动端请求方式
  • 桌面电脑已经安装 yt-dlp 时,可自动把它作为 YouTube 字幕获取的后备方案
  • 在线字幕获取失败时,可导入本地 SRT/VTT 字幕
  • 电脑端可直接导入本地 MP4,并自动匹配同目录下的同名 SRT/VTT 字幕
  • 只有播放器的哔哩哔哩学习块可通过“添加字幕”入口后续补充文字稿
  • 可导入并编辑 PDF、DOCX、TXT、Markdown 或直接粘贴的双语文稿
  • 可选使用本地 Whisper Base English,在设备上完成文稿与视频时间轴对齐
  • 支持播放、暂停、前进或后退 5 秒
  • 支持 0.75× 至 2× 播放速度
  • 时间戳可点击跳转,当前句自动高亮,字幕随页面滚动,无额外的内部滚动窗口
  • 可点击翻译单句,也可开启或关闭字幕划词自动翻译
  • 为每句生成四部分学习卡:中文翻译、词汇与搭配、语法结构、考试提示
  • 提供初中英语、高中英语、CET-4、CET-6、TEM-4、TEM-8、IELTS 和 TOEFL 学习目标,各自使用独立本地缓存
  • 内置离线英汉词典,双击字幕中的英文单词即可查询
  • 提供右侧栏词典视图,显示音标、释义、词形变化、考试标签、上下文和系统发音
  • 支持把查询结果加入生词本,保存个人备注和视频原句语境,并安排每日复习
  • 支持逐句编辑字幕,并可一键恢复首次导入或生成的原文
  • 支持逐句听写、前后 2 秒复听和逐词对照评分
  • 支持临时单句跟读录音、同步影子跟读、暂停/继续、波形和录音回放
  • 支持一键把全部生词导出为 Obsidian 笔记或桌面端分页长图
  • 支持百度翻译、DeepSeek、Kimi 和使用 HTTPS 的 OpenAI Chat Completions 兼容服务
  • 翻译缓存保存在对应字幕文件旁边
  • API Key 通过 Obsidian SecretStorage 选择和保存

版本检查只在用户打开 Lingua Study 设置页时请求本项目 GitHub 最新正式 Release 的 manifest.json;不会上传笔记、词典、生词、设置或使用数据,也不会自行下载或覆盖插件文件。

使用要求

  • Obsidian 1.13.0 或更高版本
  • Obsidian 桌面版;目前不支持手机和平板
  • 当前网络环境可以访问所选 YouTube 或公开哔哩哔哩视频
  • 只有使用 AI 翻译时才需要对应服务的 API Key
  • 可选:安装较新版本的 yt-dlp,提高 YouTube 字幕后备获取的成功率

安装方法

从 Obsidian 社区插件市场安装

Lingua Study 的项目页面可能会先出现在 Obsidian 社区网站,而插件稍后才进入 Obsidian 客户端的正式目录。审核版本能够在客户端搜索到以后,打开:

设置 → 第三方插件 → 浏览

搜索 Lingua Study,然后安装或更新。在客户端尚未收录前,请使用下面的手动安装方法。

手动安装

  1. 打开与目标版本对应的 GitHub Release。

  2. 下载 main.jsmanifest.jsonstyles.css

  3. 在仓库中创建以下插件目录:

    <仓库目录>/.obsidian/plugins/lingua-study/
    
  4. 将下载的三个文件放入该目录。

  5. 重新加载 Obsidian。

  6. 设置 → 第三方插件 中启用 Lingua Study

哔哩哔哩字幕导入不需要 Chrome 扩展。如果视频要求登录,Lingua Study 会在 Obsidian 内打开一个独立的哔哩哔哩登录窗口,并在登录成功后自动重试。

使用方法

导入 YouTube 视频

  1. 在 Markdown 笔记中粘贴一个 YouTube 视频链接。
  2. 点击 Obsidian 左侧功能区的 Lingua Study 图标。
  3. 等待字幕保存完成,插件会将笔记切换到阅读视图。

导入成功后,Lingua Study 会:

  • 删除笔记中较长的原始视频链接
  • 将英文字幕保存到 Lingua Study/Transcripts
  • 在笔记中插入学习代码块
  • 切换到阅读视图并显示播放器、字幕和学习操作

播放器中的 打开原视频 按钮可跳转到视频来源页面。如果当前处理范围内有多个受支持的视频链接,插件会先询问要导入哪一个。

如果希望恢复“粘贴链接后自动导入”,请打开:

设置 → 第三方插件 → Lingua Study → 通用选项 → 粘贴视频链接后自动创建学习内容

该功能默认关闭,避免粘贴资料时意外触发导入。

YouTube 字幕会按照以下顺序自动尝试:

  1. YouTube 观看页面和公开播放器字幕轨道
  2. 无需固定 API Key、且不依赖观看页面配置的 YouTube 移动端请求
  3. 电脑上单独安装的本地 yt-dlp:先尝试人工英文字幕,再尝试自动英文字幕
  4. 用户选择的本地 .srt.vtt 文件,最大 10 MB

字幕保存目录和 yt-dlp 的完整路径可以在以下位置修改:

设置 → 第三方插件 → Lingua Study → YouTube 字幕导入

不填写 yt-dlp 路径时,插件会搜索系统 PATH,以及常见的 Homebrew、MacPorts 和 Windows 命令位置。已有且有效的字幕文件会直接复用,不再发起网络请求;同一视频已经存在学习块时,也不会重复插入。

导入哔哩哔哩视频

  1. 在 Markdown 笔记中粘贴一个公开哔哩哔哩视频链接。
  2. 点击 Obsidian 左侧功能区的 Lingua Study 图标。
  3. 等待字幕保存完成,插件会将笔记切换到阅读视图。

Lingua Study 会直接读取哔哩哔哩的独立字幕轨道,并把公开的合并版 MP4 下载到操作系统缓存目录。如果平台提示字幕需要登录,用户可以在 Obsidian 内的隔离窗口中登录,插件随后自动重试。该登录会话与 Chrome 分开。

导入成功后,插件会保存字幕、删除笔记中的长视频链接、插入一个学习块并切换到阅读视图。支持 BV 号、av 号、多分 P 视频的 ?p= 链接和官方 b23.tv 分享链接。

字幕创建按照以下顺序进行:

  1. 复用已有且有效的本地字幕
  2. 直接请求哔哩哔哩字幕,优先人工英文、其次自动英文;仅在平台要求时使用 Obsidian 内登录
  3. 选择最大 10 MB 的本地 .srt.vtt 文件
  4. 导入作者提供的文稿,并使用本地 Whisper Base English 对齐
  5. 没有可用英文字幕时,仅创建播放器

如果最后只创建了播放器,插件会删除笔记中原本可见的哔哩哔哩链接,同时保留周围的其他笔记内容。播放器旁会保留一个紧凑的字幕图标,之后可以继续添加 SRT/VTT,或者导入 PDF、DOCX、TXT、Markdown 和直接粘贴的文字稿。文稿中已有的中文内容会作为对应的本地翻译保存,不会调用 AI 翻译接口。

可通过以下位置打开视频缓存目录:

设置 → 第三方插件 → Lingua Study → 哔哩哔哩视频与登录 → 打开缓存文件夹

缓存视频位于 Obsidian 仓库之外,不受 Obsidian Sync 管理。生成的字幕 JSON 仍保存在仓库内配置的字幕目录中。哔哩哔哩登录 Cookie 只保存在 Electron 的隔离持久会话中,不会写入笔记、字幕、插件设置或 Obsidian Sync;可以在同一设置区域中清除。

导入本地视频与字幕

  1. 打开要放置学习内容的 Markdown 笔记。
  2. 点击左侧原有的 Lingua Study 图标。当前笔记有 B站或 YouTube 链接时会继续处理该链接;没有可用链接时会自动打开本地视频导入页面。也可运行命令“从本地视频和字幕创建学习内容”。
  3. 选择一个 MP4 或整个文件夹。插件会优先匹配同目录下名称相同或带 .en.eng.english 标记的 SRT/VTT;单个视频模式也可以手动选择其他字幕。
  4. 确认后,插件会把字幕转换为学习用 JSON,并在当前笔记中插入本地播放器。

视频保持在原文件夹,不会复制到 Obsidian 仓库;字幕 JSON 仍保存在已配置的字幕目录。移动或删除原视频后,可在播放器中点击文件夹按钮重新选择。第一版仅支持电脑端 MP4 和 UTF-8 编码的 SRT/VTT;是否能播放还取决于 Obsidian/Electron 支持的视频编码。

手动创建字幕文件

Lingua Study 1.0.x 创建的笔记和版本 1 JSON 字幕仍然兼容。高级用户也可以手动创建字幕 JSON:

{
  "version": 1,
  "videoId": "abcdefghijk",
  "sourceUrl": "https://www.youtube.com/watch?v=abcdefghijk",
  "language": "en",
  "segments": [
    {
      "start": 4,
      "end": 10,
      "text": "Welcome to this language lesson."
    }
  ]
}

然后在 Markdown 笔记中添加:

```lingua-study
transcript: Language study/Transcripts/example.json
```

切换到阅读视图后即可使用播放器和字幕。早期开发版本使用的 english-video-study 代码块仍然兼容。

配置翻译服务

打开 设置 → 第三方插件 → Lingua Study,然后选择一个翻译服务。

百度翻译

  • 在百度翻译开放平台开通“通用文本翻译”,填写 AppID,并通过 Obsidian SecretStorage 选择密钥
  • 支持当前字幕句、整篇字幕、字幕多词选区和 Markdown 选中文本翻译
  • 百度只生成普通中文译文;学习知识卡仍需要 DeepSeek、Kimi 或 OpenAI 兼容服务

DeepSeek

  • Base URL:https://api.deepseek.com
  • 模型:deepseek-v4-flashdeepseek-v4-pro
  • 短文本翻译请求会关闭思考模式

Kimi

  • 模型:kimi-k2.6
  • API Key 通过 Obsidian SecretStorage 选择
  • 短文本翻译请求会关闭思考模式

OpenAI 兼容服务

需要填写:

  • HTTPS Base URL,例如 https://example.com/v1;也可以填写完整的 /chat/completions 地址
  • 服务商实际支持的准确模型 ID
  • 通过 Obsidian SecretStorage 选择的 Bearer API Key

当前版本暂不支持自定义请求头、Anthropic 兼容接口、Ollama 和其他翻译目标语言。可以选择启用整篇翻译;插件会按顺序逐句请求,并自动跳过已有结果的句子。在字幕阅读界面拖选多个单词后,插件会直接调用当前翻译服务,并在选区附近显示可拖动的非模态悬浮卡片;单独双击一个单词仍执行离线查词。Markdown 编辑器中选中文字后,可从命令面板运行“Lingua Study:翻译选中的英文文本”,并可为该命令设置快捷键。

翻译与学习操作

  • 翻译:百度只接收当前字幕句并返回普通译文;AI 服务还会接收所选学习目标和本地匹配到的考试标签,并返回译文与学习知识点
  • 显示翻译:读取已有本地缓存,不发送网络请求
  • 隐藏翻译:隐藏当前结果,不删除缓存
  • 重新翻译:重新发起请求,并替换当前学习目标下的学习卡缓存
  • 补充知识点:在用户明确点击后,为旧版纯译文缓存补充学习内容
  • 编辑字幕:修改当前句文字,不改变时间戳
  • 恢复原文:恢复该句首次导入或生成时的文字
  • 整篇翻译:仅在设置中明确启用后生效;严格按顺序处理尚未翻译的句子,避免同时发出大量请求

逐句听写与跟读

  1. 点击要练习的字幕句,使该句成为当前选中内容。
  2. 点击字幕操作区的耳机图标开始听写,或点击麦克风图标开始跟读。
  3. 听写时可以前后复听 2 秒;提交答案后会显示分数和逐词对照,并可重新听写或进入下一句。
  4. 跟读会同步播放原声并录音,支持暂停、继续、查看波形和回放录音。

听写和跟读目前仅支持桌面端的 YouTube 播放器或已经本地缓存的哔哩哔哩视频。哔哩哔哩在线外部播放器无法提供精确的逐句控制;跟读还需要系统允许 Obsidian 使用麦克风。

生词本与每日复习

  1. 双击字幕中的英文单词,在右侧栏查看离线词典释义、音标、词形和考试标签。
  2. 点击 加入生词本,保存单词、当前视频原句和时间戳;在生词详情中可以编辑单词、音标、词性、释义、考试标签和个人备注,原有视频语境与复习进度会保留。完整编辑后的内容会作为个人版本持续保留,再次加入同一个词时只增加新语境,不会被词典内容覆盖。
  3. 打开右侧栏的 生词本 查看、搜索和筛选单词,或在 今日复习 中完成当天任务。
  4. 点击导出按钮可生成 Obsidian 生词笔记;桌面端还可以把全部生词导出为分页 PNG 长图。

用户第一次手动编辑字幕时,原始版本会写入同一个版本 1 字幕 JSON 的可选 originalText 字段,已有文件仍保持兼容。

双击一个英文单词会执行完全离线的词典查询,不会调用 AI 服务。词典会优先使用明确的词形关系,再对未收录的规则变化和常见不规则词进行本地原形匹配,例如 studied → studywent → go;加入生词本时保存原形,以便合并语境和复习记录。压缩后的 ECDICT 考试与词频子集已经内置于 main.js。用户还可以在 设置 → Lingua Study → 学习与词典 中安装完整 ECDICT。插件优先下载约 24.4 MB 的预生成 ZIP,不可用时自动回退到 ECDICT 官方 CSV;下载支持断点续传和最多三次尝试。词典保存在操作系统缓存目录,不写入 Obsidian 笔记库,也不参与 Obsidian Sync。发音按钮使用操作系统已经安装的英文语音。

电脑端还可以在同一设置页导入自定义 CSV、TSV 或 JSON 词典,并可分别下载三种模板。CSV 和 TSV 使用 wordphoneticdefinitiontranslationpostagsforms 列;JSON 使用相同字段,顶层可以是词条数组,也可以是包含 entries 数组的对象,tagsforms 可填写字符串或字符串数组。forms 也接受 aliases词形词形变化别名 表头,多个词形可以用空格、逗号、斜杠、竖线或分号分隔。三种格式都支持对应的中文字段名;word 必填,英文释义和中文释义至少填写一项。自定义词典只在本机处理,最多 100 MB、1,000,000 个词条;同一文件中的重复单词以后出现的记录为准。查词顺序为自定义词典、ECDICT 完整版、内置精简版,删除自定义词典不会影响 ECDICT 或生词本。

启用翻译缓存后,Lingua Study 会在字幕文件旁创建独立缓存文件:

example.json
example.zh-CN.translations.json
example.zh-CN.study.json

隐私、联网与费用

  • Lingua Study 学习块渲染后,YouTube 播放器会连接 YouTube
  • 哔哩哔哩视频缓存会连接官方 b23.tvapi.bilibili.com,以及白名单中的 HTTPS bilivideo.combilivideo.cn CDN 域名
  • 哔哩哔哩字幕默认使用匿名 HTTPS 请求;如果平台要求登录,隔离的 Electron 会话只会把 Cookie 发送给哔哩哔哩自有 API 域名,Cookie 值不会写入仓库或插件设置
  • 哔哩哔哩 MP4 和小型 JSON 清单保存在操作系统用户缓存目录,位于 Obsidian 仓库之外;单个缓存视频最大 2 GB,当前匿名合并格式通常最高为 480P
  • 本地哔哩哔哩播放使用仅绑定到 127.0.0.1 的临时随机地址,只提供插件已经校验过的缓存文件,支持按范围读取,不会把缓存暴露到互联网,并会在插件卸载时停止
  • 本地缓存不可用时,已渲染的哔哩哔哩学习块会连接 player.bilibili.com 并使用官方外部播放器
  • YouTube 直接导入只连接 youtube.com 下的 HTTPS 地址,可能使用公开观看页面、内部播放器和 timed-text 字幕接口;插件不包含固定 YouTube API Key
  • YouTube 直接导入不使用浏览器 Cookie、Google 登录、用户 API Key、作者服务器或遥测
  • 直接导入失败且电脑上存在有效 yt-dlp 时,插件不会通过 Shell 执行它,会忽略用户级 yt-dlp 配置,只把字幕下载到临时目录,解析完成后删除;不会请求视频或音频
  • 本地 SRT/VTT 只在设备上读取,Lingua Study 不会上传这些文件
  • PDF、DOCX、TXT、Markdown 和粘贴文稿都在本地解析;只有图片而没有可选文字的 PDF 需要先进行 OCR
  • 本地字幕对齐只会在用户确认后下载固定版本的 Whisper Base English 模型和运行环境;视频和文稿不会离开设备
  • 翻译请求只连接用户配置的百度翻译、DeepSeek、Kimi 或 OpenAI 兼容 HTTPS 服务
  • 学习卡请求只发送用户明确选择的字幕句、当前学习目标和本地匹配的词典标签
  • 离线词典查询和系统发音不会发起网络请求
  • 连接测试只发送固定句子 Thank you for using Lingua Study.
  • 插件不收集遥测数据、不展示广告、不创建账号,也不运行作者控制的服务器
  • 插件不会把翻译 API Key 明文写入插件数据、笔记、字幕文件、翻译缓存或控制台日志
  • 第三方翻译服务可能产生 API 费用,请在使用前核对对应服务的最新条款和价格
  • 第三方中转服务能够读取发送给它的文字,请只使用可信服务
  • Obsidian 社区插件共享同一个应用运行环境;SecretStorage 可以避免凭据明文配置和意外同步,但无法对恶意插件提供绝对隔离
  • 用户需要自行确保有权使用、保存或导入相关字幕和缓存媒体内容

已知限制

  • YouTube 可能因为发布者设置、登录要求、地区限制或反机器人检查而拒绝嵌入播放
  • 哔哩哔哩可能因为发布者设置、账号、地区、版权、会员、请求频率或平台变化而拒绝或限制下载与外部播放
  • 部分哔哩哔哩视频的可见字幕只是烧录在画面中的像素,不是独立字幕轨道;这类视频需要导入 SRT/VTT,或者导入作者文稿并执行本地对齐
  • 哔哩哔哩字幕导入依赖当前网页接口;即使已经登录,会员、频率限制、地区或平台变化仍可能阻止获取
  • Lingua Study 不提供 YouTube 登录流程,也不会使用 Cookie 绕过限制
  • 公开视频字幕导入依赖非官方 YouTube 接口;YouTube 改动后可能需要更新插件
  • yt-dlp 不会随插件打包、安装或自动更新;只有电脑上已经存在兼容的可执行文件时才能作为后备方案
  • 无法获取英文字幕的 YouTube 视频仍需要用户提供本地英文 SRT/VTT;插件不会悄悄把其他语言机器翻译成英文
  • Lingua Study 不提供云端语音转写服务;本地 Whisper 对齐会在所需模型文件下载完成后在用户设备上运行
  • 当前界面和翻译目标语言是简体中文
  • IELTS 学习提示属于按目标生成的辅助内容,并不代表存在官方固定 IELTS 词表

开发与检查

npm ci
npm test
npm run typecheck
npm run build
npm run check:release

生产构建会生成 main.js;构建不会自动发布 GitHub Release,发布仍需维护者单独执行。

维护者发布说明见 RELEASING.md

开源协议

MIT © 2026 xiaobai。插件内置和可选的第三方组件见 THIRD_PARTY_NOTICES.md

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.