02-1008932-不支持文件类型提示i18n-1轮迭代.md
2.81 KB
缺陷 1008932 - 这个提醒,不知道是什么意思
原始需求(一字不差)
缺陷标题:这个提醒,不知道是什么意思
状态:接受/处理 | 负责人:尹帮会 | 严重程度:— | 优先级:— | 创建者:Ryan章桦
创建时间:2026-03-19 21:24 | 迭代:—
评论:
- [2026-03-20 14:05] 张倩如:国际化问题
图片理解
截图(用户提供)
用户上传 users_20260319.csv 文件到知识库,顶部出现橙色警告通知:
users_20260319.csv: KnowledgeBase.unsupportedFileType: .csv
关键细节:通知文本直接暴露了 vue-i18n 的 key 名 KnowledgeBase.unsupportedFileType,而非翻译后的中文。用户看到原始 key 字符串,完全不知道是什么意思。
根因分析
src/components/Workspace/FileTreeNode.vue 第 754 行:
reason: extension
? `${t("KnowledgeBase.unsupportedFileType")}: .${extension}`
: t("KnowledgeBase.fileHasNoExtension"),
en-US.ts 中有对应翻译:
unsupportedFileType: "Unsupported file type",
fileHasNoExtension: "File has no extension",
但 zh-CN.ts 的 KnowledgeBase 对象中缺少这两个 key,vue-i18n 在找不到 key 时回退显示 key 字符串本身,导致用户看到 KnowledgeBase.unsupportedFileType: .csv。
修复方案
在 src/locales/zh-CN.ts 的 KnowledgeBase 对象中,fileSizeExceeded 之后补充两个缺失的翻译 key:
fileSizeExceeded: "文件大小不能超过 100MB",
unsupportedFileType: "不支持的文件类型", // 新增
fileHasNoExtension: "文件缺少扩展名", // 新增
修复后通知显示为:users_20260319.csv: 不支持的文件类型: .csv,用户可以理解。
修改的文件
src/locales/zh-CN.ts
测试结果
-
npm run type-check通过,无 TypeScript 错误 -
npm run test:unit通过,19/19 用例全部通过 -
npx playwright test e2e/tests/1008932-unsupported-file-type-i18n.spec.ts:2 个用例跳过(需登录态,与现有 E2E 测试处理方式一致)
验收条件
- 上传
.csv等不支持格式的文件时,通知显示"不支持的文件类型: .csv"而非原始 key ✅ - 无扩展名文件显示"文件缺少扩展名"而非"KnowledgeBase.fileHasNoExtension" ✅
测试覆盖
单元测试(Vitest)
i18n key 补充,无新增单元测试,已有 19 个用例全部通过。
E2E 测试(Playwright)
文件:e2e/tests/1008932-unsupported-file-type-i18n.spec.ts(2 个用例)
| 用例 | 验证内容 |
|---|---|
| zh-CN.ts 包含 KnowledgeBase.unsupportedFileType 中文翻译 | 通过 vue-i18n 实例验证翻译值非 key 名且含中文 |
| zh-CN.ts 包含 KnowledgeBase.fileHasNoExtension 中文翻译 | 同上 |