Skip to content

refactor-extract-peri-i18n-crate #89

Description

@cc-claws

背景

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:

  1. 创建 peri-i18n crate(含 fluent-bundle 依赖 + locale 文件)
  2. peri-tui 改为依赖 peri-i18n,删除本地 src/i18n/ 模块
  3. peri-middlewares 新增依赖 peri-i18n
  4. edit.rs 的错误信息改为英文(工具输出层),或通过 i18n 翻译
  5. Cargo.toml 添加 workspace member

参考

  • 当前实现:peri-tui/src/i18n/mod.rsLcRegistry
  • locale 文件:peri-tui/locales/{en,zh-CN}/main.ftl
  • 相关设计文档:docs/superpowers/specs/2026-06-03-edit-error-visibility-and-diagnostics-design.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions