全能离线翻译神器AceTranslatePro
·
AceTranslatePro
一站式本地翻译工具
项目地址: https://github.com/tianclll/Ace-Translate
文本翻译 · 划词翻译 · 截图翻译 · 图片翻译 · 文件翻译 · 语音输入
纯离线 · 隐私安全 · GPU/CPU 双模式 · 多语言自动语音识别 · 多语言 TTS 朗读
✨ 功能一览
| 功能 | 说明 | 适用场景 |
|---|---|---|
| 📝 文本翻译 | 输入或粘贴文本,快速翻译 | 日常翻译需求 |
| 🖱️ 划词翻译 | 选中任意应用文字,Ctrl+Shift+C 弹出翻译 |
阅读外语文档 |
| 📷 截图翻译 | 截取屏幕区域,自动 OCR + 翻译,支持多种语言 | 图片中的文字 |
| 🖼️ 图片翻译 | 上传图片,翻译后渲染回图片 | 漫画、海报、菜单 |
| 📄 文件翻译 | PDF/Word/Excel/PPT/MD/TXT 批量文档翻译 | 批量文档处理 |
| 🎤 语音输入 | 点击麦克风按钮录音,自动识别语音语言并转文字 | 语音输入 |
| 🔊 朗读 | 支持中文/英文/日文/韩文/泰米尔/印地语等多语言 TTS 朗读 | 听译文发音 |
| 🌐 多语言界面 | 支持中文/English/日本語 界面切换,拖拽调整导航栏宽度 | 多语言用户 |
🖼️ 界面预览

📸 翻译效果
文本翻译

划词翻译


截图翻译

图片翻译

文件翻译


