feat(i18n): add new UI text for model management features

Add localization strings for new model management functionality:
- Copy checkpoint and embedding name actions
- Send checkpoint and embedding to ComfyUI workflow
- Error messages for missing model paths and workflow compatibility
- Node selection validation messages

These additions support upcoming features for better model handling and workflow integration.
This commit is contained in:
Will Miao
2025-10-23 11:11:13 +08:00
parent d0aa916683
commit 449c1e9d10
10 changed files with 100 additions and 30 deletions

View File

@@ -102,7 +102,11 @@
"toggleBlur": "Unschärfe umschalten", "toggleBlur": "Unschärfe umschalten",
"show": "Anzeigen", "show": "Anzeigen",
"openExampleImages": "Beispielbilder-Ordner öffnen", "openExampleImages": "Beispielbilder-Ordner öffnen",
"replacePreview": "Vorschau ersetzen" "replacePreview": "Vorschau ersetzen",
"copyCheckpointName": "Checkpoint-Name kopieren",
"copyEmbeddingName": "Embedding-Name kopieren",
"sendCheckpointToWorkflow": "An ComfyUI senden",
"sendEmbeddingToWorkflow": "An ComfyUI senden"
}, },
"nsfw": { "nsfw": {
"matureContent": "Nicht jugendfreie Inhalte", "matureContent": "Nicht jugendfreie Inhalte",
@@ -116,7 +120,8 @@
"updateFailed": "Fehler beim Aktualisieren des Favoriten-Status" "updateFailed": "Fehler beim Aktualisieren des Favoriten-Status"
}, },
"sendToWorkflow": { "sendToWorkflow": {
"checkpointNotImplemented": "Checkpoint an Workflow senden - Funktion wird implementiert" "checkpointNotImplemented": "Checkpoint an Workflow senden - Funktion wird implementiert",
"missingPath": "Modellpfad für diese Karte konnte nicht ermittelt werden"
}, },
"exampleImages": { "exampleImages": {
"checkError": "Fehler beim Überprüfen der Beispielbilder", "checkError": "Fehler beim Überprüfen der Beispielbilder",
@@ -951,7 +956,9 @@
"loraFailedToSend": "Fehler beim Senden der LoRA an den Workflow", "loraFailedToSend": "Fehler beim Senden der LoRA an den Workflow",
"recipeAdded": "Rezept zum Workflow hinzugefügt", "recipeAdded": "Rezept zum Workflow hinzugefügt",
"recipeReplaced": "Rezept im Workflow ersetzt", "recipeReplaced": "Rezept im Workflow ersetzt",
"recipeFailedToSend": "Fehler beim Senden des Rezepts an den Workflow" "recipeFailedToSend": "Fehler beim Senden des Rezepts an den Workflow",
"noMatchingNodes": "Keine kompatiblen Knoten im aktuellen Workflow verfügbar",
"noTargetNodeSelected": "Kein Zielknoten ausgewählt"
}, },
"nodeSelector": { "nodeSelector": {
"recipe": "Rezept", "recipe": "Rezept",

View File

@@ -102,7 +102,11 @@
"toggleBlur": "Toggle blur", "toggleBlur": "Toggle blur",
"show": "Show", "show": "Show",
"openExampleImages": "Open Example Images Folder", "openExampleImages": "Open Example Images Folder",
"replacePreview": "Replace Preview" "replacePreview": "Replace Preview",
"copyCheckpointName": "Copy checkpoint name",
"copyEmbeddingName": "Copy embedding name",
"sendCheckpointToWorkflow": "Send to ComfyUI",
"sendEmbeddingToWorkflow": "Send to ComfyUI"
}, },
"nsfw": { "nsfw": {
"matureContent": "Mature Content", "matureContent": "Mature Content",
@@ -116,7 +120,8 @@
"updateFailed": "Failed to update favorite status" "updateFailed": "Failed to update favorite status"
}, },
"sendToWorkflow": { "sendToWorkflow": {
"checkpointNotImplemented": "Send checkpoint to workflow - feature to be implemented" "checkpointNotImplemented": "Send checkpoint to workflow - feature to be implemented",
"missingPath": "Unable to determine model path for this card"
}, },
"exampleImages": { "exampleImages": {
"checkError": "Error checking for example images", "checkError": "Error checking for example images",
@@ -950,7 +955,9 @@
"loraFailedToSend": "Failed to send LoRA to workflow", "loraFailedToSend": "Failed to send LoRA to workflow",
"recipeAdded": "Recipe appended to workflow", "recipeAdded": "Recipe appended to workflow",
"recipeReplaced": "Recipe replaced in workflow", "recipeReplaced": "Recipe replaced in workflow",
"recipeFailedToSend": "Failed to send recipe to workflow" "recipeFailedToSend": "Failed to send recipe to workflow",
"noMatchingNodes": "No compatible nodes available in the current workflow",
"noTargetNodeSelected": "No target node selected"
}, },
"nodeSelector": { "nodeSelector": {
"recipe": "Recipe", "recipe": "Recipe",

View File

@@ -102,7 +102,11 @@
"toggleBlur": "Alternar difuminado", "toggleBlur": "Alternar difuminado",
"show": "Mostrar", "show": "Mostrar",
"openExampleImages": "Abrir carpeta de imágenes de ejemplo", "openExampleImages": "Abrir carpeta de imágenes de ejemplo",
"replacePreview": "Reemplazar vista previa" "replacePreview": "Reemplazar vista previa",
"copyCheckpointName": "Copiar nombre del checkpoint",
"copyEmbeddingName": "Copiar nombre del embedding",
"sendCheckpointToWorkflow": "Enviar a ComfyUI",
"sendEmbeddingToWorkflow": "Enviar a ComfyUI"
}, },
"nsfw": { "nsfw": {
"matureContent": "Contenido para adultos", "matureContent": "Contenido para adultos",
@@ -116,7 +120,8 @@
"updateFailed": "Error al actualizar estado de favoritos" "updateFailed": "Error al actualizar estado de favoritos"
}, },
"sendToWorkflow": { "sendToWorkflow": {
"checkpointNotImplemented": "Enviar checkpoint al flujo de trabajo - función por implementar" "checkpointNotImplemented": "Enviar checkpoint al flujo de trabajo - función por implementar",
"missingPath": "No se puede determinar la ruta del modelo para esta tarjeta"
}, },
"exampleImages": { "exampleImages": {
"checkError": "Error al verificar imágenes de ejemplo", "checkError": "Error al verificar imágenes de ejemplo",
@@ -950,7 +955,9 @@
"loraFailedToSend": "Error al enviar LoRA al flujo de trabajo", "loraFailedToSend": "Error al enviar LoRA al flujo de trabajo",
"recipeAdded": "Receta añadida al flujo de trabajo", "recipeAdded": "Receta añadida al flujo de trabajo",
"recipeReplaced": "Receta reemplazada en el flujo de trabajo", "recipeReplaced": "Receta reemplazada en el flujo de trabajo",
"recipeFailedToSend": "Error al enviar receta al flujo de trabajo" "recipeFailedToSend": "Error al enviar receta al flujo de trabajo",
"noMatchingNodes": "No hay nodos compatibles disponibles en el flujo de trabajo actual",
"noTargetNodeSelected": "No se ha seleccionado ningún nodo de destino"
}, },
"nodeSelector": { "nodeSelector": {
"recipe": "Receta", "recipe": "Receta",

View File

@@ -102,7 +102,11 @@
"toggleBlur": "Basculer le flou", "toggleBlur": "Basculer le flou",
"show": "Afficher", "show": "Afficher",
"openExampleImages": "Ouvrir le dossier d'images d'exemple", "openExampleImages": "Ouvrir le dossier d'images d'exemple",
"replacePreview": "Remplacer l'aperçu" "replacePreview": "Remplacer l'aperçu",
"copyCheckpointName": "Copier le nom du checkpoint",
"copyEmbeddingName": "Copier le nom de l'embedding",
"sendCheckpointToWorkflow": "Envoyer vers ComfyUI",
"sendEmbeddingToWorkflow": "Envoyer vers ComfyUI"
}, },
"nsfw": { "nsfw": {
"matureContent": "Contenu pour adultes", "matureContent": "Contenu pour adultes",
@@ -116,7 +120,8 @@
"updateFailed": "Échec de la mise à jour du statut des favoris" "updateFailed": "Échec de la mise à jour du statut des favoris"
}, },
"sendToWorkflow": { "sendToWorkflow": {
"checkpointNotImplemented": "Envoyer le checkpoint vers le workflow - fonctionnalité à implémenter" "checkpointNotImplemented": "Envoyer le checkpoint vers le workflow - fonctionnalité à implémenter",
"missingPath": "Impossible de déterminer le chemin du modèle pour cette carte"
}, },
"exampleImages": { "exampleImages": {
"checkError": "Erreur lors de la vérification des images d'exemple", "checkError": "Erreur lors de la vérification des images d'exemple",
@@ -950,7 +955,9 @@
"loraFailedToSend": "Échec de l'envoi du LoRA au workflow", "loraFailedToSend": "Échec de l'envoi du LoRA au workflow",
"recipeAdded": "Recipe ajoutée au workflow", "recipeAdded": "Recipe ajoutée au workflow",
"recipeReplaced": "Recipe remplacée dans le workflow", "recipeReplaced": "Recipe remplacée dans le workflow",
"recipeFailedToSend": "Échec de l'envoi de la recipe au workflow" "recipeFailedToSend": "Échec de l'envoi de la recipe au workflow",
"noMatchingNodes": "Aucun nœud compatible disponible dans le workflow actuel",
"noTargetNodeSelected": "Aucun nœud cible sélectionné"
}, },
"nodeSelector": { "nodeSelector": {
"recipe": "Recipe", "recipe": "Recipe",

View File

@@ -102,7 +102,11 @@
"toggleBlur": "הפעל/כבה טשטוש", "toggleBlur": "הפעל/כבה טשטוש",
"show": "הצג", "show": "הצג",
"openExampleImages": "פתח תיקיית תמונות דוגמה", "openExampleImages": "פתח תיקיית תמונות דוגמה",
"replacePreview": "החלף תצוגה מקדימה" "replacePreview": "החלף תצוגה מקדימה",
"copyCheckpointName": "העתק שם Checkpoint",
"copyEmbeddingName": "העתק שם Embedding",
"sendCheckpointToWorkflow": "שלח ל-ComfyUI",
"sendEmbeddingToWorkflow": "שלח ל-ComfyUI"
}, },
"nsfw": { "nsfw": {
"matureContent": "תוכן למבוגרים", "matureContent": "תוכן למבוגרים",
@@ -116,7 +120,8 @@
"updateFailed": "עדכון סטטוס מועדפים נכשל" "updateFailed": "עדכון סטטוס מועדפים נכשל"
}, },
"sendToWorkflow": { "sendToWorkflow": {
"checkpointNotImplemented": "שליחת checkpoint ל-workflow - תכונה שתיושם בעתיד" "checkpointNotImplemented": "שליחת checkpoint ל-workflow - תכונה שתיושם בעתיד",
"missingPath": "לא ניתן לקבוע את נתיב המודל לכרטיס זה"
}, },
"exampleImages": { "exampleImages": {
"checkError": "שגיאה בבדיקת תמונות דוגמה", "checkError": "שגיאה בבדיקת תמונות דוגמה",
@@ -950,7 +955,9 @@
"loraFailedToSend": "שליחת LoRA ל-workflow נכשלה", "loraFailedToSend": "שליחת LoRA ל-workflow נכשלה",
"recipeAdded": "מתכון נוסף ל-workflow", "recipeAdded": "מתכון נוסף ל-workflow",
"recipeReplaced": "מתכון הוחלף ב-workflow", "recipeReplaced": "מתכון הוחלף ב-workflow",
"recipeFailedToSend": "שליחת מתכון ל-workflow נכשלה" "recipeFailedToSend": "שליחת מתכון ל-workflow נכשלה",
"noMatchingNodes": "אין צמתים תואמים זמינים ב-workflow הנוכחי",
"noTargetNodeSelected": "לא נבחר צומת יעד"
}, },
"nodeSelector": { "nodeSelector": {
"recipe": "מתכון", "recipe": "מתכון",

View File

@@ -102,7 +102,11 @@
"toggleBlur": "ぼかしの切り替え", "toggleBlur": "ぼかしの切り替え",
"show": "表示", "show": "表示",
"openExampleImages": "例画像フォルダを開く", "openExampleImages": "例画像フォルダを開く",
"replacePreview": "プレビューを置換" "replacePreview": "プレビューを置換",
"copyCheckpointName": "checkpoint名をコピー",
"copyEmbeddingName": "embedding名をコピー",
"sendCheckpointToWorkflow": "ComfyUIに送信",
"sendEmbeddingToWorkflow": "ComfyUIに送信"
}, },
"nsfw": { "nsfw": {
"matureContent": "成人向けコンテンツ", "matureContent": "成人向けコンテンツ",
@@ -116,7 +120,8 @@
"updateFailed": "お気に入り状態の更新に失敗しました" "updateFailed": "お気に入り状態の更新に失敗しました"
}, },
"sendToWorkflow": { "sendToWorkflow": {
"checkpointNotImplemented": "checkpointをワークフローに送信 - 実装予定の機能" "checkpointNotImplemented": "checkpointをワークフローに送信 - 実装予定の機能",
"missingPath": "このカードのモデルパスを特定できません"
}, },
"exampleImages": { "exampleImages": {
"checkError": "例画像の確認中にエラーが発生しました", "checkError": "例画像の確認中にエラーが発生しました",
@@ -950,7 +955,9 @@
"loraFailedToSend": "LoRAをワークフローに送信できませんでした", "loraFailedToSend": "LoRAをワークフローに送信できませんでした",
"recipeAdded": "レシピがワークフローに追加されました", "recipeAdded": "レシピがワークフローに追加されました",
"recipeReplaced": "レシピがワークフローで置換されました", "recipeReplaced": "レシピがワークフローで置換されました",
"recipeFailedToSend": "レシピをワークフローに送信できませんでした" "recipeFailedToSend": "レシピをワークフローに送信できませんでした",
"noMatchingNodes": "現在のワークフローには互換性のあるノードがありません",
"noTargetNodeSelected": "ターゲットノードが選択されていません"
}, },
"nodeSelector": { "nodeSelector": {
"recipe": "レシピ", "recipe": "レシピ",

View File

@@ -102,7 +102,11 @@
"toggleBlur": "블러 토글", "toggleBlur": "블러 토글",
"show": "보기", "show": "보기",
"openExampleImages": "예시 이미지 폴더 열기", "openExampleImages": "예시 이미지 폴더 열기",
"replacePreview": "미리보기 교체" "replacePreview": "미리보기 교체",
"copyCheckpointName": "Checkpoint 이름 복사",
"copyEmbeddingName": "Embedding 이름 복사",
"sendCheckpointToWorkflow": "ComfyUI로 전송",
"sendEmbeddingToWorkflow": "ComfyUI로 전송"
}, },
"nsfw": { "nsfw": {
"matureContent": "성인 콘텐츠", "matureContent": "성인 콘텐츠",
@@ -116,7 +120,8 @@
"updateFailed": "즐겨찾기 상태 업데이트 실패" "updateFailed": "즐겨찾기 상태 업데이트 실패"
}, },
"sendToWorkflow": { "sendToWorkflow": {
"checkpointNotImplemented": "Checkpoint을 워크플로로 전송 - 구현 예정 기능" "checkpointNotImplemented": "Checkpoint을 워크플로로 전송 - 구현 예정 기능",
"missingPath": "이 카드의 모델 경로를 확인할 수 없습니다"
}, },
"exampleImages": { "exampleImages": {
"checkError": "예시 이미지 확인 중 오류", "checkError": "예시 이미지 확인 중 오류",
@@ -950,7 +955,9 @@
"loraFailedToSend": "LoRA를 워크플로로 전송하지 못했습니다", "loraFailedToSend": "LoRA를 워크플로로 전송하지 못했습니다",
"recipeAdded": "레시피가 워크플로에 추가되었습니다", "recipeAdded": "레시피가 워크플로에 추가되었습니다",
"recipeReplaced": "레시피가 워크플로에서 교체되었습니다", "recipeReplaced": "레시피가 워크플로에서 교체되었습니다",
"recipeFailedToSend": "레시피를 워크플로로 전송하지 못했습니다" "recipeFailedToSend": "레시피를 워크플로로 전송하지 못했습니다",
"noMatchingNodes": "현재 워크플로에서 호환되는 노드가 없습니다",
"noTargetNodeSelected": "대상 노드가 선택되지 않았습니다"
}, },
"nodeSelector": { "nodeSelector": {
"recipe": "레시피", "recipe": "레시피",

View File

@@ -102,7 +102,11 @@
"toggleBlur": "Переключить размытие", "toggleBlur": "Переключить размытие",
"show": "Показать", "show": "Показать",
"openExampleImages": "Открыть папку с примерами", "openExampleImages": "Открыть папку с примерами",
"replacePreview": "Заменить превью" "replacePreview": "Заменить превью",
"copyCheckpointName": "Копировать имя checkpoint",
"copyEmbeddingName": "Копировать имя embedding",
"sendCheckpointToWorkflow": "Отправить в ComfyUI",
"sendEmbeddingToWorkflow": "Отправить в ComfyUI"
}, },
"nsfw": { "nsfw": {
"matureContent": "Контент для взрослых", "matureContent": "Контент для взрослых",
@@ -116,7 +120,8 @@
"updateFailed": "Не удалось обновить статус избранного" "updateFailed": "Не удалось обновить статус избранного"
}, },
"sendToWorkflow": { "sendToWorkflow": {
"checkpointNotImplemented": "Отправка checkpoint в workflow - функция будет реализована" "checkpointNotImplemented": "Отправка checkpoint в workflow - функция будет реализована",
"missingPath": "Невозможно определить путь модели для этой карточки"
}, },
"exampleImages": { "exampleImages": {
"checkError": "Ошибка проверки примеров изображений", "checkError": "Ошибка проверки примеров изображений",
@@ -950,7 +955,9 @@
"loraFailedToSend": "Не удалось отправить LoRA в workflow", "loraFailedToSend": "Не удалось отправить LoRA в workflow",
"recipeAdded": "Рецепт добавлен в workflow", "recipeAdded": "Рецепт добавлен в workflow",
"recipeReplaced": "Рецепт заменён в workflow", "recipeReplaced": "Рецепт заменён в workflow",
"recipeFailedToSend": "Не удалось отправить рецепт в workflow" "recipeFailedToSend": "Не удалось отправить рецепт в workflow",
"noMatchingNodes": "В текущем workflow нет совместимых узлов",
"noTargetNodeSelected": "Целевой узел не выбран"
}, },
"nodeSelector": { "nodeSelector": {
"recipe": "Рецепт", "recipe": "Рецепт",

View File

@@ -102,7 +102,11 @@
"toggleBlur": "切换模糊", "toggleBlur": "切换模糊",
"show": "显示", "show": "显示",
"openExampleImages": "打开示例图片文件夹", "openExampleImages": "打开示例图片文件夹",
"replacePreview": "替换预览" "replacePreview": "替换预览",
"copyCheckpointName": "复制 Checkpoint 名称",
"copyEmbeddingName": "复制 Embedding 名称",
"sendCheckpointToWorkflow": "发送到 ComfyUI",
"sendEmbeddingToWorkflow": "发送到 ComfyUI"
}, },
"nsfw": { "nsfw": {
"matureContent": "成熟内容", "matureContent": "成熟内容",
@@ -116,7 +120,8 @@
"updateFailed": "收藏状态更新失败" "updateFailed": "收藏状态更新失败"
}, },
"sendToWorkflow": { "sendToWorkflow": {
"checkpointNotImplemented": "发送检查点到工作流 - 功能待实现" "checkpointNotImplemented": "发送检查点到工作流 - 功能待实现",
"missingPath": "无法确定此卡片的模型路径"
}, },
"exampleImages": { "exampleImages": {
"checkError": "检查示例图片时出错", "checkError": "检查示例图片时出错",
@@ -950,7 +955,9 @@
"loraFailedToSend": "发送 LoRA 到工作流失败", "loraFailedToSend": "发送 LoRA 到工作流失败",
"recipeAdded": "配方已追加到工作流", "recipeAdded": "配方已追加到工作流",
"recipeReplaced": "配方已替换到工作流", "recipeReplaced": "配方已替换到工作流",
"recipeFailedToSend": "发送配方到工作流失败" "recipeFailedToSend": "发送配方到工作流失败",
"noMatchingNodes": "当前工作流中没有兼容的节点",
"noTargetNodeSelected": "未选择目标节点"
}, },
"nodeSelector": { "nodeSelector": {
"recipe": "配方", "recipe": "配方",

View File

@@ -102,7 +102,11 @@
"toggleBlur": "切換模糊", "toggleBlur": "切換模糊",
"show": "顯示", "show": "顯示",
"openExampleImages": "開啟範例圖片資料夾", "openExampleImages": "開啟範例圖片資料夾",
"replacePreview": "更換預覽圖" "replacePreview": "更換預覽圖",
"copyCheckpointName": "複製檢查點名稱",
"copyEmbeddingName": "複製嵌入名稱",
"sendCheckpointToWorkflow": "傳送到 ComfyUI",
"sendEmbeddingToWorkflow": "傳送到 ComfyUI"
}, },
"nsfw": { "nsfw": {
"matureContent": "成熟內容", "matureContent": "成熟內容",
@@ -116,7 +120,8 @@
"updateFailed": "更新收藏狀態失敗" "updateFailed": "更新收藏狀態失敗"
}, },
"sendToWorkflow": { "sendToWorkflow": {
"checkpointNotImplemented": "傳送 checkpoint 到工作流 - 功能尚未實現" "checkpointNotImplemented": "傳送 checkpoint 到工作流 - 功能尚未實現",
"missingPath": "無法確定此卡片的模型路徑"
}, },
"exampleImages": { "exampleImages": {
"checkError": "檢查範例圖片時發生錯誤", "checkError": "檢查範例圖片時發生錯誤",
@@ -950,7 +955,9 @@
"loraFailedToSend": "傳送 LoRA 到工作流失敗", "loraFailedToSend": "傳送 LoRA 到工作流失敗",
"recipeAdded": "配方已附加到工作流", "recipeAdded": "配方已附加到工作流",
"recipeReplaced": "配方已取代於工作流", "recipeReplaced": "配方已取代於工作流",
"recipeFailedToSend": "傳送配方到工作流失敗" "recipeFailedToSend": "傳送配方到工作流失敗",
"noMatchingNodes": "目前工作流程中沒有相容的節點",
"noTargetNodeSelected": "未選擇目標節點"
}, },
"nodeSelector": { "nodeSelector": {
"recipe": "配方", "recipe": "配方",