英汉对照文本工坊(Spring Boot 版)

英汉对照文本工坊(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 项输出全部一致,以下差异属于修正或增强:

  1. 换行符统一 :原脚本遇到 CRLF(Windows 常见)时,10 空行处理 的过滤会失效
    (item != '\n' 永远为真)。Web 版先把 \r\n 统一成 \n 再处理,任何来源的文件行为一致。
  2. 空行处理的真实语义 :保留单空白行.py 的实际效果是「删掉原有空行,然后每行之间留一个空行」,
    删除所有空行.py 是「删掉空行、其余各行紧排」。Web 版按真实语义提供了三种模式,避免误用。
  3. 对照合成不再越界 :原脚本行数不一致时会直接 IndexError 崩溃;Web 版按较少的行数配对,
    并在结果下方给出提示。
  4. 引号配对提示:半角双引号数量为奇数时,会提醒最后一个引号落单。
  5. 拆分结果提示:中英行数相差悬殊、或只识别出一种语言时给出提醒。
  6. 编码兼容:上传文件时先按 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 制作对照文本页面

项目下载:https://download.csdn.net/download/howard2005/93793918