Skip to content

插件

侧边栏的"插件"分组是 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外部链接或应用内路由
iconTabler 图标组件(或项目图标集中的其他图标)
target外部链接使用 "_blank",应用内路由省略

分组标签本身来自 common 命名空间:

tsx
<SidebarGroupLabel>{t("plugins.title", { ns: "common", defaultValue: "插件" })}</SidebarGroupLabel>

⚠️ 嵌套键陷阱:当翻译文件中某个键解析为 JSON 对象时,直接调用 t("plugins")(不指定子键)会返回对象本身。i18next 随后在生产环境中会渲染错误字符串。请始终指定叶子键(如 t("plugins.title")),并提供 defaultValue,以便在命名空间缺失时侧边栏仍能正常渲染。