From 1a8f9d1ecb59d863fdfb901e12b458ea81ebf4e7 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Thu, 12 Oct 2023 12:43:45 +0000 Subject: [PATCH 01/70] translationBot(ui): update translation (Spanish) Currently translated at 100.0% (526 of 526 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (523 of 523 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (519 of 519 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (515 of 515 strings) Co-authored-by: gallegonovato Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/es.json | 25 ++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index d17cefaad2..f2dcfa569a 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -19,7 +19,7 @@ "postProcessDesc3": "La Interfaz de Línea de Comandos de Invoke AI ofrece muchas otras características, incluyendo -Embiggen-.", "training": "Entrenamiento", "trainingDesc1": "Un flujo de trabajo dedicado para el entrenamiento de sus propios -embeddings- y puntos de control utilizando Inversión Textual y Dreambooth desde la interfaz web.", - "trainingDesc2": "InvokeAI ya soporta el entrenamiento de -embeddings- personalizados utilizando la Inversión Textual mediante el script principal.", + "trainingDesc2": "InvokeAI ya admite el entrenamiento de incrustaciones personalizadas mediante la inversión textual mediante el script principal.", "upload": "Subir imagen", "close": "Cerrar", "load": "Cargar", @@ -74,7 +74,12 @@ "txt2img": "De texto a imagen", "accept": "Aceptar", "cancel": "Cancelar", - "linear": "Lineal" + "linear": "Lineal", + "random": "Aleatorio", + "generate": "Generar", + "openInNewTab": "Abrir en una nueva pestaña", + "dontAskMeAgain": "No me preguntes de nuevo", + "areYouSure": "¿Estas seguro?" }, "gallery": { "generations": "Generaciones", @@ -90,7 +95,10 @@ "pinGallery": "Fijar galería", "allImagesLoaded": "Todas las imágenes cargadas", "loadMore": "Cargar más", - "noImagesInGallery": "Sin imágenes en la galería" + "noImagesInGallery": "Sin imágenes en la galería", + "deleteImage": "Eliminar Imagen", + "deleteImageBin": "Las imágenes eliminadas se enviarán a la papelera de tu sistema operativo.", + "deleteImagePermanent": "Las imágenes eliminadas no se pueden restaurar." }, "hotkeys": { "keyboardShortcuts": "Atajos de teclado", @@ -500,7 +508,12 @@ "resetWebUIDesc1": "Al restablecer la interfaz web, solo se restablece la caché local del navegador de sus imágenes y la configuración guardada. No se elimina ninguna imagen de su disco duro.", "resetWebUIDesc2": "Si las imágenes no se muestran en la galería o algo más no funciona, intente restablecer antes de reportar un incidente en GitHub.", "resetComplete": "La interfaz web se ha restablecido. Actualice la página para recargarla.", - "useSlidersForAll": "Utilice controles deslizantes para todas las opciones" + "useSlidersForAll": "Utilice controles deslizantes para todas las opciones", + "general": "General", + "consoleLogLevel": "Nivel del registro", + "shouldLogToConsole": "Registro de la consola", + "developer": "Desarrollador", + "autoShowProgress": "Mostrar automáticamente el progreso de las imágenes" }, "toast": { "tempFoldersEmptied": "Directorio temporal vaciado", @@ -634,5 +647,9 @@ "showGallery": "Mostrar galería", "showOptionsPanel": "Mostrar el panel de opciones", "menu": "Menú" + }, + "ui": { + "hideProgressImages": "Ocultar el progreso de la imagen", + "showProgressImages": "Mostrar el progreso de la imagen" } } From 3c029eee2958213ddf1fd4028855e69f0589a79d Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Thu, 12 Oct 2023 12:43:47 +0000 Subject: [PATCH 02/70] translationBot(ui): update translation (Italian) Currently translated at 100.0% (526 of 526 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (523 of 523 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (519 of 519 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (515 of 515 strings) Co-authored-by: Riccardo Giovanetti Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 25 ++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 4ac5b6831d..0022758827 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -19,7 +19,7 @@ "postProcessDesc3": "L'interfaccia da riga di comando di 'Invoke AI' offre varie altre funzionalità tra cui Embiggen.", "training": "Addestramento", "trainingDesc1": "Un flusso di lavoro dedicato per addestrare i tuoi Incorporamenti e Checkpoint utilizzando Inversione Testuale e Dreambooth dall'interfaccia web.", - "trainingDesc2": "InvokeAI supporta già l'addestramento di incorporamenti personalizzati utilizzando l'inversione testuale utilizzando lo script principale.", + "trainingDesc2": "InvokeAI supporta già l'addestramento di incorporamenti personalizzati utilizzando l'inversione testuale tramite lo script principale.", "upload": "Caricamento", "close": "Chiudi", "load": "Carica", @@ -74,7 +74,12 @@ "txt2img": "Testo a Immagine", "accept": "Accetta", "cancel": "Annulla", - "linear": "Lineare" + "linear": "Lineare", + "generate": "Genera", + "random": "Casuale", + "openInNewTab": "Apri in una nuova scheda", + "areYouSure": "Sei sicuro?", + "dontAskMeAgain": "Non chiedermelo più" }, "gallery": { "generations": "Generazioni", @@ -90,7 +95,10 @@ "pinGallery": "Blocca la galleria", "allImagesLoaded": "Tutte le immagini caricate", "loadMore": "Carica di più", - "noImagesInGallery": "Nessuna immagine nella galleria" + "noImagesInGallery": "Nessuna immagine nella galleria", + "deleteImage": "Elimina l'immagine", + "deleteImagePermanent": "Le immagini eliminate non possono essere ripristinate.", + "deleteImageBin": "Le immagini eliminate verranno spostate nel Cestino del tuo sistema operativo." }, "hotkeys": { "keyboardShortcuts": "Tasti rapidi", @@ -500,7 +508,12 @@ "resetWebUIDesc1": "Il ripristino dell'interfaccia utente Web reimposta solo la cache locale del browser delle immagini e le impostazioni memorizzate. Non cancella alcuna immagine dal disco.", "resetWebUIDesc2": "Se le immagini non vengono visualizzate nella galleria o qualcos'altro non funziona, prova a reimpostare prima di segnalare un problema su GitHub.", "resetComplete": "L'interfaccia utente Web è stata reimpostata. Aggiorna la pagina per ricaricarla.", - "useSlidersForAll": "Usa i cursori per tutte le opzioni" + "useSlidersForAll": "Usa i cursori per tutte le opzioni", + "general": "Generale", + "consoleLogLevel": "Livello del registro", + "shouldLogToConsole": "Registrazione della console", + "developer": "Sviluppatore", + "autoShowProgress": "Visualizzazione automatica avanzamento immagini" }, "toast": { "tempFoldersEmptied": "Cartella temporanea svuotata", @@ -634,5 +647,9 @@ "toggleAutoscroll": "Attiva/disattiva lo scorrimento automatico", "modifyConfig": "Modifica configurazione", "menu": "Menu" + }, + "ui": { + "hideProgressImages": "Nascondi avanzamento immagini", + "showProgressImages": "Mostra avanzamento immagini" } } From 7dee6f51a3b49fae0a23d9e48c3ced7d7fb610c7 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:43:50 +0000 Subject: [PATCH 03/70] translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ar.json | 1 - invokeai/frontend/web/public/locales/de.json | 1 - invokeai/frontend/web/public/locales/es.json | 1 - invokeai/frontend/web/public/locales/fr.json | 1 - invokeai/frontend/web/public/locales/he.json | 1 - invokeai/frontend/web/public/locales/it.json | 1 - invokeai/frontend/web/public/locales/ja.json | 1 - invokeai/frontend/web/public/locales/nl.json | 1 - invokeai/frontend/web/public/locales/pl.json | 1 - invokeai/frontend/web/public/locales/pt.json | 1 - invokeai/frontend/web/public/locales/pt_BR.json | 1 - invokeai/frontend/web/public/locales/ru.json | 1 - invokeai/frontend/web/public/locales/uk.json | 1 - invokeai/frontend/web/public/locales/zh_CN.json | 1 - 14 files changed, 14 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ar.json b/invokeai/frontend/web/public/locales/ar.json index e5168da4a8..cd015ec99e 100644 --- a/invokeai/frontend/web/public/locales/ar.json +++ b/invokeai/frontend/web/public/locales/ar.json @@ -393,7 +393,6 @@ "useAll": "استخدام الكل", "useInitImg": "استخدام الصورة الأولية", "info": "معلومات", - "deleteImage": "حذف الصورة", "initialImage": "الصورة الأولية", "showOptionsPanel": "إظهار لوحة الخيارات" }, diff --git a/invokeai/frontend/web/public/locales/de.json b/invokeai/frontend/web/public/locales/de.json index cff09d46bb..e4fd732bf4 100644 --- a/invokeai/frontend/web/public/locales/de.json +++ b/invokeai/frontend/web/public/locales/de.json @@ -394,7 +394,6 @@ "useSeed": "Seed verwenden", "useAll": "Alle verwenden", "useInitImg": "Ausgangsbild verwenden", - "deleteImage": "Bild löschen", "initialImage": "Ursprüngliches Bild", "showOptionsPanel": "Optionsleiste zeigen", "cancel": { diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index f2dcfa569a..68a35ca445 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -475,7 +475,6 @@ "useAll": "Usar Todo", "useInitImg": "Usar Imagen Inicial", "info": "Información", - "deleteImage": "Eliminar Imagen", "initialImage": "Imagen Inicial", "showOptionsPanel": "Mostrar panel de opciones", "symmetry": "Simetría", diff --git a/invokeai/frontend/web/public/locales/fr.json b/invokeai/frontend/web/public/locales/fr.json index cf215d7d06..83be25d789 100644 --- a/invokeai/frontend/web/public/locales/fr.json +++ b/invokeai/frontend/web/public/locales/fr.json @@ -407,7 +407,6 @@ "useAll": "Tout utiliser", "useInitImg": "Utiliser l'image initiale", "info": "Info", - "deleteImage": "Supprimer l'image", "initialImage": "Image initiale", "showOptionsPanel": "Afficher le panneau d'options" }, diff --git a/invokeai/frontend/web/public/locales/he.json b/invokeai/frontend/web/public/locales/he.json index c9b4ff3b17..2e7303b4cc 100644 --- a/invokeai/frontend/web/public/locales/he.json +++ b/invokeai/frontend/web/public/locales/he.json @@ -465,7 +465,6 @@ "img2imgStrength": "חוזק תמונה לתמונה", "initialImage": "תמונה ראשונית", "copyImageToLink": "העתקת תמונה לקישור", - "deleteImage": "מחיקת תמונה", "promptPlaceholder": "הקלד בקשה כאן. [אסימונים שליליים], (העלאת משקל)++ , (הורדת משקל)--, החלפה ומיזוג זמינים (ראה מסמכים)" }, "settings": { diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 0022758827..97f309bac6 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -475,7 +475,6 @@ "useAll": "Usa Tutto", "useInitImg": "Usa l'immagine iniziale", "info": "Informazioni", - "deleteImage": "Elimina immagine", "initialImage": "Immagine iniziale", "showOptionsPanel": "Mostra pannello opzioni", "general": "Generale", diff --git a/invokeai/frontend/web/public/locales/ja.json b/invokeai/frontend/web/public/locales/ja.json index 007aa9b491..bb899da814 100644 --- a/invokeai/frontend/web/public/locales/ja.json +++ b/invokeai/frontend/web/public/locales/ja.json @@ -355,7 +355,6 @@ "useSeed": "シード値を使用", "useAll": "すべてを使用", "info": "情報", - "deleteImage": "画像を削除", "showOptionsPanel": "オプションパネルを表示" }, "settings": { diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index 230e3b5b64..95100fe9b5 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -466,7 +466,6 @@ "useAll": "Hergebruik alles", "useInitImg": "Gebruik initiële afbeelding", "info": "Info", - "deleteImage": "Verwijder afbeelding", "initialImage": "Initiële afbeelding", "showOptionsPanel": "Toon deelscherm Opties", "symmetry": "Symmetrie", diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index 246271658a..eff6faaa4b 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -324,7 +324,6 @@ "useAll": "Skopiuj wszystko", "useInitImg": "Użyj oryginalnego obrazu", "info": "Informacje", - "deleteImage": "Usuń obraz", "initialImage": "Oryginalny obraz", "showOptionsPanel": "Pokaż panel ustawień" }, diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json index 6d19e3ad92..db4bc41fbb 100644 --- a/invokeai/frontend/web/public/locales/pt.json +++ b/invokeai/frontend/web/public/locales/pt.json @@ -441,7 +441,6 @@ "openInViewer": "Abrir No Visualizador", "closeViewer": "Fechar Visualizador", "usePrompt": "Usar Prompt", - "deleteImage": "Apagar Imagem", "initialImage": "Imagem inicial", "showOptionsPanel": "Mostrar Painel de Opções", "strength": "Força", diff --git a/invokeai/frontend/web/public/locales/pt_BR.json b/invokeai/frontend/web/public/locales/pt_BR.json index e77ef14719..060e9e4351 100644 --- a/invokeai/frontend/web/public/locales/pt_BR.json +++ b/invokeai/frontend/web/public/locales/pt_BR.json @@ -452,7 +452,6 @@ "useAll": "Usar Todos", "useInitImg": "Usar Imagem Inicial", "info": "Informações", - "deleteImage": "Apagar Imagem", "initialImage": "Imagem inicial", "showOptionsPanel": "Mostrar Painel de Opções", "vSymmetryStep": "V Passo de Simetria", diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index 822389d78a..d347feae5f 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -467,7 +467,6 @@ "useAll": "Использовать все", "useInitImg": "Использовать как исходное", "info": "Метаданные", - "deleteImage": "Удалить изображение", "initialImage": "Исходное изображение", "showOptionsPanel": "Показать панель настроек", "vSymmetryStep": "Шаг верт. симметрии", diff --git a/invokeai/frontend/web/public/locales/uk.json b/invokeai/frontend/web/public/locales/uk.json index 8261aa82e0..fbccdb630e 100644 --- a/invokeai/frontend/web/public/locales/uk.json +++ b/invokeai/frontend/web/public/locales/uk.json @@ -467,7 +467,6 @@ "useAll": "Використати все", "useInitImg": "Використати як початкове", "info": "Метадані", - "deleteImage": "Видалити зображення", "initialImage": "Початкове зображення", "showOptionsPanel": "Показати панель налаштувань", "general": "Основне", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index d4d7746926..2cf8baa825 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -374,7 +374,6 @@ "useAll": "使用所有参数", "useInitImg": "使用原图像", "info": "信息", - "deleteImage": "删除图像", "initialImage": "原图像", "showOptionsPanel": "显示选项浮窗" }, From 7a672bd2b22d8a5be6d91f8c0e2af8e65bc35a3e Mon Sep 17 00:00:00 2001 From: pand4z31 Date: Thu, 12 Oct 2023 12:43:51 +0000 Subject: [PATCH 04/70] translationBot(ui): update translation (French) Currently translated at 80.7% (419 of 519 strings) Co-authored-by: pand4z31 Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/fr/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/fr.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/public/locales/fr.json b/invokeai/frontend/web/public/locales/fr.json index 83be25d789..a60b12afcd 100644 --- a/invokeai/frontend/web/public/locales/fr.json +++ b/invokeai/frontend/web/public/locales/fr.json @@ -537,6 +537,10 @@ "useThisParameter": "Utiliser ce paramètre", "zoomIn": "Zoom avant", "zoomOut": "Zoom arrière", - "showOptionsPanel": "Montrer la page d'options" + "showOptionsPanel": "Montrer la page d'options", + "modelSelect": "Choix du modèle", + "invokeProgressBar": "Barre de Progression Invoke", + "copyMetadataJson": "Copie des métadonnées JSON", + "menu": "Menu" } } From 133ab91c8d0e77ae0722064dd11aeb6f5e2e3d02 Mon Sep 17 00:00:00 2001 From: System X - Files Date: Thu, 12 Oct 2023 12:43:56 +0000 Subject: [PATCH 05/70] translationBot(ui): update translation (Russian) Currently translated at 100.0% (526 of 526 strings) translationBot(ui): update translation (Russian) Currently translated at 100.0% (519 of 519 strings) Co-authored-by: System X - Files Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ru.json | 23 +++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index d347feae5f..93c30025c3 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -74,7 +74,12 @@ "langPortuguese": "Португальский", "txt2img": "Текст в изображение (txt2img)", "langBrPortuguese": "Португальский (Бразилия)", - "linear": "Линейная обработка" + "linear": "Линейная обработка", + "dontAskMeAgain": "Больше не спрашивать", + "areYouSure": "Вы уверены?", + "random": "Случайное", + "generate": "Сгенерировать", + "openInNewTab": "Открыть в новой вкладке" }, "gallery": { "generations": "Генерации", @@ -90,7 +95,10 @@ "pinGallery": "Закрепить галерею", "allImagesLoaded": "Все изображения загружены", "loadMore": "Показать больше", - "noImagesInGallery": "Изображений нет" + "noImagesInGallery": "Изображений нет", + "deleteImagePermanent": "Удаленные изображения невозможно восстановить.", + "deleteImageBin": "Удаленные изображения будут отправлены в корзину вашей операционной системы.", + "deleteImage": "Удалить изображение" }, "hotkeys": { "keyboardShortcuts": "Горячие клавиши", @@ -499,7 +507,12 @@ "resetWebUIDesc1": "Сброс настроек веб-интерфейса удаляет только локальный кэш браузера с вашими изображениями и настройками. Он не удаляет изображения с диска.", "resetWebUIDesc2": "Если изображения не отображаются в галерее или не работает что-то еще, пожалуйста, попробуйте сбросить настройки, прежде чем сообщать о проблеме на GitHub.", "resetComplete": "Интерфейс сброшен. Обновите эту страницу.", - "useSlidersForAll": "Использовать ползунки для всех параметров" + "useSlidersForAll": "Использовать ползунки для всех параметров", + "consoleLogLevel": "Уровень логирования", + "shouldLogToConsole": "Логи в консоль", + "developer": "Разработчик", + "autoShowProgress": "Автопоказ изображений прогресса", + "general": "Основное" }, "toast": { "tempFoldersEmptied": "Временная папка очищена", @@ -633,5 +646,9 @@ "copyMetadataJson": "Скопировать метаданные JSON", "exitViewer": "Закрыть просмотрщик", "menu": "Меню" + }, + "ui": { + "showProgressImages": "Показывать промежуточный итог", + "hideProgressImages": "Не показывать промежуточный итог" } } From 0a48c5a712868ce7b2e584eba2cd41fb35c079ab Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:44:01 +0000 Subject: [PATCH 06/70] translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ar.json | 2 -- invokeai/frontend/web/public/locales/de.json | 2 -- invokeai/frontend/web/public/locales/es.json | 5 +---- invokeai/frontend/web/public/locales/fr.json | 2 -- invokeai/frontend/web/public/locales/he.json | 2 -- invokeai/frontend/web/public/locales/it.json | 5 +---- invokeai/frontend/web/public/locales/ja.json | 1 - invokeai/frontend/web/public/locales/nl.json | 2 -- invokeai/frontend/web/public/locales/pl.json | 2 -- invokeai/frontend/web/public/locales/pt.json | 2 -- invokeai/frontend/web/public/locales/pt_BR.json | 2 -- invokeai/frontend/web/public/locales/ru.json | 3 --- invokeai/frontend/web/public/locales/uk.json | 2 -- invokeai/frontend/web/public/locales/zh_CN.json | 2 -- 14 files changed, 2 insertions(+), 32 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ar.json b/invokeai/frontend/web/public/locales/ar.json index cd015ec99e..4810b8afff 100644 --- a/invokeai/frontend/web/public/locales/ar.json +++ b/invokeai/frontend/web/public/locales/ar.json @@ -342,7 +342,6 @@ "cfgScale": "مقياس الإعداد الذاتي للجملة", "width": "عرض", "height": "ارتفاع", - "sampler": "مزج", "seed": "بذرة", "randomizeSeed": "تبديل بذرة", "shuffle": "تشغيل", @@ -412,7 +411,6 @@ "toast": { "tempFoldersEmptied": "تم تفريغ مجلد المؤقت", "uploadFailed": "فشل التحميل", - "uploadFailedMultipleImagesDesc": "تم الصق صور متعددة، قد يتم تحميل صورة واحدة فقط في الوقت الحالي", "uploadFailedUnableToLoadDesc": "تعذر تحميل الملف", "downloadImageStarted": "بدأ تنزيل الصورة", "imageCopied": "تم نسخ الصورة", diff --git a/invokeai/frontend/web/public/locales/de.json b/invokeai/frontend/web/public/locales/de.json index e4fd732bf4..c1d54ac199 100644 --- a/invokeai/frontend/web/public/locales/de.json +++ b/invokeai/frontend/web/public/locales/de.json @@ -346,7 +346,6 @@ "cfgScale": "CFG-Skala", "width": "Breite", "height": "Höhe", - "sampler": "Sampler", "randomizeSeed": "Zufälliger Seed", "shuffle": "Mischen", "noiseThreshold": "Rausch-Schwellenwert", @@ -415,7 +414,6 @@ "toast": { "tempFoldersEmptied": "Temp-Ordner geleert", "uploadFailed": "Hochladen fehlgeschlagen", - "uploadFailedMultipleImagesDesc": "Mehrere Bilder eingefügt, es kann nur ein Bild auf einmal hochgeladen werden", "uploadFailedUnableToLoadDesc": "Datei kann nicht geladen werden", "downloadImageStarted": "Bild wird heruntergeladen", "imageCopied": "Bild kopiert", diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index 68a35ca445..8c39e3d207 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -425,7 +425,6 @@ "cfgScale": "Escala CFG", "width": "Ancho", "height": "Alto", - "sampler": "Muestreo", "seed": "Semilla", "randomizeSeed": "Semilla aleatoria", "shuffle": "Aleatorizar", @@ -511,13 +510,11 @@ "general": "General", "consoleLogLevel": "Nivel del registro", "shouldLogToConsole": "Registro de la consola", - "developer": "Desarrollador", - "autoShowProgress": "Mostrar automáticamente el progreso de las imágenes" + "developer": "Desarrollador" }, "toast": { "tempFoldersEmptied": "Directorio temporal vaciado", "uploadFailed": "Error al subir archivo", - "uploadFailedMultipleImagesDesc": "Únicamente se puede subir una imágen a la vez", "uploadFailedUnableToLoadDesc": "No se pudo cargar la imágen", "downloadImageStarted": "Descargando imágen", "imageCopied": "Imágen copiada", diff --git a/invokeai/frontend/web/public/locales/fr.json b/invokeai/frontend/web/public/locales/fr.json index a60b12afcd..9e78c5b9ed 100644 --- a/invokeai/frontend/web/public/locales/fr.json +++ b/invokeai/frontend/web/public/locales/fr.json @@ -356,7 +356,6 @@ "cfgScale": "CFG Echelle", "width": "Largeur", "height": "Hauteur", - "sampler": "Echantillonneur", "seed": "Graine", "randomizeSeed": "Graine Aléatoire", "shuffle": "Mélanger", @@ -426,7 +425,6 @@ "toast": { "tempFoldersEmptied": "Dossiers temporaires vidés", "uploadFailed": "Téléchargement échoué", - "uploadFailedMultipleImagesDesc": "Plusieurs images collées, peut uniquement télécharger une image à la fois", "uploadFailedUnableToLoadDesc": "Impossible de charger le fichier", "downloadImageStarted": "Téléchargement de l'image démarré", "imageCopied": "Image copiée", diff --git a/invokeai/frontend/web/public/locales/he.json b/invokeai/frontend/web/public/locales/he.json index 2e7303b4cc..b485a7d2be 100644 --- a/invokeai/frontend/web/public/locales/he.json +++ b/invokeai/frontend/web/public/locales/he.json @@ -399,7 +399,6 @@ "cfgScale": "סולם CFG", "width": "רוחב", "height": "גובה", - "sampler": "דוגם", "seed": "זרע", "imageToImage": "תמונה לתמונה", "randomizeSeed": "זרע אקראי", @@ -483,7 +482,6 @@ }, "toast": { "uploadFailed": "העלאה נכשלה", - "uploadFailedMultipleImagesDesc": "תמונות מרובות הודבקו, ניתן להעלות תמונה אחת בלבד בכל פעם", "imageCopied": "התמונה הועתקה", "imageLinkCopied": "קישור תמונה הועתק", "imageNotLoadedDesc": "לא נמצאה תמונה לשליחה למודול תמונה לתמונה", diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 97f309bac6..3313e26c45 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -425,7 +425,6 @@ "cfgScale": "Scala CFG", "width": "Larghezza", "height": "Altezza", - "sampler": "Campionatore", "seed": "Seme", "randomizeSeed": "Seme randomizzato", "shuffle": "Casuale", @@ -511,13 +510,11 @@ "general": "Generale", "consoleLogLevel": "Livello del registro", "shouldLogToConsole": "Registrazione della console", - "developer": "Sviluppatore", - "autoShowProgress": "Visualizzazione automatica avanzamento immagini" + "developer": "Sviluppatore" }, "toast": { "tempFoldersEmptied": "Cartella temporanea svuotata", "uploadFailed": "Caricamento fallito", - "uploadFailedMultipleImagesDesc": "Più immagini incollate, si può caricare solo un'immagine alla volta", "uploadFailedUnableToLoadDesc": "Impossibile caricare il file", "downloadImageStarted": "Download dell'immagine avviato", "imageCopied": "Immagine copiata", diff --git a/invokeai/frontend/web/public/locales/ja.json b/invokeai/frontend/web/public/locales/ja.json index bb899da814..d7f4510789 100644 --- a/invokeai/frontend/web/public/locales/ja.json +++ b/invokeai/frontend/web/public/locales/ja.json @@ -372,7 +372,6 @@ }, "toast": { "uploadFailed": "アップロード失敗", - "uploadFailedMultipleImagesDesc": "一度にアップロードできる画像は1枚のみです。", "uploadFailedUnableToLoadDesc": "ファイルを読み込むことができません。", "downloadImageStarted": "画像ダウンロード開始", "imageCopied": "画像をコピー", diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index 95100fe9b5..8ffda36441 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -416,7 +416,6 @@ "cfgScale": "CFG-schaal", "width": "Breedte", "height": "Hoogte", - "sampler": "Sampler", "seed": "Seed", "randomizeSeed": "Willekeurige seed", "shuffle": "Meng", @@ -501,7 +500,6 @@ "toast": { "tempFoldersEmptied": "Tijdelijke map geleegd", "uploadFailed": "Upload mislukt", - "uploadFailedMultipleImagesDesc": "Meerdere afbeeldingen geplakt, slechts een afbeelding per keer toegestaan", "uploadFailedUnableToLoadDesc": "Kan bestand niet laden", "downloadImageStarted": "Afbeeldingsdownload gestart", "imageCopied": "Afbeelding gekopieerd", diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index eff6faaa4b..533bdca861 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -274,7 +274,6 @@ "cfgScale": "Skala CFG", "width": "Szerokość", "height": "Wysokość", - "sampler": "Próbkowanie", "seed": "Inicjator", "randomizeSeed": "Losowy inicjator", "shuffle": "Losuj", @@ -343,7 +342,6 @@ "toast": { "tempFoldersEmptied": "Wyczyszczono folder tymczasowy", "uploadFailed": "Błąd przesyłania obrazu", - "uploadFailedMultipleImagesDesc": "Możliwe jest przesłanie tylko jednego obrazu na raz", "uploadFailedUnableToLoadDesc": "Błąd wczytywania obrazu", "downloadImageStarted": "Rozpoczęto pobieranie", "imageCopied": "Skopiowano obraz", diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json index db4bc41fbb..f45a02381a 100644 --- a/invokeai/frontend/web/public/locales/pt.json +++ b/invokeai/frontend/web/public/locales/pt.json @@ -453,7 +453,6 @@ "steps": "Passos", "cfgScale": "Escala CFG", "height": "Altura", - "sampler": "Amostrador", "imageToImage": "Imagem para Imagem", "variationAmount": "Quntidade de Variatções", "scaledWidth": "L Escalada", @@ -493,7 +492,6 @@ }, "toast": { "uploadFailed": "Envio Falhou", - "uploadFailedMultipleImagesDesc": "Várias imagens copiadas, só é permitido uma imagem de cada vez", "uploadFailedUnableToLoadDesc": "Não foj possível carregar o ficheiro", "downloadImageStarted": "Download de Imagem Começou", "imageNotLoadedDesc": "Nenhuma imagem encontrada a enviar para o módulo de imagem para imagem", diff --git a/invokeai/frontend/web/public/locales/pt_BR.json b/invokeai/frontend/web/public/locales/pt_BR.json index 060e9e4351..42e7709d75 100644 --- a/invokeai/frontend/web/public/locales/pt_BR.json +++ b/invokeai/frontend/web/public/locales/pt_BR.json @@ -402,7 +402,6 @@ "cfgScale": "Escala CFG", "width": "Largura", "height": "Altura", - "sampler": "Amostrador", "seed": "Seed", "randomizeSeed": "Seed Aleatório", "shuffle": "Embaralhar", @@ -487,7 +486,6 @@ "toast": { "tempFoldersEmptied": "Pasta de Arquivos Temporários Esvaziada", "uploadFailed": "Envio Falhou", - "uploadFailedMultipleImagesDesc": "Várias imagens copiadas, só é permitido uma imagem de cada vez", "uploadFailedUnableToLoadDesc": "Não foj possível carregar o arquivo", "downloadImageStarted": "Download de Imagem Começou", "imageCopied": "Imagem Copiada", diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index 93c30025c3..d823b71a9b 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -425,7 +425,6 @@ "cfgScale": "Уровень CFG", "width": "Ширина", "height": "Высота", - "sampler": "Семплер", "seed": "Сид", "randomizeSeed": "Случайный сид", "shuffle": "Обновить", @@ -511,13 +510,11 @@ "consoleLogLevel": "Уровень логирования", "shouldLogToConsole": "Логи в консоль", "developer": "Разработчик", - "autoShowProgress": "Автопоказ изображений прогресса", "general": "Основное" }, "toast": { "tempFoldersEmptied": "Временная папка очищена", "uploadFailed": "Загрузка не удалась", - "uploadFailedMultipleImagesDesc": "Можно вставить только одно изображение (вы попробовали вставить несколько)", "uploadFailedUnableToLoadDesc": "Невозможно загрузить файл", "downloadImageStarted": "Скачивание изображения началось", "imageCopied": "Изображение скопировано", diff --git a/invokeai/frontend/web/public/locales/uk.json b/invokeai/frontend/web/public/locales/uk.json index fbccdb630e..00d710b5e4 100644 --- a/invokeai/frontend/web/public/locales/uk.json +++ b/invokeai/frontend/web/public/locales/uk.json @@ -417,7 +417,6 @@ "cfgScale": "Рівень CFG", "width": "Ширина", "height": "Висота", - "sampler": "Семплер", "seed": "Сід", "randomizeSeed": "Випадковий сид", "shuffle": "Оновити", @@ -504,7 +503,6 @@ "toast": { "tempFoldersEmptied": "Тимчасова папка очищена", "uploadFailed": "Не вдалося завантажити", - "uploadFailedMultipleImagesDesc": "Можна вставити лише одне зображення (ви спробували вставити декілька)", "uploadFailedUnableToLoadDesc": "Неможливо завантажити файл", "downloadImageStarted": "Завантаження зображення почалося", "imageCopied": "Зображення скопійоване", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index 2cf8baa825..e2ffa5797c 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -324,7 +324,6 @@ "cfgScale": "CFG 等级", "width": "宽度", "height": "高度", - "sampler": "采样算法", "seed": "种子", "randomizeSeed": "随机化种子", "shuffle": "随机化", @@ -393,7 +392,6 @@ "toast": { "tempFoldersEmptied": "临时文件夹已清空", "uploadFailed": "上传失败", - "uploadFailedMultipleImagesDesc": "多张图像被粘贴,同时只能上传一张图像", "uploadFailedUnableToLoadDesc": "无法加载文件", "downloadImageStarted": "图像下载已开始", "imageCopied": "图像已复制", From ba38aa56a5c0aecb3a854ede08c53fa701844402 Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Thu, 12 Oct 2023 12:44:04 +0000 Subject: [PATCH 07/70] translationBot(ui): update translation (Spanish) Currently translated at 100.0% (591 of 591 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (586 of 586 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (578 of 578 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (563 of 563 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (550 of 550 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (550 of 550 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (548 of 548 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (546 of 546 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (544 of 544 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (543 of 543 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (542 of 542 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (542 of 542 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (540 of 540 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (536 of 536 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (536 of 536 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (533 of 533 strings) translationBot(ui): update translation (Spanish) Currently translated at 99.8% (532 of 533 strings) Co-authored-by: gallegonovato Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/es.json | 118 ++++++++++++++++--- 1 file changed, 101 insertions(+), 17 deletions(-) diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index 8c39e3d207..8aa610653b 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -10,7 +10,7 @@ "greenTheme": "Verde", "img2img": "Imagen a Imagen", "unifiedCanvas": "Lienzo Unificado", - "nodes": "Nodos", + "nodes": "Editor de nodos", "langSpanish": "Español", "nodesDesc": "Un sistema de generación de imágenes basado en nodos, actualmente se encuentra en desarrollo. Mantente pendiente a nuestras actualizaciones acerca de esta fabulosa funcionalidad.", "postProcessing": "Post-procesamiento", @@ -79,7 +79,14 @@ "generate": "Generar", "openInNewTab": "Abrir en una nueva pestaña", "dontAskMeAgain": "No me preguntes de nuevo", - "areYouSure": "¿Estas seguro?" + "areYouSure": "¿Estas seguro?", + "imagePrompt": "Indicación de imagen", + "batch": "Administrador de lotes", + "modelmanager": "Administrador de modelos", + "darkMode": "Modo oscuro", + "lightMode": "Modo claro", + "modelManager": "Administrador de modelos", + "clearNodes": "¿Estás seguro de que deseas borrar todos los nodos?" }, "gallery": { "generations": "Generaciones", @@ -95,10 +102,12 @@ "pinGallery": "Fijar galería", "allImagesLoaded": "Todas las imágenes cargadas", "loadMore": "Cargar más", - "noImagesInGallery": "Sin imágenes en la galería", + "noImagesInGallery": "No hay imágenes para mostrar", "deleteImage": "Eliminar Imagen", "deleteImageBin": "Las imágenes eliminadas se enviarán a la papelera de tu sistema operativo.", - "deleteImagePermanent": "Las imágenes eliminadas no se pueden restaurar." + "deleteImagePermanent": "Las imágenes eliminadas no se pueden restaurar.", + "images": "Imágenes", + "assets": "Activos" }, "hotkeys": { "keyboardShortcuts": "Atajos de teclado", @@ -357,8 +366,8 @@ "delete": "Eliminar", "deleteModel": "Eliminar Modelo", "deleteConfig": "Eliminar Configuración", - "deleteMsg1": "¿Estás seguro de querer eliminar esta entrada de modelo de InvokeAI?", - "deleteMsg2": "El checkpoint del modelo no se eliminará de tu disco. Puedes volver a añadirlo si lo deseas.", + "deleteMsg1": "¿Estás seguro de que deseas eliminar este modelo de InvokeAI?", + "deleteMsg2": "Esto eliminará el modelo del disco si está en la carpeta raíz de InvokeAI. Si está utilizando una ubicación personalizada, el modelo NO se eliminará del disco.", "safetensorModels": "SafeTensors", "addDiffuserModel": "Añadir difusores", "inpainting": "v1 Repintado", @@ -377,8 +386,8 @@ "convertToDiffusers": "Convertir en difusores", "convertToDiffusersHelpText1": "Este modelo se convertirá al formato 🧨 Difusores.", "convertToDiffusersHelpText2": "Este proceso sustituirá su entrada del Gestor de Modelos por la versión de Difusores del mismo modelo.", - "convertToDiffusersHelpText3": "Su archivo de puntos de control en el disco NO será borrado ni modificado de ninguna manera. Puede volver a añadir su punto de control al Gestor de Modelos si lo desea.", - "convertToDiffusersHelpText5": "Asegúrese de que dispone de suficiente espacio en disco. Los modelos suelen variar entre 4 GB y 7 GB de tamaño.", + "convertToDiffusersHelpText3": "Tu archivo del punto de control en el disco se eliminará si está en la carpeta raíz de InvokeAI. Si está en una ubicación personalizada, NO se eliminará.", + "convertToDiffusersHelpText5": "Por favor, asegúrate de tener suficiente espacio en el disco. Los modelos generalmente varían entre 2 GB y 7 GB de tamaño.", "convertToDiffusersHelpText6": "¿Desea transformar este modelo?", "convertToDiffusersSaveLocation": "Guardar ubicación", "v1": "v1", @@ -417,7 +426,24 @@ "pickModelType": "Elige el tipo de modelo", "v2_768": "v2 (768px)", "addDifference": "Añadir una diferencia", - "scanForModels": "Buscar modelos" + "scanForModels": "Buscar modelos", + "vae": "VAE", + "variant": "Variante", + "baseModel": "Modelo básico", + "modelConversionFailed": "Conversión al modelo fallida", + "selectModel": "Seleccionar un modelo", + "modelUpdateFailed": "Error al actualizar el modelo", + "modelsMergeFailed": "Fusión del modelo fallida", + "convertingModelBegin": "Convirtiendo el modelo. Por favor, espere.", + "modelDeleted": "Modelo eliminado", + "modelDeleteFailed": "Error al borrar el modelo", + "noCustomLocationProvided": "‐No se proporcionó una ubicación personalizada", + "importModels": "Importar los modelos", + "settings": "Ajustes", + "syncModels": "Sincronizar las plantillas", + "syncModelsDesc": "Si tus plantillas no están sincronizados con el backend, puedes actualizarlas usando esta opción. Esto suele ser útil en los casos en los que actualizas manualmente tu archivo models.yaml o añades plantillas a la carpeta raíz de InvokeAI después de que la aplicación haya arrancado.", + "modelsSynced": "Plantillas sincronizadas", + "modelSyncFailed": "La sincronización de la plantilla falló" }, "parameters": { "images": "Imágenes", @@ -427,7 +453,7 @@ "height": "Alto", "seed": "Semilla", "randomizeSeed": "Semilla aleatoria", - "shuffle": "Aleatorizar", + "shuffle": "Semilla aleatoria", "noiseThreshold": "Umbral de Ruido", "perlinNoise": "Ruido Perlin", "variations": "Variaciones", @@ -492,11 +518,22 @@ "denoisingStrength": "Intensidad de la eliminación del ruido", "hiresStrength": "Alta resistencia", "showPreview": "Mostrar la vista previa", - "hidePreview": "Ocultar la vista previa" + "hidePreview": "Ocultar la vista previa", + "noiseSettings": "Ruido", + "seamlessXAxis": "Eje x", + "seamlessYAxis": "Eje y", + "scheduler": "Programador", + "boundingBoxWidth": "Anchura del recuadro", + "boundingBoxHeight": "Altura del recuadro", + "positivePromptPlaceholder": "Prompt Positivo", + "negativePromptPlaceholder": "Prompt Negativo", + "controlNetControlMode": "Modo de control", + "clipSkip": "Omitir el CLIP", + "aspectRatio": "Relación" }, "settings": { "models": "Modelos", - "displayInProgress": "Mostrar imágenes en progreso", + "displayInProgress": "Mostrar las imágenes del progreso", "saveSteps": "Guardar imágenes cada n pasos", "confirmOnDelete": "Confirmar antes de eliminar", "displayHelpIcons": "Mostrar iconos de ayuda", @@ -510,7 +547,19 @@ "general": "General", "consoleLogLevel": "Nivel del registro", "shouldLogToConsole": "Registro de la consola", - "developer": "Desarrollador" + "developer": "Desarrollador", + "antialiasProgressImages": "Imágenes del progreso de Antialias", + "showProgressInViewer": "Mostrar las imágenes del progreso en el visor", + "availableSchedulers": "Programadores disponibles", + "ui": "Interfaz del usuario", + "generation": "Generación", + "favoriteSchedulers": "Programadores favoritos", + "favoriteSchedulersPlaceholder": "No hay programadores favoritos", + "showAdvancedOptions": "Mostrar las opciones avanzadas", + "alternateCanvasLayout": "Diseño alternativo del lienzo", + "beta": "Beta", + "enableNodesEditor": "Activar el editor de nodos", + "experimental": "Experimental" }, "toast": { "tempFoldersEmptied": "Directorio temporal vaciado", @@ -520,7 +569,7 @@ "imageCopied": "Imágen copiada", "imageLinkCopied": "Enlace de imágen copiado", "imageNotLoaded": "No se cargó la imágen", - "imageNotLoadedDesc": "No se encontró imagen para enviar al módulo Imagen a Imagen", + "imageNotLoadedDesc": "No se pudo encontrar la imagen", "imageSavedToGallery": "Imágen guardada en la galería", "canvasMerged": "Lienzo consolidado", "sentToImageToImage": "Enviar hacia Imagen a Imagen", @@ -545,7 +594,21 @@ "serverError": "Error en el servidor", "disconnected": "Desconectado del servidor", "canceled": "Procesando la cancelación", - "connected": "Conectado al servidor" + "connected": "Conectado al servidor", + "problemCopyingImageLink": "No se puede copiar el enlace de la imagen", + "uploadFailedInvalidUploadDesc": "Debe ser una sola imagen PNG o JPEG", + "parameterSet": "Conjunto de parámetros", + "parameterNotSet": "Parámetro no configurado", + "nodesSaved": "Nodos guardados", + "nodesLoadedFailed": "Error al cargar los nodos", + "nodesLoaded": "Nodos cargados", + "nodesCleared": "Nodos borrados", + "problemCopyingImage": "No se puede copiar la imagen", + "nodesNotValidJSON": "JSON no válido", + "nodesCorruptedGraph": "No se puede cargar. El gráfico parece estar dañado.", + "nodesUnrecognizedTypes": "No se puede cargar. El gráfico tiene tipos no reconocidos", + "nodesNotValidGraph": "Gráfico del nodo InvokeAI no válido", + "nodesBrokenConnections": "No se puede cargar. Algunas conexiones están rotas." }, "tooltip": { "feature": { @@ -619,7 +682,8 @@ "betaClear": "Limpiar", "betaDarkenOutside": "Oscurecer fuera", "betaLimitToBox": "Limitar a caja", - "betaPreserveMasked": "Preservar área enmascarada" + "betaPreserveMasked": "Preservar área enmascarada", + "antialiasing": "Suavizado" }, "accessibility": { "invokeProgressBar": "Activar la barra de progreso", @@ -646,6 +710,26 @@ }, "ui": { "hideProgressImages": "Ocultar el progreso de la imagen", - "showProgressImages": "Mostrar el progreso de la imagen" + "showProgressImages": "Mostrar el progreso de la imagen", + "swapSizes": "Cambiar los tamaños" + }, + "nodes": { + "reloadSchema": "Esquema de recarga", + "loadNodes": "Nodos de carga", + "clearNodes": "Borrar los nodos", + "saveNodes": "Guardar los nodos", + "showGraphNodes": "Mostrar la superposición de los gráficos", + "zoomInNodes": "Acercar", + "hideMinimapnodes": "Ocultar el minimapa", + "fitViewportNodes": "Ajustar la vista", + "zoomOutNodes": "Alejar", + "hideGraphNodes": "Ocultar la superposición de los gráficos", + "hideLegendNodes": "Ocultar la leyenda del tipo de campo", + "showLegendNodes": "Mostrar la leyenda del tipo de campo", + "showMinimapnodes": "Mostrar el minimapa", + "saveGraph": "Guardar el gráfico", + "clearGraph": "Borrar el gráfico", + "clearGraphDesc": "¿Estás seguro de que deseas borrar todos los nodos?", + "loadGraph": "Cargar el gráfico (guardado desde el Editor de nodos) (No copiar y pegar los metadatos)" } } From 732ab38ca6bf1717036075bebef9e7f8246a942f Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Thu, 12 Oct 2023 12:44:07 +0000 Subject: [PATCH 08/70] translationBot(ui): update translation (Italian) Currently translated at 100.0% (542 of 542 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (542 of 542 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (540 of 540 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (538 of 538 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (536 of 536 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (536 of 536 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (536 of 536 strings) translationBot(ui): update translation (Italian) Currently translated at 99.8% (535 of 536 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (533 of 533 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (533 of 533 strings) Co-authored-by: Riccardo Giovanetti Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 43 +++++++++++++++----- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 3313e26c45..251bae38f0 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -2,7 +2,7 @@ "common": { "hotkeysLabel": "Tasti di scelta rapida", "themeLabel": "Tema", - "languagePickerLabel": "Seleziona lingua", + "languagePickerLabel": "Lingua", "reportBugLabel": "Segnala un errore", "settingsLabel": "Impostazioni", "darkTheme": "Scuro", @@ -10,7 +10,7 @@ "greenTheme": "Verde", "img2img": "Immagine a Immagine", "unifiedCanvas": "Tela unificata", - "nodes": "Nodi", + "nodes": "Editor dei Nodi", "langItalian": "Italiano", "nodesDesc": "Attualmente è in fase di sviluppo un sistema basato su nodi per la generazione di immagini. Resta sintonizzato per gli aggiornamenti su questa fantastica funzionalità.", "postProcessing": "Post-elaborazione", @@ -79,7 +79,8 @@ "random": "Casuale", "openInNewTab": "Apri in una nuova scheda", "areYouSure": "Sei sicuro?", - "dontAskMeAgain": "Non chiedermelo più" + "dontAskMeAgain": "Non chiedermelo più", + "imagePrompt": "Prompt Immagine" }, "gallery": { "generations": "Generazioni", @@ -98,7 +99,9 @@ "noImagesInGallery": "Nessuna immagine nella galleria", "deleteImage": "Elimina l'immagine", "deleteImagePermanent": "Le immagini eliminate non possono essere ripristinate.", - "deleteImageBin": "Le immagini eliminate verranno spostate nel Cestino del tuo sistema operativo." + "deleteImageBin": "Le immagini eliminate verranno spostate nel Cestino del tuo sistema operativo.", + "images": "Immagini", + "assets": "Risorse" }, "hotkeys": { "keyboardShortcuts": "Tasti rapidi", @@ -427,7 +430,7 @@ "height": "Altezza", "seed": "Seme", "randomizeSeed": "Seme randomizzato", - "shuffle": "Casuale", + "shuffle": "Mescola il seme", "noiseThreshold": "Soglia del rumore", "perlinNoise": "Rumore Perlin", "variations": "Variazioni", @@ -492,11 +495,19 @@ "vSymmetryStep": "Passi Simmetria Verticale", "symmetry": "Simmetria", "hidePreview": "Nascondi l'anteprima", - "showPreview": "Mostra l'anteprima" + "showPreview": "Mostra l'anteprima", + "noiseSettings": "Rumore", + "seamlessXAxis": "Asse X", + "seamlessYAxis": "Asse Y", + "scheduler": "Campionatore", + "boundingBoxWidth": "Larghezza riquadro di delimitazione", + "boundingBoxHeight": "Altezza riquadro di delimitazione", + "positivePromptPlaceholder": "Prompt Positivo", + "negativePromptPlaceholder": "Prompt Negativo" }, "settings": { "models": "Modelli", - "displayInProgress": "Visualizza immagini in corso", + "displayInProgress": "Visualizza le immagini di avanzamento", "saveSteps": "Salva le immagini ogni n passaggi", "confirmOnDelete": "Conferma l'eliminazione", "displayHelpIcons": "Visualizza le icone della Guida", @@ -510,7 +521,12 @@ "general": "Generale", "consoleLogLevel": "Livello del registro", "shouldLogToConsole": "Registrazione della console", - "developer": "Sviluppatore" + "developer": "Sviluppatore", + "antialiasProgressImages": "Anti aliasing delle immagini di avanzamento", + "showProgressInViewer": "Mostra le immagini di avanzamento nel visualizzatore", + "generation": "Generazione", + "ui": "Interfaccia Utente", + "availableSchedulers": "Campionatori disponibili" }, "toast": { "tempFoldersEmptied": "Cartella temporanea svuotata", @@ -520,7 +536,7 @@ "imageCopied": "Immagine copiata", "imageLinkCopied": "Collegamento immagine copiato", "imageNotLoaded": "Nessuna immagine caricata", - "imageNotLoadedDesc": "Nessuna immagine trovata da inviare al modulo da Immagine a Immagine", + "imageNotLoadedDesc": "Impossibile trovare l'immagine", "imageSavedToGallery": "Immagine salvata nella Galleria", "canvasMerged": "Tela unita", "sentToImageToImage": "Inviato a da Immagine a Immagine", @@ -545,7 +561,11 @@ "serverError": "Errore del Server", "disconnected": "Disconnesso dal Server", "connected": "Connesso al Server", - "canceled": "Elaborazione annullata" + "canceled": "Elaborazione annullata", + "problemCopyingImageLink": "Impossibile copiare il collegamento dell'immagine", + "uploadFailedInvalidUploadDesc": "Deve essere una singola immagine PNG o JPEG", + "parameterSet": "Parametro impostato", + "parameterNotSet": "Parametro non impostato" }, "tooltip": { "feature": { @@ -619,7 +639,8 @@ "betaClear": "Svuota", "betaDarkenOutside": "Oscura all'esterno", "betaLimitToBox": "Limita al rettangolo", - "betaPreserveMasked": "Conserva quanto mascherato" + "betaPreserveMasked": "Conserva quanto mascherato", + "antialiasing": "Anti aliasing" }, "accessibility": { "modelSelect": "Seleziona modello", From 494bde785e18ebe1bab9e38a70e4c5a2295bef79 Mon Sep 17 00:00:00 2001 From: System X - Files Date: Thu, 12 Oct 2023 12:44:08 +0000 Subject: [PATCH 09/70] translationBot(ui): update translation (Russian) Currently translated at 100.0% (542 of 542 strings) translationBot(ui): update translation (Russian) Currently translated at 100.0% (542 of 542 strings) translationBot(ui): update translation (Russian) Currently translated at 98.8% (536 of 542 strings) translationBot(ui): update translation (Russian) Currently translated at 100.0% (536 of 536 strings) translationBot(ui): update translation (Russian) Currently translated at 100.0% (533 of 533 strings) Co-authored-by: System X - Files Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ru.json | 39 +++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index d823b71a9b..a0d3a26ca6 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -10,7 +10,7 @@ "greenTheme": "Зеленая", "img2img": "Изображение в изображение (img2img)", "unifiedCanvas": "Единый холст", - "nodes": "Ноды", + "nodes": "Редактор нод", "langRussian": "Русский", "nodesDesc": "Cистема генерации изображений на основе нодов (узлов) уже разрабатывается. Следите за новостями об этой замечательной функции.", "postProcessing": "Постобработка", @@ -79,7 +79,8 @@ "areYouSure": "Вы уверены?", "random": "Случайное", "generate": "Сгенерировать", - "openInNewTab": "Открыть в новой вкладке" + "openInNewTab": "Открыть в новой вкладке", + "imagePrompt": "Запрос" }, "gallery": { "generations": "Генерации", @@ -98,7 +99,9 @@ "noImagesInGallery": "Изображений нет", "deleteImagePermanent": "Удаленные изображения невозможно восстановить.", "deleteImageBin": "Удаленные изображения будут отправлены в корзину вашей операционной системы.", - "deleteImage": "Удалить изображение" + "deleteImage": "Удалить изображение", + "images": "Изображения", + "assets": "Ресурсы" }, "hotkeys": { "keyboardShortcuts": "Горячие клавиши", @@ -427,7 +430,7 @@ "height": "Высота", "seed": "Сид", "randomizeSeed": "Случайный сид", - "shuffle": "Обновить", + "shuffle": "Обновить сид", "noiseThreshold": "Порог шума", "perlinNoise": "Шум Перлина", "variations": "Вариации", @@ -492,7 +495,15 @@ "denoisingStrength": "Сила шумоподавления", "copyImage": "Скопировать изображение", "negativePrompts": "Исключающий запрос", - "showPreview": "Показать предпросмотр" + "showPreview": "Показать предпросмотр", + "noiseSettings": "Шум", + "seamlessXAxis": "Ось X", + "seamlessYAxis": "Ось Y", + "scheduler": "Планировщик", + "boundingBoxWidth": "Ширина ограничивающей рамки", + "boundingBoxHeight": "Высота ограничивающей рамки", + "positivePromptPlaceholder": "Запрос", + "negativePromptPlaceholder": "Исключающий запрос" }, "settings": { "models": "Модели", @@ -510,7 +521,12 @@ "consoleLogLevel": "Уровень логирования", "shouldLogToConsole": "Логи в консоль", "developer": "Разработчик", - "general": "Основное" + "general": "Основное", + "showProgressInViewer": "Показывать процесс генерации в Просмотрщике", + "antialiasProgressImages": "Сглаживать предпоказ процесса генерации", + "generation": "Поколение", + "ui": "Пользовательский интерфейс", + "availableSchedulers": "Доступные планировщики" }, "toast": { "tempFoldersEmptied": "Временная папка очищена", @@ -520,7 +536,7 @@ "imageCopied": "Изображение скопировано", "imageLinkCopied": "Ссылка на изображение скопирована", "imageNotLoaded": "Изображение не загружено", - "imageNotLoadedDesc": "Не найдены изображения для отправки в img2img", + "imageNotLoadedDesc": "Не удалось найти изображение", "imageSavedToGallery": "Изображение сохранено в галерею", "canvasMerged": "Холст объединен", "sentToImageToImage": "Отправить в img2img", @@ -545,7 +561,11 @@ "serverError": "Ошибка сервера", "disconnected": "Отключено от сервера", "connected": "Подключено к серверу", - "canceled": "Обработка отменена" + "canceled": "Обработка отменена", + "problemCopyingImageLink": "Не удалось скопировать ссылку на изображение", + "uploadFailedInvalidUploadDesc": "Должно быть одно изображение в формате PNG или JPEG", + "parameterNotSet": "Параметр не задан", + "parameterSet": "Параметр задан" }, "tooltip": { "feature": { @@ -619,7 +639,8 @@ "betaClear": "Очистить", "betaDarkenOutside": "Затемнить снаружи", "betaLimitToBox": "Ограничить выделением", - "betaPreserveMasked": "Сохранять маскируемую область" + "betaPreserveMasked": "Сохранять маскируемую область", + "antialiasing": "Не удалось скопировать ссылку на изображение" }, "accessibility": { "modelSelect": "Выбор модели", From 6905c61912cdb35a7d0d8304e3fde7a5beb4dece Mon Sep 17 00:00:00 2001 From: nekowaiz Date: Thu, 12 Oct 2023 12:44:09 +0000 Subject: [PATCH 10/70] translationBot(ui): update translation (Chinese (Traditional)) Currently translated at 8.9% (48 of 536 strings) Co-authored-by: nekowaiz Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hant/ Translation: InvokeAI/Web UI --- .../frontend/web/public/locales/zh_Hant.json | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/public/locales/zh_Hant.json b/invokeai/frontend/web/public/locales/zh_Hant.json index 98b4882018..f69e1c7f39 100644 --- a/invokeai/frontend/web/public/locales/zh_Hant.json +++ b/invokeai/frontend/web/public/locales/zh_Hant.json @@ -33,6 +33,24 @@ "langBrPortuguese": "巴西葡萄牙語", "langRussian": "俄語", "langSpanish": "西班牙語", - "unifiedCanvas": "統一畫布" + "unifiedCanvas": "統一畫布", + "cancel": "取消", + "langHebrew": "希伯來語", + "txt2img": "文字轉圖片" + }, + "accessibility": { + "modelSelect": "選擇模型", + "invokeProgressBar": "Invoke 進度條", + "uploadImage": "上傳圖片", + "reset": "重設", + "nextImage": "下一張圖片", + "previousImage": "上一張圖片", + "flipHorizontally": "水平翻轉", + "useThisParameter": "使用此參數", + "zoomIn": "放大", + "zoomOut": "縮小", + "flipVertically": "垂直翻轉", + "modifyConfig": "修改配置", + "menu": "選單" } } From 320ef15ee9c7c2e40ff1cf928673fbc337a10a0e Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 12 Oct 2023 12:44:11 +0000 Subject: [PATCH 11/70] translationBot(ui): update translation (Dutch) Currently translated at 100.0% (538 of 538 strings) Co-authored-by: Dennis Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/nl/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/nl.json | 63 ++++++++++++++++---- 1 file changed, 51 insertions(+), 12 deletions(-) diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index 8ffda36441..10babac1c5 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -2,7 +2,7 @@ "common": { "hotkeysLabel": "Sneltoetsen", "themeLabel": "Thema", - "languagePickerLabel": "Taalkeuze", + "languagePickerLabel": "Taal", "reportBugLabel": "Meld bug", "settingsLabel": "Instellingen", "darkTheme": "Donker", @@ -10,7 +10,7 @@ "greenTheme": "Groen", "img2img": "Afbeelding naar afbeelding", "unifiedCanvas": "Centraal canvas", - "nodes": "Knooppunten", + "nodes": "Knooppunt-editor", "langDutch": "Nederlands", "nodesDesc": "Een op knooppunten gebaseerd systeem voor het genereren van afbeeldingen is momenteel in ontwikkeling. Blijf op de hoogte voor nieuws over deze verbluffende functie.", "postProcessing": "Naverwerking", @@ -73,7 +73,14 @@ "langHebrew": "עברית", "langKorean": "한국어", "txt2img": "Tekst naar afbeelding", - "postprocessing": "Nabewerking" + "postprocessing": "Nabewerking", + "dontAskMeAgain": "Vraag niet opnieuw", + "imagePrompt": "Afbeeldingsprompt", + "random": "Willekeurig", + "generate": "Genereer", + "openInNewTab": "Open in nieuw tabblad", + "areYouSure": "Weet je het zeker?", + "linear": "Lineair" }, "gallery": { "generations": "Gegenereerde afbeeldingen", @@ -89,7 +96,12 @@ "pinGallery": "Zet galerij vast", "allImagesLoaded": "Alle afbeeldingen geladen", "loadMore": "Laad meer", - "noImagesInGallery": "Geen afbeeldingen in galerij" + "noImagesInGallery": "Geen afbeeldingen in galerij", + "deleteImage": "Wis afbeelding", + "deleteImageBin": "Gewiste afbeeldingen worden naar de prullenbak van je besturingssysteem gestuurd.", + "deleteImagePermanent": "Gewiste afbeeldingen kunnen niet worden hersteld.", + "assets": "Eigen onderdelen", + "images": "Afbeeldingen" }, "hotkeys": { "keyboardShortcuts": "Sneltoetsen", @@ -418,7 +430,7 @@ "height": "Hoogte", "seed": "Seed", "randomizeSeed": "Willekeurige seed", - "shuffle": "Meng", + "shuffle": "Mengseed", "noiseThreshold": "Drempelwaarde ruis", "perlinNoise": "Perlinruis", "variations": "Variaties", @@ -481,11 +493,17 @@ "copyImage": "Kopieer afbeelding", "imageToImage": "Afbeelding naar afbeelding", "denoisingStrength": "Sterkte ontruisen", - "hiresStrength": "Sterkte hogere resolutie" + "hiresStrength": "Sterkte hogere resolutie", + "scheduler": "Planner", + "noiseSettings": "Ruis", + "seamlessXAxis": "X-as", + "seamlessYAxis": "Y-as", + "hidePreview": "Verberg voorvertoning", + "showPreview": "Toon voorvertoning" }, "settings": { "models": "Modellen", - "displayInProgress": "Toon afbeeldingen gedurende verwerking", + "displayInProgress": "Toon voortgangsafbeeldingen", "saveSteps": "Bewaar afbeeldingen elke n stappen", "confirmOnDelete": "Bevestig bij verwijderen", "displayHelpIcons": "Toon hulppictogrammen", @@ -495,7 +513,16 @@ "resetWebUIDesc1": "Herstel web-UI herstelt alleen de lokale afbeeldingscache en de onthouden instellingen van je browser. Het verwijdert geen afbeeldingen van schijf.", "resetWebUIDesc2": "Als afbeeldingen niet getoond worden in de galerij of iets anders werkt niet, probeer dan eerst deze herstelfunctie voordat je een fout aanmeldt op GitHub.", "resetComplete": "Webgebruikersinterface is hersteld. Vernieuw de pasgina om opnieuw te laden.", - "useSlidersForAll": "Gebruik schuifbalken voor alle opties" + "useSlidersForAll": "Gebruik schuifbalken voor alle opties", + "consoleLogLevel": "Logboekniveau", + "shouldLogToConsole": "Schrijf logboek naar console", + "developer": "Ontwikkelaar", + "general": "Algemeen", + "showProgressInViewer": "Toon voortgangsafbeeldingen in viewer", + "generation": "Generatie", + "ui": "Gebruikersinterface", + "availableSchedulers": "Beschikbare planners", + "antialiasProgressImages": "Voer anti-aliasing uit op voortgangsafbeeldingen" }, "toast": { "tempFoldersEmptied": "Tijdelijke map geleegd", @@ -505,7 +532,7 @@ "imageCopied": "Afbeelding gekopieerd", "imageLinkCopied": "Afbeeldingskoppeling gekopieerd", "imageNotLoaded": "Geen afbeelding geladen", - "imageNotLoadedDesc": "Geen afbeelding gevonden om te sturen naar de module Afbeelding naar afbeelding", + "imageNotLoadedDesc": "Geen afbeeldingen gevonden", "imageSavedToGallery": "Afbeelding opgeslagen naar galerij", "canvasMerged": "Canvas samengevoegd", "sentToImageToImage": "Gestuurd naar Afbeelding naar afbeelding", @@ -526,7 +553,13 @@ "metadataLoadFailed": "Fout bij laden metagegevens", "initialImageSet": "Initiële afbeelding ingesteld", "initialImageNotSet": "Initiële afbeelding niet ingesteld", - "initialImageNotSetDesc": "Kan initiële afbeelding niet laden" + "initialImageNotSetDesc": "Kan initiële afbeelding niet laden", + "serverError": "Serverfout", + "disconnected": "Verbinding met server verbroken", + "connected": "Verbonden met server", + "canceled": "Verwerking geannuleerd", + "uploadFailedInvalidUploadDesc": "Moet een enkele PNG- of JPEG-afbeelding zijn", + "problemCopyingImageLink": "Kan afbeeldingslink niet kopiëren" }, "tooltip": { "feature": { @@ -600,7 +633,8 @@ "betaClear": "Wis", "betaDarkenOutside": "Verduister buiten tekenvak", "betaLimitToBox": "Beperk tot tekenvak", - "betaPreserveMasked": "Behoud masker" + "betaPreserveMasked": "Behoud masker", + "antialiasing": "Anti-aliasing" }, "accessibility": { "exitViewer": "Stop viewer", @@ -622,6 +656,11 @@ "toggleAutoscroll": "Autom. scrollen aan/uit", "toggleLogViewer": "Logboekviewer aan/uit", "showGallery": "Toon galerij", - "showOptionsPanel": "Toon deelscherm Opties" + "showOptionsPanel": "Toon deelscherm Opties", + "menu": "Menu" + }, + "ui": { + "showProgressImages": "Toon voortgangsafbeeldingen", + "hideProgressImages": "Verberg voortgangsafbeeldingen" } } From 83b123f1f6e8d97a2cf36d917d6b8f3202cad19f Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:44:15 +0000 Subject: [PATCH 12/70] translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ar.json | 1 - invokeai/frontend/web/public/locales/de.json | 1 - invokeai/frontend/web/public/locales/es.json | 2 -- invokeai/frontend/web/public/locales/fr.json | 1 - invokeai/frontend/web/public/locales/he.json | 4 +--- invokeai/frontend/web/public/locales/it.json | 2 -- invokeai/frontend/web/public/locales/nl.json | 2 -- invokeai/frontend/web/public/locales/pl.json | 1 - invokeai/frontend/web/public/locales/pt.json | 2 -- invokeai/frontend/web/public/locales/pt_BR.json | 2 -- invokeai/frontend/web/public/locales/ru.json | 2 -- invokeai/frontend/web/public/locales/uk.json | 4 +--- invokeai/frontend/web/public/locales/zh_CN.json | 1 - 13 files changed, 2 insertions(+), 23 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ar.json b/invokeai/frontend/web/public/locales/ar.json index 4810b8afff..47a4169ef2 100644 --- a/invokeai/frontend/web/public/locales/ar.json +++ b/invokeai/frontend/web/public/locales/ar.json @@ -378,7 +378,6 @@ "img2imgStrength": "قوة صورة إلى صورة", "toggleLoopback": "تبديل الإعادة", "invoke": "إطلاق", - "promptPlaceholder": "اكتب المحث هنا. [العلامات السلبية], (زيادة الوزن) ++, (نقص الوزن)--, التبديل و الخلط متاحة (انظر الوثائق)", "sendTo": "أرسل إلى", "sendToImg2Img": "أرسل إلى صورة إلى صورة", "sendToUnifiedCanvas": "أرسل إلى الخطوط الموحدة", diff --git a/invokeai/frontend/web/public/locales/de.json b/invokeai/frontend/web/public/locales/de.json index c1d54ac199..15278a8905 100644 --- a/invokeai/frontend/web/public/locales/de.json +++ b/invokeai/frontend/web/public/locales/de.json @@ -381,7 +381,6 @@ "img2imgStrength": "Bild-zu-Bild-Stärke", "toggleLoopback": "Toggle Loopback", "invoke": "Invoke", - "promptPlaceholder": "Prompt hier eingeben. [negative Token], (mehr Gewicht)++, (geringeres Gewicht)--, Tausch und Überblendung sind verfügbar (siehe Dokumente)", "sendTo": "Senden an", "sendToImg2Img": "Senden an Bild zu Bild", "sendToUnifiedCanvas": "Senden an Unified Canvas", diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index 8aa610653b..fdd4ec3a51 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -487,7 +487,6 @@ "img2imgStrength": "Peso de Imagen a Imagen", "toggleLoopback": "Alternar Retroalimentación", "invoke": "Invocar", - "promptPlaceholder": "Ingrese la entrada aquí. [símbolos negativos], (subir peso)++, (bajar peso)--, también disponible alternado y mezclado (ver documentación)", "sendTo": "Enviar a", "sendToImg2Img": "Enviar a Imagen a Imagen", "sendToUnifiedCanvas": "Enviar a Lienzo Unificado", @@ -513,7 +512,6 @@ }, "copyImage": "Copiar la imagen", "general": "General", - "negativePrompts": "Preguntas negativas", "imageToImage": "Imagen a imagen", "denoisingStrength": "Intensidad de la eliminación del ruido", "hiresStrength": "Alta resistencia", diff --git a/invokeai/frontend/web/public/locales/fr.json b/invokeai/frontend/web/public/locales/fr.json index 9e78c5b9ed..31c092a9d7 100644 --- a/invokeai/frontend/web/public/locales/fr.json +++ b/invokeai/frontend/web/public/locales/fr.json @@ -392,7 +392,6 @@ "img2imgStrength": "Force de l'Image à l'Image", "toggleLoopback": "Activer/Désactiver la Boucle", "invoke": "Invoker", - "promptPlaceholder": "Tapez le prompt ici. [tokens négatifs], (poids positif)++, (poids négatif)--, swap et blend sont disponibles (voir les docs)", "sendTo": "Envoyer à", "sendToImg2Img": "Envoyer à Image à Image", "sendToUnifiedCanvas": "Envoyer au Canvas Unifié", diff --git a/invokeai/frontend/web/public/locales/he.json b/invokeai/frontend/web/public/locales/he.json index b485a7d2be..2b07762b9a 100644 --- a/invokeai/frontend/web/public/locales/he.json +++ b/invokeai/frontend/web/public/locales/he.json @@ -438,7 +438,6 @@ "immediate": "ביטול מיידי", "setType": "הגדר סוג ביטול" }, - "negativePrompts": "בקשות שליליות", "sendTo": "שליחה אל", "copyImage": "העתקת תמונה", "downloadImage": "הורדת תמונה", @@ -463,8 +462,7 @@ "seamlessTiling": "ריצוף חלק", "img2imgStrength": "חוזק תמונה לתמונה", "initialImage": "תמונה ראשונית", - "copyImageToLink": "העתקת תמונה לקישור", - "promptPlaceholder": "הקלד בקשה כאן. [אסימונים שליליים], (העלאת משקל)++ , (הורדת משקל)--, החלפה ומיזוג זמינים (ראה מסמכים)" + "copyImageToLink": "העתקת תמונה לקישור" }, "settings": { "models": "מודלים", diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 251bae38f0..a7098f0370 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -464,7 +464,6 @@ "img2imgStrength": "Forza da Immagine a Immagine", "toggleLoopback": "Attiva/disattiva elaborazione ricorsiva", "invoke": "Invoke", - "promptPlaceholder": "Digita qui il prompt usando termini in lingua inglese. [token negativi], (aumenta il peso)++, (diminuisci il peso)--, scambia e fondi sono disponibili (consulta la documentazione)", "sendTo": "Invia a", "sendToImg2Img": "Invia a da Immagine a Immagine", "sendToUnifiedCanvas": "Invia a Tela Unificata", @@ -483,7 +482,6 @@ "denoisingStrength": "Forza riduzione rumore", "copyImage": "Copia immagine", "hiresStrength": "Forza Alta Risoluzione", - "negativePrompts": "Prompt Negativi", "imageToImage": "Immagine a Immagine", "cancel": { "schedule": "Annulla dopo l'iterazione corrente", diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index 10babac1c5..f392116fe4 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -464,7 +464,6 @@ "img2imgStrength": "Sterkte Afbeelding naar afbeelding", "toggleLoopback": "Zet recursieve verwerking aan/uit", "invoke": "Genereer", - "promptPlaceholder": "Voer invoertekst hier in. [negatieve trefwoorden], (verhoogdgewicht)++, (verlaagdgewicht)--, swap (wisselen) en blend (mengen) zijn beschikbaar (zie documentatie)", "sendTo": "Stuur naar", "sendToImg2Img": "Stuur naar Afbeelding naar afbeelding", "sendToUnifiedCanvas": "Stuur naar Centraal canvas", @@ -488,7 +487,6 @@ "setType": "Stel annuleervorm in", "schedule": "Annuleer na huidige iteratie" }, - "negativePrompts": "Negatieve invoer", "general": "Algemeen", "copyImage": "Kopieer afbeelding", "imageToImage": "Afbeelding naar afbeelding", diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index 533bdca861..42c0d95ba7 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -310,7 +310,6 @@ "img2imgStrength": "Wpływ sugestii na obraz", "toggleLoopback": "Wł/wył sprzężenie zwrotne", "invoke": "Wywołaj", - "promptPlaceholder": "W tym miejscu wprowadź swoje sugestie. [negatywne sugestie], (wzmocnienie), (osłabienie)--, po więcej opcji (np. swap lub blend) zajrzyj do dokumentacji", "sendTo": "Wyślij do", "sendToImg2Img": "Użyj w trybie \"Obraz na obraz\"", "sendToUnifiedCanvas": "Użyj w trybie uniwersalnym", diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json index f45a02381a..2ea05b2d8f 100644 --- a/invokeai/frontend/web/public/locales/pt.json +++ b/invokeai/frontend/web/public/locales/pt.json @@ -407,7 +407,6 @@ "width": "Largura", "seed": "Seed", "hiresStrength": "Força da Alta Resolução", - "negativePrompts": "Indicações negativas", "general": "Geral", "randomizeSeed": "Seed Aleatório", "shuffle": "Embaralhar", @@ -436,7 +435,6 @@ "img2imgStrength": "Força de Imagem Para Imagem", "toggleLoopback": "Ativar Loopback", "symmetry": "Simetria", - "promptPlaceholder": "Digite o prompt aqui. [tokens negativos], (upweight)++, (downweight)--, trocar e misturar estão disponíveis (veja docs)", "sendTo": "Mandar para", "openInViewer": "Abrir No Visualizador", "closeViewer": "Fechar Visualizador", diff --git a/invokeai/frontend/web/public/locales/pt_BR.json b/invokeai/frontend/web/public/locales/pt_BR.json index 42e7709d75..0288fba521 100644 --- a/invokeai/frontend/web/public/locales/pt_BR.json +++ b/invokeai/frontend/web/public/locales/pt_BR.json @@ -438,7 +438,6 @@ "img2imgStrength": "Força de Imagem Para Imagem", "toggleLoopback": "Ativar Loopback", "invoke": "Invoke", - "promptPlaceholder": "Digite o prompt aqui. [tokens negativos], (upweight)++, (downweight)--, trocar e misturar estão disponíveis (veja docs)", "sendTo": "Mandar para", "sendToImg2Img": "Mandar para Imagem Para Imagem", "sendToUnifiedCanvas": "Mandar para Tela Unificada", @@ -457,7 +456,6 @@ "hSymmetryStep": "H Passo de Simetria", "symmetry": "Simetria", "copyImage": "Copiar imagem", - "negativePrompts": "Indicações negativas", "hiresStrength": "Força da Alta Resolução", "denoisingStrength": "A força de remoção de ruído", "imageToImage": "Imagem para Imagem", diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index a0d3a26ca6..19659ae412 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -464,7 +464,6 @@ "img2imgStrength": "Сила обработки img2img", "toggleLoopback": "Зациклить обработку", "invoke": "Invoke", - "promptPlaceholder": "Введите запрос здесь (на английском). [исключенные токены], (более значимые)++, (менее значимые)--, swap и blend тоже доступны (смотрите Github)", "sendTo": "Отправить", "sendToImg2Img": "Отправить в img2img", "sendToUnifiedCanvas": "Отправить на Единый холст", @@ -494,7 +493,6 @@ "imageToImage": "Изображение в изображение", "denoisingStrength": "Сила шумоподавления", "copyImage": "Скопировать изображение", - "negativePrompts": "Исключающий запрос", "showPreview": "Показать предпросмотр", "noiseSettings": "Шум", "seamlessXAxis": "Ось X", diff --git a/invokeai/frontend/web/public/locales/uk.json b/invokeai/frontend/web/public/locales/uk.json index 00d710b5e4..64f9e50ec9 100644 --- a/invokeai/frontend/web/public/locales/uk.json +++ b/invokeai/frontend/web/public/locales/uk.json @@ -453,7 +453,6 @@ "img2imgStrength": "Сила обробки img2img", "toggleLoopback": "Зациклити обробку", "invoke": "Викликати", - "promptPlaceholder": "Введіть запит тут (англійською). [видалені токени], (більш вагомі)++, (менш вагомі)--, swap и blend також доступні (дивіться Github)", "sendTo": "Надіслати", "sendToImg2Img": "Надіслати у img2img", "sendToUnifiedCanvas": "Надіслати на полотно", @@ -483,8 +482,7 @@ "denoisingStrength": "Сила шумоподавлення", "copyImage": "Копіювати зображення", "symmetry": "Симетрія", - "hSymmetryStep": "Крок гор. симетрії", - "negativePrompts": "Виключний запит" + "hSymmetryStep": "Крок гор. симетрії" }, "settings": { "models": "Моделі", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index e2ffa5797c..5b800fe5ba 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -360,7 +360,6 @@ "img2imgStrength": "图像到图像强度", "toggleLoopback": "切换环回", "invoke": "Invoke", - "promptPlaceholder": "在这里输入提示。可以使用[反提示]、(加权)++、(减权)--、交换和混合(见文档)", "sendTo": "发送到", "sendToImg2Img": "发送到图像到图像", "sendToUnifiedCanvas": "发送到统一画布", From 227046bdb0d008da7b0ced62ad03c552bc4642ff Mon Sep 17 00:00:00 2001 From: "Song, Pengcheng" <17528592@qq.com> Date: Thu, 12 Oct 2023 12:44:17 +0000 Subject: [PATCH 13/70] translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 100.0% (542 of 542 strings) translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 88.0% (477 of 542 strings) Co-authored-by: Song, Pengcheng <17528592@qq.com> Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/ Translation: InvokeAI/Web UI --- .../frontend/web/public/locales/zh_CN.json | 220 ++++++++++++++++-- 1 file changed, 196 insertions(+), 24 deletions(-) diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index 5b800fe5ba..4cf15ce618 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -8,9 +8,9 @@ "darkTheme": "暗色", "lightTheme": "亮色", "greenTheme": "绿色", - "img2img": "图像到图像", + "img2img": "图生图", "unifiedCanvas": "统一画布", - "nodes": "节点", + "nodes": "节点编辑器", "langSimplifiedChinese": "简体中文", "nodesDesc": "一个基于节点的图像生成系统目前正在开发中。请持续关注关于这一功能的更新。", "postProcessing": "后期处理", @@ -43,7 +43,44 @@ "statusUpscaling": "放大中", "statusUpscalingESRGAN": "放大中 (ESRGAN)", "statusLoadingModel": "模型加载中", - "statusModelChanged": "模型已切换" + "statusModelChanged": "模型已切换", + "accept": "同意", + "cancel": "取消", + "dontAskMeAgain": "不要再次询问", + "areYouSure": "你确认吗?", + "imagePrompt": "图片提示词", + "langKorean": "朝鲜语", + "langPortuguese": "葡萄牙语", + "random": "随机", + "generate": "生成", + "openInNewTab": "在新的标签页打开", + "langUkranian": "乌克兰语", + "back": "返回", + "statusMergedModels": "模型合并完成", + "statusConvertingModel": "模型变换", + "statusModelConverted": "模型变换完成", + "statusMergingModels": "合并模型", + "githubLabel": "Github", + "discordLabel": "Discord", + "langPolish": "波兰语", + "langBrPortuguese": "葡萄牙语(巴西)", + "langDutch": "荷兰语", + "langFrench": "法语", + "langRussian": "俄语", + "langGerman": "德语", + "langHebrew": "希伯来语", + "langItalian": "意大利语", + "langJapanese": "日语", + "langSpanish": "西班牙语", + "langEnglish": "英语", + "langArabic": "阿拉伯语", + "txt2img": "文生图", + "postprocessing": "后期处理", + "oceanTheme": "海洋蓝", + "loading": "加载中", + "loadingInvokeAI": "Invoke AI 加载中", + "linear": "线性的", + "pinOptionsPanel": "固定选项面板" }, "gallery": { "generations": "生成的图像", @@ -59,7 +96,12 @@ "pinGallery": "保持图库常开", "allImagesLoaded": "所有图像加载完成", "loadMore": "加载更多", - "noImagesInGallery": "图库中无图像" + "noImagesInGallery": "图库中无图像", + "deleteImage": "删除图片", + "deleteImageBin": "被删除的图片会发送到你操作系统的回收站。", + "deleteImagePermanent": "无法恢复删除的图片。", + "images": "图片", + "assets": "素材" }, "hotkeys": { "keyboardShortcuts": "快捷方式", @@ -284,15 +326,15 @@ "description": "描述", "descriptionValidationMsg": "添加模型的描述", "config": "配置", - "configValidationMsg": "模型配置文件的路径", + "configValidationMsg": "模型配置文件的路径。", "modelLocation": "模型位置", - "modelLocationValidationMsg": "模型文件的路径", + "modelLocationValidationMsg": "模型文件的本地路径。", "vaeLocation": "VAE 位置", - "vaeLocationValidationMsg": "VAE 文件的路径", + "vaeLocationValidationMsg": "VAE 文件的路径。", "width": "宽度", - "widthValidationMsg": "模型的默认宽度", + "widthValidationMsg": "模型的默认宽度。", "height": "高度", - "heightValidationMsg": "模型的默认高度", + "heightValidationMsg": "模型的默认高度。", "addModel": "添加模型", "updateModel": "更新模型", "availableModels": "可用模型", @@ -316,7 +358,69 @@ "deleteModel": "删除模型", "deleteConfig": "删除配置", "deleteMsg1": "您确定要将这个模型从 InvokeAI 删除吗?", - "deleteMsg2": "这不会从磁盘中删除模型检查点文件。如果您愿意,可以重新添加它们。" + "deleteMsg2": "这不会从磁盘中删除模型检查点文件。如果您愿意,可以重新添加它们。", + "convertToDiffusersHelpText1": "模型会被转换成Diffusers格式。", + "convertToDiffusersHelpText2": "这个过程会替换你的模型管理器的入口中相同Diffusers版本的模型。", + "mergedModelSaveLocation": "保存路径", + "mergedModelCustomSaveLocation": "自定义路径", + "checkpointModels": "检查点(Checkpoints)", + "formMessageDiffusersVAELocation": "VAE 路径", + "convertToDiffusersHelpText4": "这是一次性的处理过程。根据你电脑的配置不同耗时30-60秒。", + "convertToDiffusersHelpText6": "你希望转换这个模型吗?", + "interpolationType": "插值类型", + "modelTwo": "模型2", + "modelThree": "模型3", + "v2_768": "版本2(768px)", + "mergedModelName": "合并的模型名称", + "alpha": "透明度", + "allModels": "全部模型", + "convertToDiffusers": "转换为Diffusers", + "formMessageDiffusersModelLocation": "Diffusers 模型路径", + "custom": "自定义", + "formMessageDiffusersVAELocationDesc": "如果没有特别指定,InvokeAI会从上面指定的模型路径中寻找VAE文件。", + "safetensorModels": "安全张量(SafeTensors)", + "modelsMerged": "模型合并完成", + "mergeModels": "合并模型", + "modelOne": "模型1", + "diffusersModels": "扩散器(Diffusers)", + "scanForModels": "扫描模型", + "repo_id": "项目 ID", + "repoIDValidationMsg": "你的模型的在线项目地址", + "v1": "版本1", + "invokeRoot": "InvokeAI 文件夹", + "inpainting": "版本1(Inpainting)", + "customSaveLocation": "自定义保存路径", + "scanAgain": "重新扫描", + "customConfig": "个性化配置", + "pathToCustomConfig": "个性化配置路径", + "modelConverted": "模型已转换", + "statusConverting": "转换中", + "sameFolder": "相同文件夹", + "invokeAIFolder": "Invoke AI 文件夹", + "ignoreMismatch": "忽略所选模型之间的不匹配", + "modelMergeHeaderHelp1": "您可以合并最多三种不同的模型,以创建符合您需求的混合模型。", + "modelMergeHeaderHelp2": "只有扩散器(Diffusers)可以用于模型合并。如果您想要合并一个检查点模型,请先将其转换为扩散器。", + "addCheckpointModel": "添加 Checkpoint / Safetensor 模型", + "addDiffuserModel": "添加 Diffusers 模型", + "vaeRepoID": "VAE 项目 ID", + "vaeRepoIDValidationMsg": "你的模型的在线VAE项目地址", + "selectAndAdd": "选择下表中的模型并添加", + "noModelsFound": "没有找到模型", + "formMessageDiffusersModelLocationDesc": "请至少输入一个。", + "convertToDiffusersSaveLocation": "保存路径", + "convertToDiffusersHelpText3": "您在磁盘上的检查点(checkpoint)文件不会被删除或修改。如果需要,您可以再次将检查点添加到模型管理器中。", + "v2_base": "版本2(512px)", + "convertToDiffusersHelpText5": "请确认你有足够的此版空间,模型大小通常在4GB-7GB之间。", + "convert": "转换", + "merge": "合并", + "pickModelType": "选择模型类型", + "addDifference": "增加差异", + "none": "无", + "inverseSigmoid": "反Sigmoid函数", + "weightedSum": "加权求和", + "modelMergeAlphaHelp": "透明度参数控制模型的混合强度。较低的透明度值会导致第二个模型的影响减弱。", + "sigmoid": "Sigmoid函数", + "modelMergeInterpAddDifferenceHelp": "在这种模式下,首先从模型2中减去模型3,得到的版本再用上述值的透明度与模型1进行混合。" }, "parameters": { "images": "图像", @@ -326,7 +430,7 @@ "height": "高度", "seed": "种子", "randomizeSeed": "随机化种子", - "shuffle": "随机化", + "shuffle": "随机生成种子", "noiseThreshold": "噪声阈值", "perlinNoise": "Perlin 噪声", "variations": "变种", @@ -373,7 +477,31 @@ "useInitImg": "使用原图像", "info": "信息", "initialImage": "原图像", - "showOptionsPanel": "显示选项浮窗" + "showOptionsPanel": "显示选项浮窗", + "seamlessYAxis": "Y轴", + "seamlessXAxis": "X轴", + "boundingBoxWidth": "边界框宽度", + "boundingBoxHeight": "边界框高度", + "denoisingStrength": "降噪强度", + "vSymmetryStep": "纵向对称步数", + "cancel": { + "immediate": "立即取消", + "isScheduled": "取消中", + "schedule": "当前步骤后取消", + "setType": "设置取消类型" + }, + "copyImage": "复制图片", + "showPreview": "显示预览", + "symmetry": "对称性", + "positivePromptPlaceholder": "正向提示词", + "negativePromptPlaceholder": "负向提示词", + "scheduler": "计划表", + "general": "通用", + "hiresStrength": "高分辨强度", + "hidePreview": "影藏预览", + "hSymmetryStep": "横向对称步数", + "imageToImage": "图生图", + "noiseSettings": "噪音" }, "settings": { "models": "模型", @@ -386,7 +514,17 @@ "resetWebUI": "重置网页界面", "resetWebUIDesc1": "重置网页只会重置浏览器中缓存的图像和设置,不会删除任何图像。", "resetWebUIDesc2": "如果图像没有显示在图库中,或者其他东西不工作,请在GitHub上提交问题之前尝试重置。", - "resetComplete": "网页界面已重置。刷新页面以重新加载。" + "resetComplete": "网页界面已重置。刷新页面以重新加载。", + "showProgressInViewer": "在视口中展示过程图片", + "antialiasProgressImages": "对过程图片抗锯齿", + "generation": "生成", + "ui": "用户界面", + "availableSchedulers": "可用的计划表", + "useSlidersForAll": "对所有参数使用滑动条设置", + "general": "通用", + "consoleLogLevel": "日志等级", + "shouldLogToConsole": "终端日志", + "developer": "开发者" }, "toast": { "tempFoldersEmptied": "临时文件夹已清空", @@ -396,28 +534,36 @@ "imageCopied": "图像已复制", "imageLinkCopied": "图像链接已复制", "imageNotLoaded": "没有加载图像", - "imageNotLoadedDesc": "没有图像可供送往图像到图像界面", + "imageNotLoadedDesc": "找不到图片", "imageSavedToGallery": "图像已保存到图库", "canvasMerged": "画布已合并", "sentToImageToImage": "已送往图像到图像", "sentToUnifiedCanvas": "已送往统一画布", "parametersSet": "参数已设定", "parametersNotSet": "参数未设定", - "parametersNotSetDesc": "此图像不存在元数据", + "parametersNotSetDesc": "此图像不存在元数据。", "parametersFailed": "加载参数失败", - "parametersFailedDesc": "加载初始图像失败", + "parametersFailedDesc": "加载初始图像失败。", "seedSet": "种子已设定", "seedNotSet": "种子未设定", - "seedNotSetDesc": "无法找到该图像的种子", + "seedNotSetDesc": "无法找到该图像的种子。", "promptSet": "提示已设定", "promptNotSet": "提示未设定", - "promptNotSetDesc": "无法找到该图像的提示", + "promptNotSetDesc": "无法找到该图像的提示。", "upscalingFailed": "放大失败", "faceRestoreFailed": "脸部修复失败", "metadataLoadFailed": "加载元数据失败", "initialImageSet": "初始图像已设定", "initialImageNotSet": "初始图像未设定", - "initialImageNotSetDesc": "无法加载初始图像" + "initialImageNotSetDesc": "无法加载初始图像", + "problemCopyingImageLink": "无法复制图片链接", + "uploadFailedInvalidUploadDesc": "必须是单张的 PNG 或 JPEG 图片", + "disconnected": "服务器断开", + "connected": "服务器连接", + "parameterSet": "参数已设置", + "parameterNotSet": "参数未设置", + "serverError": "服务器错误", + "canceled": "处理取消" }, "unifiedCanvas": { "layer": "图层", @@ -451,10 +597,10 @@ "autoSaveToGallery": "自动保存至图库", "saveBoxRegionOnly": "只保存框内区域", "limitStrokesToBox": "限制画笔在框内", - "showCanvasDebugInfo": "显示画布调试信息", + "showCanvasDebugInfo": "显示附加画布信息", "clearCanvasHistory": "清除画布历史", "clearHistory": "清除历史", - "clearCanvasHistoryMessage": "清除画布历史不会影响当前画布,但会不可撤销地清除所有撤销/重做历史!", + "clearCanvasHistoryMessage": "清除画布历史不会影响当前画布,但会不可撤销地清除所有撤销/重做历史。", "clearCanvasHistoryConfirm": "确认清除所有画布历史?", "emptyTempImageFolder": "清除临时文件夹", "emptyFolder": "清除文件夹", @@ -476,7 +622,8 @@ "betaClear": "清除", "betaDarkenOutside": "暗化外部区域", "betaLimitToBox": "限制在框内", - "betaPreserveMasked": "保留遮罩层" + "betaPreserveMasked": "保留遮罩层", + "antialiasing": "抗锯齿" }, "accessibility": { "modelSelect": "模型选择", @@ -487,12 +634,37 @@ "uploadImage": "上传图片", "previousImage": "上一张图片", "copyMetadataJson": "复制JSON元数据", - "exitViewer": "退出视口(ExitViewer)", + "exitViewer": "退出视口", "zoomIn": "放大", "zoomOut": "缩小", "rotateCounterClockwise": "逆时针旋转", "rotateClockwise": "顺时针旋转", "flipHorizontally": "水平翻转", - "flipVertically": "垂直翻转" + "flipVertically": "垂直翻转", + "showGallery": "显示图库", + "showOptionsPanel": "显示选项面板", + "toggleLogViewer": "切换日志浏览器", + "modifyConfig": "修改设置", + "toggleAutoscroll": "切换自动缩放", + "menu": "菜单" + }, + "ui": { + "showProgressImages": "显示处理中的图片", + "hideProgressImages": "隐藏处理中的图片" + }, + "tooltip": { + "feature": { + "prompt": "这是提示词区域。提示词包括生成对象和风格术语。您也可以在提示中添加权重(Token重要性),但命令行命令和参数不起作用。", + "imageToImage": "图生图模式加载任何图像作为初始图像,然后与提示一起用于生成新图像。值越高,结果图像的变化就越大。可能的值为0.0到1.0,建议的范围是0.25到0.75", + "upscale": "使用 ESRGAN可以在图片生成后立即放大图片。", + "variations": "尝试将变化值设置在0.1到1.0之间,以更改给定种子的结果。种子的有趣变化在0.1到0.3之间。", + "boundingBox": "边界框的高和宽的设定对文生图和图生图模式是一样的,只有边界框中的区域会被处理。", + "other": "这些选项将为Invoke启用替代处理模式。 \"无缝平铺\"将在输出中创建重复图案。 \"高分辨率\"是通过img2img进行两步生成:当您想要更大、更连贯且不带伪影的图像时,请使用此设置。这将比通常的txt2img需要更长的时间。", + "faceCorrection": "使用GFPGAN或Codeformer进行人脸校正:该算法会检测图像中的人脸并纠正任何缺陷。较高的值将更改图像,并产生更有吸引力的人脸。在保留较高保真度的情况下使用Codeformer将导致更强的人脸校正,同时也会保留原始图像。", + "gallery": "图片库展示输出文件夹中的图片,设置和文件一起储存,可以通过内容菜单访问。", + "seed": "种子值影响形成图像的初始噪声。您可以使用以前图像中已存在的种子。 “噪声阈值”用于减轻在高CFG值(尝试0-10范围)下的伪像,并使用Perlin在生成过程中添加Perlin噪声:这两者都可以为您的输出添加变化。", + "seamCorrection": "控制在画布上生成的图像之间出现的可见接缝的处理方式。", + "infillAndScaling": "管理填充方法(用于画布的掩模或擦除区域)和缩放(对于较小的边界框大小非常有用)。" + } } } From 4c93202ee4611b3bdbd52179e23ec225d2dd0648 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:44:20 +0000 Subject: [PATCH 14/70] translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ar.json | 4 ---- invokeai/frontend/web/public/locales/de.json | 5 ----- invokeai/frontend/web/public/locales/es.json | 6 ------ invokeai/frontend/web/public/locales/fi.json | 5 ----- invokeai/frontend/web/public/locales/fr.json | 4 ---- invokeai/frontend/web/public/locales/he.json | 4 ---- invokeai/frontend/web/public/locales/it.json | 8 +------- invokeai/frontend/web/public/locales/ja.json | 5 ----- invokeai/frontend/web/public/locales/ko.json | 4 ---- invokeai/frontend/web/public/locales/nl.json | 6 ------ invokeai/frontend/web/public/locales/pl.json | 4 ---- invokeai/frontend/web/public/locales/pt.json | 5 ----- invokeai/frontend/web/public/locales/pt_BR.json | 4 ---- invokeai/frontend/web/public/locales/ru.json | 8 +------- invokeai/frontend/web/public/locales/sv.json | 5 ----- invokeai/frontend/web/public/locales/tr.json | 5 ----- invokeai/frontend/web/public/locales/uk.json | 5 ----- invokeai/frontend/web/public/locales/zh_CN.json | 6 ------ invokeai/frontend/web/public/locales/zh_Hant.json | 3 --- 19 files changed, 2 insertions(+), 94 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ar.json b/invokeai/frontend/web/public/locales/ar.json index 47a4169ef2..0283d3fafb 100644 --- a/invokeai/frontend/web/public/locales/ar.json +++ b/invokeai/frontend/web/public/locales/ar.json @@ -1,13 +1,9 @@ { "common": { "hotkeysLabel": "مفاتيح الأختصار", - "themeLabel": "الموضوع", "languagePickerLabel": "منتقي اللغة", "reportBugLabel": "بلغ عن خطأ", "settingsLabel": "إعدادات", - "darkTheme": "داكن", - "lightTheme": "فاتح", - "greenTheme": "أخضر", "img2img": "صورة إلى صورة", "unifiedCanvas": "لوحة موحدة", "nodes": "عقد", diff --git a/invokeai/frontend/web/public/locales/de.json b/invokeai/frontend/web/public/locales/de.json index 15278a8905..5ae0a4b519 100644 --- a/invokeai/frontend/web/public/locales/de.json +++ b/invokeai/frontend/web/public/locales/de.json @@ -1,12 +1,8 @@ { "common": { - "themeLabel": "Thema", "languagePickerLabel": "Sprachauswahl", "reportBugLabel": "Fehler melden", "settingsLabel": "Einstellungen", - "darkTheme": "Dunkel", - "lightTheme": "Hell", - "greenTheme": "Grün", "img2img": "Bild zu Bild", "nodes": "Knoten", "langGerman": "Deutsch", @@ -48,7 +44,6 @@ "langEnglish": "Englisch", "langDutch": "Niederländisch", "langFrench": "Französisch", - "oceanTheme": "Ozean", "langItalian": "Italienisch", "langPortuguese": "Portogisisch", "langRussian": "Russisch", diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index fdd4ec3a51..f880270edd 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -1,13 +1,9 @@ { "common": { "hotkeysLabel": "Atajos de teclado", - "themeLabel": "Tema", "languagePickerLabel": "Selector de idioma", "reportBugLabel": "Reportar errores", "settingsLabel": "Ajustes", - "darkTheme": "Oscuro", - "lightTheme": "Claro", - "greenTheme": "Verde", "img2img": "Imagen a Imagen", "unifiedCanvas": "Lienzo Unificado", "nodes": "Editor de nodos", @@ -63,7 +59,6 @@ "statusConvertingModel": "Convertir el modelo", "statusModelConverted": "Modelo adaptado", "statusMergingModels": "Fusionar modelos", - "oceanTheme": "Océano", "langPortuguese": "Portugués", "langKorean": "Coreano", "langHebrew": "Hebreo", @@ -548,7 +543,6 @@ "developer": "Desarrollador", "antialiasProgressImages": "Imágenes del progreso de Antialias", "showProgressInViewer": "Mostrar las imágenes del progreso en el visor", - "availableSchedulers": "Programadores disponibles", "ui": "Interfaz del usuario", "generation": "Generación", "favoriteSchedulers": "Programadores favoritos", diff --git a/invokeai/frontend/web/public/locales/fi.json b/invokeai/frontend/web/public/locales/fi.json index a6edd6d8b8..790c63fc85 100644 --- a/invokeai/frontend/web/public/locales/fi.json +++ b/invokeai/frontend/web/public/locales/fi.json @@ -34,18 +34,13 @@ "hotkeysLabel": "Pikanäppäimet", "reportBugLabel": "Raportoi Bugista", "langPolish": "Puola", - "themeLabel": "Teema", "langDutch": "Hollanti", "settingsLabel": "Asetukset", "githubLabel": "Github", - "darkTheme": "Tumma", - "lightTheme": "Vaalea", - "greenTheme": "Vihreä", "langGerman": "Saksa", "langPortuguese": "Portugali", "discordLabel": "Discord", "langEnglish": "Englanti", - "oceanTheme": "Meren sininen", "langRussian": "Venäjä", "langUkranian": "Ukraina", "langSpanish": "Espanja", diff --git a/invokeai/frontend/web/public/locales/fr.json b/invokeai/frontend/web/public/locales/fr.json index 31c092a9d7..c9def33979 100644 --- a/invokeai/frontend/web/public/locales/fr.json +++ b/invokeai/frontend/web/public/locales/fr.json @@ -1,13 +1,9 @@ { "common": { "hotkeysLabel": "Raccourcis clavier", - "themeLabel": "Thème", "languagePickerLabel": "Sélecteur de langue", "reportBugLabel": "Signaler un bug", "settingsLabel": "Paramètres", - "darkTheme": "Sombre", - "lightTheme": "Clair", - "greenTheme": "Vert", "img2img": "Image en image", "unifiedCanvas": "Canvas unifié", "nodes": "Nœuds", diff --git a/invokeai/frontend/web/public/locales/he.json b/invokeai/frontend/web/public/locales/he.json index 2b07762b9a..229a82b1f4 100644 --- a/invokeai/frontend/web/public/locales/he.json +++ b/invokeai/frontend/web/public/locales/he.json @@ -107,13 +107,10 @@ }, "common": { "nodesDesc": "מערכת מבוססת צמתים עבור יצירת תמונות עדיין תחת פיתוח. השארו קשובים לעדכונים עבור הפיצ׳ר המדהים הזה.", - "themeLabel": "ערכת נושא", "languagePickerLabel": "בחירת שפה", "githubLabel": "גיטהאב", "discordLabel": "דיסקורד", "settingsLabel": "הגדרות", - "darkTheme": "חשוך", - "lightTheme": "מואר", "langEnglish": "אנגלית", "langDutch": "הולנדית", "langArabic": "ערבית", @@ -155,7 +152,6 @@ "statusMergedModels": "מודלים מוזגו", "hotkeysLabel": "מקשים חמים", "reportBugLabel": "דווח באג", - "greenTheme": "ירוק", "langItalian": "איטלקית", "upload": "העלאה", "langPolish": "פולנית", diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index a7098f0370..81251585de 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -1,13 +1,9 @@ { "common": { "hotkeysLabel": "Tasti di scelta rapida", - "themeLabel": "Tema", "languagePickerLabel": "Lingua", "reportBugLabel": "Segnala un errore", "settingsLabel": "Impostazioni", - "darkTheme": "Scuro", - "lightTheme": "Chiaro", - "greenTheme": "Verde", "img2img": "Immagine a Immagine", "unifiedCanvas": "Tela unificata", "nodes": "Editor dei Nodi", @@ -67,7 +63,6 @@ "langPortuguese": "Portoghese", "pinOptionsPanel": "Blocca il pannello Opzioni", "loading": "Caricamento in corso", - "oceanTheme": "Oceano", "langHebrew": "Ebraico", "loadingInvokeAI": "Caricamento Invoke AI", "postprocessing": "Post Elaborazione", @@ -523,8 +518,7 @@ "antialiasProgressImages": "Anti aliasing delle immagini di avanzamento", "showProgressInViewer": "Mostra le immagini di avanzamento nel visualizzatore", "generation": "Generazione", - "ui": "Interfaccia Utente", - "availableSchedulers": "Campionatori disponibili" + "ui": "Interfaccia Utente" }, "toast": { "tempFoldersEmptied": "Cartella temporanea svuotata", diff --git a/invokeai/frontend/web/public/locales/ja.json b/invokeai/frontend/web/public/locales/ja.json index d7f4510789..190862b0d1 100644 --- a/invokeai/frontend/web/public/locales/ja.json +++ b/invokeai/frontend/web/public/locales/ja.json @@ -1,12 +1,8 @@ { "common": { - "themeLabel": "テーマ", "languagePickerLabel": "言語選択", "reportBugLabel": "バグ報告", "settingsLabel": "設定", - "darkTheme": "ダーク", - "lightTheme": "ライト", - "greenTheme": "緑", "langJapanese": "日本語", "nodesDesc": "現在、画像生成のためのノードベースシステムを開発中です。機能についてのアップデートにご期待ください。", "postProcessing": "後処理", @@ -63,7 +59,6 @@ "discordLabel": "Discord", "langItalian": "Italiano", "langEnglish": "English", - "oceanTheme": "オーシャン", "langArabic": "アラビア語", "langDutch": "Nederlands", "langFrench": "Français", diff --git a/invokeai/frontend/web/public/locales/ko.json b/invokeai/frontend/web/public/locales/ko.json index 47cde5fec3..8baab54ac9 100644 --- a/invokeai/frontend/web/public/locales/ko.json +++ b/invokeai/frontend/web/public/locales/ko.json @@ -1,13 +1,9 @@ { "common": { - "themeLabel": "테마 설정", "languagePickerLabel": "언어 설정", "reportBugLabel": "버그 리포트", "githubLabel": "Github", "settingsLabel": "설정", - "darkTheme": "다크 모드", - "lightTheme": "라이트 모드", - "greenTheme": "그린 모드", "langArabic": "العربية", "langEnglish": "English", "langDutch": "Nederlands", diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index f392116fe4..8410edb998 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -1,13 +1,9 @@ { "common": { "hotkeysLabel": "Sneltoetsen", - "themeLabel": "Thema", "languagePickerLabel": "Taal", "reportBugLabel": "Meld bug", "settingsLabel": "Instellingen", - "darkTheme": "Donker", - "lightTheme": "Licht", - "greenTheme": "Groen", "img2img": "Afbeelding naar afbeelding", "unifiedCanvas": "Centraal canvas", "nodes": "Knooppunt-editor", @@ -69,7 +65,6 @@ "pinOptionsPanel": "Zet deelscherm Opties vast", "loading": "Bezig met laden", "loadingInvokeAI": "Bezig met laden van Invoke AI", - "oceanTheme": "Oceaan", "langHebrew": "עברית", "langKorean": "한국어", "txt2img": "Tekst naar afbeelding", @@ -519,7 +514,6 @@ "showProgressInViewer": "Toon voortgangsafbeeldingen in viewer", "generation": "Generatie", "ui": "Gebruikersinterface", - "availableSchedulers": "Beschikbare planners", "antialiasProgressImages": "Voer anti-aliasing uit op voortgangsafbeeldingen" }, "toast": { diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index 42c0d95ba7..02b1bc36b0 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -1,13 +1,9 @@ { "common": { "hotkeysLabel": "Skróty klawiszowe", - "themeLabel": "Motyw", "languagePickerLabel": "Wybór języka", "reportBugLabel": "Zgłoś błąd", "settingsLabel": "Ustawienia", - "darkTheme": "Ciemny", - "lightTheme": "Jasny", - "greenTheme": "Zielony", "img2img": "Obraz na obraz", "unifiedCanvas": "Tryb uniwersalny", "nodes": "Węzły", diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json index 2ea05b2d8f..b1fe68c6ab 100644 --- a/invokeai/frontend/web/public/locales/pt.json +++ b/invokeai/frontend/web/public/locales/pt.json @@ -1,11 +1,8 @@ { "common": { - "greenTheme": "Verde", "langArabic": "العربية", - "themeLabel": "Tema", "reportBugLabel": "Reportar Bug", "settingsLabel": "Configurações", - "lightTheme": "Claro", "langBrPortuguese": "Português do Brasil", "languagePickerLabel": "Seletor de Idioma", "langDutch": "Nederlands", @@ -57,13 +54,11 @@ "statusModelChanged": "Modelo Alterado", "githubLabel": "Github", "discordLabel": "Discord", - "darkTheme": "Escuro", "training": "Treinando", "statusGeneratingOutpainting": "Geração de Ampliação", "statusGenerationComplete": "Geração Completa", "statusMergingModels": "Mesclando Modelos", "statusMergedModels": "Modelos Mesclados", - "oceanTheme": "Oceano", "pinOptionsPanel": "Fixar painel de opções", "loading": "A carregar", "loadingInvokeAI": "A carregar Invoke AI", diff --git a/invokeai/frontend/web/public/locales/pt_BR.json b/invokeai/frontend/web/public/locales/pt_BR.json index 0288fba521..3fb9e76acb 100644 --- a/invokeai/frontend/web/public/locales/pt_BR.json +++ b/invokeai/frontend/web/public/locales/pt_BR.json @@ -1,13 +1,9 @@ { "common": { "hotkeysLabel": "Teclas de atalho", - "themeLabel": "Tema", "languagePickerLabel": "Seletor de Idioma", "reportBugLabel": "Relatar Bug", "settingsLabel": "Configurações", - "darkTheme": "Noite", - "lightTheme": "Dia", - "greenTheme": "Verde", "img2img": "Imagem Para Imagem", "unifiedCanvas": "Tela Unificada", "nodes": "Nódulos", diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index 19659ae412..44310dd084 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -1,13 +1,9 @@ { "common": { "hotkeysLabel": "Горячие клавиши", - "themeLabel": "Тема", "languagePickerLabel": "Язык", "reportBugLabel": "Сообщить об ошибке", "settingsLabel": "Настройки", - "darkTheme": "Темная", - "lightTheme": "Светлая", - "greenTheme": "Зеленая", "img2img": "Изображение в изображение (img2img)", "unifiedCanvas": "Единый холст", "nodes": "Редактор нод", @@ -56,7 +52,6 @@ "statusConvertingModel": "Конвертация модели", "cancel": "Отменить", "accept": "Принять", - "oceanTheme": "Океан", "langUkranian": "Украинский", "langEnglish": "Английский", "postprocessing": "Постобработка", @@ -523,8 +518,7 @@ "showProgressInViewer": "Показывать процесс генерации в Просмотрщике", "antialiasProgressImages": "Сглаживать предпоказ процесса генерации", "generation": "Поколение", - "ui": "Пользовательский интерфейс", - "availableSchedulers": "Доступные планировщики" + "ui": "Пользовательский интерфейс" }, "toast": { "tempFoldersEmptied": "Временная папка очищена", diff --git a/invokeai/frontend/web/public/locales/sv.json b/invokeai/frontend/web/public/locales/sv.json index da2266135d..6030f57256 100644 --- a/invokeai/frontend/web/public/locales/sv.json +++ b/invokeai/frontend/web/public/locales/sv.json @@ -27,10 +27,6 @@ "githubLabel": "Github", "discordLabel": "Discord", "settingsLabel": "Inställningar", - "darkTheme": "Mörk", - "lightTheme": "Ljus", - "greenTheme": "Grön", - "oceanTheme": "Hav", "langEnglish": "Engelska", "langDutch": "Nederländska", "langFrench": "Franska", @@ -68,7 +64,6 @@ "loadingInvokeAI": "Laddar Invoke AI", "statusRestoringFaces": "Återskapar ansikten", "languagePickerLabel": "Språkväljare", - "themeLabel": "Tema", "txt2img": "Text till bild", "nodes": "Noder", "img2img": "Bild till bild", diff --git a/invokeai/frontend/web/public/locales/tr.json b/invokeai/frontend/web/public/locales/tr.json index 316908b4a9..1f285f956b 100644 --- a/invokeai/frontend/web/public/locales/tr.json +++ b/invokeai/frontend/web/public/locales/tr.json @@ -24,16 +24,11 @@ }, "common": { "hotkeysLabel": "Kısayol Tuşları", - "themeLabel": "Tema", "languagePickerLabel": "Dil Seçimi", "reportBugLabel": "Hata Bildir", "githubLabel": "Github", "discordLabel": "Discord", "settingsLabel": "Ayarlar", - "darkTheme": "Karanlık Tema", - "lightTheme": "Aydınlık Tema", - "greenTheme": "Yeşil Tema", - "oceanTheme": "Okyanus Tema", "langArabic": "Arapça", "langEnglish": "İngilizce", "langDutch": "Hollandaca", diff --git a/invokeai/frontend/web/public/locales/uk.json b/invokeai/frontend/web/public/locales/uk.json index 64f9e50ec9..efc3b60ee3 100644 --- a/invokeai/frontend/web/public/locales/uk.json +++ b/invokeai/frontend/web/public/locales/uk.json @@ -1,13 +1,9 @@ { "common": { "hotkeysLabel": "Гарячi клавіші", - "themeLabel": "Тема", "languagePickerLabel": "Мова", "reportBugLabel": "Повідомити про помилку", "settingsLabel": "Налаштування", - "darkTheme": "Темна", - "lightTheme": "Світла", - "greenTheme": "Зелена", "img2img": "Зображення із зображення (img2img)", "unifiedCanvas": "Універсальне полотно", "nodes": "Вузли", @@ -56,7 +52,6 @@ "langKorean": "Корейська", "langPortuguese": "Португальська", "pinOptionsPanel": "Закріпити панель налаштувань", - "oceanTheme": "Океан", "langArabic": "Арабська", "langSimplifiedChinese": "Китайська (спрощена)", "langSpanish": "Іспанська", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index 4cf15ce618..5b3b2f1039 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -1,13 +1,9 @@ { "common": { "hotkeysLabel": "快捷键", - "themeLabel": "主题", "languagePickerLabel": "语言", "reportBugLabel": "提交错误报告", "settingsLabel": "设置", - "darkTheme": "暗色", - "lightTheme": "亮色", - "greenTheme": "绿色", "img2img": "图生图", "unifiedCanvas": "统一画布", "nodes": "节点编辑器", @@ -76,7 +72,6 @@ "langArabic": "阿拉伯语", "txt2img": "文生图", "postprocessing": "后期处理", - "oceanTheme": "海洋蓝", "loading": "加载中", "loadingInvokeAI": "Invoke AI 加载中", "linear": "线性的", @@ -519,7 +514,6 @@ "antialiasProgressImages": "对过程图片抗锯齿", "generation": "生成", "ui": "用户界面", - "availableSchedulers": "可用的计划表", "useSlidersForAll": "对所有参数使用滑动条设置", "general": "通用", "consoleLogLevel": "日志等级", diff --git a/invokeai/frontend/web/public/locales/zh_Hant.json b/invokeai/frontend/web/public/locales/zh_Hant.json index f69e1c7f39..fe51856117 100644 --- a/invokeai/frontend/web/public/locales/zh_Hant.json +++ b/invokeai/frontend/web/public/locales/zh_Hant.json @@ -13,9 +13,6 @@ "settingsLabel": "設定", "upload": "上傳", "langArabic": "阿拉伯語", - "greenTheme": "綠色", - "lightTheme": "淺色", - "darkTheme": "深色", "discordLabel": "Discord", "nodesDesc": "使用Node生成圖像的系統正在開發中。敬請期待有關於這項功能的更新。", "reportBugLabel": "回報錯誤", From 035f1e12e14837b642f60fb42306be4d596778f0 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Thu, 12 Oct 2023 12:44:23 +0000 Subject: [PATCH 15/70] translationBot(ui): update translation (Italian) Currently translated at 100.0% (550 of 550 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (548 of 548 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (546 of 546 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (541 of 541 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (544 of 544 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (543 of 543 strings) Co-authored-by: Riccardo Giovanetti Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 24 ++++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 81251585de..b73bf07afb 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -75,7 +75,11 @@ "openInNewTab": "Apri in una nuova scheda", "areYouSure": "Sei sicuro?", "dontAskMeAgain": "Non chiedermelo più", - "imagePrompt": "Prompt Immagine" + "imagePrompt": "Prompt Immagine", + "darkMode": "Modalità scura", + "lightMode": "Modalità chiara", + "batch": "Gestione Lotto", + "modelmanager": "Gestione Modello" }, "gallery": { "generations": "Generazioni", @@ -415,7 +419,10 @@ "none": "niente", "addDifference": "Aggiungi differenza", "pickModelType": "Scegli il tipo di modello", - "scanForModels": "Cerca modelli" + "scanForModels": "Cerca modelli", + "variant": "Variante", + "baseModel": "Modello Base", + "vae": "VAE" }, "parameters": { "images": "Immagini", @@ -496,7 +503,10 @@ "boundingBoxWidth": "Larghezza riquadro di delimitazione", "boundingBoxHeight": "Altezza riquadro di delimitazione", "positivePromptPlaceholder": "Prompt Positivo", - "negativePromptPlaceholder": "Prompt Negativo" + "negativePromptPlaceholder": "Prompt Negativo", + "controlNetControlMode": "Modalità di controllo", + "clipSkip": "Salta CLIP", + "aspectRatio": "Proporzioni" }, "settings": { "models": "Modelli", @@ -518,7 +528,10 @@ "antialiasProgressImages": "Anti aliasing delle immagini di avanzamento", "showProgressInViewer": "Mostra le immagini di avanzamento nel visualizzatore", "generation": "Generazione", - "ui": "Interfaccia Utente" + "ui": "Interfaccia Utente", + "favoriteSchedulersPlaceholder": "Nessun campionatore preferito", + "favoriteSchedulers": "Campionatori preferiti", + "showAdvancedOptions": "Mostra Opzioni Avanzate" }, "toast": { "tempFoldersEmptied": "Cartella temporanea svuotata", @@ -659,6 +672,7 @@ }, "ui": { "hideProgressImages": "Nascondi avanzamento immagini", - "showProgressImages": "Mostra avanzamento immagini" + "showProgressImages": "Mostra avanzamento immagini", + "swapSizes": "Scambia dimensioni" } } From 7c2aa1dc203379f8bfe227061606a66a2d6596d9 Mon Sep 17 00:00:00 2001 From: System X - Files Date: Thu, 12 Oct 2023 12:44:25 +0000 Subject: [PATCH 16/70] translationBot(ui): update translation (Russian) Currently translated at 99.5% (602 of 605 strings) translationBot(ui): update translation (Russian) Currently translated at 99.8% (605 of 606 strings) translationBot(ui): update translation (Russian) Currently translated at 100.0% (596 of 596 strings) translationBot(ui): update translation (Russian) Currently translated at 100.0% (595 of 595 strings) translationBot(ui): update translation (Russian) Currently translated at 100.0% (593 of 593 strings) translationBot(ui): update translation (Russian) Currently translated at 100.0% (592 of 592 strings) translationBot(ui): update translation (Russian) Currently translated at 90.2% (534 of 592 strings) translationBot(ui): update translation (Russian) Currently translated at 100.0% (543 of 543 strings) Co-authored-by: System X - Files Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ru.json | 103 +++++++++++++++++-- 1 file changed, 92 insertions(+), 11 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index 44310dd084..cccf770682 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -75,7 +75,12 @@ "random": "Случайное", "generate": "Сгенерировать", "openInNewTab": "Открыть в новой вкладке", - "imagePrompt": "Запрос" + "imagePrompt": "Запрос", + "communityLabel": "Сообщество", + "lightMode": "Светлая тема", + "batch": "Пакетный менеджер", + "modelManager": "Менеджер моделей", + "darkMode": "Темная тема" }, "gallery": { "generations": "Генерации", @@ -96,7 +101,8 @@ "deleteImageBin": "Удаленные изображения будут отправлены в корзину вашей операционной системы.", "deleteImage": "Удалить изображение", "images": "Изображения", - "assets": "Ресурсы" + "assets": "Ресурсы", + "autoAssignBoardOnClick": "Авто-назначение доски по клику" }, "hotkeys": { "keyboardShortcuts": "Горячие клавиши", @@ -303,7 +309,12 @@ "acceptStagingImage": { "title": "Принять изображение", "desc": "Принять текущее изображение" - } + }, + "addNodes": { + "desc": "Открывает меню добавления узла", + "title": "Добавление узлов" + }, + "nodesHotkeys": "Горячие клавиши узлов" }, "modelManager": { "modelManager": "Менеджер моделей", @@ -356,14 +367,14 @@ "deleteModel": "Удалить модель", "deleteConfig": "Удалить конфигурацию", "deleteMsg1": "Вы точно хотите удалить модель из InvokeAI?", - "deleteMsg2": "Это не удалит файл модели с диска. Позже вы можете добавить его снова.", + "deleteMsg2": "Это приведет К УДАЛЕНИЮ модели С ДИСКА, если она находится в корневой папке Invoke. Если вы используете пользовательское расположение, то модель НЕ будет удалена с диска.", "repoIDValidationMsg": "Онлайн-репозиторий модели", - "convertToDiffusersHelpText5": "Пожалуйста, убедитесь, что у вас достаточно места на диске. Модели обычно занимают 4 – 7 Гб.", + "convertToDiffusersHelpText5": "Пожалуйста, убедитесь, что у вас достаточно места на диске. Модели обычно занимают 2–7 Гб.", "invokeAIFolder": "Каталог InvokeAI", "ignoreMismatch": "Игнорировать несоответствия между выбранными моделями", "addCheckpointModel": "Добавить модель Checkpoint/Safetensor", "formMessageDiffusersModelLocationDesc": "Укажите хотя бы одно.", - "convertToDiffusersHelpText3": "Файл модели на диске НЕ будет удалён или изменён. Вы сможете заново добавить его в Model Manager при необходимости.", + "convertToDiffusersHelpText3": "Ваш файл контрольной точки НА ДИСКЕ будет УДАЛЕН, если он находится в корневой папке InvokeAI. Если он находится в пользовательском расположении, то он НЕ будет удален.", "vaeRepoID": "ID репозитория VAE", "mergedModelName": "Название объединенной модели", "checkpointModels": "Checkpoints", @@ -415,7 +426,27 @@ "weightedSum": "Взвешенная сумма", "safetensorModels": "SafeTensors", "v2_768": "v2 (768px)", - "v2_base": "v2 (512px)" + "v2_base": "v2 (512px)", + "modelDeleted": "Модель удалена", + "importModels": "Импорт Моделей", + "variant": "Вариант", + "baseModel": "Базовая модель", + "modelsSynced": "Модели синхронизированы", + "modelSyncFailed": "Не удалось синхронизировать модели", + "vae": "VAE", + "modelDeleteFailed": "Не удалось удалить модель", + "noCustomLocationProvided": "Пользовательское местоположение не указано", + "convertingModelBegin": "Конвертация модели. Пожалуйста, подождите.", + "settings": "Настройки", + "selectModel": "Выберите модель", + "syncModels": "Синхронизация моделей", + "syncModelsDesc": "Если ваши модели не синхронизированы с серверной частью, вы можете обновить их, используя эту опцию. Обычно это удобно в тех случаях, когда вы вручную обновляете свой файл \"models.yaml\" или добавляете модели в корневую папку InvokeAI после загрузки приложения.", + "modelUpdateFailed": "Не удалось обновить модель", + "modelConversionFailed": "Не удалось сконвертировать модель", + "modelsMergeFailed": "Не удалось выполнить слияние моделей", + "loraModels": "LoRAs", + "onnxModels": "Onnx", + "oliveModels": "Olives" }, "parameters": { "images": "Изображения", @@ -496,7 +527,17 @@ "boundingBoxWidth": "Ширина ограничивающей рамки", "boundingBoxHeight": "Высота ограничивающей рамки", "positivePromptPlaceholder": "Запрос", - "negativePromptPlaceholder": "Исключающий запрос" + "negativePromptPlaceholder": "Исключающий запрос", + "controlNetControlMode": "Режим управления", + "clipSkip": "CLIP Пропуск", + "aspectRatio": "Соотношение", + "maskAdjustmentsHeader": "Настройка маски", + "maskBlur": "Размытие маски", + "maskBlurMethod": "Метод размытия маски", + "seamPaintingHeader": "Окрашивание швов", + "seamThreshold": "Порог шва", + "seamLowThreshold": "Низкий", + "seamHighThreshold": "Высокий" }, "settings": { "models": "Модели", @@ -518,7 +559,14 @@ "showProgressInViewer": "Показывать процесс генерации в Просмотрщике", "antialiasProgressImages": "Сглаживать предпоказ процесса генерации", "generation": "Поколение", - "ui": "Пользовательский интерфейс" + "ui": "Пользовательский интерфейс", + "favoriteSchedulers": "Избранные планировщики", + "favoriteSchedulersPlaceholder": "Нет избранных планировщиков", + "enableNodesEditor": "Включить редактор узлов", + "experimental": "Экспериментальные", + "beta": "Бета", + "alternateCanvasLayout": "Альтернативный слой холста", + "showAdvancedOptions": "Показать доп. параметры" }, "toast": { "tempFoldersEmptied": "Временная папка очищена", @@ -557,7 +605,17 @@ "problemCopyingImageLink": "Не удалось скопировать ссылку на изображение", "uploadFailedInvalidUploadDesc": "Должно быть одно изображение в формате PNG или JPEG", "parameterNotSet": "Параметр не задан", - "parameterSet": "Параметр задан" + "parameterSet": "Параметр задан", + "nodesLoaded": "Узлы загружены", + "problemCopyingImage": "Не удается скопировать изображение", + "nodesLoadedFailed": "Не удалось загрузить Узлы", + "nodesCleared": "Узлы очищены", + "nodesBrokenConnections": "Не удается загрузить. Некоторые соединения повреждены.", + "nodesUnrecognizedTypes": "Не удается загрузить. Граф имеет нераспознанные типы", + "nodesNotValidJSON": "Недопустимый JSON", + "nodesCorruptedGraph": "Не удается загрузить. Граф, похоже, поврежден.", + "nodesSaved": "Узлы сохранены", + "nodesNotValidGraph": "Недопустимый граф узлов InvokeAI" }, "tooltip": { "feature": { @@ -659,6 +717,29 @@ }, "ui": { "showProgressImages": "Показывать промежуточный итог", - "hideProgressImages": "Не показывать промежуточный итог" + "hideProgressImages": "Не показывать промежуточный итог", + "swapSizes": "Поменять местами размеры" + }, + "nodes": { + "reloadSchema": "Перезагрузить схему", + "saveGraph": "Сохранить граф", + "clearGraph": "Очистить граф", + "zoomInNodes": "Увеличьте масштаб", + "zoomOutNodes": "Уменьшите масштаб", + "fitViewportNodes": "Уместить вид", + "hideGraphNodes": "Скрыть оверлей графа", + "showGraphNodes": "Показать оверлей графа", + "showLegendNodes": "Показать тип поля", + "hideMinimapnodes": "Скрыть миникарту", + "loadGraph": "Загрузить граф (сохраненный из Редактора узлов) (Не копировать и не вставлять метаданные)", + "clearGraphDesc": "Вы уверены, что хотите очистить все узлы?", + "hideLegendNodes": "Скрыть тип поля", + "showMinimapnodes": "Показать миникарту", + "saveWorkflow": "Сохранить рабочий процесс", + "loadWorkflow": "Загрузить рабочий процесс", + "resetWorkflowDesc2": "Сброс рабочего процесса очистит все узлы, ребра и детали рабочего процесса.", + "resetWorkflow": "Сбросить рабочий процесс", + "resetWorkflowDesc": "Вы уверены, что хотите сбросить этот рабочий процесс?", + "reloadNodeTemplates": "Перезагрузить шаблоны узлов" } } From 516cc258f9a2bcb20fd105b27b3a8e35876bde48 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:44:28 +0000 Subject: [PATCH 17/70] translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ar.json | 1 - invokeai/frontend/web/public/locales/de.json | 1 - invokeai/frontend/web/public/locales/es.json | 2 -- invokeai/frontend/web/public/locales/fr.json | 1 - invokeai/frontend/web/public/locales/he.json | 1 - invokeai/frontend/web/public/locales/it.json | 4 +--- invokeai/frontend/web/public/locales/ja.json | 1 - invokeai/frontend/web/public/locales/nl.json | 1 - invokeai/frontend/web/public/locales/pl.json | 1 - invokeai/frontend/web/public/locales/pt.json | 1 - invokeai/frontend/web/public/locales/pt_BR.json | 1 - invokeai/frontend/web/public/locales/ru.json | 1 - invokeai/frontend/web/public/locales/uk.json | 1 - invokeai/frontend/web/public/locales/zh_CN.json | 1 - 14 files changed, 1 insertion(+), 17 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ar.json b/invokeai/frontend/web/public/locales/ar.json index 0283d3fafb..7ec6126e23 100644 --- a/invokeai/frontend/web/public/locales/ar.json +++ b/invokeai/frontend/web/public/locales/ar.json @@ -396,7 +396,6 @@ "saveSteps": "حفظ الصور كل n خطوات", "confirmOnDelete": "تأكيد عند الحذف", "displayHelpIcons": "عرض أيقونات المساعدة", - "useCanvasBeta": "استخدام مخطط الأزرار بيتا", "enableImageDebugging": "تمكين التصحيح عند التصوير", "resetWebUI": "إعادة تعيين واجهة الويب", "resetWebUIDesc1": "إعادة تعيين واجهة الويب يعيد فقط ذاكرة التخزين المؤقت للمتصفح لصورك وإعداداتك المذكورة. لا يحذف أي صور من القرص.", diff --git a/invokeai/frontend/web/public/locales/de.json b/invokeai/frontend/web/public/locales/de.json index 5ae0a4b519..0ce584c656 100644 --- a/invokeai/frontend/web/public/locales/de.json +++ b/invokeai/frontend/web/public/locales/de.json @@ -398,7 +398,6 @@ "saveSteps": "Speichern der Bilder alle n Schritte", "confirmOnDelete": "Bestätigen beim Löschen", "displayHelpIcons": "Hilfesymbole anzeigen", - "useCanvasBeta": "Canvas Beta Layout verwenden", "enableImageDebugging": "Bild-Debugging aktivieren", "resetWebUI": "Web-Oberfläche zurücksetzen", "resetWebUIDesc1": "Das Zurücksetzen der Web-Oberfläche setzt nur den lokalen Cache des Browsers mit Ihren Bildern und gespeicherten Einstellungen zurück. Es werden keine Bilder von der Festplatte gelöscht.", diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index f880270edd..ec140836d2 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -77,7 +77,6 @@ "areYouSure": "¿Estas seguro?", "imagePrompt": "Indicación de imagen", "batch": "Administrador de lotes", - "modelmanager": "Administrador de modelos", "darkMode": "Modo oscuro", "lightMode": "Modo claro", "modelManager": "Administrador de modelos", @@ -530,7 +529,6 @@ "saveSteps": "Guardar imágenes cada n pasos", "confirmOnDelete": "Confirmar antes de eliminar", "displayHelpIcons": "Mostrar iconos de ayuda", - "useCanvasBeta": "Usar versión beta del Lienzo", "enableImageDebugging": "Habilitar depuración de imágenes", "resetWebUI": "Restablecer interfaz web", "resetWebUIDesc1": "Al restablecer la interfaz web, solo se restablece la caché local del navegador de sus imágenes y la configuración guardada. No se elimina ninguna imagen de su disco duro.", diff --git a/invokeai/frontend/web/public/locales/fr.json b/invokeai/frontend/web/public/locales/fr.json index c9def33979..0a99845f03 100644 --- a/invokeai/frontend/web/public/locales/fr.json +++ b/invokeai/frontend/web/public/locales/fr.json @@ -410,7 +410,6 @@ "saveSteps": "Enregistrer les images tous les n étapes", "confirmOnDelete": "Confirmer la suppression", "displayHelpIcons": "Afficher les icônes d'aide", - "useCanvasBeta": "Utiliser la mise en page bêta de Canvas", "enableImageDebugging": "Activer le débogage d'image", "resetWebUI": "Réinitialiser l'interface Web", "resetWebUIDesc1": "Réinitialiser l'interface Web ne réinitialise que le cache local du navigateur de vos images et de vos paramètres enregistrés. Cela n'efface pas les images du disque.", diff --git a/invokeai/frontend/web/public/locales/he.json b/invokeai/frontend/web/public/locales/he.json index 229a82b1f4..323be9d8b6 100644 --- a/invokeai/frontend/web/public/locales/he.json +++ b/invokeai/frontend/web/public/locales/he.json @@ -464,7 +464,6 @@ "models": "מודלים", "displayInProgress": "הצגת תמונות בתהליך", "confirmOnDelete": "אישור בעת המחיקה", - "useCanvasBeta": "שימוש בגרסת ביתא של תצוגת הקנבס", "useSlidersForAll": "שימוש במחוונים לכל האפשרויות", "resetWebUI": "איפוס ממשק משתמש", "resetWebUIDesc1": "איפוס ממשק המשתמש האינטרנטי מאפס רק את המטמון המקומי של הדפדפן של התמונות וההגדרות שנשמרו. זה לא מוחק תמונות מהדיסק.", diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index b73bf07afb..ea8fb710d3 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -78,8 +78,7 @@ "imagePrompt": "Prompt Immagine", "darkMode": "Modalità scura", "lightMode": "Modalità chiara", - "batch": "Gestione Lotto", - "modelmanager": "Gestione Modello" + "batch": "Gestione Lotto" }, "gallery": { "generations": "Generazioni", @@ -514,7 +513,6 @@ "saveSteps": "Salva le immagini ogni n passaggi", "confirmOnDelete": "Conferma l'eliminazione", "displayHelpIcons": "Visualizza le icone della Guida", - "useCanvasBeta": "Utilizza il layout beta di Canvas", "enableImageDebugging": "Abilita il debug dell'immagine", "resetWebUI": "Reimposta l'interfaccia utente Web", "resetWebUIDesc1": "Il ripristino dell'interfaccia utente Web reimposta solo la cache locale del browser delle immagini e le impostazioni memorizzate. Non cancella alcuna immagine dal disco.", diff --git a/invokeai/frontend/web/public/locales/ja.json b/invokeai/frontend/web/public/locales/ja.json index 190862b0d1..3672a224ad 100644 --- a/invokeai/frontend/web/public/locales/ja.json +++ b/invokeai/frontend/web/public/locales/ja.json @@ -358,7 +358,6 @@ "saveSteps": "nステップごとに画像を保存", "confirmOnDelete": "削除時に確認", "displayHelpIcons": "ヘルプアイコンを表示", - "useCanvasBeta": "キャンバスレイアウト(Beta)を使用する", "enableImageDebugging": "画像のデバッグを有効化", "resetWebUI": "WebUIをリセット", "resetWebUIDesc1": "WebUIのリセットは、画像と保存された設定のキャッシュをリセットするだけです。画像を削除するわけではありません。", diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index 8410edb998..8458f5e21b 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -500,7 +500,6 @@ "saveSteps": "Bewaar afbeeldingen elke n stappen", "confirmOnDelete": "Bevestig bij verwijderen", "displayHelpIcons": "Toon hulppictogrammen", - "useCanvasBeta": "Gebruik bètavormgeving van canvas", "enableImageDebugging": "Schakel foutopsporing afbeelding in", "resetWebUI": "Herstel web-UI", "resetWebUIDesc1": "Herstel web-UI herstelt alleen de lokale afbeeldingscache en de onthouden instellingen van je browser. Het verwijdert geen afbeeldingen van schijf.", diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index 02b1bc36b0..9a1b0cf3fb 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -327,7 +327,6 @@ "saveSteps": "Zapisuj obrazy co X kroków", "confirmOnDelete": "Potwierdzaj usuwanie", "displayHelpIcons": "Wyświetlaj ikony pomocy", - "useCanvasBeta": "Nowy układ trybu uniwersalnego", "enableImageDebugging": "Włącz debugowanie obrazu", "resetWebUI": "Zresetuj interfejs", "resetWebUIDesc1": "Resetowanie interfejsu wyczyści jedynie dane i ustawienia zapisane w pamięci przeglądarki. Nie usunie żadnych obrazów z dysku.", diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json index b1fe68c6ab..c57a005779 100644 --- a/invokeai/frontend/web/public/locales/pt.json +++ b/invokeai/frontend/web/public/locales/pt.json @@ -472,7 +472,6 @@ "settings": { "confirmOnDelete": "Confirmar Antes de Apagar", "displayHelpIcons": "Mostrar Ícones de Ajuda", - "useCanvasBeta": "Usar Layout de Telas Beta", "enableImageDebugging": "Ativar Depuração de Imagem", "useSlidersForAll": "Usar deslizadores para todas as opções", "resetWebUIDesc1": "Reiniciar a interface apenas reinicia o cache local do broswer para imagens e configurações lembradas. Não apaga nenhuma imagem do disco.", diff --git a/invokeai/frontend/web/public/locales/pt_BR.json b/invokeai/frontend/web/public/locales/pt_BR.json index 3fb9e76acb..f76703e676 100644 --- a/invokeai/frontend/web/public/locales/pt_BR.json +++ b/invokeai/frontend/web/public/locales/pt_BR.json @@ -469,7 +469,6 @@ "saveSteps": "Salvar imagens a cada n passos", "confirmOnDelete": "Confirmar Antes de Apagar", "displayHelpIcons": "Mostrar Ícones de Ajuda", - "useCanvasBeta": "Usar Layout de Telas Beta", "enableImageDebugging": "Ativar Depuração de Imagem", "resetWebUI": "Reiniciar Interface", "resetWebUIDesc1": "Reiniciar a interface apenas reinicia o cache local do broswer para imagens e configurações lembradas. Não apaga nenhuma imagem do disco.", diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index cccf770682..8b1a7d3d25 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -545,7 +545,6 @@ "saveSteps": "Сохранять каждые n щагов", "confirmOnDelete": "Подтверждать удаление", "displayHelpIcons": "Показывать значки подсказок", - "useCanvasBeta": "Показывать инструменты слева (Beta UI)", "enableImageDebugging": "Включить отладку", "resetWebUI": "Сброс настроек Web UI", "resetWebUIDesc1": "Сброс настроек веб-интерфейса удаляет только локальный кэш браузера с вашими изображениями и настройками. Он не удаляет изображения с диска.", diff --git a/invokeai/frontend/web/public/locales/uk.json b/invokeai/frontend/web/public/locales/uk.json index efc3b60ee3..b874cdc7eb 100644 --- a/invokeai/frontend/web/public/locales/uk.json +++ b/invokeai/frontend/web/public/locales/uk.json @@ -485,7 +485,6 @@ "saveSteps": "Зберігати кожні n кроків", "confirmOnDelete": "Підтверджувати видалення", "displayHelpIcons": "Показувати значки підказок", - "useCanvasBeta": "Показувати інструменты зліва (Beta UI)", "enableImageDebugging": "Увімкнути налагодження", "resetWebUI": "Повернути початкові", "resetWebUIDesc1": "Скидання настройок веб-інтерфейсу видаляє лише локальний кеш браузера з вашими зображеннями та налаштуваннями. Це не призводить до видалення зображень з диску.", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index 5b3b2f1039..749bd2b5b1 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -504,7 +504,6 @@ "saveSteps": "每n步保存图像", "confirmOnDelete": "删除时确认", "displayHelpIcons": "显示帮助按钮", - "useCanvasBeta": "使用测试版画布视图", "enableImageDebugging": "开启图像调试", "resetWebUI": "重置网页界面", "resetWebUIDesc1": "重置网页只会重置浏览器中缓存的图像和设置,不会删除任何图像。", From 1047d08835d33ca84a3b4844d627445c61cd7093 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Thu, 12 Oct 2023 12:44:30 +0000 Subject: [PATCH 18/70] translationBot(ui): update translation (Italian) Currently translated at 100.0% (591 of 591 strings) translationBot(ui): update translation (Italian) Currently translated at 99.3% (587 of 591 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (586 of 586 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (578 of 578 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (563 of 563 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (559 of 559 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (559 of 559 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (551 of 551 strings) Co-authored-by: Riccardo Giovanetti Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 65 +++++++++++++++++--- 1 file changed, 57 insertions(+), 8 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index ea8fb710d3..7e56c76c2d 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -78,7 +78,9 @@ "imagePrompt": "Prompt Immagine", "darkMode": "Modalità scura", "lightMode": "Modalità chiara", - "batch": "Gestione Lotto" + "batch": "Gestione Lotto", + "modelManager": "Gestione del modello", + "clearNodes": "Sei sicuro di voler cancellare tutti i nodi?" }, "gallery": { "generations": "Generazioni", @@ -94,7 +96,7 @@ "pinGallery": "Blocca la galleria", "allImagesLoaded": "Tutte le immagini caricate", "loadMore": "Carica di più", - "noImagesInGallery": "Nessuna immagine nella galleria", + "noImagesInGallery": "Nessuna immagine da visualizzare", "deleteImage": "Elimina l'immagine", "deleteImagePermanent": "Le immagini eliminate non possono essere ripristinate.", "deleteImageBin": "Le immagini eliminate verranno spostate nel Cestino del tuo sistema operativo.", @@ -369,7 +371,7 @@ "deleteModel": "Elimina modello", "deleteConfig": "Elimina configurazione", "deleteMsg1": "Sei sicuro di voler eliminare questo modello da InvokeAI?", - "deleteMsg2": "Questo non eliminerà il file Checkpoint del modello dal tuo disco. Puoi aggiungerlo nuovamente se lo desideri.", + "deleteMsg2": "Questo eliminerà il modello dal disco se si trova nella cartella principale di InvokeAI. Se utilizzi una cartella personalizzata, il modello NON verrà eliminato dal disco.", "formMessageDiffusersModelLocation": "Ubicazione modelli diffusori", "formMessageDiffusersModelLocationDesc": "Inseriscine almeno uno.", "formMessageDiffusersVAELocation": "Ubicazione file VAE", @@ -378,7 +380,7 @@ "convertToDiffusers": "Converti in Diffusori", "convertToDiffusersHelpText2": "Questo processo sostituirà la voce in Gestione Modelli con la versione Diffusori dello stesso modello.", "convertToDiffusersHelpText4": "Questo è un processo una tantum. Potrebbero essere necessari circa 30-60 secondi a seconda delle specifiche del tuo computer.", - "convertToDiffusersHelpText5": "Assicurati di avere spazio su disco sufficiente. I modelli generalmente variano tra 4 GB e 7 GB di dimensioni.", + "convertToDiffusersHelpText5": "Assicurati di avere spazio su disco sufficiente. I modelli generalmente variano tra 2 GB e 7 GB di dimensioni.", "convertToDiffusersHelpText6": "Vuoi convertire questo modello?", "convertToDiffusersSaveLocation": "Ubicazione salvataggio", "inpainting": "v1 Inpainting", @@ -403,7 +405,7 @@ "mergedModelSaveLocation": "Ubicazione salvataggio", "convertToDiffusersHelpText1": "Questo modello verrà convertito nel formato 🧨 Diffusore.", "custom": "Personalizzata", - "convertToDiffusersHelpText3": "Il tuo file checkpoint sul disco NON verrà comunque cancellato o modificato. Se lo desideri, puoi aggiungerlo di nuovo in Gestione Modelli.", + "convertToDiffusersHelpText3": "Il file checkpoint su disco SARÀ eliminato se si trova nella cartella principale di InvokeAI. Se si trova in una posizione personalizzata, NON verrà eliminato.", "v1": "v1", "pathToCustomConfig": "Percorso alla configurazione personalizzata", "modelThree": "Modello 3", @@ -421,7 +423,21 @@ "scanForModels": "Cerca modelli", "variant": "Variante", "baseModel": "Modello Base", - "vae": "VAE" + "vae": "VAE", + "modelUpdateFailed": "Aggiornamento del modello non riuscito", + "modelConversionFailed": "Conversione del modello non riuscita", + "modelsMergeFailed": "Unione modelli non riuscita", + "selectModel": "Seleziona Modello", + "modelDeleted": "Modello cancellato", + "modelDeleteFailed": "Impossibile eliminare il modello", + "noCustomLocationProvided": "Nessuna posizione personalizzata fornita", + "convertingModelBegin": "Conversione del modello. Attendere prego.", + "importModels": "Importa modelli", + "modelsSynced": "Modelli sincronizzati", + "modelSyncFailed": "Sincronizzazione del modello non riuscita", + "settings": "Impostazioni", + "syncModels": "Sincronizza Modelli", + "syncModelsDesc": "Se i tuoi modelli non sono sincronizzati con il back-end, puoi aggiornarli utilizzando questa opzione. Questo è generalmente utile nei casi in cui aggiorni manualmente il tuo file models.yaml o aggiungi modelli alla cartella principale di InvokeAI dopo l'avvio dell'applicazione." }, "parameters": { "images": "Immagini", @@ -529,7 +545,11 @@ "ui": "Interfaccia Utente", "favoriteSchedulersPlaceholder": "Nessun campionatore preferito", "favoriteSchedulers": "Campionatori preferiti", - "showAdvancedOptions": "Mostra Opzioni Avanzate" + "showAdvancedOptions": "Mostra Opzioni Avanzate", + "alternateCanvasLayout": "Layout alternativo della tela", + "beta": "Beta", + "enableNodesEditor": "Abilita l'editor dei nodi", + "experimental": "Sperimentale" }, "toast": { "tempFoldersEmptied": "Cartella temporanea svuotata", @@ -568,7 +588,17 @@ "problemCopyingImageLink": "Impossibile copiare il collegamento dell'immagine", "uploadFailedInvalidUploadDesc": "Deve essere una singola immagine PNG o JPEG", "parameterSet": "Parametro impostato", - "parameterNotSet": "Parametro non impostato" + "parameterNotSet": "Parametro non impostato", + "nodesLoadedFailed": "Impossibile caricare i nodi", + "nodesSaved": "Nodi salvati", + "nodesLoaded": "Nodi caricati", + "nodesCleared": "Nodi cancellati", + "problemCopyingImage": "Impossibile copiare l'immagine", + "nodesNotValidGraph": "Grafico del nodo InvokeAI non valido", + "nodesCorruptedGraph": "Impossibile caricare. Il grafico sembra essere danneggiato.", + "nodesUnrecognizedTypes": "Impossibile caricare. Il grafico ha tipi di dati non riconosciuti", + "nodesNotValidJSON": "JSON non valido", + "nodesBrokenConnections": "Impossibile caricare. Alcune connessioni sono interrotte." }, "tooltip": { "feature": { @@ -672,5 +702,24 @@ "hideProgressImages": "Nascondi avanzamento immagini", "showProgressImages": "Mostra avanzamento immagini", "swapSizes": "Scambia dimensioni" + }, + "nodes": { + "reloadSchema": "Ricarica lo schema", + "clearNodes": "Cancella nodi", + "saveNodes": "Salva nodi", + "loadNodes": "Carica nodi", + "zoomOutNodes": "Rimpicciolire", + "hideGraphNodes": "Nascondi sovrapposizione grafico", + "hideLegendNodes": "Nascondi la legenda del tipo di campo", + "showLegendNodes": "Mostra legenda del tipo di campo", + "hideMinimapnodes": "Nascondi minimappa", + "showMinimapnodes": "Mostra minimappa", + "zoomInNodes": "Ingrandire", + "fitViewportNodes": "Adatta vista", + "showGraphNodes": "Mostra sovrapposizione grafico", + "saveGraph": "Salva grafico", + "loadGraph": "Carica grafico (salvato dal Editor dei Nodi) (non copiare e incollare i metadati)", + "clearGraph": "Cancella il grafico", + "clearGraphDesc": "Sei sicuro di voler cancellare tutti i nodi?" } } From 5d3ab4f333ea959fa30a239d8127a1b6793bb808 Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 12 Oct 2023 12:44:32 +0000 Subject: [PATCH 19/70] translationBot(ui): update translation (Dutch) Currently translated at 100.0% (563 of 563 strings) translationBot(ui): update translation (Dutch) Currently translated at 100.0% (563 of 563 strings) Co-authored-by: Dennis Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/nl/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/nl.json | 57 ++++++++++++++++---- 1 file changed, 46 insertions(+), 11 deletions(-) diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index 8458f5e21b..74d46d728b 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -68,14 +68,19 @@ "langHebrew": "עברית", "langKorean": "한국어", "txt2img": "Tekst naar afbeelding", - "postprocessing": "Nabewerking", + "postprocessing": "Naverwerking", "dontAskMeAgain": "Vraag niet opnieuw", "imagePrompt": "Afbeeldingsprompt", "random": "Willekeurig", "generate": "Genereer", "openInNewTab": "Open in nieuw tabblad", "areYouSure": "Weet je het zeker?", - "linear": "Lineair" + "linear": "Lineair", + "batch": "Seriebeheer", + "modelManager": "Modelbeheer", + "clearNodes": "Weet je zeker dat je alle knooppunten wilt weghalen?", + "darkMode": "Donkere modus", + "lightMode": "Lichte modus" }, "gallery": { "generations": "Gegenereerde afbeeldingen", @@ -91,7 +96,7 @@ "pinGallery": "Zet galerij vast", "allImagesLoaded": "Alle afbeeldingen geladen", "loadMore": "Laad meer", - "noImagesInGallery": "Geen afbeeldingen in galerij", + "noImagesInGallery": "Geen afbeeldingen om te tonen", "deleteImage": "Wis afbeelding", "deleteImageBin": "Gewiste afbeeldingen worden naar de prullenbak van je besturingssysteem gestuurd.", "deleteImagePermanent": "Gewiste afbeeldingen kunnen niet worden hersteld.", @@ -355,8 +360,8 @@ "delete": "Verwijder", "deleteModel": "Verwijder model", "deleteConfig": "Verwijder configuratie", - "deleteMsg1": "Weet je zeker dat je deze modelregel wilt verwijderen uit InvokeAI?", - "deleteMsg2": "Hiermee wordt het checkpointbestand niet van je schijf verwijderd. Je kunt deze opnieuw toevoegen als je dat wilt.", + "deleteMsg1": "Weet je zeker dat je dit model wilt verwijderen uit InvokeAI?", + "deleteMsg2": "Hiermee ZAL het model van schijf worden verwijderd als het zich bevindt in de InvokeAI-beginmap. Als je het model vanaf een eigen locatie gebruikt, dan ZAL het model NIET van schijf worden verwijderd.", "formMessageDiffusersVAELocationDesc": "Indien niet opgegeven, dan zal InvokeAI kijken naar het VAE-bestand in de hierboven gegeven modellocatie.", "repoIDValidationMsg": "Online repository van je model", "formMessageDiffusersModelLocation": "Locatie Diffusers-model", @@ -378,7 +383,7 @@ "convertToDiffusersHelpText1": "Dit model wordt omgezet naar de🧨 Diffusers-indeling.", "convertToDiffusersHelpText2": "Dit proces vervangt het onderdeel in Modelonderhoud met de Diffusers-versie van hetzelfde model.", "convertToDiffusersHelpText4": "Dit is een eenmalig proces. Dit neemt ongeveer 30 tot 60 sec. in beslag, afhankelijk van de specificaties van je computer.", - "convertToDiffusersHelpText5": "Zorg ervoor dat je genoeg schijfruimte hebt. Modellen nemen gewoonlijk ongeveer 4 - 7 GB ruimte in beslag.", + "convertToDiffusersHelpText5": "Zorg ervoor dat je genoeg schijfruimte hebt. Modellen nemen gewoonlijk ongeveer 2 tot 7 GB ruimte in beslag.", "convertToDiffusersSaveLocation": "Bewaarlocatie", "v1": "v1", "inpainting": "v1-inpainting", @@ -415,7 +420,14 @@ "none": "geen", "addDifference": "Voeg verschil toe", "scanForModels": "Scan naar modellen", - "pickModelType": "Kies modelsoort" + "pickModelType": "Kies modelsoort", + "baseModel": "Basismodel", + "vae": "VAE", + "variant": "Variant", + "modelConversionFailed": "Omzetten model mislukt", + "modelUpdateFailed": "Bijwerken model mislukt", + "modelsMergeFailed": "Samenvoegen model mislukt", + "selectModel": "Kies model" }, "parameters": { "images": "Afbeeldingen", @@ -492,7 +504,14 @@ "seamlessXAxis": "X-as", "seamlessYAxis": "Y-as", "hidePreview": "Verberg voorvertoning", - "showPreview": "Toon voorvertoning" + "showPreview": "Toon voorvertoning", + "boundingBoxWidth": "Kaderbreedte", + "boundingBoxHeight": "Kaderhoogte", + "clipSkip": "Overslaan CLIP", + "aspectRatio": "Verhouding", + "negativePromptPlaceholder": "Negatieve prompt", + "controlNetControlMode": "Aansturingsmodus", + "positivePromptPlaceholder": "Positieve prompt" }, "settings": { "models": "Modellen", @@ -513,7 +532,10 @@ "showProgressInViewer": "Toon voortgangsafbeeldingen in viewer", "generation": "Generatie", "ui": "Gebruikersinterface", - "antialiasProgressImages": "Voer anti-aliasing uit op voortgangsafbeeldingen" + "antialiasProgressImages": "Voer anti-aliasing uit op voortgangsafbeeldingen", + "showAdvancedOptions": "Toon uitgebreide opties", + "favoriteSchedulers": "Favoriete planners", + "favoriteSchedulersPlaceholder": "Geen favoriete planners ingesteld" }, "toast": { "tempFoldersEmptied": "Tijdelijke map geleegd", @@ -550,7 +572,13 @@ "connected": "Verbonden met server", "canceled": "Verwerking geannuleerd", "uploadFailedInvalidUploadDesc": "Moet een enkele PNG- of JPEG-afbeelding zijn", - "problemCopyingImageLink": "Kan afbeeldingslink niet kopiëren" + "problemCopyingImageLink": "Kan afbeeldingslink niet kopiëren", + "parameterNotSet": "Parameter niet ingesteld", + "parameterSet": "Instellen parameters", + "nodesSaved": "Knooppunten bewaard", + "nodesLoaded": "Knooppunten geladen", + "nodesCleared": "Knooppunten weggehaald", + "nodesLoadedFailed": "Laden knooppunten mislukt" }, "tooltip": { "feature": { @@ -652,6 +680,13 @@ }, "ui": { "showProgressImages": "Toon voortgangsafbeeldingen", - "hideProgressImages": "Verberg voortgangsafbeeldingen" + "hideProgressImages": "Verberg voortgangsafbeeldingen", + "swapSizes": "Wissel afmetingen om" + }, + "nodes": { + "reloadSchema": "Laad schema opnieuw in", + "loadNodes": "Laad knooppunten", + "saveNodes": "Bewaar knooppunten", + "clearNodes": "Haal knooppunten weg" } } From 8e943b2ce142c6820fbdb9ed89451c67d337ceed Mon Sep 17 00:00:00 2001 From: Simona Liliac Date: Thu, 12 Oct 2023 12:44:33 +0000 Subject: [PATCH 20/70] translationBot(ui): update translation (Polish) Currently translated at 58.4% (338 of 578 strings) Co-authored-by: Simona Liliac Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/pl/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/pl.json | 29 +++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index 9a1b0cf3fb..2bde4c95c0 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -39,7 +39,11 @@ "statusUpscaling": "Powiększanie obrazu", "statusUpscalingESRGAN": "Powiększanie (ESRGAN)", "statusLoadingModel": "Wczytywanie modelu", - "statusModelChanged": "Zmieniono model" + "statusModelChanged": "Zmieniono model", + "githubLabel": "GitHub", + "discordLabel": "Discord", + "darkMode": "Tryb ciemny", + "lightMode": "Tryb jasny" }, "gallery": { "generations": "Wygenerowane", @@ -437,5 +441,28 @@ "betaDarkenOutside": "Przyciemnienie", "betaLimitToBox": "Ogranicz do zaznaczenia", "betaPreserveMasked": "Zachowaj obszar" + }, + "accessibility": { + "zoomIn": "Przybliż", + "exitViewer": "Wyjdź z podglądu", + "modelSelect": "Wybór modelu", + "invokeProgressBar": "Pasek postępu", + "reset": "Zerowanie", + "useThisParameter": "Użyj tego parametru", + "copyMetadataJson": "Kopiuj metadane JSON", + "uploadImage": "Wgrywanie obrazu", + "previousImage": "Poprzedni obraz", + "nextImage": "Następny obraz", + "zoomOut": "Oddal", + "rotateClockwise": "Obróć zgodnie ze wskazówkami zegara", + "rotateCounterClockwise": "Obróć przeciwnie do wskazówek zegara", + "flipHorizontally": "Odwróć horyzontalnie", + "flipVertically": "Odwróć wertykalnie", + "modifyConfig": "Modyfikuj ustawienia", + "toggleAutoscroll": "Przełącz autoprzewijanie", + "toggleLogViewer": "Przełącz podgląd logów", + "showGallery": "Pokaż galerię", + "showOptionsPanel": "Pokaż panel opcji", + "menu": "Menu" } } From 2bad8b9f29c2ef335583449e09c62e7aef05c192 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:44:36 +0000 Subject: [PATCH 21/70] translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/es.json | 6 +----- invokeai/frontend/web/public/locales/it.json | 6 +----- invokeai/frontend/web/public/locales/nl.json | 6 +----- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index ec140836d2..5c182692b5 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -79,8 +79,7 @@ "batch": "Administrador de lotes", "darkMode": "Modo oscuro", "lightMode": "Modo claro", - "modelManager": "Administrador de modelos", - "clearNodes": "¿Estás seguro de que deseas borrar todos los nodos?" + "modelManager": "Administrador de modelos" }, "gallery": { "generations": "Generaciones", @@ -705,9 +704,6 @@ }, "nodes": { "reloadSchema": "Esquema de recarga", - "loadNodes": "Nodos de carga", - "clearNodes": "Borrar los nodos", - "saveNodes": "Guardar los nodos", "showGraphNodes": "Mostrar la superposición de los gráficos", "zoomInNodes": "Acercar", "hideMinimapnodes": "Ocultar el minimapa", diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 7e56c76c2d..74663d95f4 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -79,8 +79,7 @@ "darkMode": "Modalità scura", "lightMode": "Modalità chiara", "batch": "Gestione Lotto", - "modelManager": "Gestione del modello", - "clearNodes": "Sei sicuro di voler cancellare tutti i nodi?" + "modelManager": "Gestione del modello" }, "gallery": { "generations": "Generazioni", @@ -705,9 +704,6 @@ }, "nodes": { "reloadSchema": "Ricarica lo schema", - "clearNodes": "Cancella nodi", - "saveNodes": "Salva nodi", - "loadNodes": "Carica nodi", "zoomOutNodes": "Rimpicciolire", "hideGraphNodes": "Nascondi sovrapposizione grafico", "hideLegendNodes": "Nascondi la legenda del tipo di campo", diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index 74d46d728b..045ace3dbf 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -78,7 +78,6 @@ "linear": "Lineair", "batch": "Seriebeheer", "modelManager": "Modelbeheer", - "clearNodes": "Weet je zeker dat je alle knooppunten wilt weghalen?", "darkMode": "Donkere modus", "lightMode": "Lichte modus" }, @@ -684,9 +683,6 @@ "swapSizes": "Wissel afmetingen om" }, "nodes": { - "reloadSchema": "Laad schema opnieuw in", - "loadNodes": "Laad knooppunten", - "saveNodes": "Bewaar knooppunten", - "clearNodes": "Haal knooppunten weg" + "reloadSchema": "Laad schema opnieuw in" } } From 77aeb9a421e6d8851d0562ece2a653afb2a8ca9c Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Thu, 12 Oct 2023 12:44:38 +0000 Subject: [PATCH 22/70] translationBot(ui): update translation (Spanish) Currently translated at 99.6% (601 of 603 strings) translationBot(ui): update translation (Spanish) Currently translated at 99.5% (600 of 603 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (599 of 599 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (596 of 596 strings) translationBot(ui): update translation (Spanish) Currently translated at 99.8% (594 of 595 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (593 of 593 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (592 of 592 strings) Co-authored-by: gallegonovato Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/es.json | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index 5c182692b5..d30ee3c188 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -79,7 +79,8 @@ "batch": "Administrador de lotes", "darkMode": "Modo oscuro", "lightMode": "Modo claro", - "modelManager": "Administrador de modelos" + "modelManager": "Administrador de modelos", + "communityLabel": "Comunidad" }, "gallery": { "generations": "Generaciones", @@ -100,7 +101,8 @@ "deleteImageBin": "Las imágenes eliminadas se enviarán a la papelera de tu sistema operativo.", "deleteImagePermanent": "Las imágenes eliminadas no se pueden restaurar.", "images": "Imágenes", - "assets": "Activos" + "assets": "Activos", + "autoAssignBoardOnClick": "Asignación automática de tableros al hacer clic" }, "hotkeys": { "keyboardShortcuts": "Atajos de teclado", @@ -436,7 +438,10 @@ "syncModels": "Sincronizar las plantillas", "syncModelsDesc": "Si tus plantillas no están sincronizados con el backend, puedes actualizarlas usando esta opción. Esto suele ser útil en los casos en los que actualizas manualmente tu archivo models.yaml o añades plantillas a la carpeta raíz de InvokeAI después de que la aplicación haya arrancado.", "modelsSynced": "Plantillas sincronizadas", - "modelSyncFailed": "La sincronización de la plantilla falló" + "modelSyncFailed": "La sincronización de la plantilla falló", + "loraModels": "LoRA", + "onnxModels": "Onnx", + "oliveModels": "Olives" }, "parameters": { "images": "Imágenes", @@ -520,7 +525,12 @@ "negativePromptPlaceholder": "Prompt Negativo", "controlNetControlMode": "Modo de control", "clipSkip": "Omitir el CLIP", - "aspectRatio": "Relación" + "aspectRatio": "Relación", + "maskAdjustmentsHeader": "Ajustes de la máscara", + "maskBlur": "Máscara de Desenfoque", + "maskBlurMethod": "Método del desenfoque de la máscara", + "seamHighThreshold": "Alto", + "seamPaintingHeader": "Pintando las uniones" }, "settings": { "models": "Modelos", From 9940cbfa870ad528f685e3e9e78ccaa98725f5ff Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Thu, 12 Oct 2023 12:44:40 +0000 Subject: [PATCH 23/70] translationBot(ui): update translation (Italian) Currently translated at 97.8% (589 of 602 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (603 of 603 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (599 of 599 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (596 of 596 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (595 of 595 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (595 of 595 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (593 of 593 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (592 of 592 strings) Co-authored-by: Riccardo Giovanetti Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 24 ++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 74663d95f4..4fb45990aa 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -79,7 +79,8 @@ "darkMode": "Modalità scura", "lightMode": "Modalità chiara", "batch": "Gestione Lotto", - "modelManager": "Gestione del modello" + "modelManager": "Gestione del modello", + "communityLabel": "Comunità" }, "gallery": { "generations": "Generazioni", @@ -100,7 +101,8 @@ "deleteImagePermanent": "Le immagini eliminate non possono essere ripristinate.", "deleteImageBin": "Le immagini eliminate verranno spostate nel Cestino del tuo sistema operativo.", "images": "Immagini", - "assets": "Risorse" + "assets": "Risorse", + "autoAssignBoardOnClick": "Assegna automaticamente la bacheca al clic" }, "hotkeys": { "keyboardShortcuts": "Tasti rapidi", @@ -307,6 +309,10 @@ "acceptStagingImage": { "title": "Accetta l'immagine della sessione", "desc": "Accetta l'immagine dell'area della sessione corrente" + }, + "nodesHotkeys": "Tasti di scelta rapida dei Nodi", + "addNodes": { + "title": "Aggiungi Nodi" } }, "modelManager": { @@ -436,7 +442,10 @@ "modelSyncFailed": "Sincronizzazione del modello non riuscita", "settings": "Impostazioni", "syncModels": "Sincronizza Modelli", - "syncModelsDesc": "Se i tuoi modelli non sono sincronizzati con il back-end, puoi aggiornarli utilizzando questa opzione. Questo è generalmente utile nei casi in cui aggiorni manualmente il tuo file models.yaml o aggiungi modelli alla cartella principale di InvokeAI dopo l'avvio dell'applicazione." + "syncModelsDesc": "Se i tuoi modelli non sono sincronizzati con il back-end, puoi aggiornarli utilizzando questa opzione. Questo è generalmente utile nei casi in cui aggiorni manualmente il tuo file models.yaml o aggiungi modelli alla cartella principale di InvokeAI dopo l'avvio dell'applicazione.", + "loraModels": "LoRA", + "oliveModels": "Olive", + "onnxModels": "ONNX" }, "parameters": { "images": "Immagini", @@ -520,7 +529,14 @@ "negativePromptPlaceholder": "Prompt Negativo", "controlNetControlMode": "Modalità di controllo", "clipSkip": "Salta CLIP", - "aspectRatio": "Proporzioni" + "aspectRatio": "Proporzioni", + "maskAdjustmentsHeader": "Regolazioni della maschera", + "maskBlur": "Sfocatura maschera", + "maskBlurMethod": "Metodo di sfocatura della maschera", + "seamPaintingHeader": "Pittura della cucitura", + "seamThreshold": "Soglia di cucitura", + "seamLowThreshold": "Basso", + "seamHighThreshold": "Alto" }, "settings": { "models": "Modelli", From bd97c6b70813f697eaad15e4d7a9b2bb093b32ec Mon Sep 17 00:00:00 2001 From: Arnold Cordewiner Date: Thu, 12 Oct 2023 12:44:41 +0000 Subject: [PATCH 24/70] translationBot(ui): update translation (Dutch) Currently translated at 99.6% (591 of 593 strings) Co-authored-by: Arnold Cordewiner Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/nl/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/nl.json | 53 ++++++++++++++++---- 1 file changed, 44 insertions(+), 9 deletions(-) diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index 045ace3dbf..c0b260e70b 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -61,7 +61,7 @@ "statusMergedModels": "Modellen samengevoegd", "cancel": "Annuleer", "accept": "Akkoord", - "langPortuguese": "Português", + "langPortuguese": "Portugees", "pinOptionsPanel": "Zet deelscherm Opties vast", "loading": "Bezig met laden", "loadingInvokeAI": "Bezig met laden van Invoke AI", @@ -79,7 +79,8 @@ "batch": "Seriebeheer", "modelManager": "Modelbeheer", "darkMode": "Donkere modus", - "lightMode": "Lichte modus" + "lightMode": "Lichte modus", + "communityLabel": "Gemeenschap" }, "gallery": { "generations": "Gegenereerde afbeeldingen", @@ -364,7 +365,7 @@ "formMessageDiffusersVAELocationDesc": "Indien niet opgegeven, dan zal InvokeAI kijken naar het VAE-bestand in de hierboven gegeven modellocatie.", "repoIDValidationMsg": "Online repository van je model", "formMessageDiffusersModelLocation": "Locatie Diffusers-model", - "convertToDiffusersHelpText3": "Je Checkpoint-bestand op schijf zal NIET worden verwijderd of gewijzigd. Je kunt je Checkpoint opnieuw toevoegen aan Modelonderhoud als je dat wilt.", + "convertToDiffusersHelpText3": "Je checkpoint-bestand op schijf ZAL worden verwijderd als het zich in de InvokeAI root map bevindt. Het zal NIET worden verwijderd als het zich in een andere locatie bevindt.", "convertToDiffusersHelpText6": "Wil je dit model omzetten?", "allModels": "Alle modellen", "checkpointModels": "Checkpoints", @@ -426,7 +427,18 @@ "modelConversionFailed": "Omzetten model mislukt", "modelUpdateFailed": "Bijwerken model mislukt", "modelsMergeFailed": "Samenvoegen model mislukt", - "selectModel": "Kies model" + "selectModel": "Kies model", + "settings": "Instellingen", + "modelDeleted": "Model verwijderd", + "noCustomLocationProvided": "Geen Aangepaste Locatie Opgegeven", + "syncModels": "Synchroniseer Modellen", + "modelsSynced": "Modellen Gesynchroniseerd", + "modelSyncFailed": "Synchronisatie Modellen Gefaald", + "modelDeleteFailed": "Model kon niet verwijderd worden", + "convertingModelBegin": "Model aan het converteren. Even geduld.", + "importModels": "Importeer Modellen", + "syncModelsDesc": "Als je modellen niet meer synchroon zijn met de backend, kan je ze met deze optie verversen. Dit wordt typisch gebruikt in het geval je het models.yaml bestand met de hand bewerkt of als je modellen aan de InvokeAI root map toevoegt nadat de applicatie gestart werd.", + "loraModels": "LoRA's" }, "parameters": { "images": "Afbeeldingen", @@ -504,8 +516,8 @@ "seamlessYAxis": "Y-as", "hidePreview": "Verberg voorvertoning", "showPreview": "Toon voorvertoning", - "boundingBoxWidth": "Kaderbreedte", - "boundingBoxHeight": "Kaderhoogte", + "boundingBoxWidth": "Tekenvak breedte", + "boundingBoxHeight": "Tekenvak hoogte", "clipSkip": "Overslaan CLIP", "aspectRatio": "Verhouding", "negativePromptPlaceholder": "Negatieve prompt", @@ -534,7 +546,11 @@ "antialiasProgressImages": "Voer anti-aliasing uit op voortgangsafbeeldingen", "showAdvancedOptions": "Toon uitgebreide opties", "favoriteSchedulers": "Favoriete planners", - "favoriteSchedulersPlaceholder": "Geen favoriete planners ingesteld" + "favoriteSchedulersPlaceholder": "Geen favoriete planners ingesteld", + "beta": "Bèta", + "experimental": "Experimenteel", + "alternateCanvasLayout": "Omwisselen Canvas Layout", + "enableNodesEditor": "Knopen Editor Inschakelen" }, "toast": { "tempFoldersEmptied": "Tijdelijke map geleegd", @@ -577,7 +593,13 @@ "nodesSaved": "Knooppunten bewaard", "nodesLoaded": "Knooppunten geladen", "nodesCleared": "Knooppunten weggehaald", - "nodesLoadedFailed": "Laden knooppunten mislukt" + "nodesLoadedFailed": "Laden knooppunten mislukt", + "problemCopyingImage": "Kan Afbeelding Niet Kopiëren", + "nodesNotValidJSON": "Ongeldige JSON", + "nodesCorruptedGraph": "Kan niet laden. Graph lijkt corrupt.", + "nodesUnrecognizedTypes": "Laden mislukt. Graph heeft onherkenbare types", + "nodesBrokenConnections": "Laden mislukt. Sommige verbindingen zijn verbroken.", + "nodesNotValidGraph": "Geen geldige knooppunten graph" }, "tooltip": { "feature": { @@ -683,6 +705,19 @@ "swapSizes": "Wissel afmetingen om" }, "nodes": { - "reloadSchema": "Laad schema opnieuw in" + "reloadSchema": "Laad schema opnieuw in", + "zoomOutNodes": "Uitzoomen", + "fitViewportNodes": "Aanpassen aan beeld", + "hideMinimapnodes": "Minimap verbergen", + "showLegendNodes": "Typelegende veld tonen", + "zoomInNodes": "Inzoomen", + "hideGraphNodes": "Graph overlay verbergen", + "clearGraph": "Graph verwijderen", + "showGraphNodes": "Graph overlay tonen", + "showMinimapnodes": "Minimap tonen", + "clearGraphDesc": "Ben je zeker dat je alle knooppunten wil verwijderen?", + "saveGraph": "Graph opslaan", + "loadGraph": "Graph laden (bewaard van knooppunten editor) (Metadata niet kopiëren-plakken)", + "hideLegendNodes": "Typelegende veld verbergen" } } From be52eb153ce5a99fd1acf9b6e5b69ad7bc5078de Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:44:44 +0000 Subject: [PATCH 25/70] translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ar.json | 1 - invokeai/frontend/web/public/locales/de.json | 1 - invokeai/frontend/web/public/locales/es.json | 9 +-------- invokeai/frontend/web/public/locales/fi.json | 2 -- invokeai/frontend/web/public/locales/fr.json | 2 -- invokeai/frontend/web/public/locales/he.json | 1 - invokeai/frontend/web/public/locales/it.json | 9 +-------- invokeai/frontend/web/public/locales/ja.json | 2 -- invokeai/frontend/web/public/locales/nl.json | 7 ------- invokeai/frontend/web/public/locales/pl.json | 1 - invokeai/frontend/web/public/locales/pt.json | 2 -- invokeai/frontend/web/public/locales/pt_BR.json | 2 -- invokeai/frontend/web/public/locales/ru.json | 7 ------- invokeai/frontend/web/public/locales/sv.json | 2 -- invokeai/frontend/web/public/locales/uk.json | 2 -- invokeai/frontend/web/public/locales/zh_CN.json | 4 +--- 16 files changed, 3 insertions(+), 51 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ar.json b/invokeai/frontend/web/public/locales/ar.json index 7ec6126e23..fd0f524b73 100644 --- a/invokeai/frontend/web/public/locales/ar.json +++ b/invokeai/frontend/web/public/locales/ar.json @@ -53,7 +53,6 @@ "maintainAspectRatio": "الحفاظ على نسبة الأبعاد", "autoSwitchNewImages": "التبديل التلقائي إلى الصور الجديدة", "singleColumnLayout": "تخطيط عمود واحد", - "pinGallery": "تثبيت المعرض", "allImagesLoaded": "تم تحميل جميع الصور", "loadMore": "تحميل المزيد", "noImagesInGallery": "لا توجد صور في المعرض" diff --git a/invokeai/frontend/web/public/locales/de.json b/invokeai/frontend/web/public/locales/de.json index 0ce584c656..3601fc0053 100644 --- a/invokeai/frontend/web/public/locales/de.json +++ b/invokeai/frontend/web/public/locales/de.json @@ -71,7 +71,6 @@ "maintainAspectRatio": "Seitenverhältnis beibehalten", "autoSwitchNewImages": "Automatisch zu neuen Bildern wechseln", "singleColumnLayout": "Einspaltiges Layout", - "pinGallery": "Galerie anpinnen", "allImagesLoaded": "Alle Bilder geladen", "loadMore": "Mehr laden", "noImagesInGallery": "Keine Bilder in der Galerie" diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index d30ee3c188..8ecce18263 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -62,7 +62,6 @@ "langPortuguese": "Portugués", "langKorean": "Coreano", "langHebrew": "Hebreo", - "pinOptionsPanel": "Pin del panel de opciones", "loading": "Cargando", "loadingInvokeAI": "Cargando invocar a la IA", "postprocessing": "Tratamiento posterior", @@ -93,7 +92,6 @@ "maintainAspectRatio": "Mantener relación de aspecto", "autoSwitchNewImages": "Auto seleccionar Imágenes nuevas", "singleColumnLayout": "Diseño de una columna", - "pinGallery": "Fijar galería", "allImagesLoaded": "Todas las imágenes cargadas", "loadMore": "Cargar más", "noImagesInGallery": "No hay imágenes para mostrar", @@ -713,7 +711,6 @@ "swapSizes": "Cambiar los tamaños" }, "nodes": { - "reloadSchema": "Esquema de recarga", "showGraphNodes": "Mostrar la superposición de los gráficos", "zoomInNodes": "Acercar", "hideMinimapnodes": "Ocultar el minimapa", @@ -722,10 +719,6 @@ "hideGraphNodes": "Ocultar la superposición de los gráficos", "hideLegendNodes": "Ocultar la leyenda del tipo de campo", "showLegendNodes": "Mostrar la leyenda del tipo de campo", - "showMinimapnodes": "Mostrar el minimapa", - "saveGraph": "Guardar el gráfico", - "clearGraph": "Borrar el gráfico", - "clearGraphDesc": "¿Estás seguro de que deseas borrar todos los nodos?", - "loadGraph": "Cargar el gráfico (guardado desde el Editor de nodos) (No copiar y pegar los metadatos)" + "showMinimapnodes": "Mostrar el minimapa" } } diff --git a/invokeai/frontend/web/public/locales/fi.json b/invokeai/frontend/web/public/locales/fi.json index 790c63fc85..f257344cf1 100644 --- a/invokeai/frontend/web/public/locales/fi.json +++ b/invokeai/frontend/web/public/locales/fi.json @@ -74,7 +74,6 @@ "statusGeneratingInpainting": "Generoidaan sisällemaalausta", "statusGeneratingOutpainting": "Generoidaan ulosmaalausta", "statusRestoringFaces": "Korjataan kasvoja", - "pinOptionsPanel": "Kiinnitä asetukset -paneeli", "loadingInvokeAI": "Ladataan Invoke AI:ta", "loading": "Ladataan", "statusGenerating": "Generoidaan", @@ -90,7 +89,6 @@ "galleryImageResetSize": "Resetoi koko", "maintainAspectRatio": "Säilytä kuvasuhde", "galleryImageSize": "Kuvan koko", - "pinGallery": "Kiinnitä galleria", "showGenerations": "Näytä generaatiot", "singleColumnLayout": "Yhden sarakkeen asettelu", "generations": "Generoinnit", diff --git a/invokeai/frontend/web/public/locales/fr.json b/invokeai/frontend/web/public/locales/fr.json index 0a99845f03..9c5d9e634e 100644 --- a/invokeai/frontend/web/public/locales/fr.json +++ b/invokeai/frontend/web/public/locales/fr.json @@ -51,7 +51,6 @@ "statusConvertingModel": "Conversion du modèle", "statusModelConverted": "Modèle converti", "loading": "Chargement", - "pinOptionsPanel": "Épingler la page d'options", "statusMergedModels": "Modèles mélangés", "txt2img": "Texte vers image", "postprocessing": "Post-Traitement" @@ -67,7 +66,6 @@ "maintainAspectRatio": "Maintenir le rapport d'aspect", "autoSwitchNewImages": "Basculer automatiquement vers de nouvelles images", "singleColumnLayout": "Mise en page en colonne unique", - "pinGallery": "Épingler la galerie", "allImagesLoaded": "Toutes les images chargées", "loadMore": "Charger plus", "noImagesInGallery": "Aucune image dans la galerie" diff --git a/invokeai/frontend/web/public/locales/he.json b/invokeai/frontend/web/public/locales/he.json index 323be9d8b6..f8065e16dd 100644 --- a/invokeai/frontend/web/public/locales/he.json +++ b/invokeai/frontend/web/public/locales/he.json @@ -380,7 +380,6 @@ "maintainAspectRatio": "שמור על יחס רוחב-גובה", "autoSwitchNewImages": "החלף אוטומטית לתמונות חדשות", "singleColumnLayout": "תצוגת עמודה אחת", - "pinGallery": "הצמד גלריה", "allImagesLoaded": "כל התמונות נטענו", "loadMore": "טען עוד", "noImagesInGallery": "אין תמונות בגלריה", diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 4fb45990aa..881d27195f 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -61,7 +61,6 @@ "statusConvertingModel": "Conversione Modello", "langKorean": "Coreano", "langPortuguese": "Portoghese", - "pinOptionsPanel": "Blocca il pannello Opzioni", "loading": "Caricamento in corso", "langHebrew": "Ebraico", "loadingInvokeAI": "Caricamento Invoke AI", @@ -93,7 +92,6 @@ "maintainAspectRatio": "Mantenere le proporzioni", "autoSwitchNewImages": "Passaggio automatico a nuove immagini", "singleColumnLayout": "Layout a colonna singola", - "pinGallery": "Blocca la galleria", "allImagesLoaded": "Tutte le immagini caricate", "loadMore": "Carica di più", "noImagesInGallery": "Nessuna immagine da visualizzare", @@ -719,7 +717,6 @@ "swapSizes": "Scambia dimensioni" }, "nodes": { - "reloadSchema": "Ricarica lo schema", "zoomOutNodes": "Rimpicciolire", "hideGraphNodes": "Nascondi sovrapposizione grafico", "hideLegendNodes": "Nascondi la legenda del tipo di campo", @@ -728,10 +725,6 @@ "showMinimapnodes": "Mostra minimappa", "zoomInNodes": "Ingrandire", "fitViewportNodes": "Adatta vista", - "showGraphNodes": "Mostra sovrapposizione grafico", - "saveGraph": "Salva grafico", - "loadGraph": "Carica grafico (salvato dal Editor dei Nodi) (non copiare e incollare i metadati)", - "clearGraph": "Cancella il grafico", - "clearGraphDesc": "Sei sicuro di voler cancellare tutti i nodi?" + "showGraphNodes": "Mostra sovrapposizione grafico" } } diff --git a/invokeai/frontend/web/public/locales/ja.json b/invokeai/frontend/web/public/locales/ja.json index 3672a224ad..cc4dbbdde3 100644 --- a/invokeai/frontend/web/public/locales/ja.json +++ b/invokeai/frontend/web/public/locales/ja.json @@ -52,7 +52,6 @@ "loadingInvokeAI": "Invoke AIをロード中", "statusConvertingModel": "モデルの変換", "statusMergedModels": "マージ済モデル", - "pinOptionsPanel": "オプションパネルを固定", "githubLabel": "Github", "hotkeysLabel": "ホットキー", "langHebrew": "עברית", @@ -78,7 +77,6 @@ "gallerySettings": "ギャラリーの設定", "maintainAspectRatio": "アスペクト比を維持", "singleColumnLayout": "1カラムレイアウト", - "pinGallery": "ギャラリーにピン留め", "allImagesLoaded": "すべての画像を読み込む", "loadMore": "さらに読み込む", "noImagesInGallery": "ギャラリーに画像がありません", diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index c0b260e70b..4d284e4d5d 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -62,7 +62,6 @@ "cancel": "Annuleer", "accept": "Akkoord", "langPortuguese": "Portugees", - "pinOptionsPanel": "Zet deelscherm Opties vast", "loading": "Bezig met laden", "loadingInvokeAI": "Bezig met laden van Invoke AI", "langHebrew": "עברית", @@ -93,7 +92,6 @@ "maintainAspectRatio": "Behoud beeldverhoiding", "autoSwitchNewImages": "Wissel autom. naar nieuwe afbeeldingen", "singleColumnLayout": "Eenkolomsindeling", - "pinGallery": "Zet galerij vast", "allImagesLoaded": "Alle afbeeldingen geladen", "loadMore": "Laad meer", "noImagesInGallery": "Geen afbeeldingen om te tonen", @@ -705,19 +703,14 @@ "swapSizes": "Wissel afmetingen om" }, "nodes": { - "reloadSchema": "Laad schema opnieuw in", "zoomOutNodes": "Uitzoomen", "fitViewportNodes": "Aanpassen aan beeld", "hideMinimapnodes": "Minimap verbergen", "showLegendNodes": "Typelegende veld tonen", "zoomInNodes": "Inzoomen", "hideGraphNodes": "Graph overlay verbergen", - "clearGraph": "Graph verwijderen", "showGraphNodes": "Graph overlay tonen", "showMinimapnodes": "Minimap tonen", - "clearGraphDesc": "Ben je zeker dat je alle knooppunten wil verwijderen?", - "saveGraph": "Graph opslaan", - "loadGraph": "Graph laden (bewaard van knooppunten editor) (Metadata niet kopiëren-plakken)", "hideLegendNodes": "Typelegende veld verbergen" } } diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index 2bde4c95c0..2958ef982c 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -56,7 +56,6 @@ "maintainAspectRatio": "Zachowaj proporcje", "autoSwitchNewImages": "Przełączaj na nowe obrazy", "singleColumnLayout": "Układ jednokolumnowy", - "pinGallery": "Przypnij galerię", "allImagesLoaded": "Koniec listy", "loadMore": "Wczytaj więcej", "noImagesInGallery": "Brak obrazów w galerii" diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json index c57a005779..a605f9c49d 100644 --- a/invokeai/frontend/web/public/locales/pt.json +++ b/invokeai/frontend/web/public/locales/pt.json @@ -59,7 +59,6 @@ "statusGenerationComplete": "Geração Completa", "statusMergingModels": "Mesclando Modelos", "statusMergedModels": "Modelos Mesclados", - "pinOptionsPanel": "Fixar painel de opções", "loading": "A carregar", "loadingInvokeAI": "A carregar Invoke AI", "langPortuguese": "Português" @@ -69,7 +68,6 @@ "gallerySettings": "Configurações de Galeria", "maintainAspectRatio": "Mater Proporções", "autoSwitchNewImages": "Trocar para Novas Imagens Automaticamente", - "pinGallery": "Fixar Galeria", "singleColumnLayout": "Disposição em Coluna Única", "allImagesLoaded": "Todas as Imagens Carregadas", "loadMore": "Carregar Mais", diff --git a/invokeai/frontend/web/public/locales/pt_BR.json b/invokeai/frontend/web/public/locales/pt_BR.json index f76703e676..d11b0758e6 100644 --- a/invokeai/frontend/web/public/locales/pt_BR.json +++ b/invokeai/frontend/web/public/locales/pt_BR.json @@ -59,7 +59,6 @@ "statusMergedModels": "Modelos Mesclados", "langRussian": "Russo", "langSpanish": "Espanhol", - "pinOptionsPanel": "Fixar painel de opções", "loadingInvokeAI": "Carregando Invoke AI", "loading": "Carregando" }, @@ -74,7 +73,6 @@ "maintainAspectRatio": "Mater Proporções", "autoSwitchNewImages": "Trocar para Novas Imagens Automaticamente", "singleColumnLayout": "Disposição em Coluna Única", - "pinGallery": "Fixar Galeria", "allImagesLoaded": "Todas as Imagens Carregadas", "loadMore": "Carregar Mais", "noImagesInGallery": "Sem Imagens na Galeria" diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index 8b1a7d3d25..17494bdd57 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -45,7 +45,6 @@ "statusMergingModels": "Слияние моделей", "statusModelConverted": "Модель сконвертирована", "statusMergedModels": "Модели объединены", - "pinOptionsPanel": "Закрепить панель настроек", "loading": "Загрузка", "loadingInvokeAI": "Загрузка Invoke AI", "back": "Назад", @@ -93,7 +92,6 @@ "maintainAspectRatio": "Сохранять пропорции", "autoSwitchNewImages": "Автоматически выбирать новые", "singleColumnLayout": "Одна колонка", - "pinGallery": "Закрепить галерею", "allImagesLoaded": "Все изображения загружены", "loadMore": "Показать больше", "noImagesInGallery": "Изображений нет", @@ -720,9 +718,6 @@ "swapSizes": "Поменять местами размеры" }, "nodes": { - "reloadSchema": "Перезагрузить схему", - "saveGraph": "Сохранить граф", - "clearGraph": "Очистить граф", "zoomInNodes": "Увеличьте масштаб", "zoomOutNodes": "Уменьшите масштаб", "fitViewportNodes": "Уместить вид", @@ -730,8 +725,6 @@ "showGraphNodes": "Показать оверлей графа", "showLegendNodes": "Показать тип поля", "hideMinimapnodes": "Скрыть миникарту", - "loadGraph": "Загрузить граф (сохраненный из Редактора узлов) (Не копировать и не вставлять метаданные)", - "clearGraphDesc": "Вы уверены, что хотите очистить все узлы?", "hideLegendNodes": "Скрыть тип поля", "showMinimapnodes": "Показать миникарту", "saveWorkflow": "Сохранить рабочий процесс", diff --git a/invokeai/frontend/web/public/locales/sv.json b/invokeai/frontend/web/public/locales/sv.json index 6030f57256..c3f25e65d8 100644 --- a/invokeai/frontend/web/public/locales/sv.json +++ b/invokeai/frontend/web/public/locales/sv.json @@ -59,7 +59,6 @@ "statusGenerationComplete": "Generering klar", "statusModelConverted": "Modell konverterad", "statusMergingModels": "Sammanfogar modeller", - "pinOptionsPanel": "Nåla fast inställningspanelen", "loading": "Laddar", "loadingInvokeAI": "Laddar Invoke AI", "statusRestoringFaces": "Återskapar ansikten", @@ -103,7 +102,6 @@ "galleryImageResetSize": "Återställ storlek", "gallerySettings": "Galleriinställningar", "maintainAspectRatio": "Behåll bildförhållande", - "pinGallery": "Nåla fast galleri", "noImagesInGallery": "Inga bilder i galleriet", "autoSwitchNewImages": "Ändra automatiskt till nya bilder", "singleColumnLayout": "Enkolumnslayout" diff --git a/invokeai/frontend/web/public/locales/uk.json b/invokeai/frontend/web/public/locales/uk.json index b874cdc7eb..e5e2d66b6d 100644 --- a/invokeai/frontend/web/public/locales/uk.json +++ b/invokeai/frontend/web/public/locales/uk.json @@ -51,7 +51,6 @@ "langHebrew": "Іврит", "langKorean": "Корейська", "langPortuguese": "Португальська", - "pinOptionsPanel": "Закріпити панель налаштувань", "langArabic": "Арабська", "langSimplifiedChinese": "Китайська (спрощена)", "langSpanish": "Іспанська", @@ -82,7 +81,6 @@ "maintainAspectRatio": "Зберігати пропорції", "autoSwitchNewImages": "Автоматично вибирати нові", "singleColumnLayout": "Одна колонка", - "pinGallery": "Закріпити галерею", "allImagesLoaded": "Всі зображення завантажені", "loadMore": "Завантажити більше", "noImagesInGallery": "Зображень немає" diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index 749bd2b5b1..e260d6b188 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -74,8 +74,7 @@ "postprocessing": "后期处理", "loading": "加载中", "loadingInvokeAI": "Invoke AI 加载中", - "linear": "线性的", - "pinOptionsPanel": "固定选项面板" + "linear": "线性的" }, "gallery": { "generations": "生成的图像", @@ -88,7 +87,6 @@ "maintainAspectRatio": "保持比例", "autoSwitchNewImages": "自动切换到新图像", "singleColumnLayout": "单列布局", - "pinGallery": "保持图库常开", "allImagesLoaded": "所有图像加载完成", "loadMore": "加载更多", "noImagesInGallery": "图库中无图像", From ffcf6dfde6cb98869678da54ef3d42348462ea5d Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Thu, 12 Oct 2023 12:44:46 +0000 Subject: [PATCH 26/70] translationBot(ui): update translation (Spanish) Currently translated at 100.0% (605 of 605 strings) Co-authored-by: gallegonovato Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/es.json | 25 +++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index 8ecce18263..8c79353b85 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -6,7 +6,7 @@ "settingsLabel": "Ajustes", "img2img": "Imagen a Imagen", "unifiedCanvas": "Lienzo Unificado", - "nodes": "Editor de nodos", + "nodes": "Editor del flujo de trabajo", "langSpanish": "Español", "nodesDesc": "Un sistema de generación de imágenes basado en nodos, actualmente se encuentra en desarrollo. Mantente pendiente a nuestras actualizaciones acerca de esta fabulosa funcionalidad.", "postProcessing": "Post-procesamiento", @@ -307,7 +307,12 @@ "acceptStagingImage": { "title": "Aceptar imagen", "desc": "Aceptar la imagen actual en el área de preparación" - } + }, + "addNodes": { + "title": "Añadir Nodos", + "desc": "Abre el menú para añadir nodos" + }, + "nodesHotkeys": "Teclas de acceso rápido a los nodos" }, "modelManager": { "modelManager": "Gestor de Modelos", @@ -528,7 +533,9 @@ "maskBlur": "Máscara de Desenfoque", "maskBlurMethod": "Método del desenfoque de la máscara", "seamHighThreshold": "Alto", - "seamPaintingHeader": "Pintando las uniones" + "seamPaintingHeader": "Pintando las uniones", + "seamThreshold": "Umbral de la junta", + "seamLowThreshold": "Bajo" }, "settings": { "models": "Modelos", @@ -540,7 +547,7 @@ "resetWebUI": "Restablecer interfaz web", "resetWebUIDesc1": "Al restablecer la interfaz web, solo se restablece la caché local del navegador de sus imágenes y la configuración guardada. No se elimina ninguna imagen de su disco duro.", "resetWebUIDesc2": "Si las imágenes no se muestran en la galería o algo más no funciona, intente restablecer antes de reportar un incidente en GitHub.", - "resetComplete": "La interfaz web se ha restablecido. Actualice la página para recargarla.", + "resetComplete": "Se ha restablecido la interfaz web.", "useSlidersForAll": "Utilice controles deslizantes para todas las opciones", "general": "General", "consoleLogLevel": "Nivel del registro", @@ -702,7 +709,7 @@ "toggleAutoscroll": "Activar el autodesplazamiento", "toggleLogViewer": "Alternar el visor de registros", "showGallery": "Mostrar galería", - "showOptionsPanel": "Mostrar el panel de opciones", + "showOptionsPanel": "Mostrar el panel lateral", "menu": "Menú" }, "ui": { @@ -719,6 +726,12 @@ "hideGraphNodes": "Ocultar la superposición de los gráficos", "hideLegendNodes": "Ocultar la leyenda del tipo de campo", "showLegendNodes": "Mostrar la leyenda del tipo de campo", - "showMinimapnodes": "Mostrar el minimapa" + "showMinimapnodes": "Mostrar el minimapa", + "reloadNodeTemplates": "Recargar las plantillas de nodos", + "saveWorkflow": "Guardar el flujo de trabajo", + "loadWorkflow": "Cargar el flujo de trabajo", + "resetWorkflow": "Reiniciar e flujo de trabajo", + "resetWorkflowDesc": "¿Está seguro de que deseas restablecer este flujo de trabajo?", + "resetWorkflowDesc2": "Al reiniciar el flujo de trabajo se borrarán todos los nodos, aristas y detalles del flujo de trabajo." } } From 44932923eb78fcca5816f21eb8484ce6465ba973 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:44:50 +0000 Subject: [PATCH 27/70] translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ar.json | 4 ---- invokeai/frontend/web/public/locales/de.json | 4 ---- invokeai/frontend/web/public/locales/es.json | 6 ------ invokeai/frontend/web/public/locales/fr.json | 4 ---- invokeai/frontend/web/public/locales/he.json | 4 ---- invokeai/frontend/web/public/locales/it.json | 6 ------ invokeai/frontend/web/public/locales/nl.json | 4 ---- invokeai/frontend/web/public/locales/pl.json | 4 ---- invokeai/frontend/web/public/locales/pt.json | 4 ---- invokeai/frontend/web/public/locales/pt_BR.json | 4 ---- invokeai/frontend/web/public/locales/ru.json | 6 ------ invokeai/frontend/web/public/locales/uk.json | 4 ---- invokeai/frontend/web/public/locales/zh_CN.json | 4 ---- 13 files changed, 58 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ar.json b/invokeai/frontend/web/public/locales/ar.json index fd0f524b73..8ff402dee3 100644 --- a/invokeai/frontend/web/public/locales/ar.json +++ b/invokeai/frontend/web/public/locales/ar.json @@ -358,10 +358,6 @@ "hiresOptim": "تحسين الدقة العالية", "imageFit": "ملائمة الصورة الأولية لحجم الخرج", "codeformerFidelity": "الوثوقية", - "seamSize": "حجم التشقق", - "seamBlur": "ضباب التشقق", - "seamStrength": "قوة التشقق", - "seamSteps": "خطوات التشقق", "scaleBeforeProcessing": "تحجيم قبل المعالجة", "scaledWidth": "العرض المحجوب", "scaledHeight": "الارتفاع المحجوب", diff --git a/invokeai/frontend/web/public/locales/de.json b/invokeai/frontend/web/public/locales/de.json index 3601fc0053..b712fa30bc 100644 --- a/invokeai/frontend/web/public/locales/de.json +++ b/invokeai/frontend/web/public/locales/de.json @@ -360,10 +360,6 @@ "hiresOptim": "High-Res-Optimierung", "imageFit": "Ausgangsbild an Ausgabegröße anpassen", "codeformerFidelity": "Glaubwürdigkeit", - "seamSize": "Nahtgröße", - "seamBlur": "Nahtunschärfe", - "seamStrength": "Stärke der Naht", - "seamSteps": "Nahtstufen", "scaleBeforeProcessing": "Skalieren vor der Verarbeitung", "scaledWidth": "Skaliert W", "scaledHeight": "Skaliert H", diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index 8c79353b85..6500244bba 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -473,10 +473,6 @@ "hiresOptim": "Optimización de Alta Resolución", "imageFit": "Ajuste tamaño de imagen inicial al tamaño objetivo", "codeformerFidelity": "Fidelidad", - "seamSize": "Tamaño del parche", - "seamBlur": "Desenfoque del parche", - "seamStrength": "Fuerza del parche", - "seamSteps": "Pasos del parche", "scaleBeforeProcessing": "Redimensionar antes de procesar", "scaledWidth": "Ancho escalado", "scaledHeight": "Alto escalado", @@ -533,8 +529,6 @@ "maskBlur": "Máscara de Desenfoque", "maskBlurMethod": "Método del desenfoque de la máscara", "seamHighThreshold": "Alto", - "seamPaintingHeader": "Pintando las uniones", - "seamThreshold": "Umbral de la junta", "seamLowThreshold": "Bajo" }, "settings": { diff --git a/invokeai/frontend/web/public/locales/fr.json b/invokeai/frontend/web/public/locales/fr.json index 9c5d9e634e..ca2227dbe6 100644 --- a/invokeai/frontend/web/public/locales/fr.json +++ b/invokeai/frontend/web/public/locales/fr.json @@ -371,10 +371,6 @@ "hiresOptim": "Optimisation Haute Résolution", "imageFit": "Ajuster Image Initiale à la Taille de Sortie", "codeformerFidelity": "Fidélité", - "seamSize": "Taille des Joints", - "seamBlur": "Flou des Joints", - "seamStrength": "Force des Joints", - "seamSteps": "Etapes des Joints", "scaleBeforeProcessing": "Echelle Avant Traitement", "scaledWidth": "Larg. Échelle", "scaledHeight": "Haut. Échelle", diff --git a/invokeai/frontend/web/public/locales/he.json b/invokeai/frontend/web/public/locales/he.json index f8065e16dd..49e42062e8 100644 --- a/invokeai/frontend/web/public/locales/he.json +++ b/invokeai/frontend/web/public/locales/he.json @@ -410,10 +410,6 @@ "hiresOptim": "אופטימיזצית רזולוציה גבוהה", "hiresStrength": "חוזק רזולוציה גבוהה", "codeformerFidelity": "דבקות", - "seamSize": "גודל תפר", - "seamBlur": "טשטוש תפר", - "seamStrength": "חוזק תפר", - "seamSteps": "שלבי תפר", "scaleBeforeProcessing": "שנה קנה מידה לפני עיבוד", "scaledWidth": "קנה מידה לאחר שינוי W", "scaledHeight": "קנה מידה לאחר שינוי H", diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 881d27195f..9112643647 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -472,10 +472,6 @@ "hiresOptim": "Ottimizzazione alta risoluzione", "imageFit": "Adatta l'immagine iniziale alle dimensioni di output", "codeformerFidelity": "Fedeltà", - "seamSize": "Dimensione della cucitura", - "seamBlur": "Sfocatura cucitura", - "seamStrength": "Forza della cucitura", - "seamSteps": "Passaggi di cucitura", "scaleBeforeProcessing": "Scala prima dell'elaborazione", "scaledWidth": "Larghezza ridimensionata", "scaledHeight": "Altezza ridimensionata", @@ -531,8 +527,6 @@ "maskAdjustmentsHeader": "Regolazioni della maschera", "maskBlur": "Sfocatura maschera", "maskBlurMethod": "Metodo di sfocatura della maschera", - "seamPaintingHeader": "Pittura della cucitura", - "seamThreshold": "Soglia di cucitura", "seamLowThreshold": "Basso", "seamHighThreshold": "Alto" }, diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index 4d284e4d5d..a78a073319 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -465,10 +465,6 @@ "hiresOptim": "Hogeresolutie-optimalisatie", "imageFit": "Pas initiële afbeelding in uitvoergrootte", "codeformerFidelity": "Getrouwheid", - "seamSize": "Grootte naad", - "seamBlur": "Vervaging naad", - "seamStrength": "Sterkte naad", - "seamSteps": "Stappen naad", "scaleBeforeProcessing": "Schalen voor verwerking", "scaledWidth": "Geschaalde B", "scaledHeight": "Geschaalde H", diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index 2958ef982c..f7bd0f1d60 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -294,10 +294,6 @@ "hiresOptim": "Optymalizacja wys. rozdzielczości", "imageFit": "Przeskaluj oryginalny obraz", "codeformerFidelity": "Dokładność", - "seamSize": "Rozmiar", - "seamBlur": "Rozmycie", - "seamStrength": "Siła", - "seamSteps": "Kroki", "scaleBeforeProcessing": "Tryb skalowania", "scaledWidth": "Sk. do szer.", "scaledHeight": "Sk. do wys.", diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json index a605f9c49d..f4bfed272c 100644 --- a/invokeai/frontend/web/public/locales/pt.json +++ b/invokeai/frontend/web/public/locales/pt.json @@ -417,10 +417,6 @@ "hiresOptim": "Otimização de Alta Res", "imageFit": "Caber Imagem Inicial No Tamanho de Saída", "codeformerFidelity": "Fidelidade", - "seamSize": "Tamanho da Fronteira", - "seamBlur": "Desfoque da Fronteira", - "seamStrength": "Força da Fronteira", - "seamSteps": "Passos da Fronteira", "tileSize": "Tamanho do Ladrilho", "boundingBoxHeader": "Caixa Delimitadora", "seamCorrectionHeader": "Correção de Fronteira", diff --git a/invokeai/frontend/web/public/locales/pt_BR.json b/invokeai/frontend/web/public/locales/pt_BR.json index d11b0758e6..d263bf6251 100644 --- a/invokeai/frontend/web/public/locales/pt_BR.json +++ b/invokeai/frontend/web/public/locales/pt_BR.json @@ -417,10 +417,6 @@ "hiresOptim": "Otimização de Alta Res", "imageFit": "Caber Imagem Inicial No Tamanho de Saída", "codeformerFidelity": "Fidelidade", - "seamSize": "Tamanho da Fronteira", - "seamBlur": "Desfoque da Fronteira", - "seamStrength": "Força da Fronteira", - "seamSteps": "Passos da Fronteira", "scaleBeforeProcessing": "Escala Antes do Processamento", "scaledWidth": "L Escalada", "scaledHeight": "A Escalada", diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index 17494bdd57..fe2805e5fe 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -473,10 +473,6 @@ "hiresOptim": "Оптимизация High Res", "imageFit": "Уместить изображение", "codeformerFidelity": "Точность", - "seamSize": "Размер шва", - "seamBlur": "Размытие шва", - "seamStrength": "Сила шва", - "seamSteps": "Шаги шва", "scaleBeforeProcessing": "Масштабировать", "scaledWidth": "Масштаб Ш", "scaledHeight": "Масштаб В", @@ -532,8 +528,6 @@ "maskAdjustmentsHeader": "Настройка маски", "maskBlur": "Размытие маски", "maskBlurMethod": "Метод размытия маски", - "seamPaintingHeader": "Окрашивание швов", - "seamThreshold": "Порог шва", "seamLowThreshold": "Низкий", "seamHighThreshold": "Высокий" }, diff --git a/invokeai/frontend/web/public/locales/uk.json b/invokeai/frontend/web/public/locales/uk.json index e5e2d66b6d..5c02693a76 100644 --- a/invokeai/frontend/web/public/locales/uk.json +++ b/invokeai/frontend/web/public/locales/uk.json @@ -431,10 +431,6 @@ "hiresOptim": "Оптимізація High Res", "imageFit": "Вмістити зображення", "codeformerFidelity": "Точність", - "seamSize": "Размір шву", - "seamBlur": "Розмиття шву", - "seamStrength": "Сила шву", - "seamSteps": "Кроки шву", "scaleBeforeProcessing": "Масштабувати", "scaledWidth": "Масштаб Ш", "scaledHeight": "Масштаб В", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index e260d6b188..e4ea8f3cf7 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -442,10 +442,6 @@ "hiresOptim": "高清优化", "imageFit": "使生成图像长宽适配原图像", "codeformerFidelity": "保真", - "seamSize": "接缝尺寸", - "seamBlur": "接缝模糊", - "seamStrength": "接缝强度", - "seamSteps": "接缝步数", "scaleBeforeProcessing": "处理前缩放", "scaledWidth": "缩放宽度", "scaledHeight": "缩放长度", From 962e51320b99c2011d0a454243351095118e224e Mon Sep 17 00:00:00 2001 From: nemuruibai Date: Thu, 12 Oct 2023 12:44:52 +0000 Subject: [PATCH 28/70] translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 96.1% (579 of 602 strings) Co-authored-by: nemuruibai Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/ Translation: InvokeAI/Web UI --- .../frontend/web/public/locales/zh_CN.json | 78 +++++++++++++++++-- 1 file changed, 71 insertions(+), 7 deletions(-) diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index e4ea8f3cf7..bd3949fde2 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -74,7 +74,10 @@ "postprocessing": "后期处理", "loading": "加载中", "loadingInvokeAI": "Invoke AI 加载中", - "linear": "线性的" + "linear": "线性的", + "batch": "批次管理器", + "communityLabel": "社区", + "modelManager": "模型管理器" }, "gallery": { "generations": "生成的图像", @@ -94,7 +97,8 @@ "deleteImageBin": "被删除的图片会发送到你操作系统的回收站。", "deleteImagePermanent": "无法恢复删除的图片。", "images": "图片", - "assets": "素材" + "assets": "素材", + "autoAssignBoardOnClick": "点击后自动分配情景板" }, "hotkeys": { "keyboardShortcuts": "快捷方式", @@ -301,6 +305,11 @@ "acceptStagingImage": { "title": "接受暂存图像", "desc": "接受当前暂存区中的图像" + }, + "nodesHotkeys": "节点快捷键", + "addNodes": { + "title": "添加节点", + "desc": "打开添加节点菜单" } }, "modelManager": { @@ -413,7 +422,22 @@ "weightedSum": "加权求和", "modelMergeAlphaHelp": "透明度参数控制模型的混合强度。较低的透明度值会导致第二个模型的影响减弱。", "sigmoid": "Sigmoid函数", - "modelMergeInterpAddDifferenceHelp": "在这种模式下,首先从模型2中减去模型3,得到的版本再用上述值的透明度与模型1进行混合。" + "modelMergeInterpAddDifferenceHelp": "在这种模式下,首先从模型2中减去模型3,得到的版本再用上述值的透明度与模型1进行混合。", + "modelsSynced": "模型已同步", + "modelSyncFailed": "模型同步失败", + "modelDeleteFailed": "模型删除失败", + "syncModelsDesc": "如果您的模型与后端不同步, 您可以使用此选项刷新它们. 便于您在应用程序启动的情况下手动更新models.yaml文件或将模型添加到InvokeAI根文件夹.", + "selectModel": "选择模型", + "importModels": "导入模型", + "settings": "设置", + "syncModels": "同步模型", + "noCustomLocationProvided": "未提供自定义路径", + "modelDeleted": "模型已删除", + "modelUpdateFailed": "模型更新失败", + "modelConversionFailed": "模型转换失败", + "modelsMergeFailed": "模型融合失败", + "baseModel": "基底模型", + "convertingModelBegin": "模型转换中. 请稍候." }, "parameters": { "images": "图像", @@ -490,7 +514,14 @@ "hidePreview": "影藏预览", "hSymmetryStep": "横向对称步数", "imageToImage": "图生图", - "noiseSettings": "噪音" + "noiseSettings": "噪音", + "controlNetControlMode": "控制模式", + "maskAdjustmentsHeader": "调整遮罩", + "maskBlur": "模糊遮罩", + "maskBlurMethod": "遮罩模糊方式", + "aspectRatio": "比率", + "seamLowThreshold": "降低", + "seamHighThreshold": "提升" }, "settings": { "models": "模型", @@ -511,7 +542,12 @@ "general": "通用", "consoleLogLevel": "日志等级", "shouldLogToConsole": "终端日志", - "developer": "开发者" + "developer": "开发者", + "alternateCanvasLayout": "切换统一画布布局", + "enableNodesEditor": "启用节点编辑器", + "favoriteSchedulersPlaceholder": "没有偏好的采样算法", + "showAdvancedOptions": "显示进阶选项", + "favoriteSchedulers": "采样算法偏好" }, "toast": { "tempFoldersEmptied": "临时文件夹已清空", @@ -550,7 +586,17 @@ "parameterSet": "参数已设置", "parameterNotSet": "参数未设置", "serverError": "服务器错误", - "canceled": "处理取消" + "canceled": "处理取消", + "nodesLoaded": "节点图已加载", + "nodesSaved": "节点图已保存", + "problemCopyingImage": "无法复制图像", + "nodesCorruptedGraph": "无法加载. 节点图似乎已损坏.", + "nodesBrokenConnections": "无法加载. 部分链接已断开.", + "nodesUnrecognizedTypes": "无法加载. 节点图有无法识别的节点类型", + "nodesNotValidJSON": "无效的 JSON", + "nodesNotValidGraph": "无效的 InvokeAi 节点图", + "nodesCleared": "节点图已清空", + "nodesLoadedFailed": "节点图加载失败" }, "unifiedCanvas": { "layer": "图层", @@ -637,7 +683,8 @@ }, "ui": { "showProgressImages": "显示处理中的图片", - "hideProgressImages": "隐藏处理中的图片" + "hideProgressImages": "隐藏处理中的图片", + "swapSizes": "XY尺寸互换" }, "tooltip": { "feature": { @@ -653,5 +700,22 @@ "seamCorrection": "控制在画布上生成的图像之间出现的可见接缝的处理方式。", "infillAndScaling": "管理填充方法(用于画布的掩模或擦除区域)和缩放(对于较小的边界框大小非常有用)。" } + }, + "nodes": { + "zoomInNodes": "放大", + "resetWorkflowDesc": "是否确定要清空节点图?", + "resetWorkflow": "清空节点图", + "loadWorkflow": "读取节点图", + "zoomOutNodes": "缩小", + "resetWorkflowDesc2": "重置节点图将清除所有节点、边际和节点图详情", + "saveWorkflow": "保存节点图", + "reloadNodeTemplates": "重载节点模板", + "hideGraphNodes": "隐藏节点图信息", + "fitViewportNodes": "自适应视图", + "showMinimapnodes": "显示缩略图", + "hideMinimapnodes": "隐藏缩略图", + "showLegendNodes": "显示字段类型图例", + "hideLegendNodes": "隐藏字段类型图例", + "showGraphNodes": "显示节点图信息" } } From 9fb624f3904779e5cb44d2a078b1deceeefd1627 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Thu, 12 Oct 2023 12:44:53 +0000 Subject: [PATCH 29/70] translationBot(ui): update translation (Italian) Currently translated at 81.2% (958 of 1179 strings) translationBot(ui): update translation (Italian) Currently translated at 81.2% (958 of 1179 strings) translationBot(ui): update translation (Italian) Currently translated at 76.6% (904 of 1179 strings) translationBot(ui): update translation (Italian) Currently translated at 76.5% (903 of 1179 strings) translationBot(ui): update translation (Italian) Currently translated at 71.9% (848 of 1179 strings) translationBot(ui): update translation (Italian) Currently translated at 71.7% (845 of 1177 strings) translationBot(ui): update translation (Italian) Currently translated at 71.7% (845 of 1177 strings) translationBot(ui): update translation (Italian) Currently translated at 67.8% (799 of 1177 strings) translationBot(ui): update translation (Italian) Currently translated at 58.5% (689 of 1177 strings) translationBot(ui): update translation (Italian) Currently translated at 59.8% (640 of 1069 strings) translationBot(ui): update translation (Italian) Currently translated at 57.2% (612 of 1069 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (607 of 607 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (605 of 605 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (605 of 605 strings) translationBot(ui): update translation (Italian) Currently translated at 100.0% (602 of 602 strings) Co-authored-by: Riccardo Giovanetti Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 590 ++++++++++++++++++- 1 file changed, 558 insertions(+), 32 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 9112643647..200f3c902b 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -6,7 +6,7 @@ "settingsLabel": "Impostazioni", "img2img": "Immagine a Immagine", "unifiedCanvas": "Tela unificata", - "nodes": "Editor dei Nodi", + "nodes": "Editor del flusso di lavoro", "langItalian": "Italiano", "nodesDesc": "Attualmente è in fase di sviluppo un sistema basato su nodi per la generazione di immagini. Resta sintonizzato per gli aggiornamenti su questa fantastica funzionalità.", "postProcessing": "Post-elaborazione", @@ -78,8 +78,15 @@ "darkMode": "Modalità scura", "lightMode": "Modalità chiara", "batch": "Gestione Lotto", - "modelManager": "Gestione del modello", - "communityLabel": "Comunità" + "modelManager": "Gestore modello", + "communityLabel": "Comunità", + "nodeEditor": "Editor dei nodi", + "controlNet": "ControlNet", + "statusProcessing": "Elaborazione in corso", + "advanced": "Avanzate", + "imageFailedToLoad": "Impossibile caricare l'immagine", + "learnMore": "Per saperne di più", + "ipAdapter": "Adattatore IP" }, "gallery": { "generations": "Generazioni", @@ -93,14 +100,21 @@ "autoSwitchNewImages": "Passaggio automatico a nuove immagini", "singleColumnLayout": "Layout a colonna singola", "allImagesLoaded": "Tutte le immagini caricate", - "loadMore": "Carica di più", + "loadMore": "Carica altro", "noImagesInGallery": "Nessuna immagine da visualizzare", "deleteImage": "Elimina l'immagine", "deleteImagePermanent": "Le immagini eliminate non possono essere ripristinate.", "deleteImageBin": "Le immagini eliminate verranno spostate nel Cestino del tuo sistema operativo.", "images": "Immagini", "assets": "Risorse", - "autoAssignBoardOnClick": "Assegna automaticamente la bacheca al clic" + "autoAssignBoardOnClick": "Assegna automaticamente la bacheca al clic", + "featuresWillReset": "Se elimini questa immagine, quelle funzionalità verranno immediatamente ripristinate.", + "loading": "Caricamento in corso", + "unableToLoad": "Impossibile caricare la Galleria", + "currentlyInUse": "Questa immagine è attualmente utilizzata nelle seguenti funzionalità:", + "copy": "Copia", + "download": "Scarica", + "setCurrentImage": "Imposta come immagine corrente" }, "hotkeys": { "keyboardShortcuts": "Tasti rapidi", @@ -310,7 +324,8 @@ }, "nodesHotkeys": "Tasti di scelta rapida dei Nodi", "addNodes": { - "title": "Aggiungi Nodi" + "title": "Aggiungi Nodi", + "desc": "Apre il menu Aggiungi Nodi" } }, "modelManager": { @@ -322,7 +337,7 @@ "safetensorModels": "SafeTensor", "modelAdded": "Modello Aggiunto", "modelUpdated": "Modello Aggiornato", - "modelEntryDeleted": "Modello Rimosso", + "modelEntryDeleted": "Voce del modello eliminata", "cannotUseSpaces": "Impossibile utilizzare gli spazi", "addNew": "Aggiungi nuovo", "addNewModel": "Aggiungi nuovo Modello", @@ -337,7 +352,7 @@ "config": "Configurazione", "configValidationMsg": "Percorso del file di configurazione del modello.", "modelLocation": "Posizione del modello", - "modelLocationValidationMsg": "Percorso dove si trova il modello.", + "modelLocationValidationMsg": "Fornisci il percorso di una cartella locale in cui è archiviato il tuo modello di diffusori", "repo_id": "Repo ID", "repoIDValidationMsg": "Repository online del modello", "vaeLocation": "Posizione file VAE", @@ -392,12 +407,12 @@ "modelConverted": "Modello convertito", "sameFolder": "Stessa cartella", "invokeRoot": "Cartella InvokeAI", - "merge": "Fondere", - "modelsMerged": "Modelli fusi", - "mergeModels": "Fondi Modelli", + "merge": "Unisci", + "modelsMerged": "Modelli uniti", + "mergeModels": "Unisci Modelli", "modelOne": "Modello 1", "modelTwo": "Modello 2", - "mergedModelName": "Nome del modello fuso", + "mergedModelName": "Nome del modello unito", "alpha": "Alpha", "interpolationType": "Tipo di interpolazione", "mergedModelCustomSaveLocation": "Percorso personalizzato", @@ -420,7 +435,7 @@ "inverseSigmoid": "Sigmoide inverso", "v2_base": "v2 (512px)", "v2_768": "v2 (768px)", - "none": "niente", + "none": "nessuno", "addDifference": "Aggiungi differenza", "pickModelType": "Scegli il tipo di modello", "scanForModels": "Cerca modelli", @@ -437,13 +452,22 @@ "convertingModelBegin": "Conversione del modello. Attendere prego.", "importModels": "Importa modelli", "modelsSynced": "Modelli sincronizzati", - "modelSyncFailed": "Sincronizzazione del modello non riuscita", + "modelSyncFailed": "Sincronizzazione modello non riuscita", "settings": "Impostazioni", "syncModels": "Sincronizza Modelli", "syncModelsDesc": "Se i tuoi modelli non sono sincronizzati con il back-end, puoi aggiornarli utilizzando questa opzione. Questo è generalmente utile nei casi in cui aggiorni manualmente il tuo file models.yaml o aggiungi modelli alla cartella principale di InvokeAI dopo l'avvio dell'applicazione.", "loraModels": "LoRA", "oliveModels": "Olive", - "onnxModels": "ONNX" + "onnxModels": "ONNX", + "noModels": "Nessun modello trovato", + "predictionType": "Tipo di previsione (per modelli Stable Diffusion 2.x ed alcuni modelli Stable Diffusion 1.x)", + "quickAdd": "Aggiunta rapida", + "simpleModelDesc": "Fornire un percorso a un modello diffusori locale, un modello checkpoint/safetensor locale, un ID repository HuggingFace o un URL del modello checkpoint/diffusori.", + "advanced": "Avanzate", + "useCustomConfig": "Utilizza configurazione personalizzata", + "closeAdvanced": "Chiudi Avanzate", + "modelType": "Tipo di modello", + "customConfigFileLocation": "Posizione del file di configurazione personalizzato" }, "parameters": { "images": "Immagini", @@ -464,7 +488,7 @@ "type": "Tipo", "strength": "Forza", "upscaling": "Ampliamento", - "upscale": "Amplia", + "upscale": "Amplia (Shift + U)", "upscaleImage": "Amplia Immagine", "scale": "Scala", "otherOptions": "Altre opzioni", @@ -496,9 +520,9 @@ "useInitImg": "Usa l'immagine iniziale", "info": "Informazioni", "initialImage": "Immagine iniziale", - "showOptionsPanel": "Mostra pannello opzioni", + "showOptionsPanel": "Mostra il pannello laterale (O o T)", "general": "Generale", - "denoisingStrength": "Forza riduzione rumore", + "denoisingStrength": "Forza di riduzione del rumore", "copyImage": "Copia immagine", "hiresStrength": "Forza Alta Risoluzione", "imageToImage": "Immagine a Immagine", @@ -506,7 +530,8 @@ "schedule": "Annulla dopo l'iterazione corrente", "isScheduled": "Annullamento", "setType": "Imposta il tipo di annullamento", - "immediate": "Annulla immediatamente" + "immediate": "Annulla immediatamente", + "cancel": "Annulla" }, "hSymmetryStep": "Passi Simmetria Orizzontale", "vSymmetryStep": "Passi Simmetria Verticale", @@ -522,13 +547,50 @@ "positivePromptPlaceholder": "Prompt Positivo", "negativePromptPlaceholder": "Prompt Negativo", "controlNetControlMode": "Modalità di controllo", - "clipSkip": "Salta CLIP", + "clipSkip": "CLIP Skip", "aspectRatio": "Proporzioni", "maskAdjustmentsHeader": "Regolazioni della maschera", - "maskBlur": "Sfocatura maschera", - "maskBlurMethod": "Metodo di sfocatura della maschera", + "maskBlur": "Sfocatura", + "maskBlurMethod": "Metodo di sfocatura", "seamLowThreshold": "Basso", - "seamHighThreshold": "Alto" + "seamHighThreshold": "Alto", + "coherencePassHeader": "Passaggio di coerenza", + "coherenceSteps": "Passi", + "coherenceStrength": "Forza", + "compositingSettingsHeader": "Impostazioni di composizione", + "patchmatchDownScaleSize": "Ridimensiona", + "coherenceMode": "Modalità", + "invoke": { + "noNodesInGraph": "Nessun nodo nel grafico", + "noModelSelected": "Nessun modello selezionato", + "noPrompts": "Nessun prompt generato", + "noInitialImageSelected": "Nessuna immagine iniziale selezionata", + "readyToInvoke": "Pronto per invocare", + "addingImagesTo": "Aggiungi immagini a", + "systemBusy": "Sistema occupato", + "unableToInvoke": "Impossibile invocare", + "systemDisconnected": "Sistema disconnesso", + "noControlImageForControlNet": "ControlNet {{index}} non ha un'immagine di controllo", + "noModelForControlNet": "ControlNet {{index}} non ha alcun modello selezionato." + }, + "enableNoiseSettings": "Abilita le impostazioni del rumore", + "cpuNoise": "Rumore CPU", + "gpuNoise": "Rumore GPU", + "useCpuNoise": "Usa la CPU per generare rumore", + "manualSeed": "Seme manuale", + "randomSeed": "Seme casuale", + "iterations": "Iterazioni", + "iterationsWithCount_one": "{{count}} Iterazione", + "iterationsWithCount_many": "{{count}} Iterazioni", + "iterationsWithCount_other": "", + "seamlessX&Y": "Senza cuciture X & Y", + "isAllowedToUpscale": { + "useX2Model": "L'immagine è troppo grande per l'ampliamento con il modello x4, utilizza il modello x2", + "tooLarge": "L'immagine è troppo grande per l'ampliamento, seleziona un'immagine più piccola" + }, + "seamlessX": "Senza cuciture X", + "seamlessY": "Senza cuciture Y", + "imageActions": "Azioni Immagine" }, "settings": { "models": "Modelli", @@ -540,7 +602,7 @@ "resetWebUI": "Reimposta l'interfaccia utente Web", "resetWebUIDesc1": "Il ripristino dell'interfaccia utente Web reimposta solo la cache locale del browser delle immagini e le impostazioni memorizzate. Non cancella alcuna immagine dal disco.", "resetWebUIDesc2": "Se le immagini non vengono visualizzate nella galleria o qualcos'altro non funziona, prova a reimpostare prima di segnalare un problema su GitHub.", - "resetComplete": "L'interfaccia utente Web è stata reimpostata. Aggiorna la pagina per ricaricarla.", + "resetComplete": "L'interfaccia utente Web è stata reimpostata.", "useSlidersForAll": "Usa i cursori per tutte le opzioni", "general": "Generale", "consoleLogLevel": "Livello del registro", @@ -556,7 +618,8 @@ "alternateCanvasLayout": "Layout alternativo della tela", "beta": "Beta", "enableNodesEditor": "Abilita l'editor dei nodi", - "experimental": "Sperimentale" + "experimental": "Sperimentale", + "autoChangeDimensions": "Aggiorna L/A alle impostazioni predefinite del modello in caso di modifica" }, "toast": { "tempFoldersEmptied": "Cartella temporanea svuotata", @@ -569,7 +632,7 @@ "imageNotLoadedDesc": "Impossibile trovare l'immagine", "imageSavedToGallery": "Immagine salvata nella Galleria", "canvasMerged": "Tela unita", - "sentToImageToImage": "Inviato a da Immagine a Immagine", + "sentToImageToImage": "Inviato a Immagine a Immagine", "sentToUnifiedCanvas": "Inviato a Tela Unificata", "parametersSet": "Parametri impostati", "parametersNotSet": "Parametri non impostati", @@ -605,7 +668,42 @@ "nodesCorruptedGraph": "Impossibile caricare. Il grafico sembra essere danneggiato.", "nodesUnrecognizedTypes": "Impossibile caricare. Il grafico ha tipi di dati non riconosciuti", "nodesNotValidJSON": "JSON non valido", - "nodesBrokenConnections": "Impossibile caricare. Alcune connessioni sono interrotte." + "nodesBrokenConnections": "Impossibile caricare. Alcune connessioni sono interrotte.", + "baseModelChangedCleared": "Modello base modificato, cancellato", + "imageSavingFailed": "Salvataggio dell'immagine non riuscito", + "canvasSentControlnetAssets": "Tela inviata a ControlNet & Risorse", + "problemCopyingCanvasDesc": "Impossibile copiare la tela", + "loadedWithWarnings": "Flusso di lavoro caricato con avvisi", + "canvasCopiedClipboard": "Tela copiata negli appunti", + "maskSavedAssets": "Maschera salvata nelle risorse", + "modelAddFailed": "Aggiunta del modello non riuscita", + "problemDownloadingCanvas": "Problema durante il download della tela", + "problemMergingCanvas": "Problema nell'unione delle tele", + "imageUploaded": "Immagine caricata", + "addedToBoard": "Aggiunto alla bacheca", + "modelAddedSimple": "Modello aggiunto", + "problemImportingMaskDesc": "Impossibile importare la maschera", + "problemCopyingCanvas": "Problema durante la copia della tela", + "incompatibleSubmodel": "sottomodello incompatibile", + "problemSavingCanvas": "Problema nel salvataggio della tela", + "canvasDownloaded": "Tela scaricata", + "problemMergingCanvasDesc": "Impossibile unire le tele", + "problemDownloadingCanvasDesc": "Impossibile scaricare la tela", + "imageSaved": "Immagine salvata", + "maskSentControlnetAssets": "Maschera inviata a ControlNet & Risorse", + "canvasSavedGallery": "Tela salvata nella Galleria", + "imageUploadFailed": "Caricamento immagine non riuscito", + "modelAdded": "Modello aggiunto: {{modelName}}", + "problemImportingMask": "Problema durante l'importazione della maschera", + "setInitialImage": "Imposta come immagine iniziale", + "setControlImage": "Imposta come immagine di controllo", + "setNodeField": "Imposta come campo nodo", + "problemSavingMask": "Problema nel salvataggio della maschera", + "problemSavingCanvasDesc": "Impossibile salvare la tela", + "setCanvasInitialImage": "Imposta come immagine iniziale della tela", + "workflowLoaded": "Flusso di lavoro caricato", + "setIPAdapterImage": "Imposta come immagine per l'Adattatore IP", + "problemSavingMaskDesc": "Impossibile salvare la maschera" }, "tooltip": { "feature": { @@ -680,7 +778,9 @@ "betaDarkenOutside": "Oscura all'esterno", "betaLimitToBox": "Limita al rettangolo", "betaPreserveMasked": "Conserva quanto mascherato", - "antialiasing": "Anti aliasing" + "antialiasing": "Anti aliasing", + "showResultsOn": "Mostra i risultati (attivato)", + "showResultsOff": "Mostra i risultati (disattivato)" }, "accessibility": { "modelSelect": "Seleziona modello", @@ -699,16 +799,19 @@ "flipHorizontally": "Capovolgi orizzontalmente", "toggleLogViewer": "Attiva/disattiva visualizzatore registro", "showGallery": "Mostra la galleria immagini", - "showOptionsPanel": "Mostra il pannello opzioni", + "showOptionsPanel": "Mostra il pannello laterale", "flipVertically": "Capovolgi verticalmente", "toggleAutoscroll": "Attiva/disattiva lo scorrimento automatico", "modifyConfig": "Modifica configurazione", - "menu": "Menu" + "menu": "Menu", + "showGalleryPanel": "Mostra il pannello Galleria", + "loadMore": "Carica altro" }, "ui": { "hideProgressImages": "Nascondi avanzamento immagini", "showProgressImages": "Mostra avanzamento immagini", - "swapSizes": "Scambia dimensioni" + "swapSizes": "Scambia dimensioni", + "lockRatio": "Blocca le proporzioni" }, "nodes": { "zoomOutNodes": "Rimpicciolire", @@ -719,6 +822,429 @@ "showMinimapnodes": "Mostra minimappa", "zoomInNodes": "Ingrandire", "fitViewportNodes": "Adatta vista", - "showGraphNodes": "Mostra sovrapposizione grafico" + "showGraphNodes": "Mostra sovrapposizione grafico", + "resetWorkflowDesc2": "Reimpostare il flusso di lavoro cancellerà tutti i nodi, i bordi e i dettagli del flusso di lavoro.", + "reloadNodeTemplates": "Ricarica i modelli di nodo", + "saveWorkflow": "Salva il flusso di lavoro", + "loadWorkflow": "Carica il flusso di lavoro", + "resetWorkflow": "Reimposta flusso di lavoro", + "resetWorkflowDesc": "Sei sicuro di voler reimpostare questo flusso di lavoro?", + "downloadWorkflow": "Scarica il flusso di lavoro JSON", + "scheduler": "Campionatore", + "addNode": "Aggiungi nodo", + "sDXLMainModelFieldDescription": "Campo del modello SDXL.", + "boardField": "Bacheca", + "animatedEdgesHelp": "Anima i bordi selezionati e i bordi collegati ai nodi selezionati", + "sDXLMainModelField": "Modello SDXL", + "executionStateInProgress": "In corso", + "executionStateError": "Errore", + "executionStateCompleted": "Completato", + "boardFieldDescription": "Una bacheca della galleria", + "addNodeToolTip": "Aggiungi nodo (Shift+A, Space)", + "sDXLRefinerModelField": "Modello Refiner" + }, + "boards": { + "autoAddBoard": "Aggiungi automaticamente bacheca", + "menuItemAutoAdd": "Aggiungi automaticamente a questa Bacheca", + "cancel": "Annulla", + "addBoard": "Aggiungi Bacheca", + "bottomMessage": "L'eliminazione di questa bacheca e delle sue immagini ripristinerà tutte le funzionalità che le stanno attualmente utilizzando.", + "changeBoard": "Cambia Bacheca", + "loading": "Caricamento in corso ...", + "clearSearch": "Cancella Ricerca", + "topMessage": "Questa bacheca contiene immagini utilizzate nelle seguenti funzionalità:", + "move": "Sposta", + "myBoard": "Bacheca", + "searchBoard": "Cerca bacheche ...", + "noMatching": "Nessuna bacheca corrispondente", + "selectBoard": "Seleziona una Bacheca", + "uncategorized": "Non categorizzato" + }, + "controlnet": { + "contentShuffleDescription": "Rimescola il contenuto di un'immagine", + "contentShuffle": "Rimescola contenuto", + "beginEndStepPercent": "Percentuale passi Inizio / Fine", + "duplicate": "Duplica", + "balanced": "Bilanciato", + "depthMidasDescription": "Generazione di mappe di profondità usando Midas", + "control": "Controllo", + "crop": "Ritaglia", + "depthMidas": "Profondità (Midas)", + "enableControlnet": "Abilita ControlNet", + "detectResolution": "Rileva risoluzione", + "controlMode": "Modalità Controllo", + "cannyDescription": "Canny rilevamento bordi", + "depthZoe": "Profondità (Zoe)", + "autoConfigure": "Configura automaticamente il processore", + "delete": "Elimina", + "depthZoeDescription": "Generazione di mappe di profondità usando Zoe", + "resize": "Ridimensiona", + "showAdvanced": "Mostra opzioni Avanzate", + "bgth": "Soglia rimozione sfondo", + "importImageFromCanvas": "Importa immagine dalla Tela", + "lineartDescription": "Converte l'immagine in lineart", + "importMaskFromCanvas": "Importa maschera dalla Tela", + "hideAdvanced": "Nascondi opzioni avanzate", + "ipAdapterModel": "Modello Adattatore", + "resetControlImage": "Reimposta immagine di controllo", + "f": "F", + "h": "H", + "prompt": "Prompt", + "openPoseDescription": "Stima della posa umana utilizzando Openpose", + "resizeMode": "Modalità ridimensionamento", + "weight": "Peso", + "selectModel": "Seleziona un modello", + "w": "W", + "processor": "Processore", + "none": "Nessuno", + "incompatibleBaseModel": "Modello base incompatibile:", + "pidiDescription": "Elaborazione immagini PIDI", + "fill": "Riempire", + "colorMapDescription": "Genera una mappa dei colori dall'immagine", + "lineartAnimeDescription": "Elaborazione lineart in stile anime", + "imageResolution": "Risoluzione dell'immagine", + "colorMap": "Colore", + "lowThreshold": "Soglia inferiore", + "highThreshold": "Soglia superiore", + "normalBaeDescription": "Elaborazione BAE normale", + "noneDescription": "Nessuna elaborazione applicata", + "saveControlImage": "Salva immagine di controllo", + "toggleControlNet": "Attiva/disattiva questa ControlNet", + "safe": "Sicuro", + "colorMapTileSize": "Dimensione piastrella", + "ipAdapterImageFallback": "Nessuna immagine dell'Adattatore IP selezionata", + "mediapipeFaceDescription": "Rilevamento dei volti tramite Mediapipe", + "hedDescription": "Rilevamento dei bordi nidificati olisticamente", + "setControlImageDimensions": "Imposta le dimensioni dell'immagine di controllo su L/A", + "resetIPAdapterImage": "Reimposta immagine Adattatore IP", + "handAndFace": "Mano e faccia", + "enableIPAdapter": "Abilita Adattatore IP", + "maxFaces": "Numero massimo di volti" + }, + "queue": { + "queueFront": "Aggiungi all'inizio della coda", + "queueBack": "Aggiungi alla coda", + "queueCountPrediction": "Aggiungi {{predicted}} alla coda", + "queue": "Coda", + "status": "Stato", + "pruneSucceeded": "Rimossi {{item_count}} elementi completati dalla coda", + "cancelTooltip": "Annulla l'elemento corrente", + "queueEmpty": "Coda vuota", + "pauseSucceeded": "Elaborazione sospesa", + "in_progress": "In corso", + "notReady": "Impossibile mettere in coda", + "batchFailedToQueue": "Impossibile mettere in coda il lotto", + "completed": "Completati", + "batchValues": "Valori del lotto", + "cancelFailed": "Problema durante l'annullamento dell'elemento", + "batchQueued": "Lotto aggiunto alla coda", + "pauseFailed": "Problema durante la sospensione dell'elaborazione", + "clearFailed": "Problema nella cancellazione la coda", + "queuedCount": "{{pending}} In attesa", + "front": "inizio", + "clearSucceeded": "Coda cancellata", + "pause": "Sospendi", + "pruneTooltip": "Rimuovi {{item_count}} elementi completati", + "cancelSucceeded": "Elemento annullato", + "batchQueuedDesc": "Aggiunte {{item_count}} sessioni a {{direction}} della coda", + "graphQueued": "Grafico in coda", + "batch": "Lotto", + "clearQueueAlertDialog": "Lo svuotamento della coda annulla immediatamente tutti gli elementi in elaborazione e cancella completamente la coda.", + "pending": "In attesa", + "completedIn": "Completato in", + "resumeFailed": "Problema nel riavvio dell'elaborazione", + "clear": "Cancella", + "prune": "Rimuovi", + "total": "Totale", + "canceled": "Annullati", + "pruneFailed": "Problema nel rimuovere la coda", + "cancelBatchSucceeded": "Lotto annullato", + "clearTooltip": "Annulla e cancella tutti gli elementi", + "current": "Attuale", + "pauseTooltip": "Sospende l'elaborazione", + "failed": "Falliti", + "cancelItem": "Annulla l'elemento", + "next": "Prossimo", + "cancelBatch": "Annulla lotto", + "back": "fine", + "cancel": "Annulla", + "session": "Sessione", + "queueTotal": "{{total}} Totale", + "resumeSucceeded": "Elaborazione ripresa", + "enqueueing": "Lotto in coda", + "resumeTooltip": "Riprendi l'elaborazione", + "resume": "Riprendi", + "cancelBatchFailed": "Problema durante l'annullamento del lotto", + "clearQueueAlertDialog2": "Sei sicuro di voler cancellare la coda?", + "item": "Elemento", + "graphFailedToQueue": "Impossibile mettere in coda il grafico", + "queueMaxExceeded": "È stato superato il limite massimo di {{max_queue_size}} e {{skip}} elementi verrebbero saltati" + }, + "embedding": { + "noMatchingEmbedding": "Nessun Incorporamento corrispondente", + "addEmbedding": "Aggiungi Incorporamento", + "incompatibleModel": "Modello base incompatibile:" + }, + "models": { + "noMatchingModels": "Nessun modello corrispondente", + "loading": "caricamento", + "noMatchingLoRAs": "Nessun LoRA corrispondente", + "noLoRAsAvailable": "Nessun LoRA disponibile", + "noModelsAvailable": "Nessun modello disponibile", + "selectModel": "Seleziona un modello", + "selectLoRA": "Seleziona un LoRA" + }, + "invocationCache": { + "disable": "Disabilita", + "misses": "Non trovati in cache", + "enableFailed": "Problema nell'abilitazione della cache delle invocazioni", + "invocationCache": "Cache delle invocazioni", + "clearSucceeded": "Cache delle invocazioni svuotata", + "enableSucceeded": "Cache delle invocazioni abilitata", + "clearFailed": "Problema durante lo svuotamento della cache delle invocazioni", + "hits": "Trovati in cache", + "disableSucceeded": "Cache delle invocazioni disabilitata", + "disableFailed": "Problema durante la disabilitazione della cache delle invocazioni", + "enable": "Abilita", + "clear": "Svuota", + "maxCacheSize": "Dimensione max cache", + "cacheSize": "Dimensione cache" + }, + "dynamicPrompts": { + "seedBehaviour": { + "perPromptDesc": "Utilizza un seme diverso per ogni immagine", + "perIterationLabel": "Per iterazione", + "perIterationDesc": "Utilizza un seme diverso per ogni iterazione", + "perPromptLabel": "Per immagine", + "label": "Comportamento del seme" + }, + "enableDynamicPrompts": "Abilita prompt dinamici", + "combinatorial": "Generazione combinatoria", + "maxPrompts": "Numero massimo di prompt", + "promptsWithCount_one": "{{count}} Prompt", + "promptsWithCount_many": "{{count}} Prompt", + "promptsWithCount_other": "", + "dynamicPrompts": "Prompt dinamici" + }, + "popovers": { + "paramScheduler": { + "paragraphs": [ + "Il campionatore definisce come aggiungere in modo iterativo il rumore a un'immagine o come aggiornare un campione in base all'output di un modello." + ], + "heading": "Campionatore" + }, + "compositingMaskAdjustments": { + "heading": "Regolazioni della maschera", + "paragraphs": [ + "Regola la maschera." + ] + }, + "compositingCoherenceSteps": { + "heading": "Passi", + "paragraphs": [ + "Numero di passi di riduzione del rumore utilizzati nel Passaggio di Coerenza.", + "Uguale al parametro principale Passi." + ] + }, + "compositingBlur": { + "heading": "Sfocatura", + "paragraphs": [ + "Il raggio di sfocatura della maschera." + ] + }, + "compositingCoherenceMode": { + "heading": "Modalità", + "paragraphs": [ + "La modalità del Passaggio di Coerenza." + ] + }, + "clipSkip": { + "paragraphs": [ + "Scegli quanti livelli del modello CLIP saltare.", + "Alcuni modelli funzionano meglio con determinate impostazioni di CLIP Skip.", + "Un valore più alto in genere produce un'immagine meno dettagliata." + ] + }, + "compositingCoherencePass": { + "heading": "Passaggio di Coerenza", + "paragraphs": [ + "Un secondo ciclo di riduzione del rumore aiuta a comporre l'immagine Inpaint/Outpaint." + ] + }, + "compositingStrength": { + "heading": "Forza", + "paragraphs": [ + "Intensità di riduzione del rumore per il passaggio di coerenza.", + "Uguale al parametro intensità di riduzione del rumore da immagine a immagine." + ] + }, + "paramNegativeConditioning": { + "paragraphs": [ + "Il processo di generazione evita i concetti nel prompt negativo. Utilizzatelo per escludere qualità o oggetti dall'output.", + "Supporta la sintassi e gli incorporamenti di Compel." + ], + "heading": "Prompt negativo" + }, + "compositingBlurMethod": { + "heading": "Metodo di sfocatura", + "paragraphs": [ + "Il metodo di sfocatura applicato all'area mascherata." + ] + }, + "paramPositiveConditioning": { + "heading": "Prompt positivo", + "paragraphs": [ + "Guida il processo di generazione. Puoi usare qualsiasi parola o frase.", + "Supporta sintassi e incorporamenti di Compel e Prompt Dinamici." + ] + }, + "controlNetBeginEnd": { + "heading": "Percentuale passi Inizio / Fine", + "paragraphs": [ + "A quali passi del processo di rimozione del rumore verrà applicato ControlNet.", + "I ControlNet applicati all'inizio del processo guidano la composizione, mentre i ControlNet applicati alla fine guidano i dettagli." + ] + }, + "noiseUseCPU": { + "paragraphs": [ + "Controlla se viene generato rumore sulla CPU o sulla GPU.", + "Con il rumore della CPU abilitato, un seme particolare produrrà la stessa immagine su qualsiasi macchina.", + "Non vi è alcun impatto sulle prestazioni nell'abilitare il rumore della CPU." + ], + "heading": "Usa la CPU per generare rumore" + }, + "scaleBeforeProcessing": { + "paragraphs": [ + "Ridimensiona l'area selezionata alla dimensione più adatta al modello prima del processo di generazione dell'immagine." + ], + "heading": "Scala prima dell'elaborazione" + }, + "paramRatio": { + "heading": "Proporzioni", + "paragraphs": [ + "Le proporzioni delle dimensioni dell'immagine generata.", + "Per i modelli SD1.5 si consiglia una dimensione dell'immagine (in numero di pixel) equivalente a 512x512 mentre per i modelli SDXL si consiglia una dimensione equivalente a 1024x1024." + ] + }, + "dynamicPrompts": { + "paragraphs": [ + "Prompt Dinamici crea molte variazioni a partire da un singolo prompt.", + "La sintassi di base è \"a {red|green|blue} ball\". Ciò produrrà tre prompt: \"a red ball\", \"a green ball\" e \"a blue ball\".", + "Puoi utilizzare la sintassi quante volte vuoi in un singolo prompt, ma assicurati di tenere sotto controllo il numero di prompt generati con l'impostazione \"Numero massimo di prompt\"." + ], + "heading": "Prompt Dinamici" + }, + "paramVAE": { + "paragraphs": [ + "Modello utilizzato per tradurre l'output dell'intelligenza artificiale nell'immagine finale." + ], + "heading": "VAE" + }, + "paramIterations": { + "paragraphs": [ + "Il numero di immagini da generare.", + "Se i prompt dinamici sono abilitati, ciascuno dei prompt verrà generato questo numero di volte." + ], + "heading": "Iterazioni" + }, + "paramVAEPrecision": { + "heading": "Precisione VAE", + "paragraphs": [ + "La precisione utilizzata durante la codifica e decodifica VAE. FP16/mezza precisione è più efficiente, a scapito di minori variazioni dell'immagine." + ] + }, + "paramSeed": { + "paragraphs": [ + "Controlla il rumore iniziale utilizzato per la generazione.", + "Disabilita seme \"Casuale\" per produrre risultati identici con le stesse impostazioni di generazione." + ], + "heading": "Seme" + }, + "controlNetResizeMode": { + "heading": "Modalità ridimensionamento", + "paragraphs": [ + "Come l'immagine ControlNet verrà adattata alle dimensioni di output dell'immagine." + ] + }, + "dynamicPromptsSeedBehaviour": { + "paragraphs": [ + "Controlla il modo in cui viene utilizzato il seme durante la generazione dei prompt.", + "Per iterazione utilizzerà un seme univoco per ogni iterazione. Usalo per esplorare variazioni del prompt su un singolo seme.", + "Ad esempio, se hai 5 prompt, ogni immagine utilizzerà lo stesso seme.", + "Per immagine utilizzerà un seme univoco per ogni immagine. Ciò fornisce più variazione." + ], + "heading": "Comportamento del seme" + }, + "paramModel": { + "heading": "Modello", + "paragraphs": [ + "Modello utilizzato per i passaggi di riduzione del rumore.", + "Diversi modelli sono generalmente addestrati per specializzarsi nella produzione di particolari risultati e contenuti estetici." + ] + }, + "paramDenoisingStrength": { + "paragraphs": [ + "Quanto rumore viene aggiunto all'immagine in ingresso.", + "0 risulterà in un'immagine identica, mentre 1 risulterà in un'immagine completamente nuova." + ], + "heading": "Forza di riduzione del rumore" + }, + "dynamicPromptsMaxPrompts": { + "heading": "Numero massimo di prompt", + "paragraphs": [ + "Limita il numero di prompt che possono essere generati da Prompt Dinamici." + ] + }, + "infillMethod": { + "paragraphs": [ + "Metodo per riempire l'area selezionata." + ], + "heading": "Metodo di riempimento" + }, + "controlNetWeight": { + "heading": "Peso", + "paragraphs": [ + "Quanto forte sarà l'impatto di ControlNet sull'immagine generata." + ] + }, + "paramCFGScale": { + "heading": "Scala CFG", + "paragraphs": [ + "Controlla quanto il tuo prompt influenza il processo di generazione." + ] + }, + "controlNetControlMode": { + "paragraphs": [ + "Attribuisce più peso al prompt o a ControlNet." + ], + "heading": "Modalità di controllo" + }, + "paramSteps": { + "heading": "Passi", + "paragraphs": [ + "Numero di passi che verranno eseguiti in ogni generazione.", + "Un numero di passi più elevato generalmente creerà immagini migliori ma richiederà più tempo di generazione." + ] + }, + "lora": { + "heading": "Peso LoRA", + "paragraphs": [ + "Un peso LoRA più elevato porterà a impatti maggiori sull'immagine finale." + ] + }, + "controlNet": { + "paragraphs": [ + "ControlNet fornisce una guida al processo di generazione, aiutando a creare immagini con composizione, struttura o stile controllati, a seconda del modello selezionato." + ] + } + }, + "sdxl": { + "selectAModel": "Seleziona un modello", + "scheduler": "Campionatore", + "noModelsAvailable": "Nessun modello disponibile", + "denoisingStrength": "Forza di riduzione del rumore", + "concatPromptStyle": "Concatena Prompt & Stile", + "loading": "Caricamento...", + "steps": "Passi" } } From 45f9aca7e50daaf39455485baf93083a4c9a567a Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:44:56 +0000 Subject: [PATCH 30/70] translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ar.json | 1 - invokeai/frontend/web/public/locales/de.json | 1 - invokeai/frontend/web/public/locales/es.json | 2 -- invokeai/frontend/web/public/locales/fr.json | 1 - invokeai/frontend/web/public/locales/he.json | 1 - invokeai/frontend/web/public/locales/it.json | 2 -- invokeai/frontend/web/public/locales/nl.json | 1 - invokeai/frontend/web/public/locales/pl.json | 1 - invokeai/frontend/web/public/locales/pt.json | 1 - invokeai/frontend/web/public/locales/pt_BR.json | 1 - invokeai/frontend/web/public/locales/ru.json | 2 -- invokeai/frontend/web/public/locales/uk.json | 1 - invokeai/frontend/web/public/locales/zh_CN.json | 2 -- 13 files changed, 17 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ar.json b/invokeai/frontend/web/public/locales/ar.json index 8ff402dee3..7354b21ea0 100644 --- a/invokeai/frontend/web/public/locales/ar.json +++ b/invokeai/frontend/web/public/locales/ar.json @@ -368,7 +368,6 @@ "infillScalingHeader": "التعبئة والتحجيم", "img2imgStrength": "قوة صورة إلى صورة", "toggleLoopback": "تبديل الإعادة", - "invoke": "إطلاق", "sendTo": "أرسل إلى", "sendToImg2Img": "أرسل إلى صورة إلى صورة", "sendToUnifiedCanvas": "أرسل إلى الخطوط الموحدة", diff --git a/invokeai/frontend/web/public/locales/de.json b/invokeai/frontend/web/public/locales/de.json index b712fa30bc..61cef2637e 100644 --- a/invokeai/frontend/web/public/locales/de.json +++ b/invokeai/frontend/web/public/locales/de.json @@ -370,7 +370,6 @@ "infillScalingHeader": "Infill und Skalierung", "img2imgStrength": "Bild-zu-Bild-Stärke", "toggleLoopback": "Toggle Loopback", - "invoke": "Invoke", "sendTo": "Senden an", "sendToImg2Img": "Senden an Bild zu Bild", "sendToUnifiedCanvas": "Senden an Unified Canvas", diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index 6500244bba..863d2cc3cf 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -483,7 +483,6 @@ "infillScalingHeader": "Remplazo y escalado", "img2imgStrength": "Peso de Imagen a Imagen", "toggleLoopback": "Alternar Retroalimentación", - "invoke": "Invocar", "sendTo": "Enviar a", "sendToImg2Img": "Enviar a Imagen a Imagen", "sendToUnifiedCanvas": "Enviar a Lienzo Unificado", @@ -722,7 +721,6 @@ "showLegendNodes": "Mostrar la leyenda del tipo de campo", "showMinimapnodes": "Mostrar el minimapa", "reloadNodeTemplates": "Recargar las plantillas de nodos", - "saveWorkflow": "Guardar el flujo de trabajo", "loadWorkflow": "Cargar el flujo de trabajo", "resetWorkflow": "Reiniciar e flujo de trabajo", "resetWorkflowDesc": "¿Está seguro de que deseas restablecer este flujo de trabajo?", diff --git a/invokeai/frontend/web/public/locales/fr.json b/invokeai/frontend/web/public/locales/fr.json index ca2227dbe6..b7ab932fcc 100644 --- a/invokeai/frontend/web/public/locales/fr.json +++ b/invokeai/frontend/web/public/locales/fr.json @@ -381,7 +381,6 @@ "infillScalingHeader": "Remplissage et Mise à l'Échelle", "img2imgStrength": "Force de l'Image à l'Image", "toggleLoopback": "Activer/Désactiver la Boucle", - "invoke": "Invoker", "sendTo": "Envoyer à", "sendToImg2Img": "Envoyer à Image à Image", "sendToUnifiedCanvas": "Envoyer au Canvas Unifié", diff --git a/invokeai/frontend/web/public/locales/he.json b/invokeai/frontend/web/public/locales/he.json index 49e42062e8..dfb5ea0360 100644 --- a/invokeai/frontend/web/public/locales/he.json +++ b/invokeai/frontend/web/public/locales/he.json @@ -422,7 +422,6 @@ "symmetry": "סימטריה", "vSymmetryStep": "צעד סימטריה V", "hSymmetryStep": "צעד סימטריה H", - "invoke": "הפעלה", "cancel": { "schedule": "ביטול לאחר האיטרציה הנוכחית", "isScheduled": "מבטל", diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 200f3c902b..47f5be5943 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -506,7 +506,6 @@ "infillScalingHeader": "Riempimento e ridimensionamento", "img2imgStrength": "Forza da Immagine a Immagine", "toggleLoopback": "Attiva/disattiva elaborazione ricorsiva", - "invoke": "Invoke", "sendTo": "Invia a", "sendToImg2Img": "Invia a da Immagine a Immagine", "sendToUnifiedCanvas": "Invia a Tela Unificata", @@ -825,7 +824,6 @@ "showGraphNodes": "Mostra sovrapposizione grafico", "resetWorkflowDesc2": "Reimpostare il flusso di lavoro cancellerà tutti i nodi, i bordi e i dettagli del flusso di lavoro.", "reloadNodeTemplates": "Ricarica i modelli di nodo", - "saveWorkflow": "Salva il flusso di lavoro", "loadWorkflow": "Carica il flusso di lavoro", "resetWorkflow": "Reimposta flusso di lavoro", "resetWorkflowDesc": "Sei sicuro di voler reimpostare questo flusso di lavoro?", diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index a78a073319..c5cdec159b 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -475,7 +475,6 @@ "infillScalingHeader": "Infill en schaling", "img2imgStrength": "Sterkte Afbeelding naar afbeelding", "toggleLoopback": "Zet recursieve verwerking aan/uit", - "invoke": "Genereer", "sendTo": "Stuur naar", "sendToImg2Img": "Stuur naar Afbeelding naar afbeelding", "sendToUnifiedCanvas": "Stuur naar Centraal canvas", diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index f7bd0f1d60..ee6ee2d9a9 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -304,7 +304,6 @@ "infillScalingHeader": "Wypełnienie i skalowanie", "img2imgStrength": "Wpływ sugestii na obraz", "toggleLoopback": "Wł/wył sprzężenie zwrotne", - "invoke": "Wywołaj", "sendTo": "Wyślij do", "sendToImg2Img": "Użyj w trybie \"Obraz na obraz\"", "sendToUnifiedCanvas": "Użyj w trybie uniwersalnym", diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json index f4bfed272c..8a4cac3d87 100644 --- a/invokeai/frontend/web/public/locales/pt.json +++ b/invokeai/frontend/web/public/locales/pt.json @@ -435,7 +435,6 @@ "upscale": "Redimensionar", "upscaleImage": "Redimensionar Imagem", "scaleBeforeProcessing": "Escala Antes do Processamento", - "invoke": "Invocar", "images": "Imagems", "steps": "Passos", "cfgScale": "Escala CFG", diff --git a/invokeai/frontend/web/public/locales/pt_BR.json b/invokeai/frontend/web/public/locales/pt_BR.json index d263bf6251..3b45dbbbf3 100644 --- a/invokeai/frontend/web/public/locales/pt_BR.json +++ b/invokeai/frontend/web/public/locales/pt_BR.json @@ -427,7 +427,6 @@ "infillScalingHeader": "Preencimento e Escala", "img2imgStrength": "Força de Imagem Para Imagem", "toggleLoopback": "Ativar Loopback", - "invoke": "Invoke", "sendTo": "Mandar para", "sendToImg2Img": "Mandar para Imagem Para Imagem", "sendToUnifiedCanvas": "Mandar para Tela Unificada", diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index fe2805e5fe..9cc29c25db 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -483,7 +483,6 @@ "infillScalingHeader": "Заполнение и масштабирование", "img2imgStrength": "Сила обработки img2img", "toggleLoopback": "Зациклить обработку", - "invoke": "Invoke", "sendTo": "Отправить", "sendToImg2Img": "Отправить в img2img", "sendToUnifiedCanvas": "Отправить на Единый холст", @@ -721,7 +720,6 @@ "hideMinimapnodes": "Скрыть миникарту", "hideLegendNodes": "Скрыть тип поля", "showMinimapnodes": "Показать миникарту", - "saveWorkflow": "Сохранить рабочий процесс", "loadWorkflow": "Загрузить рабочий процесс", "resetWorkflowDesc2": "Сброс рабочего процесса очистит все узлы, ребра и детали рабочего процесса.", "resetWorkflow": "Сбросить рабочий процесс", diff --git a/invokeai/frontend/web/public/locales/uk.json b/invokeai/frontend/web/public/locales/uk.json index 5c02693a76..77768f2793 100644 --- a/invokeai/frontend/web/public/locales/uk.json +++ b/invokeai/frontend/web/public/locales/uk.json @@ -441,7 +441,6 @@ "infillScalingHeader": "Заповнення і масштабування", "img2imgStrength": "Сила обробки img2img", "toggleLoopback": "Зациклити обробку", - "invoke": "Викликати", "sendTo": "Надіслати", "sendToImg2Img": "Надіслати у img2img", "sendToUnifiedCanvas": "Надіслати на полотно", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index bd3949fde2..6087e65ebb 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -476,7 +476,6 @@ "infillScalingHeader": "内填充和缩放", "img2imgStrength": "图像到图像强度", "toggleLoopback": "切换环回", - "invoke": "Invoke", "sendTo": "发送到", "sendToImg2Img": "发送到图像到图像", "sendToUnifiedCanvas": "发送到统一画布", @@ -708,7 +707,6 @@ "loadWorkflow": "读取节点图", "zoomOutNodes": "缩小", "resetWorkflowDesc2": "重置节点图将清除所有节点、边际和节点图详情", - "saveWorkflow": "保存节点图", "reloadNodeTemplates": "重载节点模板", "hideGraphNodes": "隐藏节点图信息", "fitViewportNodes": "自适应视图", From 74c666aaa2a256e55fed60a89ef063d5dde293f5 Mon Sep 17 00:00:00 2001 From: System X - Files Date: Thu, 12 Oct 2023 12:44:58 +0000 Subject: [PATCH 31/70] translationBot(ui): update translation (Russian) Currently translated at 65.5% (643 of 981 strings) translationBot(ui): update translation (Russian) Currently translated at 100.0% (605 of 605 strings) Co-authored-by: System X - Files Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/ru.json | 71 +++++++++++++++++--- 1 file changed, 61 insertions(+), 10 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index 9cc29c25db..2523949e31 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -6,7 +6,7 @@ "settingsLabel": "Настройки", "img2img": "Изображение в изображение (img2img)", "unifiedCanvas": "Единый холст", - "nodes": "Редактор нод", + "nodes": "Редактор рабочего процесса", "langRussian": "Русский", "nodesDesc": "Cистема генерации изображений на основе нодов (узлов) уже разрабатывается. Следите за новостями об этой замечательной функции.", "postProcessing": "Постобработка", @@ -79,7 +79,10 @@ "lightMode": "Светлая тема", "batch": "Пакетный менеджер", "modelManager": "Менеджер моделей", - "darkMode": "Темная тема" + "darkMode": "Темная тема", + "nodeEditor": "Редактор Нодов (Узлов)", + "controlNet": "Controlnet", + "advanced": "Расширенные" }, "gallery": { "generations": "Генерации", @@ -525,10 +528,14 @@ "clipSkip": "CLIP Пропуск", "aspectRatio": "Соотношение", "maskAdjustmentsHeader": "Настройка маски", - "maskBlur": "Размытие маски", - "maskBlurMethod": "Метод размытия маски", + "maskBlur": "Размытие", + "maskBlurMethod": "Метод размытия", "seamLowThreshold": "Низкий", - "seamHighThreshold": "Высокий" + "seamHighThreshold": "Высокий", + "coherenceSteps": "Шагов", + "coherencePassHeader": "Порог Coherence", + "coherenceStrength": "Сила", + "compositingSettingsHeader": "Настройки компоновки" }, "settings": { "models": "Модели", @@ -540,7 +547,7 @@ "resetWebUI": "Сброс настроек Web UI", "resetWebUIDesc1": "Сброс настроек веб-интерфейса удаляет только локальный кэш браузера с вашими изображениями и настройками. Он не удаляет изображения с диска.", "resetWebUIDesc2": "Если изображения не отображаются в галерее или не работает что-то еще, пожалуйста, попробуйте сбросить настройки, прежде чем сообщать о проблеме на GitHub.", - "resetComplete": "Интерфейс сброшен. Обновите эту страницу.", + "resetComplete": "Настройки веб-интерфейса были сброшены.", "useSlidersForAll": "Использовать ползунки для всех параметров", "consoleLogLevel": "Уровень логирования", "shouldLogToConsole": "Логи в консоль", @@ -556,7 +563,8 @@ "experimental": "Экспериментальные", "beta": "Бета", "alternateCanvasLayout": "Альтернативный слой холста", - "showAdvancedOptions": "Показать доп. параметры" + "showAdvancedOptions": "Показать доп. параметры", + "autoChangeDimensions": "Обновить Ш/В на стандартные для модели при изменении" }, "toast": { "tempFoldersEmptied": "Временная папка очищена", @@ -695,7 +703,7 @@ "flipHorizontally": "Отразить горизонтально", "toggleAutoscroll": "Включить автопрокрутку", "toggleLogViewer": "Показать или скрыть просмотрщик логов", - "showOptionsPanel": "Показать опции", + "showOptionsPanel": "Показать боковую панель", "showGallery": "Показать галерею", "invokeProgressBar": "Индикатор выполнения", "reset": "Сброс", @@ -708,7 +716,8 @@ "ui": { "showProgressImages": "Показывать промежуточный итог", "hideProgressImages": "Не показывать промежуточный итог", - "swapSizes": "Поменять местами размеры" + "swapSizes": "Поменять местами размеры", + "lockRatio": "Зафиксировать пропорции" }, "nodes": { "zoomInNodes": "Увеличьте масштаб", @@ -724,6 +733,48 @@ "resetWorkflowDesc2": "Сброс рабочего процесса очистит все узлы, ребра и детали рабочего процесса.", "resetWorkflow": "Сбросить рабочий процесс", "resetWorkflowDesc": "Вы уверены, что хотите сбросить этот рабочий процесс?", - "reloadNodeTemplates": "Перезагрузить шаблоны узлов" + "reloadNodeTemplates": "Перезагрузить шаблоны узлов", + "downloadWorkflow": "Скачать JSON рабочего процесса" + }, + "controlnet": { + "amult": "a_mult", + "contentShuffleDescription": "Перетасовывает содержимое изображения", + "bgth": "bg_th", + "contentShuffle": "Перетасовка содержимого", + "beginEndStepPercent": "Процент начала/конца шага", + "duplicate": "Дублировать", + "balanced": "Сбалансированный", + "f": "F", + "depthMidasDescription": "Генерация карты глубины с использованием Midas", + "control": "Контроль", + "coarse": "Грубость обработки", + "crop": "Обрезка", + "depthMidas": "Глубина (Midas)", + "enableControlnet": "Включить ControlNet", + "detectResolution": "Определить разрешение", + "controlMode": "Режим контроля", + "cannyDescription": "Детектор границ Canny", + "depthZoe": "Глубина (Zoe)", + "autoConfigure": "Автонастройка процессора", + "delete": "Удалить", + "canny": "Canny", + "depthZoeDescription": "Генерация карты глубины с использованием Zoe" + }, + "boards": { + "autoAddBoard": "Авто добавление Доски", + "topMessage": "Эта доска содержит изображения, используемые в следующих функциях:", + "move": "Перемещение", + "menuItemAutoAdd": "Авто добавление на эту доску", + "myBoard": "Моя Доска", + "searchBoard": "Поиск Доски...", + "noMatching": "Нет подходящих Досок", + "selectBoard": "Выбрать Доску", + "cancel": "Отменить", + "addBoard": "Добавить Доску", + "bottomMessage": "Удаление этой доски и ее изображений приведет к сбросу всех функций, использующихся их в данный момент.", + "uncategorized": "Без категории", + "changeBoard": "Изменить Доску", + "loading": "Загрузка...", + "clearSearch": "Очистить поиск" } } From 65af7dd8f8a84a0eeab8c2ed686af730748c2599 Mon Sep 17 00:00:00 2001 From: nemuruibai Date: Thu, 12 Oct 2023 12:44:59 +0000 Subject: [PATCH 32/70] translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 95.7% (579 of 605 strings) Co-authored-by: nemuruibai Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/zh_CN.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index 6087e65ebb..6c2331a346 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -683,7 +683,8 @@ "ui": { "showProgressImages": "显示处理中的图片", "hideProgressImages": "隐藏处理中的图片", - "swapSizes": "XY尺寸互换" + "swapSizes": "XY尺寸互换", + "lockRatio": "锁定比率" }, "tooltip": { "feature": { @@ -706,7 +707,7 @@ "resetWorkflow": "清空节点图", "loadWorkflow": "读取节点图", "zoomOutNodes": "缩小", - "resetWorkflowDesc2": "重置节点图将清除所有节点、边际和节点图详情", + "resetWorkflowDesc2": "重置节点图将清除所有节点、边际和节点图详情.", "reloadNodeTemplates": "重载节点模板", "hideGraphNodes": "隐藏节点图信息", "fitViewportNodes": "自适应视图", @@ -714,6 +715,7 @@ "hideMinimapnodes": "隐藏缩略图", "showLegendNodes": "显示字段类型图例", "hideLegendNodes": "隐藏字段类型图例", - "showGraphNodes": "显示节点图信息" + "showGraphNodes": "显示节点图信息", + "downloadWorkflow": "下载节点图 JSON" } } From f0bf7333090001fb728bd98634852b254a29f08b Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Thu, 12 Oct 2023 12:45:00 +0000 Subject: [PATCH 33/70] translationBot(ui): update translation (Spanish) Currently translated at 100.0% (607 of 607 strings) translationBot(ui): update translation (Spanish) Currently translated at 100.0% (605 of 605 strings) Co-authored-by: gallegonovato Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/es.json | 21 ++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index 863d2cc3cf..1695cbd099 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -525,10 +525,16 @@ "clipSkip": "Omitir el CLIP", "aspectRatio": "Relación", "maskAdjustmentsHeader": "Ajustes de la máscara", - "maskBlur": "Máscara de Desenfoque", - "maskBlurMethod": "Método del desenfoque de la máscara", + "maskBlur": "Difuminar", + "maskBlurMethod": "Método del desenfoque", "seamHighThreshold": "Alto", - "seamLowThreshold": "Bajo" + "seamLowThreshold": "Bajo", + "coherencePassHeader": "Parámetros de la coherencia", + "compositingSettingsHeader": "Ajustes de la composición", + "coherenceSteps": "Pasos", + "coherenceStrength": "Fuerza", + "patchmatchDownScaleSize": "Reducir a escala", + "coherenceMode": "Modo" }, "settings": { "models": "Modelos", @@ -556,7 +562,8 @@ "alternateCanvasLayout": "Diseño alternativo del lienzo", "beta": "Beta", "enableNodesEditor": "Activar el editor de nodos", - "experimental": "Experimental" + "experimental": "Experimental", + "autoChangeDimensions": "Actualiza W/H a los valores predeterminados del modelo cuando se modifica" }, "toast": { "tempFoldersEmptied": "Directorio temporal vaciado", @@ -708,7 +715,8 @@ "ui": { "hideProgressImages": "Ocultar el progreso de la imagen", "showProgressImages": "Mostrar el progreso de la imagen", - "swapSizes": "Cambiar los tamaños" + "swapSizes": "Cambiar los tamaños", + "lockRatio": "Proporción del bloqueo" }, "nodes": { "showGraphNodes": "Mostrar la superposición de los gráficos", @@ -724,6 +732,7 @@ "loadWorkflow": "Cargar el flujo de trabajo", "resetWorkflow": "Reiniciar e flujo de trabajo", "resetWorkflowDesc": "¿Está seguro de que deseas restablecer este flujo de trabajo?", - "resetWorkflowDesc2": "Al reiniciar el flujo de trabajo se borrarán todos los nodos, aristas y detalles del flujo de trabajo." + "resetWorkflowDesc2": "Al reiniciar el flujo de trabajo se borrarán todos los nodos, aristas y detalles del flujo de trabajo.", + "downloadWorkflow": "Descargar el flujo de trabajo en un archivo JSON" } } From d6310885663c1164776aaaad08cf4d297f3dbf9c Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 12 Oct 2023 12:45:01 +0000 Subject: [PATCH 34/70] translationBot(ui): update translation (Dutch) Currently translated at 100.0% (605 of 605 strings) Co-authored-by: Dennis Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/nl/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/nl.json | 45 +++++++++++++++----- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index c5cdec159b..ceb3d869e6 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -6,7 +6,7 @@ "settingsLabel": "Instellingen", "img2img": "Afbeelding naar afbeelding", "unifiedCanvas": "Centraal canvas", - "nodes": "Knooppunt-editor", + "nodes": "Werkstroom-editor", "langDutch": "Nederlands", "nodesDesc": "Een op knooppunten gebaseerd systeem voor het genereren van afbeeldingen is momenteel in ontwikkeling. Blijf op de hoogte voor nieuws over deze verbluffende functie.", "postProcessing": "Naverwerking", @@ -99,7 +99,8 @@ "deleteImageBin": "Gewiste afbeeldingen worden naar de prullenbak van je besturingssysteem gestuurd.", "deleteImagePermanent": "Gewiste afbeeldingen kunnen niet worden hersteld.", "assets": "Eigen onderdelen", - "images": "Afbeeldingen" + "images": "Afbeeldingen", + "autoAssignBoardOnClick": "Ken automatisch bord toe bij klikken" }, "hotkeys": { "keyboardShortcuts": "Sneltoetsen", @@ -306,7 +307,12 @@ "acceptStagingImage": { "title": "Accepteer sessie-afbeelding", "desc": "Accepteert de huidige sessie-afbeelding" - } + }, + "addNodes": { + "title": "Voeg knooppunten toe", + "desc": "Opent het menu Voeg knooppunt toe" + }, + "nodesHotkeys": "Sneltoetsen knooppunten" }, "modelManager": { "modelManager": "Modelonderhoud", @@ -436,7 +442,9 @@ "convertingModelBegin": "Model aan het converteren. Even geduld.", "importModels": "Importeer Modellen", "syncModelsDesc": "Als je modellen niet meer synchroon zijn met de backend, kan je ze met deze optie verversen. Dit wordt typisch gebruikt in het geval je het models.yaml bestand met de hand bewerkt of als je modellen aan de InvokeAI root map toevoegt nadat de applicatie gestart werd.", - "loraModels": "LoRA's" + "loraModels": "LoRA's", + "onnxModels": "Onnx", + "oliveModels": "Olives" }, "parameters": { "images": "Afbeeldingen", @@ -515,7 +523,16 @@ "aspectRatio": "Verhouding", "negativePromptPlaceholder": "Negatieve prompt", "controlNetControlMode": "Aansturingsmodus", - "positivePromptPlaceholder": "Positieve prompt" + "positivePromptPlaceholder": "Positieve prompt", + "maskAdjustmentsHeader": "Maskeraanpassingen", + "compositingSettingsHeader": "Instellingen afbeeldingsopbouw", + "coherencePassHeader": "Coherentiestap", + "maskBlur": "Vervaag", + "maskBlurMethod": "Vervagingsmethode", + "coherenceSteps": "Stappen", + "coherenceStrength": "Sterkte", + "seamHighThreshold": "Hoog", + "seamLowThreshold": "Laag" }, "settings": { "models": "Modellen", @@ -527,7 +544,7 @@ "resetWebUI": "Herstel web-UI", "resetWebUIDesc1": "Herstel web-UI herstelt alleen de lokale afbeeldingscache en de onthouden instellingen van je browser. Het verwijdert geen afbeeldingen van schijf.", "resetWebUIDesc2": "Als afbeeldingen niet getoond worden in de galerij of iets anders werkt niet, probeer dan eerst deze herstelfunctie voordat je een fout aanmeldt op GitHub.", - "resetComplete": "Webgebruikersinterface is hersteld. Vernieuw de pasgina om opnieuw te laden.", + "resetComplete": "Webgebruikersinterface is hersteld.", "useSlidersForAll": "Gebruik schuifbalken voor alle opties", "consoleLogLevel": "Logboekniveau", "shouldLogToConsole": "Schrijf logboek naar console", @@ -543,7 +560,8 @@ "beta": "Bèta", "experimental": "Experimenteel", "alternateCanvasLayout": "Omwisselen Canvas Layout", - "enableNodesEditor": "Knopen Editor Inschakelen" + "enableNodesEditor": "Knopen Editor Inschakelen", + "autoChangeDimensions": "Werk bij wijziging afmetingen bij naar modelstandaard" }, "toast": { "tempFoldersEmptied": "Tijdelijke map geleegd", @@ -689,13 +707,14 @@ "toggleAutoscroll": "Autom. scrollen aan/uit", "toggleLogViewer": "Logboekviewer aan/uit", "showGallery": "Toon galerij", - "showOptionsPanel": "Toon deelscherm Opties", + "showOptionsPanel": "Toon zijscherm", "menu": "Menu" }, "ui": { "showProgressImages": "Toon voortgangsafbeeldingen", "hideProgressImages": "Verberg voortgangsafbeeldingen", - "swapSizes": "Wissel afmetingen om" + "swapSizes": "Wissel afmetingen om", + "lockRatio": "Zet verhouding vast" }, "nodes": { "zoomOutNodes": "Uitzoomen", @@ -706,6 +725,12 @@ "hideGraphNodes": "Graph overlay verbergen", "showGraphNodes": "Graph overlay tonen", "showMinimapnodes": "Minimap tonen", - "hideLegendNodes": "Typelegende veld verbergen" + "hideLegendNodes": "Typelegende veld verbergen", + "reloadNodeTemplates": "Herlaad knooppuntsjablonen", + "loadWorkflow": "Laad werkstroom", + "resetWorkflow": "Herstel werkstroom", + "resetWorkflowDesc": "Weet je zeker dat je deze werkstroom wilt herstellen?", + "resetWorkflowDesc2": "Herstel van een werkstroom haalt alle knooppunten, randen en werkstroomdetails weg.", + "downloadWorkflow": "Download JSON van werkstroom" } } From 851ce36250e7baee2c90d41925bb71e3d0d118fd Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:45:04 +0000 Subject: [PATCH 35/70] translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/de.json | 1 - invokeai/frontend/web/public/locales/es.json | 1 - invokeai/frontend/web/public/locales/fi.json | 1 - invokeai/frontend/web/public/locales/it.json | 6 +----- invokeai/frontend/web/public/locales/ja.json | 1 - invokeai/frontend/web/public/locales/nl.json | 1 - invokeai/frontend/web/public/locales/pl.json | 1 - invokeai/frontend/web/public/locales/pt.json | 1 - invokeai/frontend/web/public/locales/ru.json | 1 - invokeai/frontend/web/public/locales/sv.json | 1 - invokeai/frontend/web/public/locales/tr.json | 3 +-- invokeai/frontend/web/public/locales/uk.json | 1 - invokeai/frontend/web/public/locales/zh_CN.json | 1 - 13 files changed, 2 insertions(+), 18 deletions(-) diff --git a/invokeai/frontend/web/public/locales/de.json b/invokeai/frontend/web/public/locales/de.json index 61cef2637e..9baa6eb6a2 100644 --- a/invokeai/frontend/web/public/locales/de.json +++ b/invokeai/frontend/web/public/locales/de.json @@ -516,7 +516,6 @@ "modifyConfig": "Optionen einstellen", "toggleAutoscroll": "Auroscroll ein/ausschalten", "toggleLogViewer": "Log Betrachter ein/ausschalten", - "showGallery": "Zeige Galerie", "showOptionsPanel": "Zeige Optionen", "reset": "Zurücksetzen", "nextImage": "Nächstes Bild", diff --git a/invokeai/frontend/web/public/locales/es.json b/invokeai/frontend/web/public/locales/es.json index 1695cbd099..8ff4c53165 100644 --- a/invokeai/frontend/web/public/locales/es.json +++ b/invokeai/frontend/web/public/locales/es.json @@ -708,7 +708,6 @@ "modifyConfig": "Modificar la configuración", "toggleAutoscroll": "Activar el autodesplazamiento", "toggleLogViewer": "Alternar el visor de registros", - "showGallery": "Mostrar galería", "showOptionsPanel": "Mostrar el panel lateral", "menu": "Menú" }, diff --git a/invokeai/frontend/web/public/locales/fi.json b/invokeai/frontend/web/public/locales/fi.json index f257344cf1..cf7fc6701b 100644 --- a/invokeai/frontend/web/public/locales/fi.json +++ b/invokeai/frontend/web/public/locales/fi.json @@ -15,7 +15,6 @@ "rotateCounterClockwise": "Kierrä vastapäivään", "rotateClockwise": "Kierrä myötäpäivään", "flipVertically": "Käännä pystysuoraan", - "showGallery": "Näytä galleria", "modifyConfig": "Muokkaa konfiguraatiota", "toggleAutoscroll": "Kytke automaattinen vieritys", "toggleLogViewer": "Kytke lokin katselutila", diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 47f5be5943..480ceceb42 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -568,9 +568,7 @@ "addingImagesTo": "Aggiungi immagini a", "systemBusy": "Sistema occupato", "unableToInvoke": "Impossibile invocare", - "systemDisconnected": "Sistema disconnesso", - "noControlImageForControlNet": "ControlNet {{index}} non ha un'immagine di controllo", - "noModelForControlNet": "ControlNet {{index}} non ha alcun modello selezionato." + "systemDisconnected": "Sistema disconnesso" }, "enableNoiseSettings": "Abilita le impostazioni del rumore", "cpuNoise": "Rumore CPU", @@ -683,7 +681,6 @@ "modelAddedSimple": "Modello aggiunto", "problemImportingMaskDesc": "Impossibile importare la maschera", "problemCopyingCanvas": "Problema durante la copia della tela", - "incompatibleSubmodel": "sottomodello incompatibile", "problemSavingCanvas": "Problema nel salvataggio della tela", "canvasDownloaded": "Tela scaricata", "problemMergingCanvasDesc": "Impossibile unire le tele", @@ -797,7 +794,6 @@ "rotateClockwise": "Ruotare in senso orario", "flipHorizontally": "Capovolgi orizzontalmente", "toggleLogViewer": "Attiva/disattiva visualizzatore registro", - "showGallery": "Mostra la galleria immagini", "showOptionsPanel": "Mostra il pannello laterale", "flipVertically": "Capovolgi verticalmente", "toggleAutoscroll": "Attiva/disattiva lo scorrimento automatico", diff --git a/invokeai/frontend/web/public/locales/ja.json b/invokeai/frontend/web/public/locales/ja.json index cc4dbbdde3..a53ea50b46 100644 --- a/invokeai/frontend/web/public/locales/ja.json +++ b/invokeai/frontend/web/public/locales/ja.json @@ -461,7 +461,6 @@ "toggleAutoscroll": "自動スクロールの切替", "modifyConfig": "Modify Config", "toggleLogViewer": "Log Viewerの切替", - "showGallery": "ギャラリーを表示", "showOptionsPanel": "オプションパネルを表示" } } diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index ceb3d869e6..f682886dae 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -706,7 +706,6 @@ "modifyConfig": "Wijzig configuratie", "toggleAutoscroll": "Autom. scrollen aan/uit", "toggleLogViewer": "Logboekviewer aan/uit", - "showGallery": "Toon galerij", "showOptionsPanel": "Toon zijscherm", "menu": "Menu" }, diff --git a/invokeai/frontend/web/public/locales/pl.json b/invokeai/frontend/web/public/locales/pl.json index ee6ee2d9a9..f77c0c4710 100644 --- a/invokeai/frontend/web/public/locales/pl.json +++ b/invokeai/frontend/web/public/locales/pl.json @@ -455,7 +455,6 @@ "modifyConfig": "Modyfikuj ustawienia", "toggleAutoscroll": "Przełącz autoprzewijanie", "toggleLogViewer": "Przełącz podgląd logów", - "showGallery": "Pokaż galerię", "showOptionsPanel": "Pokaż panel opcji", "menu": "Menu" } diff --git a/invokeai/frontend/web/public/locales/pt.json b/invokeai/frontend/web/public/locales/pt.json index 8a4cac3d87..ac9dd50b4d 100644 --- a/invokeai/frontend/web/public/locales/pt.json +++ b/invokeai/frontend/web/public/locales/pt.json @@ -593,7 +593,6 @@ "flipVertically": "Espelhar verticalmente", "modifyConfig": "Modificar config", "toggleAutoscroll": "Alternar rolagem automática", - "showGallery": "Mostrar galeria", "showOptionsPanel": "Mostrar painel de opções", "uploadImage": "Enviar imagem", "previousImage": "Imagem anterior", diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index 2523949e31..808db9e803 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -704,7 +704,6 @@ "toggleAutoscroll": "Включить автопрокрутку", "toggleLogViewer": "Показать или скрыть просмотрщик логов", "showOptionsPanel": "Показать боковую панель", - "showGallery": "Показать галерею", "invokeProgressBar": "Индикатор выполнения", "reset": "Сброс", "modifyConfig": "Изменить конфиг", diff --git a/invokeai/frontend/web/public/locales/sv.json b/invokeai/frontend/web/public/locales/sv.json index c3f25e65d8..eef46c4513 100644 --- a/invokeai/frontend/web/public/locales/sv.json +++ b/invokeai/frontend/web/public/locales/sv.json @@ -15,7 +15,6 @@ "reset": "Starta om", "previousImage": "Föregående bild", "useThisParameter": "Använd denna parametern", - "showGallery": "Visa galleri", "rotateCounterClockwise": "Rotera moturs", "rotateClockwise": "Rotera medurs", "modifyConfig": "Ändra konfiguration", diff --git a/invokeai/frontend/web/public/locales/tr.json b/invokeai/frontend/web/public/locales/tr.json index 1f285f956b..0c222eecf7 100644 --- a/invokeai/frontend/web/public/locales/tr.json +++ b/invokeai/frontend/web/public/locales/tr.json @@ -19,8 +19,7 @@ "reset": "Sıfırla", "uploadImage": "Resim Yükle", "previousImage": "Önceki Resim", - "menu": "Menü", - "showGallery": "Galeriyi Göster" + "menu": "Menü" }, "common": { "hotkeysLabel": "Kısayol Tuşları", diff --git a/invokeai/frontend/web/public/locales/uk.json b/invokeai/frontend/web/public/locales/uk.json index 77768f2793..a85faee727 100644 --- a/invokeai/frontend/web/public/locales/uk.json +++ b/invokeai/frontend/web/public/locales/uk.json @@ -608,7 +608,6 @@ "rotateClockwise": "Обертати за годинниковою стрілкою", "toggleAutoscroll": "Увімкнути автопрокручування", "toggleLogViewer": "Показати або приховати переглядач журналів", - "showGallery": "Показати галерею", "previousImage": "Попереднє зображення", "copyMetadataJson": "Скопіювати метадані JSON", "flipVertically": "Перевернути по вертикалі", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index 6c2331a346..1e545eb4b3 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -673,7 +673,6 @@ "rotateClockwise": "顺时针旋转", "flipHorizontally": "水平翻转", "flipVertically": "垂直翻转", - "showGallery": "显示图库", "showOptionsPanel": "显示选项面板", "toggleLogViewer": "切换日志浏览器", "modifyConfig": "修改设置", From 7bc6c23dfa63e8b50c7cc3ac00d2617dab781f69 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Thu, 12 Oct 2023 12:45:05 +0000 Subject: [PATCH 36/70] translationBot(ui): update translation (Italian) Currently translated at 87.1% (1054 of 1210 strings) translationBot(ui): update translation (Italian) Currently translated at 85.5% (1026 of 1199 strings) translationBot(ui): update translation (Italian) Currently translated at 84.7% (1016 of 1199 strings) translationBot(ui): update translation (Italian) Currently translated at 84.7% (1016 of 1199 strings) translationBot(ui): update translation (Italian) Currently translated at 84.4% (1012 of 1199 strings) translationBot(ui): update translation (Italian) Currently translated at 84.3% (1011 of 1199 strings) translationBot(ui): update translation (Italian) Currently translated at 83.5% (1002 of 1199 strings) translationBot(ui): update translation (Italian) Currently translated at 81.5% (978 of 1199 strings) translationBot(ui): update translation (Italian) Currently translated at 80.8% (969 of 1199 strings) translationBot(ui): update translation (Italian) Currently translated at 80.7% (968 of 1199 strings) translationBot(ui): update translation (Italian) Currently translated at 81.3% (959 of 1179 strings) translationBot(ui): update translation (Italian) Currently translated at 81.3% (959 of 1179 strings) translationBot(ui): update translation (Italian) Currently translated at 81.3% (959 of 1179 strings) translationBot(ui): update translation (Italian) Currently translated at 81.3% (959 of 1179 strings) Co-authored-by: Riccardo Giovanetti Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 149 ++++++++++++++++--- 1 file changed, 129 insertions(+), 20 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 480ceceb42..c219e0f7f7 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -27,14 +27,14 @@ "statusProcessingCanceled": "Elaborazione annullata", "statusProcessingComplete": "Elaborazione completata", "statusGenerating": "Generazione in corso", - "statusGeneratingTextToImage": "Generazione da Testo a Immagine", + "statusGeneratingTextToImage": "Generazione Testo a Immagine", "statusGeneratingImageToImage": "Generazione da Immagine a Immagine", "statusGeneratingInpainting": "Generazione Inpainting", "statusGeneratingOutpainting": "Generazione Outpainting", "statusGenerationComplete": "Generazione completata", "statusIterationComplete": "Iterazione completata", "statusSavingImage": "Salvataggio dell'immagine", - "statusRestoringFaces": "Restaura i volti", + "statusRestoringFaces": "Restaura volti", "statusRestoringFacesGFPGAN": "Restaura volti (GFPGAN)", "statusRestoringFacesCodeFormer": "Restaura volti (CodeFormer)", "statusUpscaling": "Ampliamento", @@ -81,12 +81,15 @@ "modelManager": "Gestore modello", "communityLabel": "Comunità", "nodeEditor": "Editor dei nodi", - "controlNet": "ControlNet", + "controlNet": "", "statusProcessing": "Elaborazione in corso", "advanced": "Avanzate", "imageFailedToLoad": "Impossibile caricare l'immagine", "learnMore": "Per saperne di più", - "ipAdapter": "Adattatore IP" + "ipAdapter": "Adattatore IP", + "t2iAdapter": "Adattatore T2I", + "controlAdapter": "Adattatore di Controllo", + "controlNet": "" }, "gallery": { "generations": "Generazioni", @@ -114,7 +117,10 @@ "currentlyInUse": "Questa immagine è attualmente utilizzata nelle seguenti funzionalità:", "copy": "Copia", "download": "Scarica", - "setCurrentImage": "Imposta come immagine corrente" + "setCurrentImage": "Imposta come immagine corrente", + "preparingDownload": "Preparazione del download", + "preparingDownloadFailed": "Problema durante la preparazione del download", + "downloadSelection": "Scarica gli elementi selezionati" }, "hotkeys": { "keyboardShortcuts": "Tasti rapidi", @@ -187,7 +193,7 @@ "desc": "Mostra le informazioni sui metadati dell'immagine corrente" }, "sendToImageToImage": { - "title": "Invia a da Immagine a Immagine", + "title": "Invia a Immagine a Immagine", "desc": "Invia l'immagine corrente a da Immagine a Immagine" }, "deleteImage": { @@ -446,7 +452,7 @@ "modelConversionFailed": "Conversione del modello non riuscita", "modelsMergeFailed": "Unione modelli non riuscita", "selectModel": "Seleziona Modello", - "modelDeleted": "Modello cancellato", + "modelDeleted": "Modello eliminato", "modelDeleteFailed": "Impossibile eliminare il modello", "noCustomLocationProvided": "Nessuna posizione personalizzata fornita", "convertingModelBegin": "Conversione del modello. Attendere prego.", @@ -507,7 +513,7 @@ "img2imgStrength": "Forza da Immagine a Immagine", "toggleLoopback": "Attiva/disattiva elaborazione ricorsiva", "sendTo": "Invia a", - "sendToImg2Img": "Invia a da Immagine a Immagine", + "sendToImg2Img": "Invia a Immagine a Immagine", "sendToUnifiedCanvas": "Invia a Tela Unificata", "copyImageToLink": "Copia l'immagine nel collegamento", "downloadImage": "Scarica l'immagine", @@ -568,7 +574,11 @@ "addingImagesTo": "Aggiungi immagini a", "systemBusy": "Sistema occupato", "unableToInvoke": "Impossibile invocare", - "systemDisconnected": "Sistema disconnesso" + "systemDisconnected": "Sistema disconnesso", + "noControlImageForControlAdapter": "L'adattatore di controllo {{number}} non ha un'immagine di controllo", + "noModelForControlAdapter": "Nessun modello selezionato per l'adattatore di controllo {{number}}.", + "incompatibleBaseModelForControlAdapter": "Il modello dell'adattatore di controllo {{number}} non è compatibile con il modello principale.", + "missingNodeTemplate": "Modello di nodo mancante" }, "enableNoiseSettings": "Abilita le impostazioni del rumore", "cpuNoise": "Rumore CPU", @@ -616,7 +626,16 @@ "beta": "Beta", "enableNodesEditor": "Abilita l'editor dei nodi", "experimental": "Sperimentale", - "autoChangeDimensions": "Aggiorna L/A alle impostazioni predefinite del modello in caso di modifica" + "autoChangeDimensions": "Aggiorna L/A alle impostazioni predefinite del modello in caso di modifica", + "clearIntermediates": "Cancella le immagini intermedie", + "clearIntermediatesDesc3": "Le immagini della galleria non verranno eliminate.", + "clearIntermediatesDesc2": "Le immagini intermedie sono sottoprodotti della generazione, diversi dalle immagini risultanti nella galleria. La cancellazione degli intermedi libererà spazio su disco.", + "intermediatesCleared_one": "Cancellata 1 immagine intermedia", + "intermediatesCleared_many": "Cancellate {{number}} immagini intermedie", + "intermediatesCleared_other": "", + "clearIntermediatesDesc1": "La cancellazione delle immagini intermedie ripristinerà lo stato di Tela Unificata e ControlNet.", + "intermediatesClearedFailed": "Problema con la cancellazione delle immagini intermedie", + "noIntermediates": "Nessuna immagine intermedia da cancellare" }, "toast": { "tempFoldersEmptied": "Cartella temporanea svuotata", @@ -666,7 +685,9 @@ "nodesUnrecognizedTypes": "Impossibile caricare. Il grafico ha tipi di dati non riconosciuti", "nodesNotValidJSON": "JSON non valido", "nodesBrokenConnections": "Impossibile caricare. Alcune connessioni sono interrotte.", - "baseModelChangedCleared": "Modello base modificato, cancellato", + "baseModelChangedCleared_one": "Il modello base è stato modificato, cancellato o disabilitato {{number}} sotto-modello incompatibile", + "baseModelChangedCleared_many": "", + "baseModelChangedCleared_other": "", "imageSavingFailed": "Salvataggio dell'immagine non riuscito", "canvasSentControlnetAssets": "Tela inviata a ControlNet & Risorse", "problemCopyingCanvasDesc": "Impossibile copiare la tela", @@ -820,10 +841,10 @@ "showGraphNodes": "Mostra sovrapposizione grafico", "resetWorkflowDesc2": "Reimpostare il flusso di lavoro cancellerà tutti i nodi, i bordi e i dettagli del flusso di lavoro.", "reloadNodeTemplates": "Ricarica i modelli di nodo", - "loadWorkflow": "Carica il flusso di lavoro", + "loadWorkflow": "Importa flusso di lavoro JSON", "resetWorkflow": "Reimposta flusso di lavoro", "resetWorkflowDesc": "Sei sicuro di voler reimpostare questo flusso di lavoro?", - "downloadWorkflow": "Scarica il flusso di lavoro JSON", + "downloadWorkflow": "Esporta flusso di lavoro JSON", "scheduler": "Campionatore", "addNode": "Aggiungi nodo", "sDXLMainModelFieldDescription": "Campo del modello SDXL.", @@ -835,7 +856,51 @@ "executionStateCompleted": "Completato", "boardFieldDescription": "Una bacheca della galleria", "addNodeToolTip": "Aggiungi nodo (Shift+A, Space)", - "sDXLRefinerModelField": "Modello Refiner" + "sDXLRefinerModelField": "Modello Refiner", + "problemReadingMetadata": "Problema durante la lettura dei metadati dall'immagine", + "colorCodeEdgesHelp": "Bordi con codice colore in base ai campi collegati", + "animatedEdges": "Bordi animati", + "snapToGrid": "Aggancia alla griglia", + "validateConnections": "Convalida connessioni e grafico", + "validateConnectionsHelp": "Impedisce che vengano effettuate connessioni non valide e che vengano \"invocati\" grafici non validi", + "fullyContainNodesHelp": "I nodi devono essere completamente all'interno della casella di selezione per essere selezionati", + "fullyContainNodes": "Contenere completamente i nodi da selezionare", + "snapToGridHelp": "Aggancia i nodi alla griglia quando vengono spostati", + "workflowSettings": "Impostazioni Editor del flusso di lavoro", + "colorCodeEdges": "Bordi con codice colore", + "mainModelField": "Modello", + "noOutputRecorded": "Nessun output registrato", + "noFieldsLinearview": "Nessun campo aggiunto alla vista lineare", + "removeLinearView": "Rimuovi dalla vista lineare", + "workflowDescription": "Breve descrizione", + "workflowContact": "Contatto", + "workflowVersion": "Versione", + "workflow": "Flusso di lavoro", + "noWorkflow": "Nessun flusso di lavoro", + "workflowTags": "Tag", + "workflowValidation": "Errore di convalida del flusso di lavoro", + "workflowAuthor": "Autore", + "workflowName": "Nome", + "workflowNotes": "Note", + "unhandledInputProperty": "Proprietà di input non gestita", + "versionUnknown": " Versione sconosciuta", + "unableToValidateWorkflow": "Impossibile convalidare il flusso di lavoro", + "updateApp": "Aggiorna App", + "problemReadingWorkflow": "Problema durante la lettura del flusso di lavoro dall'immagine", + "unableToLoadWorkflow": "Impossibile caricare il flusso di lavoro", + "updateNode": "Aggiorna nodo", + "version": "Versione", + "notes": "Note", + "problemSettingTitle": "Problema nell'impostazione del titolo", + "unkownInvocation": "Tipo di invocazione sconosciuta", + "unknownTemplate": "Modello sconosciuto", + "nodeType": "Tipo di nodo", + "vaeField": "VAE", + "unhandledOutputProperty": "Proprietà di output non gestita", + "notesDescription": "Aggiunge note sul tuo flusso di lavoro", + "unknownField": "Campo sconosciuto", + "unknownNode": "Nodo sconosciuto", + "vaeFieldDescription": "Sotto modello VAE." }, "boards": { "autoAddBoard": "Aggiungi automaticamente bacheca", @@ -852,7 +917,8 @@ "searchBoard": "Cerca bacheche ...", "noMatching": "Nessuna bacheca corrispondente", "selectBoard": "Seleziona una Bacheca", - "uncategorized": "Non categorizzato" + "uncategorized": "Non categorizzato", + "downloadBoard": "Scarica la bacheca" }, "controlnet": { "contentShuffleDescription": "Rimescola il contenuto di un'immagine", @@ -861,7 +927,7 @@ "duplicate": "Duplica", "balanced": "Bilanciato", "depthMidasDescription": "Generazione di mappe di profondità usando Midas", - "control": "Controllo", + "control": "ControlNet", "crop": "Ritaglia", "depthMidas": "Profondità (Midas)", "enableControlnet": "Abilita ControlNet", @@ -903,7 +969,7 @@ "normalBaeDescription": "Elaborazione BAE normale", "noneDescription": "Nessuna elaborazione applicata", "saveControlImage": "Salva immagine di controllo", - "toggleControlNet": "Attiva/disattiva questa ControlNet", + "toggleControlNet": "Attiva/disattiva questo ControlNet", "safe": "Sicuro", "colorMapTileSize": "Dimensione piastrella", "ipAdapterImageFallback": "Nessuna immagine dell'Adattatore IP selezionata", @@ -913,7 +979,15 @@ "resetIPAdapterImage": "Reimposta immagine Adattatore IP", "handAndFace": "Mano e faccia", "enableIPAdapter": "Abilita Adattatore IP", - "maxFaces": "Numero massimo di volti" + "maxFaces": "Numero massimo di volti", + "addT2IAdapter": "Aggiungi $t(common.t2iAdapter)", + "controlNetEnabledT2IDisabled": "$t(common.controlNet) abilitato, $t(common.t2iAdapter) disabilitati", + "t2iEnabledControlNetDisabled": "$t(common.t2iAdapter) abilitato, $t(common.controlNet) disabilitati", + "addControlNet": "Aggiungi $t(common.controlNet)", + "controlNetT2IMutexDesc": "$t(common.controlNet) e $t(common.t2iAdapter) contemporaneamente non sono attualmente supportati.", + "addIPAdapter": "Aggiungi $t(common.ipAdapter)", + "controlAdapter": "Adattatore di Controllo", + "megaControl": "Mega ControlNet" }, "queue": { "queueFront": "Aggiungi all'inizio della coda", @@ -933,7 +1007,7 @@ "cancelFailed": "Problema durante l'annullamento dell'elemento", "batchQueued": "Lotto aggiunto alla coda", "pauseFailed": "Problema durante la sospensione dell'elaborazione", - "clearFailed": "Problema nella cancellazione la coda", + "clearFailed": "Problema nella cancellazione della coda", "queuedCount": "{{pending}} In attesa", "front": "inizio", "clearSucceeded": "Coda cancellata", @@ -1239,6 +1313,41 @@ "denoisingStrength": "Forza di riduzione del rumore", "concatPromptStyle": "Concatena Prompt & Stile", "loading": "Caricamento...", - "steps": "Passi" + "steps": "Passi", + "refinerStart": "Inizio Affinamento", + "cfgScale": "Scala CFG", + "negStylePrompt": "Prompt Stile negativo", + "refiner": "Affinatore", + "negAestheticScore": "Punteggio estetico negativo", + "useRefiner": "Utilizza l'affinatore", + "refinermodel": "Modello Affinatore", + "posAestheticScore": "Punteggio estetico positivo", + "posStylePrompt": "Prompt Stile positivo" + }, + "metadata": { + "initImage": "Immagine iniziale", + "seamless": "Senza giunture", + "positivePrompt": "Prompt positivo", + "negativePrompt": "Prompt negativo", + "generationMode": "Modalità generazione", + "Threshold": "Livello di soglia del rumore", + "metadata": "Metadati", + "strength": "Forza Immagine a Immagine", + "seed": "Seme", + "imageDetails": "Dettagli dell'immagine", + "perlin": "Rumore Perlin", + "model": "Modello", + "noImageDetails": "Nessun dettaglio dell'immagine trovato", + "hiresFix": "Ottimizzazione Alta Risoluzione", + "cfgScale": "Scala CFG", + "fit": "Adatta Immagine a Immagine", + "height": "Altezza", + "variations": "Coppie Peso-Seme", + "noMetaData": "Nessun metadato trovato", + "width": "Larghezza", + "createdBy": "Creato da", + "workflow": "Flusso di lavoro", + "steps": "Passi", + "scheduler": "Campionatore" } } From c0534d65192f6c8f629cb0d5e8a4aaecdd0e6e4d Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:45:07 +0000 Subject: [PATCH 37/70] translationBot(ui): update translation files Updated by "Remove blank strings" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 1 - 1 file changed, 1 deletion(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index c219e0f7f7..baa70c26be 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -81,7 +81,6 @@ "modelManager": "Gestore modello", "communityLabel": "Comunità", "nodeEditor": "Editor dei nodi", - "controlNet": "", "statusProcessing": "Elaborazione in corso", "advanced": "Avanzate", "imageFailedToLoad": "Impossibile caricare l'immagine", From 670f3aa165cd8462ce3e28cfc3a91b30594a3ef2 Mon Sep 17 00:00:00 2001 From: Surisen Date: Thu, 12 Oct 2023 12:45:09 +0000 Subject: [PATCH 38/70] translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 92.0% (1104 of 1199 strings) translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 92.1% (1105 of 1199 strings) translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 83.2% (998 of 1199 strings) translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 83.0% (996 of 1199 strings) translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 67.5% (810 of 1199 strings) Co-authored-by: Surisen Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/ Translation: InvokeAI/Web UI --- .../frontend/web/public/locales/zh_CN.json | 996 +++++++++++++++--- 1 file changed, 840 insertions(+), 156 deletions(-) diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index 1e545eb4b3..6924a86d89 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -2,20 +2,20 @@ "common": { "hotkeysLabel": "快捷键", "languagePickerLabel": "语言", - "reportBugLabel": "提交错误报告", + "reportBugLabel": "反馈错误", "settingsLabel": "设置", "img2img": "图生图", "unifiedCanvas": "统一画布", - "nodes": "节点编辑器", + "nodes": "工作流编辑器", "langSimplifiedChinese": "简体中文", "nodesDesc": "一个基于节点的图像生成系统目前正在开发中。请持续关注关于这一功能的更新。", "postProcessing": "后期处理", - "postProcessDesc1": "Invoke AI 提供各种各样的后期处理功能。图像放大和面部修复在网页界面中已经可用。你可以从文本到图像和图像到图像页面的高级选项菜单中访问它们。你也可以直接使用图像显示上方或查看器中的图像操作按钮处理图像。", + "postProcessDesc1": "Invoke AI 提供各种各样的后期处理功能。图像放大和面部修复在网页界面中已经可用。你可以从文生图和图生图页面的高级选项菜单中访问它们。你也可以直接使用图像显示上方或查看器中的图像操作按钮处理图像。", "postProcessDesc2": "一个专门的界面将很快发布,新的界面能够处理更复杂的后期处理流程。", - "postProcessDesc3": "Invoke AI 命令行界面提供例如Embiggen的各种其他功能。", + "postProcessDesc3": "Invoke AI 命令行界面提供例如 Embiggen 的各种其他功能。", "training": "训练", - "trainingDesc1": "一个专门用于从网络UI使用Textual Inversion和Dreambooth训练自己的嵌入模型和检查点的工作流程。", - "trainingDesc2": "InvokeAI已经支持使用主脚本中的Textual Inversion来训练自定义的嵌入模型。", + "trainingDesc1": "一个专门用于从 Web UI 使用 Textual Inversion 和 Dreambooth 训练自己的 Embedding 和 checkpoint 的工作流。", + "trainingDesc2": "InvokeAI 已经支持使用主脚本中的 Textual Inversion 来训练自定义 embeddouring。", "upload": "上传", "close": "关闭", "load": "加载", @@ -23,19 +23,19 @@ "statusDisconnected": "未连接", "statusError": "错误", "statusPreparing": "准备中", - "statusProcessingCanceled": "处理取消", + "statusProcessingCanceled": "处理已取消", "statusProcessingComplete": "处理完成", "statusGenerating": "生成中", - "statusGeneratingTextToImage": "文字到图像生成中", - "statusGeneratingImageToImage": "图像到图像生成中", - "statusGeneratingInpainting": "生成内画中", - "statusGeneratingOutpainting": "生成外画中", + "statusGeneratingTextToImage": "文生图生成中", + "statusGeneratingImageToImage": "图生图生成中", + "statusGeneratingInpainting": "(Inpainting) 内补生成中", + "statusGeneratingOutpainting": "(Outpainting) 外扩生成中", "statusGenerationComplete": "生成完成", "statusIterationComplete": "迭代完成", "statusSavingImage": "图像保存中", - "statusRestoringFaces": "脸部修复中", - "statusRestoringFacesGFPGAN": "脸部修复中 (GFPGAN)", - "statusRestoringFacesCodeFormer": "脸部修复中 (CodeFormer)", + "statusRestoringFaces": "面部修复中", + "statusRestoringFacesGFPGAN": "面部修复中 (GFPGAN)", + "statusRestoringFacesCodeFormer": "面部修复中 (CodeFormer)", "statusUpscaling": "放大中", "statusUpscalingESRGAN": "放大中 (ESRGAN)", "statusLoadingModel": "模型加载中", @@ -52,11 +52,11 @@ "openInNewTab": "在新的标签页打开", "langUkranian": "乌克兰语", "back": "返回", - "statusMergedModels": "模型合并完成", - "statusConvertingModel": "模型变换", - "statusModelConverted": "模型变换完成", + "statusMergedModels": "模型已合并", + "statusConvertingModel": "转换模型中", + "statusModelConverted": "模型转换完成", "statusMergingModels": "合并模型", - "githubLabel": "Github", + "githubLabel": "GitHub", "discordLabel": "Discord", "langPolish": "波兰语", "langBrPortuguese": "葡萄牙语(巴西)", @@ -77,7 +77,14 @@ "linear": "线性的", "batch": "批次管理器", "communityLabel": "社区", - "modelManager": "模型管理器" + "modelManager": "模型管理器", + "nodeEditor": "节点编辑器", + "statusProcessing": "处理中", + "imageFailedToLoad": "无法加载图像", + "lightMode": "浅色模式", + "learnMore": "了解更多", + "darkMode": "深色模式", + "advanced": "高级" }, "gallery": { "generations": "生成的图像", @@ -87,25 +94,32 @@ "galleryImageSize": "预览大小", "galleryImageResetSize": "重置预览大小", "gallerySettings": "预览设置", - "maintainAspectRatio": "保持比例", + "maintainAspectRatio": "保持纵横比", "autoSwitchNewImages": "自动切换到新图像", "singleColumnLayout": "单列布局", - "allImagesLoaded": "所有图像加载完成", + "allImagesLoaded": "所有图像已加载", "loadMore": "加载更多", - "noImagesInGallery": "图库中无图像", + "noImagesInGallery": "无图像可用于显示", "deleteImage": "删除图片", "deleteImageBin": "被删除的图片会发送到你操作系统的回收站。", - "deleteImagePermanent": "无法恢复删除的图片。", + "deleteImagePermanent": "删除的图片无法被恢复。", "images": "图片", "assets": "素材", - "autoAssignBoardOnClick": "点击后自动分配情景板" + "autoAssignBoardOnClick": "点击后自动分配面板", + "featuresWillReset": "如果您删除该图像,这些功能会立即被重置。", + "loading": "加载中", + "unableToLoad": "无法加载图库", + "currentlyInUse": "该图像目前在以下功能中使用:", + "copy": "复制", + "download": "下载", + "setCurrentImage": "设为当前图像" }, "hotkeys": { - "keyboardShortcuts": "快捷方式", - "appHotkeys": "应用快捷方式", - "generalHotkeys": "一般快捷方式", - "galleryHotkeys": "图库快捷方式", - "unifiedCanvasHotkeys": "统一画布快捷方式", + "keyboardShortcuts": "键盘快捷键", + "appHotkeys": "应用快捷键", + "generalHotkeys": "一般快捷键", + "galleryHotkeys": "图库快捷键", + "unifiedCanvasHotkeys": "统一画布快捷键", "invoke": { "title": "Invoke", "desc": "生成图像" @@ -115,31 +129,31 @@ "desc": "取消图像生成" }, "focusPrompt": { - "title": "打开提示框", - "desc": "打开提示文本框" + "title": "打开提示词框", + "desc": "打开提示词文本框" }, "toggleOptions": { "title": "切换选项卡", - "desc": "打开或关闭选项卡" + "desc": "打开或关闭选项浮窗" }, "pinOptions": { "title": "常开选项卡", - "desc": "保持选项卡常开" + "desc": "保持选项浮窗常开" }, "toggleViewer": { - "title": "切换图像视图", - "desc": "打开或关闭图像视图" + "title": "切换图像查看器", + "desc": "打开或关闭图像查看器" }, "toggleGallery": { "title": "切换图库", "desc": "打开或关闭图库" }, "maximizeWorkSpace": { - "title": "工作台最大化", + "title": "工作区最大化", "desc": "关闭所有浮窗,将工作区域最大化" }, "changeTabs": { - "title": "切换卡片", + "title": "切换选项卡", "desc": "切换到另一个工作区" }, "consoleToggle": { @@ -147,7 +161,7 @@ "desc": "打开或关闭命令行" }, "setPrompt": { - "title": "使用提示", + "title": "使用当前提示词", "desc": "使用当前图像的提示词" }, "setSeed": { @@ -155,12 +169,12 @@ "desc": "使用当前图像的种子" }, "setParameters": { - "title": "使用所有参数", + "title": "使用当前参数", "desc": "使用当前图像的所有参数" }, "restoreFaces": { - "title": "脸部修复", - "desc": "对当前图像进行脸部修复" + "title": "面部修复", + "desc": "对当前图像进行面部修复" }, "upscale": { "title": "放大", @@ -171,8 +185,8 @@ "desc": "显示当前图像的元数据" }, "sendToImageToImage": { - "title": "送往图像到图像", - "desc": "将当前图像送往图像到图像" + "title": "发送到图生图", + "desc": "发送当前图像到图生图" }, "deleteImage": { "title": "删除图像", @@ -184,23 +198,23 @@ }, "previousImage": { "title": "上一张图像", - "desc": "显示相册中的上一张图像" + "desc": "显示图库中的上一张图像" }, "nextImage": { "title": "下一张图像", - "desc": "显示相册中的下一张图像" + "desc": "显示图库中的下一张图像" }, "toggleGalleryPin": { "title": "切换图库常开", "desc": "开关图库在界面中的常开模式" }, "increaseGalleryThumbSize": { - "title": "增大预览大小", - "desc": "增大图库中预览的大小" + "title": "增大预览尺寸", + "desc": "增大图库中预览的尺寸" }, "decreaseGalleryThumbSize": { - "title": "减小预览大小", - "desc": "减小图库中预览的大小" + "title": "缩小预览尺寸", + "desc": "缩小图库中预览的尺寸" }, "selectBrush": { "title": "选择刷子", @@ -228,19 +242,19 @@ }, "moveTool": { "title": "移动工具", - "desc": "在画布上移动" + "desc": "画布允许导航" }, "fillBoundingBox": { "title": "填充选择区域", "desc": "在选择区域中填充刷子颜色" }, "eraseBoundingBox": { - "title": "取消选择区域", - "desc": "将选择区域抹除" + "title": "擦除选择框", + "desc": "将选择区域擦除" }, "colorPicker": { - "title": "颜色提取工具", - "desc": "选择颜色提取工具" + "title": "选择颜色拾取工具", + "desc": "选择画布颜色拾取工具" }, "toggleSnap": { "title": "切换网格对齐", @@ -256,7 +270,7 @@ }, "clearMask": { "title": "清除遮罩", - "desc": "清除整个遮罩层" + "desc": "清除整个遮罩" }, "hideMask": { "title": "隐藏遮罩", @@ -272,7 +286,7 @@ }, "saveToGallery": { "title": "保存至图库", - "desc": "将画板当前内容保存至图库" + "desc": "将画布当前内容保存至图库" }, "copyToClipboard": { "title": "复制到剪贴板", @@ -292,7 +306,7 @@ }, "resetView": { "title": "重置视图", - "desc": "重置画板视图" + "desc": "重置画布视图" }, "previousStagingImage": { "title": "上一张暂存图像", @@ -315,7 +329,7 @@ "modelManager": { "modelManager": "模型管理器", "model": "模型", - "modelAdded": "模型已添加", + "modelAdded": "已添加模型", "modelUpdated": "模型已更新", "modelEntryDeleted": "模型已删除", "cannotUseSpaces": "不能使用空格", @@ -330,7 +344,7 @@ "config": "配置", "configValidationMsg": "模型配置文件的路径。", "modelLocation": "模型位置", - "modelLocationValidationMsg": "模型文件的本地路径。", + "modelLocationValidationMsg": "提供 Diffusers 模型文件的本地存储路径", "vaeLocation": "VAE 位置", "vaeLocationValidationMsg": "VAE 文件的路径。", "width": "宽度", @@ -340,18 +354,18 @@ "addModel": "添加模型", "updateModel": "更新模型", "availableModels": "可用模型", - "search": "搜索", + "search": "检索", "load": "加载", "active": "活跃", "notLoaded": "未加载", "cached": "缓存", "checkpointFolder": "模型检查点文件夹", - "clearCheckpointFolder": "清除模型检查点文件夹", + "clearCheckpointFolder": "清除 Checkpoint 模型文件夹", "findModels": "寻找模型", "modelsFound": "找到的模型", "selectFolder": "选择文件夹", "selected": "已选择", - "selectAll": "选择所有", + "selectAll": "全选", "deselectAll": "取消选择所有", "showExisting": "显示已存在", "addSelected": "添加选择", @@ -359,38 +373,38 @@ "delete": "删除", "deleteModel": "删除模型", "deleteConfig": "删除配置", - "deleteMsg1": "您确定要将这个模型从 InvokeAI 删除吗?", - "deleteMsg2": "这不会从磁盘中删除模型检查点文件。如果您愿意,可以重新添加它们。", - "convertToDiffusersHelpText1": "模型会被转换成Diffusers格式。", - "convertToDiffusersHelpText2": "这个过程会替换你的模型管理器的入口中相同Diffusers版本的模型。", + "deleteMsg1": "您确定要将该模型从 InvokeAI 删除吗?", + "deleteMsg2": "磁盘中放置在 InvokeAI 根文件夹的 checkpoint 文件会被删除。若你正在使用自定义目录,则不会从磁盘中删除他们。", + "convertToDiffusersHelpText1": "模型会被转换成 🧨 Diffusers 格式。", + "convertToDiffusersHelpText2": "这个过程会替换你的模型管理器的入口中相同 Diffusers 版本的模型。", "mergedModelSaveLocation": "保存路径", "mergedModelCustomSaveLocation": "自定义路径", - "checkpointModels": "检查点(Checkpoints)", + "checkpointModels": "Checkpoints", "formMessageDiffusersVAELocation": "VAE 路径", - "convertToDiffusersHelpText4": "这是一次性的处理过程。根据你电脑的配置不同耗时30-60秒。", + "convertToDiffusersHelpText4": "这是一次性的处理过程。根据你电脑的配置不同耗时 30 - 60 秒。", "convertToDiffusersHelpText6": "你希望转换这个模型吗?", "interpolationType": "插值类型", - "modelTwo": "模型2", - "modelThree": "模型3", - "v2_768": "版本2(768px)", + "modelTwo": "模型 2", + "modelThree": "模型 3", + "v2_768": "v2 (768px)", "mergedModelName": "合并的模型名称", - "alpha": "透明度", + "alpha": "", "allModels": "全部模型", - "convertToDiffusers": "转换为Diffusers", + "convertToDiffusers": "转换为 Diffusers", "formMessageDiffusersModelLocation": "Diffusers 模型路径", "custom": "自定义", - "formMessageDiffusersVAELocationDesc": "如果没有特别指定,InvokeAI会从上面指定的模型路径中寻找VAE文件。", - "safetensorModels": "安全张量(SafeTensors)", + "formMessageDiffusersVAELocationDesc": "如果没有特别指定,InvokeAI 会从上面指定的模型路径中寻找 VAE 文件。", + "safetensorModels": "SafeTensors", "modelsMerged": "模型合并完成", "mergeModels": "合并模型", - "modelOne": "模型1", - "diffusersModels": "扩散器(Diffusers)", + "modelOne": "模型 1", + "diffusersModels": "Diffusers", "scanForModels": "扫描模型", "repo_id": "项目 ID", "repoIDValidationMsg": "你的模型的在线项目地址", - "v1": "版本1", + "v1": "v1", "invokeRoot": "InvokeAI 文件夹", - "inpainting": "版本1(Inpainting)", + "inpainting": "v1 Inpainting", "customSaveLocation": "自定义保存路径", "scanAgain": "重新扫描", "customConfig": "个性化配置", @@ -405,28 +419,28 @@ "addCheckpointModel": "添加 Checkpoint / Safetensor 模型", "addDiffuserModel": "添加 Diffusers 模型", "vaeRepoID": "VAE 项目 ID", - "vaeRepoIDValidationMsg": "你的模型的在线VAE项目地址", + "vaeRepoIDValidationMsg": "VAE 模型在线仓库地址", "selectAndAdd": "选择下表中的模型并添加", - "noModelsFound": "没有找到模型", + "noModelsFound": "未有找到模型", "formMessageDiffusersModelLocationDesc": "请至少输入一个。", "convertToDiffusersSaveLocation": "保存路径", - "convertToDiffusersHelpText3": "您在磁盘上的检查点(checkpoint)文件不会被删除或修改。如果需要,您可以再次将检查点添加到模型管理器中。", - "v2_base": "版本2(512px)", - "convertToDiffusersHelpText5": "请确认你有足够的此版空间,模型大小通常在4GB-7GB之间。", + "convertToDiffusersHelpText3": "磁盘中放置在 InvokeAI 根文件夹的 checkpoint 文件会被删除. 若位于自定义目录, 则不会受影响.", + "v2_base": "v2 (512px)", + "convertToDiffusersHelpText5": "请确认你有足够的磁盘空间,模型大小通常在 2 GB - 7 GB 之间。", "convert": "转换", "merge": "合并", "pickModelType": "选择模型类型", "addDifference": "增加差异", "none": "无", - "inverseSigmoid": "反Sigmoid函数", + "inverseSigmoid": "反 Sigmoid 函数", "weightedSum": "加权求和", - "modelMergeAlphaHelp": "透明度参数控制模型的混合强度。较低的透明度值会导致第二个模型的影响减弱。", - "sigmoid": "Sigmoid函数", - "modelMergeInterpAddDifferenceHelp": "在这种模式下,首先从模型2中减去模型3,得到的版本再用上述值的透明度与模型1进行混合。", + "modelMergeAlphaHelp": "Alpha 参数控制模型的混合强度。较低的 Alpha 值会导致第二个模型的影响减弱。", + "sigmoid": "Sigmoid 函数", + "modelMergeInterpAddDifferenceHelp": "在这种模式下,首先从模型 2 中减去模型 3,得到的版本再用上述的 Alpha 值与模型1进行混合。", "modelsSynced": "模型已同步", "modelSyncFailed": "模型同步失败", "modelDeleteFailed": "模型删除失败", - "syncModelsDesc": "如果您的模型与后端不同步, 您可以使用此选项刷新它们. 便于您在应用程序启动的情况下手动更新models.yaml文件或将模型添加到InvokeAI根文件夹.", + "syncModelsDesc": "如果您的模型与后端不同步,您可以使用此选项刷新它们。便于您在应用程序启动的情况下手动更新 models.yaml 文件或将模型添加到 InvokeAI 根文件夹。", "selectModel": "选择模型", "importModels": "导入模型", "settings": "设置", @@ -437,7 +451,18 @@ "modelConversionFailed": "模型转换失败", "modelsMergeFailed": "模型融合失败", "baseModel": "基底模型", - "convertingModelBegin": "模型转换中. 请稍候." + "convertingModelBegin": "模型转换中. 请稍候.", + "vae": "", + "noModels": "未找到模型", + "predictionType": "预测类型(适用于 Stable Diffusion 2.x 模型和部分 Stable Diffusion 1.x 模型)", + "quickAdd": "快速添加", + "simpleModelDesc": "提供一个指向本地 Diffusers 模型的路径,本地 checkpoint / safetensors 模型或一个HuggingFace 项目 ID,又或者一个 checkpoint/diffusers 模型链接。", + "advanced": "高级", + "useCustomConfig": "使用自定义配置", + "closeAdvanced": "关闭高级", + "modelType": "模型类别", + "customConfigFileLocation": "自定义配置文件目录", + "variant": "变体" }, "parameters": { "images": "图像", @@ -453,78 +478,118 @@ "variations": "变种", "variationAmount": "变种数量", "seedWeights": "种子权重", - "faceRestoration": "脸部修复", - "restoreFaces": "修复脸部", + "faceRestoration": "面部修复", + "restoreFaces": "修复面部", "type": "种类", "strength": "强度", "upscaling": "放大", - "upscale": "放大", + "upscale": "放大 (Shift + U)", "upscaleImage": "放大图像", "scale": "等级", "otherOptions": "其他选项", "seamlessTiling": "无缝拼贴", - "hiresOptim": "高清优化", - "imageFit": "使生成图像长宽适配原图像", - "codeformerFidelity": "保真", + "hiresOptim": "高分辨率优化", + "imageFit": "使生成图像长宽适配初始图像", + "codeformerFidelity": "保真度", "scaleBeforeProcessing": "处理前缩放", "scaledWidth": "缩放宽度", "scaledHeight": "缩放长度", - "infillMethod": "填充法", + "infillMethod": "填充方法", "tileSize": "方格尺寸", "boundingBoxHeader": "选择区域", "seamCorrectionHeader": "接缝修正", "infillScalingHeader": "内填充和缩放", - "img2imgStrength": "图像到图像强度", + "img2imgStrength": "图生图强度", "toggleLoopback": "切换环回", "sendTo": "发送到", - "sendToImg2Img": "发送到图像到图像", + "sendToImg2Img": "发送到图生图", "sendToUnifiedCanvas": "发送到统一画布", "copyImageToLink": "复制图像链接", "downloadImage": "下载图像", - "openInViewer": "在视图中打开", - "closeViewer": "关闭视图", + "openInViewer": "在查看器中打开", + "closeViewer": "关闭查看器", "usePrompt": "使用提示", "useSeed": "使用种子", "useAll": "使用所有参数", - "useInitImg": "使用原图像", + "useInitImg": "使用初始图像", "info": "信息", - "initialImage": "原图像", - "showOptionsPanel": "显示选项浮窗", + "initialImage": "初始图像", + "showOptionsPanel": "显示侧栏浮窗 (O 或 T)", "seamlessYAxis": "Y轴", "seamlessXAxis": "X轴", "boundingBoxWidth": "边界框宽度", "boundingBoxHeight": "边界框高度", - "denoisingStrength": "降噪强度", + "denoisingStrength": "去噪强度", "vSymmetryStep": "纵向对称步数", "cancel": { "immediate": "立即取消", "isScheduled": "取消中", - "schedule": "当前步骤后取消", - "setType": "设置取消类型" + "schedule": "当前迭代后取消", + "setType": "设定取消类型", + "cancel": "取消" }, "copyImage": "复制图片", "showPreview": "显示预览", "symmetry": "对称性", "positivePromptPlaceholder": "正向提示词", "negativePromptPlaceholder": "负向提示词", - "scheduler": "计划表", + "scheduler": "调度器", "general": "通用", "hiresStrength": "高分辨强度", - "hidePreview": "影藏预览", + "hidePreview": "隐藏预览", "hSymmetryStep": "横向对称步数", "imageToImage": "图生图", "noiseSettings": "噪音", "controlNetControlMode": "控制模式", - "maskAdjustmentsHeader": "调整遮罩", - "maskBlur": "模糊遮罩", - "maskBlurMethod": "遮罩模糊方式", - "aspectRatio": "比率", + "maskAdjustmentsHeader": "遮罩调整", + "maskBlur": "模糊", + "maskBlurMethod": "模糊方式", + "aspectRatio": "纵横比", "seamLowThreshold": "降低", - "seamHighThreshold": "提升" + "seamHighThreshold": "提升", + "invoke": { + "noNodesInGraph": "节点图中无节点", + "noModelSelected": "无已选中的模型", + "invoke": "调用", + "systemBusy": "系统繁忙", + "noInitialImageSelected": "无选中的初始图像", + "missingInputForField": "{{nodeLabel}} -> {{fieldLabel}} 缺失输入", + "unableToInvoke": "无法调用", + "systemDisconnected": "系统已断开连接", + "missingNodeTemplate": "缺失节点模板", + "missingFieldTemplate": "缺失模板", + "addingImagesTo": "添加图像到", + "noPrompts": "没有已生成的提示词", + "readyToInvoke": "准备调用", + "noControlImageForControlAdapter": "Control Adapter {{number}} 没有控制图像", + "noModelForControlAdapter": "Control Adapter {{number}} 没有选择模型。", + "incompatibleBaseModelForControlAdapter": "Control Adapter {{number}} 与主模型不匹配。" + }, + "patchmatchDownScaleSize": "缩小", + "coherenceSteps": "步数", + "clipSkip": "CLIP 跳过层", + "compositingSettingsHeader": "合成设置", + "useCpuNoise": "使用 CPU 噪声", + "coherenceStrength": "强度", + "enableNoiseSettings": "启用噪声设置", + "coherenceMode": "模式", + "cpuNoise": "CPU 噪声", + "gpuNoise": "GPU 噪声", + "clipSkipWithLayerCount": "CLIP 跳过 {{layerCount}} 层", + "coherencePassHeader": "一致性层", + "manualSeed": "手动设定种子", + "imageActions": "图像操作", + "randomSeed": "随机种子", + "iterations": "迭代数", + "isAllowedToUpscale": { + "useX2Model": "图像太大,无法使用 x4 模型,使用 x2 模型作为替代", + "tooLarge": "图像太大无法进行放大,请选择更小的图像" + }, + "iterationsWithCount_other": "{{count}} 次迭代生成" }, "settings": { "models": "模型", - "displayInProgress": "显示进行中的图像", + "displayInProgress": "显示处理中的图像", "saveSteps": "每n步保存图像", "confirmOnDelete": "删除时确认", "displayHelpIcons": "显示帮助按钮", @@ -532,9 +597,9 @@ "resetWebUI": "重置网页界面", "resetWebUIDesc1": "重置网页只会重置浏览器中缓存的图像和设置,不会删除任何图像。", "resetWebUIDesc2": "如果图像没有显示在图库中,或者其他东西不工作,请在GitHub上提交问题之前尝试重置。", - "resetComplete": "网页界面已重置。刷新页面以重新加载。", - "showProgressInViewer": "在视口中展示过程图片", - "antialiasProgressImages": "对过程图片抗锯齿", + "resetComplete": "网页界面已重置。", + "showProgressInViewer": "在查看器中展示过程图片", + "antialiasProgressImages": "对过程图像应用抗锯齿", "generation": "生成", "ui": "用户界面", "useSlidersForAll": "对所有参数使用滑动条设置", @@ -546,21 +611,24 @@ "enableNodesEditor": "启用节点编辑器", "favoriteSchedulersPlaceholder": "没有偏好的采样算法", "showAdvancedOptions": "显示进阶选项", - "favoriteSchedulers": "采样算法偏好" + "favoriteSchedulers": "采样算法偏好", + "autoChangeDimensions": "更改时将宽/高更新为模型默认值", + "beta": "", + "experimental": "实验性" }, "toast": { "tempFoldersEmptied": "临时文件夹已清空", "uploadFailed": "上传失败", "uploadFailedUnableToLoadDesc": "无法加载文件", - "downloadImageStarted": "图像下载已开始", + "downloadImageStarted": "图像已开始下载", "imageCopied": "图像已复制", "imageLinkCopied": "图像链接已复制", "imageNotLoaded": "没有加载图像", "imageNotLoadedDesc": "找不到图片", "imageSavedToGallery": "图像已保存到图库", "canvasMerged": "画布已合并", - "sentToImageToImage": "已送往图像到图像", - "sentToUnifiedCanvas": "已送往统一画布", + "sentToImageToImage": "已发送到图生图", + "sentToUnifiedCanvas": "已发送到统一画布", "parametersSet": "参数已设定", "parametersNotSet": "参数未设定", "parametersNotSetDesc": "此图像不存在元数据。", @@ -569,11 +637,11 @@ "seedSet": "种子已设定", "seedNotSet": "种子未设定", "seedNotSetDesc": "无法找到该图像的种子。", - "promptSet": "提示已设定", + "promptSet": "提示词已设定", "promptNotSet": "提示未设定", "promptNotSetDesc": "无法找到该图像的提示。", "upscalingFailed": "放大失败", - "faceRestoreFailed": "脸部修复失败", + "faceRestoreFailed": "面部修复失败", "metadataLoadFailed": "加载元数据失败", "initialImageSet": "初始图像已设定", "initialImageNotSet": "初始图像未设定", @@ -582,29 +650,63 @@ "uploadFailedInvalidUploadDesc": "必须是单张的 PNG 或 JPEG 图片", "disconnected": "服务器断开", "connected": "服务器连接", - "parameterSet": "参数已设置", - "parameterNotSet": "参数未设置", + "parameterSet": "参数已设定", + "parameterNotSet": "参数未设定", "serverError": "服务器错误", "canceled": "处理取消", - "nodesLoaded": "节点图已加载", - "nodesSaved": "节点图已保存", + "nodesLoaded": "节点已加载", + "nodesSaved": "节点已保存", "problemCopyingImage": "无法复制图像", - "nodesCorruptedGraph": "无法加载. 节点图似乎已损坏.", - "nodesBrokenConnections": "无法加载. 部分链接已断开.", - "nodesUnrecognizedTypes": "无法加载. 节点图有无法识别的节点类型", + "nodesCorruptedGraph": "无法加载。节点图似乎已损坏。", + "nodesBrokenConnections": "无法加载。部分连接已断开。", + "nodesUnrecognizedTypes": "无法加载。节点图有无法识别的节点类型", "nodesNotValidJSON": "无效的 JSON", "nodesNotValidGraph": "无效的 InvokeAi 节点图", - "nodesCleared": "节点图已清空", - "nodesLoadedFailed": "节点图加载失败" + "nodesCleared": "节点已清空", + "nodesLoadedFailed": "节点图加载失败", + "modelAddedSimple": "已添加模型", + "modelAdded": "已添加模型: {{modelName}}", + "baseModelChangedCleared_other": "", + "imageSavingFailed": "图像保存失败", + "canvasSentControlnetAssets": "画布已发送到 ControlNet & 素材", + "problemCopyingCanvasDesc": "无法导出基础层", + "loadedWithWarnings": "已加载带有警告的工作流", + "setInitialImage": "设为初始图像", + "canvasCopiedClipboard": "画布已复制到剪贴板", + "setControlImage": "设为控制图像", + "setNodeField": "设为节点字段", + "problemSavingMask": "保存遮罩时出现问题", + "problemSavingCanvasDesc": "无法导出基础层", + "maskSavedAssets": "遮罩已保存到素材", + "modelAddFailed": "模型添加失败", + "problemDownloadingCanvas": "下载画布时出现问题", + "problemMergingCanvas": "合并画布时出现问题", + "setCanvasInitialImage": "设为画布初始图像", + "imageUploaded": "图像已上传", + "addedToBoard": "已添加到面板", + "workflowLoaded": "工作流已加载", + "problemImportingMaskDesc": "无法导出遮罩", + "problemCopyingCanvas": "复制画布时出现问题", + "problemSavingCanvas": "保存画布时出现问题", + "canvasDownloaded": "画布已下载", + "setIPAdapterImage": "设为 IP Adapter 图像", + "problemMergingCanvasDesc": "无法导出基础层", + "problemDownloadingCanvasDesc": "无法导出基础层", + "problemSavingMaskDesc": "无法导出遮罩", + "imageSaved": "图像已保存", + "maskSentControlnetAssets": "遮罩已发送到 ControlNet & 素材", + "canvasSavedGallery": "画布已保存到图库", + "imageUploadFailed": "图像上传失败", + "problemImportingMask": "导入遮罩时出现问题" }, "unifiedCanvas": { "layer": "图层", "base": "基础层", - "mask": "遮罩层层", - "maskingOptions": "遮罩层选项", - "enableMask": "启用遮罩层", - "preserveMaskedArea": "保留遮罩层区域", - "clearMask": "清除遮罩层", + "mask": "遮罩", + "maskingOptions": "遮罩选项", + "enableMask": "启用遮罩", + "preserveMaskedArea": "保留遮罩区域", + "clearMask": "清除遮罩", "brush": "刷子", "eraser": "橡皮擦", "fillBoundingBox": "填充选择区域", @@ -655,7 +757,9 @@ "betaDarkenOutside": "暗化外部区域", "betaLimitToBox": "限制在框内", "betaPreserveMasked": "保留遮罩层", - "antialiasing": "抗锯齿" + "antialiasing": "抗锯齿", + "showResultsOn": "显示结果 (开)", + "showResultsOff": "显示结果 (关)" }, "accessibility": { "modelSelect": "模型选择", @@ -665,39 +769,41 @@ "useThisParameter": "使用此参数", "uploadImage": "上传图片", "previousImage": "上一张图片", - "copyMetadataJson": "复制JSON元数据", - "exitViewer": "退出视口", + "copyMetadataJson": "复制 JSON 元数据", + "exitViewer": "退出查看器", "zoomIn": "放大", "zoomOut": "缩小", "rotateCounterClockwise": "逆时针旋转", "rotateClockwise": "顺时针旋转", "flipHorizontally": "水平翻转", "flipVertically": "垂直翻转", - "showOptionsPanel": "显示选项面板", - "toggleLogViewer": "切换日志浏览器", - "modifyConfig": "修改设置", + "showOptionsPanel": "显示侧栏浮窗", + "toggleLogViewer": "切换日志查看器", + "modifyConfig": "修改配置", "toggleAutoscroll": "切换自动缩放", - "menu": "菜单" + "menu": "菜单", + "showGalleryPanel": "显示图库浮窗", + "loadMore": "加载更多" }, "ui": { "showProgressImages": "显示处理中的图片", "hideProgressImages": "隐藏处理中的图片", - "swapSizes": "XY尺寸互换", - "lockRatio": "锁定比率" + "swapSizes": "XY 尺寸互换", + "lockRatio": "锁定纵横比" }, "tooltip": { "feature": { - "prompt": "这是提示词区域。提示词包括生成对象和风格术语。您也可以在提示中添加权重(Token重要性),但命令行命令和参数不起作用。", - "imageToImage": "图生图模式加载任何图像作为初始图像,然后与提示一起用于生成新图像。值越高,结果图像的变化就越大。可能的值为0.0到1.0,建议的范围是0.25到0.75", - "upscale": "使用 ESRGAN可以在图片生成后立即放大图片。", - "variations": "尝试将变化值设置在0.1到1.0之间,以更改给定种子的结果。种子的有趣变化在0.1到0.3之间。", + "prompt": "这是提示词区域。提示词包括生成对象和风格术语。您也可以在提示中添加权重(Token 的重要性),但命令行命令和参数不起作用。", + "imageToImage": "图生图模式加载任何图像作为初始图像,然后与提示一起用于生成新图像。值越高,结果图像的变化就越大。可能的值为 0.0 到 1.0,建议的范围是 0.25 到 0.75", + "upscale": "使用 ESRGAN 可以在图片生成后立即放大图片。", + "variations": "尝试将变化值设置在 0.1 到 1.0 之间,以更改给定种子的结果。种子的变化在 0.1 到 0.3 之间会很有趣。", "boundingBox": "边界框的高和宽的设定对文生图和图生图模式是一样的,只有边界框中的区域会被处理。", - "other": "这些选项将为Invoke启用替代处理模式。 \"无缝平铺\"将在输出中创建重复图案。 \"高分辨率\"是通过img2img进行两步生成:当您想要更大、更连贯且不带伪影的图像时,请使用此设置。这将比通常的txt2img需要更长的时间。", - "faceCorrection": "使用GFPGAN或Codeformer进行人脸校正:该算法会检测图像中的人脸并纠正任何缺陷。较高的值将更改图像,并产生更有吸引力的人脸。在保留较高保真度的情况下使用Codeformer将导致更强的人脸校正,同时也会保留原始图像。", + "other": "这些选项将为 Invoke 启用替代处理模式。 \"无缝拼贴\" 将在输出中创建重复图案。\"高分辨率\" 是通过图生图进行两步生成:当您想要更大、更连贯且不带伪影的图像时,请使用此设置。这将比通常的文生图需要更长的时间。", + "faceCorrection": "使用 GFPGAN 或 Codeformer 进行人脸校正:该算法会检测图像中的人脸并纠正任何缺陷。较高的值将更改图像,并产生更有吸引力的人脸。在保留较高保真度的情况下使用 Codeformer 将导致更强的人脸校正,同时也会保留原始图像。", "gallery": "图片库展示输出文件夹中的图片,设置和文件一起储存,可以通过内容菜单访问。", - "seed": "种子值影响形成图像的初始噪声。您可以使用以前图像中已存在的种子。 “噪声阈值”用于减轻在高CFG值(尝试0-10范围)下的伪像,并使用Perlin在生成过程中添加Perlin噪声:这两者都可以为您的输出添加变化。", + "seed": "种子值影响形成图像的初始噪声。您可以使用以前图像中已存在的种子。 “噪声阈值”用于减轻在高 CFG 等级(尝试 0 - 10 范围)下的伪像,并使用 Perlin 在生成过程中添加 Perlin 噪声:这两者都可以为您的输出添加变化。", "seamCorrection": "控制在画布上生成的图像之间出现的可见接缝的处理方式。", - "infillAndScaling": "管理填充方法(用于画布的掩模或擦除区域)和缩放(对于较小的边界框大小非常有用)。" + "infillAndScaling": "管理填充方法(用于画布的遮罩或擦除区域)和缩放(对于较小的边界框大小非常有用)。" } }, "nodes": { @@ -715,6 +821,584 @@ "showLegendNodes": "显示字段类型图例", "hideLegendNodes": "隐藏字段类型图例", "showGraphNodes": "显示节点图信息", - "downloadWorkflow": "下载节点图 JSON" + "downloadWorkflow": "下载节点图 JSON", + "workflowDescription": "简述", + "versionUnknown": " 未知版本", + "noNodeSelected": "无选中的节点", + "addNode": "添加节点", + "unableToValidateWorkflow": "无法验证工作流", + "noOutputRecorded": "无已记录输出", + "updateApp": "升级 App", + "colorCodeEdgesHelp": "根据连接区域对边缘编码颜色", + "workflowContact": "联系", + "animatedEdges": "边缘动效", + "nodeTemplate": "节点模板", + "pickOne": "选择一个", + "unableToLoadWorkflow": "无法验证工作流", + "snapToGrid": "对齐网格", + "noFieldsLinearview": "线性视图中未添加任何字段", + "nodeSearch": "检索节点", + "version": "版本", + "validateConnections": "验证连接和节点图", + "inputMayOnlyHaveOneConnection": "输入仅能有一个连接", + "notes": "节点", + "nodeOutputs": "节点输出", + "currentImageDescription": "在节点编辑器中显示当前图像", + "validateConnectionsHelp": "防止建立无效连接和调用无效节点图", + "problemSettingTitle": "设定标题时出现问题", + "noConnectionInProgress": "没有正在进行的连接", + "workflowVersion": "版本", + "noConnectionData": "无连接数据", + "fieldTypesMustMatch": "类型必须匹配", + "workflow": "工作流", + "unkownInvocation": "未知调用类型", + "animatedEdgesHelp": "为选中边缘和其连接的选中节点的边缘添加动画", + "unknownTemplate": "未知模板", + "removeLinearView": "从线性视图中移除", + "workflowTags": "标签", + "fullyContainNodesHelp": "节点必须完全位于选择框中才能被选中", + "workflowValidation": "工作流验证错误", + "noMatchingNodes": "无相匹配的节点", + "executionStateInProgress": "处理中", + "noFieldType": "无字段类型", + "executionStateError": "错误", + "executionStateCompleted": "已完成", + "workflowAuthor": "作者", + "currentImage": "当前图像", + "workflowName": "名称", + "cannotConnectInputToInput": "无法将输入连接到输入", + "workflowNotes": "节点", + "cannotConnectOutputToOutput": "无法将输出连接到输出", + "connectionWouldCreateCycle": "连接将创建一个循环", + "cannotConnectToSelf": "无法连接自己", + "notesDescription": "添加有关您的工作流的节点", + "unknownField": "未知", + "colorCodeEdges": "边缘颜色编码", + "unknownNode": "未知节点", + "addNodeToolTip": "添加节点 (Shift+A, Space)", + "loadingNodes": "加载节点中...", + "snapToGridHelp": "移动时将节点与网格对齐", + "workflowSettings": "工作流编辑器设置", + "booleanPolymorphicDescription": "布尔集合。", + "scheduler": "调度器", + "inputField": "输入", + "controlFieldDescription": "节点间传递的控制信息。", + "skippingUnknownOutputType": "跳过未知类型的输出", + "latentsFieldDescription": "Latents 可以在节点间传递。", + "denoiseMaskFieldDescription": "去噪遮罩可以在节点间传递", + "missingTemplate": "缺失模板", + "outputSchemaNotFound": "未找到输出模式", + "latentsPolymorphicDescription": "Latents 可以在节点间传递。", + "colorFieldDescription": "一种 RGBA 颜色。", + "mainModelField": "模型", + "unhandledInputProperty": "未处理的输入属性", + "maybeIncompatible": "可能与已安装的不兼容", + "collectionDescription": "待办事项", + "skippingReservedFieldType": "跳过保留类型", + "booleanCollectionDescription": "布尔集合。", + "sDXLMainModelFieldDescription": "SDXL 模型。", + "boardField": "面板", + "problemReadingWorkflow": "从图像读取工作流时出现问题", + "sourceNode": "源节点", + "nodeOpacity": "节点不透明度", + "collectionItemDescription": "待办事项", + "integerDescription": "整数 (Integer) 是没有与小数点的数字。", + "outputField": "输出", + "skipped": "跳过", + "updateNode": "更新节点", + "sDXLRefinerModelFieldDescription": "待办事项", + "imagePolymorphicDescription": "一个图像合集。", + "doesNotExist": "不存在", + "unableToParseNode": "无法解析节点", + "controlCollection": "控制合集", + "collectionItem": "项目合集", + "controlCollectionDescription": "节点间传递的控制信息。", + "skippedReservedInput": "跳过保留的输入", + "outputFields": "输出", + "edge": "边缘", + "inputNode": "输入节点", + "enumDescription": "枚举 (Enums) 可能是多个选项的一个数值。", + "loRAModelFieldDescription": "待办事项", + "imageField": "图像", + "skippedReservedOutput": "跳过保留的输出", + "noWorkflow": "无工作流", + "colorCollectionDescription": "待办事项", + "colorPolymorphicDescription": "一个颜色合集。", + "sDXLMainModelField": "SDXL 模型", + "denoiseMaskField": "去噪遮罩", + "schedulerDescription": "待办事项", + "missingCanvaInitImage": "缺失画布初始图像", + "clipFieldDescription": "词元分析器和文本编码器的子模型。", + "noImageFoundState": "状态中未发现初始图像", + "nodeType": "节点类型", + "fullyContainNodes": "完全包含节点来进行选择", + "noOutputSchemaName": "在 ref 对象中找不到输出模式名称", + "vaeModelFieldDescription": "待办事项", + "skippingInputNoTemplate": "跳过无模板的输入", + "missingCanvaInitMaskImages": "缺失初始化画布和遮罩图像", + "problemReadingMetadata": "从图像读取元数据时出现问题", + "oNNXModelField": "ONNX 模型", + "node": "节点", + "skippingUnknownInputType": "跳过未知类型的输入", + "booleanDescription": "布尔值为真或为假。", + "collection": "合集", + "invalidOutputSchema": "无效的输出模式", + "boardFieldDescription": "图库面板", + "floatDescription": "浮点数是带小数点的数字。", + "unhandledOutputProperty": "未处理的输出属性", + "string": "字符串", + "inputFields": "输入", + "uNetFieldDescription": "UNet 子模型。", + "mismatchedVersion": "不匹配的版本", + "vaeFieldDescription": "Vae 子模型。", + "imageFieldDescription": "图像可以在节点间传递。", + "outputNode": "输出节点", + "mainModelFieldDescription": "待办事项", + "sDXLRefinerModelField": "Refiner 模型", + "unableToParseEdge": "无法解析边缘", + "latentsCollectionDescription": "Latents 可以在节点间传递。", + "oNNXModelFieldDescription": "ONNX 模型。", + "cannotDuplicateConnection": "无法创建重复的连接", + "ipAdapterModel": "IP-Adapter 模型", + "ipAdapterDescription": "图像提示词自适应 (IP-Adapter)。", + "ipAdapterModelDescription": "IP-Adapter 模型" + }, + "controlnet": { + "resize": "直接缩放", + "showAdvanced": "显示高级", + "contentShuffleDescription": "随机打乱图像内容", + "importImageFromCanvas": "从画布导入图像", + "lineartDescription": "将图像转换为线稿", + "importMaskFromCanvas": "从画布导入遮罩", + "hideAdvanced": "隐藏高级", + "ipAdapterModel": "Adapter 模型", + "resetControlImage": "重置控制图像", + "beginEndStepPercent": "开始 / 结束步数百分比", + "mlsdDescription": "简洁的分割线段(直线)检测器", + "duplicate": "复制", + "balanced": "平衡", + "prompt": "提示词", + "depthMidasDescription": "使用 Midas 生成深度图", + "openPoseDescription": "使用 Openpose 进行人体姿态估计", + "resizeMode": "缩放模式", + "weight": "权重", + "selectModel": "选择一个模型", + "crop": "裁剪", + "processor": "处理器", + "none": "无", + "incompatibleBaseModel": "不兼容的基础模型:", + "enableControlnet": "启用 ControlNet", + "detectResolution": "检测分辨率", + "pidiDescription": "像素差分 (PIDI) 图像处理", + "controlMode": "控制模式", + "fill": "填充", + "cannyDescription": "Canny 边缘检测", + "colorMapDescription": "从图像生成一张颜色图", + "imageResolution": "图像分辨率", + "autoConfigure": "自动配置处理器", + "normalBaeDescription": "法线 BAE 处理", + "noneDescription": "不应用任何处理", + "saveControlImage": "保存控制图像", + "toggleControlNet": "开关此 ControlNet", + "delete": "删除", + "colorMapTileSize": "分块大小", + "ipAdapterImageFallback": "无选中的 IP Adapter 图像", + "mediapipeFaceDescription": "使用 Mediapipe 检测面部", + "depthZoeDescription": "使用 Zoe 生成深度图", + "hedDescription": "整体嵌套边缘检测", + "setControlImageDimensions": "设定控制图像尺寸宽/高为", + "resetIPAdapterImage": "重置 IP Adapter 图像", + "handAndFace": "手部和面部", + "enableIPAdapter": "启用 IP Adapter", + "amult": "角度倍率 (a_mult)", + "bgth": "背景移除阈值 (bg_th)", + "lineartAnimeDescription": "动漫风格线稿处理", + "minConfidence": "最小置信度", + "lowThreshold": "弱判断阈值", + "highThreshold": "强判断阈值", + "addT2IAdapter": "添加 $t(common.t2iAdapter)", + "controlNetEnabledT2IDisabled": "$t(common.controlNet) 已启用, $t(common.t2iAdapter) 已禁用", + "t2iEnabledControlNetDisabled": "$t(common.t2iAdapter) 已启用, $t(common.controlNet) 已禁用", + "addControlNet": "添加 $t(common.controlNet)", + "controlNetT2IMutexDesc": "$t(common.controlNet) 和 $t(common.t2iAdapter) 目前不支持同时启用。", + "addIPAdapter": "添加 $t(common.ipAdapter)", + "safe": "保守模式", + "scribble": "草绘 (scribble)", + "maxFaces": "最大面部数" + }, + "queue": { + "status": "状态", + "cancelTooltip": "取消当前项目", + "queueEmpty": "队列为空", + "pauseSucceeded": "处理器已暂停", + "in_progress": "处理中", + "queueFront": "添加到队列前", + "completed": "已完成", + "queueBack": "添加到队列", + "cancelFailed": "取消项目时出现问题", + "pauseFailed": "暂停处理器时出现问题", + "clearFailed": "清除队列时出现问题", + "clearSucceeded": "队列已清除", + "pause": "暂停", + "cancelSucceeded": "项目已取消", + "queue": "队列", + "batch": "批处理", + "clearQueueAlertDialog": "清除队列时会立即取消所有处理中的项目并且会完全清除队列。", + "pending": "待定", + "completedIn": "完成于", + "resumeFailed": "恢复处理器时出现问题", + "clear": "清除", + "prune": "修剪", + "total": "总计", + "canceled": "已取消", + "pruneFailed": "修剪队列时出现问题", + "cancelBatchSucceeded": "批处理已取消", + "clearTooltip": "取消并清除所有项目", + "current": "当前", + "pauseTooltip": "暂停处理器", + "failed": "已失败", + "cancelItem": "取消项目", + "next": "下一个", + "cancelBatch": "取消批处理", + "cancel": "取消", + "resumeSucceeded": "处理器已恢复", + "resumeTooltip": "恢复处理器", + "resume": "恢复", + "cancelBatchFailed": "取消批处理时出现问题", + "clearQueueAlertDialog2": "您确定要清除队列吗?", + "item": "项目", + "pruneSucceeded": "从队列修剪 {{item_count}} 个已完成的项目", + "notReady": "无法排队", + "batchFailedToQueue": "批次加入队列失败", + "batchValues": "批次数", + "queueCountPrediction": "添加 {{predicted}} 到队列", + "batchQueued": "加入队列的批次", + "queuedCount": "{{pending}} 待处理", + "front": "前", + "pruneTooltip": "修剪 {{item_count}} 个已完成的项目", + "batchQueuedDesc": "在队列的 {{direction}} 中添加了 {{item_count}} 个会话", + "graphQueued": "节点图已加入队列", + "back": "后", + "session": "会话", + "queueTotal": "总计 {{total}}", + "enqueueing": "队列中的批次", + "queueMaxExceeded": "超出最大值 {{max_queue_size}},将跳过 {{skip}}", + "graphFailedToQueue": "节点图加入队列失败" + }, + "sdxl": { + "refinerStart": "Refiner 开始作用时机", + "selectAModel": "选择一个模型", + "scheduler": "调度器", + "cfgScale": "CFG 等级", + "negStylePrompt": "负向样式提示词", + "noModelsAvailable": "无可用模型", + "negAestheticScore": "负向美学评分", + "useRefiner": "启用 Refiner", + "denoisingStrength": "去噪强度", + "refinermodel": "Refiner 模型", + "posAestheticScore": "正向美学评分", + "concatPromptStyle": "连接提示词 & 样式", + "loading": "加载中...", + "steps": "步数", + "posStylePrompt": "正向样式提示词" + }, + "metadata": { + "positivePrompt": "正向提示词", + "negativePrompt": "负向提示词", + "generationMode": "生成模式", + "Threshold": "噪声阈值", + "metadata": "元数据", + "strength": "图生图强度", + "seed": "种子", + "imageDetails": "图像详细信息", + "perlin": "Perlin 噪声", + "model": "模型", + "noImageDetails": "未找到图像详细信息", + "hiresFix": "高分辨率优化", + "cfgScale": "CFG 等级", + "initImage": "初始图像", + "height": "高度", + "variations": "(成对/第二)种子权重", + "noMetaData": "未找到元数据", + "width": "宽度", + "createdBy": "创建者是", + "workflow": "工作流", + "steps": "步数", + "scheduler": "调度器", + "seamless": "无缝", + "fit": "图生图适应" + }, + "models": { + "noMatchingModels": "无相匹配的模型", + "loading": "加载中", + "noMatchingLoRAs": "无相匹配的 LoRA", + "noLoRAsAvailable": "无可用 LoRA", + "noModelsAvailable": "无可用模型", + "selectModel": "选择一个模型", + "selectLoRA": "选择一个 LoRA" + }, + "boards": { + "autoAddBoard": "自动添加面板", + "topMessage": "该面板包含的图像正使用以下功能:", + "move": "移动", + "menuItemAutoAdd": "自动添加到该面板", + "myBoard": "我的面板", + "searchBoard": "检索面板...", + "noMatching": "没有相匹配的面板", + "selectBoard": "选择一个面板", + "cancel": "取消", + "addBoard": "添加面板", + "bottomMessage": "删除该面板并且将其对应的图像将重置当前使用该面板的所有功能。", + "uncategorized": "未分类", + "changeBoard": "更改面板", + "loading": "加载中...", + "clearSearch": "清除检索" + }, + "embedding": { + "noMatchingEmbedding": "不匹配的 Embedding", + "addEmbedding": "添加 Embedding", + "incompatibleModel": "不兼容的基础模型:" + }, + "dynamicPrompts": { + "seedBehaviour": { + "perPromptDesc": "每次生成图像使用不同的种子", + "perIterationLabel": "每次迭代的种子", + "perIterationDesc": "每次迭代使用不同的种子", + "perPromptLabel": "每张图像的种子", + "label": "种子行为" + }, + "enableDynamicPrompts": "启用动态提示词", + "combinatorial": "组合生成", + "maxPrompts": "最大提示词数", + "dynamicPrompts": "动态提示词", + "promptsWithCount_other": "{{count}} 个提示词" + }, + "popovers": { + "compositingMaskAdjustments": { + "heading": "遮罩调整", + "paragraphs": [ + "调整遮罩。" + ] + }, + "paramRatio": { + "heading": "纵横比", + "paragraphs": [ + "生成图像的尺寸纵横比。", + "图像尺寸(单位:像素)建议 SD 1.5 模型使用等效 512x512 的尺寸,SDXL 模型使用等效 1024x1024 的尺寸。" + ] + }, + "compositingCoherenceSteps": { + "heading": "步数", + "paragraphs": [ + "一致性层中使用的去噪步数。", + "与主参数中的步数相同。" + ] + }, + "compositingBlur": { + "heading": "模糊", + "paragraphs": [ + "遮罩模糊半径。" + ] + }, + "noiseUseCPU": { + "heading": "使用 CPU 噪声", + "paragraphs": [ + "选择由 CPU 或 GPU 生成噪声。", + "启用 CPU 噪声后,特定的种子将会在不同的设备上产生下相同的图像。", + "启用 CPU 噪声不会对性能造成影响。" + ] + }, + "paramVAEPrecision": { + "heading": "VAE 精度", + "paragraphs": [ + "VAE 编解码过程种使用的精度。FP16/半精度以微小的图像变化为代价提高效率。" + ] + }, + "compositingCoherenceMode": { + "heading": "模式", + "paragraphs": [ + "一致性层模式。" + ] + }, + "controlNetResizeMode": { + "heading": "缩放模式", + "paragraphs": [ + "ControlNet 输入图像适应输出图像大小的方法。" + ] + }, + "clipSkip": { + "paragraphs": [ + "选择要跳过 CLIP 模型多少层。", + "部分模型跳过特定数值的层时效果会更好。", + "较高的数值通常会导致图像细节更少。" + ], + "heading": "CLIP 跳过层" + }, + "paramModel": { + "heading": "模型", + "paragraphs": [ + "用于去噪过程的模型。", + "不同的模型一般会通过接受训练来专门产生特定的美学内容和结果。" + ] + }, + "paramIterations": { + "heading": "迭代数", + "paragraphs": [ + "生成图像的数量。", + "若启用动态提示词,每种提示词都会生成这么多次。" + ] + }, + "compositingCoherencePass": { + "heading": "一致性层", + "paragraphs": [ + "第二轮去噪有助于合成内补/外扩图像。" + ] + }, + "compositingStrength": { + "heading": "强度", + "paragraphs": [ + "一致性层使用的去噪强度。", + "去噪强度与图生图的参数相同。" + ] + }, + "paramNegativeConditioning": { + "paragraphs": [ + "生成过程会避免生成负向提示词中的概念。使用此选项来使输出排除部分质量或对象。", + "支持 Compel 语法 和 embeddings。" + ], + "heading": "负向提示词" + }, + "compositingBlurMethod": { + "heading": "模糊方式", + "paragraphs": [ + "应用于遮罩区域的模糊方法。" + ] + }, + "paramScheduler": { + "heading": "调度器", + "paragraphs": [ + "调度器定义如何在图像迭代过程中添加噪声,或者定义如何根据一个模型的输出来更新采样。" + ] + }, + "controlNetWeight": { + "heading": "权重", + "paragraphs": [ + "ControlNet 对生成图像的影响强度。" + ] + }, + "paramCFGScale": { + "heading": "CFG 等级", + "paragraphs": [ + "控制提示词对生成过程的影响程度。" + ] + }, + "paramSteps": { + "heading": "步数", + "paragraphs": [ + "每次生成迭代执行的步数。", + "通常情况下步数越多结果越好,但需要更多生成时间。" + ] + }, + "paramPositiveConditioning": { + "heading": "正向提示词", + "paragraphs": [ + "引导生成过程。您可以使用任何单词或短语。", + "Compel 语法、动态提示词语法和 embeddings。" + ] + }, + "lora": { + "heading": "LoRA 权重", + "paragraphs": [ + "更高的 LoRA 权重会对最终图像产生更大的影响。" + ] + }, + "infillMethod": { + "heading": "填充方法", + "paragraphs": [ + "填充选定区域的方式。" + ] + }, + "controlNetBeginEnd": { + "heading": "开始 / 结束步数百分比", + "paragraphs": [ + "去噪过程中在哪部分步数应用 ControlNet。", + "在组合处理开始阶段应用 ControlNet,且在引导细节生成的结束阶段应用 ControlNet。" + ] + }, + "scaleBeforeProcessing": { + "heading": "处理前缩放", + "paragraphs": [ + "生成图像前将所选区域缩放为最适合模型的大小。" + ] + }, + "paramDenoisingStrength": { + "heading": "去噪强度", + "paragraphs": [ + "为输入图像添加的噪声量。", + "输入 0 会导致结果图像和输入完全相同,输入 1 则会生成全新的图像。" + ] + }, + "paramSeed": { + "heading": "种子", + "paragraphs": [ + "控制用于生成的起始噪声。", + "禁用 “随机种子” 来以相同设置生成相同的结果。" + ] + }, + "controlNetControlMode": { + "heading": "控制模式", + "paragraphs": [ + "给提示词或 ControlNet 增加更大的权重。" + ] + }, + "dynamicPrompts": { + "paragraphs": [ + "动态提示词可将单个提示词解析为多个。", + "基本语法示例:\"a {red|green|blue} ball\"。这会产生三种提示词:\"a red ball\", \"a green ball\" 和 \"a blue ball\"。", + "可以在单个提示词中多次使用该语法,但务必请使用最大提示词设置来控制生成的提示词数量。" + ], + "heading": "动态提示词" + }, + "paramVAE": { + "paragraphs": [ + "用于将 AI 输出转换成最终图像的模型。" + ] + }, + "dynamicPromptsSeedBehaviour": { + "paragraphs": [ + "控制生成提示词时种子的使用方式。", + "每次迭代过程都会使用一个唯一的种子。使用本选项来探索单个种子的提示词变化。", + "例如,如果你有 5 种提示词,则生成的每个图像都会使用相同种子。", + "为每张图像使用独立的唯一种子。这可以提供更多变化。" + ], + "heading": "种子行为" + }, + "dynamicPromptsMaxPrompts": { + "heading": "最大提示词数量", + "paragraphs": [ + "限制动态提示词可生成的提示词数量。" + ] + }, + "controlNet": { + "paragraphs": [ + "ControlNet 为生成过程提供引导,为生成具有受控构图、结构、样式的图像提供帮助,具体的功能由所选的模型决定。" + ] + } + }, + "invocationCache": { + "disable": "禁用", + "misses": "缓存未中", + "enableFailed": "启用调用缓存时出现问题", + "invocationCache": "调用缓存", + "clearSucceeded": "调用缓存已清除", + "enableSucceeded": "调用缓存已启用", + "clearFailed": "清除调用缓存时出现问题", + "hits": "缓存命中", + "disableSucceeded": "调用缓存已禁用", + "disableFailed": "禁用调用缓存时出现问题", + "enable": "启用", + "clear": "清除", + "maxCacheSize": "最大缓存大小", + "cacheSize": "缓存大小" } } From e543db5a5d1a85d24ad4faea5347ee784314d66b Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:45:10 +0000 Subject: [PATCH 39/70] translationBot(ui): update translation files Updated by "Remove blank strings" hook in Weblate. translationBot(ui): update translation files Updated by "Remove blank strings" hook in Weblate. translationBot(ui): update translation files Updated by "Remove blank strings" hook in Weblate. translationBot(ui): update translation files Updated by "Remove blank strings" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 3 +-- invokeai/frontend/web/public/locales/zh_CN.json | 4 ---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index baa70c26be..c0f309320d 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -87,8 +87,7 @@ "learnMore": "Per saperne di più", "ipAdapter": "Adattatore IP", "t2iAdapter": "Adattatore T2I", - "controlAdapter": "Adattatore di Controllo", - "controlNet": "" + "controlAdapter": "Adattatore di Controllo" }, "gallery": { "generations": "Generazioni", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index 6924a86d89..a598f555ac 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -388,7 +388,6 @@ "modelThree": "模型 3", "v2_768": "v2 (768px)", "mergedModelName": "合并的模型名称", - "alpha": "", "allModels": "全部模型", "convertToDiffusers": "转换为 Diffusers", "formMessageDiffusersModelLocation": "Diffusers 模型路径", @@ -452,7 +451,6 @@ "modelsMergeFailed": "模型融合失败", "baseModel": "基底模型", "convertingModelBegin": "模型转换中. 请稍候.", - "vae": "", "noModels": "未找到模型", "predictionType": "预测类型(适用于 Stable Diffusion 2.x 模型和部分 Stable Diffusion 1.x 模型)", "quickAdd": "快速添加", @@ -613,7 +611,6 @@ "showAdvancedOptions": "显示进阶选项", "favoriteSchedulers": "采样算法偏好", "autoChangeDimensions": "更改时将宽/高更新为模型默认值", - "beta": "", "experimental": "实验性" }, "toast": { @@ -666,7 +663,6 @@ "nodesLoadedFailed": "节点图加载失败", "modelAddedSimple": "已添加模型", "modelAdded": "已添加模型: {{modelName}}", - "baseModelChangedCleared_other": "", "imageSavingFailed": "图像保存失败", "canvasSentControlnetAssets": "画布已发送到 ControlNet & 素材", "problemCopyingCanvasDesc": "无法导出基础层", From a49b8febed13c4c8290d60e775024a29bf733d3a Mon Sep 17 00:00:00 2001 From: Surisen Date: Thu, 12 Oct 2023 12:45:12 +0000 Subject: [PATCH 40/70] translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 98.0% (1186 of 1210 strings) translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 98.0% (1179 of 1203 strings) translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 97.9% (1175 of 1199 strings) Co-authored-by: Surisen Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/ Translation: InvokeAI/Web UI --- .../frontend/web/public/locales/zh_CN.json | 125 ++++++++++++++---- 1 file changed, 99 insertions(+), 26 deletions(-) diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index a598f555ac..d91bf0b4bb 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -84,7 +84,11 @@ "lightMode": "浅色模式", "learnMore": "了解更多", "darkMode": "深色模式", - "advanced": "高级" + "advanced": "高级", + "t2iAdapter": "T2I Adapter", + "ipAdapter": "IP Adapter", + "controlAdapter": "Control Adapter", + "controlNet": "ControlNet" }, "gallery": { "generations": "生成的图像", @@ -112,7 +116,10 @@ "currentlyInUse": "该图像目前在以下功能中使用:", "copy": "复制", "download": "下载", - "setCurrentImage": "设为当前图像" + "setCurrentImage": "设为当前图像", + "preparingDownload": "准备下载", + "preparingDownloadFailed": "准备下载时出现问题", + "downloadSelection": "下载所选内容" }, "hotkeys": { "keyboardShortcuts": "键盘快捷键", @@ -460,7 +467,12 @@ "closeAdvanced": "关闭高级", "modelType": "模型类别", "customConfigFileLocation": "自定义配置文件目录", - "variant": "变体" + "variant": "变体", + "onnxModels": "Onnx", + "vae": "VAE", + "oliveModels": "Olive", + "loraModels": "LoRA", + "alpha": "Alpha" }, "parameters": { "images": "图像", @@ -513,8 +525,8 @@ "info": "信息", "initialImage": "初始图像", "showOptionsPanel": "显示侧栏浮窗 (O 或 T)", - "seamlessYAxis": "Y轴", - "seamlessXAxis": "X轴", + "seamlessYAxis": "Y 轴", + "seamlessXAxis": "X 轴", "boundingBoxWidth": "边界框宽度", "boundingBoxHeight": "边界框高度", "denoisingStrength": "去噪强度", @@ -559,9 +571,9 @@ "addingImagesTo": "添加图像到", "noPrompts": "没有已生成的提示词", "readyToInvoke": "准备调用", - "noControlImageForControlAdapter": "Control Adapter {{number}} 没有控制图像", - "noModelForControlAdapter": "Control Adapter {{number}} 没有选择模型。", - "incompatibleBaseModelForControlAdapter": "Control Adapter {{number}} 与主模型不匹配。" + "noControlImageForControlAdapter": "有 #{{number}} 个 Control Adapter 缺失控制图像", + "noModelForControlAdapter": "有 #{{number}} 个 Control Adapter 没有选择模型。", + "incompatibleBaseModelForControlAdapter": "有 #{{number}} 个 Control Adapter 模型与主模型不匹配。" }, "patchmatchDownScaleSize": "缩小", "coherenceSteps": "步数", @@ -611,7 +623,15 @@ "showAdvancedOptions": "显示进阶选项", "favoriteSchedulers": "采样算法偏好", "autoChangeDimensions": "更改时将宽/高更新为模型默认值", - "experimental": "实验性" + "experimental": "实验性", + "beta": "Beta", + "clearIntermediates": "清除中间产物", + "clearIntermediatesDesc3": "您图库中的图像不会被删除。", + "clearIntermediatesDesc2": "中间产物图像是生成过程中产生的副产品,与图库中的结果图像不同。清除中间产物可释放磁盘空间。", + "intermediatesCleared_other": "已清除 {{number}} 个中间产物", + "clearIntermediatesDesc1": "清除中间产物会重置您的画布和 ControlNet 状态。", + "intermediatesClearedFailed": "清除中间产物时出现问题", + "noIntermediates": "没有可清除的中间产物" }, "toast": { "tempFoldersEmptied": "临时文件夹已清空", @@ -635,8 +655,8 @@ "seedNotSet": "种子未设定", "seedNotSetDesc": "无法找到该图像的种子。", "promptSet": "提示词已设定", - "promptNotSet": "提示未设定", - "promptNotSetDesc": "无法找到该图像的提示。", + "promptNotSet": "提示词未设定", + "promptNotSetDesc": "无法找到该图像的提示词。", "upscalingFailed": "放大失败", "faceRestoreFailed": "面部修复失败", "metadataLoadFailed": "加载元数据失败", @@ -693,7 +713,8 @@ "maskSentControlnetAssets": "遮罩已发送到 ControlNet & 素材", "canvasSavedGallery": "画布已保存到图库", "imageUploadFailed": "图像上传失败", - "problemImportingMask": "导入遮罩时出现问题" + "problemImportingMask": "导入遮罩时出现问题", + "baseModelChangedCleared_other": "基础模型已更改, 已清除或禁用 {{number}} 个不兼容的子模型" }, "unifiedCanvas": { "layer": "图层", @@ -789,8 +810,8 @@ }, "tooltip": { "feature": { - "prompt": "这是提示词区域。提示词包括生成对象和风格术语。您也可以在提示中添加权重(Token 的重要性),但命令行命令和参数不起作用。", - "imageToImage": "图生图模式加载任何图像作为初始图像,然后与提示一起用于生成新图像。值越高,结果图像的变化就越大。可能的值为 0.0 到 1.0,建议的范围是 0.25 到 0.75", + "prompt": "这是提示词区域。提示词包括生成对象和风格术语。您也可以在提示词中添加权重(Token 的重要性),但命令行命令和参数不起作用。", + "imageToImage": "图生图模式加载任何图像作为初始图像,然后与提示词一起用于生成新图像。值越高,结果图像的变化就越大。可能的值为 0.0 到 1.0,建议的范围是 0.25 到 0.75", "upscale": "使用 ESRGAN 可以在图片生成后立即放大图片。", "variations": "尝试将变化值设置在 0.1 到 1.0 之间,以更改给定种子的结果。种子的变化在 0.1 到 0.3 之间会很有趣。", "boundingBox": "边界框的高和宽的设定对文生图和图生图模式是一样的,只有边界框中的区域会被处理。", @@ -875,7 +896,7 @@ "loadingNodes": "加载节点中...", "snapToGridHelp": "移动时将节点与网格对齐", "workflowSettings": "工作流编辑器设置", - "booleanPolymorphicDescription": "布尔集合。", + "booleanPolymorphicDescription": "一个布尔值合集。", "scheduler": "调度器", "inputField": "输入", "controlFieldDescription": "节点间传递的控制信息。", @@ -891,14 +912,14 @@ "maybeIncompatible": "可能与已安装的不兼容", "collectionDescription": "待办事项", "skippingReservedFieldType": "跳过保留类型", - "booleanCollectionDescription": "布尔集合。", + "booleanCollectionDescription": "一个布尔值合集。", "sDXLMainModelFieldDescription": "SDXL 模型。", "boardField": "面板", "problemReadingWorkflow": "从图像读取工作流时出现问题", "sourceNode": "源节点", "nodeOpacity": "节点不透明度", "collectionItemDescription": "待办事项", - "integerDescription": "整数 (Integer) 是没有与小数点的数字。", + "integerDescription": "整数是没有与小数点的数字。", "outputField": "输出", "skipped": "跳过", "updateNode": "更新节点", @@ -957,7 +978,32 @@ "cannotDuplicateConnection": "无法创建重复的连接", "ipAdapterModel": "IP-Adapter 模型", "ipAdapterDescription": "图像提示词自适应 (IP-Adapter)。", - "ipAdapterModelDescription": "IP-Adapter 模型" + "ipAdapterModelDescription": "IP-Adapter 模型", + "floatCollectionDescription": "一个浮点数合集。", + "enum": "Enum (枚举)", + "integerPolymorphicDescription": "一个整数值合集。", + "float": "浮点", + "integer": "整数", + "colorField": "颜色", + "stringCollectionDescription": "一个字符串合集。", + "stringCollection": "字符串合集", + "uNetField": "UNet", + "integerCollection": "整数合集", + "vaeModelField": "VAE", + "integerCollectionDescription": "一个整数值合集。", + "clipField": "Clip", + "stringDescription": "字符串是指文本。", + "colorCollection": "一个颜色合集。", + "boolean": "布尔值", + "stringPolymorphicDescription": "一个字符串合集。", + "controlField": "控制信息", + "floatPolymorphicDescription": "一个浮点数合集。", + "vaeField": "Vae", + "floatCollection": "浮点合集", + "booleanCollection": "布尔值合集", + "imageCollectionDescription": "一个图像合集。", + "loRAModelField": "LoRA", + "imageCollection": "图像合集" }, "controlnet": { "resize": "直接缩放", @@ -973,7 +1019,7 @@ "mlsdDescription": "简洁的分割线段(直线)检测器", "duplicate": "复制", "balanced": "平衡", - "prompt": "提示词", + "prompt": "Prompt (提示词控制)", "depthMidasDescription": "使用 Midas 生成深度图", "openPoseDescription": "使用 Openpose 进行人体姿态估计", "resizeMode": "缩放模式", @@ -998,7 +1044,7 @@ "toggleControlNet": "开关此 ControlNet", "delete": "删除", "colorMapTileSize": "分块大小", - "ipAdapterImageFallback": "无选中的 IP Adapter 图像", + "ipAdapterImageFallback": "无已选择的 IP Adapter 图像", "mediapipeFaceDescription": "使用 Mediapipe 检测面部", "depthZoeDescription": "使用 Zoe 生成深度图", "hedDescription": "整体嵌套边缘检测", @@ -1020,7 +1066,30 @@ "addIPAdapter": "添加 $t(common.ipAdapter)", "safe": "保守模式", "scribble": "草绘 (scribble)", - "maxFaces": "最大面部数" + "maxFaces": "最大面部数", + "pidi": "PIDI", + "normalBae": "Normal BAE", + "hed": "HED", + "contentShuffle": "Content Shuffle", + "f": "F", + "h": "H", + "controlnet": "$t(controlnet.controlAdapter) #{{number}} ($t(common.controlNet))", + "control": "Control (普通控制)", + "coarse": "Coarse", + "depthMidas": "Depth (Midas)", + "w": "W", + "ip_adapter": "$t(controlnet.controlAdapter) #{{number}} ($t(common.ipAdapter))", + "mediapipeFace": "Mediapipe Face", + "mlsd": "M-LSD", + "lineart": "Lineart", + "t2i_adapter": "$t(controlnet.controlAdapter) #{{number}} ($t(common.t2iAdapter))", + "megaControl": "Mega Control (超级控制)", + "depthZoe": "Depth (Zoe)", + "colorMap": "Color", + "openPose": "Openpose", + "controlAdapter": "Control Adapter", + "lineartAnime": "Lineart Anime", + "canny": "Canny" }, "queue": { "status": "状态", @@ -1096,7 +1165,8 @@ "concatPromptStyle": "连接提示词 & 样式", "loading": "加载中...", "steps": "步数", - "posStylePrompt": "正向样式提示词" + "posStylePrompt": "正向样式提示词", + "refiner": "Refiner" }, "metadata": { "positivePrompt": "正向提示词", @@ -1148,7 +1218,8 @@ "uncategorized": "未分类", "changeBoard": "更改面板", "loading": "加载中...", - "clearSearch": "清除检索" + "clearSearch": "清除检索", + "downloadBoard": "下载面板" }, "embedding": { "noMatchingEmbedding": "不匹配的 Embedding", @@ -1273,7 +1344,7 @@ "paramScheduler": { "heading": "调度器", "paragraphs": [ - "调度器定义如何在图像迭代过程中添加噪声,或者定义如何根据一个模型的输出来更新采样。" + "调度器 (采样器) 定义如何在图像迭代过程中添加噪声,或者定义如何根据一个模型的输出来更新采样。" ] }, "controlNetWeight": { @@ -1358,7 +1429,8 @@ "paramVAE": { "paragraphs": [ "用于将 AI 输出转换成最终图像的模型。" - ] + ], + "heading": "VAE" }, "dynamicPromptsSeedBehaviour": { "paragraphs": [ @@ -1378,7 +1450,8 @@ "controlNet": { "paragraphs": [ "ControlNet 为生成过程提供引导,为生成具有受控构图、结构、样式的图像提供帮助,具体的功能由所选的模型决定。" - ] + ], + "heading": "ControlNet" } }, "invocationCache": { From 5b2ed4ffb4e4541ed07f4699a09eb78c87f2a45e Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 12 Oct 2023 12:45:13 +0000 Subject: [PATCH 41/70] translationBot(ui): update translation files Updated by "Cleanup translation files" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 3 +-- invokeai/frontend/web/public/locales/zh_CN.json | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index c0f309320d..3cf61229dd 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -632,8 +632,7 @@ "intermediatesCleared_many": "Cancellate {{number}} immagini intermedie", "intermediatesCleared_other": "", "clearIntermediatesDesc1": "La cancellazione delle immagini intermedie ripristinerà lo stato di Tela Unificata e ControlNet.", - "intermediatesClearedFailed": "Problema con la cancellazione delle immagini intermedie", - "noIntermediates": "Nessuna immagine intermedia da cancellare" + "intermediatesClearedFailed": "Problema con la cancellazione delle immagini intermedie" }, "toast": { "tempFoldersEmptied": "Cartella temporanea svuotata", diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index d91bf0b4bb..7299584b54 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -630,8 +630,7 @@ "clearIntermediatesDesc2": "中间产物图像是生成过程中产生的副产品,与图库中的结果图像不同。清除中间产物可释放磁盘空间。", "intermediatesCleared_other": "已清除 {{number}} 个中间产物", "clearIntermediatesDesc1": "清除中间产物会重置您的画布和 ControlNet 状态。", - "intermediatesClearedFailed": "清除中间产物时出现问题", - "noIntermediates": "没有可清除的中间产物" + "intermediatesClearedFailed": "清除中间产物时出现问题" }, "toast": { "tempFoldersEmptied": "临时文件夹已清空", From 52274087f3ce7253137feb6ebd9de9b603eff6bd Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 12 Oct 2023 21:23:29 -0400 Subject: [PATCH 42/70] close #4536 --- invokeai/app/api/routers/models.py | 1 + invokeai/backend/install/model_install_backend.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/invokeai/app/api/routers/models.py b/invokeai/app/api/routers/models.py index ebc40f5ce5..cb0832735b 100644 --- a/invokeai/app/api/routers/models.py +++ b/invokeai/app/api/routers/models.py @@ -152,6 +152,7 @@ async def import_model( ) -> ImportModelResponse: """Add a model using its local path, repo_id, or remote URL. Model characteristics will be probed and configured automatically""" + location = location.strip() items_to_import = {location} prediction_types = {x.value: x for x in SchedulerPredictionType} logger = ApiDependencies.invoker.services.logger diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index 1481300c77..bd26a7aa07 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -236,9 +236,16 @@ class ModelInstall(object): if not models_installed: models_installed = dict() + model_path_id_or_url = str(model_path_id_or_url).strip() + # A little hack to allow nested routines to retrieve info on the requested ID self.current_id = model_path_id_or_url path = Path(model_path_id_or_url) + + # fix relative paths + if path.exists() and not path.is_absolute(): + path = path.absolute() # make relative to current WD + # checkpoint file, or similar if path.is_file(): models_installed.update({str(path): self._install_path(path)}) From 21d5969942c2ed28cef2c9e47d1fb1d64fb49564 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 12 Oct 2023 22:35:02 -0400 Subject: [PATCH 43/70] strip leading and trailing quotes as well as whitespace --- invokeai/app/api/routers/models.py | 2 +- invokeai/backend/install/model_install_backend.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/app/api/routers/models.py b/invokeai/app/api/routers/models.py index cb0832735b..a7b1f81252 100644 --- a/invokeai/app/api/routers/models.py +++ b/invokeai/app/api/routers/models.py @@ -152,7 +152,7 @@ async def import_model( ) -> ImportModelResponse: """Add a model using its local path, repo_id, or remote URL. Model characteristics will be probed and configured automatically""" - location = location.strip() + location = location.strip("\"' ") items_to_import = {location} prediction_types = {x.value: x for x in SchedulerPredictionType} logger = ApiDependencies.invoker.services.logger diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index bd26a7aa07..9224f5c8b2 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -236,7 +236,7 @@ class ModelInstall(object): if not models_installed: models_installed = dict() - model_path_id_or_url = str(model_path_id_or_url).strip() + model_path_id_or_url = str(model_path_id_or_url).strip("\"' ") # A little hack to allow nested routines to retrieve info on the requested ID self.current_id = model_path_id_or_url From 15cabc4968ce094f504148e64249c5e6198af282 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 12 Oct 2023 22:23:08 -0400 Subject: [PATCH 44/70] Possibly closes #4815 --- invokeai/backend/model_management/model_manager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 7bb188cb4e..bdc9a6c6bb 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -986,6 +986,8 @@ class ModelManager(object): for model_path in models_dir.iterdir(): if model_path not in loaded_files: # TODO: check + if model_path.name.startswith("."): + continue model_name = model_path.name if model_path.is_dir() else model_path.stem model_key = self.create_key(model_name, cur_base_model, cur_model_type) From fcba4382b249bf4527863de804d86719be91a17c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Fri, 13 Oct 2023 12:49:24 -0400 Subject: [PATCH 45/70] upload to pypi whenever a branch starting with "release/" is released --- .github/workflows/pypi-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pypi-release.yml b/.github/workflows/pypi-release.yml index 9e58fb3ae0..5b7d2cd2fa 100644 --- a/.github/workflows/pypi-release.yml +++ b/.github/workflows/pypi-release.yml @@ -28,7 +28,7 @@ jobs: run: twine check dist/* - name: check PyPI versions - if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/v2.3' || github.ref == 'refs/heads/v3.3.0post1' + if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/') run: | pip install --upgrade requests python -c "\ From 40a568c06094c4b9856db2737c0afea54314771f Mon Sep 17 00:00:00 2001 From: glibesyck <71762371+glibesyck@users.noreply.github.com> Date: Sat, 14 Oct 2023 13:25:07 +0300 Subject: [PATCH 46/70] Hide Metadata in Info View (#4787) * #4665 hides value of the corresponding metadata item by click on arrow * #4787 return recall button back:) * #4787 optional hide of metadata item, truncation and scrolling * remove unused import * #4787 recall parameters as separate tab in panel * #4787 remove debug code * fix(ui): undo changes to dist/locales/en.json This file is autogenerated by our translation system and shouldn't be modified directly * feat(ui): use scrollbar-enabled component for parameter recall tab * fix(ui): revert unnecessary changes to DataViewer component --------- Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> --- invokeai/frontend/web/public/locales/en.json | 2 ++ .../ImageMetadataViewer.tsx | 20 ++++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index e0baefcf9e..dd96193d5d 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -559,8 +559,10 @@ "negativePrompt": "Negative Prompt", "noImageDetails": "No image details found", "noMetaData": "No metadata found", + "noRecallParameters": "No parameters to recall found", "perlin": "Perlin Noise", "positivePrompt": "Positive Prompt", + "recallParameters": "Recall Parameters", "scheduler": "Scheduler", "seamless": "Seamless", "seed": "Seed", diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataViewer.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataViewer.tsx index 8c7e69b2b1..e9cb3ffcaf 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataViewer.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataViewer.tsx @@ -18,6 +18,7 @@ import ImageMetadataActions from './ImageMetadataActions'; import { useAppSelector } from '../../../../app/store/storeHooks'; import { configSelector } from '../../../system/store/configSelectors'; import { useTranslation } from 'react-i18next'; +import ScrollableContent from 'features/nodes/components/sidePanel/ScrollableContent'; type ImageMetadataViewerProps = { image: ImageDTO; @@ -65,19 +66,32 @@ const ImageMetadataViewer = ({ image }: ImageMetadataViewerProps) => { - - + {t('metadata.recallParameters')} {t('metadata.metadata')} {t('metadata.imageDetails')} {t('metadata.workflow')} + + {metadata ? ( + + + + ) : ( + + )} + {metadata ? ( From 75663ec81e9ca0f6d11619027e12188f5e62ce63 Mon Sep 17 00:00:00 2001 From: Paul Curry Date: Sat, 14 Oct 2023 03:34:41 -0700 Subject: [PATCH 47/70] feat (ui, generation): High Resolution Fix MVP in Text2Image Linear Flow (#4819) * added HrfScale type with initial value * working * working * working * working * working * added addHrfToGraph * continueing to implement this * working on this * comments * working * made hrf into its own collapse * working on adding strength slider * working * working * refactoring * working * change of this working: 0 * removed onnx support since apparently its not used * working * made scale integer * trying out psycicpebbles idea * working * working on this * working * added toggle * comments * self review * fixing things * remove 'any' type * fixing typing * changed initial strength value to 3 (large values cause issues) * set denoising start to be 1 - strength to resemble image to image * set initial value * added image to image * pr1 * pr2 * updating to resolution finding * working * working * working * working * working * working * working * working * working * use memo * connect rescale hw to noise * working * fixed min bug * nit * hides elements conditionally * style * feat(ui): add config for HRF, disable if feature disabled or ONNX model in use * fix(ui): use `useCallback` for HRF toggle --------- Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> --- invokeai/app/invocations/metadata.py | 12 + .../frontend/web/src/app/types/invokeai.ts | 11 +- .../IAIInformationalPopover/constants.ts | 1 + .../nodes/util/graphBuilders/addHrfToGraph.ts | 247 ++++++++++++++++++ .../util/graphBuilders/addSaveImageNode.ts | 9 + .../buildLinearTextToImageGraph.ts | 14 + .../nodes/util/graphBuilders/constants.ts | 4 + .../HighResFix/ParamHrfCollapse.tsx | 65 +++++ .../Parameters/HighResFix/ParamHrfHeight.tsx | 87 ++++++ .../HighResFix/ParamHrfStrength.tsx | 64 +++++ .../Parameters/HighResFix/ParamHrfToggle.tsx | 27 ++ .../Parameters/HighResFix/ParamHrfWidth.tsx | 84 ++++++ .../parameters/store/generationSlice.ts | 24 ++ .../parameters/types/parameterSchemas.ts | 9 + .../src/features/system/store/configSlice.ts | 8 + .../TextToImage/TextToImageTabParameters.tsx | 2 + .../frontend/web/src/services/api/schema.d.ts | 15 ++ .../frontend/web/src/services/api/types.ts | 1 + 18 files changed, 683 insertions(+), 1 deletion(-) create mode 100644 invokeai/frontend/web/src/features/nodes/util/graphBuilders/addHrfToGraph.ts create mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfCollapse.tsx create mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfHeight.tsx create mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfStrength.tsx create mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfToggle.tsx create mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfWidth.tsx diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index 54e385feb3..cecc01096a 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -156,6 +156,18 @@ class MetadataAccumulatorInvocation(BaseInvocation): description="The VAE used for decoding, if the main model's default was not used", ) + # High resolution fix metadata. + hrf_width: Optional[int] = InputField( + description="The high resolution fix height and width multipler.", + ) + hrf_height: Optional[int] = InputField( + description="The high resolution fix height and width multipler.", + ) + hrf_strength: Optional[float] = InputField( + default=None, + description="The high resolution fix img2img strength used in the upscale pass.", + ) + # SDXL positive_style_prompt: Optional[str] = InputField( default=None, diff --git a/invokeai/frontend/web/src/app/types/invokeai.ts b/invokeai/frontend/web/src/app/types/invokeai.ts index 8331e9c979..39e4ffd27a 100644 --- a/invokeai/frontend/web/src/app/types/invokeai.ts +++ b/invokeai/frontend/web/src/app/types/invokeai.ts @@ -39,7 +39,8 @@ export type SDFeature = | 'hires' | 'lora' | 'embedding' - | 'vae'; + | 'vae' + | 'hrf'; /** * Configuration options for the InvokeAI UI. @@ -110,6 +111,14 @@ export type AppConfig = { fineStep: number; coarseStep: number; }; + hrfStrength: { + initial: number; + min: number; + sliderMax: number; + inputMax: number; + fineStep: number; + coarseStep: number; + }; dynamicPrompts: { maxPrompts: { initial: number; diff --git a/invokeai/frontend/web/src/common/components/IAIInformationalPopover/constants.ts b/invokeai/frontend/web/src/common/components/IAIInformationalPopover/constants.ts index f2398483bf..197f5f4068 100644 --- a/invokeai/frontend/web/src/common/components/IAIInformationalPopover/constants.ts +++ b/invokeai/frontend/web/src/common/components/IAIInformationalPopover/constants.ts @@ -2,6 +2,7 @@ import { PopoverProps } from '@chakra-ui/react'; export type Feature = | 'clipSkip' + | 'hrf' | 'paramNegativeConditioning' | 'paramPositiveConditioning' | 'paramScheduler' diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addHrfToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addHrfToGraph.ts new file mode 100644 index 0000000000..4b4a8a8a03 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addHrfToGraph.ts @@ -0,0 +1,247 @@ +import { RootState } from 'app/store/store'; +import { NonNullableGraph } from 'features/nodes/types/types'; +import { + DenoiseLatentsInvocation, + ResizeLatentsInvocation, + NoiseInvocation, + LatentsToImageInvocation, + Edge, +} from 'services/api/types'; +import { + LATENTS_TO_IMAGE, + DENOISE_LATENTS, + NOISE, + MAIN_MODEL_LOADER, + METADATA_ACCUMULATOR, + LATENTS_TO_IMAGE_HRF, + DENOISE_LATENTS_HRF, + RESCALE_LATENTS, + NOISE_HRF, + VAE_LOADER, +} from './constants'; +import { logger } from 'app/logging/logger'; + +// Copy certain connections from previous DENOISE_LATENTS to new DENOISE_LATENTS_HRF. +function copyConnectionsToDenoiseLatentsHrf(graph: NonNullableGraph): void { + const destinationFields = [ + 'vae', + 'control', + 'ip_adapter', + 'metadata', + 'unet', + 'positive_conditioning', + 'negative_conditioning', + ]; + const newEdges: Edge[] = []; + + // Loop through the existing edges connected to DENOISE_LATENTS + graph.edges.forEach((edge: Edge) => { + if ( + edge.destination.node_id === DENOISE_LATENTS && + destinationFields.includes(edge.destination.field) + ) { + // Add a similar connection to DENOISE_LATENTS_HRF + newEdges.push({ + source: { + node_id: edge.source.node_id, + field: edge.source.field, + }, + destination: { + node_id: DENOISE_LATENTS_HRF, + field: edge.destination.field, + }, + }); + } + }); + graph.edges = graph.edges.concat(newEdges); +} + +// Adds the high-res fix feature to the given graph. +export const addHrfToGraph = ( + state: RootState, + graph: NonNullableGraph +): void => { + // Double check hrf is enabled. + if ( + !state.generation.hrfEnabled || + state.config.disabledSDFeatures.includes('hrf') || + state.generation.model?.model_type === 'onnx' // TODO: ONNX support + ) { + return; + } + const log = logger('txt2img'); + + const { vae } = state.generation; + const isAutoVae = !vae; + const hrfWidth = state.generation.hrfWidth; + const hrfHeight = state.generation.hrfHeight; + + // Pre-existing (original) graph nodes. + const originalDenoiseLatentsNode = graph.nodes[DENOISE_LATENTS] as + | DenoiseLatentsInvocation + | undefined; + const originalNoiseNode = graph.nodes[NOISE] as NoiseInvocation | undefined; + // Original latents to image should pick this up. + const originalLatentsToImageNode = graph.nodes[LATENTS_TO_IMAGE] as + | LatentsToImageInvocation + | undefined; + // Check if originalDenoiseLatentsNode is undefined and log an error + if (!originalDenoiseLatentsNode) { + log.error('originalDenoiseLatentsNode is undefined'); + return; + } + // Check if originalNoiseNode is undefined and log an error + if (!originalNoiseNode) { + log.error('originalNoiseNode is undefined'); + return; + } + + // Check if originalLatentsToImageNode is undefined and log an error + if (!originalLatentsToImageNode) { + log.error('originalLatentsToImageNode is undefined'); + return; + } + // Change height and width of original noise node to initial resolution. + if (originalNoiseNode) { + originalNoiseNode.width = hrfWidth; + originalNoiseNode.height = hrfHeight; + } + + // Define new nodes. + // Denoise latents node to be run on upscaled latents. + const denoiseLatentsHrfNode: DenoiseLatentsInvocation = { + type: 'denoise_latents', + id: DENOISE_LATENTS_HRF, + is_intermediate: originalDenoiseLatentsNode?.is_intermediate, + cfg_scale: originalDenoiseLatentsNode?.cfg_scale, + scheduler: originalDenoiseLatentsNode?.scheduler, + steps: originalDenoiseLatentsNode?.steps, + denoising_start: 1 - state.generation.hrfStrength, + denoising_end: 1, + }; + + // New base resolution noise node. + const hrfNoiseNode: NoiseInvocation = { + type: 'noise', + id: NOISE_HRF, + seed: originalNoiseNode?.seed, + use_cpu: originalNoiseNode?.use_cpu, + is_intermediate: originalNoiseNode?.is_intermediate, + }; + + const rescaleLatentsNode: ResizeLatentsInvocation = { + id: RESCALE_LATENTS, + type: 'lresize', + width: state.generation.width, + height: state.generation.height, + }; + + // New node to convert latents to image. + const latentsToImageHrfNode: LatentsToImageInvocation | undefined = + originalLatentsToImageNode + ? { + type: 'l2i', + id: LATENTS_TO_IMAGE_HRF, + fp32: originalLatentsToImageNode?.fp32, + is_intermediate: originalLatentsToImageNode?.is_intermediate, + } + : undefined; + + // Add new nodes to graph. + graph.nodes[LATENTS_TO_IMAGE_HRF] = + latentsToImageHrfNode as LatentsToImageInvocation; + graph.nodes[DENOISE_LATENTS_HRF] = + denoiseLatentsHrfNode as DenoiseLatentsInvocation; + graph.nodes[NOISE_HRF] = hrfNoiseNode as NoiseInvocation; + graph.nodes[RESCALE_LATENTS] = rescaleLatentsNode as ResizeLatentsInvocation; + + // Connect nodes. + graph.edges.push( + { + // Set up rescale latents. + source: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + destination: { + node_id: RESCALE_LATENTS, + field: 'latents', + }, + }, + // Set up new noise node + { + source: { + node_id: RESCALE_LATENTS, + field: 'height', + }, + destination: { + node_id: NOISE_HRF, + field: 'height', + }, + }, + { + source: { + node_id: RESCALE_LATENTS, + field: 'width', + }, + destination: { + node_id: NOISE_HRF, + field: 'width', + }, + }, + // Set up new denoise node. + { + source: { + node_id: RESCALE_LATENTS, + field: 'latents', + }, + destination: { + node_id: DENOISE_LATENTS_HRF, + field: 'latents', + }, + }, + { + source: { + node_id: NOISE_HRF, + field: 'noise', + }, + destination: { + node_id: DENOISE_LATENTS_HRF, + field: 'noise', + }, + }, + // Set up new latents to image node. + { + source: { + node_id: DENOISE_LATENTS_HRF, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE_HRF, + field: 'latents', + }, + }, + { + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE_HRF, + field: 'metadata', + }, + }, + { + source: { + node_id: isAutoVae ? MAIN_MODEL_LOADER : VAE_LOADER, + field: 'vae', + }, + destination: { + node_id: LATENTS_TO_IMAGE_HRF, + field: 'vae', + }, + } + ); + + copyConnectionsToDenoiseLatentsHrf(graph); +}; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSaveImageNode.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSaveImageNode.ts index 738c69faff..d5a6addf8a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSaveImageNode.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSaveImageNode.ts @@ -2,6 +2,7 @@ import { NonNullableGraph } from 'features/nodes/types/types'; import { CANVAS_OUTPUT, LATENTS_TO_IMAGE, + LATENTS_TO_IMAGE_HRF, METADATA_ACCUMULATOR, NSFW_CHECKER, SAVE_IMAGE, @@ -82,6 +83,14 @@ export const addSaveImageNode = ( }, destination, }); + } else if (LATENTS_TO_IMAGE_HRF in graph.nodes) { + graph.edges.push({ + source: { + node_id: LATENTS_TO_IMAGE_HRF, + field: 'image', + }, + destination, + }); } else if (LATENTS_TO_IMAGE in graph.nodes) { graph.edges.push({ source: { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index c3c7fcdf1b..e692e12fa4 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -6,6 +6,7 @@ import { ONNXTextToLatentsInvocation, } from 'services/api/types'; import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; +import { addHrfToGraph } from './addHrfToGraph'; import { addIPAdapterToLinearGraph } from './addIPAdapterToLinearGraph'; import { addLoRAsToGraph } from './addLoRAsToGraph'; import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; @@ -47,6 +48,10 @@ export const buildLinearTextToImageGraph = ( seamlessXAxis, seamlessYAxis, seed, + hrfWidth, + hrfHeight, + hrfStrength, + hrfEnabled: hrfEnabled, } = state.generation; const use_cpu = shouldUseCpuNoise; @@ -254,6 +259,9 @@ export const buildLinearTextToImageGraph = ( ipAdapters: [], // populated in addIPAdapterToLinearGraph t2iAdapters: [], // populated in addT2IAdapterToLinearGraph clip_skip: clipSkip, + hrf_width: hrfEnabled ? hrfWidth : undefined, + hrf_height: hrfEnabled ? hrfHeight : undefined, + hrf_strength: hrfEnabled ? hrfStrength : undefined, }; graph.edges.push({ @@ -287,6 +295,12 @@ export const buildLinearTextToImageGraph = ( addT2IAdaptersToLinearGraph(state, graph, DENOISE_LATENTS); + // High resolution fix. + // NOTE: Not supported for onnx models. + if (state.generation.hrfEnabled && !isUsingOnnxModel) { + addHrfToGraph(state, graph); + } + // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index e538094731..7d547d09e6 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -2,11 +2,14 @@ export const POSITIVE_CONDITIONING = 'positive_conditioning'; export const NEGATIVE_CONDITIONING = 'negative_conditioning'; export const DENOISE_LATENTS = 'denoise_latents'; +export const DENOISE_LATENTS_HRF = 'denoise_latents_hrf'; export const LATENTS_TO_IMAGE = 'latents_to_image'; +export const LATENTS_TO_IMAGE_HRF = 'latents_to_image_hrf'; export const SAVE_IMAGE = 'save_image'; export const NSFW_CHECKER = 'nsfw_checker'; export const WATERMARKER = 'invisible_watermark'; export const NOISE = 'noise'; +export const NOISE_HRF = 'noise_hrf'; export const RANDOM_INT = 'rand_int'; export const RANGE_OF_SIZE = 'range_of_size'; export const ITERATE = 'iterate'; @@ -18,6 +21,7 @@ export const CLIP_SKIP = 'clip_skip'; export const IMAGE_TO_LATENTS = 'image_to_latents'; export const LATENTS_TO_LATENTS = 'latents_to_latents'; export const RESIZE = 'resize_image'; +export const RESCALE_LATENTS = 'rescale_latents'; export const IMG2IMG_RESIZE = 'img2img_resize'; export const CANVAS_OUTPUT = 'canvas_output'; export const INPAINT_IMAGE = 'inpaint_image'; diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfCollapse.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfCollapse.tsx new file mode 100644 index 0000000000..ef0db1af6d --- /dev/null +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfCollapse.tsx @@ -0,0 +1,65 @@ +import { Flex } from '@chakra-ui/react'; +import { createSelector } from '@reduxjs/toolkit'; +import { RootState, stateSelector } from 'app/store/store'; +import { useAppSelector } from 'app/store/storeHooks'; +import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import IAICollapse from 'common/components/IAICollapse'; +import { useMemo } from 'react'; +import ParamHrfStrength from './ParamHrfStrength'; +import ParamHrfToggle from './ParamHrfToggle'; +import ParamHrfWidth from './ParamHrfWidth'; +import ParamHrfHeight from './ParamHrfHeight'; +import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus'; + +const selector = createSelector( + stateSelector, + (state: RootState) => { + const { hrfEnabled } = state.generation; + + return { hrfEnabled }; + }, + defaultSelectorOptions +); + +export default function ParamHrfCollapse() { + const isHRFFeatureEnabled = useFeatureStatus('hrf').isFeatureEnabled; + const { hrfEnabled } = useAppSelector(selector); + const activeLabel = useMemo(() => { + if (hrfEnabled) { + return 'On'; + } else { + return 'Off'; + } + }, [hrfEnabled]); + + if (!isHRFFeatureEnabled) { + return null; + } + + return ( + + + + {hrfEnabled && ( + + + + + )} + {hrfEnabled && } + + + ); +} diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfHeight.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfHeight.tsx new file mode 100644 index 0000000000..053da11a5a --- /dev/null +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfHeight.tsx @@ -0,0 +1,87 @@ +import { createSelector } from '@reduxjs/toolkit'; +import { stateSelector } from 'app/store/store'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import IAISlider, { IAIFullSliderProps } from 'common/components/IAISlider'; +import { roundToMultiple } from 'common/util/roundDownToMultiple'; +import { + setHrfHeight, + setHrfWidth, +} from 'features/parameters/store/generationSlice'; +import { memo, useCallback } from 'react'; + +function findPrevMultipleOfEight(n: number): number { + return Math.floor((n - 1) / 8) * 8; +} + +const selector = createSelector( + [stateSelector], + ({ generation, hotkeys, config }) => { + const { min, fineStep, coarseStep } = config.sd.height; + const { model, height, hrfHeight, aspectRatio, hrfEnabled } = generation; + + const step = hotkeys.shift ? fineStep : coarseStep; + + return { + model, + height, + hrfHeight, + min, + step, + aspectRatio, + hrfEnabled, + }; + }, + defaultSelectorOptions +); + +type ParamHeightProps = Omit< + IAIFullSliderProps, + 'label' | 'value' | 'onChange' +>; + +const ParamHrfHeight = (props: ParamHeightProps) => { + const { height, hrfHeight, min, step, aspectRatio, hrfEnabled } = + useAppSelector(selector); + const dispatch = useAppDispatch(); + const maxHrfHeight = Math.max(findPrevMultipleOfEight(height), min); + + const handleChange = useCallback( + (v: number) => { + dispatch(setHrfHeight(v)); + if (aspectRatio) { + const newWidth = roundToMultiple(v * aspectRatio, 8); + dispatch(setHrfWidth(newWidth)); + } + }, + [dispatch, aspectRatio] + ); + + const handleReset = useCallback(() => { + dispatch(setHrfHeight(maxHrfHeight)); + if (aspectRatio) { + const newWidth = roundToMultiple(maxHrfHeight * aspectRatio, 8); + dispatch(setHrfWidth(newWidth)); + } + }, [dispatch, maxHrfHeight, aspectRatio]); + + return ( + + ); +}; + +export default memo(ParamHrfHeight); diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfStrength.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfStrength.tsx new file mode 100644 index 0000000000..ba17bc2f36 --- /dev/null +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfStrength.tsx @@ -0,0 +1,64 @@ +import { createSelector } from '@reduxjs/toolkit'; +import { useAppSelector, useAppDispatch } from 'app/store/storeHooks'; +import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import { memo, useCallback } from 'react'; +import { stateSelector } from 'app/store/store'; +import { setHrfStrength } from 'features/parameters/store/generationSlice'; +import IAISlider from 'common/components/IAISlider'; + +const selector = createSelector( + [stateSelector], + ({ generation, hotkeys, config }) => { + const { initial, min, sliderMax, inputMax, fineStep, coarseStep } = + config.sd.hrfStrength; + const { hrfStrength, hrfEnabled } = generation; + const step = hotkeys.shift ? fineStep : coarseStep; + + return { + hrfStrength, + initial, + min, + sliderMax, + inputMax, + step, + hrfEnabled, + }; + }, + defaultSelectorOptions +); + +const ParamHrfStrength = () => { + const { hrfStrength, initial, min, sliderMax, step, hrfEnabled } = + useAppSelector(selector); + const dispatch = useAppDispatch(); + + const handleHrfStrengthReset = useCallback(() => { + dispatch(setHrfStrength(initial)); + }, [dispatch, initial]); + + const handleHrfStrengthChange = useCallback( + (v: number) => { + dispatch(setHrfStrength(v)); + }, + [dispatch] + ); + + return ( + + ); +}; + +export default memo(ParamHrfStrength); diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfToggle.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfToggle.tsx new file mode 100644 index 0000000000..8a68ead652 --- /dev/null +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfToggle.tsx @@ -0,0 +1,27 @@ +import { RootState } from 'app/store/store'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import IAISwitch from 'common/components/IAISwitch'; +import { setHrfEnabled } from 'features/parameters/store/generationSlice'; +import { ChangeEvent, useCallback } from 'react'; + +export default function ParamHrfToggle() { + const dispatch = useAppDispatch(); + + const hrfEnabled = useAppSelector( + (state: RootState) => state.generation.hrfEnabled + ); + + const handleHrfEnabled = useCallback( + (e: ChangeEvent) => + dispatch(setHrfEnabled(e.target.checked)), + [dispatch] + ); + + return ( + + ); +} diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfWidth.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfWidth.tsx new file mode 100644 index 0000000000..09615d5154 --- /dev/null +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/HighResFix/ParamHrfWidth.tsx @@ -0,0 +1,84 @@ +import { createSelector } from '@reduxjs/toolkit'; +import { stateSelector } from 'app/store/store'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import IAISlider, { IAIFullSliderProps } from 'common/components/IAISlider'; +import { roundToMultiple } from 'common/util/roundDownToMultiple'; +import { + setHrfHeight, + setHrfWidth, +} from 'features/parameters/store/generationSlice'; +import { memo, useCallback } from 'react'; + +function findPrevMultipleOfEight(n: number): number { + return Math.floor((n - 1) / 8) * 8; +} + +const selector = createSelector( + [stateSelector], + ({ generation, hotkeys, config }) => { + const { min, fineStep, coarseStep } = config.sd.width; + const { model, width, hrfWidth, aspectRatio, hrfEnabled } = generation; + + const step = hotkeys.shift ? fineStep : coarseStep; + + return { + model, + width, + hrfWidth, + min, + step, + aspectRatio, + hrfEnabled, + }; + }, + defaultSelectorOptions +); + +type ParamWidthProps = Omit; + +const ParamHrfWidth = (props: ParamWidthProps) => { + const { width, hrfWidth, min, step, aspectRatio, hrfEnabled } = + useAppSelector(selector); + const dispatch = useAppDispatch(); + const maxHrfWidth = Math.max(findPrevMultipleOfEight(width), min); + + const handleChange = useCallback( + (v: number) => { + dispatch(setHrfWidth(v)); + if (aspectRatio) { + const newHeight = roundToMultiple(v / aspectRatio, 8); + dispatch(setHrfHeight(newHeight)); + } + }, + [dispatch, aspectRatio] + ); + + const handleReset = useCallback(() => { + dispatch(setHrfWidth(maxHrfWidth)); + if (aspectRatio) { + const newHeight = roundToMultiple(maxHrfWidth / aspectRatio, 8); + dispatch(setHrfHeight(newHeight)); + } + }, [dispatch, maxHrfWidth, aspectRatio]); + + return ( + + ); +}; + +export default memo(ParamHrfWidth); diff --git a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts index 84d26b6476..63d545662a 100644 --- a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts +++ b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts @@ -27,6 +27,10 @@ import { } from '../types/parameterSchemas'; export interface GenerationState { + hrfHeight: HeightParam; + hrfWidth: WidthParam; + hrfEnabled: boolean; + hrfStrength: StrengthParam; cfgScale: CfgScaleParam; height: HeightParam; img2imgStrength: StrengthParam; @@ -69,6 +73,10 @@ export interface GenerationState { } export const initialGenerationState: GenerationState = { + hrfHeight: 64, + hrfWidth: 64, + hrfStrength: 0.75, + hrfEnabled: false, cfgScale: 7.5, height: 512, img2imgStrength: 0.75, @@ -271,6 +279,18 @@ export const generationSlice = createSlice({ setClipSkip: (state, action: PayloadAction) => { state.clipSkip = action.payload; }, + setHrfHeight: (state, action: PayloadAction) => { + state.hrfHeight = action.payload; + }, + setHrfWidth: (state, action: PayloadAction) => { + state.hrfWidth = action.payload; + }, + setHrfStrength: (state, action: PayloadAction) => { + state.hrfStrength = action.payload; + }, + setHrfEnabled: (state, action: PayloadAction) => { + state.hrfEnabled = action.payload; + }, shouldUseCpuNoiseChanged: (state, action: PayloadAction) => { state.shouldUseCpuNoise = action.payload; }, @@ -355,6 +375,10 @@ export const { setSeamlessXAxis, setSeamlessYAxis, setClipSkip, + setHrfHeight, + setHrfWidth, + setHrfStrength, + setHrfEnabled, shouldUseCpuNoiseChanged, setAspectRatio, setShouldLockAspectRatio, diff --git a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts index e548b9aeaf..7a6b6b8a5c 100644 --- a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts +++ b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts @@ -210,6 +210,15 @@ export type HeightParam = z.infer; export const isValidHeight = (val: unknown): val is HeightParam => zHeight.safeParse(val).success; +/** + * Zod schema for resolution parameter + */ +export const zResolution = z.tuple([zWidth, zHeight]); +/** + * Type alias for resolution parameter, inferred from its zod schema + */ +export type ResolutionParam = z.infer; + export const zBaseModel = z.enum([ 'any', 'sd-1', diff --git a/invokeai/frontend/web/src/features/system/store/configSlice.ts b/invokeai/frontend/web/src/features/system/store/configSlice.ts index 30eebab5d5..78d540203b 100644 --- a/invokeai/frontend/web/src/features/system/store/configSlice.ts +++ b/invokeai/frontend/web/src/features/system/store/configSlice.ts @@ -69,6 +69,14 @@ export const initialConfigState: AppConfig = { fineStep: 0.01, coarseStep: 0.05, }, + hrfStrength: { + initial: 0.7, + min: 0, + sliderMax: 1, + inputMax: 1, + fineStep: 0.01, + coarseStep: 0.05, + }, dynamicPrompts: { maxPrompts: { initial: 100, diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTabParameters.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTabParameters.tsx index 0c153fd7eb..8ec8c9caed 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/TextToImage/TextToImageTabParameters.tsx @@ -3,6 +3,7 @@ import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; import ParamAdvancedCollapse from 'features/parameters/components/Parameters/Advanced/ParamAdvancedCollapse'; import ControlAdaptersCollapse from 'features/controlAdapters/components/ControlAdaptersCollapse'; import ParamSymmetryCollapse from 'features/parameters/components/Parameters/Symmetry/ParamSymmetryCollapse'; +import ParamHrfCollapse from 'features/parameters/components/Parameters/HighResFix/ParamHrfCollapse'; import { memo } from 'react'; import ParamPromptArea from '../../../../parameters/components/Parameters/Prompt/ParamPromptArea'; import TextToImageTabCoreParameters from './TextToImageTabCoreParameters'; @@ -16,6 +17,7 @@ const TextToImageTabParameters = () => { + ); diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 6da1fa5154..d71d01e6af 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -6190,6 +6190,21 @@ export type components = { * @description The VAE used for decoding, if the main model's default was not used */ vae?: components["schemas"]["VAEModelField"]; + /** + * High Resolution Fix Width + * @description The high resolution fix height and width multiplier. + */ + hrf_width?: number; + /** + * High Resolution Fix Height + * @description The high resolution fix height and width multiplier. + */ + hrf_height?: number; + /** + * High Resolution Strength + * @description The high resolution fix img2img strength used in the upscale pass. + */ + hrf_strength?: number; /** * Positive Style Prompt * @description The positive style prompt parameter diff --git a/invokeai/frontend/web/src/services/api/types.ts b/invokeai/frontend/web/src/services/api/types.ts index da56d2782f..6fda849b89 100644 --- a/invokeai/frontend/web/src/services/api/types.ts +++ b/invokeai/frontend/web/src/services/api/types.ts @@ -137,6 +137,7 @@ export type CompelInvocation = s['CompelInvocation']; export type DynamicPromptInvocation = s['DynamicPromptInvocation']; export type NoiseInvocation = s['NoiseInvocation']; export type DenoiseLatentsInvocation = s['DenoiseLatentsInvocation']; +export type ResizeLatentsInvocation = s['ResizeLatentsInvocation']; export type ONNXTextToLatentsInvocation = s['ONNXTextToLatentsInvocation']; export type SDXLLoraLoaderInvocation = s['SDXLLoraLoaderInvocation']; export type ImageToLatentsInvocation = s['ImageToLatentsInvocation']; From 48626c40fdbff62b963eb0a4fd742d4484ad5bce Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sat, 14 Oct 2023 20:10:10 +1100 Subject: [PATCH 48/70] fix(backend): handle systems with `glibc` < 2.33 `mallinfo2` is not available on `glibc` < 2.33. On these systems, we successfully load the library but get an `AttributeError` on attempting to access `mallinfo2`. I'm not sure if the old `mallinfo` will work, and not sure how to install it safely to test, so for now we just handle the `AttributeError`. This means the enhanced memory snapshot logic will be skipped for these systems, which isn't a big deal. --- invokeai/backend/model_management/memory_snapshot.py | 6 ++++-- tests/backend/model_management/test_libc_util.py | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/invokeai/backend/model_management/memory_snapshot.py b/invokeai/backend/model_management/memory_snapshot.py index 4f43affcf7..01f1328114 100644 --- a/invokeai/backend/model_management/memory_snapshot.py +++ b/invokeai/backend/model_management/memory_snapshot.py @@ -55,8 +55,10 @@ class MemorySnapshot: try: malloc_info = LibcUtil().mallinfo2() - except OSError: - # This is expected in environments that do not have the 'libc.so.6' shared library. + except (OSError, AttributeError): + # OSError: This is expected in environments that do not have the 'libc.so.6' shared library. + # AttributeError: This is expected in environments that have `libc.so.6` but do not have the `mallinfo2` (e.g. glibc < 2.33) + # TODO: Does `mallinfo` work? malloc_info = None return cls(process_ram, vram, malloc_info) diff --git a/tests/backend/model_management/test_libc_util.py b/tests/backend/model_management/test_libc_util.py index a517db4c90..e13a2fd3a2 100644 --- a/tests/backend/model_management/test_libc_util.py +++ b/tests/backend/model_management/test_libc_util.py @@ -11,7 +11,10 @@ def test_libc_util_mallinfo2(): # TODO: Set the expected result preemptively based on the system properties. pytest.xfail("libc shared library is not available on this system.") - info = libc.mallinfo2() + try: + info = libc.mallinfo2() + except AttributeError: + pytest.xfail("`mallinfo2` is not available on this system, likely due to glibc < 2.33.") assert info.arena > 0 From b4cee46936d9efc0e1b4578e995f9673a02359f1 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Sat, 14 Oct 2023 22:03:51 +0200 Subject: [PATCH 49/70] translationBot(ui): update translation (Italian) Currently translated at 91.4% (1112 of 1216 strings) translationBot(ui): update translation (Italian) Currently translated at 90.4% (1100 of 1216 strings) translationBot(ui): update translation (Italian) Currently translated at 90.4% (1100 of 1216 strings) Co-authored-by: Riccardo Giovanetti Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 94 +++++++++++++++++--- 1 file changed, 84 insertions(+), 10 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index eb6a96b783..3cca8b508f 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -471,7 +471,8 @@ "useCustomConfig": "Utilizza configurazione personalizzata", "closeAdvanced": "Chiudi Avanzate", "modelType": "Tipo di modello", - "customConfigFileLocation": "Posizione del file di configurazione personalizzato" + "customConfigFileLocation": "Posizione del file di configurazione personalizzato", + "vaePrecision": "Precisione VAE" }, "parameters": { "images": "Immagini", @@ -897,7 +898,63 @@ "notesDescription": "Aggiunge note sul tuo flusso di lavoro", "unknownField": "Campo sconosciuto", "unknownNode": "Nodo sconosciuto", - "vaeFieldDescription": "Sotto modello VAE." + "vaeFieldDescription": "Sotto modello VAE.", + "booleanPolymorphicDescription": "Una raccolta di booleani.", + "missingTemplate": "Modello mancante", + "outputSchemaNotFound": "Schema di output non trovato", + "colorFieldDescription": "Un colore RGBA.", + "maybeIncompatible": "Potrebbe essere incompatibile con quello installato", + "noNodeSelected": "Nessun nodo selezionato", + "colorPolymorphic": "Colore polimorfico", + "booleanCollectionDescription": "Una raccolta di booleani.", + "colorField": "Colore", + "nodeTemplate": "Modello di nodo", + "nodeOpacity": "Opacità del nodo", + "pickOne": "Sceglierne uno", + "outputField": "Campo di output", + "nodeSearch": "Cerca nodi", + "nodeOutputs": "Uscite del nodo", + "collectionItem": "Oggetto della raccolta", + "noConnectionInProgress": "Nessuna connessione in corso", + "noConnectionData": "Nessun dato di connessione", + "outputFields": "Campi di output", + "cannotDuplicateConnection": "Impossibile creare connessioni duplicate", + "booleanPolymorphic": "Polimorfico booleano", + "colorPolymorphicDescription": "Una collezione di colori polimorfici.", + "missingCanvaInitImage": "Immagine iniziale della tela mancante", + "clipFieldDescription": "Sottomodelli di tokenizzatore e codificatore di testo.", + "noImageFoundState": "Nessuna immagine iniziale trovata nello stato", + "clipField": "CLIP", + "noMatchingNodes": "Nessun nodo corrispondente", + "noFieldType": "Nessun tipo di campo", + "colorCollection": "Una collezione di colori.", + "noOutputSchemaName": "Nessun nome dello schema di output trovato nell'oggetto di riferimento", + "boolean": "Booleani", + "missingCanvaInitMaskImages": "Immagini di inizializzazione e maschera della tela mancanti", + "oNNXModelField": "Modello ONNX", + "node": "Nodo", + "booleanDescription": "I booleani sono veri o falsi.", + "collection": "Raccolta", + "cannotConnectInputToInput": "Impossibile collegare Input a Input", + "cannotConnectOutputToOutput": "Impossibile collegare Output ad Output", + "booleanCollection": "Raccolta booleana", + "cannotConnectToSelf": "Impossibile connettersi a se stesso", + "mismatchedVersion": "Ha una versione non corrispondente", + "outputNode": "Nodo di Output", + "loadingNodes": "Caricamento nodi...", + "oNNXModelFieldDescription": "Campo del modello ONNX.", + "denoiseMaskFieldDescription": "La maschera di riduzione del rumore può essere passata tra i nodi", + "floatCollectionDescription": "Una raccolta di numeri virgola mobile.", + "enum": "Enumeratore", + "float": "In virgola mobile", + "doesNotExist": "non esiste", + "currentImageDescription": "Visualizza l'immagine corrente nell'editor dei nodi", + "fieldTypesMustMatch": "I tipi di campo devono corrispondere", + "edge": "Bordo", + "enumDescription": "Gli enumeratori sono valori che possono essere una delle diverse opzioni.", + "denoiseMaskField": "Maschera riduzione rumore", + "currentImage": "Immagine corrente", + "floatCollection": "Raccolta in virgola mobile" }, "boards": { "autoAddBoard": "Aggiungi automaticamente bacheca", @@ -983,8 +1040,13 @@ "addControlNet": "Aggiungi $t(common.controlNet)", "controlNetT2IMutexDesc": "$t(common.controlNet) e $t(common.t2iAdapter) contemporaneamente non sono attualmente supportati.", "addIPAdapter": "Aggiungi $t(common.ipAdapter)", - "controlAdapter": "Adattatore di Controllo", - "megaControl": "Mega ControlNet" + "controlAdapter_one": "Adattatore di Controllo", + "controlAdapter_many": "Adattatori di Controllo", + "controlAdapter_other": "", + "megaControl": "Mega ControlNet", + "minConfidence": "Confidenza minima", + "scribble": "Scribble", + "controlnet": "" }, "queue": { "queueFront": "Aggiungi all'inizio della coda", @@ -1100,7 +1162,9 @@ }, "compositingMaskAdjustments": { "heading": "Regolazioni della maschera", - "paragraphs": ["Regola la maschera."] + "paragraphs": [ + "Regola la maschera." + ] }, "compositingCoherenceSteps": { "heading": "Passi", @@ -1111,11 +1175,15 @@ }, "compositingBlur": { "heading": "Sfocatura", - "paragraphs": ["Il raggio di sfocatura della maschera."] + "paragraphs": [ + "Il raggio di sfocatura della maschera." + ] }, "compositingCoherenceMode": { "heading": "Modalità", - "paragraphs": ["La modalità del Passaggio di Coerenza."] + "paragraphs": [ + "La modalità del Passaggio di Coerenza." + ] }, "clipSkip": { "paragraphs": [ @@ -1255,7 +1323,9 @@ ] }, "infillMethod": { - "paragraphs": ["Metodo per riempire l'area selezionata."], + "paragraphs": [ + "Metodo per riempire l'area selezionata." + ], "heading": "Metodo di riempimento" }, "controlNetWeight": { @@ -1271,7 +1341,9 @@ ] }, "controlNetControlMode": { - "paragraphs": ["Attribuisce più peso al prompt o a ControlNet."], + "paragraphs": [ + "Attribuisce più peso al prompt o a ControlNet." + ], "heading": "Modalità di controllo" }, "paramSteps": { @@ -1335,6 +1407,8 @@ "createdBy": "Creato da", "workflow": "Flusso di lavoro", "steps": "Passi", - "scheduler": "Campionatore" + "scheduler": "Campionatore", + "recallParameters": "Richiama i parametri", + "noRecallParameters": "Nessun parametro da richiamare trovato" } } From 8bbd938be91e668d6d8ce23c151133a6937867be Mon Sep 17 00:00:00 2001 From: Dennis Date: Sat, 14 Oct 2023 22:03:51 +0200 Subject: [PATCH 50/70] translationBot(ui): update translation (Dutch) Currently translated at 100.0% (1216 of 1216 strings) Co-authored-by: Dennis Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/nl/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/nl.json | 802 ++++++++++++++++++- 1 file changed, 788 insertions(+), 14 deletions(-) diff --git a/invokeai/frontend/web/public/locales/nl.json b/invokeai/frontend/web/public/locales/nl.json index f682886dae..5c08f65d21 100644 --- a/invokeai/frontend/web/public/locales/nl.json +++ b/invokeai/frontend/web/public/locales/nl.json @@ -79,7 +79,18 @@ "modelManager": "Modelbeheer", "darkMode": "Donkere modus", "lightMode": "Lichte modus", - "communityLabel": "Gemeenschap" + "communityLabel": "Gemeenschap", + "t2iAdapter": "T2I-adapter", + "on": "Aan", + "nodeEditor": "Knooppunteditor", + "ipAdapter": "IP-adapter", + "controlAdapter": "Control-adapter", + "auto": "Autom.", + "controlNet": "ControlNet", + "statusProcessing": "Bezig met verwerken", + "imageFailedToLoad": "Kan afbeelding niet laden", + "learnMore": "Meer informatie", + "advanced": "Uitgebreid" }, "gallery": { "generations": "Gegenereerde afbeeldingen", @@ -100,7 +111,17 @@ "deleteImagePermanent": "Gewiste afbeeldingen kunnen niet worden hersteld.", "assets": "Eigen onderdelen", "images": "Afbeeldingen", - "autoAssignBoardOnClick": "Ken automatisch bord toe bij klikken" + "autoAssignBoardOnClick": "Ken automatisch bord toe bij klikken", + "featuresWillReset": "Als je deze afbeelding verwijdert, dan worden deze functies onmiddellijk teruggezet.", + "loading": "Bezig met laden", + "unableToLoad": "Kan galerij niet laden", + "preparingDownload": "Bezig met voorbereiden van download", + "preparingDownloadFailed": "Fout bij voorbereiden van download", + "downloadSelection": "Download selectie", + "currentlyInUse": "Deze afbeelding is momenteel in gebruik door de volgende functies:", + "copy": "Kopieer", + "download": "Download", + "setCurrentImage": "Stel in als huidige afbeelding" }, "hotkeys": { "keyboardShortcuts": "Sneltoetsen", @@ -332,7 +353,7 @@ "config": "Configuratie", "configValidationMsg": "Pad naar het configuratiebestand van je model.", "modelLocation": "Locatie model", - "modelLocationValidationMsg": "Pad naar waar je model zich bevindt.", + "modelLocationValidationMsg": "Geef het pad naar een lokale map waar je Diffusers-model wordt bewaard", "vaeLocation": "Locatie VAE", "vaeLocationValidationMsg": "Pad naar waar je VAE zich bevindt.", "width": "Breedte", @@ -444,7 +465,17 @@ "syncModelsDesc": "Als je modellen niet meer synchroon zijn met de backend, kan je ze met deze optie verversen. Dit wordt typisch gebruikt in het geval je het models.yaml bestand met de hand bewerkt of als je modellen aan de InvokeAI root map toevoegt nadat de applicatie gestart werd.", "loraModels": "LoRA's", "onnxModels": "Onnx", - "oliveModels": "Olives" + "oliveModels": "Olives", + "noModels": "Geen modellen gevonden", + "predictionType": "Soort voorspelling (voor Stable Diffusion 2.x-modellen en incidentele Stable Diffusion 1.x-modellen)", + "quickAdd": "Voeg snel toe", + "simpleModelDesc": "Geef een pad naar een lokaal Diffusers-model, lokale-checkpoint- / safetensors-model, een HuggingFace-repo-ID of een url naar een checkpoint- / Diffusers-model.", + "advanced": "Uitgebreid", + "useCustomConfig": "Gebruik eigen configuratie", + "closeAdvanced": "Sluit uitgebreid", + "modelType": "Soort model", + "customConfigFileLocation": "Locatie eigen configuratiebestand", + "vaePrecision": "Nauwkeurigheid VAE" }, "parameters": { "images": "Afbeeldingen", @@ -465,7 +496,7 @@ "type": "Soort", "strength": "Sterkte", "upscaling": "Opschalen", - "upscale": "Schaal op", + "upscale": "Vergroot (Shift + U)", "upscaleImage": "Schaal afbeelding op", "scale": "Schaal", "otherOptions": "Andere opties", @@ -496,7 +527,7 @@ "useInitImg": "Gebruik initiële afbeelding", "info": "Info", "initialImage": "Initiële afbeelding", - "showOptionsPanel": "Toon deelscherm Opties", + "showOptionsPanel": "Toon deelscherm Opties (O of T)", "symmetry": "Symmetrie", "hSymmetryStep": "Stap horiz. symmetrie", "vSymmetryStep": "Stap vert. symmetrie", @@ -504,7 +535,8 @@ "immediate": "Annuleer direct", "isScheduled": "Annuleren", "setType": "Stel annuleervorm in", - "schedule": "Annuleer na huidige iteratie" + "schedule": "Annuleer na huidige iteratie", + "cancel": "Annuleer" }, "general": "Algemeen", "copyImage": "Kopieer afbeelding", @@ -520,7 +552,7 @@ "boundingBoxWidth": "Tekenvak breedte", "boundingBoxHeight": "Tekenvak hoogte", "clipSkip": "Overslaan CLIP", - "aspectRatio": "Verhouding", + "aspectRatio": "Beeldverhouding", "negativePromptPlaceholder": "Negatieve prompt", "controlNetControlMode": "Aansturingsmodus", "positivePromptPlaceholder": "Positieve prompt", @@ -532,7 +564,46 @@ "coherenceSteps": "Stappen", "coherenceStrength": "Sterkte", "seamHighThreshold": "Hoog", - "seamLowThreshold": "Laag" + "seamLowThreshold": "Laag", + "invoke": { + "noNodesInGraph": "Geen knooppunten in graaf", + "noModelSelected": "Geen model ingesteld", + "invoke": "Start", + "noPrompts": "Geen prompts gegenereerd", + "systemBusy": "Systeem is bezig", + "noInitialImageSelected": "Geen initiële afbeelding gekozen", + "missingInputForField": "{{nodeLabel}} -> {{fieldLabel}} invoer ontbreekt", + "noControlImageForControlAdapter": "Controle-adapter #{{number}} heeft geen controle-afbeelding", + "noModelForControlAdapter": "Control-adapter #{{number}} heeft geen model ingesteld staan.", + "unableToInvoke": "Kan niet starten", + "incompatibleBaseModelForControlAdapter": "Model van controle-adapter #{{number}} is ongeldig in combinatie met het hoofdmodel.", + "systemDisconnected": "Systeem is niet verbonden", + "missingNodeTemplate": "Knooppuntsjabloon ontbreekt", + "readyToInvoke": "Klaar om te starten", + "missingFieldTemplate": "Veldsjabloon ontbreekt", + "addingImagesTo": "Bezig met toevoegen van afbeeldingen aan" + }, + "seamlessX&Y": "Naadloos X en Y", + "isAllowedToUpscale": { + "useX2Model": "Afbeelding is te groot om te vergroten met het x4-model. Gebruik hiervoor het x2-model", + "tooLarge": "Afbeelding is te groot om te vergoten. Kies een kleinere afbeelding" + }, + "aspectRatioFree": "Vrij", + "cpuNoise": "CPU-ruis", + "patchmatchDownScaleSize": "Verklein", + "gpuNoise": "GPU-ruis", + "seamlessX": "Naadloos X", + "useCpuNoise": "Gebruik CPU-ruis", + "clipSkipWithLayerCount": "Overslaan CLIP {{layerCount}}", + "seamlessY": "Naadloos Y", + "manualSeed": "Handmatige seedwaarde", + "imageActions": "Afbeeldingshandeling", + "randomSeed": "Willekeurige seedwaarde", + "iterations": "Iteraties", + "iterationsWithCount_one": "{{count}} iteratie", + "iterationsWithCount_other": "{{count}} iteraties", + "enableNoiseSettings": "Schakel ruisinstellingen in", + "coherenceMode": "Modus" }, "settings": { "models": "Modellen", @@ -561,7 +632,16 @@ "experimental": "Experimenteel", "alternateCanvasLayout": "Omwisselen Canvas Layout", "enableNodesEditor": "Knopen Editor Inschakelen", - "autoChangeDimensions": "Werk bij wijziging afmetingen bij naar modelstandaard" + "autoChangeDimensions": "Werk bij wijziging afmetingen bij naar modelstandaard", + "clearIntermediates": "Wis tussentijdse afbeeldingen", + "clearIntermediatesDesc3": "Je galerijafbeeldingen zullen niet worden verwijderd.", + "clearIntermediatesWithCount_one": "Wis {{count}} tussentijdse afbeelding", + "clearIntermediatesWithCount_other": "Wis {{count}} tussentijdse afbeeldingen", + "clearIntermediatesDesc2": "Tussentijdse afbeeldingen zijn nevenproducten bij een generatie, die afwijken van de uitvoerafbeeldingen in de galerij. Het wissen van tussentijdse afbeeldingen zal schijfruimte vrijmaken.", + "intermediatesCleared_one": "{{count}} tussentijdse afbeelding gewist", + "intermediatesCleared_other": "{{count}} tussentijdse afbeeldingen gewist", + "clearIntermediatesDesc1": "Het wissen van tussentijdse onderdelen zet de staat van je canvas en ControlNet terug.", + "intermediatesClearedFailed": "Fout bij wissen van tussentijdse afbeeldingen" }, "toast": { "tempFoldersEmptied": "Tijdelijke map geleegd", @@ -610,7 +690,42 @@ "nodesCorruptedGraph": "Kan niet laden. Graph lijkt corrupt.", "nodesUnrecognizedTypes": "Laden mislukt. Graph heeft onherkenbare types", "nodesBrokenConnections": "Laden mislukt. Sommige verbindingen zijn verbroken.", - "nodesNotValidGraph": "Geen geldige knooppunten graph" + "nodesNotValidGraph": "Geen geldige knooppunten graph", + "baseModelChangedCleared_one": "Basismodel is gewijzigd: {{count}} niet-compatibel submodel weggehaald of uitgeschakeld", + "baseModelChangedCleared_other": "Basismodel is gewijzigd: {{count}} niet-compatibele submodellen weggehaald of uitgeschakeld", + "imageSavingFailed": "Fout bij bewaren afbeelding", + "canvasSentControlnetAssets": "Canvas gestuurd naar ControlNet en Assets", + "problemCopyingCanvasDesc": "Kan basislaag niet exporteren", + "loadedWithWarnings": "Werkstroom geladen met waarschuwingen", + "setInitialImage": "Ingesteld als initiële afbeelding", + "canvasCopiedClipboard": "Canvas gekopieerd naar klembord", + "setControlImage": "Ingesteld als controle-afbeelding", + "setNodeField": "Ingesteld als knooppuntveld", + "problemSavingMask": "Fout bij bewaren masker", + "problemSavingCanvasDesc": "Kan basislaag niet exporteren", + "maskSavedAssets": "Masker bewaard in Assets", + "modelAddFailed": "Fout bij toevoegen model", + "problemDownloadingCanvas": "Fout bij downloaden van canvas", + "problemMergingCanvas": "Fout bij samenvoegen canvas", + "setCanvasInitialImage": "Ingesteld als initiële canvasafbeelding", + "imageUploaded": "Afbeelding geüpload", + "addedToBoard": "Toegevoegd aan bord", + "workflowLoaded": "Werkstroom geladen", + "modelAddedSimple": "Model toegevoegd", + "problemImportingMaskDesc": "Kan masker niet exporteren", + "problemCopyingCanvas": "Fout bij kopiëren canvas", + "problemSavingCanvas": "Fout bij bewaren canvas", + "canvasDownloaded": "Canvas gedownload", + "setIPAdapterImage": "Ingesteld als IP-adapterafbeelding", + "problemMergingCanvasDesc": "Kan basislaag niet exporteren", + "problemDownloadingCanvasDesc": "Kan basislaag niet exporteren", + "problemSavingMaskDesc": "Kan masker niet exporteren", + "imageSaved": "Afbeelding bewaard", + "maskSentControlnetAssets": "Masker gestuurd naar ControlNet en Assets", + "canvasSavedGallery": "Canvas bewaard in galerij", + "imageUploadFailed": "Fout bij uploaden afbeelding", + "modelAdded": "Model toegevoegd: {{modelName}}", + "problemImportingMask": "Fout bij importeren masker" }, "tooltip": { "feature": { @@ -685,7 +800,9 @@ "betaDarkenOutside": "Verduister buiten tekenvak", "betaLimitToBox": "Beperk tot tekenvak", "betaPreserveMasked": "Behoud masker", - "antialiasing": "Anti-aliasing" + "antialiasing": "Anti-aliasing", + "showResultsOn": "Toon resultaten (aan)", + "showResultsOff": "Toon resultaten (uit)" }, "accessibility": { "exitViewer": "Stop viewer", @@ -707,7 +824,9 @@ "toggleAutoscroll": "Autom. scrollen aan/uit", "toggleLogViewer": "Logboekviewer aan/uit", "showOptionsPanel": "Toon zijscherm", - "menu": "Menu" + "menu": "Menu", + "showGalleryPanel": "Toon deelscherm Galerij", + "loadMore": "Laad meer" }, "ui": { "showProgressImages": "Toon voortgangsafbeeldingen", @@ -730,6 +849,661 @@ "resetWorkflow": "Herstel werkstroom", "resetWorkflowDesc": "Weet je zeker dat je deze werkstroom wilt herstellen?", "resetWorkflowDesc2": "Herstel van een werkstroom haalt alle knooppunten, randen en werkstroomdetails weg.", - "downloadWorkflow": "Download JSON van werkstroom" + "downloadWorkflow": "Download JSON van werkstroom", + "booleanPolymorphicDescription": "Een verzameling Booleanse waarden.", + "scheduler": "Planner", + "inputField": "Invoerveld", + "controlFieldDescription": "Controlegegevens doorgegeven tussen knooppunten.", + "skippingUnknownOutputType": "Overslaan van onbekend soort uitvoerveld", + "latentsFieldDescription": "Latents kunnen worden doorgegeven tussen knooppunten.", + "denoiseMaskFieldDescription": "Ontruisingsmasker kan worden doorgegeven tussen knooppunten", + "floatCollectionDescription": "Een verzameling zwevende-kommagetallen.", + "missingTemplate": "Ontbrekende sjabloon", + "outputSchemaNotFound": "Uitvoerschema niet gevonden", + "ipAdapterPolymorphicDescription": "Een verzameling IP-adapters.", + "workflowDescription": "Korte beschrijving", + "latentsPolymorphicDescription": "Latents kunnen worden doorgegeven tussen knooppunten.", + "colorFieldDescription": "Een RGBA-kleur.", + "mainModelField": "Model", + "unhandledInputProperty": "Onverwerkt invoerkenmerk", + "versionUnknown": " Versie onbekend", + "ipAdapterCollection": "Verzameling IP-adapters", + "conditioningCollection": "Verzameling conditionering", + "maybeIncompatible": "Is mogelijk niet compatibel met geïnstalleerde knooppunten", + "ipAdapterPolymorphic": "Polymorfisme IP-adapter", + "noNodeSelected": "Geen knooppunt gekozen", + "addNode": "Voeg knooppunt toe", + "unableToValidateWorkflow": "Kan werkstroom niet valideren", + "enum": "Enumeratie", + "integerPolymorphicDescription": "Een verzameling gehele getallen.", + "noOutputRecorded": "Geen uitvoer opgenomen", + "updateApp": "Werk app bij", + "conditioningCollectionDescription": "Conditionering kan worden doorgegeven tussen knooppunten.", + "colorPolymorphic": "Polymorfisme kleur", + "colorCodeEdgesHelp": "Kleurgecodeerde randen op basis van hun verbonden velden", + "collectionDescription": "Beschrijving", + "float": "Zwevende-kommagetal", + "workflowContact": "Contactpersoon", + "skippingReservedFieldType": "Overslaan van gereserveerd veldsoort", + "animatedEdges": "Geanimeerde randen", + "booleanCollectionDescription": "Een verzameling van Booleanse waarden.", + "sDXLMainModelFieldDescription": "SDXL-modelveld.", + "conditioningPolymorphic": "Polymorfisme conditionering", + "integer": "Geheel getal", + "colorField": "Kleur", + "boardField": "Bord", + "nodeTemplate": "Sjabloon knooppunt", + "latentsCollection": "Verzameling latents", + "problemReadingWorkflow": "Fout bij lezen van werkstroom uit afbeelding", + "sourceNode": "Bronknooppunt", + "nodeOpacity": "Dekking knooppunt", + "pickOne": "Kies er een", + "collectionItemDescription": "Beschrijving", + "integerDescription": "Gehele getallen zijn getallen zonder een decimaalteken.", + "outputField": "Uitvoerveld", + "unableToLoadWorkflow": "Kan werkstroom niet valideren", + "snapToGrid": "Lijn uit op raster", + "stringPolymorphic": "Polymorfisme tekenreeks", + "conditioningPolymorphicDescription": "Conditionering kan worden doorgegeven tussen knooppunten.", + "noFieldsLinearview": "Geen velden toegevoegd aan lineaire weergave", + "skipped": "Overgeslagen", + "imagePolymorphic": "Polymorfisme afbeelding", + "nodeSearch": "Zoek naar knooppunten", + "updateNode": "Werk knooppunt bij", + "sDXLRefinerModelFieldDescription": "Beschrijving", + "imagePolymorphicDescription": "Een verzameling afbeeldingen.", + "floatPolymorphic": "Polymorfisme zwevende-kommagetal", + "version": "Versie", + "doesNotExist": "bestaat niet", + "ipAdapterCollectionDescription": "Een verzameling van IP-adapters.", + "stringCollectionDescription": "Een verzameling tekenreeksen.", + "unableToParseNode": "Kan knooppunt niet inlezen", + "controlCollection": "Controle-verzameling", + "validateConnections": "Valideer verbindingen en graaf", + "stringCollection": "Verzameling tekenreeksen", + "inputMayOnlyHaveOneConnection": "Invoer mag slechts een enkele verbinding hebben", + "notes": "Opmerkingen", + "uNetField": "UNet", + "nodeOutputs": "Uitvoer knooppunt", + "currentImageDescription": "Toont de huidige afbeelding in de knooppunteditor", + "validateConnectionsHelp": "Voorkom dat er ongeldige verbindingen worden gelegd en dat er ongeldige grafen worden aangeroepen", + "problemSettingTitle": "Fout bij instellen titel", + "ipAdapter": "IP-adapter", + "integerCollection": "Verzameling gehele getallen", + "collectionItem": "Verzamelingsonderdeel", + "noConnectionInProgress": "Geen verbinding bezig te maken", + "vaeModelField": "VAE", + "controlCollectionDescription": "Controlegegevens doorgegeven tussen knooppunten.", + "skippedReservedInput": "Overgeslagen gereserveerd invoerveld", + "workflowVersion": "Versie", + "noConnectionData": "Geen verbindingsgegevens", + "outputFields": "Uitvoervelden", + "fieldTypesMustMatch": "Veldsoorten moeten overeenkomen", + "workflow": "Werkstroom", + "edge": "Rand", + "inputNode": "Invoerknooppunt", + "enumDescription": "Enumeraties zijn waarden die uit een aantal opties moeten worden gekozen.", + "unkownInvocation": "Onbekende aanroepsoort", + "loRAModelFieldDescription": "Beschrijving", + "imageField": "Afbeelding", + "skippedReservedOutput": "Overgeslagen gereserveerd uitvoerveld", + "animatedEdgesHelp": "Animeer gekozen randen en randen verbonden met de gekozen knooppunten", + "cannotDuplicateConnection": "Kan geen dubbele verbindingen maken", + "booleanPolymorphic": "Polymorfisme Booleaanse waarden", + "unknownTemplate": "Onbekend sjabloon", + "noWorkflow": "Geen werkstroom", + "removeLinearView": "Verwijder uit lineaire weergave", + "colorCollectionDescription": "Beschrijving", + "integerCollectionDescription": "Een verzameling gehele getallen.", + "colorPolymorphicDescription": "Een verzameling kleuren.", + "sDXLMainModelField": "SDXL-model", + "workflowTags": "Labels", + "denoiseMaskField": "Ontruisingsmasker", + "schedulerDescription": "Beschrijving", + "missingCanvaInitImage": "Ontbrekende initialisatie-afbeelding voor canvas", + "conditioningFieldDescription": "Conditionering kan worden doorgegeven tussen knooppunten.", + "clipFieldDescription": "Submodellen voor tokenizer en text_encoder.", + "fullyContainNodesHelp": "Knooppunten moeten zich volledig binnen het keuzevak bevinden om te worden gekozen", + "noImageFoundState": "Geen initiële afbeelding gevonden in de staat", + "workflowValidation": "Validatiefout werkstroom", + "clipField": "Clip", + "stringDescription": "Tekenreeksen zijn tekst.", + "nodeType": "Soort knooppunt", + "noMatchingNodes": "Geen overeenkomende knooppunten", + "fullyContainNodes": "Omvat knooppunten volledig om ze te kiezen", + "integerPolymorphic": "Polymorfisme geheel getal", + "executionStateInProgress": "Bezig", + "noFieldType": "Geen soort veld", + "colorCollection": "Een verzameling kleuren.", + "executionStateError": "Fout", + "noOutputSchemaName": "Geen naam voor uitvoerschema gevonden in referentieobject", + "ipAdapterModel": "Model IP-adapter", + "latentsPolymorphic": "Polymorfisme latents", + "vaeModelFieldDescription": "Beschrijving", + "skippingInputNoTemplate": "Overslaan van invoerveld zonder sjabloon", + "ipAdapterDescription": "Een Afbeeldingsprompt-adapter (IP-adapter).", + "boolean": "Booleaanse waarden", + "missingCanvaInitMaskImages": "Ontbrekende initialisatie- en maskerafbeeldingen voor canvas", + "problemReadingMetadata": "Fout bij lezen van metagegevens uit afbeelding", + "stringPolymorphicDescription": "Een verzameling tekenreeksen.", + "oNNXModelField": "ONNX-model", + "executionStateCompleted": "Voltooid", + "node": "Knooppunt", + "skippingUnknownInputType": "Overslaan van onbekend soort invoerveld", + "workflowAuthor": "Auteur", + "currentImage": "Huidige afbeelding", + "controlField": "Controle", + "workflowName": "Naam", + "booleanDescription": "Booleanse waarden zijn waar en onwaar.", + "collection": "Verzameling", + "ipAdapterModelDescription": "Modelveld IP-adapter", + "cannotConnectInputToInput": "Kan invoer niet aan invoer verbinden", + "invalidOutputSchema": "Ongeldig uitvoerschema", + "boardFieldDescription": "Een galerijbord", + "floatDescription": "Zwevende-kommagetallen zijn getallen met een decimaalteken.", + "floatPolymorphicDescription": "Een verzameling zwevende-kommagetallen.", + "vaeField": "Vae", + "conditioningField": "Conditionering", + "unhandledOutputProperty": "Onverwerkt uitvoerkenmerk", + "workflowNotes": "Opmerkingen", + "string": "Tekenreeks", + "floatCollection": "Verzameling zwevende-kommagetallen", + "latentsField": "Latents", + "cannotConnectOutputToOutput": "Kan uitvoer niet aan uitvoer verbinden", + "booleanCollection": "Verzameling Booleaanse waarden", + "connectionWouldCreateCycle": "Verbinding zou cyclisch worden", + "cannotConnectToSelf": "Kan niet aan zichzelf verbinden", + "notesDescription": "Voeg opmerkingen toe aan je werkstroom", + "unknownField": "Onbekend veld", + "inputFields": "Invoervelden", + "colorCodeEdges": "Kleurgecodeerde randen", + "uNetFieldDescription": "UNet-submodel.", + "unknownNode": "Onbekend knooppunt", + "imageCollectionDescription": "Een verzameling afbeeldingen.", + "mismatchedVersion": "Heeft niet-overeenkomende versie", + "vaeFieldDescription": "Vae-submodel.", + "imageFieldDescription": "Afbeeldingen kunnen worden doorgegeven tussen knooppunten.", + "outputNode": "Uitvoerknooppunt", + "addNodeToolTip": "Voeg knooppunt toe (Shift+A, spatie)", + "loadingNodes": "Bezig met laden van knooppunten...", + "snapToGridHelp": "Lijn knooppunten uit op raster bij verplaatsing", + "workflowSettings": "Instellingen werkstroomeditor", + "mainModelFieldDescription": "Beschrijving", + "sDXLRefinerModelField": "Verfijningsmodel", + "loRAModelField": "LoRA", + "unableToParseEdge": "Kan rand niet inlezen", + "latentsCollectionDescription": "Latents kunnen worden doorgegeven tussen knooppunten.", + "oNNXModelFieldDescription": "ONNX-modelveld.", + "imageCollection": "Afbeeldingsverzameling" + }, + "controlnet": { + "amult": "a_mult", + "resize": "Schaal", + "showAdvanced": "Toon uitgebreid", + "contentShuffleDescription": "Verschuift het materiaal in de afbeelding", + "bgth": "bg_th", + "addT2IAdapter": "Voeg $t(common.t2iAdapter) toe", + "pidi": "PIDI", + "importImageFromCanvas": "Importeer afbeelding uit canvas", + "lineartDescription": "Zet afbeelding om naar lineart", + "normalBae": "Normale BAE", + "importMaskFromCanvas": "Importeer masker uit canvas", + "hed": "HED", + "hideAdvanced": "Verberg uitgebreid", + "contentShuffle": "Verschuif materiaal", + "controlNetEnabledT2IDisabled": "$t(common.controlNet) ingeschakeld, $t(common.t2iAdapter)s uitgeschakeld", + "ipAdapterModel": "Adaptermodel", + "resetControlImage": "Zet controle-afbeelding terug", + "beginEndStepPercent": "Percentage begin-/eindstap", + "mlsdDescription": "Minimalistische herkenning lijnsegmenten", + "duplicate": "Maak kopie", + "balanced": "Gebalanceerd", + "f": "F", + "h": "H", + "prompt": "Prompt", + "depthMidasDescription": "Generatie van diepteblad via Midas", + "controlnet": "$t(controlnet.controlAdapter) #{{number}} ($t(common.controlNet))", + "openPoseDescription": "Menselijke pose-benadering via Openpose", + "control": "Controle", + "resizeMode": "Modus schaling", + "t2iEnabledControlNetDisabled": "$t(common.t2iAdapter) ingeschakeld, $t(common.controlNet)s uitgeschakeld", + "coarse": "Grof", + "weight": "Gewicht", + "selectModel": "Kies een model", + "crop": "Snij bij", + "depthMidas": "Diepte (Midas)", + "w": "B", + "processor": "Verwerker", + "addControlNet": "Voeg $t(common.controlNet) toe", + "none": "Geen", + "incompatibleBaseModel": "Niet-compatibel basismodel:", + "enableControlnet": "Schakel ControlNet in", + "detectResolution": "Herken resolutie", + "controlNetT2IMutexDesc": "Gelijktijdig gebruik van $t(common.controlNet) en $t(common.t2iAdapter) wordt op dit moment niet ondersteund.", + "ip_adapter": "$t(controlnet.controlAdapter) #{{number}} ($t(common.ipAdapter))", + "pidiDescription": "PIDI-afbeeldingsverwerking", + "mediapipeFace": "Mediapipe - Gezicht", + "mlsd": "M-LSD", + "controlMode": "Controlemodus", + "fill": "Vul", + "cannyDescription": "Herkenning Canny-rand", + "addIPAdapter": "Voeg $t(common.ipAdapter) toe", + "lineart": "Lineart", + "colorMapDescription": "Genereert een kleurenblad van de afbeelding", + "lineartAnimeDescription": "Lineartverwerking in anime-stijl", + "t2i_adapter": "$t(controlnet.controlAdapter) #{{number}} ($t(common.t2iAdapter))", + "minConfidence": "Min. vertrouwensniveau", + "imageResolution": "Resolutie afbeelding", + "megaControl": "Zeer veel controle", + "depthZoe": "Diepte (Zoe)", + "colorMap": "Kleur", + "lowThreshold": "Lage drempelwaarde", + "autoConfigure": "Configureer verwerker automatisch", + "highThreshold": "Hoge drempelwaarde", + "normalBaeDescription": "Normale BAE-verwerking", + "noneDescription": "Geen verwerking toegepast", + "saveControlImage": "Bewaar controle-afbeelding", + "openPose": "Openpose", + "toggleControlNet": "Zet deze ControlNet aan/uit", + "delete": "Verwijder", + "controlAdapter_one": "Control-adapter", + "controlAdapter_other": "Control-adapters", + "safe": "Veilig", + "colorMapTileSize": "Grootte tegel", + "lineartAnime": "Lineart-anime", + "ipAdapterImageFallback": "Geen IP-adapterafbeelding gekozen", + "mediapipeFaceDescription": "Gezichtsherkenning met Mediapipe", + "canny": "Canny", + "depthZoeDescription": "Generatie van diepteblad via Zoe", + "hedDescription": "Herkenning van holistisch-geneste randen", + "setControlImageDimensions": "Stel afmetingen controle-afbeelding in op B/H", + "scribble": "Krabbel", + "resetIPAdapterImage": "Zet IP-adapterafbeelding terug", + "handAndFace": "Hand en gezicht", + "enableIPAdapter": "Schakel IP-adapter in", + "maxFaces": "Max. gezichten" + }, + "dynamicPrompts": { + "seedBehaviour": { + "perPromptDesc": "Gebruik een verschillende seedwaarde per afbeelding", + "perIterationLabel": "Seedwaarde per iteratie", + "perIterationDesc": "Gebruik een verschillende seedwaarde per iteratie", + "perPromptLabel": "Seedwaarde per afbeelding", + "label": "Gedrag seedwaarde" + }, + "enableDynamicPrompts": "Schakel dynamische prompts in", + "combinatorial": "Combinatorische generatie", + "maxPrompts": "Max. prompts", + "promptsWithCount_one": "{{count}} prompt", + "promptsWithCount_other": "{{count}} prompts", + "dynamicPrompts": "Dynamische prompts" + }, + "popovers": { + "noiseUseCPU": { + "paragraphs": [ + "Bestuurt of ruis wordt gegenereerd op de CPU of de GPU.", + "Met CPU-ruis ingeschakeld zal een bepaalde seedwaarde dezelfde afbeelding opleveren op welke machine dan ook.", + "Er is geen prestatieverschil bij het inschakelen van CPU-ruis." + ], + "heading": "Gebruik CPU-ruis" + }, + "paramScheduler": { + "paragraphs": [ + "De planner bepaalt hoe per keer ruis wordt toegevoegd aan een afbeelding of hoe een monster wordt bijgewerkt op basis van de uitvoer van een model." + ], + "heading": "Planner" + }, + "scaleBeforeProcessing": { + "paragraphs": [ + "Schaalt het gekozen gebied naar de grootte die het meest geschikt is voor het model, vooraf aan het proces van het afbeeldingen genereren." + ], + "heading": "Schaal vooraf aan verwerking" + }, + "compositingMaskAdjustments": { + "heading": "Aanpassingen masker", + "paragraphs": [ + "Pas het masker aan." + ] + }, + "paramRatio": { + "heading": "Beeldverhouding", + "paragraphs": [ + "De beeldverhouding van de afmetingen van de afbeelding die wordt gegenereerd.", + "Een afbeeldingsgrootte (in aantal pixels) equivalent aan 512x512 wordt aanbevolen voor SD1.5-modellen. Een grootte-equivalent van 1024x1024 wordt aanbevolen voor SDXL-modellen." + ] + }, + "compositingCoherenceSteps": { + "heading": "Stappen", + "paragraphs": [ + "Het aantal te gebruiken ontruisingsstappen in de coherentiefase.", + "Gelijk aan de hoofdparameter Stappen." + ] + }, + "dynamicPrompts": { + "paragraphs": [ + "Dynamische prompts vormt een enkele prompt om in vele.", + "De basissyntax is \"a {red|green|blue} ball\". Dit zal de volgende drie prompts geven: \"a red ball\", \"a green ball\" en \"a blue ball\".", + "Gebruik de syntax zo vaak als je wilt in een enkele prompt, maar zorg ervoor dat het aantal gegenereerde prompts in lijn ligt met de instelling Max. prompts." + ], + "heading": "Dynamische prompts" + }, + "paramVAE": { + "paragraphs": [ + "Het model gebruikt voor het vertalen van AI-uitvoer naar de uiteindelijke afbeelding." + ], + "heading": "VAE" + }, + "compositingBlur": { + "heading": "Vervaging", + "paragraphs": [ + "De vervagingsstraal van het masker." + ] + }, + "paramIterations": { + "paragraphs": [ + "Het aantal te genereren afbeeldingen.", + "Als dynamische prompts is ingeschakeld, dan zal elke prompt dit aantal keer gegenereerd worden." + ], + "heading": "Iteraties" + }, + "paramVAEPrecision": { + "heading": "Nauwkeurigheid VAE", + "paragraphs": [ + "De nauwkeurigheid gebruikt tijdens de VAE-codering en -decodering. FP16/halve nauwkeurig is efficiënter, ten koste van kleine afbeeldingsvariaties." + ] + }, + "compositingCoherenceMode": { + "heading": "Modus", + "paragraphs": [ + "De modus van de coherentiefase." + ] + }, + "paramSeed": { + "paragraphs": [ + "Bestuurt de startruis die gebruikt wordt bij het genereren.", + "Schakel \"Willekeurige seedwaarde\" uit om identieke resultaten te krijgen met dezelfde generatie-instellingen." + ], + "heading": "Seedwaarde" + }, + "controlNetResizeMode": { + "heading": "Schaalmodus", + "paragraphs": [ + "Hoe de ControlNet-afbeelding zal worden geschaald aan de uitvoergrootte van de afbeelding." + ] + }, + "controlNetBeginEnd": { + "paragraphs": [ + "Op welke stappen van het ontruisingsproces ControlNet worden toegepast.", + "ControlNets die worden toegepast aan het begin begeleiden het compositieproces. ControlNets die worden toegepast aan het eind zorgen voor details." + ], + "heading": "Percentage begin- / eindstap" + }, + "dynamicPromptsSeedBehaviour": { + "paragraphs": [ + "Bestuurt hoe de seedwaarde wordt gebruikt bij het genereren van prompts.", + "Per iteratie zal een unieke seedwaarde worden gebruikt voor elke iteratie. Gebruik dit om de promptvariaties binnen een enkele seedwaarde te verkennen.", + "Bijvoorbeeld: als je vijf prompts heb, dan zal voor elke afbeelding dezelfde seedwaarde gebruikt worden.", + "De optie Per afbeelding zal een unieke seedwaarde voor elke afbeelding gebruiken. Dit biedt meer variatie." + ], + "heading": "Gedrag seedwaarde" + }, + "clipSkip": { + "paragraphs": [ + "Kies hoeveel CLIP-modellagen je wilt overslaan.", + "Bepaalde modellen werken beter met bepaalde Overslaan CLIP-instellingen.", + "Een hogere waarde geeft meestal een minder gedetailleerde afbeelding." + ], + "heading": "Overslaan CLIP" + }, + "paramModel": { + "heading": "Model", + "paragraphs": [ + "Model gebruikt voor de ontruisingsstappen.", + "Verschillende modellen zijn meestal getraind zich te specialiseren in het maken van bepaalde esthetische resultaten en materiaal." + ] + }, + "compositingCoherencePass": { + "heading": "Coherentiefase", + "paragraphs": [ + "Een tweede ronde ontruising helpt bij het samenstellen van de erin- of eruitgetekende afbeelding." + ] + }, + "paramDenoisingStrength": { + "paragraphs": [ + "Hoeveel ruis wordt toegevoegd aan de invoerafbeelding.", + "0 geeft een identieke afbeelding, waarbij 1 een volledig nieuwe afbeelding geeft." + ], + "heading": "Ontruisingssterkte" + }, + "compositingStrength": { + "heading": "Sterkte", + "paragraphs": [ + "Ontruisingssterkte voor de coherentiefase.", + "Gelijk aan de parameter Ontruisingssterkte Afbeelding naar afbeelding." + ] + }, + "paramNegativeConditioning": { + "paragraphs": [ + "Het generatieproces voorkomt de gegeven begrippen in de negatieve prompt. Gebruik dit om bepaalde zaken of voorwerpen uit te sluiten van de uitvoerafbeelding.", + "Ondersteunt Compel-syntax en -embeddingen." + ], + "heading": "Negatieve prompt" + }, + "compositingBlurMethod": { + "heading": "Vervagingsmethode", + "paragraphs": [ + "De methode van de vervaging die wordt toegepast op het gemaskeerd gebied." + ] + }, + "dynamicPromptsMaxPrompts": { + "heading": "Max. prompts", + "paragraphs": [ + "Beperkt het aantal prompts die kunnen worden gegenereerd door dynamische prompts." + ] + }, + "infillMethod": { + "paragraphs": [ + "Methode om een gekozen gebied in te vullen." + ], + "heading": "Invulmethode" + }, + "controlNetWeight": { + "heading": "Gewicht", + "paragraphs": [ + "Hoe sterk ControlNet effect heeft op de gegeneerde afbeelding." + ] + }, + "controlNet": { + "heading": "ControlNet", + "paragraphs": [ + "ControlNets biedt begeleiding aan het generatieproces, waarbij hulp wordt geboden bij het maken van afbeelding met aangestuurde compositie, structuur of stijl, afhankelijk van het gekozen model." + ] + }, + "paramCFGScale": { + "heading": "CFG-schaal", + "paragraphs": [ + "Bestuurt hoeveel je prompt invloed heeft op het generatieproces." + ] + }, + "controlNetControlMode": { + "paragraphs": [ + "Geeft meer gewicht aan ofwel de prompt danwel ControlNet." + ], + "heading": "Controlemodus" + }, + "paramSteps": { + "heading": "Stappen", + "paragraphs": [ + "Het aantal uit te voeren stappen tijdens elke generatie.", + "Hogere stappenaantallen geven meestal betere afbeeldingen ten koste van een grotere benodigde generatietijd." + ] + }, + "paramPositiveConditioning": { + "heading": "Positieve prompt", + "paragraphs": [ + "Begeleidt het generartieproces. Gebruik een woord of frase naar keuze.", + "Syntaxes en embeddings voor Compel en dynamische prompts." + ] + }, + "lora": { + "heading": "Gewicht LoRA", + "paragraphs": [ + "Een hogere LoRA-gewicht zal leiden tot een groter effect op de uiteindelijke afbeelding." + ] + } + }, + "metadata": { + "seamless": "Naadloos", + "positivePrompt": "Positieve prompt", + "negativePrompt": "Negatieve prompt", + "generationMode": "Generatiemodus", + "Threshold": "Drempelwaarde ruis", + "metadata": "Metagegevens", + "strength": "Sterkte Afbeelding naar afbeelding", + "seed": "Seedwaarde", + "imageDetails": "Afbeeldingsdetails", + "perlin": "Perlin-ruis", + "model": "Model", + "noImageDetails": "Geen afbeeldingsdetails gevonden", + "hiresFix": "Optimalisatie voor hoge resolutie", + "cfgScale": "CFG-schaal", + "fit": "Schaal aanpassen in Afbeelding naar afbeelding", + "initImage": "Initiële afbeelding", + "recallParameters": "Opnieuw aan te roepen parameters", + "height": "Hoogte", + "variations": "Paren seedwaarde-gewicht", + "noMetaData": "Geen metagegevens gevonden", + "width": "Breedte", + "createdBy": "Gemaakt door", + "workflow": "Werkstroom", + "steps": "Stappen", + "scheduler": "Planner", + "noRecallParameters": "Geen opnieuw uit te voeren parameters gevonden" + }, + "queue": { + "status": "Status", + "pruneSucceeded": "{{item_count}} voltooide onderdelen uit wachtrij gesnoeid", + "cancelTooltip": "Annuleer huidig onderdeel", + "queueEmpty": "Wachtrij leeg", + "pauseSucceeded": "Verwerker onderbroken", + "in_progress": "Bezig", + "queueFront": "Voeg toe aan voorkant van wachtrij", + "notReady": "Kan niet in wachtrij plaatsen", + "batchFailedToQueue": "Fout bij reeks in wachtrij plaatsen", + "completed": "Voltooid", + "queueBack": "Voeg toe aan wachtrij", + "batchValues": "Reekswaarden", + "cancelFailed": "Fout bij annuleren onderdeel", + "queueCountPrediction": "Voeg {{predicted}} toe aan wachtrij", + "batchQueued": "Reeks in wachtrij geplaatst", + "pauseFailed": "Fout bij onderbreken verwerker", + "clearFailed": "Fout bij wissen van wachtrij", + "queuedCount": "{{pending}} wachtend", + "front": "begin", + "clearSucceeded": "Wachtrij gewist", + "pause": "Onderbreek", + "pruneTooltip": "Snoei {{item_count}} voltooide onderdelen", + "cancelSucceeded": "Onderdeel geannuleerd", + "batchQueuedDesc_one": "Voeg {{count}} sessie toe aan het {{direction}} van de wachtrij", + "batchQueuedDesc_other": "Voeg {{count}} sessies toe aan het {{direction}} van de wachtrij", + "graphQueued": "Graaf in wachtrij geplaatst", + "queue": "Wachtrij", + "batch": "Reeks", + "clearQueueAlertDialog": "Als je de wachtrij onmiddellijk wist, dan worden alle onderdelen die bezig zijn geannuleerd en wordt de gehele wachtrij gewist.", + "pending": "Wachtend", + "completedIn": "Voltooid na", + "resumeFailed": "Fout bij hervatten verwerker", + "clear": "Wis", + "prune": "Snoei", + "total": "Totaal", + "canceled": "Geannuleerd", + "pruneFailed": "Fout bij snoeien van wachtrij", + "cancelBatchSucceeded": "Reeks geannuleerd", + "clearTooltip": "Annuleer en wis alle onderdelen", + "current": "Huidig", + "pauseTooltip": "Onderbreek verwerker", + "failed": "Mislukt", + "cancelItem": "Annuleer onderdeel", + "next": "Volgende", + "cancelBatch": "Annuleer reeks", + "back": "eind", + "cancel": "Annuleer", + "session": "Sessie", + "queueTotal": "Totaal {{total}}", + "resumeSucceeded": "Verwerker hervat", + "enqueueing": "Toevoegen van reeks aan wachtrij", + "resumeTooltip": "Hervat verwerker", + "queueMaxExceeded": "Max. aantal van {{max_queue_size}} overschreden, {{skip}} worden overgeslagen", + "resume": "Hervat", + "cancelBatchFailed": "Fout bij annuleren van reeks", + "clearQueueAlertDialog2": "Weet je zeker dat je de wachtrij wilt wissen?", + "item": "Onderdeel", + "graphFailedToQueue": "Fout bij toevoegen graaf aan wachtrij" + }, + "sdxl": { + "refinerStart": "Startwaarde verfijner", + "selectAModel": "Kies een model", + "scheduler": "Planner", + "cfgScale": "CFG-schaal", + "negStylePrompt": "Negatieve-stijlprompt", + "noModelsAvailable": "Geen modellen beschikbaar", + "refiner": "Verfijner", + "negAestheticScore": "Negatieve aantrekkelijkheidsscore", + "useRefiner": "Gebruik verfijner", + "denoisingStrength": "Sterkte ontruising", + "refinermodel": "Verfijnermodel", + "posAestheticScore": "Positieve aantrekkelijkheidsscore", + "concatPromptStyle": "Plak prompt- en stijltekst aan elkaar", + "loading": "Bezig met laden...", + "steps": "Stappen", + "posStylePrompt": "Positieve-stijlprompt" + }, + "models": { + "noMatchingModels": "Geen overeenkomend modellen", + "loading": "bezig met laden", + "noMatchingLoRAs": "Geen overeenkomende LoRA's", + "noLoRAsAvailable": "Geen LoRA's beschikbaar", + "noModelsAvailable": "Geen modellen beschikbaar", + "selectModel": "Kies een model", + "selectLoRA": "Kies een LoRA" + }, + "boards": { + "autoAddBoard": "Voeg automatisch bord toe", + "topMessage": "Dit bord bevat afbeeldingen die in gebruik zijn door de volgende functies:", + "move": "Verplaats", + "menuItemAutoAdd": "Voeg dit automatisch toe aan bord", + "myBoard": "Mijn bord", + "searchBoard": "Zoek borden...", + "noMatching": "Geen overeenkomende borden", + "selectBoard": "Kies een bord", + "cancel": "Annuleer", + "addBoard": "Voeg bord toe", + "bottomMessage": "Als je dit bord en alle afbeeldingen erop verwijdert, dan worden alle functies teruggezet die ervan gebruik maken.", + "uncategorized": "Zonder categorie", + "downloadBoard": "Download bord", + "changeBoard": "Wijzig bord", + "loading": "Bezig met laden...", + "clearSearch": "Maak zoekopdracht leeg" + }, + "invocationCache": { + "disable": "Schakel uit", + "misses": "Mislukt cacheverzoek", + "enableFailed": "Fout bij inschakelen aanroepcache", + "invocationCache": "Aanroepcache", + "clearSucceeded": "Aanroepcache gewist", + "enableSucceeded": "Aanroepcache ingeschakeld", + "clearFailed": "Fout bij wissen aanroepcache", + "hits": "Gelukt cacheverzoek", + "disableSucceeded": "Aanroepcache uitgeschakeld", + "disableFailed": "Fout bij uitschakelen aanroepcache", + "enable": "Schakel in", + "clear": "Wis", + "maxCacheSize": "Max. grootte cache", + "cacheSize": "Grootte cache" + }, + "embedding": { + "noMatchingEmbedding": "Geen overeenkomende embeddings", + "addEmbedding": "Voeg embedding toe", + "incompatibleModel": "Niet-compatibel basismodel:" } } From 2ab7c5f783ffa32175014d7aed2784890dc420d1 Mon Sep 17 00:00:00 2001 From: Surisen Date: Sat, 14 Oct 2023 22:03:51 +0200 Subject: [PATCH 51/70] translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 100.0% (1216 of 1216 strings) Co-authored-by: Surisen Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/ Translation: InvokeAI/Web UI --- .../frontend/web/public/locales/zh_CN.json | 106 ++++++++++++++---- 1 file changed, 82 insertions(+), 24 deletions(-) diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index 220cb87515..5a2d829f95 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -88,7 +88,9 @@ "t2iAdapter": "T2I Adapter", "ipAdapter": "IP Adapter", "controlAdapter": "Control Adapter", - "controlNet": "ControlNet" + "controlNet": "ControlNet", + "on": "开", + "auto": "自动" }, "gallery": { "generations": "生成的图像", @@ -472,7 +474,8 @@ "vae": "VAE", "oliveModels": "Olive", "loraModels": "LoRA", - "alpha": "Alpha" + "alpha": "Alpha", + "vaePrecision": "VAE 精度" }, "parameters": { "images": "图像", @@ -595,7 +598,11 @@ "useX2Model": "图像太大,无法使用 x4 模型,使用 x2 模型作为替代", "tooLarge": "图像太大无法进行放大,请选择更小的图像" }, - "iterationsWithCount_other": "{{count}} 次迭代生成" + "iterationsWithCount_other": "{{count}} 次迭代生成", + "seamlessX&Y": "无缝 X & Y", + "aspectRatioFree": "自由", + "seamlessX": "无缝 X", + "seamlessY": "无缝 Y" }, "settings": { "models": "模型", @@ -628,9 +635,10 @@ "clearIntermediates": "清除中间产物", "clearIntermediatesDesc3": "您图库中的图像不会被删除。", "clearIntermediatesDesc2": "中间产物图像是生成过程中产生的副产品,与图库中的结果图像不同。清除中间产物可释放磁盘空间。", - "intermediatesCleared_other": "已清除 {{number}} 个中间产物", + "intermediatesCleared_other": "已清除 {{count}} 个中间产物", "clearIntermediatesDesc1": "清除中间产物会重置您的画布和 ControlNet 状态。", - "intermediatesClearedFailed": "清除中间产物时出现问题" + "intermediatesClearedFailed": "清除中间产物时出现问题", + "clearIntermediatesWithCount_other": "清除 {{count}} 个中间产物" }, "toast": { "tempFoldersEmptied": "临时文件夹已清空", @@ -713,7 +721,7 @@ "canvasSavedGallery": "画布已保存到图库", "imageUploadFailed": "图像上传失败", "problemImportingMask": "导入遮罩时出现问题", - "baseModelChangedCleared_other": "基础模型已更改, 已清除或禁用 {{number}} 个不兼容的子模型" + "baseModelChangedCleared_other": "基础模型已更改, 已清除或禁用 {{count}} 个不兼容的子模型" }, "unifiedCanvas": { "layer": "图层", @@ -1002,7 +1010,27 @@ "booleanCollection": "布尔值合集", "imageCollectionDescription": "一个图像合集。", "loRAModelField": "LoRA", - "imageCollection": "图像合集" + "imageCollection": "图像合集", + "ipAdapterPolymorphicDescription": "一个 IP-Adapters Collection 合集。", + "ipAdapterCollection": "IP-Adapters 合集", + "conditioningCollection": "条件合集", + "ipAdapterPolymorphic": "IP-Adapters 多态", + "conditioningCollectionDescription": "条件可以在节点间传递。", + "colorPolymorphic": "颜色多态", + "conditioningPolymorphic": "条件多态", + "latentsCollection": "Latents 合集", + "stringPolymorphic": "字符多态", + "conditioningPolymorphicDescription": "条件可以在节点间传递。", + "imagePolymorphic": "图像多态", + "floatPolymorphic": "浮点多态", + "ipAdapterCollectionDescription": "一个 IP-Adapters Collection 合集。", + "ipAdapter": "IP-Adapter", + "booleanPolymorphic": "布尔多态", + "conditioningFieldDescription": "条件可以在节点间传递。", + "integerPolymorphic": "整数多态", + "latentsPolymorphic": "Latents 多态", + "conditioningField": "条件", + "latentsField": "Latents" }, "controlnet": { "resize": "直接缩放", @@ -1086,7 +1114,7 @@ "depthZoe": "Depth (Zoe)", "colorMap": "Color", "openPose": "Openpose", - "controlAdapter": "Control Adapter", + "controlAdapter_other": "Control Adapters", "lineartAnime": "Lineart Anime", "canny": "Canny" }, @@ -1140,7 +1168,7 @@ "queuedCount": "{{pending}} 待处理", "front": "前", "pruneTooltip": "修剪 {{item_count}} 个已完成的项目", - "batchQueuedDesc": "在队列的 {{direction}} 中添加了 {{item_count}} 个会话", + "batchQueuedDesc_other": "在队列的 {{direction}} 中添加了 {{count}} 个会话", "graphQueued": "节点图已加入队列", "back": "后", "session": "会话", @@ -1191,7 +1219,9 @@ "steps": "步数", "scheduler": "调度器", "seamless": "无缝", - "fit": "图生图适应" + "fit": "图生图匹配", + "recallParameters": "召回参数", + "noRecallParameters": "未找到要召回的参数" }, "models": { "noMatchingModels": "无相匹配的模型", @@ -1242,7 +1272,9 @@ "popovers": { "compositingMaskAdjustments": { "heading": "遮罩调整", - "paragraphs": ["调整遮罩。"] + "paragraphs": [ + "调整遮罩。" + ] }, "paramRatio": { "heading": "纵横比", @@ -1260,7 +1292,9 @@ }, "compositingBlur": { "heading": "模糊", - "paragraphs": ["遮罩模糊半径。"] + "paragraphs": [ + "遮罩模糊半径。" + ] }, "noiseUseCPU": { "heading": "使用 CPU 噪声", @@ -1278,11 +1312,15 @@ }, "compositingCoherenceMode": { "heading": "模式", - "paragraphs": ["一致性层模式。"] + "paragraphs": [ + "一致性层模式。" + ] }, "controlNetResizeMode": { "heading": "缩放模式", - "paragraphs": ["ControlNet 输入图像适应输出图像大小的方法。"] + "paragraphs": [ + "ControlNet 输入图像适应输出图像大小的方法。" + ] }, "clipSkip": { "paragraphs": [ @@ -1308,7 +1346,9 @@ }, "compositingCoherencePass": { "heading": "一致性层", - "paragraphs": ["第二轮去噪有助于合成内补/外扩图像。"] + "paragraphs": [ + "第二轮去噪有助于合成内补/外扩图像。" + ] }, "compositingStrength": { "heading": "强度", @@ -1326,7 +1366,9 @@ }, "compositingBlurMethod": { "heading": "模糊方式", - "paragraphs": ["应用于遮罩区域的模糊方法。"] + "paragraphs": [ + "应用于遮罩区域的模糊方法。" + ] }, "paramScheduler": { "heading": "调度器", @@ -1336,11 +1378,15 @@ }, "controlNetWeight": { "heading": "权重", - "paragraphs": ["ControlNet 对生成图像的影响强度。"] + "paragraphs": [ + "ControlNet 对生成图像的影响强度。" + ] }, "paramCFGScale": { "heading": "CFG 等级", - "paragraphs": ["控制提示词对生成过程的影响程度。"] + "paragraphs": [ + "控制提示词对生成过程的影响程度。" + ] }, "paramSteps": { "heading": "步数", @@ -1358,11 +1404,15 @@ }, "lora": { "heading": "LoRA 权重", - "paragraphs": ["更高的 LoRA 权重会对最终图像产生更大的影响。"] + "paragraphs": [ + "更高的 LoRA 权重会对最终图像产生更大的影响。" + ] }, "infillMethod": { "heading": "填充方法", - "paragraphs": ["填充选定区域的方式。"] + "paragraphs": [ + "填充选定区域的方式。" + ] }, "controlNetBeginEnd": { "heading": "开始 / 结束步数百分比", @@ -1373,7 +1423,9 @@ }, "scaleBeforeProcessing": { "heading": "处理前缩放", - "paragraphs": ["生成图像前将所选区域缩放为最适合模型的大小。"] + "paragraphs": [ + "生成图像前将所选区域缩放为最适合模型的大小。" + ] }, "paramDenoisingStrength": { "heading": "去噪强度", @@ -1391,7 +1443,9 @@ }, "controlNetControlMode": { "heading": "控制模式", - "paragraphs": ["给提示词或 ControlNet 增加更大的权重。"] + "paragraphs": [ + "给提示词或 ControlNet 增加更大的权重。" + ] }, "dynamicPrompts": { "paragraphs": [ @@ -1402,7 +1456,9 @@ "heading": "动态提示词" }, "paramVAE": { - "paragraphs": ["用于将 AI 输出转换成最终图像的模型。"], + "paragraphs": [ + "用于将 AI 输出转换成最终图像的模型。" + ], "heading": "VAE" }, "dynamicPromptsSeedBehaviour": { @@ -1416,7 +1472,9 @@ }, "dynamicPromptsMaxPrompts": { "heading": "最大提示词数量", - "paragraphs": ["限制动态提示词可生成的提示词数量。"] + "paragraphs": [ + "限制动态提示词可生成的提示词数量。" + ] }, "controlNet": { "paragraphs": [ From e21f3af5abeb644fe6a3ec6defa46d85595a610a Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Sat, 14 Oct 2023 22:03:51 +0200 Subject: [PATCH 52/70] translationBot(ui): update translation files Updated by "Remove blank strings" hook in Weblate. Co-authored-by: Hosted Weblate Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 3cca8b508f..3123d8fcf8 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -1045,8 +1045,7 @@ "controlAdapter_other": "", "megaControl": "Mega ControlNet", "minConfidence": "Confidenza minima", - "scribble": "Scribble", - "controlnet": "" + "scribble": "Scribble" }, "queue": { "queueFront": "Aggiungi all'inizio della coda", From e9879b9e1f743b3af9c67c73c60d5a61faf0400e Mon Sep 17 00:00:00 2001 From: mickr777 <115216705+mickr777@users.noreply.github.com> Date: Sun, 15 Oct 2023 09:01:20 +1100 Subject: [PATCH 53/70] Clean up communityNodes.md (#4870) * Clean up communityNodes.md * Update communityNodes.md --- docs/nodes/communityNodes.md | 381 ++++++++++++++++++----------------- 1 file changed, 197 insertions(+), 184 deletions(-) diff --git a/docs/nodes/communityNodes.md b/docs/nodes/communityNodes.md index 47ed407695..d5a5d5654f 100644 --- a/docs/nodes/communityNodes.md +++ b/docs/nodes/communityNodes.md @@ -8,28 +8,42 @@ To download a node, simply download the `.py` node file from the link and add it To use a community workflow, download the the `.json` node graph file and load it into Invoke AI via the **Load Workflow** button in the Workflow Editor. --------------------------------- +- Community Nodes + + [Depth Map from Wavefront OBJ](#depth-map-from-wavefront-obj) + + [Film Grain](#film-grain) + + [Generative Grammar-Based Prompt Nodes](#generative-grammar-based-prompt-nodes) + + [GPT2RandomPromptMaker](#gpt2randompromptmaker) + + [Grid to Gif](#grid-to-gif) + + [Halftone](#halftone) + + [Ideal Size](#ideal-size) + + [Image and Mask Composition Pack](#image-and-mask-composition-pack) + + [Image to Character Art Image Nodes](#image-to-character-art-image-nodes) + + [Image Picker](#image-picker) + + [Load Video Frame](#load-video-frame) + + [Make 3D](#make-3d) + + [Oobabooga](#oobabooga) + + [Prompt Tools](#prompt-tools) + + [Retroize](#retroize) + + [Size Stepper Nodes](#size-stepper-nodes) + + [Text font to Image](#text-font-to-image) + + [Thresholding](#thresholding) + + [XY Image to Grid and Images to Grids nodes](#xy-image-to-grid-and-images-to-grids-nodes) +- [Example Node Template](#example-node-template) +- [Disclaimer](#disclaimer) +- [Help](#help) + -------------------------------- -### Make 3D +### Depth Map from Wavefront OBJ -**Description:** Create compelling 3D stereo images from 2D originals. +**Description:** Render depth maps from Wavefront .obj files (triangulated) using this simple 3D renderer utilizing numpy and matplotlib to compute and color the scene. There are simple parameters to change the FOV, camera position, and model orientation. -**Node Link:** [https://gitlab.com/srcrr/shift3d/-/raw/main/make3d.py](https://gitlab.com/srcrr/shift3d) +To be imported, an .obj must use triangulated meshes, so make sure to enable that option if exporting from a 3D modeling program. This renderer makes each triangle a solid color based on its average depth, so it will cause anomalies if your .obj has large triangles. In Blender, the Remesh modifier can be helpful to subdivide a mesh into small pieces that work well given these limitations. -**Example Node Graph:** https://gitlab.com/srcrr/shift3d/-/raw/main/example-workflow.json?ref_type=heads&inline=false +**Node Link:** https://github.com/dwringer/depth-from-obj-node -**Output Examples** - -![Painting of a cozy delapidated house](https://gitlab.com/srcrr/shift3d/-/raw/main/example-1.png){: style="height:512px;width:512px"} -![Photo of cute puppies](https://gitlab.com/srcrr/shift3d/-/raw/main/example-2.png){: style="height:512px;width:512px"} - --------------------------------- -### Ideal Size - -**Description:** This node calculates an ideal image size for a first pass of a multi-pass upscaling. The aim is to avoid duplication that results from choosing a size larger than the model is capable of. - -**Node Link:** https://github.com/JPPhoto/ideal-size-node +**Example Usage:** +
-------------------------------- ### Film Grain @@ -39,68 +53,19 @@ To use a community workflow, download the the `.json` node graph file and load i **Node Link:** https://github.com/JPPhoto/film-grain-node -------------------------------- -### Image Picker +### Generative Grammar-Based Prompt Nodes -**Description:** This InvokeAI node takes in a collection of images and randomly chooses one. This can be useful when you have a number of poses to choose from for a ControlNet node, or a number of input images for another purpose. +**Description:** This set of 3 nodes generates prompts from simple user-defined grammar rules (loaded from custom files - examples provided below). The prompts are made by recursively expanding a special template string, replacing nonterminal "parts-of-speech" until no nonterminal terms remain in the string. -**Node Link:** https://github.com/JPPhoto/image-picker-node +This includes 3 Nodes: +- *Lookup Table from File* - loads a YAML file "prompt" section (or of a whole folder of YAML's) into a JSON-ified dictionary (Lookups output) +- *Lookups Entry from Prompt* - places a single entry in a new Lookups output under the specified heading +- *Prompt from Lookup Table* - uses a Collection of Lookups as grammar rules from which to randomly generate prompts. --------------------------------- -### Thresholding +**Node Link:** https://github.com/dwringer/generative-grammar-prompt-nodes -**Description:** This node generates masks for highlights, midtones, and shadows given an input image. You can optionally specify a blur for the lookup table used in making those masks from the source image. - -**Node Link:** https://github.com/JPPhoto/thresholding-node - -**Examples** - -Input: - -![image](https://github.com/invoke-ai/InvokeAI/assets/34005131/c88ada13-fb3d-484c-a4fe-947b44712632){: style="height:512px;width:512px"} - -Highlights/Midtones/Shadows: - - - - - -Highlights/Midtones/Shadows (with LUT blur enabled): - - - - - --------------------------------- -### Halftone - -**Description**: Halftone converts the source image to grayscale and then performs halftoning. CMYK Halftone converts the image to CMYK and applies a per-channel halftoning to make the source image look like a magazine or newspaper. For both nodes, you can specify angles and halftone dot spacing. - -**Node Link:** https://github.com/JPPhoto/halftone-node - -**Example** - -Input: - -![image](https://github.com/invoke-ai/InvokeAI/assets/34005131/fd5efb9f-4355-4409-a1c2-c1ca99e0cab4){: style="height:512px;width:512px"} - -Halftone Output: - -![image](https://github.com/invoke-ai/InvokeAI/assets/34005131/7e606f29-e68f-4d46-b3d5-97f799a4ec2f){: style="height:512px;width:512px"} - -CMYK Halftone Output: - -![image](https://github.com/invoke-ai/InvokeAI/assets/34005131/c59c578f-db8e-4d66-8c66-2851752d75ea){: style="height:512px;width:512px"} - --------------------------------- -### Retroize - -**Description:** Retroize is a collection of nodes for InvokeAI to "Retroize" images. Any image can be given a fresh coat of retro paint with these nodes, either from your gallery or from within the graph itself. It includes nodes to pixelize, quantize, palettize, and ditherize images; as well as to retrieve palettes from existing images. - -**Node Link:** https://github.com/Ar7ific1al/invokeai-retroizeinode/ - -**Retroize Output Examples** - -![image](https://github.com/Ar7ific1al/InvokeAI_nodes_retroize/assets/2306586/de8b4fa6-324c-4c2d-b36c-297600c73974) +**Example Usage:** +
-------------------------------- ### GPT2RandomPromptMaker @@ -113,76 +78,49 @@ CMYK Halftone Output: Generated Prompt: An enchanted weapon will be usable by any character regardless of their alignment. -![9acf5aef-7254-40dd-95b3-8eac431dfab0 (1)](https://github.com/mickr777/InvokeAI/assets/115216705/8496ba09-bcdd-4ff7-8076-ff213b6a1e4c) + -------------------------------- -### Load Video Frame +### Grid to Gif -**Description:** This is a video frame image provider + indexer/video creation nodes for hooking up to iterators and ranges and ControlNets and such for invokeAI node experimentation. Think animation + ControlNet outputs. +**Description:** One node that turns a grid image into an image collection, one node that turns an image collection into a gif. -**Node Link:** https://github.com/helix4u/load_video_frame +**Node Link:** https://github.com/mildmisery/invokeai-GridToGifNode/blob/main/GridToGif.py -**Example Node Graph:** https://github.com/helix4u/load_video_frame/blob/main/Example_Workflow.json +**Example Node Graph:** https://github.com/mildmisery/invokeai-GridToGifNode/blob/main/Grid%20to%20Gif%20Example%20Workflow.json -**Output Example:** +**Output Examples** -![Example animation](https://github.com/helix4u/load_video_frame/blob/main/testmp4_embed_converted.gif) -[Full mp4 of Example Output test.mp4](https://github.com/helix4u/load_video_frame/blob/main/test.mp4) + + -------------------------------- +### Halftone -### Oobabooga +**Description**: Halftone converts the source image to grayscale and then performs halftoning. CMYK Halftone converts the image to CMYK and applies a per-channel halftoning to make the source image look like a magazine or newspaper. For both nodes, you can specify angles and halftone dot spacing. -**Description:** asks a local LLM running in Oobabooga's Text-Generation-Webui to write a prompt based on the user input. +**Node Link:** https://github.com/JPPhoto/halftone-node -**Link:** https://github.com/sammyf/oobabooga-node +**Example** +Input: -**Example:** + -"describe a new mystical creature in its natural environment" +Halftone Output: -*can return* + -"The mystical creature I am describing to you is called the "Glimmerwing". It is a majestic, iridescent being that inhabits the depths of the most enchanted forests and glimmering lakes. Its body is covered in shimmering scales that reflect every color of the rainbow, and it has delicate, translucent wings that sparkle like diamonds in the sunlight. The Glimmerwing's home is a crystal-clear lake, surrounded by towering trees with leaves that shimmer like jewels. In this serene environment, the Glimmerwing spends its days swimming gracefully through the water, chasing schools of glittering fish and playing with the gentle ripples of the lake's surface. -As the sun sets, the Glimmerwing perches on a branch of one of the trees, spreading its wings to catch the last rays of light. The creature's scales glow softly, casting a rainbow of colors across the forest floor. The Glimmerwing sings a haunting melody, its voice echoing through the stillness of the night air. Its song is said to have the power to heal the sick and bring peace to troubled souls. Those who are lucky enough to hear the Glimmerwing's song are forever changed by its beauty and grace." +CMYK Halftone Output: -![glimmerwing_small](https://github.com/sammyf/oobabooga-node/assets/42468608/cecdd820-93dd-4c35-abbf-607e001fb2ed) - -**Requirement** - -a Text-Generation-Webui instance (might work remotely too, but I never tried it) and obviously InvokeAI 3.x - -**Note** - -This node works best with SDXL models, especially as the style can be described independantly of the LLM's output. + -------------------------------- -### Depth Map from Wavefront OBJ +### Ideal Size -**Description:** Render depth maps from Wavefront .obj files (triangulated) using this simple 3D renderer utilizing numpy and matplotlib to compute and color the scene. There are simple parameters to change the FOV, camera position, and model orientation. +**Description:** This node calculates an ideal image size for a first pass of a multi-pass upscaling. The aim is to avoid duplication that results from choosing a size larger than the model is capable of. -To be imported, an .obj must use triangulated meshes, so make sure to enable that option if exporting from a 3D modeling program. This renderer makes each triangle a solid color based on its average depth, so it will cause anomalies if your .obj has large triangles. In Blender, the Remesh modifier can be helpful to subdivide a mesh into small pieces that work well given these limitations. - -**Node Link:** https://github.com/dwringer/depth-from-obj-node - -**Example Usage:** -![depth from obj usage graph](https://raw.githubusercontent.com/dwringer/depth-from-obj-node/main/depth_from_obj_usage.jpg) - --------------------------------- -### Generative Grammar-Based Prompt Nodes - -**Description:** This set of 3 nodes generates prompts from simple user-defined grammar rules (loaded from custom files - examples provided below). The prompts are made by recursively expanding a special template string, replacing nonterminal "parts-of-speech" until no more nonterminal terms remain in the string. - -This includes 3 Nodes: -- *Lookup Table from File* - loads a YAML file "prompt" section (or of a whole folder of YAML's) into a JSON-ified dictionary (Lookups output) -- *Lookups Entry from Prompt* - places a single entry in a new Lookups output under the specified heading -- *Prompt from Lookup Table* - uses a Collection of Lookups as grammar rules from which to randomly generate prompts. - -**Node Link:** https://github.com/dwringer/generative-grammar-prompt-nodes - -**Example Usage:** -![lookups usage example graph](https://raw.githubusercontent.com/dwringer/generative-grammar-prompt-nodes/main/lookuptables_usage.jpg) +**Node Link:** https://github.com/JPPhoto/ideal-size-node -------------------------------- ### Image and Mask Composition Pack @@ -208,45 +146,88 @@ This includes 15 Nodes: - *Text Mask (simple 2D)* - create and position a white on black (or black on white) line of text using any font locally available to Invoke. **Node Link:** https://github.com/dwringer/composition-nodes - -**Nodes and Output Examples:** -![composition nodes usage graph](https://raw.githubusercontent.com/dwringer/composition-nodes/main/composition_pack_overview.jpg) + +
-------------------------------- -### Size Stepper Nodes +### Image to Character Art Image Nodes -**Description:** This is a set of nodes for calculating the necessary size increments for doing upscaling workflows. Use the *Final Size & Orientation* node to enter your full size dimensions and orientation (portrait/landscape/random), then plug that and your initial generation dimensions into the *Ideal Size Stepper* and get 1, 2, or 3 intermediate pairs of dimensions for upscaling. Note this does not output the initial size or full size dimensions: the 1, 2, or 3 outputs of this node are only the intermediate sizes. +**Description:** Group of nodes to convert an input image into ascii/unicode art Image -A third node is included, *Random Switch (Integers)*, which is just a generic version of Final Size with no orientation selection. - -**Node Link:** https://github.com/dwringer/size-stepper-nodes - -**Example Usage:** -![size stepper usage graph](https://raw.githubusercontent.com/dwringer/size-stepper-nodes/main/size_nodes_usage.jpg) - --------------------------------- - -### Text font to Image - -**Description:** text font to text image node for InvokeAI, download a font to use (or if in font cache uses it from there), the text is always resized to the image size, but can control that with padding, optional 2nd line - -**Node Link:** https://github.com/mickr777/textfontimage +**Node Link:** https://github.com/mickr777/imagetoasciiimage **Output Examples** -![a3609d48-d9b7-41f0-b280-063d857986fb](https://github.com/mickr777/InvokeAI/assets/115216705/c21b0af3-d9c6-4c16-9152-846a23effd36) - -Results after using the depth controlnet - -![9133eabb-bcda-4326-831e-1b641228b178](https://github.com/mickr777/InvokeAI/assets/115216705/915f1a53-968e-43eb-aa61-07cd8f1a733a) -![4f9a3fa8-9be9-4236-8a3e-fcec66decd2a](https://github.com/mickr777/InvokeAI/assets/115216705/821ef89e-8a60-44f5-b94e-471a9d8690cc) -![babd69c4-9d60-4a55-a834-5e8397f62610](https://github.com/mickr777/InvokeAI/assets/115216705/2befcb6d-49f4-4bfd-b5fc-1fee19274f89) +
+ + -------------------------------- +### Image Picker + +**Description:** This InvokeAI node takes in a collection of images and randomly chooses one. This can be useful when you have a number of poses to choose from for a ControlNet node, or a number of input images for another purpose. + +**Node Link:** https://github.com/JPPhoto/image-picker-node + +-------------------------------- +### Load Video Frame + +**Description:** This is a video frame image provider + indexer/video creation nodes for hooking up to iterators and ranges and ControlNets and such for invokeAI node experimentation. Think animation + ControlNet outputs. + +**Node Link:** https://github.com/helix4u/load_video_frame + +**Example Node Graph:** https://github.com/helix4u/load_video_frame/blob/main/Example_Workflow.json + +**Output Example:** + + +[Full mp4 of Example Output test.mp4](https://github.com/helix4u/load_video_frame/blob/main/test.mp4) + +-------------------------------- +### Make 3D + +**Description:** Create compelling 3D stereo images from 2D originals. + +**Node Link:** [https://gitlab.com/srcrr/shift3d/-/raw/main/make3d.py](https://gitlab.com/srcrr/shift3d) + +**Example Node Graph:** https://gitlab.com/srcrr/shift3d/-/raw/main/example-workflow.json?ref_type=heads&inline=false + +**Output Examples** + + + + +-------------------------------- +### Oobabooga + +**Description:** asks a local LLM running in Oobabooga's Text-Generation-Webui to write a prompt based on the user input. + +**Link:** https://github.com/sammyf/oobabooga-node + +**Example:** + +"describe a new mystical creature in its natural environment" + +*can return* + +"The mystical creature I am describing to you is called the "Glimmerwing". It is a majestic, iridescent being that inhabits the depths of the most enchanted forests and glimmering lakes. Its body is covered in shimmering scales that reflect every color of the rainbow, and it has delicate, translucent wings that sparkle like diamonds in the sunlight. The Glimmerwing's home is a crystal-clear lake, surrounded by towering trees with leaves that shimmer like jewels. In this serene environment, the Glimmerwing spends its days swimming gracefully through the water, chasing schools of glittering fish and playing with the gentle ripples of the lake's surface. +As the sun sets, the Glimmerwing perches on a branch of one of the trees, spreading its wings to catch the last rays of light. The creature's scales glow softly, casting a rainbow of colors across the forest floor. The Glimmerwing sings a haunting melody, its voice echoing through the stillness of the night air. Its song is said to have the power to heal the sick and bring peace to troubled souls. Those who are lucky enough to hear the Glimmerwing's song are forever changed by its beauty and grace." + + + +**Requirement** + +a Text-Generation-Webui instance (might work remotely too, but I never tried it) and obviously InvokeAI 3.x + +**Note** + +This node works best with SDXL models, especially as the style can be described independently of the LLM's output. + +-------------------------------- ### Prompt Tools -**Description:** A set of InvokeAI nodes that add general prompt manipulation tools. These where written to accompany the PromptsFromFile node and other prompt generation nodes. +**Description:** A set of InvokeAI nodes that add general prompt manipulation tools. These were written to accompany the PromptsFromFile node and other prompt generation nodes. 1. PromptJoin - Joins to prompts into one. 2. PromptReplace - performs a search and replace on a prompt. With the option of using regex. @@ -263,51 +244,83 @@ See full docs here: https://github.com/skunkworxdark/Prompt-tools-nodes/edit/mai **Node Link:** https://github.com/skunkworxdark/Prompt-tools-nodes -------------------------------- +### Retroize +**Description:** Retroize is a collection of nodes for InvokeAI to "Retroize" images. Any image can be given a fresh coat of retro paint with these nodes, either from your gallery or from within the graph itself. It includes nodes to pixelize, quantize, palettize, and ditherize images; as well as to retrieve palettes from existing images. + +**Node Link:** https://github.com/Ar7ific1al/invokeai-retroizeinode/ + +**Retroize Output Examples** + + + +-------------------------------- +### Size Stepper Nodes + +**Description:** This is a set of nodes for calculating the necessary size increments for doing upscaling workflows. Use the *Final Size & Orientation* node to enter your full size dimensions and orientation (portrait/landscape/random), then plug that and your initial generation dimensions into the *Ideal Size Stepper* and get 1, 2, or 3 intermediate pairs of dimensions for upscaling. Note this does not output the initial size or full size dimensions: the 1, 2, or 3 outputs of this node are only the intermediate sizes. + +A third node is included, *Random Switch (Integers)*, which is just a generic version of Final Size with no orientation selection. + +**Node Link:** https://github.com/dwringer/size-stepper-nodes + +**Example Usage:** +
+ +-------------------------------- +### Text font to Image + +**Description:** text font to text image node for InvokeAI, download a font to use (or if in font cache uses it from there), the text is always resized to the image size, but can control that with padding, optional 2nd line + +**Node Link:** https://github.com/mickr777/textfontimage + +**Output Examples** + + + +Results after using the depth controlnet + + + + + +-------------------------------- +### Thresholding + +**Description:** This node generates masks for highlights, midtones, and shadows given an input image. You can optionally specify a blur for the lookup table used in making those masks from the source image. + +**Node Link:** https://github.com/JPPhoto/thresholding-node + +**Examples** + +Input: + + + +Highlights/Midtones/Shadows: + + + + + +Highlights/Midtones/Shadows (with LUT blur enabled): + + + + + +-------------------------------- ### XY Image to Grid and Images to Grids nodes **Description:** Image to grid nodes and supporting tools. -1. "Images To Grids" node - Takes a collection of images and creates a grid(s) of images. If there are more images than the size of a single grid then mutilple grids will be created until it runs out of images. -2. "XYImage To Grid" node - Converts a collection of XYImages into a labeled Grid of images. The XYImages collection has to be built using the supporoting nodes. See example node setups for more details. - +1. "Images To Grids" node - Takes a collection of images and creates a grid(s) of images. If there are more images than the size of a single grid then multiple grids will be created until it runs out of images. +2. "XYImage To Grid" node - Converts a collection of XYImages into a labeled Grid of images. The XYImages collection has to be built using the supporting nodes. See example node setups for more details. See full docs here: https://github.com/skunkworxdark/XYGrid_nodes/edit/main/README.md **Node Link:** https://github.com/skunkworxdark/XYGrid_nodes -------------------------------- - -### Image to Character Art Image Node's - -**Description:** Group of nodes to convert an input image into ascii/unicode art Image - -**Node Link:** https://github.com/mickr777/imagetoasciiimage - -**Output Examples** - - -
- - - --------------------------------- - -### Grid to Gif - -**Description:** One node that turns a grid image into an image colletion, one node that turns an image collection into a gif - -**Node Link:** https://github.com/mildmisery/invokeai-GridToGifNode/blob/main/GridToGif.py - -**Example Node Graph:** https://github.com/mildmisery/invokeai-GridToGifNode/blob/main/Grid%20to%20Gif%20Example%20Workflow.json - -**Output Examples** - - - - --------------------------------- - ### Example Node Template **Description:** This node allows you to do super cool things with InvokeAI. @@ -318,7 +331,7 @@ See full docs here: https://github.com/skunkworxdark/XYGrid_nodes/edit/main/READ **Output Examples** -![Example Image](https://invoke-ai.github.io/InvokeAI/assets/invoke_ai_banner.png){: style="height:115px;width:240px"} +
## Disclaimer From 78b8cfede3e1d7bb21c46734c3a647ceef095202 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sun, 15 Oct 2023 10:44:16 +1100 Subject: [PATCH 54/70] fix(nodes,ui): optional metadata - Make all metadata items optional. This will reduce errors related to metadata not being provided when we update the backend but old queue items still exist - Fix a bug in t2i adapter metadata handling where it checked for ip adapter metadata instaed of t2i adapter metadata - Fix some metadata fields that were not using `InputField` --- invokeai/app/invocations/metadata.py | 74 +++++++++------ .../addT2IAdapterToLinearGraph.ts | 2 +- .../frontend/web/src/services/api/schema.d.ts | 94 +++++++++---------- 3 files changed, 91 insertions(+), 79 deletions(-) diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index cecc01096a..449f332387 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -44,28 +44,31 @@ class CoreMetadata(BaseModelExcludeNull): """Core generation metadata for an image generated in InvokeAI.""" app_version: str = Field(default=__version__, description="The version of InvokeAI used to generate this image") - generation_mode: str = Field( + generation_mode: Optional[str] = Field( + default=None, description="The generation mode that output this image", ) created_by: Optional[str] = Field(description="The name of the creator of the image") - positive_prompt: str = Field(description="The positive prompt parameter") - negative_prompt: str = Field(description="The negative prompt parameter") - width: int = Field(description="The width parameter") - height: int = Field(description="The height parameter") - seed: int = Field(description="The seed used for noise generation") - rand_device: str = Field(description="The device used for random number generation") - cfg_scale: float = Field(description="The classifier-free guidance scale parameter") - steps: int = Field(description="The number of steps used for inference") - scheduler: str = Field(description="The scheduler used for inference") + positive_prompt: Optional[str] = Field(default=None, description="The positive prompt parameter") + negative_prompt: Optional[str] = Field(default=None, description="The negative prompt parameter") + width: Optional[int] = Field(default=None, description="The width parameter") + height: Optional[int] = Field(default=None, description="The height parameter") + seed: Optional[int] = Field(default=None, description="The seed used for noise generation") + rand_device: Optional[str] = Field(default=None, description="The device used for random number generation") + cfg_scale: Optional[float] = Field(default=None, description="The classifier-free guidance scale parameter") + steps: Optional[int] = Field(default=None, description="The number of steps used for inference") + scheduler: Optional[str] = Field(default=None, description="The scheduler used for inference") clip_skip: Optional[int] = Field( default=None, description="The number of skipped CLIP layers", ) - model: MainModelField = Field(description="The main model used for inference") - controlnets: list[ControlField] = Field(description="The ControlNets used for inference") - ipAdapters: list[IPAdapterMetadataField] = Field(description="The IP Adapters used for inference") - t2iAdapters: list[T2IAdapterField] = Field(description="The IP Adapters used for inference") - loras: list[LoRAMetadataField] = Field(description="The LoRAs used for inference") + model: Optional[MainModelField] = Field(default=None, description="The main model used for inference") + controlnets: Optional[list[ControlField]] = Field(default=None, description="The ControlNets used for inference") + ipAdapters: Optional[list[IPAdapterMetadataField]] = Field( + default=None, description="The IP Adapters used for inference" + ) + t2iAdapters: Optional[list[T2IAdapterField]] = Field(default=None, description="The IP Adapters used for inference") + loras: Optional[list[LoRAMetadataField]] = Field(default=None, description="The LoRAs used for inference") vae: Optional[VAEModelField] = Field( default=None, description="The VAE used for decoding, if the main model's default was not used", @@ -122,27 +125,34 @@ class MetadataAccumulatorOutput(BaseInvocationOutput): class MetadataAccumulatorInvocation(BaseInvocation): """Outputs a Core Metadata Object""" - generation_mode: str = InputField( + generation_mode: Optional[str] = InputField( + default=None, description="The generation mode that output this image", ) - positive_prompt: str = InputField(description="The positive prompt parameter") - negative_prompt: str = InputField(description="The negative prompt parameter") - width: int = InputField(description="The width parameter") - height: int = InputField(description="The height parameter") - seed: int = InputField(description="The seed used for noise generation") - rand_device: str = InputField(description="The device used for random number generation") - cfg_scale: float = InputField(description="The classifier-free guidance scale parameter") - steps: int = InputField(description="The number of steps used for inference") - scheduler: str = InputField(description="The scheduler used for inference") - clip_skip: Optional[int] = Field( + positive_prompt: Optional[str] = InputField(default=None, description="The positive prompt parameter") + negative_prompt: Optional[str] = InputField(default=None, description="The negative prompt parameter") + width: Optional[int] = InputField(default=None, description="The width parameter") + height: Optional[int] = InputField(default=None, description="The height parameter") + seed: Optional[int] = InputField(default=None, description="The seed used for noise generation") + rand_device: Optional[str] = InputField(default=None, description="The device used for random number generation") + cfg_scale: Optional[float] = InputField(default=None, description="The classifier-free guidance scale parameter") + steps: Optional[int] = InputField(default=None, description="The number of steps used for inference") + scheduler: Optional[str] = InputField(default=None, description="The scheduler used for inference") + clip_skip: Optional[int] = InputField( default=None, description="The number of skipped CLIP layers", ) - model: MainModelField = InputField(description="The main model used for inference") - controlnets: list[ControlField] = InputField(description="The ControlNets used for inference") - ipAdapters: list[IPAdapterMetadataField] = InputField(description="The IP Adapters used for inference") - t2iAdapters: list[T2IAdapterField] = Field(description="The IP Adapters used for inference") - loras: list[LoRAMetadataField] = InputField(description="The LoRAs used for inference") + model: Optional[MainModelField] = InputField(default=None, description="The main model used for inference") + controlnets: Optional[list[ControlField]] = InputField( + default=None, description="The ControlNets used for inference" + ) + ipAdapters: Optional[list[IPAdapterMetadataField]] = InputField( + default=None, description="The IP Adapters used for inference" + ) + t2iAdapters: Optional[list[T2IAdapterField]] = InputField( + default=None, description="The IP Adapters used for inference" + ) + loras: Optional[list[LoRAMetadataField]] = InputField(default=None, description="The LoRAs used for inference") strength: Optional[float] = InputField( default=None, description="The strength used for latents-to-latents", @@ -158,9 +168,11 @@ class MetadataAccumulatorInvocation(BaseInvocation): # High resolution fix metadata. hrf_width: Optional[int] = InputField( + default=None, description="The high resolution fix height and width multipler.", ) hrf_height: Optional[int] = InputField( + default=None, description="The high resolution fix height and width multipler.", ) hrf_strength: Optional[float] = InputField( diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addT2IAdapterToLinearGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addT2IAdapterToLinearGraph.ts index f07edcb220..16dc5bbc71 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addT2IAdapterToLinearGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addT2IAdapterToLinearGraph.ts @@ -86,7 +86,7 @@ export const addT2IAdaptersToLinearGraph = ( graph.nodes[t2iAdapterNode.id] = t2iAdapterNode as T2IAdapterInvocation; - if (metadataAccumulator?.ipAdapters) { + if (metadataAccumulator?.t2iAdapters) { // metadata accumulator only needs a control field - not the whole node // extract what we need and add to the accumulator const t2iAdapterField = omit(t2iAdapterNode, [ diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index d71d01e6af..e476217e6c 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -2058,14 +2058,14 @@ export type components = { /** * App Version * @description The version of InvokeAI used to generate this image - * @default 3.2.0 + * @default 3.3.0 */ app_version?: string; /** * Generation Mode * @description The generation mode that output this image */ - generation_mode: string; + generation_mode?: string; /** * Created By * @description The name of the creator of the image @@ -2075,47 +2075,47 @@ export type components = { * Positive Prompt * @description The positive prompt parameter */ - positive_prompt: string; + positive_prompt?: string; /** * Negative Prompt * @description The negative prompt parameter */ - negative_prompt: string; + negative_prompt?: string; /** * Width * @description The width parameter */ - width: number; + width?: number; /** * Height * @description The height parameter */ - height: number; + height?: number; /** * Seed * @description The seed used for noise generation */ - seed: number; + seed?: number; /** * Rand Device * @description The device used for random number generation */ - rand_device: string; + rand_device?: string; /** * Cfg Scale * @description The classifier-free guidance scale parameter */ - cfg_scale: number; + cfg_scale?: number; /** * Steps * @description The number of steps used for inference */ - steps: number; + steps?: number; /** * Scheduler * @description The scheduler used for inference */ - scheduler: string; + scheduler?: string; /** * Clip Skip * @description The number of skipped CLIP layers @@ -2125,27 +2125,27 @@ export type components = { * Model * @description The main model used for inference */ - model: components["schemas"]["MainModelField"]; + model?: components["schemas"]["MainModelField"]; /** * Controlnets * @description The ControlNets used for inference */ - controlnets: components["schemas"]["ControlField"][]; + controlnets?: components["schemas"]["ControlField"][]; /** * Ipadapters * @description The IP Adapters used for inference */ - ipAdapters: components["schemas"]["IPAdapterMetadataField"][]; + ipAdapters?: components["schemas"]["IPAdapterMetadataField"][]; /** * T2Iadapters * @description The IP Adapters used for inference */ - t2iAdapters: components["schemas"]["T2IAdapterField"][]; + t2iAdapters?: components["schemas"]["T2IAdapterField"][]; /** * Loras * @description The LoRAs used for inference */ - loras: components["schemas"]["LoRAMetadataField"][]; + loras?: components["schemas"]["LoRAMetadataField"][]; /** * Vae * @description The VAE used for decoding, if the main model's default was not used @@ -2258,7 +2258,7 @@ export type components = { /** * Fp32 * @description Whether or not to use full float32 precision - * @default false + * @default true */ fp32?: boolean; /** @@ -3293,7 +3293,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: components["schemas"]["BooleanInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["ColorMapImageProcessorInvocation"]; + [key: string]: components["schemas"]["BooleanInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["ColorMapImageProcessorInvocation"]; }; /** * Edges @@ -3336,7 +3336,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: components["schemas"]["BooleanOutput"] | components["schemas"]["BooleanCollectionOutput"] | components["schemas"]["IntegerOutput"] | components["schemas"]["IntegerCollectionOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["StringCollectionOutput"] | components["schemas"]["ImageOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["DenoiseMaskOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["LatentsCollectionOutput"] | components["schemas"]["ColorOutput"] | components["schemas"]["ColorCollectionOutput"] | components["schemas"]["ConditioningOutput"] | components["schemas"]["ConditioningCollectionOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["SDXLLoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["SeamlessModeOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["IPAdapterOutput"] | components["schemas"]["T2IAdapterOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["SchedulerOutput"] | components["schemas"]["ONNXModelLoaderOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["StringPosNegOutput"] | components["schemas"]["String2Output"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"] | components["schemas"]["FaceMaskOutput"] | components["schemas"]["FaceOffOutput"]; + [key: string]: components["schemas"]["BooleanOutput"] | components["schemas"]["BooleanCollectionOutput"] | components["schemas"]["IntegerOutput"] | components["schemas"]["IntegerCollectionOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["StringCollectionOutput"] | components["schemas"]["ImageOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["DenoiseMaskOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["LatentsCollectionOutput"] | components["schemas"]["ColorOutput"] | components["schemas"]["ColorCollectionOutput"] | components["schemas"]["ConditioningOutput"] | components["schemas"]["ConditioningCollectionOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["T2IAdapterOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["SDXLLoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["SeamlessModeOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["IPAdapterOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["SchedulerOutput"] | components["schemas"]["ONNXModelLoaderOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["StringPosNegOutput"] | components["schemas"]["String2Output"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"] | components["schemas"]["FaceMaskOutput"] | components["schemas"]["FaceOffOutput"]; }; /** * Errors @@ -4735,7 +4735,7 @@ export type components = { /** * Fp32 * @description Whether or not to use full float32 precision - * @default false + * @default true */ fp32?: boolean; /** @@ -5453,7 +5453,7 @@ export type components = { /** * Fp32 * @description Whether or not to use full float32 precision - * @default false + * @default true */ fp32?: boolean; /** @@ -6169,7 +6169,7 @@ export type components = { * T2Iadapters * @description The IP Adapters used for inference */ - t2iAdapters: components["schemas"]["T2IAdapterField"][]; + t2iAdapters?: components["schemas"]["T2IAdapterField"][]; /** * Loras * @description The LoRAs used for inference @@ -6191,17 +6191,17 @@ export type components = { */ vae?: components["schemas"]["VAEModelField"]; /** - * High Resolution Fix Width - * @description The high resolution fix height and width multiplier. + * Hrf Width + * @description The high resolution fix height and width multipler. */ hrf_width?: number; /** - * High Resolution Fix Height - * @description The high resolution fix height and width multiplier. + * Hrf Height + * @description The high resolution fix height and width multipler. */ hrf_height?: number; /** - * High Resolution Strength + * Hrf Strength * @description The high resolution fix img2img strength used in the upscale pass. */ hrf_strength?: number; @@ -9744,18 +9744,6 @@ export type components = { /** Ui Order */ ui_order?: number; }; - /** - * StableDiffusion1ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusionXLModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; /** * IPAdapterModelFormat * @description An enumeration. @@ -9768,12 +9756,6 @@ export type components = { * @enum {string} */ T2IAdapterModelFormat: "diffusers"; - /** - * ControlNetModelFormat - * @description An enumeration. - * @enum {string} - */ - ControlNetModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusion2ModelFormat * @description An enumeration. @@ -9786,12 +9768,30 @@ export type components = { * @enum {string} */ CLIPVisionModelFormat: "diffusers"; + /** + * ControlNetModelFormat + * @description An enumeration. + * @enum {string} + */ + ControlNetModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionOnnxModelFormat * @description An enumeration. * @enum {string} */ StableDiffusionOnnxModelFormat: "olive" | "onnx"; + /** + * StableDiffusion1ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusionXLModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -9918,7 +9918,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["BooleanInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["ColorMapImageProcessorInvocation"]; + "application/json": components["schemas"]["BooleanInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["ColorMapImageProcessorInvocation"]; }; }; responses: { @@ -9960,7 +9960,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["BooleanInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["ColorMapImageProcessorInvocation"]; + "application/json": components["schemas"]["BooleanInvocation"] | components["schemas"]["BooleanCollectionInvocation"] | components["schemas"]["IntegerInvocation"] | components["schemas"]["IntegerCollectionInvocation"] | components["schemas"]["FloatInvocation"] | components["schemas"]["FloatCollectionInvocation"] | components["schemas"]["StringInvocation"] | components["schemas"]["StringCollectionInvocation"] | components["schemas"]["ImageInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["LatentsInvocation"] | components["schemas"]["LatentsCollectionInvocation"] | components["schemas"]["ColorInvocation"] | components["schemas"]["ConditioningInvocation"] | components["schemas"]["ConditioningCollectionInvocation"] | components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["T2IAdapterInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["SeamlessModeInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["IPAdapterInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["SchedulerInvocation"] | components["schemas"]["CreateDenoiseMaskInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["BlendLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["BlankImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageChannelOffsetInvocation"] | components["schemas"]["ImageChannelMultiplyInvocation"] | components["schemas"]["SaveImageInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["LaMaInfillInvocation"] | components["schemas"]["CV2InfillInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["FaceOffInvocation"] | components["schemas"]["FaceMaskInvocation"] | components["schemas"]["FaceIdentifierInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["RandomFloatInvocation"] | components["schemas"]["FloatToIntegerInvocation"] | components["schemas"]["RoundInvocation"] | components["schemas"]["IntegerMathInvocation"] | components["schemas"]["FloatMathInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["StringSplitNegInvocation"] | components["schemas"]["StringSplitInvocation"] | components["schemas"]["StringJoinInvocation"] | components["schemas"]["StringJoinThreeInvocation"] | components["schemas"]["StringReplaceInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["ColorMapImageProcessorInvocation"]; }; }; responses: { From c3d6ff5b11a57bd5d1a89affbafdb8a5a184c695 Mon Sep 17 00:00:00 2001 From: Marta Nahorniuk Date: Thu, 12 Oct 2023 13:17:04 +0300 Subject: [PATCH 55/70] fixed bug #4857 --- .../SettingsModal/SettingsClearIntermediates.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx index 423ce41bcd..62d4c95a45 100644 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx +++ b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx @@ -8,6 +8,7 @@ import { useClearIntermediatesMutation, useGetIntermediatesCountQuery, } from '../../../../services/api/endpoints/images'; +import { useGetQueueStatusQuery } from 'services/api/endpoints/queue'; import { resetCanvas } from '../../../canvas/store/canvasSlice'; import { addToast } from '../../store/systemSlice'; import StyledFlex from './StyledFlex'; @@ -22,7 +23,14 @@ export default function SettingsClearIntermediates() { const [clearIntermediates, { isLoading: isLoadingClearIntermediates }] = useClearIntermediatesMutation(); + const { data: queueStatus } = useGetQueueStatusQuery(); + const hasPendingItems = queueStatus && (queueStatus.in_progress > 0 || queueStatus.pending > 0); + const handleClickClearIntermediates = useCallback(() => { + if (hasPendingItems) { + return; + } + clearIntermediates() .unwrap() .then((clearedCount) => { From 99e6bb48ba3cac24485573dcdb548dd4c4e0bc38 Mon Sep 17 00:00:00 2001 From: Marta Nahorniuk Date: Thu, 12 Oct 2023 15:34:06 +0300 Subject: [PATCH 56/70] fixed problems --- .../components/SettingsModal/SettingsClearIntermediates.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx index 62d4c95a45..51cabe9f46 100644 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx +++ b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx @@ -24,7 +24,7 @@ export default function SettingsClearIntermediates() { useClearIntermediatesMutation(); const { data: queueStatus } = useGetQueueStatusQuery(); - const hasPendingItems = queueStatus && (queueStatus.in_progress > 0 || queueStatus.pending > 0); + const hasPendingItems = queueStatus && (queueStatus.queue.in_progress > 0 || queueStatus.queue.pending > 0); const handleClickClearIntermediates = useCallback(() => { if (hasPendingItems) { @@ -51,7 +51,7 @@ export default function SettingsClearIntermediates() { }) ); }); - }, [t, clearIntermediates, dispatch]); + }, [t, clearIntermediates, dispatch, hasPendingItems]); useEffect(() => { // update the count on mount From 779c902402b808f4d22bd682ade7edba4ca11f6f Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sun, 15 Oct 2023 17:18:36 +1100 Subject: [PATCH 57/70] chore(ui): lint --- .../components/SettingsModal/SettingsClearIntermediates.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx index 51cabe9f46..c2a67cba26 100644 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx +++ b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx @@ -24,7 +24,9 @@ export default function SettingsClearIntermediates() { useClearIntermediatesMutation(); const { data: queueStatus } = useGetQueueStatusQuery(); - const hasPendingItems = queueStatus && (queueStatus.queue.in_progress > 0 || queueStatus.queue.pending > 0); + const hasPendingItems = + queueStatus && + (queueStatus.queue.in_progress > 0 || queueStatus.queue.pending > 0); const handleClickClearIntermediates = useCallback(() => { if (hasPendingItems) { From 95cca9493c4beab58b39a10b0c42bc0efda19e3b Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sun, 15 Oct 2023 17:21:35 +1100 Subject: [PATCH 58/70] feat(ui): disable clear intermediates button when queue has items --- .../components/SettingsModal/SettingsClearIntermediates.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx index c2a67cba26..648a4b5162 100644 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx +++ b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx @@ -67,7 +67,7 @@ export default function SettingsClearIntermediates() { colorScheme="warning" onClick={handleClickClearIntermediates} isLoading={isLoadingClearIntermediates} - isDisabled={!intermediatesCount} + isDisabled={!intermediatesCount || hasPendingItems} > {t('settings.clearIntermediatesWithCount', { count: intermediatesCount ?? 0, From 1c099e0abb9221483bdac0a567394d1b493cbece Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sun, 15 Oct 2023 17:27:25 +1100 Subject: [PATCH 59/70] feat(ui): add tooltip to clear intermediates button when disabled --- invokeai/frontend/web/public/locales/en.json | 1 + .../components/SettingsModal/SettingsClearIntermediates.tsx | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index dd96193d5d..dc6c54f025 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -1115,6 +1115,7 @@ "showProgressInViewer": "Show Progress Images in Viewer", "ui": "User Interface", "useSlidersForAll": "Use Sliders For All Options", + "clearIntermediatesDisabled": "Queue must be empty to clear intermediates", "clearIntermediatesDesc1": "Clearing intermediates will reset your Canvas and ControlNet state.", "clearIntermediatesDesc2": "Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space.", "clearIntermediatesDesc3": "Your gallery images will not be deleted.", diff --git a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx index 648a4b5162..fbe5692431 100644 --- a/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx +++ b/invokeai/frontend/web/src/features/system/components/SettingsModal/SettingsClearIntermediates.tsx @@ -3,12 +3,12 @@ import { useAppDispatch } from 'app/store/storeHooks'; import { controlAdaptersReset } from 'features/controlAdapters/store/controlAdaptersSlice'; import { useCallback, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; +import { useGetQueueStatusQuery } from 'services/api/endpoints/queue'; import IAIButton from '../../../../common/components/IAIButton'; import { useClearIntermediatesMutation, useGetIntermediatesCountQuery, } from '../../../../services/api/endpoints/images'; -import { useGetQueueStatusQuery } from 'services/api/endpoints/queue'; import { resetCanvas } from '../../../canvas/store/canvasSlice'; import { addToast } from '../../store/systemSlice'; import StyledFlex from './StyledFlex'; @@ -64,6 +64,9 @@ export default function SettingsClearIntermediates() { {t('settings.clearIntermediates')} Date: Sun, 15 Oct 2023 18:16:10 +1100 Subject: [PATCH 60/70] fix(ui): fix control adapter translation string --- invokeai/frontend/web/public/locales/en.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index dc6c54f025..818f9f4fa9 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -137,9 +137,9 @@ "controlnet": { "controlAdapter_one": "Control Adapter", "controlAdapter_other": "Control Adapters", - "controlnet": "$t(controlnet.controlAdapter) #{{number}} ($t(common.controlNet))", - "ip_adapter": "$t(controlnet.controlAdapter) #{{number}} ($t(common.ipAdapter))", - "t2i_adapter": "$t(controlnet.controlAdapter) #{{number}} ($t(common.t2iAdapter))", + "controlnet": "$t(controlnet.controlAdapter_one) #{{number}} ($t(common.controlNet))", + "ip_adapter": "$t(controlnet.controlAdapter_one) #{{number}} ($t(common.ipAdapter))", + "t2i_adapter": "$t(controlnet.controlAdapter_one) #{{number}} ($t(common.t2iAdapter))", "addControlNet": "Add $t(common.controlNet)", "addIPAdapter": "Add $t(common.ipAdapter)", "addT2IAdapter": "Add $t(common.t2iAdapter)", From 2060ee22f23f238de59f44afb7c637a5de61546c Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sun, 15 Oct 2023 18:28:05 +1100 Subject: [PATCH 61/70] fix(ui): reset canvas batchIds on clear/batch cancel Closes #4889 --- .../web/src/features/canvas/store/canvasSlice.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts b/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts index 77fae4e0a1..a5520322be 100644 --- a/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts +++ b/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts @@ -30,6 +30,7 @@ import { isCanvasMaskLine, } from './canvasTypes'; import { appSocketQueueItemStatusChanged } from 'services/events/actions'; +import { queueApi } from 'services/api/endpoints/queue'; export const initialLayerState: CanvasLayerState = { objects: [], @@ -812,6 +813,20 @@ export const canvasSlice = createSlice({ ); } }); + builder.addMatcher( + queueApi.endpoints.clearQueue.matchFulfilled, + (state) => { + state.batchIds = []; + } + ); + builder.addMatcher( + queueApi.endpoints.cancelByBatchIds.matchFulfilled, + (state, action) => { + state.batchIds = state.batchIds.filter( + (id) => !action.meta.arg.originalArgs.batch_ids.includes(id) + ); + } + ); }, }); From bcf0d8a590529febe8336510312e703bf3728e6a Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sun, 15 Oct 2023 18:34:25 +1100 Subject: [PATCH 62/70] fix(ui): use `_other` for control adapter collapse --- .../controlAdapters/components/ControlAdaptersCollapse.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/invokeai/frontend/web/src/features/controlAdapters/components/ControlAdaptersCollapse.tsx b/invokeai/frontend/web/src/features/controlAdapters/components/ControlAdaptersCollapse.tsx index d1c3f6f0b9..2cad007a03 100644 --- a/invokeai/frontend/web/src/features/controlAdapters/components/ControlAdaptersCollapse.tsx +++ b/invokeai/frontend/web/src/features/controlAdapters/components/ControlAdaptersCollapse.tsx @@ -90,9 +90,7 @@ const ControlAdaptersCollapse = () => { return ( From 3f9708f166098eeb070ebde842217bf88bcceda0 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Sun, 15 Oct 2023 09:40:37 +0200 Subject: [PATCH 63/70] translationBot(ui): update translation (Italian) Currently translated at 91.9% (1119 of 1217 strings) Co-authored-by: Riccardo Giovanetti Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 24 ++++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 3123d8fcf8..d3c3c7b9ff 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -87,7 +87,8 @@ "learnMore": "Per saperne di più", "ipAdapter": "Adattatore IP", "t2iAdapter": "Adattatore T2I", - "controlAdapter": "Adattatore di Controllo" + "controlAdapter": "Adattatore di Controllo", + "controlNet": "ControlNet" }, "gallery": { "generations": "Generazioni", @@ -574,9 +575,9 @@ "systemBusy": "Sistema occupato", "unableToInvoke": "Impossibile invocare", "systemDisconnected": "Sistema disconnesso", - "noControlImageForControlAdapter": "L'adattatore di controllo {{number}} non ha un'immagine di controllo", - "noModelForControlAdapter": "Nessun modello selezionato per l'adattatore di controllo {{number}}.", - "incompatibleBaseModelForControlAdapter": "Il modello dell'adattatore di controllo {{number}} non è compatibile con il modello principale.", + "noControlImageForControlAdapter": "L'adattatore di controllo #{{number}} non ha un'immagine di controllo", + "noModelForControlAdapter": "Nessun modello selezionato per l'adattatore di controllo #{{number}}.", + "incompatibleBaseModelForControlAdapter": "Il modello dell'adattatore di controllo #{{number}} non è compatibile con il modello principale.", "missingNodeTemplate": "Modello di nodo mancante" }, "enableNoiseSettings": "Abilita le impostazioni del rumore", @@ -629,8 +630,8 @@ "clearIntermediates": "Cancella le immagini intermedie", "clearIntermediatesDesc3": "Le immagini della galleria non verranno eliminate.", "clearIntermediatesDesc2": "Le immagini intermedie sono sottoprodotti della generazione, diversi dalle immagini risultanti nella galleria. La cancellazione degli intermedi libererà spazio su disco.", - "intermediatesCleared_one": "Cancellata 1 immagine intermedia", - "intermediatesCleared_many": "Cancellate {{number}} immagini intermedie", + "intermediatesCleared_one": "Cancellata {{count}} immagine intermedia", + "intermediatesCleared_many": "Cancellate {{count}} immagini intermedie", "intermediatesCleared_other": "", "clearIntermediatesDesc1": "La cancellazione delle immagini intermedie ripristinerà lo stato di Tela Unificata e ControlNet.", "intermediatesClearedFailed": "Problema con la cancellazione delle immagini intermedie" @@ -683,8 +684,8 @@ "nodesUnrecognizedTypes": "Impossibile caricare. Il grafico ha tipi di dati non riconosciuti", "nodesNotValidJSON": "JSON non valido", "nodesBrokenConnections": "Impossibile caricare. Alcune connessioni sono interrotte.", - "baseModelChangedCleared_one": "Il modello base è stato modificato, cancellato o disabilitato {{number}} sotto-modello incompatibile", - "baseModelChangedCleared_many": "", + "baseModelChangedCleared_one": "Il modello base è stato modificato, cancellato o disabilitato {{count}} sotto-modello incompatibile", + "baseModelChangedCleared_many": "Il modello base è stato modificato, cancellato o disabilitato {{count}} sotto-modelli incompatibili", "baseModelChangedCleared_other": "", "imageSavingFailed": "Salvataggio dell'immagine non riuscito", "canvasSentControlnetAssets": "Tela inviata a ControlNet & Risorse", @@ -1072,7 +1073,9 @@ "pause": "Sospendi", "pruneTooltip": "Rimuovi {{item_count}} elementi completati", "cancelSucceeded": "Elemento annullato", - "batchQueuedDesc": "Aggiunte {{item_count}} sessioni a {{direction}} della coda", + "batchQueuedDesc_one": "Aggiunta {{count}} sessione a {{direction}} della coda", + "batchQueuedDesc_many": "Aggiunte {{count}} sessioni a {{direction}} della coda", + "batchQueuedDesc_other": "", "graphQueued": "Grafico in coda", "batch": "Lotto", "clearQueueAlertDialog": "Lo svuotamento della coda annulla immediatamente tutti gli elementi in elaborazione e cancella completamente la coda.", @@ -1361,7 +1364,8 @@ "controlNet": { "paragraphs": [ "ControlNet fornisce una guida al processo di generazione, aiutando a creare immagini con composizione, struttura o stile controllati, a seconda del modello selezionato." - ] + ], + "heading": "ControlNet" } }, "sdxl": { From 6994783c171e1b5898a88d133a2c89ed9685e9a3 Mon Sep 17 00:00:00 2001 From: psychedelicious Date: Sun, 15 Oct 2023 09:40:37 +0200 Subject: [PATCH 64/70] translationBot(ui): update translation (Italian) Currently translated at 91.9% (1119 of 1217 strings) Co-authored-by: psychedelicious Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index d3c3c7b9ff..32994e0169 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -1043,7 +1043,7 @@ "addIPAdapter": "Aggiungi $t(common.ipAdapter)", "controlAdapter_one": "Adattatore di Controllo", "controlAdapter_many": "Adattatori di Controllo", - "controlAdapter_other": "", + "controlAdapter_other": "Adattatori di Controllo", "megaControl": "Mega ControlNet", "minConfidence": "Confidenza minima", "scribble": "Scribble" From ffb01f13452250c6760836057450782c18aaed0b Mon Sep 17 00:00:00 2001 From: Jonathan <34005131+JPPhoto@users.noreply.github.com> Date: Fri, 13 Oct 2023 15:07:08 -0500 Subject: [PATCH 65/70] Update facetools.py Facetools nodes were cutting off faces that extended beyond chunk boundaries in some cases. All faces found are considered and are coalesced rather than pruned, meaning that you should not see half a face any more. --- invokeai/app/invocations/facetools.py | 108 +++++++++++++++++--------- 1 file changed, 70 insertions(+), 38 deletions(-) diff --git a/invokeai/app/invocations/facetools.py b/invokeai/app/invocations/facetools.py index a433fac792..31ab77bd1a 100644 --- a/invokeai/app/invocations/facetools.py +++ b/invokeai/app/invocations/facetools.py @@ -46,6 +46,8 @@ class FaceResultData(TypedDict): y_center: float mesh_width: int mesh_height: int + chunk_x_offset: int + chunk_y_offset: int class FaceResultDataWithId(FaceResultData): @@ -78,6 +80,48 @@ FONT_SIZE = 32 FONT_STROKE_WIDTH = 4 +def coalesce_faces(face1: FaceResultData, face2: FaceResultData) -> FaceResultData: + face1_x_offset = face1["chunk_x_offset"] - min(face1["chunk_x_offset"], face2["chunk_x_offset"]) + face2_x_offset = face2["chunk_x_offset"] - min(face1["chunk_x_offset"], face2["chunk_x_offset"]) + face1_y_offset = face1["chunk_y_offset"] - min(face1["chunk_y_offset"], face2["chunk_y_offset"]) + face2_y_offset = face2["chunk_y_offset"] - min(face1["chunk_y_offset"], face2["chunk_y_offset"]) + + new_im_width = ( + max(face1["image"].width, face2["image"].width) + + max(face1["chunk_x_offset"], face2["chunk_x_offset"]) + - min(face1["chunk_x_offset"], face2["chunk_x_offset"]) + ) + new_im_height = ( + max(face1["image"].height, face2["image"].height) + + max(face1["chunk_y_offset"], face2["chunk_y_offset"]) + - min(face1["chunk_y_offset"], face2["chunk_y_offset"]) + ) + pil_image = Image.new(mode=face1["image"].mode, size=(new_im_width, new_im_height)) + pil_image.paste(face1["image"], (face1_x_offset, face1_y_offset)) + pil_image.paste(face2["image"], (face2_x_offset, face2_y_offset)) + + # Mask images are always from the origin + new_mask_im_width = max(face1["mask"].width, face2["mask"].width) + new_mask_im_height = max(face1["mask"].height, face2["mask"].height) + mask_pil = create_white_image(new_mask_im_width, new_mask_im_height) + black_image = create_black_image(face1["mask"].width, face1["mask"].height) + mask_pil.paste(black_image, (0, 0), ImageOps.invert(face1["mask"])) + black_image = create_black_image(face2["mask"].width, face2["mask"].height) + mask_pil.paste(black_image, (0, 0), ImageOps.invert(face2["mask"])) + + new_face = FaceResultData( + image=pil_image, + mask=mask_pil, + x_center=max(face1["x_center"], face2["x_center"]), + y_center=max(face1["y_center"], face2["y_center"]), + mesh_width=max(face1["mesh_width"], face2["mesh_width"]), + mesh_height=max(face1["mesh_height"], face2["mesh_height"]), + chunk_x_offset=max(face1["chunk_x_offset"], face2["chunk_x_offset"]), + chunk_y_offset=max(face2["chunk_y_offset"], face2["chunk_y_offset"]), + ) + return new_face + + def prepare_faces_list( face_result_list: list[FaceResultData], ) -> list[FaceResultDataWithId]: @@ -91,7 +135,7 @@ def prepare_faces_list( should_add = True candidate_x_center = candidate["x_center"] candidate_y_center = candidate["y_center"] - for face in deduped_faces: + for idx, face in enumerate(deduped_faces): face_center_x = face["x_center"] face_center_y = face["y_center"] face_radius_w = face["mesh_width"] / 2 @@ -105,6 +149,7 @@ def prepare_faces_list( ) if p < 1: # Inside of the already-added face's radius + deduped_faces[idx] = coalesce_faces(face, candidate) should_add = False break @@ -138,7 +183,6 @@ def generate_face_box_mask( chunk_x_offset: int = 0, chunk_y_offset: int = 0, draw_mesh: bool = True, - check_bounds: bool = True, ) -> list[FaceResultData]: result = [] mask_pil = None @@ -211,33 +255,20 @@ def generate_face_box_mask( mask_pil = create_white_image(w + chunk_x_offset, h + chunk_y_offset) mask_pil.paste(init_mask_pil, (chunk_x_offset, chunk_y_offset)) - left_side = x_center - mesh_width - right_side = x_center + mesh_width - top_side = y_center - mesh_height - bottom_side = y_center + mesh_height - im_width, im_height = pil_image.size - over_w = im_width * 0.1 - over_h = im_height * 0.1 - if not check_bounds or ( - (left_side >= -over_w) - and (right_side < im_width + over_w) - and (top_side >= -over_h) - and (bottom_side < im_height + over_h) - ): - x_center = float(x_center) - y_center = float(y_center) - face = FaceResultData( - image=pil_image, - mask=mask_pil or create_white_image(*pil_image.size), - x_center=x_center + chunk_x_offset, - y_center=y_center + chunk_y_offset, - mesh_width=mesh_width, - mesh_height=mesh_height, - ) + x_center = float(x_center) + y_center = float(y_center) + face = FaceResultData( + image=pil_image, + mask=mask_pil or create_white_image(*pil_image.size), + x_center=x_center + chunk_x_offset, + y_center=y_center + chunk_y_offset, + mesh_width=mesh_width, + mesh_height=mesh_height, + chunk_x_offset=chunk_x_offset, + chunk_y_offset=chunk_y_offset, + ) - result.append(face) - else: - context.services.logger.info("FaceTools --> Face out of bounds, ignoring.") + result.append(face) return result @@ -346,7 +377,6 @@ def get_faces_list( chunk_x_offset=0, chunk_y_offset=0, draw_mesh=draw_mesh, - check_bounds=False, ) if should_chunk or len(result) == 0: context.services.logger.info("FaceTools --> Chunking image (chunk toggled on, or no face found in full image).") @@ -360,24 +390,26 @@ def get_faces_list( if width > height: # Landscape - slice the image horizontally fx = 0.0 - steps = int(width * 2 / height) + steps = int(width * 2 / height) + 1 + increment = (width - height) / (steps - 1) while fx <= (width - height): x = int(fx) - image_chunks.append(image.crop((x, 0, x + height - 1, height - 1))) + image_chunks.append(image.crop((x, 0, x + height, height))) x_offsets.append(x) y_offsets.append(0) - fx += (width - height) / steps + fx += increment context.services.logger.info(f"FaceTools --> Chunk starting at x = {x}") elif height > width: # Portrait - slice the image vertically fy = 0.0 - steps = int(height * 2 / width) + steps = int(height * 2 / width) + 1 + increment = (height - width) / (steps - 1) while fy <= (height - width): y = int(fy) - image_chunks.append(image.crop((0, y, width - 1, y + width - 1))) + image_chunks.append(image.crop((0, y, width, y + width))) x_offsets.append(0) y_offsets.append(y) - fy += (height - width) / steps + fy += increment context.services.logger.info(f"FaceTools --> Chunk starting at y = {y}") for idx in range(len(image_chunks)): @@ -404,7 +436,7 @@ def get_faces_list( return all_faces -@invocation("face_off", title="FaceOff", tags=["image", "faceoff", "face", "mask"], category="image", version="1.0.1") +@invocation("face_off", title="FaceOff", tags=["image", "faceoff", "face", "mask"], category="image", version="1.0.2") class FaceOffInvocation(BaseInvocation): """Bound, extract, and mask a face from an image using MediaPipe detection""" @@ -498,7 +530,7 @@ class FaceOffInvocation(BaseInvocation): return output -@invocation("face_mask_detection", title="FaceMask", tags=["image", "face", "mask"], category="image", version="1.0.1") +@invocation("face_mask_detection", title="FaceMask", tags=["image", "face", "mask"], category="image", version="1.0.2") class FaceMaskInvocation(BaseInvocation): """Face mask creation using mediapipe face detection""" @@ -616,7 +648,7 @@ class FaceMaskInvocation(BaseInvocation): @invocation( - "face_identifier", title="FaceIdentifier", tags=["image", "face", "identifier"], category="image", version="1.0.1" + "face_identifier", title="FaceIdentifier", tags=["image", "face", "identifier"], category="image", version="1.0.2" ) class FaceIdentifierInvocation(BaseInvocation): """Outputs an image with detected face IDs printed on each face. For use with other FaceTools.""" From 3e389d3f6061deec6a9f68be38755495dc8cf470 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sun, 15 Oct 2023 19:30:39 +1100 Subject: [PATCH 66/70] chore(ui): update deps --- invokeai/frontend/web/package.json | 96 +- .../listeners/canvasMerged.ts | 2 +- invokeai/frontend/web/yarn.lock | 1330 +++++++++-------- 3 files changed, 752 insertions(+), 676 deletions(-) diff --git a/invokeai/frontend/web/package.json b/invokeai/frontend/web/package.json index e5f1513c89..59e672544a 100644 --- a/invokeai/frontend/web/package.json +++ b/invokeai/frontend/web/package.json @@ -54,42 +54,42 @@ ] }, "dependencies": { - "@chakra-ui/anatomy": "^2.2.0", - "@chakra-ui/icons": "^2.1.0", - "@chakra-ui/react": "^2.8.0", + "@chakra-ui/anatomy": "^2.2.1", + "@chakra-ui/icons": "^2.1.1", + "@chakra-ui/react": "^2.8.1", "@chakra-ui/styled-system": "^2.9.1", - "@chakra-ui/theme-tools": "^2.1.0", + "@chakra-ui/theme-tools": "^2.1.1", "@dagrejs/graphlib": "^2.1.13", "@dnd-kit/core": "^6.0.8", "@dnd-kit/modifiers": "^6.0.1", "@dnd-kit/utilities": "^3.2.1", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", - "@floating-ui/react-dom": "^2.0.1", - "@fontsource-variable/inter": "^5.0.8", - "@fontsource/inter": "^5.0.8", + "@floating-ui/react-dom": "^2.0.2", + "@fontsource-variable/inter": "^5.0.13", + "@fontsource/inter": "^5.0.13", "@mantine/core": "^6.0.19", "@mantine/form": "^6.0.19", "@mantine/hooks": "^6.0.19", "@nanostores/react": "^0.7.1", - "@reduxjs/toolkit": "^1.9.5", - "@roarr/browser-log-writer": "^1.1.5", + "@reduxjs/toolkit": "^1.9.7", + "@roarr/browser-log-writer": "^1.3.0", "@stevebel/png": "^1.5.1", "compare-versions": "^6.1.0", "dateformat": "^5.0.3", - "formik": "^2.4.3", - "framer-motion": "^10.16.1", + "formik": "^2.4.5", + "framer-motion": "^10.16.4", "fuse.js": "^6.6.2", - "i18next": "^23.4.4", + "i18next": "^23.5.1", "i18next-browser-languagedetector": "^7.0.2", - "i18next-http-backend": "^2.2.1", - "konva": "^9.2.0", + "i18next-http-backend": "^2.2.2", + "konva": "^9.2.2", "lodash-es": "^4.17.21", "nanostores": "^0.9.2", "new-github-issue-url": "^1.0.0", - "openapi-fetch": "^0.7.4", - "overlayscrollbars": "^2.2.0", - "overlayscrollbars-react": "^0.5.0", + "openapi-fetch": "^0.7.10", + "overlayscrollbars": "^2.3.2", + "overlayscrollbars-react": "^0.5.2", "patch-package": "^8.0.0", "query-string": "^8.1.0", "react": "^18.2.0", @@ -98,25 +98,25 @@ "react-dropzone": "^14.2.3", "react-error-boundary": "^4.0.11", "react-hotkeys-hook": "4.4.1", - "react-i18next": "^13.1.2", - "react-icons": "^4.10.1", + "react-i18next": "^13.3.0", + "react-icons": "^4.11.0", "react-konva": "^18.2.10", - "react-redux": "^8.1.2", + "react-redux": "^8.1.3", "react-resizable-panels": "^0.0.55", "react-use": "^17.4.0", - "react-virtuoso": "^4.5.0", - "react-zoom-pan-pinch": "^3.0.8", - "reactflow": "^11.8.3", + "react-virtuoso": "^4.6.1", + "react-zoom-pan-pinch": "^3.2.0", + "reactflow": "^11.9.3", "redux-dynamic-middlewares": "^2.2.0", - "redux-remember": "^4.0.1", + "redux-remember": "^4.0.4", "roarr": "^7.15.1", - "serialize-error": "^11.0.1", + "serialize-error": "^11.0.2", "socket.io-client": "^4.7.2", - "type-fest": "^4.2.0", + "type-fest": "^4.4.0", "use-debounce": "^9.0.4", "use-image": "^1.1.1", - "uuid": "^9.0.0", - "zod": "^3.22.2", + "uuid": "^9.0.1", + "zod": "^3.22.4", "zod-validation-error": "^1.5.0" }, "peerDependencies": { @@ -129,40 +129,40 @@ "devDependencies": { "@chakra-ui/cli": "^2.4.1", "@types/dateformat": "^5.0.0", - "@types/lodash-es": "^4.14.194", - "@types/node": "^20.5.1", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.6", - "@types/react-redux": "^7.1.25", - "@types/react-transition-group": "^4.4.6", - "@types/uuid": "^9.0.2", - "@typescript-eslint/eslint-plugin": "^6.4.1", - "@typescript-eslint/parser": "^6.4.1", - "@vitejs/plugin-react-swc": "^3.3.2", - "axios": "^1.4.0", + "@types/lodash-es": "^4.17.9", + "@types/node": "^20.8.6", + "@types/react": "^18.2.28", + "@types/react-dom": "^18.2.13", + "@types/react-redux": "^7.1.27", + "@types/react-transition-group": "^4.4.7", + "@types/uuid": "^9.0.5", + "@typescript-eslint/eslint-plugin": "^6.7.5", + "@typescript-eslint/parser": "^6.7.5", + "@vitejs/plugin-react-swc": "^3.4.0", + "axios": "^1.5.1", "babel-plugin-transform-imports": "^2.0.0", - "concurrently": "^8.2.0", - "eslint": "^8.47.0", + "concurrently": "^8.2.1", + "eslint": "^8.51.0", "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "form-data": "^4.0.0", "husky": "^8.0.3", - "lint-staged": "^14.0.1", + "lint-staged": "^15.0.1", "madge": "^6.1.0", "openapi-types": "^12.1.3", - "openapi-typescript": "^6.5.2", + "openapi-typescript": "^6.7.0", "postinstall-postinstall": "^2.1.0", - "prettier": "^3.0.2", + "prettier": "^3.0.3", "rollup-plugin-visualizer": "^5.9.2", "ts-toolbelt": "^9.6.0", "typescript": "^5.2.2", - "vite": "^4.4.9", + "vite": "^4.4.11", "vite-plugin-css-injected-by-js": "^3.3.0", - "vite-plugin-dts": "^3.5.2", + "vite-plugin-dts": "^3.6.0", "vite-plugin-eslint": "^1.8.1", - "vite-tsconfig-paths": "^4.2.0", + "vite-tsconfig-paths": "^4.2.1", "yarn": "^1.22.19" } } diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/canvasMerged.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/canvasMerged.ts index 62f7b60036..35c1affb97 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/canvasMerged.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/canvasMerged.ts @@ -44,7 +44,7 @@ export const addCanvasMergedListener = () => { } const baseLayerRect = canvasBaseLayer.getClientRect({ - relativeTo: canvasBaseLayer.getParent(), + relativeTo: canvasBaseLayer.getParent() ?? undefined, }); const imageDTO = await dispatch( diff --git a/invokeai/frontend/web/yarn.lock b/invokeai/frontend/web/yarn.lock index 2a531175d4..cc257115da 100644 --- a/invokeai/frontend/web/yarn.lock +++ b/invokeai/frontend/web/yarn.lock @@ -50,13 +50,20 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.10.tgz#e37634f9a12a1716136c44624ef54283cabd3f55" integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.18.3", "@babel/runtime@^7.19.4", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.19.4", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.9.2": version "7.22.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== dependencies: regenerator-runtime "^0.13.11" +"@babel/runtime@^7.10.2", "@babel/runtime@^7.13.10": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/types@^7.22.5", "@babel/types@^7.4": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" @@ -66,33 +73,33 @@ "@babel/helper-validator-identifier" "^7.22.5" to-fast-properties "^2.0.0" -"@chakra-ui/accordion@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/accordion/-/accordion-2.3.0.tgz#2c85fd2d2734b176f019f8db9f4e075007b4e1fb" - integrity sha512-A4TkRw3Jnt+Fam6dSSJ62rskdrvjF3JGctYcfXlojfFIpHPuIw4pDwfZgNAxlaxWkcj0e7JJKlQ88dnZW+QfFg== +"@chakra-ui/accordion@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/accordion/-/accordion-2.3.1.tgz#a326509e286a5c4e8478de9bc2b4b05017039e6b" + integrity sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag== dependencies: "@chakra-ui/descendant" "3.1.0" - "@chakra-ui/icon" "3.1.0" + "@chakra-ui/icon" "3.2.0" "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-use-controllable-state" "2.1.0" "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/transition" "2.1.0" -"@chakra-ui/alert@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/alert/-/alert-2.2.0.tgz#b59eadca4f083674dfcd43651b6c47b953c2c984" - integrity sha512-De+BT88iYOu3Con7MxQeICb1SwgAdVdgpHIYjTh3qvGlNXAQjs81rhG0fONXvwW1FIYletvr9DY2Tlg8xJe7tQ== +"@chakra-ui/alert@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/alert/-/alert-2.2.1.tgz#69f4fae19e4f8204ae1db906784139d416063d04" + integrity sha512-GduIqqWCkvID8hxRlKw29Jp3w93r/E9S30J2F8By3ODon9Bhk1o/KVolcPiSiQvRwKNBJCd/rBTpPpLkB+s7pw== dependencies: - "@chakra-ui/icon" "3.1.0" + "@chakra-ui/icon" "3.2.0" "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/spinner" "2.1.0" -"@chakra-ui/anatomy@2.2.0", "@chakra-ui/anatomy@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/anatomy/-/anatomy-2.2.0.tgz#788229829f853dcd03314cd7ddd4f19f056ec24e" - integrity sha512-cD8Ms5C8+dFda0LrORMdxiFhAZwOIY1BSlCadz6/mHUIgNdQy13AHPrXiq6qWdMslqVHq10k5zH7xMPLt6kjFg== +"@chakra-ui/anatomy@2.2.1", "@chakra-ui/anatomy@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/anatomy/-/anatomy-2.2.1.tgz#f7ef088dcb8be4f1d075f37101830199fb93f763" + integrity sha512-bbmyWTGwQo+aHYDMtLIj7k7hcWvwE7GFVDViLFArrrPhfUTDdQTNqhiDp1N7eh2HLyjNhc2MKXV8s2KTQqkmTg== "@chakra-ui/avatar@2.3.0": version "2.3.0" @@ -137,12 +144,12 @@ dependencies: "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/checkbox@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/checkbox/-/checkbox-2.3.0.tgz#6a103555100008fcde0b25a4f3f87267dd6ea073" - integrity sha512-fX7M5sQK27aFWoj7vqnPkf1Q3AHmML/5dIRYfm7HEIsZXYH2C1CkM6+dijeSWIk6a0mp0r3el6SNDUti2ehH8g== +"@chakra-ui/checkbox@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/checkbox/-/checkbox-2.3.1.tgz#bde33a655a8f033656378e3e95ae0dc4c8e73864" + integrity sha512-e6qL9ntVI/Ui6g0+iljUV2chX86YMsXafldpTHBNYDEoNLjGo1lqLFzq3y6zs3iuB3DHI0X7eAG3REmMVs0A0w== dependencies: - "@chakra-ui/form-control" "2.1.0" + "@chakra-ui/form-control" "2.1.1" "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" "@chakra-ui/react-use-callback-ref" "2.1.0" @@ -151,8 +158,8 @@ "@chakra-ui/react-use-safe-layout-effect" "2.1.0" "@chakra-ui/react-use-update-effect" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" - "@chakra-ui/visually-hidden" "2.1.0" - "@zag-js/focus-visible" "0.10.5" + "@chakra-ui/visually-hidden" "2.2.0" + "@zag-js/focus-visible" "0.16.0" "@chakra-ui/cli@^2.4.1": version "2.4.1" @@ -175,12 +182,12 @@ "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/close-button@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/close-button/-/close-button-2.1.0.tgz#5af435a62919793dc713be321eaff1f61749b6d5" - integrity sha512-KfJcz6UAaR2dDWSIv6UrCGkZQS54Fjl+DEEVOUTJ7gf4KOP4FQZCkv8hqsAB9FeCtnwU43adq2oaw3aZH/Uzew== +"@chakra-ui/close-button@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/close-button/-/close-button-2.1.1.tgz#995b245c56eb41465a71d8667840c238618a7b66" + integrity sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw== dependencies: - "@chakra-ui/icon" "3.1.0" + "@chakra-ui/icon" "3.2.0" "@chakra-ui/color-mode@2.2.0": version "2.2.0" @@ -203,10 +210,10 @@ "@chakra-ui/react-use-callback-ref" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/css-reset@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/css-reset/-/css-reset-2.2.0.tgz#7bd8da563941709cd68e2d1cf1e71279bec038ea" - integrity sha512-nn7hjquIrPwCzwI4d/Y4wzM5A5xAeswREOfT8gT0Yd+U+Qnw3pPT8NPLbNJ3DvuOfJaCV6/N5ld/6RRTgYF/sQ== +"@chakra-ui/css-reset@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/css-reset/-/css-reset-2.3.0.tgz#83e3160a9c2a12431cad0ee27ebfbf3aedc5c9c7" + integrity sha512-cQwwBy5O0jzvl0K7PLTLgp8ijqLPKyuEMiDXwYzl95seD3AoeuoCLyzZcJtVqaUZ573PiBdAbY/IlZcwDOItWg== "@chakra-ui/descendant@3.1.0": version "3.1.0" @@ -249,40 +256,40 @@ "@chakra-ui/dom-utils" "2.1.0" react-focus-lock "^2.9.4" -"@chakra-ui/form-control@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/form-control/-/form-control-2.1.0.tgz#a48ad454428c03daaaf71671925becd02a2c3f66" - integrity sha512-3QmWG9v6Rx+JOwJP3Wt89+AWZxK0F1NkVAgXP3WVfE9VDXOKFRV/faLT0GEe2V+l7WZHF5PLdEBvKG8Cgw2mkA== +"@chakra-ui/form-control@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/form-control/-/form-control-2.1.1.tgz#05b06a52432642ddc7ed795bfe127108d160927d" + integrity sha512-LJPDzA1ITc3lhd/iDiINqGeca5bJD09PZAjePGEmmZyLPZZi8nPh/iii0RMxvKyJArsTBwXymCh+dEqK9aDzGQ== dependencies: - "@chakra-ui/icon" "3.1.0" + "@chakra-ui/icon" "3.2.0" "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/hooks@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/hooks/-/hooks-2.2.0.tgz#f779bf85542dacd607abe7e67f4571cf8a1102fa" - integrity sha512-GZE64mcr20w+3KbCUPqQJHHmiFnX5Rcp8jS3YntGA4D5X2qU85jka7QkjfBwv/iduZ5Ei0YpCMYGCpi91dhD1Q== +"@chakra-ui/hooks@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/hooks/-/hooks-2.2.1.tgz#b86ce5eeaaab877ddcb11a50842d1227306ace28" + integrity sha512-RQbTnzl6b1tBjbDPf9zGRo9rf/pQMholsOudTxjy4i9GfTfz6kgp5ValGjQm2z7ng6Z31N1cnjZ1AlSzQ//ZfQ== dependencies: "@chakra-ui/react-utils" "2.0.12" "@chakra-ui/utils" "2.0.15" - compute-scroll-into-view "1.0.20" + compute-scroll-into-view "3.0.3" copy-to-clipboard "3.3.3" -"@chakra-ui/icon@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/icon/-/icon-3.1.0.tgz#48312c071b3a0ed20ce807c8bd24d5f3e9cfdb7f" - integrity sha512-t6v0lGCXRbwUJycN8A/nDTuLktMP+LRjKbYJnd2oL6Pm2vOl99XwEQ5cAEyEa4XoseYNEgXiLR+2TfvgfNFvcw== +"@chakra-ui/icon@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/icon/-/icon-3.2.0.tgz#92b9454aa0d561b4994bcd6a1b3bb1fdd5c67bef" + integrity sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ== dependencies: "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/icons@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/icons/-/icons-2.1.0.tgz#52677939e02f9d6b902bd2c2931e5f18d3c8b523" - integrity sha512-pGFxFfQ/P5VnSRnTzK8zGAJxoxkxpHo/Br9ohRZdOpuhnIHSW7va0P53UoycEO5/vNJ/7BN0oDY0k9qurChcew== +"@chakra-ui/icons@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/icons/-/icons-2.1.1.tgz#58ff0f9e703f2f4f89debd600ce4e438f43f9c9a" + integrity sha512-3p30hdo4LlRZTT5CwoAJq3G9fHI0wDc0pBaMHj4SUn0yomO+RcDRlzhdXqdr5cVnzax44sqXJVnf3oQG0eI+4g== dependencies: - "@chakra-ui/icon" "3.1.0" + "@chakra-ui/icon" "3.2.0" "@chakra-ui/image@2.1.0": version "2.1.0" @@ -292,24 +299,24 @@ "@chakra-ui/react-use-safe-layout-effect" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/input@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/input/-/input-2.1.0.tgz#45a2e2ccdd65dc9f6dee11b6e3043438864bf806" - integrity sha512-HItI2vq6vupCuixdzof4sIanGdLlszhDtlR5be5z8Nrda1RkXVqI+9CTJPbNsx2nIKEfwPt01pnT9mozoOSMMw== +"@chakra-ui/input@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/input/-/input-2.1.1.tgz#c9666bd1efd7763458bec713fb87cc3f365ec15d" + integrity sha512-RQYzQ/qcak3eCuCfvSqc1kEFx0sCcnIeiSi7i0r70CeBnAUK/CP1/4Uz849FpKz81K4z2SikC9MkHPQd8ZpOwg== dependencies: - "@chakra-ui/form-control" "2.1.0" + "@chakra-ui/form-control" "2.1.1" "@chakra-ui/object-utils" "2.1.0" "@chakra-ui/react-children-utils" "2.0.6" "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/layout@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-2.3.0.tgz#c53219235db737202006b8b0881b82fedcf3b225" - integrity sha512-tp1/Bn+cHn0Q4HWKY62HtOwzhpH1GUA3i5fvs23HEhOEryTps05hyuQVeJ71fLqSs6f1QEIdm+9It+5WCj64vQ== +"@chakra-ui/layout@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-2.3.1.tgz#0601c5eb91555d24a7015a7c9d4e01fed2698557" + integrity sha512-nXuZ6WRbq0WdgnRgLw+QuxWAHuhDtVX8ElWqcTK+cSMFg/52eVP47czYBE5F35YhnoW2XBwfNoNgZ7+e8Z01Rg== dependencies: "@chakra-ui/breakpoint-utils" "2.0.8" - "@chakra-ui/icon" "3.1.0" + "@chakra-ui/icon" "3.2.0" "@chakra-ui/object-utils" "2.1.0" "@chakra-ui/react-children-utils" "2.0.6" "@chakra-ui/react-context" "2.1.0" @@ -334,10 +341,10 @@ "@chakra-ui/react-env" "3.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/menu@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/menu/-/menu-2.2.0.tgz#ba74b538a3fa3dc46313368ed2878f92b479e6d7" - integrity sha512-l7HQjriW4JGeCyxDdguAzekwwB+kHGDLxACi0DJNp37sil51SRaN1S1OrneISbOHVpHuQB+KVNgU0rqhoglVew== +"@chakra-ui/menu@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/menu/-/menu-2.2.1.tgz#7d9810d435f6b40fa72ed867a33b88a1ef75073f" + integrity sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g== dependencies: "@chakra-ui/clickable" "2.1.0" "@chakra-ui/descendant" "3.1.0" @@ -355,12 +362,12 @@ "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/transition" "2.1.0" -"@chakra-ui/modal@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-2.3.0.tgz#f7c35bb457c3c4be391c9366f892a5a779af810a" - integrity sha512-S1sITrIeLSf21LJ0Vz8xZhj5fWEud5z5Dl2dmvOEv1ezypgOrCCBdOEnnqCkoEKZDbKvzZWZXWR5791ikLP6+g== +"@chakra-ui/modal@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-2.3.1.tgz#524dc32b6b4f545b54ae531dbf6c74e1052ee794" + integrity sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ== dependencies: - "@chakra-ui/close-button" "2.1.0" + "@chakra-ui/close-button" "2.1.1" "@chakra-ui/focus-lock" "2.1.0" "@chakra-ui/portal" "2.1.0" "@chakra-ui/react-context" "2.1.0" @@ -368,17 +375,17 @@ "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/transition" "2.1.0" - aria-hidden "^1.2.2" - react-remove-scroll "^2.5.5" + aria-hidden "^1.2.3" + react-remove-scroll "^2.5.6" -"@chakra-ui/number-input@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/number-input/-/number-input-2.1.0.tgz#7812a6602edbed26829a8f7defe8c4f9f175421a" - integrity sha512-/gEAzQHhrMA+1rzyCMaN8OkKtUPuER6iA+nloYEYBoT7dH/EoNlRtBkiIQhDp+E4VpgZJ0SK3OVrm9/eBbtHHg== +"@chakra-ui/number-input@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/number-input/-/number-input-2.1.1.tgz#5308a30e972cd45a017f613996d7d5c1f32bd89f" + integrity sha512-B4xwUPyr0NmjGN/dBhOmCD2xjX6OY1pr9GmGH3GQRozMsLAClD3TibwiZetwlyCp02qQqiFwEcZmUxaX88794Q== dependencies: "@chakra-ui/counter" "2.1.0" - "@chakra-ui/form-control" "2.1.0" - "@chakra-ui/icon" "3.1.0" + "@chakra-ui/form-control" "2.1.1" + "@chakra-ui/icon" "3.2.0" "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" "@chakra-ui/react-use-callback-ref" "2.1.0" @@ -411,12 +418,12 @@ "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/popover@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/popover/-/popover-2.2.0.tgz#470c4814447010a1b7db6839fcc3e8983cbabb60" - integrity sha512-cTqXdgkU0vgK82AR1nWcC2MJYhEL/y6uTeprvO2+j4o2D0yPrzVMuIZZRl0abrQwiravQyVGEMgA5y0ZLYwbiQ== +"@chakra-ui/popover@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/popover/-/popover-2.2.1.tgz#89cfd29817abcd204da570073c0f2b4d8072c3a3" + integrity sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg== dependencies: - "@chakra-ui/close-button" "2.1.0" + "@chakra-ui/close-button" "2.1.1" "@chakra-ui/lazy-utils" "2.0.5" "@chakra-ui/popper" "3.1.0" "@chakra-ui/react-context" "2.1.0" @@ -452,28 +459,28 @@ dependencies: "@chakra-ui/react-context" "2.1.0" -"@chakra-ui/provider@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/provider/-/provider-2.4.0.tgz#1649e607b7dddd8dd160e624946769a29f67d9a3" - integrity sha512-KJ/TNczpY+EStQXa2Y5PZ+senlBHrY7P+RpBgJLBZLGkQUCS3APw5KvCwgpA0COb2M4AZXCjw+rm+Ko7ontlgA== +"@chakra-ui/provider@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/provider/-/provider-2.4.1.tgz#0c6c1bab2b50fdf9dfbcbb363df8982988c54d65" + integrity sha512-u4g02V9tJ9vVYfkLz5jBn/bKlAyjLdg4Sh3f7uckmYVAZpOL/uUlrStyADrynu3tZhI+BE8XdmXC4zs/SYD7ow== dependencies: - "@chakra-ui/css-reset" "2.2.0" + "@chakra-ui/css-reset" "2.3.0" "@chakra-ui/portal" "2.1.0" "@chakra-ui/react-env" "3.1.0" - "@chakra-ui/system" "2.6.0" + "@chakra-ui/system" "2.6.1" "@chakra-ui/utils" "2.0.15" -"@chakra-ui/radio@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-2.1.0.tgz#68b2cb4193570369568052cb1254163224a1479c" - integrity sha512-WiRlSCqKWgy4m9106w4g77kcLYqBxqGhFRO1pTTJp99rxpM6jNadOeK+moEjqj64N9mSz3njEecMJftKKcOYdg== +"@chakra-ui/radio@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-2.1.1.tgz#399983ce8a1bbc81e7cddfbaf091f54a1645fb7e" + integrity sha512-5JXDVvMWsF/Cprh6BKfcTLbLtRcgD6Wl2zwbNU30nmKIE8+WUfqD7JQETV08oWEzhi3Ea4e5EHvyll2sGx8H3w== dependencies: - "@chakra-ui/form-control" "2.1.0" + "@chakra-ui/form-control" "2.1.1" "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-types" "2.0.7" "@chakra-ui/react-use-merge-refs" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" - "@zag-js/focus-visible" "0.10.5" + "@zag-js/focus-visible" "0.16.0" "@chakra-ui/react-children-utils@2.0.6": version "2.0.6" @@ -617,71 +624,71 @@ dependencies: "@chakra-ui/utils" "2.0.15" -"@chakra-ui/react@^2.8.0": - version "2.8.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-2.8.0.tgz#cc76a2448f9bc85f1645a1afb90d5756a5313ac3" - integrity sha512-tV82DaqE4fMbLIWq58BYh4Ol3gAlNEn+qYOzx8bPrZudboEDnboq8aVfSBwWOY++MLWz2Nn7CkT69YRm91e5sg== +"@chakra-ui/react@^2.8.1": + version "2.8.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-2.8.1.tgz#fd80632b0ef34434443d8999d03d297f130aabcf" + integrity sha512-UL9Rtj4DovP3+oVbI06gsdfyJJb+wmS2RYnGNXjW9tsjCyXxjlBw9TAUj0jyOfWe0+zd/4juL8+J+QCwmdhptg== dependencies: - "@chakra-ui/accordion" "2.3.0" - "@chakra-ui/alert" "2.2.0" + "@chakra-ui/accordion" "2.3.1" + "@chakra-ui/alert" "2.2.1" "@chakra-ui/avatar" "2.3.0" "@chakra-ui/breadcrumb" "2.2.0" "@chakra-ui/button" "2.1.0" "@chakra-ui/card" "2.2.0" - "@chakra-ui/checkbox" "2.3.0" - "@chakra-ui/close-button" "2.1.0" + "@chakra-ui/checkbox" "2.3.1" + "@chakra-ui/close-button" "2.1.1" "@chakra-ui/control-box" "2.1.0" "@chakra-ui/counter" "2.1.0" - "@chakra-ui/css-reset" "2.2.0" + "@chakra-ui/css-reset" "2.3.0" "@chakra-ui/editable" "3.1.0" "@chakra-ui/focus-lock" "2.1.0" - "@chakra-ui/form-control" "2.1.0" - "@chakra-ui/hooks" "2.2.0" - "@chakra-ui/icon" "3.1.0" + "@chakra-ui/form-control" "2.1.1" + "@chakra-ui/hooks" "2.2.1" + "@chakra-ui/icon" "3.2.0" "@chakra-ui/image" "2.1.0" - "@chakra-ui/input" "2.1.0" - "@chakra-ui/layout" "2.3.0" + "@chakra-ui/input" "2.1.1" + "@chakra-ui/layout" "2.3.1" "@chakra-ui/live-region" "2.1.0" "@chakra-ui/media-query" "3.3.0" - "@chakra-ui/menu" "2.2.0" - "@chakra-ui/modal" "2.3.0" - "@chakra-ui/number-input" "2.1.0" + "@chakra-ui/menu" "2.2.1" + "@chakra-ui/modal" "2.3.1" + "@chakra-ui/number-input" "2.1.1" "@chakra-ui/pin-input" "2.1.0" - "@chakra-ui/popover" "2.2.0" + "@chakra-ui/popover" "2.2.1" "@chakra-ui/popper" "3.1.0" "@chakra-ui/portal" "2.1.0" "@chakra-ui/progress" "2.2.0" - "@chakra-ui/provider" "2.4.0" - "@chakra-ui/radio" "2.1.0" + "@chakra-ui/provider" "2.4.1" + "@chakra-ui/radio" "2.1.1" "@chakra-ui/react-env" "3.1.0" - "@chakra-ui/select" "2.1.0" + "@chakra-ui/select" "2.1.1" "@chakra-ui/skeleton" "2.1.0" "@chakra-ui/skip-nav" "2.1.0" "@chakra-ui/slider" "2.1.0" "@chakra-ui/spinner" "2.1.0" - "@chakra-ui/stat" "2.1.0" - "@chakra-ui/stepper" "2.3.0" + "@chakra-ui/stat" "2.1.1" + "@chakra-ui/stepper" "2.3.1" "@chakra-ui/styled-system" "2.9.1" - "@chakra-ui/switch" "2.1.0" - "@chakra-ui/system" "2.6.0" + "@chakra-ui/switch" "2.1.1" + "@chakra-ui/system" "2.6.1" "@chakra-ui/table" "2.1.0" - "@chakra-ui/tabs" "2.2.0" - "@chakra-ui/tag" "3.1.0" - "@chakra-ui/textarea" "2.1.0" - "@chakra-ui/theme" "3.2.0" - "@chakra-ui/theme-utils" "2.0.19" - "@chakra-ui/toast" "7.0.0" + "@chakra-ui/tabs" "3.0.0" + "@chakra-ui/tag" "3.1.1" + "@chakra-ui/textarea" "2.1.1" + "@chakra-ui/theme" "3.3.0" + "@chakra-ui/theme-utils" "2.0.20" + "@chakra-ui/toast" "7.0.1" "@chakra-ui/tooltip" "2.3.0" "@chakra-ui/transition" "2.1.0" "@chakra-ui/utils" "2.0.15" - "@chakra-ui/visually-hidden" "2.1.0" + "@chakra-ui/visually-hidden" "2.2.0" -"@chakra-ui/select@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/select/-/select-2.1.0.tgz#4c9a6e881281e77ed35ba7a2e343f235b7e0b2fd" - integrity sha512-6GEjCJNOm1pS9E7XRvodoVOuSFl82Jio3MGWgmcQrLznjJAhIZVMq85vCQqzGpjjfbHys/UctfdJY75Ctas/Jg== +"@chakra-ui/select@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/select/-/select-2.1.1.tgz#0792eeebdb82b1710c4527e7e8e2e07c686c714d" + integrity sha512-CERDATncv5w05Zo5/LrFtf1yKp1deyMUyDGv6eZvQG/etyukH4TstsuIHt/0GfNXrCF3CJLZ8lINzpv5wayVjQ== dependencies: - "@chakra-ui/form-control" "2.1.0" + "@chakra-ui/form-control" "2.1.1" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/shared-utils@2.0.5": @@ -726,21 +733,21 @@ dependencies: "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/stat@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/stat/-/stat-2.1.0.tgz#6643b507358e9cacf008387b3f12b75899497369" - integrity sha512-sqx0/AdFFZ80dsiM5owmhtQyYl+zON1r+IY0m70I/ABRVy+I3br06xdUhoaxh3tcP7c0O/BQgb+VCfXa9Y34CA== +"@chakra-ui/stat@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/stat/-/stat-2.1.1.tgz#a204ba915795345996a16c79794d84826d7dcc2d" + integrity sha512-LDn0d/LXQNbAn2KaR3F1zivsZCewY4Jsy1qShmfBMKwn6rI8yVlbvu6SiA3OpHS0FhxbsZxQI6HefEoIgtqY6Q== dependencies: - "@chakra-ui/icon" "3.1.0" + "@chakra-ui/icon" "3.2.0" "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/stepper@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/stepper/-/stepper-2.3.0.tgz#5714df429936839145a62b5c197cff26b872b660" - integrity sha512-q80QX/NLrjJQIlBP1N+Q8GVJb7/HiOpMoK1PlP4denB/KxkU2K8GEjss8U2vklR1XsWJy1fwfj03+66Q78Uk/Q== +"@chakra-ui/stepper@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/stepper/-/stepper-2.3.1.tgz#a0a0b73e147f202ab4e51cae55dad45489cc89fd" + integrity sha512-ky77lZbW60zYkSXhYz7kbItUpAQfEdycT0Q4bkHLxfqbuiGMf8OmgZOQkOB9uM4v0zPwy2HXhe0vq4Dd0xa55Q== dependencies: - "@chakra-ui/icon" "3.1.0" + "@chakra-ui/icon" "3.2.0" "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" @@ -753,26 +760,26 @@ csstype "^3.0.11" lodash.mergewith "4.6.2" -"@chakra-ui/switch@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/switch/-/switch-2.1.0.tgz#750474ef7f0a9854062e692cbbe9f3ed0cfbc4d8" - integrity sha512-uWHOaIDQdGh+mszxeppj5aYVepbkSK445KZlJJkfr9Bnr6sythTwM63HSufnVDiTEE4uRqegv9jEjZK2JKA+9A== +"@chakra-ui/switch@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/switch/-/switch-2.1.1.tgz#8049963e6421cdd5eaaac1d20d9febae8d731b62" + integrity sha512-cOHIhW5AlLZSFENxFEBYTBniqiduOowa1WdzslP1Fd0usBFaD5iAgOY1Fvr7xKhE8nmzzeMCkPB3XBvUSWnawQ== dependencies: - "@chakra-ui/checkbox" "2.3.0" + "@chakra-ui/checkbox" "2.3.1" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/system@2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-2.6.0.tgz#29f65bb0887ee0816bbb7b4b098ca5aa4918c409" - integrity sha512-MgAFRz9V1pW0dplwWsB99hx49LCC+LsrkMala7KXcP0OvWdrkjw+iu+voBksO3626+glzgIwlZW113Eja+7JEQ== +"@chakra-ui/system@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-2.6.1.tgz#22ee50ddc9e1f56b974a0dd42d86108391a2f372" + integrity sha512-P5Q/XRWy3f1pXJ7IxDkV+Z6AT7GJeR2JlBnQl109xewVQcBLWWMIp702fFMFw8KZ2ALB/aYKtWm5EmQMddC/tg== dependencies: "@chakra-ui/color-mode" "2.2.0" "@chakra-ui/object-utils" "2.1.0" "@chakra-ui/react-utils" "2.0.12" "@chakra-ui/styled-system" "2.9.1" - "@chakra-ui/theme-utils" "2.0.19" + "@chakra-ui/theme-utils" "2.0.20" "@chakra-ui/utils" "2.0.15" - react-fast-compare "3.2.1" + react-fast-compare "3.2.2" "@chakra-ui/table@2.1.0": version "2.1.0" @@ -782,10 +789,10 @@ "@chakra-ui/react-context" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/tabs@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/tabs/-/tabs-2.2.0.tgz#72b6bf8bff3d3da3effb115991bf24e2157e29d2" - integrity sha512-ulN7McHZ322qlbJXg8S+IwdN8Axh8q0HzYBOHzSdcnVphEytfv9TsfJhN0Hx5yjkpekAzG5fewn33ZdIpIpKyQ== +"@chakra-ui/tabs@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/tabs/-/tabs-3.0.0.tgz#854c06880af26158d7c72881c4b5e0453f6c485d" + integrity sha512-6Mlclp8L9lqXmsGWF5q5gmemZXOiOYuh0SGT/7PgJVNPz3LXREXlXg2an4MBUD8W5oTkduCX+3KTMCwRrVrDYw== dependencies: "@chakra-ui/clickable" "2.1.0" "@chakra-ui/descendant" "3.1.0" @@ -797,64 +804,64 @@ "@chakra-ui/react-use-safe-layout-effect" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/tag@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/tag/-/tag-3.1.0.tgz#b2c06254e1d5aaaf77ff41e5d2e6548b404cabd7" - integrity sha512-Mn2u828z5HvqEBEG+tUJWe3al5tzN87bK2U0QfThx3+zqWbBCWBSCVfnWRtkNh80m+5a1TekexDAPZqu5G8zdw== +"@chakra-ui/tag@3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/tag/-/tag-3.1.1.tgz#d05284b6549a84d3a08e57eec57df3ad0eebd882" + integrity sha512-Bdel79Dv86Hnge2PKOU+t8H28nm/7Y3cKd4Kfk9k3lOpUh4+nkSGe58dhRzht59lEqa4N9waCgQiBdkydjvBXQ== dependencies: - "@chakra-ui/icon" "3.1.0" + "@chakra-ui/icon" "3.2.0" "@chakra-ui/react-context" "2.1.0" -"@chakra-ui/textarea@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/textarea/-/textarea-2.1.0.tgz#d0f157c9a09aea87c372409eead4292bd26999a0" - integrity sha512-4F7X/lPRsY+sPxYrWGrhh1pBtdnFvVllIOapzAwnjYwsflm+vf6c+9ZgoDWobXsNezJ9fcqN0FTPwaBnDvDQRQ== +"@chakra-ui/textarea@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/textarea/-/textarea-2.1.1.tgz#3e33404ff8470140e877840a5702a406996a3834" + integrity sha512-28bpwgmXg3BzSpg8i1Ao9h7pHaE1j2mBBFJpWaqPgMhS0IHm0BQsqqyWU6PsxxJDvrC4HN6MTzrIL4C1RA1I0A== dependencies: - "@chakra-ui/form-control" "2.1.0" + "@chakra-ui/form-control" "2.1.1" "@chakra-ui/shared-utils" "2.0.5" -"@chakra-ui/theme-tools@2.1.0", "@chakra-ui/theme-tools@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/theme-tools/-/theme-tools-2.1.0.tgz#ad34f2fdda61305ac96f69ad9ce38ad12f8bfdbf" - integrity sha512-TKv4trAY8q8+DWdZrpSabTd3SZtZrnzFDwUdzhbWBhFEDEVR3fAkRTPpnPDtf1X9w1YErWn3QAcMACVFz4+vkw== +"@chakra-ui/theme-tools@2.1.1", "@chakra-ui/theme-tools@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme-tools/-/theme-tools-2.1.1.tgz#c7f3072ab533d7abc6a3831666be3c172f992554" + integrity sha512-n14L5L3ej3Zy+Xm/kDKO1G6/DkmieT7Li1C7NzMRcUj5C9YybQpyo7IZZ0BBUh3u+OVnKVhNC3d4P2NYDGRXmA== dependencies: - "@chakra-ui/anatomy" "2.2.0" + "@chakra-ui/anatomy" "2.2.1" "@chakra-ui/shared-utils" "2.0.5" - color2k "^2.0.0" + color2k "^2.0.2" -"@chakra-ui/theme-utils@2.0.19": - version "2.0.19" - resolved "https://registry.yarnpkg.com/@chakra-ui/theme-utils/-/theme-utils-2.0.19.tgz#47e6af43f8ef22403686b779ca1a869ab1b7a5ec" - integrity sha512-UQ+KvozTN86+0oA80rdQd1a++4rm4ulo+DEabkgwNpkK3yaWsucOxkDQpi2sMIMvw5X0oaWvNBZJuVyK7HdOXg== +"@chakra-ui/theme-utils@2.0.20": + version "2.0.20" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme-utils/-/theme-utils-2.0.20.tgz#fdc4947ac4b95c16ff5885707c9a931c43b80cf6" + integrity sha512-IkAzSmwBlRIZ3dN2InDz0tf9SldbckVkgwylCobSFmYP8lnMjykL8Lex1BBo9U8UQjZxEDVZ+Qw6SeayKRntOQ== dependencies: "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/styled-system" "2.9.1" - "@chakra-ui/theme" "3.2.0" + "@chakra-ui/theme" "3.3.0" lodash.mergewith "4.6.2" -"@chakra-ui/theme@3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-3.2.0.tgz#b8232d770e542895cf82535942a74ad803bb7133" - integrity sha512-q9mppdkhmaBnvOT8REr/lVNNBX/prwm50EzObJ+r+ErVhNQDc55gCFmtr+It3xlcCqmOteG6XUdwRCJz8qzOqg== +"@chakra-ui/theme@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-3.3.0.tgz#7fe364322e75c7bdfa45b96dd3db6dac7eb8f7ef" + integrity sha512-VHY2ax5Wqgfm83U/zYBk0GS0TGD8m41s/rxQgnEq8tU+ug1YZjvOZmtOq/VjfKP/bQraFhCt05zchcxXmDpEYg== dependencies: - "@chakra-ui/anatomy" "2.2.0" + "@chakra-ui/anatomy" "2.2.1" "@chakra-ui/shared-utils" "2.0.5" - "@chakra-ui/theme-tools" "2.1.0" + "@chakra-ui/theme-tools" "2.1.1" -"@chakra-ui/toast@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-7.0.0.tgz#6c6f1b7b8dc458ed0827b2edc47eb7d4075c95dc" - integrity sha512-XQgSnn4DYRgfOBzBvh8GI/AZ7SfrO8wlVSmChfp92Nfmqm7tRDUT9x8ws/iNKAvMRHkhl7fmRjJ39ipeXYrMvA== +"@chakra-ui/toast@7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-7.0.1.tgz#11113b9185409ed1dc7a062f0498673f0840a013" + integrity sha512-V5JUhw6RZxbGRTijvd5k4iEMLCfbzTLNWbZLZhRZk10YvFfAP5OYfRCm68zpE/t3orN/f+4ZLL3P+Wb4E7oSmw== dependencies: - "@chakra-ui/alert" "2.2.0" - "@chakra-ui/close-button" "2.1.0" + "@chakra-ui/alert" "2.2.1" + "@chakra-ui/close-button" "2.1.1" "@chakra-ui/portal" "2.1.0" "@chakra-ui/react-context" "2.1.0" "@chakra-ui/react-use-timeout" "2.1.0" "@chakra-ui/react-use-update-effect" "2.1.0" "@chakra-ui/shared-utils" "2.0.5" "@chakra-ui/styled-system" "2.9.1" - "@chakra-ui/theme" "3.2.0" + "@chakra-ui/theme" "3.3.0" "@chakra-ui/tooltip@2.3.0": version "2.3.0" @@ -887,10 +894,10 @@ framesync "6.1.2" lodash.mergewith "4.6.2" -"@chakra-ui/visually-hidden@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/visually-hidden/-/visually-hidden-2.1.0.tgz#9ec573964e5a07f8682574a060140d78e9f91c32" - integrity sha512-3OHKqTz78PX7V4qto+a5Y6VvH6TbU3Pg6Z0Z2KnDkOBP3Po8fiz0kk+/OSPzIwdcSsQKiocLi0c1pnnUPdMZPg== +"@chakra-ui/visually-hidden@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz#9b0ecef8f01263ab808ba3bda7b36a0d91b4d5c1" + integrity sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ== "@dagrejs/graphlib@^2.1.13": version "2.1.13" @@ -1302,27 +1309,30 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@^8.47.0": - version "8.47.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d" - integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og== +"@eslint/js@8.51.0": + version "8.51.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.51.0.tgz#6d419c240cfb2b66da37df230f7e7eef801c32fa" + integrity sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg== "@fastify/deepmerge@^1.0.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@fastify/deepmerge/-/deepmerge-1.3.0.tgz#8116858108f0c7d9fd460d05a7d637a13fe3239a" integrity sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A== -"@floating-ui/core@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.3.1.tgz#4d795b649cc3b1cbb760d191c80dcb4353c9a366" - integrity sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g== - -"@floating-ui/dom@^1.2.1", "@floating-ui/dom@^1.3.0": - version "1.4.5" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.4.5.tgz#336dfb9870c98b471ff5802002982e489b8bd1c5" - integrity sha512-96KnRWkRnuBSSFbj0sFGwwOUd8EkiecINVl0O9wiZlZ64EkpyAOG3Xc2vKKNJmru0Z7RqWNymA+6b8OZqjgyyw== +"@floating-ui/core@^1.4.2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.0.tgz#5c05c60d5ae2d05101c3021c1a2a350ddc027f8c" + integrity sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg== dependencies: - "@floating-ui/core" "^1.3.1" + "@floating-ui/utils" "^0.1.3" + +"@floating-ui/dom@^1.2.1", "@floating-ui/dom@^1.5.1": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.3.tgz#54e50efcb432c06c23cd33de2b575102005436fa" + integrity sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA== + dependencies: + "@floating-ui/core" "^1.4.2" + "@floating-ui/utils" "^0.1.3" "@floating-ui/react-dom@^1.3.0": version "1.3.0" @@ -1331,12 +1341,12 @@ dependencies: "@floating-ui/dom" "^1.2.1" -"@floating-ui/react-dom@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.1.tgz#7972a4fc488a8c746cded3cfe603b6057c308a91" - integrity sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA== +"@floating-ui/react-dom@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.2.tgz#fab244d64db08e6bed7be4b5fcce65315ef44d20" + integrity sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ== dependencies: - "@floating-ui/dom" "^1.3.0" + "@floating-ui/dom" "^1.5.1" "@floating-ui/react@^0.19.1": version "0.19.2" @@ -1347,20 +1357,25 @@ aria-hidden "^1.1.3" tabbable "^6.0.1" -"@fontsource-variable/inter@^5.0.8": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@fontsource-variable/inter/-/inter-5.0.8.tgz#bd6d61ece1019c59b0ac330a138d48a34dfa6d8c" - integrity sha512-WkYfFNccmEIeL2fNg0mYeLWqOoB7xD8MFxFRc4IwbSP2o8ZaBt36v5aW4by4MyrgGRMNk7uNi5LbvYKq6clPjw== +"@floating-ui/utils@^0.1.3": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.6.tgz#22958c042e10b67463997bd6ea7115fe28cbcaf9" + integrity sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A== -"@fontsource/inter@^5.0.8": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@fontsource/inter/-/inter-5.0.8.tgz#61b50cb0eb72b14ae1938d47c4a9a91546d2a50c" - integrity sha512-28knWH1BfOiRalfLs90U4sge5mpQ8ZH6FS0PTT+IZMKrZ7wNHDHRuKa1kQJg+uHcc6axBppnxll+HXM4c7zo/Q== +"@fontsource-variable/inter@^5.0.13": + version "5.0.13" + resolved "https://registry.yarnpkg.com/@fontsource-variable/inter/-/inter-5.0.13.tgz#ddffb8cdc888c00bc232e30698fb872b775ee115" + integrity sha512-mb2WyZ2rHeqIG8aqGJIvLBOmo4sg2x7SHlsE6PUhwxbOicVzO59EZwSGtzNO3FmchuDPFVAxzcXYcR5B6jE6Qw== -"@humanwhocodes/config-array@^0.11.10": - version "0.11.10" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" - integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== +"@fontsource/inter@^5.0.13": + version "5.0.13" + resolved "https://registry.yarnpkg.com/@fontsource/inter/-/inter-5.0.13.tgz#b106fdc43b8eea8d6f5c0ce55941b1ae577c49e5" + integrity sha512-FVIBhP9X/x02blF2VQl2Pji/c3jUjkWEQ9bom4vIrGwO1MlHRDXhXx9iA1hhjpcCIfH3oX68ihIBdYcFnOXhsg== + +"@humanwhocodes/config-array@^0.11.11": + version "0.11.11" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" + integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -1377,63 +1392,63 @@ integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== "@mantine/core@^6.0.19": - version "6.0.19" - resolved "https://registry.yarnpkg.com/@mantine/core/-/core-6.0.19.tgz#612413f0e8eb117e6a39068a625c6ccf2ae2ccdd" - integrity sha512-SvMZCOgCc315SIg6hkuLM0ZnBaAac4VFDHZ0BM5LIE4MPJUpe4QOLsg/5RGxOa5s7JRCtu/dawH3/9frvfDrhw== + version "6.0.21" + resolved "https://registry.yarnpkg.com/@mantine/core/-/core-6.0.21.tgz#6e3a1b8d0f6869518a644d5f5e3d55a5db7e1e51" + integrity sha512-Kx4RrRfv0I+cOCIcsq/UA2aWcYLyXgW3aluAuW870OdXnbII6qg7RW28D+r9D76SHPxWFKwIKwmcucAG08Divg== dependencies: "@floating-ui/react" "^0.19.1" - "@mantine/styles" "6.0.19" - "@mantine/utils" "6.0.19" + "@mantine/styles" "6.0.21" + "@mantine/utils" "6.0.21" "@radix-ui/react-scroll-area" "1.0.2" react-remove-scroll "^2.5.5" react-textarea-autosize "8.3.4" "@mantine/form@^6.0.19": - version "6.0.19" - resolved "https://registry.yarnpkg.com/@mantine/form/-/form-6.0.19.tgz#3d97f08a45b1a8bc8840dbf77defd267abb20e39" - integrity sha512-5SFLZEzaBH7yKIDSDt1r9UiN4y7RkFvu+7J7CFPIQM+nTdXeGnugVFM8rASuZI7/FSYty/XoPY+Yymq3xDX+MQ== + version "6.0.21" + resolved "https://registry.yarnpkg.com/@mantine/form/-/form-6.0.21.tgz#0d717631aa90b9cce834a479f4c8d7e9c0e1969b" + integrity sha512-d4tlxyZic7MSDnaPx/WliCX1sRFDkUd2nxx4MxxO2T4OSek0YDqTlSBCxeoveu60P+vrQQN5rbbsVsaOJBe4SQ== dependencies: fast-deep-equal "^3.1.3" klona "^2.0.5" "@mantine/hooks@^6.0.19": - version "6.0.19" - resolved "https://registry.yarnpkg.com/@mantine/hooks/-/hooks-6.0.19.tgz#39f61434304f687d3ba7bf0040c5adf380c7c4b3" - integrity sha512-YkmuB6kmoenU1PVuE8tLBA+6RJIY9hIsGyIQG1yuPAy6SLWNFT8g2T9YvI/psqsUbVIYGaNEXg8zq42xbxnD8Q== + version "6.0.21" + resolved "https://registry.yarnpkg.com/@mantine/hooks/-/hooks-6.0.21.tgz#bc009d8380ad18455b90f3ddaf484de16a13da95" + integrity sha512-sYwt5wai25W6VnqHbS5eamey30/HD5dNXaZuaVEAJ2i2bBv8C0cCiczygMDpAFiSYdXoSMRr/SZ2CrrPTzeNew== -"@mantine/styles@6.0.19": - version "6.0.19" - resolved "https://registry.yarnpkg.com/@mantine/styles/-/styles-6.0.19.tgz#7d9a6f2c2a9b345dfd9d12f8fd66af3976d67ab2" - integrity sha512-0tg3Dvv/kxCc1mbQVFhZaIhlSbSbV1F/3xG0NRlP2DF23mw9088o5KaIXGKM6XkXU6OEt/f99nDCUHBk2ixtUg== +"@mantine/styles@6.0.21": + version "6.0.21" + resolved "https://registry.yarnpkg.com/@mantine/styles/-/styles-6.0.21.tgz#8ea097fc76cbb3ed55f5cfd719d2f910aff5031b" + integrity sha512-PVtL7XHUiD/B5/kZ/QvZOZZQQOj12QcRs3Q6nPoqaoPcOX5+S7bMZLMH0iLtcGq5OODYk0uxlvuJkOZGoPj8Mg== dependencies: clsx "1.1.1" csstype "3.0.9" -"@mantine/utils@6.0.19": - version "6.0.19" - resolved "https://registry.yarnpkg.com/@mantine/utils/-/utils-6.0.19.tgz#0197fccc5649259787d5468228139f8815909803" - integrity sha512-duvtnaW1gDR2gnvUqnWhl6DMW7sN0HEWqS8Z/BbwaMi75U+Xp17Q72R9JtiIrxQbzsq+KvH9L9B/pxMVwbLirg== +"@mantine/utils@6.0.21": + version "6.0.21" + resolved "https://registry.yarnpkg.com/@mantine/utils/-/utils-6.0.21.tgz#6185506e91cba3e308aaa8ea9ababc8e767995d6" + integrity sha512-33RVDRop5jiWFao3HKd3Yp7A9mEq4HAJxJPTuYm1NkdqX6aTKOQK7wT8v8itVodBp+sb4cJK6ZVdD1UurK/txQ== -"@microsoft/api-extractor-model@7.27.6": - version "7.27.6" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.27.6.tgz#308e44cd595d2fb446c6357759ee0675ec37d26e" - integrity sha512-eiCnlayyum1f7fS2nA9pfIod5VCNR1G+Tq84V/ijDrKrOFVa598BLw145nCsGDMoFenV6ajNi2PR5WCwpAxW6Q== +"@microsoft/api-extractor-model@7.28.2": + version "7.28.2" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.28.2.tgz#91c66dd820ccc70e0c163e06b392d8363f1b9269" + integrity sha512-vkojrM2fo3q4n4oPh4uUZdjJ2DxQ2+RnDQL/xhTWSRUNPF6P4QyrvY357HBxbnltKcYu+nNNolVqc6TIGQ73Ig== dependencies: "@microsoft/tsdoc" "0.14.2" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.59.7" + "@rushstack/node-core-library" "3.61.0" -"@microsoft/api-extractor@^7.36.3": - version "7.36.4" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.36.4.tgz#3bb9fbbbeacaa48eea49150351905a2677a506d9" - integrity sha512-21UECq8C/8CpHT23yiqTBQ10egKUacIpxkPyYR7hdswo/M5yTWdBvbq+77YC9uPKQJOUfOD1FImBQ1DzpsdeQQ== +"@microsoft/api-extractor@^7.36.4": + version "7.38.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.38.0.tgz#e72546d6766b3866578a462b040f71b17779e1c5" + integrity sha512-e1LhZYnfw+JEebuY2bzhw0imDCl1nwjSThTrQqBXl40hrVo6xm3j/1EpUr89QyzgjqmAwek2ZkIVZbrhaR+cqg== dependencies: - "@microsoft/api-extractor-model" "7.27.6" + "@microsoft/api-extractor-model" "7.28.2" "@microsoft/tsdoc" "0.14.2" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.59.7" - "@rushstack/rig-package" "0.4.1" - "@rushstack/ts-command-line" "4.15.2" + "@rushstack/node-core-library" "3.61.0" + "@rushstack/rig-package" "0.5.1" + "@rushstack/ts-command-line" "4.16.1" colors "~1.2.1" lodash "~4.17.15" resolve "~1.22.1" @@ -1589,28 +1604,28 @@ dependencies: "@babel/runtime" "^7.13.10" -"@reactflow/background@11.2.8": - version "11.2.8" - resolved "https://registry.yarnpkg.com/@reactflow/background/-/background-11.2.8.tgz#aa83f87b7d65442b52732f0a04d9da981f978265" - integrity sha512-5o41N2LygiNC2/Pk8Ak2rIJjXbKHfQ23/Y9LFsnAlufqwdzFqKA8txExpsMoPVHHlbAdA/xpQaMuoChGPqmyDw== +"@reactflow/background@11.3.3": + version "11.3.3" + resolved "https://registry.yarnpkg.com/@reactflow/background/-/background-11.3.3.tgz#c2662ca22acf49cce5084daf21aa4a3ca9f241f2" + integrity sha512-m3MR25ufbrDkZI2Yi7pHX5uewVpiaaVM5px35pk2v3qdG68adqHOgJjncUOpGiJpc3rDwt4mqmW1V7RjBqNv6Q== dependencies: - "@reactflow/core" "11.8.3" + "@reactflow/core" "11.9.3" classcat "^5.0.3" zustand "^4.4.1" -"@reactflow/controls@11.1.19": - version "11.1.19" - resolved "https://registry.yarnpkg.com/@reactflow/controls/-/controls-11.1.19.tgz#a8bc4b4eafc10d5d230db5286753e867bcf35e5b" - integrity sha512-Vo0LFfAYjiSRMLEII/aeBo+1MT2a0Yc7iLVnkuRTLzChC0EX+A2Fa+JlzeOEYKxXlN4qcDxckRNGR7092v1HOQ== +"@reactflow/controls@11.2.3": + version "11.2.3" + resolved "https://registry.yarnpkg.com/@reactflow/controls/-/controls-11.2.3.tgz#d965399772f912b504f1e96d00ddf950aa822153" + integrity sha512-UTsfHE+PhgWrCZN4GUOTRU/3l8dGSyR2KslmgqV7mVNsh6EuS2cxboRczjpcIc8lF0EH+7QxLGeXSH42GWCcOQ== dependencies: - "@reactflow/core" "11.8.3" + "@reactflow/core" "11.9.3" classcat "^5.0.3" zustand "^4.4.1" -"@reactflow/core@11.8.3": - version "11.8.3" - resolved "https://registry.yarnpkg.com/@reactflow/core/-/core-11.8.3.tgz#03ffeb06fbc141b8f786cb4ac8169f8a51a5f00e" - integrity sha512-y6DN8Wy4V4KQBGHFqlj9zWRjLJU6CgdnVwWaEA/PdDg/YUkFBMpZnXqTs60czinoA2rAcvsz50syLTPsj5e+Wg== +"@reactflow/core@11.9.3": + version "11.9.3" + resolved "https://registry.yarnpkg.com/@reactflow/core/-/core-11.9.3.tgz#5212092e5f1ad741e9bd36b4e1a785a7611fd9da" + integrity sha512-45o8X1sjF48wSWALHybbLoWF6yo9SARgJpMKm96J8ZL8mrNhqSjll77sLRJg6zQ+VKdDwotEN30jp5eY6i28tw== dependencies: "@types/d3" "^7.4.0" "@types/d3-drag" "^3.0.1" @@ -1622,12 +1637,12 @@ d3-zoom "^3.0.0" zustand "^4.4.1" -"@reactflow/minimap@11.6.3": - version "11.6.3" - resolved "https://registry.yarnpkg.com/@reactflow/minimap/-/minimap-11.6.3.tgz#1cfddd87e9afd23ad704167988c66bd683ffc5d2" - integrity sha512-PSA28dk09RnBHOA1zb45fjQXz3UozSJZmsIpgq49O3trfVFlSgRapxNdGsughWLs7/emg2M5jmi6Vc+ejcfjvQ== +"@reactflow/minimap@11.7.3": + version "11.7.3" + resolved "https://registry.yarnpkg.com/@reactflow/minimap/-/minimap-11.7.3.tgz#d6ed45d48080e2d8bbd0af255dec958aca523574" + integrity sha512-u620uYwjmA5tJ/4p+F/0kyjNojvV0axTMSw87d/CCDij96m+2/drwqMW+BE8XHEqjG0c1HyplrkXQ3WhGu6ZaA== dependencies: - "@reactflow/core" "11.8.3" + "@reactflow/core" "11.9.3" "@types/d3-selection" "^3.0.3" "@types/d3-zoom" "^3.0.1" classcat "^5.0.3" @@ -1635,40 +1650,40 @@ d3-zoom "^3.0.0" zustand "^4.4.1" -"@reactflow/node-resizer@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@reactflow/node-resizer/-/node-resizer-2.1.5.tgz#f4033946ccc9cc8f47a94ed93f10a32befd546f1" - integrity sha512-z/hJlsptd2vTx13wKouqvN/Kln08qbkA+YTJLohc2aJ6rx3oGn9yX4E4IqNxhA7zNqYEdrnc1JTEA//ifh9z3w== +"@reactflow/node-resizer@2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@reactflow/node-resizer/-/node-resizer-2.2.3.tgz#94665174cbf0524a3733bac836f5428f851b50e3" + integrity sha512-x1TXN4YZhBI1LxNegVsE51emUg1rf4rBgvNL8Tzj0xsKkD/av4DOzRizQ3xAGgk0joPrsOTiGiP511m/PWjsew== dependencies: - "@reactflow/core" "11.8.3" + "@reactflow/core" "11.9.3" classcat "^5.0.4" d3-drag "^3.0.0" d3-selection "^3.0.0" zustand "^4.4.1" -"@reactflow/node-toolbar@1.2.7": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@reactflow/node-toolbar/-/node-toolbar-1.2.7.tgz#cf6639945dc42b42416f293d6132e1187bca3424" - integrity sha512-vs+Wg1tjy3SuD7eoeTqEtscBfE9RY+APqC28urVvftkrtsN7KlnoQjqDG6aE45jWP4z+8bvFizRWjAhxysNLkg== +"@reactflow/node-toolbar@1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@reactflow/node-toolbar/-/node-toolbar-1.3.3.tgz#ccedd3522a43426438e69c204c281f2bb6609f40" + integrity sha512-juNFBLZgC+KOYpVaQFTkSQTDf4hYK7WAagiQQ4Dw0IUcLaMY3TA31OLP6X6gMG73YGKFmkgrDwi0ZDB0jpMqdA== dependencies: - "@reactflow/core" "11.8.3" + "@reactflow/core" "11.9.3" classcat "^5.0.3" zustand "^4.4.1" -"@reduxjs/toolkit@^1.9.5": - version "1.9.5" - resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.5.tgz#d3987849c24189ca483baa7aa59386c8e52077c4" - integrity sha512-Rt97jHmfTeaxL4swLRNPD/zV4OxTes4la07Xc4hetpUW/vc75t5m1ANyxG6ymnEQ2FsLQsoMlYB2vV1sO3m8tQ== +"@reduxjs/toolkit@^1.9.7": + version "1.9.7" + resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.7.tgz#7fc07c0b0ebec52043f8cb43510cf346405f78a6" + integrity sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ== dependencies: immer "^9.0.21" redux "^4.2.1" redux-thunk "^2.4.2" reselect "^4.1.8" -"@roarr/browser-log-writer@^1.1.5": - version "1.1.5" - resolved "https://registry.yarnpkg.com/@roarr/browser-log-writer/-/browser-log-writer-1.1.5.tgz#755ff62ddaa297bb3488067408a7085db382352b" - integrity sha512-yLn//DRjh1/rUgZpZkwmT/5RqHYfkdOwGXWXnKBR3l/HE04DIhSVeYin3sc8aWHBa7s7WglQpYX/uw/WI6POpw== +"@roarr/browser-log-writer@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@roarr/browser-log-writer/-/browser-log-writer-1.3.0.tgz#64aeb65ac88050f0e8c133876e548bec05cfa4af" + integrity sha512-RTzjxrm0CpTSoESmsO6104VymAksDS/yJEkaZrL/OLfbM6q+J+jLRBLtJxhJHSY03pBWOEE3wRh+pVwfKtBPqg== dependencies: boolean "^3.1.4" globalthis "^1.0.2" @@ -1691,10 +1706,10 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rushstack/node-core-library@3.59.7": - version "3.59.7" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.59.7.tgz#9dcd62b79263e8a5b68465d4bf9124ec86e14b6c" - integrity sha512-ln1Drq0h+Hwa1JVA65x5mlSgUrBa1uHL+V89FqVWQgXd1vVIMhrtqtWGQrhTnFHxru5ppX+FY39VWELF/FjQCw== +"@rushstack/node-core-library@3.61.0": + version "3.61.0" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.61.0.tgz#7441a0d2ae5268b758a7a49588a78cd55af57e66" + integrity sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ== dependencies: colors "~1.2.1" fs-extra "~7.0.1" @@ -1704,18 +1719,18 @@ semver "~7.5.4" z-schema "~5.0.2" -"@rushstack/rig-package@0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.4.1.tgz#ff11bf67dad46f9b4f09db91cf45739ab411ee9f" - integrity sha512-AGRwpqlXNSp9LhUSz4HKI9xCluqQDt/obsQFdv/NYIekF3pTTPzc+HbQsIsjVjYnJ3DcmxOREVMhvrMEjpiq6g== +"@rushstack/rig-package@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.5.1.tgz#6c9c283cc96b5bb1eae9875946d974ac5429bb21" + integrity sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA== dependencies: resolve "~1.22.1" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.15.2.tgz#7920e3fa2ab6af129d995ce4424c600da0bf8a93" - integrity sha512-5+C2uoJY8b+odcZD6coEe2XNC4ZjGB4vCMESbqW/8DHRWC/qIHfANdmN9F1wz/lAgxz72i7xRoVtPY2j7e4gpQ== +"@rushstack/ts-command-line@4.16.1": + version "4.16.1" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.16.1.tgz#3537bbc323f77c8646646465c579b992d39feb16" + integrity sha512-+OCsD553GYVLEmz12yiFjMOzuPeCiZ3f8wTiFHL30ZVXexTyPmgjwXEhg2K2P0a2lVf+8YBy7WtPoflB2Fp8/A== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -1734,71 +1749,84 @@ dependencies: pako "^2.1.0" -"@swc/core-darwin-arm64@1.3.70": - version "1.3.70" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.70.tgz#056ac6899e22cb7f7be21388d4d938ca5123a72b" - integrity sha512-31+mcl0dgdRHvZRjhLOK9V6B+qJ7nxDZYINr9pBlqGWxknz37Vld5KK19Kpr79r0dXUZvaaelLjCnJk9dA2PcQ== +"@swc/core-darwin-arm64@1.3.93": + version "1.3.93" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.93.tgz#aefd94625451988286bebccb1c072bae0a36bcdb" + integrity sha512-gEKgk7FVIgltnIfDO6GntyuQBBlAYg5imHpRgLxB1zSI27ijVVkksc6QwISzFZAhKYaBWIsFSVeL9AYSziAF7A== -"@swc/core-darwin-x64@1.3.70": - version "1.3.70" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.70.tgz#3945814de6fadbee5b46cb2a3422353acb420c5c" - integrity sha512-GMFJ65E18zQC80t0os+TZvI+8lbRuitncWVge/RXmXbVLPRcdykP4EJ87cqzcG5Ah0z18/E0T+ixD6jHRisrYQ== +"@swc/core-darwin-x64@1.3.93": + version "1.3.93" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.93.tgz#18409c6effdf508ddf1ebccfa77d35aaa6cd72f0" + integrity sha512-ZQPxm/fXdDQtn3yrYSL/gFfA8OfZ5jTi33yFQq6vcg/Y8talpZ+MgdSlYM0FkLrZdMTYYTNFiuBQuuvkA+av+Q== -"@swc/core-linux-arm-gnueabihf@1.3.70": - version "1.3.70" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.70.tgz#7960e54ede1af75a7ef99ee53febf37fea6269a8" - integrity sha512-wjhCwS8LCiAq2VedF1b4Bryyw68xZnfMED4pLRazAl8BaUlDFANfRBORNunxlfHQj4V3x39IaiLgCZRHMdzXBg== +"@swc/core-linux-arm-gnueabihf@1.3.93": + version "1.3.93" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.93.tgz#23a97bc94a8b2f23fb6cc4bc9d8936899e5eeff5" + integrity sha512-OYFMMI2yV+aNe3wMgYhODxHdqUB/jrK0SEMHHS44GZpk8MuBXEF+Mcz4qjkY5Q1EH7KVQqXb/gVWwdgTHpjM2A== -"@swc/core-linux-arm64-gnu@1.3.70": - version "1.3.70" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.70.tgz#df9654e5040bbeb1619739756a7f50100e38ace8" - integrity sha512-9D/Rx67cAOnMiexvCqARxvhj7coRajTp5HlJHuf+rfwMqI2hLhpO9/pBMQxBUAWxODO/ksQ/OF+GJRjmtWw/2A== +"@swc/core-linux-arm64-gnu@1.3.93": + version "1.3.93" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.93.tgz#7a17406a7cf76a959a617626d5ee2634ae9afa26" + integrity sha512-BT4dT78odKnJMNiq5HdjBsv29CiIdcCcImAPxeFqAeFw1LL6gh9nzI8E96oWc+0lVT5lfhoesCk4Qm7J6bty8w== -"@swc/core-linux-arm64-musl@1.3.70": - version "1.3.70" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.70.tgz#2c2aab5a136c7eb409ddc9cdc4f947a68fd74493" - integrity sha512-gkjxBio7XD+1GlQVVyPP/qeFkLu83VhRHXaUrkNYpr5UZG9zZurBERT9nkS6Y+ouYh+Q9xmw57aIyd2KvD2zqQ== +"@swc/core-linux-arm64-musl@1.3.93": + version "1.3.93" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.93.tgz#a30be7780090afefd3b8706398418cbe1d23db49" + integrity sha512-yH5fWEl1bktouC0mhh0Chuxp7HEO4uCtS/ly1Vmf18gs6wZ8DOOkgAEVv2dNKIryy+Na++ljx4Ym7C8tSJTrLw== -"@swc/core-linux-x64-gnu@1.3.70": - version "1.3.70" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.70.tgz#774351532b154ed36a5c6d14b647e7a8ab510028" - integrity sha512-/nCly+V4xfMVwfEUoLLAukxUSot/RcSzsf6GdsGTjFcrp5sZIntAjokYRytm3VT1c2TK321AfBorsi9R5w8Y7Q== +"@swc/core-linux-x64-gnu@1.3.93": + version "1.3.93" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.93.tgz#41e903fd82e059952d16051b442cbe65ee5b8cb3" + integrity sha512-OFUdx64qvrGJhXKEyxosHxgoUVgba2ztYh7BnMiU5hP8lbI8G13W40J0SN3CmFQwPP30+3oEbW7LWzhKEaYjlg== -"@swc/core-linux-x64-musl@1.3.70": - version "1.3.70" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.70.tgz#c0b1b4ad5f4ef187eaa093589a4933ecb6836546" - integrity sha512-HoOsPJbt361KGKaivAK0qIiYARkhzlxeAfvF5NlnKxkIMOZpQ46Lwj3tR0VWohKbrhS+cYKFlVuDi5XnDkx0XA== +"@swc/core-linux-x64-musl@1.3.93": + version "1.3.93" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.93.tgz#0866807545c44eac9b3254b374310ad5e1c573f9" + integrity sha512-4B8lSRwEq1XYm6xhxHhvHmKAS7pUp1Q7E33NQ2TlmFhfKvCOh86qvThcjAOo57x8DRwmpvEVrqvpXtYagMN6Ig== -"@swc/core-win32-arm64-msvc@1.3.70": - version "1.3.70" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.70.tgz#8640267ce3959db0e7e682103677a5e0500b5ea7" - integrity sha512-hm4IBK/IaRil+aj1cWU6f0GyAdHpw/Jr5nyFYLM2c/tt7w2t5hgb8NjzM2iM84lOClrig1fG6edj2vCF1dFzNQ== +"@swc/core-win32-arm64-msvc@1.3.93": + version "1.3.93" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.93.tgz#c72411dea2fd4f62a832f71a6e15424d849e7610" + integrity sha512-BHShlxtkven8ZjjvZ5QR6sC5fZCJ9bMujEkiha6W4cBUTY7ce7qGFyHmQd+iPC85d9kD/0cCiX/Xez8u0BhO7w== -"@swc/core-win32-ia32-msvc@1.3.70": - version "1.3.70" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.70.tgz#f95d5656622f5a963bc0125da9fda84cf40faa8d" - integrity sha512-5cgKUKIT/9Fp5fCA+zIjYCQ4dSvjFYOeWGZR3QiTXGkC4bGa1Ji9SEPyeIAX0iruUnKjYaZB9RvHK2tNn7RLrQ== +"@swc/core-win32-ia32-msvc@1.3.93": + version "1.3.93" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.93.tgz#05c2b031b976af4ef81f5073ee114254678a5d5d" + integrity sha512-nEwNWnz4JzYAK6asVvb92yeylfxMYih7eMQOnT7ZVlZN5ba9WF29xJ6kcQKs9HRH6MvWhz9+wRgv3FcjlU6HYA== -"@swc/core-win32-x64-msvc@1.3.70": - version "1.3.70" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.70.tgz#5b3acddb96fdf60df089b837061915cb4be94eaa" - integrity sha512-LE8lW46+TQBzVkn2mHBlk8DIElPIZ2dO5P8AbJiARNBAnlqQWu67l9gWM89UiZ2l33J2cI37pHzON3tKnT8f9g== +"@swc/core-win32-x64-msvc@1.3.93": + version "1.3.93" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.93.tgz#f8748b3fd1879f13084b1b0814edf328c662935c" + integrity sha512-jibQ0zUr4kwJaQVwgmH+svS04bYTPnPw/ZkNInzxS+wFAtzINBYcU8s2PMWbDb2NGYiRSEeoSGyAvS9H+24JFA== -"@swc/core@^1.3.61": - version "1.3.70" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.70.tgz#f5ddc6fe6add7a99f5b94d2214ad0d8527d11479" - integrity sha512-LWVWlEDLlOD25PvA2NEz41UzdwXnlDyBiZbe69s3zM0DfCPwZXLUm79uSqH9ItsOjTrXSL5/1+XUL6C/BZwChA== +"@swc/core@^1.3.85": + version "1.3.93" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.93.tgz#be4282aa44deffb0e5081a2613bac00335600630" + integrity sha512-690GRr1wUGmGYZHk7fUduX/JUwViMF2o74mnZYIWEcJaCcd9MQfkhsxPBtjeg6tF+h266/Cf3RPYhsFBzzxXcA== + dependencies: + "@swc/counter" "^0.1.1" + "@swc/types" "^0.1.5" optionalDependencies: - "@swc/core-darwin-arm64" "1.3.70" - "@swc/core-darwin-x64" "1.3.70" - "@swc/core-linux-arm-gnueabihf" "1.3.70" - "@swc/core-linux-arm64-gnu" "1.3.70" - "@swc/core-linux-arm64-musl" "1.3.70" - "@swc/core-linux-x64-gnu" "1.3.70" - "@swc/core-linux-x64-musl" "1.3.70" - "@swc/core-win32-arm64-msvc" "1.3.70" - "@swc/core-win32-ia32-msvc" "1.3.70" - "@swc/core-win32-x64-msvc" "1.3.70" + "@swc/core-darwin-arm64" "1.3.93" + "@swc/core-darwin-x64" "1.3.93" + "@swc/core-linux-arm-gnueabihf" "1.3.93" + "@swc/core-linux-arm64-gnu" "1.3.93" + "@swc/core-linux-arm64-musl" "1.3.93" + "@swc/core-linux-x64-gnu" "1.3.93" + "@swc/core-linux-x64-musl" "1.3.93" + "@swc/core-win32-arm64-msvc" "1.3.93" + "@swc/core-win32-ia32-msvc" "1.3.93" + "@swc/core-win32-x64-msvc" "1.3.93" + +"@swc/counter@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.2.tgz#bf06d0770e47c6f1102270b744e17b934586985e" + integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== + +"@swc/types@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" + integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== "@types/argparse@1.0.38": version "1.0.38" @@ -2061,10 +2089,10 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/lodash-es@^4.14.194": - version "4.17.8" - resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.8.tgz#cfffd0969507830c22da18dbb20d2ca126fdaa8b" - integrity sha512-euY3XQcZmIzSy7YH5+Unb3b2X12Wtk54YWINBvvGQ5SmMvwb11JQskGsfkH/5HXK77Kr8GF0wkVDIxzAisWtog== +"@types/lodash-es@^4.17.9": + version "4.17.9" + resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.9.tgz#49dbe5112e23c54f2b387d860b7d03028ce170c2" + integrity sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ== dependencies: "@types/lodash" "*" @@ -2080,10 +2108,12 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.195.tgz#bafc975b252eb6cea78882ce8a7b6bf22a6de632" integrity sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg== -"@types/node@^20.5.1": - version "20.5.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.1.tgz#178d58ee7e4834152b0e8b4d30cbfab578b9bb30" - integrity sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg== +"@types/node@^20.8.6": + version "20.8.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.6.tgz#0dbd4ebcc82ad0128df05d0e6f57e05359ee47fa" + integrity sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ== + dependencies: + undici-types "~5.25.1" "@types/parse-json@^4.0.0": version "4.0.0" @@ -2095,10 +2125,10 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== -"@types/react-dom@^18.2.6": - version "18.2.7" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.7.tgz#67222a08c0a6ae0a0da33c3532348277c70abb63" - integrity sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA== +"@types/react-dom@^18.2.13": + version "18.2.13" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.13.tgz#89cd7f9ec8b28c8b6f0392b9591671fb4a9e96b7" + integrity sha512-eJIUv7rPP+EC45uNYp/ThhSpE16k22VJUknt5OLoH9tbXoi8bMhwLf5xRuWMywamNbWzhrSmU7IBJfPup1+3fw== dependencies: "@types/react" "*" @@ -2109,20 +2139,20 @@ dependencies: "@types/react" "*" -"@types/react-redux@^7.1.25": - version "7.1.25" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.25.tgz#de841631205b24f9dfb4967dd4a7901e048f9a88" - integrity sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg== +"@types/react-redux@^7.1.27": + version "7.1.27" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.27.tgz#1afb31f7354bf787e162c10ff3fa19bafa9e6b57" + integrity sha512-xj7d9z32p1K/eBmO+OEy+qfaWXtcPlN8f1Xk3Ne0p/ZRQ867RI5bQ/bpBtxbqU1AHNhKJSgGvld/P2myU2uYkg== dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" hoist-non-react-statics "^3.3.0" redux "^4.0.0" -"@types/react-transition-group@^4.4.6": - version "4.4.6" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.6.tgz#18187bcda5281f8e10dfc48f0943e2fdf4f75e2e" - integrity sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew== +"@types/react-transition-group@^4.4.7": + version "4.4.7" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.7.tgz#bf69f269d74aa78b99097673ca6dd6824a68ef1c" + integrity sha512-ICCyBl5mvyqYp8Qeq9B5G/fyBSRC0zx3XM3sCC6KkcMsNeAHqXBKkmat4GqdJET5jtYUpZXrxI5flve5qhi2Eg== dependencies: "@types/react" "*" @@ -2135,10 +2165,10 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@^18.2.20": - version "18.2.20" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.20.tgz#1605557a83df5c8a2cc4eeb743b3dfc0eb6aaeb2" - integrity sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw== +"@types/react@^18.2.28": + version "18.2.28" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.28.tgz#86877465c0fcf751659a36c769ecedfcfacee332" + integrity sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -2159,21 +2189,21 @@ resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43" integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA== -"@types/uuid@^9.0.2": - version "9.0.2" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.2.tgz#ede1d1b1e451548d44919dc226253e32a6952c4b" - integrity sha512-kNnC1GFBLuhImSnV7w4njQkUiJi0ZXUycu1rUaouPqiKlXkh77JKgdRnTAp1x5eBwcIwbtI+3otwzuIDEuDoxQ== +"@types/uuid@^9.0.5": + version "9.0.5" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.5.tgz#25a71eb73eba95ac0e559ff3dd018fc08294acf6" + integrity sha512-xfHdwa1FMJ082prjSJpoEI57GZITiQz10r3vEJCHa2khEFQjKy91aWKz6+zybzssCvXUwE1LQWgWVwZ4nYUvHQ== -"@typescript-eslint/eslint-plugin@^6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.1.tgz#bc0c6f000134b53c304ad0bec4ee4753cd3e89d2" - integrity sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw== +"@typescript-eslint/eslint-plugin@^6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.5.tgz#f4024b9f63593d0c2b5bd6e4ca027e6f30934d4f" + integrity sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw== dependencies: "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.4.1" - "@typescript-eslint/type-utils" "6.4.1" - "@typescript-eslint/utils" "6.4.1" - "@typescript-eslint/visitor-keys" "6.4.1" + "@typescript-eslint/scope-manager" "6.7.5" + "@typescript-eslint/type-utils" "6.7.5" + "@typescript-eslint/utils" "6.7.5" + "@typescript-eslint/visitor-keys" "6.7.5" debug "^4.3.4" graphemer "^1.4.0" ignore "^5.2.4" @@ -2181,32 +2211,32 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/parser@^6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.4.1.tgz#85ad550bf4ac4aa227504f1becb828f8e46c44e3" - integrity sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg== +"@typescript-eslint/parser@^6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.7.5.tgz#8d7ca3d1fbd9d5a58cc4d30b2aa797a760137886" + integrity sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw== dependencies: - "@typescript-eslint/scope-manager" "6.4.1" - "@typescript-eslint/types" "6.4.1" - "@typescript-eslint/typescript-estree" "6.4.1" - "@typescript-eslint/visitor-keys" "6.4.1" + "@typescript-eslint/scope-manager" "6.7.5" + "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/typescript-estree" "6.7.5" + "@typescript-eslint/visitor-keys" "6.7.5" debug "^4.3.4" -"@typescript-eslint/scope-manager@6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.4.1.tgz#4b073a30be2dbe603e44e9ae0cff7e1d3ed19278" - integrity sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A== +"@typescript-eslint/scope-manager@6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.7.5.tgz#1cf33b991043886cd67f4f3600b8e122fc14e711" + integrity sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A== dependencies: - "@typescript-eslint/types" "6.4.1" - "@typescript-eslint/visitor-keys" "6.4.1" + "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/visitor-keys" "6.7.5" -"@typescript-eslint/type-utils@6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.4.1.tgz#fa21cb13016c8d6f352fe9b2d6c9ab6edc2d1857" - integrity sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA== +"@typescript-eslint/type-utils@6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.7.5.tgz#0a65949ec16588d8956f6d967f7d9c84ddb2d72a" + integrity sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g== dependencies: - "@typescript-eslint/typescript-estree" "6.4.1" - "@typescript-eslint/utils" "6.4.1" + "@typescript-eslint/typescript-estree" "6.7.5" + "@typescript-eslint/utils" "6.7.5" debug "^4.3.4" ts-api-utils "^1.0.1" @@ -2220,18 +2250,18 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/types@6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.4.1.tgz#b2c61159f46dda210fed9f117f5d027f65bb5c3b" - integrity sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg== +"@typescript-eslint/types@6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.7.5.tgz#4571320fb9cf669de9a95d9849f922c3af809790" + integrity sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ== -"@typescript-eslint/typescript-estree@6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.1.tgz#91ff88101c710adb0f70a317f2f65efa9441da45" - integrity sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg== +"@typescript-eslint/typescript-estree@6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.5.tgz#4578de1a26e9f24950f029a4f00d1bfe41f15a39" + integrity sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg== dependencies: - "@typescript-eslint/types" "6.4.1" - "@typescript-eslint/visitor-keys" "6.4.1" + "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/visitor-keys" "6.7.5" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -2264,17 +2294,17 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.4.1.tgz#81bf62ff0c3119a26c19fab683582e29450717bc" - integrity sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw== +"@typescript-eslint/utils@6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.7.5.tgz#ab847b53d6b65e029314b8247c2336843dba81ab" + integrity sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.4.1" - "@typescript-eslint/types" "6.4.1" - "@typescript-eslint/typescript-estree" "6.4.1" + "@typescript-eslint/scope-manager" "6.7.5" + "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/typescript-estree" "6.7.5" semver "^7.5.4" "@typescript-eslint/visitor-keys@4.33.0": @@ -2293,20 +2323,20 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.1.tgz#e3ccf7b8d42e625946ac5094ed92a405fb4115e0" - integrity sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ== +"@typescript-eslint/visitor-keys@6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.5.tgz#84c68d6ceb5b12d5246b918b84f2b79affd6c2f1" + integrity sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg== dependencies: - "@typescript-eslint/types" "6.4.1" + "@typescript-eslint/types" "6.7.5" eslint-visitor-keys "^3.4.1" -"@vitejs/plugin-react-swc@^3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react-swc/-/plugin-react-swc-3.3.2.tgz#34a82c1728066f48a86dfecb2f15df60f89207fb" - integrity sha512-VJFWY5sfoZerQRvJrh518h3AcQt6f/yTuWn4/TRB+dqmYU0NX1qz7qM5Wfd+gOQqUzQW4gxKqKN3KpE/P3+zrA== +"@vitejs/plugin-react-swc@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react-swc/-/plugin-react-swc-3.4.0.tgz#53ca6a07423abadec92f967e188d5ba49b350830" + integrity sha512-m7UaA4Uvz82N/0EOVpZL4XsFIakRqrFKeSNxa1FBLSXGvWrWRBwmZb4qxk+ZIVAZcW3c3dn5YosomDgx62XWcQ== dependencies: - "@swc/core" "^1.3.61" + "@swc/core" "^1.3.85" "@volar/language-core@1.10.1", "@volar/language-core@~1.10.0": version "1.10.1" @@ -2391,22 +2421,22 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -"@zag-js/dom-query@0.10.5": - version "0.10.5" - resolved "https://registry.yarnpkg.com/@zag-js/dom-query/-/dom-query-0.10.5.tgz#9fc02a51383989667694d8747925e6d20294af9e" - integrity sha512-zm6wA5+kqU48it6afNjaUhjVSixKZruTKB23z0V1xBqKbuiLOMMOZ5oK26cTPSXtZ5CPhDNZ2Qk4pliS5n9SVw== +"@zag-js/dom-query@0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@zag-js/dom-query/-/dom-query-0.16.0.tgz#bca46bcd78f78c900064478646d95f9781ed098e" + integrity sha512-Oqhd6+biWyKnhKwFFuZrrf6lxBz2tX2pRQe6grUnYwO6HJ8BcbqZomy2lpOdr+3itlaUqx+Ywj5E5ZZDr/LBfQ== "@zag-js/element-size@0.10.5": version "0.10.5" resolved "https://registry.yarnpkg.com/@zag-js/element-size/-/element-size-0.10.5.tgz#a24bad2eeb7e2c8709e32be5336e158e1a1a174f" integrity sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w== -"@zag-js/focus-visible@0.10.5": - version "0.10.5" - resolved "https://registry.yarnpkg.com/@zag-js/focus-visible/-/focus-visible-0.10.5.tgz#643e196ea768bea5ce54771102fae22f5e9ba3c7" - integrity sha512-EhDHKLutMtvLFCjBjyIY6h1JoJJNXG3KJz7Dj1sh4tj4LWAqo/TqLvgHyUTB29XMHwoslFHDJHKVWmLGMi+ULQ== +"@zag-js/focus-visible@0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@zag-js/focus-visible/-/focus-visible-0.16.0.tgz#c9e53e3dbab0f2649d04a489bb379f5800f4f069" + integrity sha512-a7U/HSopvQbrDU4GLerpqiMcHKEkQkNPeDZJWz38cw/6Upunh41GjHetq5TB84hxyCaDzJ6q2nEdNoBQfC0FKA== dependencies: - "@zag-js/dom-query" "0.10.5" + "@zag-js/dom-query" "0.16.0" acorn-jsx@^5.3.2: version "5.3.2" @@ -2516,7 +2546,7 @@ argparse@~1.0.9: dependencies: sprintf-js "~1.0.2" -aria-hidden@^1.1.3, aria-hidden@^1.2.2: +aria-hidden@^1.1.3, aria-hidden@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.3.tgz#14aeb7fb692bbb72d69bebfa47279c1fd725e954" integrity sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ== @@ -2632,10 +2662,10 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -axios@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.4.0.tgz#38a7bf1224cd308de271146038b551d725f0be1f" - integrity sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA== +axios@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.5.1.tgz#11fbaa11fc35f431193a9564109c88c1f27b585f" + integrity sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A== dependencies: follow-redirects "^1.15.0" form-data "^4.0.0" @@ -2918,7 +2948,7 @@ color-name@^1.1.4, color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color2k@^2.0.0: +color2k@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/color2k/-/color2k-2.0.2.tgz#ac2b4aea11c822a6bcb70c768b5a289f4fffcebb" integrity sha512-kJhwH5nAwb34tmyuqq/lgjEKzlFXn1U99NlnB6Ws4qVaERcRUYeYP1cBw6BJ4vxaWStAUEef4WMr7WjOCnBt8w== @@ -2940,10 +2970,10 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -commander@11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-11.0.0.tgz#43e19c25dbedc8256203538e8d7e9346877a6f67" - integrity sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ== +commander@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== commander@^10.0.0: version "10.0.1" @@ -2975,20 +3005,20 @@ compare-versions@^6.1.0: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-6.1.0.tgz#3f2131e3ae93577df111dba133e6db876ffe127a" integrity sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg== -compute-scroll-into-view@1.0.20: - version "1.0.20" - resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz#1768b5522d1172754f5d0c9b02de3af6be506a43" - integrity sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg== +compute-scroll-into-view@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz#c418900a5c56e2b04b885b54995df164535962b1" + integrity sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A== concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concurrently@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-8.2.0.tgz#cdc9f621a4d913366600355d68254df2c5e782f3" - integrity sha512-nnLMxO2LU492mTUj9qX/az/lESonSZu81UznYDoXtz1IQf996ixVqPAgHXwvHiHCAef/7S8HIK+fTFK7Ifk8YA== +concurrently@^8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-8.2.1.tgz#bcab9cacc38c23c503839583151e0fa96fd5b584" + integrity sha512-nVraf3aXOpIcNud5pB9M82p1tynmZkrSGQ1p6X/VY8cJ+2LMVqAgXsJxYYefACSHbTYlm92O1xuhdGTjwoEvbQ== dependencies: chalk "^4.1.2" date-fns "^2.30.0" @@ -3642,10 +3672,10 @@ eslint-config-prettier@^9.0.0: resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f" integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw== -eslint-plugin-prettier@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz#6887780ed95f7708340ec79acfdf60c35b9be57a" - integrity sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w== +eslint-plugin-prettier@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz#a3b399f04378f79f066379f544e42d6b73f11515" + integrity sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg== dependencies: prettier-linter-helpers "^1.0.0" synckit "^0.8.5" @@ -3700,16 +3730,16 @@ eslint-visitor-keys@^3.4.3: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^8.47.0: - version "8.47.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.47.0.tgz#c95f9b935463fb4fad7005e626c7621052e90806" - integrity sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q== +eslint@^8.51.0: + version "8.51.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.51.0.tgz#4a82dae60d209ac89a5cff1604fea978ba4950f3" + integrity sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "^8.47.0" - "@humanwhocodes/config-array" "^0.11.10" + "@eslint/js" "8.51.0" + "@humanwhocodes/config-array" "^0.11.11" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" ajv "^6.12.4" @@ -3791,19 +3821,19 @@ eventemitter3@^5.0.1: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== -execa@7.2.0, execa@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9" - integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== +execa@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== dependencies: cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^4.3.0" + get-stream "^8.0.1" + human-signals "^5.0.0" is-stream "^3.0.0" merge-stream "^2.0.0" npm-run-path "^5.1.0" onetime "^6.0.0" - signal-exit "^3.0.7" + signal-exit "^4.1.0" strip-final-newline "^3.0.0" execa@^5.0.0: @@ -3821,6 +3851,21 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9" + integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^4.3.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -4020,11 +4065,12 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -formik@^2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/formik/-/formik-2.4.3.tgz#6020e85eb3e3e8415b3b19d6f4f65793ab754b24" - integrity sha512-2Dy79Szw3zlXmZiokUdKsn+n1ow4G8hRrC/n92cOWHNTWXCRpQXlyvz6HcjW7aSQZrldytvDOavYjhfmDnUq8Q== +formik@^2.4.5: + version "2.4.5" + resolved "https://registry.yarnpkg.com/formik/-/formik-2.4.5.tgz#f899b5b7a6f103a8fabb679823e8fafc7e0ee1b4" + integrity sha512-Gxlht0TD3vVdzMDHwkiNZqJ7Mvg77xQNfmBRrNtvzcHZs72TJppSTDKHpImCMJZwcWPBJ8jSQQ95GJzXFf1nAQ== dependencies: + "@types/hoist-non-react-statics" "^3.3.1" deepmerge "^2.1.1" hoist-non-react-statics "^3.3.0" lodash "^4.17.21" @@ -4033,10 +4079,10 @@ formik@^2.4.3: tiny-warning "^1.0.2" tslib "^2.0.0" -framer-motion@^10.16.1: - version "10.16.1" - resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-10.16.1.tgz#0ff5de554bbb35ee6605357d80f92b27d0271a94" - integrity sha512-K6TXr5mZtitC/dxQCBdg7xzdN0d5IAIrlaqCPKtIQVdzVPGC0qBuJKXggHX1vjnP5gPOFwB1KbCCTWcnFc3kWg== +framer-motion@^10.16.4: + version "10.16.4" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-10.16.4.tgz#30279ef5499b8d85db3a298ee25c83429933e9f8" + integrity sha512-p9V9nGomS3m6/CALXqv6nFGMuFOxbWsmaOrdmhyQimMIlLl3LC7h7l86wge/Js/8cRu5ktutS/zlzgR7eBOtFA== dependencies: tslib "^2.4.0" optionalDependencies: @@ -4149,6 +4195,11 @@ get-stream@^6.0.0, get-stream@^6.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -4313,6 +4364,11 @@ human-signals@^4.3.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + husky@^8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" @@ -4330,17 +4386,17 @@ i18next-browser-languagedetector@^7.0.2: dependencies: "@babel/runtime" "^7.19.4" -i18next-http-backend@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-2.2.1.tgz#cdb7efbafa46ce8f237d9db443f62514664a3bdf" - integrity sha512-ZXIdn/8NJIBJ0X4hzXfc3STYxKrCKh1fYjji9HPyIpEJfvTvy8/ZlTl8RuTizzCPj2ZcWrfaecyOMKs6bQ7u5A== +i18next-http-backend@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-2.2.2.tgz#3ee16dfe5fe33524ec8925d4f0bf1508ebbbfadf" + integrity sha512-mJu4ZqzDtBiU3O4GV9AbK5ekEqoDMdMnCl3pkdXmb5b8yoIH//u8FsmIe6C5qXb3teZu+j6VMi20tjUgzeABiw== dependencies: cross-fetch "3.1.6" -i18next@^23.4.4: - version "23.4.4" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.4.4.tgz#ec8fb2b5f3c5d8e3bf3f8ab1b19e743be91300e0" - integrity sha512-+c9B0txp/x1m5zn+QlwHaCS9vyFtmIAEXbVSFzwCX7vupm5V7va8F9cJGNJZ46X9ZtoGzhIiRC7eTIIh93TxPA== +i18next@^23.5.1: + version "23.5.1" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.5.1.tgz#7f7c35ffaa907618d9489f106d5006b09fbca3d3" + integrity sha512-JelYzcaCoFDaa+Ysbfz2JsGAKkrHiMG6S61+HLBUEIPaF40WMwW9hCPymlQGrP+wWawKxKPuSuD71WZscCsWHg== dependencies: "@babel/runtime" "^7.22.5" @@ -4837,10 +4893,10 @@ kolorist@^1.8.0: resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c" integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ== -konva@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/konva/-/konva-9.2.0.tgz#3739e539724b0e6b76d697a322efdaa01baa1508" - integrity sha512-+woI76Sk+VFVl9z7zPkuTnN2zFpEYg27YWz8BCdQXpt5IS3pdnSPAPQVPPMidcbDi9/G5b/IOIp35/KqMGiYPA== +konva@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/konva/-/konva-9.2.2.tgz#972105ec79a89c60296d5e36d1f7cef9b84a42d4" + integrity sha512-Gyn5hQa/5+8pJvTn/IVyZWgum2otWXszuVCG/cevkAyKUFcmFv4tGbQhHFGtJPLQkGO+W6xfgRzyYIkNgKnPxA== levn@^0.4.1: version "0.4.1" @@ -4860,21 +4916,21 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^14.0.1: - version "14.0.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-14.0.1.tgz#57dfa3013a3d60762d9af5d9c83bdb51291a6232" - integrity sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw== +lint-staged@^15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.0.1.tgz#1db47c315c79bafe993aa33a0b50cbfeef50d906" + integrity sha512-2IU5OWmCaxch0X0+IBF4/v7sutpB+F3qoXbro43pYjQTOo5wumckjxoxn47pQBqqBsCWrD5HnI2uG/zJA7isew== dependencies: chalk "5.3.0" - commander "11.0.0" + commander "11.1.0" debug "4.3.4" - execa "7.2.0" + execa "8.0.1" lilconfig "2.1.0" - listr2 "6.6.1" + listr2 "7.0.1" micromatch "4.0.5" pidtree "0.6.0" string-argv "0.3.2" - yaml "2.3.1" + yaml "2.3.2" liqe@^3.6.0: version "3.6.1" @@ -4884,10 +4940,10 @@ liqe@^3.6.0: nearley "^2.20.1" ts-error "^1.0.6" -listr2@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-6.6.1.tgz#08b2329e7e8ba6298481464937099f4a2cd7f95d" - integrity sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg== +listr2@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-7.0.1.tgz#18e7a655b189cd7a8a76575a26f4d494b6ffc2c2" + integrity sha512-nz+7hwgbDp8eWNoDgzdl4hA/xDSLrNRzPu1TLgOYs6l5Y+Ma6zVWWy9Oyt9TQFONwKoSPoka3H50D3vD5EuNwg== dependencies: cli-truncate "^3.1.0" colorette "^2.0.20" @@ -5299,27 +5355,27 @@ open@^9.1.0: is-inside-container "^1.0.0" is-wsl "^2.2.0" -openapi-fetch@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/openapi-fetch/-/openapi-fetch-0.7.4.tgz#3676e0c44433bfa6701cd408853fec75599a9f0d" - integrity sha512-ACoSikOuFO3sMROtqritJAsGd694gRNXFnWpYAqi+tQzowLOkcQ6SbeAvS+T6qNS92y/OLiiYcNrb/Rh/MrEVw== +openapi-fetch@^0.7.10: + version "0.7.10" + resolved "https://registry.yarnpkg.com/openapi-fetch/-/openapi-fetch-0.7.10.tgz#624c928a646b53561ff2703f00d5617fa88a72df" + integrity sha512-lDZkHjSxBuSTPXkJuJ9kSpkLxY9jgsVHbKkhS7rukoKi5et5QUlWCEzO/E6PaSHTQkJDPOjXdBJeDOSj2e8QwQ== dependencies: - openapi-typescript-helpers "^0.0.1" + openapi-typescript-helpers "^0.0.4" openapi-types@^12.1.3: version "12.1.3" resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-12.1.3.tgz#471995eb26c4b97b7bd356aacf7b91b73e777dd3" integrity sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw== -openapi-typescript-helpers@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/openapi-typescript-helpers/-/openapi-typescript-helpers-0.0.1.tgz#865c9b66f18db89e41cd0d770170719610f68d2d" - integrity sha512-WDmxej0eHSZtLgCuyPEn2NXRV7tcvUnBBNP/0c/U66mOlxs6Yn0/dHuWlkVKdHGNahSUwG57A1tyutHWRpWqFg== +openapi-typescript-helpers@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/openapi-typescript-helpers/-/openapi-typescript-helpers-0.0.4.tgz#ffe7c4868f094fcc8502dbdcddc6c32ce8011aee" + integrity sha512-Q0MTapapFAG993+dx8lNw33X6P/6EbFr31yNymJHq56fNc6dODyRm8tWyRnGxuC74lyl1iCRMV6nQCGQsfVNKg== -openapi-typescript@^6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/openapi-typescript/-/openapi-typescript-6.5.2.tgz#622e54e6de25bd65c65a1f129be42193160e6e42" - integrity sha512-Zz41utYZ3BAyr32QhOATSnN9zcWMsJeA4Jdq7xQjfYOdZbQfI8Fvsvx41Doe9Wvoho1aj5cP9b5Z7kHtG6mYvg== +openapi-typescript@^6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/openapi-typescript/-/openapi-typescript-6.7.0.tgz#6d1a4dfc0db60b61573a3ea3c52984a79c638c67" + integrity sha512-eoUfJwhnMEug7euZ1dATG7iRiDVsEROwdPkhLUDiaFjcClV4lzft9F0Ii0fYjULCPNIiWiFi0BqMpSxipuvAgQ== dependencies: ansi-colors "^4.1.3" fast-glob "^3.3.1" @@ -5360,15 +5416,15 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== -overlayscrollbars-react@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/overlayscrollbars-react/-/overlayscrollbars-react-0.5.1.tgz#b5dde9803bae0115f0f214db0c60cdf98213eedb" - integrity sha512-0xw9J1CT/cQ+ELYy3hudG6nY1H5dgJ1DdVW3d8aZwqx6wyHNZV4nsBQXUxoHmPo3dmlJ5MvOLzpKWA4X6nL4QA== +overlayscrollbars-react@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/overlayscrollbars-react/-/overlayscrollbars-react-0.5.2.tgz#b8a6294279a1d0984392586b56a03df78d6c1e34" + integrity sha512-y3xIPY3to7hneF30MQ/tK9nI6UOcflgenAYktgyfi0GuwnsYEuAqgLfs2qDGiNhFA30Xcz3gaMxvqD7+hTvFRA== -overlayscrollbars@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/overlayscrollbars/-/overlayscrollbars-2.2.1.tgz#2a6d43ebba5188a394a8b99611f39e22aad6e0c0" - integrity sha512-5oMxq4UCiEVLiOSvovbX8p+P2NtPosjHC0KkIcaobnYuxGwMyTOwBCtBdqO1tXrrA02VVrNzuIjGMLisO2mIwg== +overlayscrollbars@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/overlayscrollbars/-/overlayscrollbars-2.3.2.tgz#1f31daa0b808f5d4710a59c73eb579397745dd72" + integrity sha512-K3Sau7NpFruKfXBauvchAQshAW+un1qD8EYNcozrPAB2kbif8C2rqa+1EWvMMWPKl88wgf2rX2QDMLgAfR0hHA== p-limit@^3.0.2: version "3.1.0" @@ -5577,10 +5633,10 @@ prettier@^2.0.5, prettier@^2.8.8: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -prettier@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.2.tgz#78fcecd6d870551aa5547437cdae39d4701dca5b" - integrity sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ== +prettier@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643" + integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg== pretty-ms@^7.0.1: version "7.0.1" @@ -5686,10 +5742,10 @@ react-error-boundary@^4.0.11: dependencies: "@babel/runtime" "^7.12.5" -react-fast-compare@3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.1.tgz#53933d9e14f364281d6cba24bfed7a4afb808b5f" - integrity sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg== +react-fast-compare@3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== react-fast-compare@^2.0.1: version "2.0.4" @@ -5713,18 +5769,18 @@ react-hotkeys-hook@4.4.1: resolved "https://registry.yarnpkg.com/react-hotkeys-hook/-/react-hotkeys-hook-4.4.1.tgz#1f7a7a1c9c21d4fa3280bf340fcca8fd77d81994" integrity sha512-sClBMBioFEgFGYLTWWRKvhxcCx1DRznd+wkFHwQZspnRBkHTgruKIHptlK/U/2DPX8BhHoRGzpMVWUXMmdZlmw== -react-i18next@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-13.1.2.tgz#dbb1b18c364295af2a9072333ee4e0b43cbc2da8" - integrity sha512-D/OJ/8ZQYscabsvbCAiOgvJq8W3feQF/VIV0to1w7V7UvrUE1IZ3hcalOckUYvKBd7BP3b8EPm+hop3J8sS+Mw== +react-i18next@^13.3.0: + version "13.3.0" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-13.3.0.tgz#8e39c0101f654db7eb971f159bb55067a78925c3" + integrity sha512-FlR9xjYHSPIJfQspEmkN0yOlxgRyNuiJKJ8gCaZH08UJ7SZHG+VrptEPcpEMEchjNoCOZdKcvJ3PnmHEZhkeXg== dependencies: "@babel/runtime" "^7.22.5" html-parse-stringify "^3.0.1" -react-icons@^4.10.1: - version "4.10.1" - resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.10.1.tgz#3f3b5eec1f63c1796f6a26174a1091ca6437a500" - integrity sha512-/ngzDP/77tlCfqthiiGNZeYFACw85fUjZtLbedmJ5DTlNDIwETxhwBzdOJ21zj4iJdvc0J3y7yOsX3PpxAJzrw== +react-icons@^4.11.0: + version "4.11.0" + resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.11.0.tgz#4b0e31c9bfc919608095cc429c4f1846f4d66c65" + integrity sha512-V+4khzYcE5EBk/BvcuYRq6V/osf11ODUM2J8hg2FDSswRrGvqiYUYPRy4OdrWaQOBj4NcpJfmHZLNaD+VH0TyA== react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" @@ -5754,10 +5810,10 @@ react-reconciler@~0.29.0: loose-envify "^1.1.0" scheduler "^0.23.0" -react-redux@^8.1.2: - version "8.1.2" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.2.tgz#9076bbc6b60f746659ad6d51cb05de9c5e1e9188" - integrity sha512-xJKYI189VwfsFc4CJvHqHlDrzyFTY/3vZACbE+rr/zQ34Xx1wQfB4OTOSeOSNrF6BDVe8OOdxIrAnMGXA3ggfw== +react-redux@^8.1.3: + version "8.1.3" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.3.tgz#4fdc0462d0acb59af29a13c27ffef6f49ab4df46" + integrity sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw== dependencies: "@babel/runtime" "^7.12.1" "@types/hoist-non-react-statics" "^3.3.1" @@ -5774,10 +5830,10 @@ react-remove-scroll-bar@^2.3.4: react-style-singleton "^2.2.1" tslib "^2.0.0" -react-remove-scroll@^2.5.5: - version "2.5.6" - resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.6.tgz#7510b8079e9c7eebe00e65a33daaa3aa29a10336" - integrity sha512-bO856ad1uDYLefgArk559IzUNeQ6SWH4QnrevIUjH+GczV56giDfl3h0Idptf2oIKxQmd1p9BN25jleKodTALg== +react-remove-scroll@^2.5.5, react-remove-scroll@^2.5.6: + version "2.5.7" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz#15a1fd038e8497f65a695bf26a4a57970cac1ccb" + integrity sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA== dependencies: react-remove-scroll-bar "^2.3.4" react-style-singleton "^2.2.1" @@ -5833,15 +5889,15 @@ react-use@^17.4.0: ts-easing "^0.2.0" tslib "^2.1.0" -react-virtuoso@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/react-virtuoso/-/react-virtuoso-4.5.0.tgz#0bc043b4e3e928e7891aa541dd7e55d5b46db8c8" - integrity sha512-OMP6XrzJMMos1vbJZC16RxGW7utAxUMP7i5PNPi6epBNVH7nz+CF/DlmecNBep5wyjLud51dQ5epjb2A0w9W/Q== +react-virtuoso@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/react-virtuoso/-/react-virtuoso-4.6.1.tgz#b08465be4222d9820a22fbe2fefec29e91d0b048" + integrity sha512-dQq0yOdRjdWIYaiTvUbudqmTodGSdWGt5lVYz3mM07TTEV91yv7eL5Fn3FPEJOA36whScxPWg0GiYBIOZYEIEA== -react-zoom-pan-pinch@^3.0.8: - version "3.1.0" - resolved "https://registry.yarnpkg.com/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.1.0.tgz#d87a66fd22a97f5dd56b54076411a9dce1f448cd" - integrity sha512-a3LlP8QPgTikvteCNkZ3X6wIWC0lrg1geP5WkUJyx2MXXAhHQek3r17N1nT/esOiWGuPIECnsd9AGoK8jOeGcg== +react-zoom-pan-pinch@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.2.0.tgz#6ce7d014a8dc4aa62ce83ca57f85e76cf2e934b8" + integrity sha512-7MS0wYWoXjr6PrmpgHOVpVyNQr9gj7LEr4xIvq6lBy62nuNwjdI1r+XxahQ0SDHhWrLuSF11e2PTL/YLengYyg== react@^18.2.0: version "18.2.0" @@ -5850,17 +5906,17 @@ react@^18.2.0: dependencies: loose-envify "^1.1.0" -reactflow@^11.8.3: - version "11.8.3" - resolved "https://registry.yarnpkg.com/reactflow/-/reactflow-11.8.3.tgz#ad5cdf22408298956c92ab652929ff92206af9dc" - integrity sha512-wuVxJOFqi1vhA4WAEJLK0JWx2TsTiWpxTXTRp/wvpqKInQgQcB49I2QNyNYsKJCQ6jjXektS7H+LXoaVK/pG4A== +reactflow@^11.9.3: + version "11.9.3" + resolved "https://registry.yarnpkg.com/reactflow/-/reactflow-11.9.3.tgz#4723774370ff87403c574bdec43c93e809165854" + integrity sha512-GiIo20Vgy1U4h1NlLyQChWYgsl2OQkEgKHjokyQsdmm1nidywTr0n94O6w97ixLljKzJynTMjDdWP0p8xkq6NQ== dependencies: - "@reactflow/background" "11.2.8" - "@reactflow/controls" "11.1.19" - "@reactflow/core" "11.8.3" - "@reactflow/minimap" "11.6.3" - "@reactflow/node-resizer" "2.1.5" - "@reactflow/node-toolbar" "1.2.7" + "@reactflow/background" "11.3.3" + "@reactflow/controls" "11.2.3" + "@reactflow/core" "11.9.3" + "@reactflow/minimap" "11.7.3" + "@reactflow/node-resizer" "2.2.3" + "@reactflow/node-toolbar" "1.3.3" readable-stream@^3.4.0: version "3.6.2" @@ -5883,10 +5939,10 @@ redux-dynamic-middlewares@^2.2.0: resolved "https://registry.yarnpkg.com/redux-dynamic-middlewares/-/redux-dynamic-middlewares-2.2.0.tgz#6835dd6d4f2fd975266376b45dcae0141320ae97" integrity sha512-GHESQC+Y0PV98ZBoaC6br6cDOsNiM1Cu4UleGMqMWCXX03jIr3BoozYVrRkLVVAl4sC216chakMnZOu6SwNdGA== -redux-remember@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/redux-remember/-/redux-remember-4.0.1.tgz#fae416d140a9dccdf84285b957e7062934a337fb" - integrity sha512-mP/EWdBVKg0bJfe3srzofp5sNSmWBLjKX+JzJC7J+DBjbLaxTCsLXVq1fnE4rcHXb9Sz/4u5qZ040I/ZhKzjLw== +redux-remember@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/redux-remember/-/redux-remember-4.0.4.tgz#ca0b583088fdb1ff6d917c88ae80bb83001627de" + integrity sha512-a1T+UMYTa08Uq0YtCp0j5Z7v5yydbePPgfu4iAZ21Uk4ozcFfT/PoB9PwETFhHRxBW4Ij0yWPfPJw3mIE/CXlw== redux-thunk@^2.4.2: version "2.4.2" @@ -5917,6 +5973,11 @@ regenerator-runtime@^0.13.11: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" @@ -6169,10 +6230,10 @@ semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semve dependencies: lru-cache "^6.0.0" -serialize-error@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-11.0.1.tgz#7cfa2b54f7aca3e4cbfc0137259d94d93793f813" - integrity sha512-B5yw3/Lg+Daspbs0f+iO3Qim0+lALnaLS8aZUAy8Y0tO92tkOoMEuwtKo4jpZ5XO16CTwMi4tYN8cZQI3QF2Qw== +serialize-error@^11.0.2: + version "11.0.2" + resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-11.0.2.tgz#8c1a44f0ab872ee2c3ca6736ca5c750003bc1d04" + integrity sha512-o43i0jLcA0LXA5Uu+gI1Vj+lF66KR9IAcy0ThbGq1bAMPN+k5IgSHsulfnqf/ddKAz6dWf+k8PD5hAr9oCSHEQ== dependencies: type-fest "^2.12.2" @@ -6212,6 +6273,11 @@ signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" @@ -6629,20 +6695,20 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.1.0, tslib@^2.4.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" - integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== +tslib@^2.0.0, tslib@^2.1.0, tslib@^2.5.0, tslib@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== tslib@^2.0.3: version "2.6.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410" integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig== -tslib@^2.5.0, tslib@^2.6.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tslib@^2.4.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" + integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== tsutils@^3.21.0: version "3.21.0" @@ -6673,10 +6739,10 @@ type-fest@^2.12.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== -type-fest@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.2.0.tgz#e259430307710e77721ecf6f545840acad72195f" - integrity sha512-5zknd7Dss75pMSED270A1RQS3KloqRJA9XbXLe0eCxyw7xXFb3rd+9B0UQ/0E+LQT6lnrLviEolYORlRWamn4w== +type-fest@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.4.0.tgz#061cd10ff55664bb7174218cdf78c28c48f71c69" + integrity sha512-HT3RRs7sTfY22KuPQJkD/XjbTbxgP2Je5HPt6H6JEGvcjHd5Lqru75EbrP3tb4FYjNJ+DjLp+MNQTFQU0mhXNw== typed-array-buffer@^1.0.0: version "1.0.0" @@ -6747,6 +6813,11 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +undici-types@~5.25.1: + version "5.25.3" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3" + integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA== + undici@^5.23.0: version "5.23.0" resolved "https://registry.yarnpkg.com/undici/-/undici-5.23.0.tgz#e7bdb0ed42cebe7b7aca87ced53e6eaafb8f8ca0" @@ -6833,10 +6904,10 @@ util-deprecate@^1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -uuid@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== +uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== validator@^13.7.0: version "13.9.0" @@ -6848,12 +6919,12 @@ vite-plugin-css-injected-by-js@^3.3.0: resolved "https://registry.yarnpkg.com/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.3.0.tgz#c19480a9e42a95c5bced976a9dde1446f9bd91ff" integrity sha512-xG+jyHNCmUqi/TXp6q88wTJGeAOrNLSyUUTp4qEQ9QZLGcHWQQsCsSSKa59rPMQr8sOzfzmWDd8enGqfH/dBew== -vite-plugin-dts@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/vite-plugin-dts/-/vite-plugin-dts-3.5.2.tgz#429612f727f1bf4eff1f22e29c04b52a75d398b8" - integrity sha512-iKc851+jdHEoN1ifbOEsoMs+/Zg26PE1EyO2Jc+4apOWRoaeK2zRJnaStgUuJaVaEcAjTqWzpNgCAMq7iO6DWA== +vite-plugin-dts@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/vite-plugin-dts/-/vite-plugin-dts-3.6.0.tgz#8d1052e93ae4efef1b0860e44411570a58c77517" + integrity sha512-doxhDRFJCZD2sGjIp4V800nm8Y19GvmwckjG5vYPuiqJ7OBjc9NlW1Vp9Gkyh2aXlUs1jTDRH/lxWfcsPLOQHg== dependencies: - "@microsoft/api-extractor" "^7.36.3" + "@microsoft/api-extractor" "^7.36.4" "@rollup/pluginutils" "^5.0.2" "@vue/language-core" "^1.8.8" debug "^4.3.4" @@ -6869,19 +6940,19 @@ vite-plugin-eslint@^1.8.1: "@types/eslint" "^8.4.5" rollup "^2.77.2" -vite-tsconfig-paths@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.0.tgz#bd2647d3eadafb65a10fc98a2ca565211f2eaf63" - integrity sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw== +vite-tsconfig-paths@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.1.tgz#e53b89096b91d31a6d1e26f75999ea8c336a89ed" + integrity sha512-GNUI6ZgPqT3oervkvzU+qtys83+75N/OuDaQl7HmOqFTb0pjZsuARrRipsyJhJ3enqV8beI1xhGbToR4o78nSQ== dependencies: debug "^4.1.1" globrex "^0.1.2" tsconfck "^2.1.0" -vite@^4.4.9: - version "4.4.9" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d" - integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA== +vite@^4.4.11: + version "4.4.11" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.11.tgz#babdb055b08c69cfc4c468072a2e6c9ca62102b0" + integrity sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A== dependencies: esbuild "^0.18.10" postcss "^8.4.27" @@ -7036,16 +7107,21 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@2.3.1, yaml@^2.2.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" - integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== +yaml@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144" + integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg== yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yaml@^2.2.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" + integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== + yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" @@ -7090,10 +7166,10 @@ zod-validation-error@^1.5.0: resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-1.5.0.tgz#2b355007a1c3b7fb04fa476bfad4e7b3fd5491e3" integrity sha512-/7eFkAI4qV0tcxMBB/3+d2c1P6jzzZYdYSlBuAklzMuCrJu5bzJfHS0yVAS87dRHVlhftd6RFJDIvv03JgkSbw== -zod@^3.22.2: - version "3.22.2" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.2.tgz#3add8c682b7077c05ac6f979fea6998b573e157b" - integrity sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg== +zod@^3.22.4: + version "3.22.4" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff" + integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== zustand@^4.4.1: version "4.4.1" From dc232438fb86f2b6acddf7400a69f22a4ff58cbe Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Sun, 15 Oct 2023 11:35:25 +0000 Subject: [PATCH 67/70] translationBot(ui): update translation (Italian) Currently translated at 97.5% (1187 of 1217 strings) Co-authored-by: Riccardo Giovanetti Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/it.json | 90 +++++++++++++++++--- 1 file changed, 80 insertions(+), 10 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 32994e0169..c69879cfcf 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -88,7 +88,8 @@ "ipAdapter": "Adattatore IP", "t2iAdapter": "Adattatore T2I", "controlAdapter": "Adattatore di Controllo", - "controlNet": "ControlNet" + "controlNet": "ControlNet", + "auto": "Automatico" }, "gallery": { "generations": "Generazioni", @@ -578,7 +579,9 @@ "noControlImageForControlAdapter": "L'adattatore di controllo #{{number}} non ha un'immagine di controllo", "noModelForControlAdapter": "Nessun modello selezionato per l'adattatore di controllo #{{number}}.", "incompatibleBaseModelForControlAdapter": "Il modello dell'adattatore di controllo #{{number}} non è compatibile con il modello principale.", - "missingNodeTemplate": "Modello di nodo mancante" + "missingNodeTemplate": "Modello di nodo mancante", + "missingInputForField": "{{nodeLabel}} -> {{fieldLabel}} ingresso mancante", + "missingFieldTemplate": "Modello di campo mancante" }, "enableNoiseSettings": "Abilita le impostazioni del rumore", "cpuNoise": "Rumore CPU", @@ -589,7 +592,7 @@ "iterations": "Iterazioni", "iterationsWithCount_one": "{{count}} Iterazione", "iterationsWithCount_many": "{{count}} Iterazioni", - "iterationsWithCount_other": "", + "iterationsWithCount_other": "{{count}} Iterazioni", "seamlessX&Y": "Senza cuciture X & Y", "isAllowedToUpscale": { "useX2Model": "L'immagine è troppo grande per l'ampliamento con il modello x4, utilizza il modello x2", @@ -597,7 +600,8 @@ }, "seamlessX": "Senza cuciture X", "seamlessY": "Senza cuciture Y", - "imageActions": "Azioni Immagine" + "imageActions": "Azioni Immagine", + "aspectRatioFree": "Libere" }, "settings": { "models": "Modelli", @@ -632,9 +636,13 @@ "clearIntermediatesDesc2": "Le immagini intermedie sono sottoprodotti della generazione, diversi dalle immagini risultanti nella galleria. La cancellazione degli intermedi libererà spazio su disco.", "intermediatesCleared_one": "Cancellata {{count}} immagine intermedia", "intermediatesCleared_many": "Cancellate {{count}} immagini intermedie", - "intermediatesCleared_other": "", + "intermediatesCleared_other": "Cancellate {{count}} immagini intermedie", "clearIntermediatesDesc1": "La cancellazione delle immagini intermedie ripristinerà lo stato di Tela Unificata e ControlNet.", - "intermediatesClearedFailed": "Problema con la cancellazione delle immagini intermedie" + "intermediatesClearedFailed": "Problema con la cancellazione delle immagini intermedie", + "clearIntermediatesWithCount_one": "Cancella {{count}} immagine intermedia", + "clearIntermediatesWithCount_many": "Cancella {{count}} immagini intermedie", + "clearIntermediatesWithCount_other": "Cancella {{count}} immagini intermedie", + "clearIntermediatesDisabled": "La coda deve essere vuota per cancellare le immagini intermedie" }, "toast": { "tempFoldersEmptied": "Cartella temporanea svuotata", @@ -686,7 +694,7 @@ "nodesBrokenConnections": "Impossibile caricare. Alcune connessioni sono interrotte.", "baseModelChangedCleared_one": "Il modello base è stato modificato, cancellato o disabilitato {{count}} sotto-modello incompatibile", "baseModelChangedCleared_many": "Il modello base è stato modificato, cancellato o disabilitato {{count}} sotto-modelli incompatibili", - "baseModelChangedCleared_other": "", + "baseModelChangedCleared_other": "Il modello base è stato modificato, cancellato o disabilitato {{count}} sotto-modelli incompatibili", "imageSavingFailed": "Salvataggio dell'immagine non riuscito", "canvasSentControlnetAssets": "Tela inviata a ControlNet & Risorse", "problemCopyingCanvasDesc": "Impossibile copiare la tela", @@ -955,7 +963,69 @@ "enumDescription": "Gli enumeratori sono valori che possono essere una delle diverse opzioni.", "denoiseMaskField": "Maschera riduzione rumore", "currentImage": "Immagine corrente", - "floatCollection": "Raccolta in virgola mobile" + "floatCollection": "Raccolta in virgola mobile", + "inputField": "Campo di Input", + "controlFieldDescription": "Informazioni di controllo passate tra i nodi.", + "skippingUnknownOutputType": "Tipo di campo di output sconosciuto saltato", + "latentsFieldDescription": "Le immagini latenti possono essere passate tra i nodi.", + "ipAdapterPolymorphicDescription": "Una raccolta di adattatori IP.", + "latentsPolymorphicDescription": "Le immagini latenti possono essere passate tra i nodi.", + "ipAdapterCollection": "Raccolta Adattatori IP", + "conditioningCollection": "Raccolta condizionamenti", + "ipAdapterPolymorphic": "Adattatore IP Polimorfico", + "integerPolymorphicDescription": "Una raccolta di numeri interi.", + "conditioningCollectionDescription": "Il condizionamento può essere passato tra i nodi.", + "skippingReservedFieldType": "Tipo di campo riservato saltato", + "conditioningPolymorphic": "Condizionamento Polimorfico", + "integer": "Numero Intero", + "latentsCollection": "Raccolta Latenti", + "sourceNode": "Nodo di origine", + "integerDescription": "Gli interi sono numeri senza punto decimale.", + "stringPolymorphic": "Stringa polimorfica", + "conditioningPolymorphicDescription": "Il condizionamento può essere passato tra i nodi.", + "skipped": "Saltato", + "imagePolymorphic": "Immagine Polimorfica", + "imagePolymorphicDescription": "Una raccolta di immagini.", + "floatPolymorphic": "Numeri in virgola mobile Polimorfici", + "ipAdapterCollectionDescription": "Una raccolta di adattatori IP.", + "stringCollectionDescription": "Una raccolta di stringhe.", + "unableToParseNode": "Impossibile analizzare il nodo", + "controlCollection": "Raccolta di Controllo", + "stringCollection": "Raccolta di stringhe", + "inputMayOnlyHaveOneConnection": "L'ingresso può avere solo una connessione", + "ipAdapter": "Adattatore IP", + "integerCollection": "Raccolta di numeri interi", + "controlCollectionDescription": "Informazioni di controllo passate tra i nodi.", + "skippedReservedInput": "Campo di input riservato saltato", + "inputNode": "Nodo di Input", + "imageField": "Immagine", + "skippedReservedOutput": "Campo di output riservato saltato", + "integerCollectionDescription": "Una raccolta di numeri interi.", + "conditioningFieldDescription": "Il condizionamento può essere passato tra i nodi.", + "stringDescription": "Le stringhe sono testo.", + "integerPolymorphic": "Numero intero Polimorfico", + "ipAdapterModel": "Modello Adattatore IP", + "latentsPolymorphic": "Latenti polimorfici", + "skippingInputNoTemplate": "Campo di input senza modello saltato", + "ipAdapterDescription": "Un adattatore di prompt di immagini (Adattatore IP).", + "stringPolymorphicDescription": "Una raccolta di stringhe.", + "skippingUnknownInputType": "Tipo di campo di input sconosciuto saltato", + "controlField": "Controllo", + "ipAdapterModelDescription": "Campo Modello adattatore IP", + "invalidOutputSchema": "Schema di output non valido", + "floatDescription": "I numeri in virgola mobile sono numeri con un punto decimale.", + "floatPolymorphicDescription": "Una raccolta di numeri in virgola mobile.", + "conditioningField": "Condizionamento", + "string": "Stringa", + "latentsField": "Latenti", + "connectionWouldCreateCycle": "La connessione creerebbe un ciclo", + "inputFields": "Campi di Input", + "uNetFieldDescription": "Sub-modello UNet.", + "imageCollectionDescription": "Una raccolta di immagini.", + "imageFieldDescription": "Le immagini possono essere passate tra i nodi.", + "unableToParseEdge": "Impossibile analizzare il bordo", + "latentsCollectionDescription": "Le immagini latenti possono essere passate tra i nodi.", + "imageCollection": "Raccolta Immagini" }, "boards": { "autoAddBoard": "Aggiungi automaticamente bacheca", @@ -1075,7 +1145,7 @@ "cancelSucceeded": "Elemento annullato", "batchQueuedDesc_one": "Aggiunta {{count}} sessione a {{direction}} della coda", "batchQueuedDesc_many": "Aggiunte {{count}} sessioni a {{direction}} della coda", - "batchQueuedDesc_other": "", + "batchQueuedDesc_other": "Aggiunte {{count}} sessioni a {{direction}} della coda", "graphQueued": "Grafico in coda", "batch": "Lotto", "clearQueueAlertDialog": "Lo svuotamento della coda annulla immediatamente tutti gli elementi in elaborazione e cancella completamente la coda.", @@ -1152,7 +1222,7 @@ "maxPrompts": "Numero massimo di prompt", "promptsWithCount_one": "{{count}} Prompt", "promptsWithCount_many": "{{count}} Prompt", - "promptsWithCount_other": "", + "promptsWithCount_other": "{{count}} Prompt", "dynamicPrompts": "Prompt dinamici" }, "popovers": { From bedb35af8c8eda316ceca1029ec4cfa8fa6a8537 Mon Sep 17 00:00:00 2001 From: Surisen Date: Sun, 15 Oct 2023 11:35:26 +0000 Subject: [PATCH 68/70] translationBot(ui): update translation (Chinese (Simplified)) Currently translated at 100.0% (1217 of 1217 strings) Co-authored-by: Surisen Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/ Translation: InvokeAI/Web UI --- invokeai/frontend/web/public/locales/zh_CN.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/public/locales/zh_CN.json b/invokeai/frontend/web/public/locales/zh_CN.json index 5a2d829f95..23940542a9 100644 --- a/invokeai/frontend/web/public/locales/zh_CN.json +++ b/invokeai/frontend/web/public/locales/zh_CN.json @@ -638,7 +638,8 @@ "intermediatesCleared_other": "已清除 {{count}} 个中间产物", "clearIntermediatesDesc1": "清除中间产物会重置您的画布和 ControlNet 状态。", "intermediatesClearedFailed": "清除中间产物时出现问题", - "clearIntermediatesWithCount_other": "清除 {{count}} 个中间产物" + "clearIntermediatesWithCount_other": "清除 {{count}} 个中间产物", + "clearIntermediatesDisabled": "队列为空才能清理中间产物" }, "toast": { "tempFoldersEmptied": "临时文件夹已清空", From 388d36b83978566baf942bfbaf8c45d351a4cd87 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Mon, 16 Oct 2023 11:16:41 +1100 Subject: [PATCH 69/70] fix(db): use RLock instead of Lock Fixes issues where a db-accessing service wants to call db-accessing methods with locks. --- .../board_image_records/board_image_records_sqlite.py | 2 +- invokeai/app/services/board_records/board_records_sqlite.py | 2 +- invokeai/app/services/image_records/image_records_sqlite.py | 2 +- invokeai/app/services/item_storage/item_storage_sqlite.py | 2 +- invokeai/app/services/session_queue/session_queue_sqlite.py | 2 +- invokeai/app/services/shared/sqlite.py | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/invokeai/app/services/board_image_records/board_image_records_sqlite.py b/invokeai/app/services/board_image_records/board_image_records_sqlite.py index df7505b797..9f4e4379bc 100644 --- a/invokeai/app/services/board_image_records/board_image_records_sqlite.py +++ b/invokeai/app/services/board_image_records/board_image_records_sqlite.py @@ -12,7 +12,7 @@ from .board_image_records_base import BoardImageRecordStorageBase class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): _conn: sqlite3.Connection _cursor: sqlite3.Cursor - _lock: threading.Lock + _lock: threading.RLock def __init__(self, db: SqliteDatabase) -> None: super().__init__() diff --git a/invokeai/app/services/board_records/board_records_sqlite.py b/invokeai/app/services/board_records/board_records_sqlite.py index b2ddc931f5..9e3423ab19 100644 --- a/invokeai/app/services/board_records/board_records_sqlite.py +++ b/invokeai/app/services/board_records/board_records_sqlite.py @@ -20,7 +20,7 @@ from .board_records_common import ( class SqliteBoardRecordStorage(BoardRecordStorageBase): _conn: sqlite3.Connection _cursor: sqlite3.Cursor - _lock: threading.Lock + _lock: threading.RLock def __init__(self, db: SqliteDatabase) -> None: super().__init__() diff --git a/invokeai/app/services/image_records/image_records_sqlite.py b/invokeai/app/services/image_records/image_records_sqlite.py index c0783fdf2f..864f4eff00 100644 --- a/invokeai/app/services/image_records/image_records_sqlite.py +++ b/invokeai/app/services/image_records/image_records_sqlite.py @@ -24,7 +24,7 @@ from .image_records_common import ( class SqliteImageRecordStorage(ImageRecordStorageBase): _conn: sqlite3.Connection _cursor: sqlite3.Cursor - _lock: threading.Lock + _lock: threading.RLock def __init__(self, db: SqliteDatabase) -> None: super().__init__() diff --git a/invokeai/app/services/item_storage/item_storage_sqlite.py b/invokeai/app/services/item_storage/item_storage_sqlite.py index b810baf9fd..1d6008e90f 100644 --- a/invokeai/app/services/item_storage/item_storage_sqlite.py +++ b/invokeai/app/services/item_storage/item_storage_sqlite.py @@ -17,7 +17,7 @@ class SqliteItemStorage(ItemStorageABC, Generic[T]): _conn: sqlite3.Connection _cursor: sqlite3.Cursor _id_field: str - _lock: threading.Lock + _lock: threading.RLock def __init__(self, db: SqliteDatabase, table_name: str, id_field: str = "id"): super().__init__() diff --git a/invokeai/app/services/session_queue/session_queue_sqlite.py b/invokeai/app/services/session_queue/session_queue_sqlite.py index 0e12382392..eb82667be5 100644 --- a/invokeai/app/services/session_queue/session_queue_sqlite.py +++ b/invokeai/app/services/session_queue/session_queue_sqlite.py @@ -37,7 +37,7 @@ class SqliteSessionQueue(SessionQueueBase): __invoker: Invoker __conn: sqlite3.Connection __cursor: sqlite3.Cursor - __lock: threading.Lock + __lock: threading.RLock def start(self, invoker: Invoker) -> None: self.__invoker = invoker diff --git a/invokeai/app/services/shared/sqlite.py b/invokeai/app/services/shared/sqlite.py index c41dbbe606..3c75c3d6a7 100644 --- a/invokeai/app/services/shared/sqlite.py +++ b/invokeai/app/services/shared/sqlite.py @@ -9,7 +9,7 @@ sqlite_memory = ":memory:" class SqliteDatabase: conn: sqlite3.Connection - lock: threading.Lock + lock: threading.RLock _logger: Logger _config: InvokeAIAppConfig @@ -27,7 +27,7 @@ class SqliteDatabase: self._logger.info(f"Using database at {location}") self.conn = sqlite3.connect(location, check_same_thread=False) - self.lock = threading.Lock() + self.lock = threading.RLock() self.conn.row_factory = sqlite3.Row if self._config.log_sql: From 9a1aea9cafe225ae5d7fb70d2e5c8e27446237e1 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Mon, 16 Oct 2023 12:17:36 +1100 Subject: [PATCH 70/70] fix(api): fix socketio breaking change Fix for breaking change in `python-socketio` 5.10.0 in which `enter_room` and `leave_room` were made coroutines. --- invokeai/app/api/sockets.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/app/api/sockets.py b/invokeai/app/api/sockets.py index f41c38786c..5725901de0 100644 --- a/invokeai/app/api/sockets.py +++ b/invokeai/app/api/sockets.py @@ -30,8 +30,8 @@ class SocketIO: async def _handle_sub_queue(self, sid, data, *args, **kwargs): if "queue_id" in data: - self.__sio.enter_room(sid, data["queue_id"]) + await self.__sio.enter_room(sid, data["queue_id"]) async def _handle_unsub_queue(self, sid, data, *args, **kwargs): if "queue_id" in data: - self.__sio.enter_room(sid, data["queue_id"]) + await self.__sio.enter_room(sid, data["queue_id"])