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.tsKnowledgeBase 对象中缺少这两个 key,vue-i18n 在找不到 key 时回退显示 key 字符串本身,导致用户看到 KnowledgeBase.unsupportedFileType: .csv


修复方案

src/locales/zh-CN.tsKnowledgeBase 对象中,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 测试处理方式一致)

验收条件

  1. 上传 .csv 等不支持格式的文件时,通知显示"不支持的文件类型: .csv"而非原始 key ✅
  2. 无扩展名文件显示"文件缺少扩展名"而非"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 中文翻译 同上