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

whut09/allTranslate

Repository files navigation

allTranslate

allTranslate 基于 guaguastandup/zotero-pdf2zh 项目继续优化,重点改进了论文 PDF 中表格区域的识别、保留与翻译流程,使复杂版式下的译文质量和排版稳定性达到商用收费软件水平。

项目面向本地命令行和本地 WebUI 使用,不再提供容器相关启动方式。翻译器的 key、url、模型等信息被拆分到单独配置文件中:提交到 GitHub 的 translator_config.json 使用 xx 隐藏敏感值,本地运行时自动读取未提交的 translator_config.local.json

原理简述

allTranslate 不做整页 OCR,而是直接解析 PDF 内部文字、字体、坐标和图形结构。程序先用版面分析模型识别正文、标题、图片、表格等区域,再按段落或表格单元组织待翻译文本,调用配置的翻译服务生成译文,最后把译文写回原始版面,输出单语译文 PDF 和双语对照 PDF。

表格优化的核心思路是减少"把表格当普通正文"的误判:在布局检测阶段保留表格边界与单元结构,在翻译阶段按更细粒度处理表格内容,在回写阶段尽量维持原表格的列宽、行高和文字位置,从而减少错列、串行、遮挡和表格整体漂移。

运行流程

  1. 安装 Python 3.11 或 3.12。
  2. 在项目根目录安装依赖:
pip install -e .
  1. 按需编辑公开配置 config.jsontranslator_config.json。真实 key、url 请写入 translator_config.local.json,该文件已加入 .gitignore,不会提交到 GitHub。
  2. 使用命令行翻译 PDF:
allTranslate input.pdf -s qwen-mt -o output
  1. 启动本地 WebUI:
allTranslate -i

常用参数:

参数 说明
-s, --service 指定翻译服务,例如 qwen-mtopenailikedopenai
-li, --lang-in 源语言,默认 en
-lo, --lang-out 目标语言,默认 zh
-p, --pages 指定页码,例如 1,3-5
-o, --output 输出目录
-t, --thread 翻译并发数
--config 指定主配置文件
--ignore-cache 忽略缓存,强制重新翻译

配置说明

config.json 保存通用运行配置,例如默认语言、启用的服务、WebUI 显示策略等。

translator_config.json 保存可提交的翻译器配置模板,敏感字段统一写成 xx:

{
 "translators": [
 {
 "name": "qwen-mt",
 "envs": {
 "ALI_DOMAINS": "scientific",
 "ALI_API_KEY": "xx",
 "ALI_MODEL": "qwen-mt-turbo"
 }
 }
 ]
}

translator_config.local.json 保存本机真实 key 和 url。程序启动时会先读取公开配置,再用本地配置覆盖同名翻译器的字段,因此本地可直接使用,提交后敏感信息仍保持隐藏。

致谢

感谢 guaguastandup/zotero-pdf2zh 提供的开源基础与 Zotero/PDF 翻译实践,本项目在其思路上继续改进表格翻译与本地运行体验。

About

大模型各种文档表格翻译,支持多种语言,表格翻译效果极佳

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

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