Skip to content

Releases: yschdxm/renpy-translator

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 08:47

新增

  • 界面重构:三段侧栏(流程/分析/设置)、顶栏项目上下文与统一页头、
    概览页 + 首启检查单、工具栏两级收纳、任务中心抽屉与状态栏、语义 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

Choose a tag to compare

@github-actions github-actions released this 15 Oct 15:06

新增

  • 「全部翻译」二级菜单:全部翻译 / 翻译当前筛选(全部页,含搜索与
    角色筛选)/ 翻译指定角色(可搜索选择);「全部翻译」与「翻译当前
    筛选」启动前有确认框(说明取消需等当前批次,防点错烧 token),
    任务名带范围与条数(d9b4f5e)

v0.4.8

Choose a tag to compare

@github-actions github-actions released this 15 Oct 09:43

新增

  • 翻译页多选清空:行首勾选(跨页保持)/ 表头全选本页 /「全选筛选结果」
    全选全部页,选中后一键清空所选译文(带确认,回到未翻译便于重翻)
    (140f5c8)

优化

  • README 顶部应援图下推荐 whale-star(按 Star 数升档的 README 应援图
    服务)(140f5c8)

v0.4.7

Choose a tag to compare

@github-actions github-actions released this 15 Oct 09:02

新增

  • 诊断独立页: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

Choose a tag to compare

@github-actions github-actions released this 13 Oct 15:28

优化

  • 进度显示策略统一:进行中文本一律「正在{动作}... ({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

Choose a tag to compare

@github-actions github-actions released this 13 Oct 14:30

新增

  • 提示词设置:全部 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

Choose a tag to compare

@github-actions github-actions released this 11 Oct 08:54

修复

  • 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/<平台>/renpy ENOENT。新增 find_dmg_sdk_root()
    兼容三种卷布局并复制 SDK 根内容,unmangle_mac_binaries() 幂等还原
    (装后即还原 + generate 入口自愈,存量手动安装副本下次生成自动
    修好)(9a677f7)

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 07 Oct 13:41

新增

  • 翻译文本导出:对话/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

Choose a tag to compare

@github-actions github-actions released this 04 Oct 08:12

新增

  • 人名翻译与人物分析拆分:每行「翻译/分析/保留原名」独立操作,批量
    全部翻译/全部分析/全部保留原名;「保留原名」将中文名设为原名,
    人名对照表指导对话 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

Choose a tag to compare

@github-actions github-actions released this 29 Sep 05:23

新增

  • 译文改为宽幅多行编辑窗:原文对照、显式保存/取消、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)

修复

  • 导出页「逐条修订」接口 lambda 误收 db 参数导致 500(5895c7e)
  • AppImage 构建钉 Ubuntu 22.04:ubuntu-latest(24.04) 产物要求 GLIBC_2.38,
    无法在 22.04 及 AppImageHub 收录测试机运行(18d502c)
  • 失败条目计数只展开失败记录再按 ID 查台词,避免全表扫描未译条目阻塞
    数据库锁(#2,0233243)
  • 历史重复失败条目在列出/重试前去重,保留最新失败原因与候选译文(#2,123a580)