插件
侧边栏的"插件"分组是 Enjoy Web 应用与其他 Enjoy 客户端之间的桥梁——目前主要是浏览器扩展。当您想在 Web 应用之外学习,或将视频网站中的内容带回自己的媒体库时,可以使用该入口。
入口位置
打开 Web 应用的侧边栏,向下滚动到底部的"插件"分组。它位于主功能分组与次要入口(设置、账户、退出登录)之间。
目前的条目:
| 插件 | 作用 |
|---|---|
| Chrome 扩展 | 在新标签页中打开 Chrome 应用商店中的 Enjoy 浏览器扩展页面 |
Chrome 扩展
Chrome 扩展将 Enjoy 的学习功能带到 YouTube、Netflix 等受支持的网站。安装后,您可以:
- 打开 侧边栏,无需离开页面即可阅读字幕、词汇和笔记
- 使用 Echo 模式对 YouTube 字幕进行跟读,并获得即时的发音反馈
- 使用 听写模式输入听到的内容,提高听力
- 保存媒体到 Enjoy 媒体库,从而同步到 Web 应用和其他设备
账号与同步
扩展使用与 Web 应用相同的 Enjoy 账号。在扩展中创建的词汇、录音和笔记会通过同步功能进行同步,并出现在 Web 应用的词汇和媒体库中。
安装方式
如需分步操作,请参考扩展的安装指南。
添加新插件
要在"插件"分组中注册新条目,请在 apps/web/src/components/layout/app-sidebar.tsx 中向 navPlugins 数组添加一项:
tsx
const navPlugins = [
{
title: t("plugins.chromeExtension", { ns: "common" }),
url: "https://chromewebstore.google.com/detail/enjoy-echo/...",
icon: IconBrandChrome,
target: "_blank",
},
// 在此处添加新的插件条目
]每项需要包含以下字段:
| 字段 | 说明 |
|---|---|
title | 通过 t(...) 进行本地化,并提供 defaultValue 作为兜底 |
url | 外部链接或应用内路由 |
icon | Tabler 图标组件(或项目图标集中的其他图标) |
target | 外部链接使用 "_blank",应用内路由省略 |
分组标签本身来自 common 命名空间:
tsx
<SidebarGroupLabel>{t("plugins.title", { ns: "common", defaultValue: "插件" })}</SidebarGroupLabel>⚠️ 嵌套键陷阱:当翻译文件中某个键解析为 JSON 对象时,直接调用
t("plugins")(不指定子键)会返回对象本身。i18next 随后在生产环境中会渲染错误字符串。请始终指定叶子键(如t("plugins.title")),并提供defaultValue,以便在命名空间缺失时侧边栏仍能正常渲染。