本项目是一个为 Ren'Py 视觉小说游戏开发者设计的翻译管理工具,旨在简化翻译流程,提高翻译效率。它提供以下主要功能:
- 导出翻译文本: 将 RPY 文件中的待翻译文本(包括对话和字符串)提取到 Excel 表格中,方便翻译人员进行翻译。
- 导入并应用翻译: 将已翻译的 Excel 表格内容导入,并自动更新到相应的 RPY 文件中。
- 条件修补: 根据 Excel 表格中的条件(例如,基于游戏中的变量或选择),有选择性地应用翻译,实现更精细的翻译控制。
- 多进程处理:利用多进程处理大幅度提升程序运行效率。
- 易于使用: 命令行界面,操作简单直观。
- 高效: 使用
lxml
库(可选)加速 Excel 文件处理,支持多进程并行处理,大幅提高效率。 - 准确: 精确匹配 RPY 文件中的翻译块和对话行,避免误操作。
- 灵活: 支持自定义翻译块标识符,适应不同的项目结构。
- 可扩展: 代码结构清晰,易于根据需求进行扩展和修改。
- 支持 Ren'Py 新旧版本: 兼容
old
/new
格式和直接替换格式的翻译。
-
克隆仓库:
git clone <你的仓库地址> # 将 <你的仓库地址> 替换为你的 GitHub 仓库地址 cd <你的仓库名称> # 将 <你的仓库名称> 替换为你的仓库名称
-
创建虚拟环境(强烈推荐):
使用虚拟环境可以隔离项目依赖,避免与其他 Python 项目冲突。
python3 -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
-
安装依赖:
pip install -r requirements.txt
强烈建议安装
lxml
以获得最佳性能:pip install lxml
如果安装
lxml
遇到问题,可以跳过,程序仍然可以运行,但处理大型 Excel 文件时速度会较慢。
在renpy游戏根目录中运行命令:
python 你的脚本名称.py
然后输入对应的tl文件夹名称,就会处理对应的文件夹,或者目录下的同名excel
Excel 文件格式 (导出和导入/应用)
导出的 Excel 文件包含以下列:
- 前缀 (Prefix): 对话的说话人(actor),或者
strings
(对于字符串)。 - 原文 (Original): RPY 文件中的原始文本。
- 译文 (Translation): 翻译后的文本(导出时为空,导入时使用)。
- 特殊 (Special): 用于条件修补的条件(导出时为空,条件修补时填入)。
- 定位 (Location): 文本在 RPY 文件中的位置(文件名:行号)。
- 标识 (Identifier): 翻译块的标识符(如果有)。
注意事项:
- 请不要修改 Excel 文件中的 "定位" 和 "标识" 列,这些列用于程序识别翻译文本的位置。
- "译文" 列中的空单元格将被忽略,不会对 RPY 文件产生影响。
- 程序会处理转义字符(例如,
\\n
、\\"
)。