📋 系统要求
- 操作系统:Windows 10/11 64-bit
- CPU:支持 AVX2 指令集(2013 年后 Intel/AMD 处理器均可)
- GPU(可选):NVIDIA 显卡 + CUDA 12.1,加速 OCR/翻译/ASR 推理
- 内存:建议 16GB 以上
- 硬盘:约 5GB(含模型文件)
🚀 快速开始
下载预编译版本
Releases 页面提供 GPU 版和 CPU 版压缩包,下载解压即可运行。
从源码编译
🔧 前置依赖
| 依赖 | 版本 | 下载 |
|---|---|---|
| Visual Studio 2022 | 17.x | 下载(需"使用 C++ 的桌面开发") |
| CMake | ≥ 3.10 | 下载 |
| Qt | 6.5.2 MSVC 2019 64-bit | 下载 |
| OpenCV | 4.8 | 下载 |
| ONNXRuntime (GPU) | 1.20.1 (CUDA 12.1) | 下载 |
| ONNXRuntime (CPU) | 1.20.1 | 下载 |
| CUDA Toolkit | 12.1 | 下载(仅 GPU 版需要) |
| Python | 3.8+ | 下载(仅编译 office2md 需要) |
1. 编译 llama.cpp
llama.cpp 需提前编译好,GPU 版依赖 CUDA Toolkit 12.1。
# 从 llama.cpp 官方仓库下载源码(master 分支)
# https://github.com/ggml-org/llama.cpp
# GPU 版
cd external/llama.cpp
cmake -B build_gpu -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build_gpu --config Release
# CPU 版
cmake -B build -DGGML_CUDA=OFF -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
编译产物在 build_gpu/bin/Release/(GPU)或 build/bin/Release/(CPU)。
2. 编译主程序
# 克隆仓库
git clone https://github.com/yourusername/AceTranslatePro.git
cd AceTranslatePro
🖥️ GPU 版编译(有 NVIDIA 显卡)
# 一键编译(推荐)
双击 build_all.bat
# 或手动执行
mkdir build_all && cd build_all
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
💻 CPU 版编译(无独立显卡)
# 一键编译(推荐)
双击 build_cpu.bat
# 或手动执行
mkdir build_cpu && cd build_cpu
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
📁 模型文件
编译完成后,将模型文件放入 build_all/Release/models/(或 build_cpu/Release/models/)目录:
models/
├── translation/ # 翻译模型(需自行准备)
│ ├── Hy-MT2-1.8B-Q4_K_M.gguf # 翻译模型(默认)
│ ├── Hy-MT2-1.8B-Q6_K.gguf # 翻译模型(更高精度)
│ ├── HY-MT1.5-1.8B-Q4_K_M.gguf # 翻译模型(旧版)
│ └── HY-MT1.5-1.8B-Q6_K.gguf # 翻译模型(旧版高精度)
├── VLM/
│ └── PaddleOCR-VL-1.6-GGUF*.gguf # VLM 多模态公式识别模型
├── layout/
│ └── pp_doclayoutv2.onnx # 版面分析模型
├── ocr/
│ ├── tiny/ # OCR 模型(轻量,默认)
│ │ ├── det/det.onnx # 文本检测
│ │ ├── rec/rec.onnx # 文字识别
│ │ └── cls/cls.onnx # 方向分类
│ ├── small/ # OCR 模型(中等)
│ └── medium/ # OCR 模型(高精度)
├── ASR/
│ ├── model_quant.onnx # 语音识别模型(SenseVoiceSmall)
│ ├── am.mvn # CMVN 归一化文件(推荐)
│ └── tokens.json # 语音 token 映射
└── uvdoc/
└── UVDoc_grid.onnx # 图片矫正模型
模型下载:Hugging Face 🤗
注意:本项目为追求轻量化,所有模型均使用量化版本(翻译 Q4_K_M、OCR tiny、小型 VLM 等),在常见场景下表现良好。如果您有更高精度、更全语言覆盖的需求,欢迎联系我定制。
⚙️ 配置
程序首次运行会在同目录生成 config.json,也可以在设置面板中修改:
常用设置:
- 默认语言:设置翻译目标语言(35 种语言可选,所有面板统一)
- 界面语言:切换软件界面语言(中文 / English / 日本語),重启后生效
- OCR 模型大小:tiny(轻量)→ medium(高精度)
- 翻译模型:自动扫描
models/translation/目录,列出所有.gguf文件 - 启动加载引擎:选择开机时自动加载哪些引擎,关闭可减少启动时间。默认仅加载翻译引擎
GPU 设置(设置 → GPU 设置):
- 总开关:一键启用/关闭所有引擎的 GPU 加速
- 独立开关:分别为 OCR、版面分析、公式识别、图片矫正、翻译引擎、语音识别设置
修改 GPU 设置和模型大小后需重启应用生效。
⌨️ 快捷键
| 快捷键 | 功能 | 自定义 |
|---|---|---|
Ctrl+Shift+C |
划词翻译 | ✅ 可在浮窗配置中修改 |
Ctrl+Shift+Z |
截图翻译 | ✅ 可在截图面板中修改 |
🏗️ 项目架构
AceTranslatePro/
├── 📜 build_all.bat # GPU 版编译脚本
├── 📜 build_cpu.bat # CPU 版编译脚本(自动替换 CMakeLists)
├── 📜 CMakeLists.txt # GPU 版构建配置
├── 📜 CMakeLists_cpu.txt # CPU 版构建配置
│
├── 📂 ui/ # Qt6 图形界面
│ ├── mainwindow.cpp # 主窗口(6 面板 + 状态栏 + 托盘 + 热键 + 语音)
│ ├── floatwindow.cpp # 划词翻译悬浮窗
│ ├── regioncapture.cpp # 截图选区
│ ├── toast.cpp # 顶部通知组件
│ ├── zoomablelabel.cpp # 可缩放图片控件
│ ├── style.qss # 全局样式表
│ └── i18n/ # 国际化翻译(.ts/.qm 文件)
│
├── 📂 translations/ # Qt 翻译文件(zh_CN/en_US/ja_JP)
│
├── 📂 src/ # C++ 核心代码
│ ├── engines/ # DLL 封装(OCR/VLM/Translator/Layout/ASR/DocProc)
│ ├── processors/ # 文档处理管线
│ ├── modules/ # 业务逻辑模块
│ ├── core/ # 引擎上下文 & 配置管理
│ └── utils/ # 工具函数
│
├── 📂 deps/ # 引擎 DLL 源码(add_subdirectory)
│ ├── asr/ # SenseVoice 语音识别(ONNXRuntime + OpenCV)
│ │ ├── SenseVoiceEngine # ONNX 推理 + CTC 解码 + CMVN
│ │ ├── Fbank # FBank 特征提取(OpenCV FFT, LFR)
│ │ ├── CMVN # CMVN 归一化(am.mvn 解析)
│ │ └── AudioCapture # waveIn API 录音
│ ├── ocr/ # PaddleOCR(ONNXRuntime)
│ ├── doclayout/ # 版面分析(ONNXRuntime)
│ ├── vlm/ # VLM 多模态公式识别(llama.cpp)
│ ├── translator/ # 翻译引擎(llama.cpp)
│ └── uvdoc/ # 图片矫正(ONNXRuntime)
│
├── 📂 script/ # 辅助工具
│ └── office2md/ # Office → Markdown 转换
│
└── 📂 third_party/ # 第三方库
├── pdfium/ # PDF 解析引擎
└── nlohmann/ # JSON 解析库
🧩 技术栈
| 组件 | 技术 |
|---|---|
| 🖥️ 界面 | Qt 6.5.2 Widgets(中/英/日 多语言,可拖拽导航栏) |
| 🖼️ 图像处理 | OpenCV 4.8 |
| 🔍 OCR | PaddleOCR (ONNXRuntime) |
| 📐 版面分析 | PPDocLayoutV2 (ONNXRuntime) |
| 🧮 公式识别 | VLM 多模态模型 (llama.cpp) |
| 🌐 翻译 | 本地 LLM (llama.cpp) |
| 🎤 语音识别 | SenseVoiceSmall (ONNXRuntime + OpenCV FFT) |
| 🔊 语音合成 | Windows SAPI(多语言自动匹配) |
| 📄 文档解析 | PDFium + office2md (Python) |
更多推荐


所有评论(0)