Lingua Study

by xiaobai
5
4
3
2
1
Score: 51/100

Description

obsidian 英语学习插件,支持导入YouTube、B站视频链接,自动生成视频播放器以及文稿内容;同时还内置词典,支持双击单词调用词典、上传Ai模型生成知识点等内容。

Reviews

No reviews yet.

Stats

64
stars
2,285
downloads
3
forks
52
days
1
days
1
days
5
total PRs
0
open PRs
1
closed PRs
4
merged PRs
3
total issues
0
open issues
3
closed issues
61
commits

Latest Version

a day ago

Changelog

What's Changed

Full Changelog: https://github.com/ObsidianRelay/lingua-study/compare/2.0.1...2.1.0

README file from

Github

Lingua Study

简体中文 | English

在 Obsidian 中把 YouTube、哔哩哔哩英文视频和公开 Podcast 节目变成可跟读、可听写、可查词、可复习的学习材料。支持 RSS 订阅、学习聊天、高亮笔记、带时间戳字幕、本地缓存播放、逐句翻译、离线词典和生词本。

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

加入 QQ 交流群

扫描下方二维码加入 Lingua Study QQ 群:

近期更新(1.3.0–2.1.0)

  • 桌面播放器定位(2.1.0):长按置顶按钮可在 Obsidian 窗口内移动播放器;取消置顶后回到笔记原位,Paper 主题工具栏随播放器宽度连续缩放

  • 本地模型学习聊天(2.1.0):可连接本机已运行的兼容服务,手动填写模型 ID,并在设置中测试连接;翻译和知识卡不受此选项影响

  • 数据安全修复(2.1.0):避免同步中的生词本、高亮库被误建覆盖;隔离损坏条目、保留备份,并在字幕改名后更新关联数据

  • 知识点双击查词(2.0.1):双击生成的知识卡中的英文单词,可在右侧词典查看释义;已高亮的知识点文字也支持查词

  • 学习聊天:右侧栏按学习目标分别管理当前会话,可带入选中的字幕或知识卡内容;需单独配置 AI 聊天服务

  • RSS 订阅:在右侧栏管理 Podcast 和 YouTube 频道,按标签浏览、刷新并创建可重复打开的学习笔记

  • 高亮笔记:选中学习文字后保存彩色高亮和个人笔记,在高亮笔记库中回看

  • Whisper 模型下载来源:默认使用 Hugging Face,官方站点无法连接时可填写可信且兼容的 HTTPS 备用来源

  • B站本地英文字幕识别:可缓存且实际为英语语音的视频没有可用英文字幕时,桌面端可在确认下载模型后使用本地 Whisper Base English 生成字幕;识别中断后可从已有播放器重试

  • B站缓存路径:Mac 和 Windows 可选择 Obsidian 仓库外的视频缓存目录;旧默认缓存保持只读兼容,不会自动搬移或删除文件

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

  • 本地视频学习:从原有 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 专属图标,点击后处理当前笔记的视频链接;RSS 订阅从右侧栏标签或命令面板打开
  • 可选“粘贴单个独立视频链接后自动导入”,默认关闭
  • 打开 Lingua Study 设置页时检查 GitHub 最新正式 Release,只在有新版时提供 Obsidian 应用内插件页面入口
  • 直接导入哔哩哔哩英文字幕;仅在平台要求时使用与浏览器隔离的 Obsidian 内登录窗口
  • 优先使用人工英文字幕,找不到时再尝试自动英文字幕
  • 当视频实际为英语语音但没有英文字幕时,可在电脑端使用本地 Whisper Base English 生成字幕
  • 当 YouTube 常规页面请求失败时,自动尝试无需 API Key 的移动端请求方式
  • 桌面电脑已经安装 yt-dlp 时,可自动把它作为 YouTube 字幕获取的后备方案
  • 在线字幕获取失败时,可导入本地 SRT/VTT 字幕
  • 电脑端可直接导入本地 MP4,并自动匹配同目录下的同名 SRT/VTT 字幕
  • 只有播放器的哔哩哔哩学习块可通过“添加字幕”入口后续补充文字稿
  • 粘贴 Apple Podcasts 节目分享链接即可选择节目;也兼容公开 Podcast RSS / Atom feed,优先读取发布者标注的英文 VTT/SRT,缺失时在本机用 Whisper Base English 生成字幕
  • 可导入并编辑 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.js、manifest.json 和 styles.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. 视频实际为英语语音且可缓存时,使用本地 Whisper Base English 生成英文字幕
  6. 没有可用英文字幕时,仅创建播放器

第 5 项会在第一次使用时确认下载固定版本的模型和运行环境。识别完全在设备上进行,不会上传视频或音频;它不会把中文、日文或其他语言翻译成英语。缓存、平台权限或识别失败时,已创建的播放器会保留,之后仍可添加 SRT/VTT 或导入博主文稿。

如果所在网络无法连接 Hugging Face,可在“设置 → Lingua Study → 文稿导入与对齐 → 备用模型下载地址”填写可信的 HTTPS 模型站点根地址。该站点必须直接提供与官方相同路径、相同固定版本的模型文件;留空仍使用 Hugging Face。切换来源可能需要重新下载模型,音视频始终留在本机。某些镜像会重定向回 Hugging Face,无法解决原站不可访问的问题。

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

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

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

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

