背景
peri-middlewares 中的工具错误信息(如 edit.rs)硬编码中文,无法跟随用户语言设置切换。当前 i18n 能力(LcRegistry + fluent-bundle)仅在 peri-tui 中,peri-middlewares 无法使用。
问题
peri-middlewares/src/tools/filesystem/edit.rs:89 硬编码中文:
"最接近的匹配在文件第 {}-{} 行({} 行中有 {} 行不同)。建议先 Read 此文件获取最新内容再重试。"
工具输出给 LLM/用户的错误信息不跟随语言设置。
方案
新建 peri-i18n crate,将 LcRegistry 和 locale 文件从 peri-tui 提取到独立 crate:
- 创建
peri-i18n crate(含 fluent-bundle 依赖 + locale 文件)
peri-tui 改为依赖 peri-i18n,删除本地 src/i18n/ 模块
peri-middlewares 新增依赖 peri-i18n
edit.rs 的错误信息改为英文(工具输出层),或通过 i18n 翻译
- 根
Cargo.toml 添加 workspace member
参考
- 当前实现:
peri-tui/src/i18n/mod.rs(LcRegistry)
- locale 文件:
peri-tui/locales/{en,zh-CN}/main.ftl
- 相关设计文档:
docs/superpowers/specs/2026-06-03-edit-error-visibility-and-diagnostics-design.md
背景
peri-middlewares中的工具错误信息(如edit.rs)硬编码中文,无法跟随用户语言设置切换。当前 i18n 能力(LcRegistry+ fluent-bundle)仅在peri-tui中,peri-middlewares无法使用。问题
peri-middlewares/src/tools/filesystem/edit.rs:89硬编码中文:"最接近的匹配在文件第 {}-{} 行({} 行中有 {} 行不同)。建议先 Read 此文件获取最新内容再重试。"工具输出给 LLM/用户的错误信息不跟随语言设置。
方案
新建
peri-i18ncrate,将LcRegistry和 locale 文件从peri-tui提取到独立 crate:peri-i18ncrate(含 fluent-bundle 依赖 + locale 文件)peri-tui改为依赖peri-i18n,删除本地src/i18n/模块peri-middlewares新增依赖peri-i18nedit.rs的错误信息改为英文(工具输出层),或通过 i18n 翻译Cargo.toml添加 workspace member参考
peri-tui/src/i18n/mod.rs(LcRegistry)peri-tui/locales/{en,zh-CN}/main.ftldocs/superpowers/specs/2026-06-03-edit-error-visibility-and-diagnostics-design.md