fix: 子模块 i18n 桥接 -- 透传 :locale prop,修复嵌入页显示 i18n ID

根因:子项目组件用 useI18n({useScope:'global'}) 注入,嵌入时解析到宿主
mainPage 的 i18n 实例(不含子项目文案)-> 文案回退成 key(显示 ID)。

修复:
- z449 / timeTableFix 组件改用 useLocale composable 直读自身模块级 i18n 实例
- ttf 新增独立 i18n(中英 locale + useLocale),抽取所有硬编码中文
- mainPage 侧 Timetable/MobileGameWrapper 包装器透传 :locale prop
- 两个子模块 gitlink 更新至各自修复 commit

验证:构建后两个子模块 chunk 含真实中文文案,无 useI18n 注入残留
This commit is contained in:
Zikai
2026-07-24 09:02:38 +00:00
parent 6ad6c15e9d
commit d9309756c7
5 changed files with 22 additions and 12 deletions

View File

@@ -61,9 +61,10 @@ git commit -m "chore: 移除 z449 子模块集成"
## 与 timeTableFix 子模块的差异
| 维度 | timeTableFix | z449 |
|------|--------------|------|
| i18n | 无(硬编码中文) | 自带独立 vue-i18n中英双语 |
| 语言同步 | 无需 | 经 `:locale` prop 桥接父项目语言 |
| 文案来源 | 组件内硬编码 | z449 自有 locale 文件(单一来源) |
| mainPage 侧文案 | 无 | 仅 `tabs.mobileGame` 页签标题 |
| 维度 | 早期 timeTableFix | timeTableFix现已 i18n | z449 |
|------|-------------------|---------------------------|------|
| i18n | 无(硬编码中文) | 自带独立 vue-i18n中英双语 | 自带独立 vue-i18n中英双语 |
| 语言同步 | 无需 | 经 `:locale` prop 桥接 | 经 `:locale` prop 桥接 |
| 文案来源 | 组件内硬编码 | ttf 自有 locale 文件(单一来源) | z449 自有 locale 文件(单一来源) |
两个子项目均采用相同的 i18n 桥接模式:各自维护独立 `vue-i18n` 实例与 locale 文案,组件内用 `useLocale` composable **直接读自身实例**(而非 `useI18n()` 注入,否则嵌入时会解析到宿主实例导致文案回退成 keymainPage 侧包装器经 `:locale` prop 透传当前语言。