Repository navigation
Releases: yschdxm/renpy-translator
Releases · yschdxm/renpy-translator
Release list
v0.5.0
新增
- 界面重构:三段侧栏(流程/分析/设置)、顶栏项目上下文与统一页头、
概览页 + 首启检查单、工具栏两级收纳、任务中心抽屉与状态栏、语义 token 层
(3a3ef3b…c3943a1,反馈驱动:初次见面无从下手、组织混乱) - 定时任务:倒计时/时间点/时间段(可跨午夜)三种调度 + 独立循环开关,
指定项目独立执行,覆盖批翻/导出/建图/内嵌扫描等主要任务类型;
过去时间防呆、重开重计时、错过不补跑(b4a5605…45df7ed) - MCP 接入:Streamable HTTP 挂
/mcp/,Claude Code 等客户端可操作全部功能;
默认 30 精选工具(start_*→wait_job 长任务流、confirm 危险守卫),
可切全量 REST 镜像;可选 token + 拒浏览器 Origin(307930f…2e29088) - 人名/术语表按批匹配注入:只注入本批用到的条目(词面+边界模糊,
命中率高时仍可回退全量吃前缀缓存),大幅降低长对话批翻 token
(6ec0904) - 翻译页多选清空、行内清空;跨项目导入译文(0.4.7 起,本版随界面重构稳定)
- 设置页拆分:模型配置 / 路径配置(SDK+数据目录)/ MCP 接入 三页
(2e29088)
优化
- 诊断页:调用轨迹落 app.db(跨重启保留)、列表倒序 + 两栏独立滚动、
耗时按量级显示 ms/s/min、生产默认不写 api.log 文件(dc65e0d…3bb3565) - 顶栏/翻译模式可发现性:实体按钮、常显下拉、可见的模式 select
(21477ce) - 任务中心角标计入运行中任务;每页常驻手动刷新
修复
- 定时任务 1 分钟被当成 1 小时(单位错位);触发后不重计时导致永不执行
(dc65e0d、45df7ed) - 定时任务运行时生命周期:任务创建后过早关闭线程池导致
cannot schedule new futures after shutdown(531d5cb) - OpenCode Go(opencode.ai)翻译 400 MissingSessionID:自动注入稳定
x-opencode-session会话头(b9caf7f,discussion #4) - 页头不平齐、定时任务表格不渲染、诊断历史重启丢失等界面回归问题
v0.4.9
新增
- 「全部翻译」二级菜单:全部翻译 / 翻译当前筛选(全部页,含搜索与
角色筛选)/ 翻译指定角色(可搜索选择);「全部翻译」与「翻译当前
筛选」启动前有确认框(说明取消需等当前批次,防点错烧 token),
任务名带范围与条数(d9b4f5e)
v0.4.8
新增
- 翻译页多选清空:行首勾选(跨页保持)/ 表头全选本页 /「全选筛选结果」
全选全部页,选中后一键清空所选译文(带确认,回到未翻译便于重翻)
(140f5c8)
优化
- README 顶部应援图下推荐 whale-star(按 Star 数升档的 README 应援图
服务)(140f5c8)
v0.4.7
新增
- 诊断独立页:API 日志开关 + LLM 轨迹面板(时间概览条、事件记录表、
局部检查器),完整记录每次模型调用的请求/响应、token 用量与缓存
命中(消息按 role 展示、tool 调用、原始 JSON 切换),失败与重试
耗尽也留痕;task_type 细分到对话/人物分析/预筛/图谱等业务,
API_LOG 环境变量可强制开启(121bc6a) - 翻译模式三档:深度(全效果)/ 轻量(仅术语表+「翻译建议」)/
纯批量(无附加效果)一键切换,微调面板 5 个细粒度开关(术语提取、
术语表、风格指南、角色特征三态、上下文),存项目配置即时生效
(121bc6a) - 跨项目导入译文:从其他项目按原文匹配复用已翻译文段;冲突逐条对比
(用源/保留当前)带批量操作,模糊匹配(相似但差距较大)进「疑似
匹配」人工筛选,两段式预览/落库带 digest 防错配(121bc6a) - 人物分析成本上限:台词槽位抽样(默认 300 句:口癖配额+通用启发式+
探索槽+剧情覆盖,稀缺口癖召回约 80%,均匀抽样仅约 17%)+ 两段式
分析(草稿→定向补样→合并);10k 句角色从 60+ 次调用降到 2-3 次
(121bc6a) - 译文一键清空:翻译页行内清空按钮(带确认),空译文回退为「未翻译」
(121bc6a) - SDK 全列表:设置页列出 tools/ 下全部已安装 SDK(版本/路径/默认
标注);导出按游戏引擎精确版本优先匹配(游戏 8.3.2 就用 8.3.2),
无精确匹配再退回同大版本最新(121bc6a)
优化
- 输出不再截断:所有 LLM 调用默认不发 max_tokens(跟随模型默认
上限);max_tokens 配置改为可选安全上限(留空=不限),存量配置的
旧默认值 1000 迁移为不设上限(121bc6a) - 人物分析档案补全:口癖/称谓/代表台词/语气词建议四维入库(此前
多段合并后丢失),分析提示词注入自动统计的风格线索(口癖候选/
称谓/标点习惯)并带【自检】证据缺口;取消分析不再落半成品档案
(121bc6a) - 模态框样式统一:26 处弹窗收编——宽度一律 min(Xpx, 96vw)(窄窗不
横向溢出),长内容统一 .modal-scroll(60vh 只滚内容,标题页脚固定),
废除整卡滚动,分页/操作按钮归位(121bc6a)
修复
- 跨项目导入预览卡死:模糊匹配候选无上限导致 O(n²)(400×400 实测
30 秒,大项目直接转圈不返回),改为稀有词块键 + 候选上限 + Jaccard
快筛,真实规模预览从卡死降到秒级(121bc6a) - 清空/空译文误标「已翻译」:update_dialogue/update_ui_text 此前
无条件置 is_translated=1,空译文会污染「未翻译」筛选与统计(121bc6a)
v0.4.6
优化
- 进度显示策略统一:进行中文本一律「正在{动作}... ({done}/{total})」
格式(20 处进度文案),规范写入 emit_progress 与 ProgressLine 约定;
import 项目包解压从无进度一步跳改为逐项计数(大包不再干等);
剧情图场景进度条改走统一组件 ProgressLine(edc4f54)
修复
- 滚动条样式割裂:此前无全局滚动条样式,部分区域 n-scrollbar 暗色
浮条、部分区域 Windows 亮色系统滚动条;全局统一为暗色细圆角
(对齐 n-scrollbar 观感),覆盖全部原生滚动区域(edc4f54) - 控制台刷屏「Exception in callback …ConnectionResetError [WinError
10054]」:SSE/长连接被浏览器断开时 Windows Proactor 收尾异常被
asyncio 整栈打印(纯噪声无功能影响),现静默断开类异常(edc4f54)
v0.4.5
新增
- 提示词设置:全部 AI 提示词可自定义(对话/UI/人名/人物分析/预筛/
图谱/导出/重试,共 27 条),项目/全局两层覆盖,单条或全部恢复默认;
模板语法两种标签加注释([[x]]纯注入、[[?x]]可选段落、#注释
发送前剔除),内容块标题随内容注入,保存时缺占位符/缺锚点等警告
不阻断(1e44161) - 页面帮助:每页右上角 ? 按钮弹出使用说明对应章节,说明书为唯一
内容源(1e44161) - 保留官中:建项/更新检测到游戏自带中文翻译时可选「保留官中继续
翻译」——非 chinese 的中文目录归一(schinese/zh→chinese),官方
译文经 tl 解析直接入库为已译,同源重复块去重,更新时旧条目未译
而新包自带官中译文则继承官中(1e44161) - mac 应用壳导出:.app 来源项目快照壳骨架,导出可选套壳产出解压
双击可运行的 .app;zip 打包强制 0755 执行位(1e44161) - 人名「翻译+分析」按缺口补全:缺人名的补译名+画像,已有名只缺
画像的仅分析,不覆盖人工译名/保留原名标记(1e44161)
修复
- 8.x 游戏版本误判拿错 SDK:7.5/8.0 共用源码的 renpy/init.py 含
PY2/else 双分支 version_tuple 字面量,旧探测取第一支把 8.x 游戏判成
7.x,选中 7.4.11 SDK(Python 2.7)parse f-string/nearrect 等 8.x 语法
直接失败(Motherless 0.26.1 实测);判定改为 SDK 目录名 →
game/script_version.txt → init.py 字面量按发行包自带运行时选支
(lib/py3-*/pythonlib2.x、.sh 的 PYTHON="pyN")(5148a48) - UI 字符串误判已翻译:SDK translate 默认把原文原样回填进 new 行作
占位,旧解析按「new 非空 = 已译」将全部 UI 字符串标成已翻译且
译文==原文(Motherless 1046 条实测);改为与对话块同规则「new 非空
且与 old 不同才算已译」,存量误标数据清回待译(5148a48) - zip 上传不可中断、关对话框后任务失踪:上传是服务端任务创建前的
前端传输阶段,旧实现无中断且关闭对话框后顶栏任务列表不显示;
上传登记为后台任务——表单对话框内联进度+取消上传,关闭对话框
不中断、任务转顶栏「后台任务」列表,点列表项开全局上传进度
对话框(5148a48)
v0.4.4
修复
- mac 游戏包导入超时:发行包顶层是
.app,真工程根在
Contents/Resources/autorun(game/ 与 renpy/ 同级),此前管线误把
.app根当工程根,rpa 解包/反编译/官中检测全落空、SDK 以错误目录
translate 倒出海量 duplicate label 输出;新增resolve_game_root()
在建项/更新入口定位真根(顶层单一目录逐层下探兼容 zip 包装层,
未知布局原样返回不静默改道),SDK stdout 改落临时文件——原「先等
子进程退出、退出后才读」在输出超过管道缓冲(Windows 匿名管道 4KB)
时互锁,直到 3600s deadline 才报执行超时。实测.app根导入
12.2s 成功 4092 条对话(修复前同路径卡死 25 分钟+),PC 包回归
22.2s 同样 4092 条无变化(9a677f7) - mac SDK 生成失败(返回码 126):官方 dmg(7.4.11/8.5.3 实测)卷根
是同名文件夹、.app 在其内一层,旧_extract_dmg只认卷根*.app
→ 自动下载必报「dmg 中未找到 .app」;且 dmg 为规避 macOS 公证把
lib/**平台二进制改名*.macho+ 5 字节 RENPY 头(distribute.rpy),
官方靠 renpy.app 启动时 launcher(mac.rpy)剥头还原,headless 直接
跑 renpy.sh 即lib/<平台>/renpyENOENT。新增find_dmg_sdk_root()
兼容三种卷布局并复制 SDK 根内容,unmangle_mac_binaries()幂等还原
(装后即还原 + generate 入口自愈,存量手动安装副本下次生成自动
修好)(9a677f7)
v0.4.3
新增
- 翻译文本导出:对话/UI 字符串/人名/术语可按需组合导出为
txt/json/Excel/Word,可选导出列;翻译表格页支持「仅导出当前筛选」,
产物存 exports/{项目名}/(多个类型合并为单文件:Excel 多 sheet、
Word/txt 分节、json 多键);Excel/Word 中文宋体、西文 Times New Roman(36be506) - 导出「翻译 Word」:仅原文、每条一行,供译者翻译后导回(36be506)
- 翻译文本导入:支持导入 JSON(按原文匹配)与翻译 Word(按行对应),
选择文件后直接写回并提示各类统计(36be506)
v0.4.2
新增
- 人名翻译与人物分析拆分:每行「翻译/分析/保留原名」独立操作,批量
全部翻译/全部分析/全部保留原名;「保留原名」将中文名设为原名,
人名对照表指导对话 AI 正文也保留原名,不再计入未翻译警告(b948e9f) - 人名页新增「重新提取角色」:修复存量项目的角色数据(引号说话人
display_name 缺失等),不需要 SDK(b948e9f)
修复
- 引号说话人(
"Ricardo" "..."匿名角色)被误判为泛指变量、人名页
显示「无需翻译」导致游戏内名字不翻译:角色表按字面量识别显示名,
导出时 new 行说话人随人名表译文替换(b948e9f) - 中文 Windows 上 SDK 生成翻译误报失败「'gbk' codec can't decode」:
Ren'Py 输出固定 UTF-8,子进程管道改为按 UTF-8 解码(此前日文游戏
输出触发 GBK 解码异常,翻译实际成功也被误报为失败)(814a33a)
v0.4.1
新增
- 译文改为宽幅多行编辑窗:原文对照、显式保存/取消、Ctrl/⌘+Enter 保存、
保存失败保留草稿;中文输入法确认候选字不再误触提交/搜索(#2,ad1a07c) - 译文查找替换:覆盖当前筛选范围全部页,先预览匹配数、出现次数与前 30 条
前后对照再确认;预览后数据变化要求重新预览;不改原文(#2,ad1a07c) - 托盘打开界面复用现有窗口进程,启动期加锁防止连击重复开窗,
Windows 恢复/聚焦已有窗口(#2,ad1a07c)
优化
- 批量补译的后续非致命 API 异常保留已解析成功的结果;后台批次落库时检测
译文是否被人工修改,避免覆盖人工校对(#2,ad1a07c) - 取消任务后跳过收尾的自动重试;重试先清理已完成条目并按 ID 去重;进度
区分已处理/成功/待重试(#2,ad1a07c) - 分批预算按批内角色累加,不再从每批窗口扣除全项目角色资料;取消虚构的
500-token 批次下限;分词与分组移入线程池,风格指南计入预算(#2,231f13d) - 人名/角色分析未完成改为任务日志提示,可用已有资料开始对话翻译(#2,ad1a07c)
- 参考台词行数配置实际生效(含 0),补充参数说明与取值校验(#2,ad1a07c)