diff --git a/locales/de.json b/locales/de.json index 3ac03145..17b61a3b 100644 --- a/locales/de.json +++ b/locales/de.json @@ -740,7 +740,13 @@ }, "workflow": { "noSupportedNodes": "Keine unterstützten Zielknoten im Workflow gefunden", - "communicationFailed": "Fehler bei der Kommunikation mit ComfyUI" + "communicationFailed": "Fehler bei der Kommunikation mit ComfyUI", + "loraAdded": "LoRA zum Workflow hinzugefügt", + "loraReplaced": "LoRA im Workflow ersetzt", + "loraFailedToSend": "Fehler beim Senden der LoRA an den Workflow", + "recipeAdded": "Rezept zum Workflow hinzugefügt", + "recipeReplaced": "Rezept im Workflow ersetzt", + "recipeFailedToSend": "Fehler beim Senden des Rezepts an den Workflow" }, "nodeSelector": { "recipe": "Rezept", diff --git a/locales/en.json b/locales/en.json index 6886d7da..6045b5f3 100644 --- a/locales/en.json +++ b/locales/en.json @@ -740,7 +740,13 @@ }, "workflow": { "noSupportedNodes": "No supported target nodes found in workflow", - "communicationFailed": "Failed to communicate with ComfyUI" + "communicationFailed": "Failed to communicate with ComfyUI", + "loraAdded": "LoRA appended to workflow", + "loraReplaced": "LoRA replaced in workflow", + "loraFailedToSend": "Failed to send LoRA to workflow", + "recipeAdded": "Recipe appended to workflow", + "recipeReplaced": "Recipe replaced in workflow", + "recipeFailedToSend": "Failed to send recipe to workflow" }, "nodeSelector": { "recipe": "Recipe", diff --git a/locales/es.json b/locales/es.json index b3c59949..3eb14dab 100644 --- a/locales/es.json +++ b/locales/es.json @@ -740,7 +740,13 @@ }, "workflow": { "noSupportedNodes": "No se encontraron nodos de destino compatibles en el flujo de trabajo", - "communicationFailed": "Error al comunicarse con ComfyUI" + "communicationFailed": "Error al comunicarse con ComfyUI", + "loraAdded": "LoRA añadido al flujo de trabajo", + "loraReplaced": "LoRA reemplazado en el flujo de trabajo", + "loraFailedToSend": "Error al enviar LoRA al flujo de trabajo", + "recipeAdded": "Receta añadida al flujo de trabajo", + "recipeReplaced": "Receta reemplazada en el flujo de trabajo", + "recipeFailedToSend": "Error al enviar receta al flujo de trabajo" }, "nodeSelector": { "recipe": "Receta", diff --git a/locales/fr.json b/locales/fr.json index 68691f08..8137eb45 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -740,7 +740,13 @@ }, "workflow": { "noSupportedNodes": "Aucun nœud cible supporté trouvé dans le workflow", - "communicationFailed": "Échec de la communication avec ComfyUI" + "communicationFailed": "Échec de la communication avec ComfyUI", + "loraAdded": "LoRA ajouté au workflow", + "loraReplaced": "LoRA remplacé dans le workflow", + "loraFailedToSend": "Échec de l'envoi du LoRA au workflow", + "recipeAdded": "Recette ajoutée au workflow", + "recipeReplaced": "Recette remplacée dans le workflow", + "recipeFailedToSend": "Échec de l'envoi de la recette au workflow" }, "nodeSelector": { "recipe": "Recette", diff --git a/locales/ja.json b/locales/ja.json index 89d84e22..58cbc980 100644 --- a/locales/ja.json +++ b/locales/ja.json @@ -740,7 +740,13 @@ }, "workflow": { "noSupportedNodes": "ワークフローで対応するターゲットノードが見つかりません", - "communicationFailed": "ComfyUIとの通信に失敗しました" + "communicationFailed": "ComfyUIとの通信に失敗しました", + "loraAdded": "LoRAがワークフローに追加されました", + "loraReplaced": "LoRAがワークフローで置換されました", + "loraFailedToSend": "LoRAをワークフローに送信できませんでした", + "recipeAdded": "レシピがワークフローに追加されました", + "recipeReplaced": "レシピがワークフローで置換されました", + "recipeFailedToSend": "レシピをワークフローに送信できませんでした" }, "nodeSelector": { "recipe": "レシピ", diff --git a/locales/ko.json b/locales/ko.json index 3eac9031..efeda57f 100644 --- a/locales/ko.json +++ b/locales/ko.json @@ -740,7 +740,13 @@ }, "workflow": { "noSupportedNodes": "워크플로에서 지원되는 대상 노드를 찾을 수 없습니다", - "communicationFailed": "ComfyUI와의 통신에 실패했습니다" + "communicationFailed": "ComfyUI와의 통신에 실패했습니다", + "loraAdded": "LoRA가 워크플로에 추가되었습니다", + "loraReplaced": "LoRA가 워크플로에서 교체되었습니다", + "loraFailedToSend": "LoRA를 워크플로로 전송하지 못했습니다", + "recipeAdded": "레시피가 워크플로에 추가되었습니다", + "recipeReplaced": "레시피가 워크플로에서 교체되었습니다", + "recipeFailedToSend": "레시피를 워크플로로 전송하지 못했습니다" }, "nodeSelector": { "recipe": "레시피", diff --git a/locales/ru.json b/locales/ru.json index 720bae7e..2ee85271 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -740,7 +740,13 @@ }, "workflow": { "noSupportedNodes": "В workflow не найдены поддерживаемые целевые узлы", - "communicationFailed": "Не удалось установить связь с ComfyUI" + "communicationFailed": "Не удалось установить связь с ComfyUI", + "loraAdded": "LoRA добавлена в workflow", + "loraReplaced": "LoRA заменена в workflow", + "loraFailedToSend": "Не удалось отправить LoRA в workflow", + "recipeAdded": "Рецепт добавлен в workflow", + "recipeReplaced": "Рецепт заменён в workflow", + "recipeFailedToSend": "Не удалось отправить рецепт в workflow" }, "nodeSelector": { "recipe": "Рецепт", diff --git a/locales/zh-CN.json b/locales/zh-CN.json index 860c7956..04d7c5b1 100644 --- a/locales/zh-CN.json +++ b/locales/zh-CN.json @@ -740,7 +740,13 @@ }, "workflow": { "noSupportedNodes": "工作流中未找到支持的目标节点", - "communicationFailed": "与 ComfyUI 通信失败" + "communicationFailed": "与 ComfyUI 通信失败", + "loraAdded": "LoRA 已追加到工作流", + "loraReplaced": "LoRA 已替换到工作流", + "loraFailedToSend": "发送 LoRA 到工作流失败", + "recipeAdded": "配方已追加到工作流", + "recipeReplaced": "配方已替换到工作流", + "recipeFailedToSend": "发送配方到工作流失败" }, "nodeSelector": { "recipe": "配方", diff --git a/locales/zh-TW.json b/locales/zh-TW.json index 4f811de9..ad970037 100644 --- a/locales/zh-TW.json +++ b/locales/zh-TW.json @@ -740,7 +740,13 @@ }, "workflow": { "noSupportedNodes": "工作流中未找到支援的目標節點", - "communicationFailed": "與 ComfyUI 通訊失敗" + "communicationFailed": "與 ComfyUI 通訊失敗", + "loraAdded": "LoRA 已附加到工作流", + "loraReplaced": "LoRA 已取代於工作流", + "loraFailedToSend": "傳送 LoRA 到工作流失敗", + "recipeAdded": "配方已附加到工作流", + "recipeReplaced": "配方已取代於工作流", + "recipeFailedToSend": "傳送配方到工作流失敗" }, "nodeSelector": { "recipe": "配方", diff --git a/test_i18n.py b/test_i18n.py index 4d81e065..f05ed6c9 100644 --- a/test_i18n.py +++ b/test_i18n.py @@ -759,6 +759,16 @@ def test_static_code_analysis(): 'data', 'width', 'height', 'size', 'format', 'version', 'url', 'path', 'file', 'folder', 'image', 'text', 'number', 'boolean', 'array', 'object', 'non.existent.key' } + + # Special translation keys used in uiHelpers.js but not detected by regex + uihelpers_special_keys = { + 'uiHelpers.workflow.loraAdded', + 'uiHelpers.workflow.loraReplaced', + 'uiHelpers.workflow.loraFailedToSend', + 'uiHelpers.workflow.recipeAdded', + 'uiHelpers.workflow.recipeReplaced', + 'uiHelpers.workflow.recipeFailedToSend', + } # Extract keys from JavaScript files js_dir = os.path.join(os.path.dirname(__file__), 'static', 'js') @@ -808,6 +818,8 @@ def test_static_code_analysis(): # Combine all used keys all_used_keys = js_keys.union(html_keys) + # Add special keys from uiHelpers.js + all_used_keys.update(uihelpers_special_keys) # print(f"Total unique keys used in code: {len(all_used_keys)}") # Check for missing keys