Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

CYTTP/chrome-mv3-extension-react

Repository files navigation

网页划词翻译插件

一个功能强大的浏览器插件,支持网页文本的快速划词翻译。选中任意文本即可获得即时翻译结果。

基于 React 18 + TypeScript + Vite + Antd 构建,同时支持 Chrome (Manifest V3)Firefox (Manifest V2)

📦 特性

🌟 翻译功能

  • 🖱️ 划词翻译: 选中文本即可快速翻译
  • 🤖 AI翻译: 集成GLM大语言模型,提供高质量翻译
  • 🌍 多语言支持: 支持中英日韩法德俄等15种语言
  • 即时显示: 翻译结果实时显示在选择位置附近
  • 🔄 流式翻译: GLM AI支持流式输出,翻译过程可见
  • 🎯 智能检测: 自动检测源语言类型
  • ⌨️ 快捷键支持: Ctrl+Shift+T 快速翻译选中文本
  • 🖱️ 右键菜单: 右键菜单快速翻译

🛠️ 技术特性

  • 🌟 支持 Chrome MV3 和 Firefox MV2 架构
  • 🦊 跨浏览器兼容,一套代码支持多个浏览器
  • ⚡ 使用 Vite 构建,极速开发
  • 💡 使用 React + TypeScript 编写各页面
  • 📜 支持国际化(_locales)
  • 📁 项目结构清晰,模块职责明确
  • 🛠️ 支持 SidePanel、DevTools 面板开发(Chrome)
  • 🔒 使用 .env 管理多环境配置
  • ✅ 内置 ESLint + TypeScript 校验
  • 🔧 自动浏览器检测和API兼容

📁 项目结构

详见项目文档:文件结构说明

🧪 本地开发

# 安装依赖
pnpm install
# Chrome开发
pnpm dev
# Firefox开发 
pnpm dev:firefox
# 构建Chrome版本
pnpm build
# 构建Firefox版本
pnpm build:firefox
# 构建所有版本
pnpm build:all

🧩 加载插件

Chrome

  1. 打开 chrome://extensions/
  2. 开启右上角「开发者模式」
  3. 点击「加载已解压的扩展程序」,选择 dist/ 文件夹

Firefox

  1. 打开 about:debugging
  2. 点击「此Firefox」
  3. 点击「临时载入附加组件」
  4. 选择 dist-firefox/ 目录中的 manifest.json 文件

🦊 浏览器兼容性

功能 Chrome Firefox 说明
Popup 弹出窗口
Options 选项页面
Background 背景脚本
Content Script 内容脚本
Side Panel Chrome专有功能
DevTools 开发者工具
Storage API 存储API
Tabs API 标签页API

详细构建说明请查看 BUILD_GUIDE.md

📁 项目目录结构说明(React + Vite + Chrome MV3)

CHROME-MV3-EXTENSION-REACT/
├── _locales/
├── dist/
├── node_modules/
├── src/
│ ├── assets/
│ ├── background/
│ ├── component/
│ ├── content/
│ ├── devtools/
│ ├── helpers/
│ ├── hooks/
│ ├── img/
│ ├── options/
│ ├── page/
│ ├── popup/
│ ├── sidePanel/
│ ├── stroe/
│ ├── types/
│ ├── constants.ts
│ └── vite-env.d.ts
├── .env.development
├── .env.production
├── .eslintrc.cjs
├── .gitignore
├── manifest.json
├── package-lock.json
├── package.json
├── pnpm-lock.yaml
├── README.md
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts

📁 顶层目录

目录名称 说明
_locales/ 国际化语言包目录,Chrome 插件支持多语言展示(如 en/messages.json)。
dist/ Vite 构建后的输出目录,打包生成的插件文件将存放于此。
node_modules/ 项目的依赖模块,由 npmpnpm 安装生成。

📁 src/ 目录

子目录 / 文件 说明
assets/ 存放静态资源(图标、样式等)。
background/ MV3 的 Background Service Worker 脚本(事件监听、消息处理、初始化逻辑等)。
component/ 通用的 React UI 组件封装。
content/ Content Scripts,注入网页执行的脚本。
devtools/ 插件自定义 DevTools 面板的逻辑。
helpers/ 工具函数、通用逻辑模块。
hooks/ 自定义 React Hooks。
img/ 插件使用的图像资源(非构建依赖图)。
options/ 插件"选项页"逻辑,MV3 manifest 中定义的 options 页面。
page/ 页面视图文件,例如用于展示在 options 或 popup 中的 React 页面。
popup/ 弹出页(Popup)脚本和视图。
sidePanel/ Chrome MV3 新特性 Side Panel 页面及其逻辑。
store/ 用于存放状态管理相关逻辑(如 Redux/Pinia/Zustand 等)。
types/ TypeScript 类型定义文件夹。
constants.ts 全局常量定义。
vite-env.d.ts Vite 提供的类型环境声明文件。

⚙️ 配置文件说明

文件名 说明
.env.development 开发环境环境变量。
.env.production 生产环境环境变量。
.eslintrc.cjs ESLint 配置,控制代码风格和静态检查规则。
.gitignore Git 忽略文件配置。
manifest.json Chrome 插件核心配置文件,定义权限、入口、背景页、content script 等。
package.json 项目依赖管理及构建脚本配置。
package-lock.json 依赖锁定文件(npm)。
pnpm-lock.yaml 依赖锁定文件(pnpm)。
README.md 项目说明文档。
tsconfig.json TypeScript 基础配置。
tsconfig.app.json App 的 TS 配置(可用于细分构建目标)。
tsconfig.node.json Node 环境下的 TS 配置(如 vite.config.ts 所用)。
vite.config.ts Vite 构建配置文件,包含插件打包逻辑、模块路径别名等设置。

About

A browser plug-in based on React 18 + TypeScript + Vite that supports fast word translation of Web text

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

AltStyle によって変換されたページ (->オリジナル) /