在右侧栏订阅播客和 YouTube 频道

  1. 点击右侧栏的 Lingua Study 订阅 标签,或从命令面板运行“在右侧打开 podcast / YouTube 订阅”。
  2. 粘贴公开 Podcast RSS/Atom 地址,或 YouTube 官方频道 RSS 地址(https://www.youtube.com/feeds/videos.xml?channel_id=频道ID)。选择订阅源后可浏览最近条目,并手动刷新;也可在设置中开启每小时自动刷新。
  3. 点击“开始学习”,插件会为该集或视频创建独立笔记并沿用现有导入流程;以后点击“打开学习笔记”会复用原笔记。导入中途失败或取消时,保留笔记草稿以便重试。

订阅与条目清单保存在库内的 Lingua Study/Subscriptions/subscriptions.json,学习笔记保存在 Lingua Study/Subscriptions/Notes;取消订阅不会删除已创建的学习笔记、字幕或音频缓存。此面板仅支持电脑端,只接受 YouTube 频道 RSS 地址,不支持频道主页、频道搜索或在侧栏内播放。自动刷新默认关闭。

学习聊天与高亮笔记

  • 在 设置 → 第三方插件 → Lingua Study → 学习聊天 中选择并配置聊天服务,然后点击右侧栏的学习聊天标签,或运行“打开学习聊天”命令。也可从字幕或知识卡将选中的内容带入对话。对话按学习目标分开,仅保存在本次插件运行期间;发送消息可能产生第三方 API 费用。
  • 学习聊天可选择“本地模型(兼容接口)”,填写本机服务的 /v1 地址和模型 ID,再主动点击“测试连接”。API Key 仅在本机服务要求时填写,并应使用单独的本地凭据。插件不会下载或启动模型;服务可能自行转发请求到云端,是否真正离线取决于服务和模型。
  • 在设置中的 高亮笔记 页面启用功能并调整颜色类别。选中字幕或学习内容后保存高亮与个人笔记,运行“打开高亮笔记”命令即可在右侧词典视图中回看。高亮数据单独保存在库内,不会覆盖字幕文件。
  • 首次创建高亮库前会确认文件是否仍在同步;如果本机曾见过的高亮库后来缺失,插件会停止写入并提示检查同步。

导入 Podcast

  1. 打开要插入学习内容的 Markdown 笔记。
  2. 从命令面板运行 从 podcast RSS 创建学习内容。
  3. 粘贴 Apple Podcasts 的节目分享链接,选择一集节目。

插件会自动从 Apple Podcasts 目录取得该节目的 RSS;不使用 Apple Podcasts 时,也可以直接粘贴公开 RSS 或 Atom feed 地址。节目音频缓存到操作系统目录(macOS 为 ~/Library/Caches/Lingua Study/Podcasts),不会写入 Obsidian 仓库或同步。若节目提供 Podcasting 2.0 标记的英文 .vtt / .srt 文稿,会直接使用;否则首次使用会确认下载本地 Whisper Base English 模型,再在设备上生成英文时间轴。单集音频上限为 512 MB;同一节目在当前笔记中不会重复插入。

导入本地视频与字幕

  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-flash 或 deepseek-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 和其他翻译目标语言;Ollama 仅可用于上文的本地模型学习聊天。可以选择启用整篇翻译;插件会按顺序逐句请求,并自动跳过已有结果的句子。在字幕阅读界面拖选多个单词后,插件会直接调用当前翻译服务,并在选区附近显示可拖动的非模态悬浮卡片;单独双击一个单词仍执行离线查词。Markdown 编辑器中选中文字后,可从命令面板运行“Lingua Study:翻译选中的英文文本”,并可为该命令设置快捷键。

翻译与学习操作

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

逐句听写与跟读

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

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

生词本与每日复习

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

多设备复习提醒:复习评分目前写入同一个 Lingua Study/Vocabulary/wordbook.json。请在一台设备完成复习并等待同步结束,再到另一台设备继续;两台设备离线同时评分可能互相覆盖。待独立的复习事件记录方案完成后才能可靠合并并发评分。

首次创建生词本前会确认文件是否仍在同步;如果本机曾见过的生词本后来缺失,插件会停止写入。单条词条损坏时,正常词条仍可读取;下一次写入前会保存完整原文件和坏词条隔离文件。

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

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

电脑端还可以在同一设置页导入自定义 CSV、TSV 或 JSON 词典,并可分别下载三种模板。CSV 和 TSV 使用 word、phonetic、definition、translation、pos、tags、forms 列;JSON 使用相同字段,顶层可以是词条数组,也可以是包含 entries 数组的对象,tags 和 forms 可填写字符串或字符串数组。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.tv、api.bilibili.com,以及白名单中的 HTTPS bilivideo.com 或 bilivideo.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 对齐或英语音轨识别只会在用户确认后下载固定版本的 Whisper Base English 模型和运行环境;视频、音频和文稿不会离开设备
  • 翻译请求只连接用户配置的百度翻译、DeepSeek、Kimi 或 OpenAI 兼容 HTTPS 服务
  • 学习聊天在用户发送消息时连接单独配置的 DeepSeek、Kimi、OpenAI 兼容 HTTPS 服务或本机回环地址,并发送用户问题、当前学习目标、选中的学习材料及本次会话中的有限历史;“测试连接”只发送简短测试问题
  • 学习卡请求只发送用户明确选择的字幕句、当前学习目标和本地匹配的词典标签
  • 离线词典查询和系统发音不会发起网络请求
  • 翻译服务的连接测试只发送固定句子 Thank you for using Lingua Study.;本地学习聊天的连接测试只发送简短的 请只回答 OK。
  • 插件不收集遥测数据、不展示广告、不创建账号,也不运行作者控制的服务器
  • 插件不会把翻译 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。