feat(doctor): improve duplicate filename conflict UX with confirm modal, syntax-format nav, and i18n

- Remove [LoRAs] prefix noise from conflict detail display
- Limit inline conflict groups to 5, show remainder count
- Add 'Switch to Full Path Syntax' action in conflict card
- Add confirmation modal before resolving conflicts (shows rename strategy)
- Register resolveFilenameConflictsModal in ModalManager (fix no-op showModal)
- Switch to Interface section and add highlight animation on syntax-format nav
- Sync and translate conflictConfirm strings across all 10 locales
This commit is contained in:
Will Miao
2026-05-25 21:25:35 +08:00
parent 397892bb7f
commit 1044fa3c83
16 changed files with 256 additions and 5 deletions

View File

@@ -1941,6 +1941,13 @@
"conflictsResolveFailed": "Auflösung der Dateinamenskonflikte fehlgeschlagen: {message}"
}
},
"conflictConfirm": {
"title": "Dateinamenskonflikte auflösen",
"message": "Umbenennen durch Anhängen eines 4-stelligen Hashs an jeden doppelten Dateinamen.",
"note": "Dieser Vorgang benennt Dateien auf der Festplatte um. Modellreferenzen in vorhandenen Workflows müssen möglicherweise aktualisiert werden, wenn Sie das A1111-Syntaxformat verwenden.",
"confirm": "Dateien umbenennen",
"cancel": "Abbrechen"
},
"banners": {
"versionMismatch": {
"title": "Anwendungs-Update erkannt",

View File

@@ -1941,6 +1941,13 @@
"conflictsResolveFailed": "Failed to resolve filename conflicts: {message}"
}
},
"conflictConfirm": {
"title": "Resolve Filename Conflicts",
"message": "Renaming by appending a 4-character hash to each duplicate filename.",
"note": "This operation renames files on disk. Model references in existing workflows may need updating if you use the A1111 syntax format.",
"confirm": "Rename Files",
"cancel": "Cancel"
},
"banners": {
"versionMismatch": {
"title": "Application Update Detected",

View File

@@ -1941,6 +1941,13 @@
"conflictsResolveFailed": "Error al resolver conflictos de nombre de archivo: {message}"
}
},
"conflictConfirm": {
"title": "Resolver conflictos de nombres de archivo",
"message": "Renombrar añadiendo un hash de 4 caracteres a cada nombre de archivo duplicado.",
"note": "Esta operación renombra archivos en el disco. Es posible que las referencias a modelos en flujos de trabajo existentes deban actualizarse si usas el formato de sintaxis A1111.",
"confirm": "Renombrar archivos",
"cancel": "Cancelar"
},
"banners": {
"versionMismatch": {
"title": "Actualización de la aplicación detectada",

View File

@@ -1941,6 +1941,13 @@
"conflictsResolveFailed": "Échec de la résolution des conflits de nom de fichier : {message}"
}
},
"conflictConfirm": {
"title": "Résoudre les conflits de noms de fichiers",
"message": "Renommer en ajoutant un hachage de 4 caractères à chaque nom de fichier en double.",
"note": "Cette opération renomme les fichiers sur le disque. Les références de modèle dans les workflows existants peuvent nécessiter une mise à jour si vous utilisez le format de syntaxe A1111.",
"confirm": "Renommer les fichiers",
"cancel": "Annuler"
},
"banners": {
"versionMismatch": {
"title": "Mise à jour de l'application détectée",

View File

@@ -1941,6 +1941,13 @@
"conflictsResolveFailed": "פתרון התנגשויות שמות קבצים נכשל: {message}"
}
},
"conflictConfirm": {
"title": "פתור התנגשויות בשמות קבצים",
"message": "שינוי שם על ידי הוספת האש באורך 4 תווים לכל שם קובץ כפול.",
"note": "פעולה זו משנה שמות של קבצים בדיסק. ייתכן שיהיה צורך לעדכן הפניות למודלים בזרימות עבודה קיימות אם אתה משתמש בפורמט התחביר A1111.",
"confirm": "שנה שמות קבצים",
"cancel": "ביטול"
},
"banners": {
"versionMismatch": {
"title": "זוהה עדכון יישום",

View File

@@ -1941,6 +1941,13 @@
"conflictsResolveFailed": "ファイル名競合の解決に失敗しました: {message}"
}
},
"conflictConfirm": {
"title": "ファイル名の競合を解決",
"message": "重複したファイル名に4文字のハッシュを追加してリネームします。",
"note": "この操作はディスク上のファイルをリネームします。A1111 構文形式を使用している場合、既存のワークフロー内のモデル参照を更新する必要があるかもしれません。",
"confirm": "ファイルをリネーム",
"cancel": "キャンセル"
},
"banners": {
"versionMismatch": {
"title": "アプリケーション更新が検出されました",

View File

@@ -1941,6 +1941,13 @@
"conflictsResolveFailed": "파일명 충돌 해결 실패: {message}"
}
},
"conflictConfirm": {
"title": "파일명 충돌 해결",
"message": "중복 파일명에 4자리 해시를 추가하여 이름을 변경합니다.",
"note": "이 작업은 디스크에 있는 파일의 이름을 변경합니다. A1111 구문 형식을 사용하는 경우 기존 워크플로우의 모델 참조를 업데이트해야 할 수 있습니다.",
"confirm": "파일 이름 변경",
"cancel": "취소"
},
"banners": {
"versionMismatch": {
"title": "애플리케이션 업데이트 감지",

View File

@@ -1941,6 +1941,13 @@
"conflictsResolveFailed": "Не удалось разрешить конфликты имён файлов: {message}"
}
},
"conflictConfirm": {
"title": "Разрешить конфликты имён файлов",
"message": "Переименование с добавлением 4-символьного хеша к каждому дублирующемуся имени файла.",
"note": "Эта операция переименовывает файлы на диске. Если вы используете синтаксис A1111, ссылки на модели в существующих рабочих процессах могут потребовать обновления.",
"confirm": "Переименовать файлы",
"cancel": "Отмена"
},
"banners": {
"versionMismatch": {
"title": "Обнаружено обновление приложения",

View File

@@ -1941,6 +1941,13 @@
"conflictsResolveFailed": "解决文件名冲突失败:{message}"
}
},
"conflictConfirm": {
"title": "解决文件名冲突",
"message": "通过在每个重复文件名后附加 4 位哈希值来重命名文件。",
"note": "此操作会重命名磁盘上的文件。如果使用 A1111 语法格式,现有工作流中的模型引用可能需要更新。",
"confirm": "重命名文件",
"cancel": "取消"
},
"banners": {
"versionMismatch": {
"title": "检测到应用更新",

View File

@@ -1941,6 +1941,13 @@
"conflictsResolveFailed": "解決檔案名稱衝突失敗:{message}"
}
},
"conflictConfirm": {
"title": "解決檔案名稱衝突",
"message": "通過在每個重複檔案名稱後附加 4 位元哈希值來重新命名檔案。",
"note": "此操作會重新命名磁碟上的檔案。如果使用 A1111 語法格式,現有工作流程中的模型參考可能需要更新。",
"confirm": "重新命名檔案",
"cancel": "取消"
},
"banners": {
"versionMismatch": {
"title": "偵測到應用程式更新",