feat(settings): Improve Extra Folder Paths UX with restart indicators

- Replace tooltip with restart-required icon for better visibility
- Update descriptions to accurately reflect feature purpose
- Fix toast message to show correct restart notification
- Sync i18n keys across all supported languages
This commit is contained in:
Will Miao
2026-04-02 08:55:30 +08:00
parent 4dd2c0526f
commit 3e9210394a
13 changed files with 33 additions and 32 deletions

1
.gitignore vendored
View File

@@ -15,6 +15,7 @@ model_cache/
# agent # agent
.opencode/ .opencode/
.claude/ .claude/
.codex
# Vue widgets development cache (but keep build output) # Vue widgets development cache (but keep build output)
vue-widgets/node_modules/ vue-widgets/node_modules/

View File

@@ -393,8 +393,8 @@
}, },
"extraFolderPaths": { "extraFolderPaths": {
"title": "Zusätzliche Ordnerpfade", "title": "Zusätzliche Ordnerpfade",
"help": "Fügen Sie zusätzliche Modellordner außerhalb der Standardpfade von ComfyUI hinzu. Diese Pfade werden separat gespeichert und zusammen mit den Standardordnern gescannt.", "description": "Zusätzliche Modellstammverzeichnisse, die ausschließlich für LoRA Manager gelten. Laden Sie Modelle von Speicherorten außerhalb der Standardordner von ComfyUI ideal für große Bibliotheken, die ComfyUI sonst verlangsamen würden.",
"description": "Konfigurieren Sie zusätzliche Ordner zum Scannen von Modellen. Diese Pfade sind spezifisch für LoRA Manager und werden mit den Standardpfaden von ComfyUI zusammengeführt.", "restartRequired": "Requires restart to take effect",
"modelTypes": { "modelTypes": {
"lora": "LoRA-Pfade", "lora": "LoRA-Pfade",
"checkpoint": "Checkpoint-Pfade", "checkpoint": "Checkpoint-Pfade",
@@ -402,7 +402,7 @@
"embedding": "Embedding-Pfade" "embedding": "Embedding-Pfade"
}, },
"pathPlaceholder": "/pfad/zu/extra/modellen", "pathPlaceholder": "/pfad/zu/extra/modellen",
"saveSuccess": "Zusätzliche Ordnerpfade aktualisiert.", "saveSuccess": "Zusätzliche Ordnerpfade aktualisiert. Neustart erforderlich, um Änderungen anzuwenden.",
"saveError": "Fehler beim Aktualisieren der zusätzlichen Ordnerpfade: {message}", "saveError": "Fehler beim Aktualisieren der zusätzlichen Ordnerpfade: {message}",
"validation": { "validation": {
"duplicatePath": "Dieser Pfad ist bereits konfiguriert" "duplicatePath": "Dieser Pfad ist bereits konfiguriert"

View File

@@ -393,8 +393,8 @@
}, },
"extraFolderPaths": { "extraFolderPaths": {
"title": "Extra Folder Paths", "title": "Extra Folder Paths",
"help": "Add additional model folders outside of ComfyUI's standard paths. These paths are stored separately and scanned alongside the default folders.", "description": "Additional model root paths exclusive to LoRA Manager. Load models from locations outside ComfyUI's standard folders—ideal for large libraries that would otherwise slow down ComfyUI.",
"description": "Configure additional folders to scan for models. These paths are specific to LoRA Manager and will be merged with ComfyUI's default paths.", "restartRequired": "Requires restart to take effect",
"modelTypes": { "modelTypes": {
"lora": "LoRA Paths", "lora": "LoRA Paths",
"checkpoint": "Checkpoint Paths", "checkpoint": "Checkpoint Paths",
@@ -402,7 +402,7 @@
"embedding": "Embedding Paths" "embedding": "Embedding Paths"
}, },
"pathPlaceholder": "/path/to/extra/models", "pathPlaceholder": "/path/to/extra/models",
"saveSuccess": "Extra folder paths updated.", "saveSuccess": "Extra folder paths updated. Restart required to apply changes.",
"saveError": "Failed to update extra folder paths: {message}", "saveError": "Failed to update extra folder paths: {message}",
"validation": { "validation": {
"duplicatePath": "This path is already configured" "duplicatePath": "This path is already configured"

View File

@@ -393,8 +393,8 @@
}, },
"extraFolderPaths": { "extraFolderPaths": {
"title": "Rutas de carpetas adicionales", "title": "Rutas de carpetas adicionales",
"help": "Agregue carpetas de modelos adicionales fuera de las rutas estándar de ComfyUI. Estas rutas se almacenan por separado y se escanean junto con las carpetas predeterminadas.", "description": "Rutas raíz de modelos adicionales exclusivas para LoRA Manager. Cargue modelos desde ubicaciones fuera de las carpetas estándar de ComfyUI, ideal para bibliotecas grandes que de otro modo ralentizarían ComfyUI.",
"description": "Configure carpetas adicionales para escanear modelos. Estas rutas son específicas de LoRA Manager y se fusionarán con las rutas predeterminadas de ComfyUI.", "restartRequired": "Requires restart to take effect",
"modelTypes": { "modelTypes": {
"lora": "Rutas de LoRA", "lora": "Rutas de LoRA",
"checkpoint": "Rutas de Checkpoint", "checkpoint": "Rutas de Checkpoint",
@@ -402,7 +402,7 @@
"embedding": "Rutas de Embedding" "embedding": "Rutas de Embedding"
}, },
"pathPlaceholder": "/ruta/a/modelos/extra", "pathPlaceholder": "/ruta/a/modelos/extra",
"saveSuccess": "Rutas de carpetas adicionales actualizadas.", "saveSuccess": "Rutas de carpetas adicionales actualizadas. Se requiere reinicio para aplicar los cambios.",
"saveError": "Error al actualizar las rutas de carpetas adicionales: {message}", "saveError": "Error al actualizar las rutas de carpetas adicionales: {message}",
"validation": { "validation": {
"duplicatePath": "Esta ruta ya está configurada" "duplicatePath": "Esta ruta ya está configurada"

View File

@@ -393,8 +393,8 @@
}, },
"extraFolderPaths": { "extraFolderPaths": {
"title": "Chemins de dossiers supplémentaires", "title": "Chemins de dossiers supplémentaires",
"help": "Ajoutez des dossiers de modèles supplémentaires en dehors des chemins standard de ComfyUI. Ces chemins sont stockés séparément et analysés aux côtés des dossiers par défaut.", "description": "Chemins racine de modèles supplémentaires exclusifs à LoRA Manager. Chargez des modèles depuis des emplacements en dehors des dossiers standard de ComfyUI, idéal pour les grandes bibliothèques qui ralentiraient autrement ComfyUI.",
"description": "Configurez des dossiers supplémentaires pour l'analyse de modèles. Ces chemins sont spécifiques à LoRA Manager et seront fusionnés avec les chemins par défaut de ComfyUI.", "restartRequired": "Requires restart to take effect",
"modelTypes": { "modelTypes": {
"lora": "Chemins LoRA", "lora": "Chemins LoRA",
"checkpoint": "Chemins Checkpoint", "checkpoint": "Chemins Checkpoint",
@@ -402,7 +402,7 @@
"embedding": "Chemins Embedding" "embedding": "Chemins Embedding"
}, },
"pathPlaceholder": "/chemin/vers/modèles/supplémentaires", "pathPlaceholder": "/chemin/vers/modèles/supplémentaires",
"saveSuccess": "Chemins de dossiers supplémentaires mis à jour.", "saveSuccess": "Chemins de dossiers supplémentaires mis à jour. Redémarrage requis pour appliquer les changements.",
"saveError": "Échec de la mise à jour des chemins de dossiers supplémentaires: {message}", "saveError": "Échec de la mise à jour des chemins de dossiers supplémentaires: {message}",
"validation": { "validation": {
"duplicatePath": "Ce chemin est déjà configuré" "duplicatePath": "Ce chemin est déjà configuré"

View File

@@ -393,8 +393,8 @@
}, },
"extraFolderPaths": { "extraFolderPaths": {
"title": "נתיבי תיקיות נוספים", "title": "נתיבי תיקיות נוספים",
"help": "הוסף תיקיות מודלים נוספות מחוץ לנתיבים הסטנדרטיים של ComfyUI. נתיבים אלה נשמרים בנפרד ונסרקים לצד תיקיות ברירת המחדל.", "description": "נתיבי שורש מודלים נוספים בלעדיים ל-LoRA Manager. טען מודלים ממיקומים מחוץ לתיקיות הסטנדרטיות של ComfyUI - אידיאלי לספריות גדולות שאחרת יאטו את ComfyUI.",
"description": "הגדר תיקיות נוספות לסריקת מודלים. נתיבים אלה ספציפיים ל-LoRA Manager וימוזגו עם נתיבי ברירת המחדל של ComfyUI.", "restartRequired": "Requires restart to take effect",
"modelTypes": { "modelTypes": {
"lora": "נתיבי LoRA", "lora": "נתיבי LoRA",
"checkpoint": "נתיבי Checkpoint", "checkpoint": "נתיבי Checkpoint",
@@ -402,7 +402,7 @@
"embedding": "נתיבי Embedding" "embedding": "נתיבי Embedding"
}, },
"pathPlaceholder": "/נתיב/למודלים/נוספים", "pathPlaceholder": "/נתיב/למודלים/נוספים",
"saveSuccess": "נתיבי תיקיות נוספים עודכנו.", "saveSuccess": "נתיבי תיקיות נוספים עודכנו. נדרשת הפעלה מחדש כדי להחיל את השינויים.",
"saveError": "נכשל בעדכון נתיבי תיקיות נוספים: {message}", "saveError": "נכשל בעדכון נתיבי תיקיות נוספים: {message}",
"validation": { "validation": {
"duplicatePath": "נתיב זה כבר מוגדר" "duplicatePath": "נתיב זה כבר מוגדר"

View File

@@ -393,8 +393,8 @@
}, },
"extraFolderPaths": { "extraFolderPaths": {
"title": "追加フォルダーパス", "title": "追加フォルダーパス",
"help": "ComfyUIの標準パスの外部に追加のモデルフォルダを追加します。これらのパスは別々に保存され、デフォルトのフォルダと一緒にスキャンされます。", "description": "LoRA Manager専用の追加モデルルートパス。ComfyUIの標準フォルダー外の場所からモデルを読み込みます。ComfyUIの動作を低下させる可能性のある大規模ライブラリに最適です。",
"description": "モデルをスキャンするための追加フォルダを設定します。これらのパスはLoRA Manager固有であり、ComfyUIのデフォルトパスとマージされます。", "restartRequired": "Requires restart to take effect",
"modelTypes": { "modelTypes": {
"lora": "LoRAパス", "lora": "LoRAパス",
"checkpoint": "Checkpointパス", "checkpoint": "Checkpointパス",
@@ -402,7 +402,7 @@
"embedding": "Embeddingパス" "embedding": "Embeddingパス"
}, },
"pathPlaceholder": "/追加モデルへのパス", "pathPlaceholder": "/追加モデルへのパス",
"saveSuccess": "追加フォルダーパスを更新しました。", "saveSuccess": "追加フォルダーパスを更新しました。変更を適用するには再起動が必要です。",
"saveError": "追加フォルダーパスの更新に失敗しました: {message}", "saveError": "追加フォルダーパスの更新に失敗しました: {message}",
"validation": { "validation": {
"duplicatePath": "このパスはすでに設定されています" "duplicatePath": "このパスはすでに設定されています"

View File

@@ -393,8 +393,8 @@
}, },
"extraFolderPaths": { "extraFolderPaths": {
"title": "추가 폴다 경로", "title": "추가 폴다 경로",
"help": "ComfyUI의 표준 경로 외부에 추가 모델 폴드를 추가하세요. 이러한 경로는 별도로 저장되며 기본 폴와 함께 스캔됩니다.", "description": "LoRA Manager 전용 추가 모델 루트 경로입니다. ComfyUI의 표준 폴더 외부 위치에서 모델을 로드하여 대규모 라이브러리로 인한 성능 저하를 방지합니다.",
"description": "모델을 스캔하기 위한 추가 폴를 설정하세요. 이러한 경로는 LoRA Manager 특유의 것이며 ComfyUI의 기본 경로와 병합됩니다.", "restartRequired": "Requires restart to take effect",
"modelTypes": { "modelTypes": {
"lora": "LoRA 경로", "lora": "LoRA 경로",
"checkpoint": "Checkpoint 경로", "checkpoint": "Checkpoint 경로",
@@ -402,7 +402,7 @@
"embedding": "Embedding 경로" "embedding": "Embedding 경로"
}, },
"pathPlaceholder": "/추가/모델/경로", "pathPlaceholder": "/추가/모델/경로",
"saveSuccess": "추가 폴다 경로가 업데이트되었습니다.", "saveSuccess": "추가 폴다 경로가 업데이트되었습니다. 변경 사항을 적용하려면 재시작이 필요합니다.",
"saveError": "추가 폴다 경로 업데이트 실패: {message}", "saveError": "추가 폴다 경로 업데이트 실패: {message}",
"validation": { "validation": {
"duplicatePath": "이 경로는 이미 구성되어 있습니다" "duplicatePath": "이 경로는 이미 구성되어 있습니다"

View File

@@ -393,8 +393,8 @@
}, },
"extraFolderPaths": { "extraFolderPaths": {
"title": "Дополнительные пути к папкам", "title": "Дополнительные пути к папкам",
"help": "Добавьте дополнительные папки моделей за пределами стандартных путей ComfyUI. Эти пути хранятся отдельно и сканируются вместе с папками по умолчанию.", "description": "Дополнительные корневые пути моделей, эксклюзивные для LoRA Manager. Загружайте модели из расположений за пределами стандартных папок ComfyUI — идеально подходит для больших библиотек, которые иначе замедлили бы ComfyUI.",
"description": "Настройте дополнительные папки для сканирования моделей. Эти пути специфичны для LoRA Manager и будут объединены с путями по умолчанию ComfyUI.", "restartRequired": "Requires restart to take effect",
"modelTypes": { "modelTypes": {
"lora": "Пути LoRA", "lora": "Пути LoRA",
"checkpoint": "Пути Checkpoint", "checkpoint": "Пути Checkpoint",
@@ -402,7 +402,7 @@
"embedding": "Пути Embedding" "embedding": "Пути Embedding"
}, },
"pathPlaceholder": "/путь/к/дополнительным/моделям", "pathPlaceholder": "/путь/к/дополнительным/моделям",
"saveSuccess": "Дополнительные пути к папкам обновлены.", "saveSuccess": "Дополнительные пути к папкам обновлены. Требуется перезапуск для применения изменений.",
"saveError": "Не удалось обновить дополнительные пути к папкам: {message}", "saveError": "Не удалось обновить дополнительные пути к папкам: {message}",
"validation": { "validation": {
"duplicatePath": "Этот путь уже настроен" "duplicatePath": "Этот путь уже настроен"

View File

@@ -393,8 +393,8 @@
}, },
"extraFolderPaths": { "extraFolderPaths": {
"title": "额外文件夹路径", "title": "额外文件夹路径",
"help": "在 ComfyUI 标准路径之外添加额外的模型文件夹。这些路径单独存储,并与默认文件夹一起扫描。", "description": "LoRA Manager 专属的额外模型根目录。从 ComfyUI 标准文件夹之外的位置加载模型,特别适合管理大型模型库,避免影响 ComfyUI 性能。",
"description": "配置额外的文件夹以扫描模型。这些路径是 LoRA Manager 特有的,将与 ComfyUI 的默认路径合并。", "restartRequired": "需要重启才能生效",
"modelTypes": { "modelTypes": {
"lora": "LoRA 路径", "lora": "LoRA 路径",
"checkpoint": "Checkpoint 路径", "checkpoint": "Checkpoint 路径",
@@ -402,7 +402,7 @@
"embedding": "Embedding 路径" "embedding": "Embedding 路径"
}, },
"pathPlaceholder": "/额外/模型/路径", "pathPlaceholder": "/额外/模型/路径",
"saveSuccess": "额外文件夹路径已更新。", "saveSuccess": "额外文件夹路径已更新,需要重启才能生效。",
"saveError": "更新额外文件夹路径失败:{message}", "saveError": "更新额外文件夹路径失败:{message}",
"validation": { "validation": {
"duplicatePath": "此路径已配置" "duplicatePath": "此路径已配置"

View File

@@ -393,8 +393,8 @@
}, },
"extraFolderPaths": { "extraFolderPaths": {
"title": "額外資料夾路徑", "title": "額外資料夾路徑",
"help": "在 ComfyUI 標準路徑之外新增額外的模型資料夾。這些路徑單獨儲存,並與預設資料夾一起掃描。", "description": "LoRA Manager 專屬的額外模型根目錄。從 ComfyUI 標準資料夾之外的位置載入模型,特別適合管理大型模型庫,避免影響 ComfyUI 效能。",
"description": "設定額外的資料夾以掃描模型。這些路徑是 LoRA Manager 特有的,將與 ComfyUI 的預設路徑合併。", "restartRequired": "Requires restart to take effect",
"modelTypes": { "modelTypes": {
"lora": "LoRA 路徑", "lora": "LoRA 路徑",
"checkpoint": "Checkpoint 路徑", "checkpoint": "Checkpoint 路徑",
@@ -402,7 +402,7 @@
"embedding": "Embedding 路徑" "embedding": "Embedding 路徑"
}, },
"pathPlaceholder": "/額外/模型/路徑", "pathPlaceholder": "/額外/模型/路徑",
"saveSuccess": "額外資料夾路徑已更新。", "saveSuccess": "額外資料夾路徑已更新,需要重啟才能生效。",
"saveError": "更新額外資料夾路徑失敗:{message}", "saveError": "更新額外資料夾路徑失敗:{message}",
"validation": { "validation": {
"duplicatePath": "此路徑已設定" "duplicatePath": "此路徑已設定"

View File

@@ -1461,7 +1461,7 @@ export class SettingsManager {
try { try {
// Save to backend - this triggers path validation // Save to backend - this triggers path validation
await this.saveSetting('extra_folder_paths', extraFolderPaths); await this.saveSetting('extra_folder_paths', extraFolderPaths);
showToast('toast.settings.settingsUpdated', { setting: 'Extra Folder Paths' }, 'success'); showToast('settings.extraFolderPaths.saveSuccess', {}, 'success');
// Add empty row if no valid paths exist for the changed type // Add empty row if no valid paths exist for the changed type
const container = document.getElementById(`extraFolderPaths-${changedModelType}`); const container = document.getElementById(`extraFolderPaths-${changedModelType}`);

View File

@@ -537,7 +537,7 @@
<div class="settings-subsection-header"> <div class="settings-subsection-header">
<h4> <h4>
{{ t('settings.extraFolderPaths.title') }} {{ t('settings.extraFolderPaths.title') }}
<i class="fas fa-info-circle info-icon" data-tooltip="{{ t('settings.extraFolderPaths.help') }}"></i> <i class="fas fa-sync-alt restart-required-icon" title="{{ t('settings.extraFolderPaths.restartRequired') }}"></i>
</h4> </h4>
</div> </div>
<div class="setting-item"> <div class="setting-item">