Files
testing-tool/config
雨霖铃 aa23a263fe refactor: 迁移 i18n 系统从 react-i18next 到 chrome.i18n
- 移除 react-i18next、i18next 及相关依赖
- 删除旧的 i18n/ 目录和 useLazyTranslation 工具
- 新增 utils/chromeI18n.ts 类型安全 wrapper(useI18n Hook + getMessage)
- 生成 public/_locales/{zh,en}/messages.json(298 个翻译 key)
- 批量更新 39+ 组件文件的导入和翻译调用
- 转换翻译键格式:namespace:key → namespace_key
- 修复 ErrorBoundary/PageErrorBoundary 从 withTranslation HOC 改为直接调用 getMessage
- 更新 vitest.setup.ts mock 加载实际翻译文本
- 修复 11 个测试文件的断言以匹配中文翻译
- TypeScript、ESLint、547 项测试全部通过

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-28 19:21:54 +08:00
..

config/

应用级配置目录,存放功能特性的注册中心。

文件说明

文件 用途
features.tsx 核心配置文件,定义所有工具功能的注册信息

features.tsx

FEATURES 数组是路由和功能元数据的单一事实来源,每个功能定义包含:

  • key:页面类型标识(PageType)
  • labelKey / descriptionKey:i18n 翻译键
  • themeColorKey:主题色(primary/success/warning/error/secondary/info)
  • icon:lucide-react 图标组件
  • defaultVisible:默认是否可见
  • components:三种渲染模式的懒加载组件(popup、sidepanel、tab)

已注册功能(11 个)

key 图标 说明
dashboard — 仪表盘首页
timestamp Clock 时间戳转换工具
storageCleaner Database 存储清理工具
qrCode QrCode 二维码工具
textStatistics FileText 文本统计工具
jwt Key JWT 解析工具
jsonDiff GitCompareArrows JSON 差异比较工具
base64Converter ArrowLeftRight Base64 转换器
markdownToHtml Code Markdown 转 HTML
htmlToMarkdown File HTML 转 Markdown
rightClickRestorer MousePointerClick 右键菜单恢复工具

导出函数

  • getFeatureByKey(key) — 根据 key 获取功能配置
  • getDefaultVisibleFeatureKeys() — 获取默认可见的功能 key 列表
  • getAllFeatureKeys() — 获取所有功能 key 列表
  • getDefaultPageOrder() — 获取默认页面排序(不含 dashboard)
  • getEntryPointType() — 判断当前入口类型(popup/sidepanel/tab)