EulerPress

企业文档翻译 & AI训练数据转换工具

在完美保留代码块、数学公式、URL等非翻译元素的同时,精确翻译散文文本的本地优先(Local-First)CLI翻译工具。从企业内部文档本地化到AI训练JSONL数据翻译,单一管线完成处理。

Open Source

核心功能

不触碰代码和公式的智能文档翻译

精准保留翻译

基于markdown-it-py的CommonMark完全兼容解析器,自动识别并保留代码块、行内代码、数学公式、前置元数据和Raw HTML。仅翻译散文文本。

支持格式 Markdown, HTML, Plain Text, JSONL
保留元素 代码块、行内代码、数学公式($...$, $$...$$)、URL、前置元数据
解析器 markdown-it-py (CommonMark 100%), BeautifulSoup4 (HTML)

本地优先架构

使用Ollama本地LLM作为默认翻译引擎,企业机密文档不会外泄。同时选择性支持OpenAI API。

翻译引擎 Ollama(本地)、OpenAI(可选)
数据安全 所有处理在本地完成,无外部传输
配置方式 YAML声明式配置,CLI覆盖支持

AI训练数据翻译

大规模翻译JSONL训练数据的专用管线

Traindata管线

通过eulerpress traindata命令,使用Ollama并发HTTP请求高速翻译JSONL训练数据。

  • 公式保留:将$...$、$$...$$、\(...\)、\[...\]等LaTeX公式替换为占位符后恢复。
  • 并发处理:基于ThreadPoolExecutor的多工作线程,按记录并行翻译。
  • 增量输出:记录完成即刻写入文件,中断时结果不丢失。
  • 断点续翻:跳过已有输出记录,仅翻译新记录。

质量保证

自动验证翻译结果质量,标记有问题的结果。

  • 翻译验证:长度比例、纯数字检测、占位符数量检查。
  • 格式保留评分:代码块、公式、URL损坏检测。
  • 自动分块:按句子边界分割长文本,保持翻译质量。
  • 术语表搜索:基于Tavily的领域术语表确保翻译一致性。

CLI参考

5个核心命令完成文档翻译全流程

translate

根据YAML配置文件翻译文档。可通过CLI覆盖源目录、目标语言、模型等。

traindata

使用Ollama并发翻译JSONL训练数据。支持公式保留、增量输出和断点续翻。

validate

不执行,仅验证YAML配置文件。有问题时输出3行格式错误。

plan

试运行:预览翻译目标文件数、段落数和预估token数。

doctor

检查系统依赖(Ollama二进制、服务器连接、可用模型)。

架构

模块化设计,格式、引擎、质量保证可独立扩展

config.yaml → Loader → Validator → EulerPressConfig ↓ Translator ├── discover_files() ├── for each file: │ ├── get_parser(ext) → Parser │ ├── parser.parse() → [Segment] │ ├── provider.translate(chunks) │ └── parser.render(segments) → output └── write output (mirror structure)

包结构

configYAML架构、加载、验证
parsersMarkdown、HTML、纯文本解析器
engine翻译提供商(Ollama、OpenAI、Fake)
core编排器、规划器、诊断器、错误
scoring质量评分、模型选择、API评估
traindataJSONL训练数据翻译(Ollama并发处理)
glossary领域术语表搜索(Tavily)

技术规格

语言Python 3.12+
Markdown解析器markdown-it-py + mdformat (CommonMark 100%)
HTML解析器BeautifulSoup4 + lxml
翻译引擎Ollama(本地)、OpenAI(云端)
分块策略sentence, whitespace, hard
错误格式3行格式(Category / Fix / See)
许可证MIT(含所有依赖)

教程

通过分步指南快速掌握EulerPress

教程即将公开。

安装与入门

安装EulerPress并开始第一次翻译

安装

pip install eulerpress

# 安装Ollama本地LLM
ollama pull gemma3:27b

系统要求

Python 3.12+

Ollama(本地翻译时需要)

用EulerPress自动化文档翻译

本地优先、代码保留、企业级质量的翻译工具。

从GitHub开始 联系我们