# PDFMathTranslate-next 术语表教程：CSV 固定缩写与产品译名

制作 source,target,tgt_lng 三列表，核对重复术语、UTF-8 与目标语言，再将 glossary 交给 Next 并检查实际译文的一致性。

运行范围：原创 PDF/CSV/EPUB/HTML 材料与本地验收已实际执行。没有调用翻译模型、没有连接 Zotero 库、没有填写凭证。官方截图为官方项目示例，不是本练习运行输出。

依赖：Python 3.11+；PDF 验收需 Poppler 的 pdfinfo/pdftotext；OCR 复现需 tesseract 英文语言数据。安装翻译工具时遵循各自官方 Python 要求。

## 1. 阅读重复词原文

source.pdf 中 cooling loop、rate limit 和 failover route 多次出现。先确定本练习希望采用的人工术语约定；约定不是模型输出。

```sh
python3 verify.py
```

## 2. 建立官方格式 CSV

glossary.csv 使用 source,target,tgt_lng 三列与 UTF-8，目标语言为 zh-CN。不要用 Excel 的显示列名代替真实 CSV 表头；术语源词不带多余空格。

```sh
python3 -c 'import csv; print(list(csv.DictReader(open("glossary.csv", encoding="utf-8"))))'
```

## 3. 先拒绝冲突条目

glossary-bad.csv 故意让同一个 source+tgt_lng 对应两个 target。运行负例应非零；同一词不同目标语言则可以是不同键。

```sh
python3 verify.py --glossary glossary-bad.csv
```

## 4. 固定 Next 参数

确认命令是 pdf2zh_next，帮助中有 --glossaries。若要传多份 CSV，官方语法是一段逗号分隔的文件列表；不要使用主仓库 pdf2zh 的配置项冒充 glossary。

```sh
pdf2zh_next --version
pdf2zh_next --help
```

## 5. 先跑一份小样

按自己的可用服务配置翻译一页，传 glossary.csv，输出到独立目录。此步骤需要实际后端，本包未执行。

```sh
pdf2zh_next source.pdf --glossaries glossary.csv --lang-in en --lang-out zh-CN --output output
```

## 6. 核对同词出现的每个位置

读取真实译文，逐条填写 consistency-check.csv。若同词在标题、正文译法不同，记录上下文与原页号；有术语表不等于一定强制替换全部情形。

## 7. 分开保存约定和实际结果

保留输入 glossary.csv、实际输出与修订版术语表。人工约定表可以作为验收标准，不能改名成“模型翻译结果”；修订前后保留版本，方便追溯。

## 来源

- https://pdf2zh-next.com/advanced/advanced.html

## 教材

原创输入材料可用于学习练习。官方图片版权归原作者，网页中保留来源；ZIP 不打包这些官方图片。
