mirror of
https://github.com/keven1024/015.git
synced 2026-05-26 15:13:30 +00:00
1.4 KiB
1.4 KiB
Why
worker 模块自己实现了一套独立的 i18n 加载逻辑(动态文件路径查找、手动注册 TOML 解析),而 pkg/i18n 已经提供了通用的 i18n 封装但从未被使用,且其实现存在 bug(注册的是 JSON 格式,实际文件是 TOML)。统一到 pkg/i18n 可以消除重复、修复 bug、让后续模块复用。
What Changes
- 修复
pkg/i18n:将格式从 JSON 改为 TOML,更新go.mod添加缺失依赖 - 将 worker/internal/i18n/ 的 7 种语言翻译文件迁移到
pkg/i18n/locales/ - 将
pkg/i18n加入go.work工作区 - worker/go.mod 中添加
pkg/i18n依赖,移除对go-i18n、BurntSushi/toml、golang.org/x/text/language的直接引用 - 删除 worker 中的
loadI18nBundle、mustLocalize、localizeEmail函数,改用pkg/i18n.TWithData - 删除
worker/internal/i18n/目录
Capabilities
New Capabilities
无新能力,纯重构。
Modified Capabilities
share-download-notify:i18n 实现层迁移到pkg/i18n,接口行为(邮件本地化主题和正文)不变
Impact
- pkg/i18n:go.mod 新增
github.com/BurntSushi/toml、github.com/nicksnyder/go-i18n/v2、golang.org/x/text依赖,locales 目录新增 6 种语言文件 - go.work:新增
./pkg/i18n模块 - worker:notify.go 逻辑简化,go.mod 依赖变化,
worker/internal/i18n/目录删除 - 不影响任何 API 或前端