Skip to content

fix: 修复切换账号后导航语言未同步更新 - #1422

Merged
ulleo merged 1 commit into
mainfrom
fix/menu-language-account-switch
Oct 27, 2026
Merged

ulleo merged 1 commit into
mainfrom
fix/menu-language-account-switch

Conversation

@ulleo

@ulleo ulleo commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Summary

切换账号后,新账号语言已生效,但导航仍使用路由初始化时保存的旧语言标题,导致页面中英文混用。将静态及动态路由标题改为翻译键,在菜单渲染时按当前语言解析;覆盖普通导航、设置子菜单和管理员菜单,并保留扩展路由直接提供 meta.title 的兼容。

- 路由初始化 → t(key) → 固定标题
+ 路由保存 meta.titleKey → 菜单渲染时 t(key) → 随当前语言更新

新增独立浏览器回归夹具,并更新菜单标题约定和测试运行说明。

Evidence

  • Before: 基线 099e855a 上,英语账号退出后登录繁体中文账号,页面标题为“智慧問數”,导航仍为 Data Q&A / Dashboard / Data Sources / Assistant App / Settings;“切换账号后普通导航和设置子菜单跟随 zh-TW”用例因导航中找不到“智慧問數”而失败。
    After: npm --prefix tests/browser test -- --config=menu-language.config.mjs:11 passed,覆盖五种语言、切回英语、管理员菜单即时切换、普通成员菜单过滤和扩展直接标题兼容。
  • cd frontend && npm run build:通过(vue-tsc + Vite);构建有产物体积提示。
  • 五种语言的菜单翻译键完整;全量语言键检查发现繁体中文 about、韩语 prompt.default_password 的既有键名差异,相关 JSON 未修改。
  • 改动文件 ESLint 检查有 1 个既有错误:router/index.ts 的未使用 Layout 导入;对基线原文件执行相同检查得到相同错误。
  • 验证代码对应提交 a85a15a6;使用 Node.js 24.14.1、本机 Chrome 和既有前端依赖。浏览器测试加载真实菜单、路由、用户 Store 和 i18n,模拟账号 API、缓存与导航守卫;未覆盖 QA 环境完整登录、真实后端鉴权、xpack 集成或镜像部署。

Merge Danger

Door: two-way

仅前端标题解析及回归测试变更,可通过回滚提交撤销,无数据迁移。

Blast Radius: navigation

影响普通与管理员菜单及布局页面标题;扩展路由的直接标题有兼容用例,真实 xpack 路由仍需集成验证。

@ulleo
ulleo merged commit 8885a81 into main Oct 27, 2026
3 checks passed
@ulleo
ulleo deleted the fix/menu-language-account-switch branch October 27, 2026 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant