Skip to content

LLG-BUAA/Translator

Repository files navigation

Clipboard Translator

跨平台桌面剪贴板翻译工具(Tauri 2 + React + TypeScript + Rust),面向 macOS + Windows

功能概览

  • 后台常驻 + 系统托盘菜单
  • 全局快捷键触发翻译(默认 CommandOrControl+Shift+T
  • 剪贴板文本翻译弹窗,支持原文手动编辑
  • 多引擎支持:
    • 百度通用
    • 有道文本
    • 有道大模型
    • Google
    • Bing / Azure
    • DeepL
    • OpenAI / Gemini 兼容服务
  • 引擎启用开关、API 配置、连接测试
  • 术语表、历史记录、历史搜索
  • 文本预处理(删除空行 / 删除换行)

技术栈

  • 前端:React + TypeScript + Vite
  • 桌面容器:Tauri 2
  • 后端:Rust

环境要求

通用

  • Node.js 18+(建议 LTS)
  • Rust(推荐通过 rustup 安装)

macOS

  • Xcode Command Line Tools
xcode-select --install

Windows

  • Microsoft Visual Studio C++ Build Tools(含 MSVC)
  • WebView2 Runtime(通常系统已内置)

快速开始

在仓库根目录执行:

npm install
npm run tauri dev

启动后会先拉起前端开发服务,再运行 Tauri/Rust 桌面进程。

构建与发布

本机开发构建(仅前端)

npm run build

桌面应用构建(推荐发布入口)

npm run tauri build

产物默认位于:

  • src-tauri/target/release/bundle/

完整打包说明请看:

常见问题

1) Windows 报 cargo not found / rustup 不可用

先检查并安装 Rust:

winget install --id Rustlang.Rustup -e --accept-source-agreements --accept-package-agreements
rustup --version
cargo --version

若仍不可用,请重开终端,并确认 C:\Users\<用户名>\.cargo\bin 在用户 PATH 中。

2) npm run tauri dev 提示端口 1420 被占用

macOS/Linux:

lsof -nP -iTCP:1420 -sTCP:LISTEN
kill -9 <PID>

Windows(PowerShell):

Get-NetTCPConnection -LocalPort 1420 -State Listen | Select-Object -ExpandProperty OwningProcess -Unique
Stop-Process -Id <PID> -Force

3) 启动日志中的 Rust warning

warning 通常不阻塞运行,属于编译期提示。若应用可正常启动,优先按功能验证,再决定是否清理 warning。

项目结构

  • src/:React 前端
  • src/lib/:前端 API/常量/类型/文本处理
  • src-tauri/src/main.rs:Tauri + Rust 主逻辑
  • src-tauri/tauri.conf.json:Tauri 配置入口
  • scripts/run-tauri.mjs:跨平台 Tauri 启动脚本

说明

  • 仓库已统一为当前主线架构,不再包含旧版 Swift 实现。

About

翻译工具

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors