i18n 工程接入与翻译交接状态¶
历史记录 / Historical record:本文保留当时的计划、研究或验收证据,不代表 0.11 当前能力全集。现行说明见 文档入口;英文入口见 English overview。
2026-10-20,exp;本轮在现有实现上完成迁移,未合并 PR 57 的旧业务代码。
已落地¶
- 语言持久化、跨窗口同步、
document.lang、三模式语言选择;组件订阅语言,不通过重挂应用切换。 - OneGUI 独立语言 Provider;表单、确认、Toast 支持消息描述符,已打开的界面随语言更新并保留输入。
- 具名插值、可信 React 槽位、显式复数分支、Intl 日期/数字;模块级显示注册项按读取时解析。
- 从当前界面与状态层提取词典,提供源文、调用位置、参数、批次及术语表。生成工具只复用中文完整匹配的旧候选译文。
- 学校协议、权限、稳定路由、日历身份和用户存档名称保留原值;展示标签独立翻译。修正了迁移审查发现的 THOS 状态、洗衣机键、设置定位和课程行 Atom 身份问题。
- 词典先经 AST 校验,不执行翻译者代码;缺键、错参数、重复属性、源文版本变化、未完成批次、越批修改和修改业务文件均会失败。
- Vite 自动注册新增语言文件;desktop 构建前执行工程词典检查。
- Android 桌面小组件的快照携带语言和 62 条显示模板,后台重新计算倒计时继续使用快照语言;切换语言会推送新快照,旧异步任务不能覆盖它。翻译仍只维护同一份词典。
交付入口¶
- 翻译指南:可直接交给翻译模型的操作与指令。
- 术语表:动作、产品名称和误译边界。
- 完整清单、首个批次:实际键数与源文 hash 以生成结果为准。
- 运行与安全边界、业务身份回归。
- 真实 App 浏览器验收、官方英文解析与展示。
工程命令¶
pnpm i18n:check
pnpm test:i18n
pnpm i18n:handoff
pnpm --filter @onethu/desktop build
翻译模型只运行检查并填写目标语言值,不运行提取或重新生成。批次检查必须带工程基线提交,具体命令见翻译指南。
仍需区分的验收边界¶
工程接入完成不等于英文翻译完成。英文空值会回退中文,发布前必须用 --locale en-US --complete 验证全覆盖,并完成语言质量和真实长译文界面验收。其他语言由工程预置纯数据文件后可按同一契约填写。
官方材料只包含学堂英文首页和 Info 英文门户,没有真实英文选课内页/作业详情。本轮匿名双语解析、实际 DOMParser 和失败保护已验证;没有修改学校语言偏好,没有真实选课、退课或作业提交。真实课程英文名只改变显示,存档和导航身份不变。
本地 Chromium/WebKit 三模式、桌面/手机尺寸验证不能代替 Windows WebView2、Android/iOS 真机以及学校双账号联调。系统日历、通知、IM 自动回复、真实截图、用户/学校内容属于独立输出或原始内容边界,不进行随 UI locale 自动批量重写。
历史 PR 57 问题及原计划依据仍见 PR 57 深审。正式资源热更新按用户后续指示撤出范围;已有整包更新修复见 更新审查。