英汉对照文本工坊(Spring Boot 版)
1. 项目说明
把 D:\PyCharmProjects\英汉对照文本制作 目录下的 11 个 Python 脚本,改造成了一个
Spring Boot 3 + Thymeleaf + Bootstrap 5 的本地 Web 应用。
英汉对照文本工坊将原 11 个 Python 文本处理脚本重构为 Spring Boot 3 + Thymeleaf + Bootstrap 5 的本地 Web 应用,打开浏览器粘贴文本或拖入 .txt/.md 文件,选参数一键处理即可复制或下载结果。工具覆盖交替行中英文拆分、智能中英识别、汉英/英汉对照合成、半角转全角引号、文章与诗歌格式规范、空行处理及行尾标点删除等 8 类功能。全部计算在本机内存完成,不写库、不落盘、不上传,安全隐私。改写时逐字节比对原脚本样例,14 项输出全部一致,并修正了换行符失效、空行语义、行数越界等原缺陷,新增引号落单提示与 UTF-8/GBK 兼容读取。前端支持分组导航、示例按钮、拖拽载入、多页签结果、一键复制下载与 Ctrl+Enter 快捷执行,本地化资源离线可用,双击 run.bat 即可编译启动。
打开浏览器就能用:粘贴文本(或拖入 .txt / .md 文件)→ 选参数 → 一键处理 → 复制 / 下载结果。
全部计算都在本机内存中完成,不写数据库、不落磁盘、不上传任何数据。
2. 运行方式
环境要求:JDK 21+、Maven 3.8+(首次运行需要联网下载依赖)。
bat
:: 方式一:双击 run.bat(会自动编译并打开浏览器)
:: 方式二:命令行
cd springboot-app
mvn -DskipTests package
java -Dfile.encoding=UTF-8 -jar target/text-toolkit.jar
启动后访问 http://localhost:8080(端口可在 src/main/resources/application.yml 修改)。

3. 工具与原脚本对照
| 编号 | 工具 | 对应原脚本 | 说明 |
|---|---|---|---|
| 01 · 03 | 交替行拆分中英文 | 01 提取中文和英文/中英分开提取.py、03 提取英文和中文/英中分开提取.py |
按行号奇偶拆分,可选首行是中文还是英文 |
| 05 | 任意文章智能拆分 | 05 任意文章提取英文和中文/任意中英分开提取.py |
逐行正则判断中英,不依赖行序 |
| 02 · 04 | 制作对照文本 | 02 汉英对照文本制作/汉英对照文本制作V1.py、04 英汉对照文本制作/英汉对照文本制作V2.py |
中英两份文本逐行配对,可选汉英 / 英汉顺序 |
| 06 | 半角引号转全角 | 06 将半角引号替换成全角引号/半角到全角引号.py |
半角 " 按出现顺序成对换成 " ",可选处理单引号 |
| 07 | 规范文章格式 | 07 规范文章格式/规范文章格式.py |
删空行后按统一数量在段间插空行 |
| 08 | 规范诗歌格式 | 08 规范诗歌格式/规范诗歌格式.py |
删开头空行、连续空行压成一个 |
| 10 | 空行处理 | 10 空行处理/保留单空白行.py、删除所有空行.py |
三种模式:每行间留一个空行 / 删光空行 / 压缩连续空行 |
| 11 | 删除行尾标点 | 11 删除行尾标点/删除行尾标点.py |
去行尾中英标点,首字母大写整行转小写 |
4. 与原脚本的行为差异(有意为之)
改写时先用原脚本的样例数据逐字节比对过:14 项输出全部一致,以下差异属于修正或增强:
- 换行符统一 :原脚本遇到 CRLF(Windows 常见)时,
10 空行处理的过滤会失效
(item != '\n'永远为真)。Web 版先把\r\n统一成\n再处理,任何来源的文件行为一致。 - 空行处理的真实语义 :
保留单空白行.py的实际效果是「删掉原有空行,然后每行之间留一个空行」,
删除所有空行.py是「删掉空行、其余各行紧排」。Web 版按真实语义提供了三种模式,避免误用。 - 对照合成不再越界 :原脚本行数不一致时会直接
IndexError崩溃;Web 版按较少的行数配对,
并在结果下方给出提示。 - 引号配对提示:半角双引号数量为奇数时,会提醒最后一个引号落单。
- 拆分结果提示:中英行数相差悬殊、或只识别出一种语言时给出提醒。
- 编码兼容:上传文件时先按 UTF-8 严格解码,失败则自动按 GBK 读取(中文 Windows 常见)。
5. 工程结构
springboot-app/
├── pom.xml Spring Boot 3.3.4 / Java 21
├── run.bat 一键编译 + 启动
└── src/main/
├── java/com/texttools/
│ ├── TextToolkitApplication.java 启动类
│ ├── config/ToolCatalog.java 8 个工具的元数据(名称/说明/示例/参数)
│ ├── model/ Tool、ToolGroup、ToolOption、ProcessResult
│ ├── service/TextToolService.java 全部文本处理算法(与 Python 脚本一一对应)
│ └── web/ PageController(页面)+ ApiController(JSON 接口)
└── resources/
├── application.yml
├── templates/ index / tool / error + 公共 fragments(Thymeleaf)
└── static/
├── css/app.css 界面样式
├── js/app.js 前端交互(处理/复制/下载/拖拽/快捷键)
└── vendor/ Bootstrap 5.3 与图标字体(已本地化,离线可用)
6. 界面功能
- 左侧分组导航,顶部统计「第 N / 8 个工具」,底部显示对应的原脚本名。
- 每个工具带「示例」按钮,点一下即可看到完整效果。
- 支持
.txt/.md文件上传与拖拽载入。 - 结果支持多页签(如中英两份)、一键复制、按原脚本同名规则下载(
english.txt/concordance.txt...)。 Ctrl + Enter快捷执行。
7. 页面展示
7.1 项目首页

7.2 制作对照文本页面
