Repository navigation
fix(knowledge): 转写语言改成下拉选择,不再让用户手写 zh 这种代码 - #4457
Open
linus-liu-web wants to merge 2 commits into
Open
linus-liu-web wants to merge 2 commits into
linus-liu-web wants to merge 2 commits into
Conversation
音频 ASR 的语言字段原来是自由文本输入框,用户得自己回想 whisper 这类 ASR 厂商认的短代码(zh / en / ja …)。写错了不会报错,值会原样发给后端, 识别结果静默变差;写 Chinese / English 更是完全无效。 - 改成 t-select:自动检测 + 中文/英语/日语/韩语/俄语,选项值仍是厂商代码 - filterable + creatable:es / fr / yue 这类列表里没有的语种可以手输 - 自动检测是列表里的真实选项(空值在 TDesign 里等于没选中),选中它或 清空后 asr_config.language 仍是 '',和原来“留空自动检测”的语义一致 - 展示名走 i18n(6 个语言包),不复用 language.zhCN 这类界面语言 key: ko-KR / ru-RU 里那几个值还是中文,放进语言选择器会串味 值兼容:DB 里现有的 zh 直接命中预置项;历史值若不在列表里(例如 ch), 下拉照样原样显示,保存时不被改写。
DataSourceSettings.vue 从 Tencent#4420 起通过 useConnectorLabel 解析数据源显示名, 而 vueFixture 的组件依赖是按白名单注入的,main 上这个注入一直缺着, 导致 npm test 里 "refreshes data source controls…" 直接红: Unexpected component dependency: @/composables/useConnectorLabel。 夹具没有 i18n 运行时,注入恒等格式化即可,生产代码不动。
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
描述
「音频语言提示」(ASR 转写语言)原来是自由文本输入框,用户得自己回想 ASR 厂商认的短代码(
zh/en/ja…)。写错了不会报错:值原样发给后端,识别质量静默变差;写Chinese/English更是完全不生效。用户反馈这类字段应该是下拉,不该让人手写代码。同一个弹窗里其他语言字段都是下拉,只有它是输入框,看起来也像漏配:
de/en/zht-selectmultiple + creatablemultimodalConfig.descriptionLanguage)Chinese/English/ …t-selectasrConfig.language)zh/en/ …t-input自由文本 ← 本次改掉改动
把
UploadConfirmDialog.vue里的 ASR 语言输入框换成t-select:zh、Englishen、日本語ja、한국어ko、Русскийrufilterable+creatable:es/fr/yue这类列表里没有的语种仍然手输即用,不限制用户clearable:清空等于留空自动检测,保持原有语义zh这种),显示名走 i18n;6 个语言包都补了knowledgeEditor.asr.languageAutoDetect与knowledgeEditor.asr.languageOptions.{zh,en,ja,ko,ru}实现上「自动检测」不是占位符,而是列表里的一个真实选项(TDesign 里空字符串等于没选中,会退化成 placeholder)。
utils/asrLanguage.ts负责在显示值与存储值之间转换:之所以不复用现有的
language.zhCN那组 key:ko-KR/ru-RU语言包里这几个值自己还是中文(language.zhCN的值就是'简体中文',zhTW在 ko-KR 里是'번체 중국어'),放进语言选择器会和界面语种串味,所以新增了 ASR 专用的显示名。为什么只改这一处
main(2c0d83843)上只有这一处自由文本 ASR 语言输入:视频处理的「转写语言」来自未合并的视频 PR(
feat/video-parsing分支第 666 行),不在main上,所以本 PR 不涉及——等那个 PR 合并后,同一处可以直接复用这次新增的 i18n key 和utils/asrLanguage.ts。兼容性
zh/en/ … 这类 ASR 厂商代码,后端asr_config.language不需要改zh直接命中预置项显示「中文」;历史值若不在列表里(例如ch),下拉照样原样显示该代码,保存时不被改写asr_config.language始终是 string,不会变成undefined测试
新增
utils/asrLanguage.test.ts(值映射 / 清空 / 自定义代码 / 空白裁剪 / 非字符串兜底)与UploadConfirmDialog.test.ts里的下拉接线断言(不再有t-input、选项 value 是代码、payload 透传、6 个语言包 key 齐全)。验证
Checklist
git diff --check origin/main...HEAD通过截图
改动是上传确认弹窗「音频处理」分区里的一个控件(输入框 → 下拉)。这里没有可运行的前端环境,无法附真实截图;控件形态与同弹窗里「图片描述语言」的
t-select一致,宽度保持 280px。