Skip to content

Commit 3f5ddcd

Browse files
authored
🐛 English error message shows up under chinese language when model is not connected #1502
2 parents 0f202ee + 3f75e58 commit 3f5ddcd

File tree

3 files changed

+27
-4
lines changed

3 files changed

+27
-4
lines changed

frontend/app/[locale]/setup/models/components/model/ModelAddDialog.tsx

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,26 @@ export const ModelAddDialog = ({ isOpen, onClose, onSuccess }: ModelAddDialogPro
3232
const { t } = useTranslation()
3333
const { message } = App.useApp()
3434
const { updateModelConfig } = useConfig()
35+
36+
// Parse backend error message and return i18n key with params
37+
const parseModelError = (errorMessage: string): { key: string; params?: Record<string, string> } => {
38+
if (!errorMessage) {
39+
return { key: 'model.dialog.error.addFailed' }
40+
}
41+
42+
// Check for name conflict error
43+
const nameConflictMatch = errorMessage.match(/Name ['"]?([^'"]+)['"]? is already in use/i)
44+
if (nameConflictMatch) {
45+
return {
46+
key: 'model.dialog.error.nameConflict',
47+
params: { name: nameConflictMatch[1] }
48+
}
49+
}
50+
51+
// For other errors, return generic error key without showing backend details
52+
return { key: 'model.dialog.error.addFailed' }
53+
}
54+
3555
const [form, setForm] = useState({
3656
type: MODEL_TYPES.LLM as ModelType,
3757
name: "",
@@ -211,7 +231,8 @@ export const ModelAddDialog = ({ isOpen, onClose, onSuccess }: ModelAddDialogPro
211231
onSuccess()
212232
}
213233
} catch (error: any) {
214-
message.error(error?.message || '添加模型失败');
234+
const errorInfo = parseModelError(error?.message || '')
235+
message.error(t(errorInfo.key, errorInfo.params))
215236
}
216237

217238
setForm(prev => ({
@@ -354,7 +375,9 @@ export const ModelAddDialog = ({ isOpen, onClose, onSuccess }: ModelAddDialogPro
354375
// Close the dialog
355376
onClose()
356377
} catch (error) {
357-
message.error(t('model.dialog.error.addFailed', { error }))
378+
const errorMessage = error instanceof Error ? error.message : String(error)
379+
const errorInfo = parseModelError(errorMessage)
380+
message.error(t(errorInfo.key, errorInfo.params))
358381
log.error(t('model.dialog.error.addFailedLog'), error)
359382
} finally {
360383
setLoading(false)

frontend/public/locales/en/common.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@
560560
"model.dialog.status.verifying": "Verifying model connectivity...",
561561
"model.dialog.success.connectivityVerified": "Model connectivity verification successful!",
562562
"model.dialog.error.connectivityRequired": "Please verify model connectivity and ensure connection is successful before adding the model",
563-
"model.dialog.error.addFailed": "Failed to add model: {{error}}",
563+
"model.dialog.error.addFailed": "Failed to add model",
564564
"model.dialog.error.addFailedLog": "Failed to add model",
565565
"model.dialog.error.noModelsFetched": "Please check your API key and network connectivity",
566566
"model.dialog.message.noModels": "Please fetch models first",

frontend/public/locales/zh/common.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@
560560
"model.dialog.warning.incompleteForm": "请先填写完整的模型配置信息",
561561
"model.dialog.status.verifying": "正在验证模型连通性...",
562562
"model.dialog.error.connectivityRequired": "请先验证模型连通性且确保连接成功后再添加模型",
563-
"model.dialog.error.addFailed": "添加模型失败:{{error}}",
563+
"model.dialog.error.addFailed": "添加模型失败",
564564
"model.dialog.error.addFailedLog": "添加模型失败",
565565
"model.dialog.error.noModelsFetched": "请检查相关API Key以及网络连通性",
566566
"model.dialog.message.noModels": "请先获取模型",

0 commit comments

Comments
 (0)