AceTranslatePro Logo

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)
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