From 75d9c27c0a4e6b8a031b04f58db0af5bf377bb42 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Tue, 3 Feb 2026 12:02:15 +0100 Subject: [PATCH 1/9] translationBot(ui): update translation (Italian) Currently translated at 98.0% (2205 of 2250 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 | 23 +++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index c80117bf101..71134adb12a 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -202,7 +202,8 @@ "unableToLoad": "Impossibile caricare la Galleria", "selectAnImageToCompare": "Seleziona un'immagine da confrontare", "openViewer": "Apri Visualizzatore", - "closeViewer": "Chiudi Visualizzatore" + "closeViewer": "Chiudi Visualizzatore", + "usePagedGalleryView": "Utilizza la visualizzazione Galleria a pagine" }, "hotkeys": { "searchHotkeys": "Cerca tasti di scelta rapida", @@ -804,7 +805,9 @@ "updatePathTooltip": "Aggiorna il percorso del file per questo modello se hai spostato i file del modello in una nuova posizione.", "updatePath": "Aggiorna percorso", "actions": "Azioni in blocco", - "zImageVae": "VAE (opzionale)" + "zImageVae": "VAE (opzionale)", + "missingFiles": "File mancanti", + "missingFilesTooltip": "I file del modello sono mancanti dal disco" }, "parameters": { "images": "Immagini", @@ -1949,6 +1952,20 @@ "Off: generazione standard. Auto: abilita automaticamente per immagini > 1536px. 4K: impostazioni ottimizzate per output con risoluzione 4K." ], "heading": "DyPE (alta risoluzione)" + }, + "fluxDypeScale": { + "paragraphs": [ + "Controlla l'entità della modulazione DyPE. Valori più alti = estrapolazione più forte.", + "Predefinito: 2.0. Intervallo: 0.0-8.0." + ] + }, + "fluxDypeExponent": { + "paragraphs": [ + "Controlla l'intensità dell'effetto dinamico nel tempo.", + "2.0: Consigliato per risoluzioni 4K+. Programmazione aggressiva con transizioni rapide per la pulizia degli artefatti.", + "1.0: Buon punto di partenza per risoluzioni ~2K-3K.", + "0.5: Programma più delicato per risoluzioni appena superiori a quelle native (1024px)." + ] } }, "sdxl": { @@ -2001,7 +2018,7 @@ "vae": "VAE", "parsingFailed": "Analisi non riuscita", "recallParameter": "Richiama {{label}}", - "dypePreset": "Preimpostazione DyPE", + "dypePreset": "", "seedVarianceRandomizePercent": "Casualità della varianza del seme %", "seedVarianceEnabled": "Varianza seme abilitata", "seedVarianceStrength": "Intensità della varianza del seme" From 6216aa0b66db6a033534262fbc0bb685d93f9138 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Tue, 3 Feb 2026 12:02:17 +0100 Subject: [PATCH 2/9] 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 71134adb12a..e5bccc1f584 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -2018,7 +2018,6 @@ "vae": "VAE", "parsingFailed": "Analisi non riuscita", "recallParameter": "Richiama {{label}}", - "dypePreset": "", "seedVarianceRandomizePercent": "Casualità della varianza del seme %", "seedVarianceEnabled": "Varianza seme abilitata", "seedVarianceStrength": "Intensità della varianza del seme" From 14fbf9e537a7c437217fc075990a4a13b8d4f1c0 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Thu, 5 Feb 2026 11:12:51 +0100 Subject: [PATCH 3/9] translationBot(ui): update translation (Italian) Currently translated at 97.8% (2210 of 2259 strings) Translation: InvokeAI/Web UI Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ --- invokeai/frontend/web/public/locales/it.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index e5bccc1f584..e52092f5314 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -807,7 +807,9 @@ "actions": "Azioni in blocco", "zImageVae": "VAE (opzionale)", "missingFiles": "File mancanti", - "missingFilesTooltip": "I file del modello sono mancanti dal disco" + "missingFilesTooltip": "I file del modello sono mancanti dal disco", + "cpuOnly": "Solo CPU", + "runOnCpu": "Esegui il modello di codifica del testo solo sulla CPU" }, "parameters": { "images": "Immagini", @@ -1966,6 +1968,12 @@ "1.0: Buon punto di partenza per risoluzioni ~2K-3K.", "0.5: Programma più delicato per risoluzioni appena superiori a quelle native (1024px)." ] + }, + "cpuOnly": { + "paragraphs": [ + "Se abilitato, solo il componente codificatore del testo verrà eseguito sulla CPU anziché sulla GPU.", + "Ciò consente di risparmiare VRAM per il denoiser, con un impatto minimo sulle prestazioni. Le uscite di condizionamento vengono automaticamente trasferite alla GPU per il denoiser." + ] } }, "sdxl": { @@ -2317,7 +2325,8 @@ "bbox": "Riquadro di delimitazione", "move": "Sposta", "brush": "Pennello", - "eraser": "Cancellino" + "eraser": "Cancellino", + "gradient": "Gradiente" }, "filter": { "apply": "Applica", From 365e972d3d9d85ce1cf64e5b19976dcfa7727d73 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Mon, 9 Feb 2026 10:13:48 +0100 Subject: [PATCH 4/9] translationBot(ui): update translation (Italian) Currently translated at 97.8% (2224 of 2272 strings) Translation: InvokeAI/Web UI Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ --- invokeai/frontend/web/public/locales/it.json | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index e52092f5314..cbf72e7a94f 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -809,7 +809,20 @@ "missingFiles": "File mancanti", "missingFilesTooltip": "I file del modello sono mancanti dal disco", "cpuOnly": "Solo CPU", - "runOnCpu": "Esegui il modello di codifica del testo solo sulla CPU" + "runOnCpu": "Esegui il modello di codifica del testo solo sulla CPU", + "syncModelsTooltip": "Identificare e rimuovere i file modello non utilizzati nella cartella radice di InvokeAI.", + "syncModelsDirectory": "Sincronizza la cartella dei modelli", + "noOrphanedModels": "La cartella dei modelli è sincronizzata. Nessun file orfano trovato.", + "orphanedModelsFound": "Modelli orfani trovati", + "orphanedModelsDescription": "Le seguenti cartelle dei modelli non sono referenziate nel database e possono essere eliminate in sicurezza:", + "foundOrphanedModels": "Trovata {{count}} cartella di modello orfana", + "filesCount": "{{count}} file", + "deleteSelected": "Elimina {{count}} selezionati", + "deselectAll": "Deseleziona tutto", + "orphanedModelsDeleted": "Eliminato con successo {{count}} modello orfano", + "orphanedModelsDeleteErrors": "Alcuni modelli non possono essere eliminati", + "orphanedModelsDeleteFailed": "Impossibile eliminare i modelli orfani", + "errorLoadingOrphanedModels": "Errore durante il caricamento dei modelli orfani. Riprova." }, "parameters": { "images": "Immagini", @@ -1973,7 +1986,8 @@ "paragraphs": [ "Se abilitato, solo il componente codificatore del testo verrà eseguito sulla CPU anziché sulla GPU.", "Ciò consente di risparmiare VRAM per il denoiser, con un impatto minimo sulle prestazioni. Le uscite di condizionamento vengono automaticamente trasferite alla GPU per il denoiser." - ] + ], + "heading": "Solo CPU" } }, "sdxl": { From 15810482d28aae70c6505266808a1a3ff7a39887 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Wed, 18 Feb 2026 09:59:45 +0100 Subject: [PATCH 5/9] translationBot(ui): update translation (Italian) Currently translated at 98.1% (2252 of 2295 strings) Translation: InvokeAI/Web UI Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ --- invokeai/frontend/web/public/locales/it.json | 44 ++++++++++++++++++-- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index cbf72e7a94f..37a9cb9eec7 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -1121,7 +1121,7 @@ "zoomInNodes": "Ingrandire", "fitViewportNodes": "Adatta vista", "reloadNodeTemplates": "Ricarica i modelli di nodo", - "loadWorkflow": "Importa flusso di lavoro JSON", + "loadWorkflow": "Importa flusso di lavoro", "downloadWorkflow": "Esporta flusso di lavoro JSON", "scheduler": "Campionatore", "addNode": "Aggiungi nodo", @@ -1972,7 +1972,8 @@ "paragraphs": [ "Controlla l'entità della modulazione DyPE. Valori più alti = estrapolazione più forte.", "Predefinito: 2.0. Intervallo: 0.0-8.0." - ] + ], + "heading": "DyPE Scala (λs)" }, "fluxDypeExponent": { "paragraphs": [ @@ -1980,7 +1981,8 @@ "2.0: Consigliato per risoluzioni 4K+. Programmazione aggressiva con transizioni rapide per la pulizia degli artefatti.", "1.0: Buon punto di partenza per risoluzioni ~2K-3K.", "0.5: Programma più delicato per risoluzioni appena superiori a quelle native (1024px)." - ] + ], + "heading": "DyPE Esponente (λt)" }, "cpuOnly": { "paragraphs": [ @@ -2735,7 +2737,41 @@ "extractMaskedAreaMissingData": "Impossibile estrarre: mancano i dati dell'immagine o della maschera.", "extractMaskedAreaFailed": "Impossibile estrarre l'area mascherata.", "maskLayerEmpty": "Il livello maschera è vuoto", - "extractRegion": "Estrai regione" + "extractRegion": "Estrai regione", + "compositeOperation": { + "label": "Modalità di fusione", + "add": "Aggiungi modalità di fusione", + "remove": "Rimuovi modalità di fusione", + "blendModes": { + "color": "Colore", + "hue": "Tonalità", + "source-over": "Normale", + "overlay": "Sovrapponi", + "soft-light": "Luce soffusa", + "hard-light": "Luce intensa", + "screen": "Schermo", + "color-burn": "Brucia colore", + "color-dodge": "Schiarisci colore", + "multiply": "Moltiplica", + "darken": "Scurisci", + "lighten": "Schiarisci", + "difference": "Differenza", + "luminosity": "Luminosità", + "saturation": "Saturazione" + } + }, + "booleanOps": { + "label": "Operazioni booleane", + "intersect": "Intersezione", + "cutout": "Ritaglia", + "cutaway": "Taglia via", + "exclude": "Escludi" + }, + "gradient": { + "linear": "Lineare", + "radial": "Radiale", + "clip": "Ritaglia gradiente" + } }, "ui": { "tabs": { From 08fde4e3d010ca4df1e741d3d7fdae45626276a5 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Mon, 23 Feb 2026 09:52:07 +0100 Subject: [PATCH 6/9] translationBot(ui): update translation (Italian) Currently translated at 98.0% (2264 of 2309 strings) Translation: InvokeAI/Web UI Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ --- invokeai/frontend/web/public/locales/it.json | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 37a9cb9eec7..f110b723091 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -1096,7 +1096,9 @@ "invalidBbox": "Riquadro di delimitazione non valido", "invalidBboxDesc": "Il riquadro di delimitazione non ha dimensioni valide", "kleinEncoderClearedDescription": "Selezionare un encoder Qwen3 compatibile per la nuova variante del modello Klein", - "kleinEncoderCleared": "Encoder Qwen3 cancellato" + "kleinEncoderCleared": "Encoder Qwen3 cancellato", + "schedulerReset": "Ripristino campionatore", + "schedulerResetZImageBase": "Il campionatore LCM non è compatibile con i modelli Z-Image Base. Reimpostare su Euler." }, "accessibility": { "invokeProgressBar": "Barra di avanzamento generazione", @@ -2342,7 +2344,8 @@ "move": "Sposta", "brush": "Pennello", "eraser": "Cancellino", - "gradient": "Gradiente" + "gradient": "Gradiente", + "text": "Testo" }, "filter": { "apply": "Applica", @@ -2771,6 +2774,17 @@ "linear": "Lineare", "radial": "Radiale", "clip": "Ritaglia gradiente" + }, + "text": { + "font": "Carattere", + "size": "Dimensione", + "bold": "Grassetto", + "italic": "Italico", + "underline": "Sottolineato", + "strikethrough": "Barrato", + "alignLeft": "Allinea a sinistra", + "alignCenter": "Allinea al centro", + "alignRight": "Allinea a destra" } }, "ui": { From 2060e3c1ce3c4142868588241dc8eff34f703a25 Mon Sep 17 00:00:00 2001 From: DustyShoe Date: Tue, 24 Feb 2026 23:34:32 +0100 Subject: [PATCH 7/9] translationBot(ui): update translation (Russian) Currently translated at 60.7% (1419 of 2334 strings) Translation: InvokeAI/Web UI Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/ --- invokeai/frontend/web/public/locales/ru.json | 212 ++++++++++++------- 1 file changed, 141 insertions(+), 71 deletions(-) diff --git a/invokeai/frontend/web/public/locales/ru.json b/invokeai/frontend/web/public/locales/ru.json index 88f25d71599..fd9c0875cec 100644 --- a/invokeai/frontend/web/public/locales/ru.json +++ b/invokeai/frontend/web/public/locales/ru.json @@ -89,7 +89,16 @@ "none": "Ничего", "new": "Новый", "ok": "Ok", - "close": "Закрыть" + "close": "Закрыть", + "error_withCount_one": "{{count}} Ошибка", + "error_withCount_few": "{{count}} Ошибки", + "error_withCount_many": "{{count}} Ошибок", + "model_withCount_one": "{{count}} Модель", + "model_withCount_few": "{{count}} Модели", + "model_withCount_many": "{{count}} Моделей", + "options_withCount_one": "{{count}} Опция", + "options_withCount_few": "{{count}} Опции", + "options_withCount_many": "{{count}} Опций" }, "gallery": { "galleryImageSize": "Размер изображений", @@ -108,7 +117,7 @@ "downloadSelection": "Скачать выделенное", "currentlyInUse": "В настоящее время это изображение используется в следующих функциях:", "unstarImage": "Удалить из избранного", - "dropOrUpload": "$t(gallery.drop) или загрузить", + "dropOrUpload": "Перетащите или загрузите", "copy": "Копировать", "download": "Скачать", "noImageSelected": "Изображение не выбрано", @@ -239,7 +248,7 @@ }, "filterSelected": { "title": "Filter", - "desc": "Filter the selected layer. Only applies to Raster and Control layers." + "desc": "Применяет фильтр к выбранному слою. Применимо только к растровым слоям и слоям управления." }, "undo": { "desc": "Отменяет последнее действие на холсте.", @@ -483,7 +492,7 @@ "deleteMsg1": "Вы точно хотите удалить модель из InvokeAI?", "deleteMsg2": "Это приведет К УДАЛЕНИЮ модели С ДИСКА, если она находится в корневой папке Invoke. Если вы используете пользовательское расположение, то модель НЕ будет удалена с диска.", "convertToDiffusersHelpText5": "Пожалуйста, убедитесь, что у вас достаточно места на диске. Модели обычно занимают 2–7 Гб.", - "convertToDiffusersHelpText3": "Ваш файл контрольной точки НА ДИСКЕ будет УДАЛЕН, если он находится в корневой папке InvokeAI. Если он находится в пользовательском расположении, то он НЕ будет удален.", + "convertToDiffusersHelpText3": "Файл чекпоинта будет удалён с диска, если он находится в корневой папке InvokeAI. Если файл расположен в пользовательской папке, он удалён не будет.", "allModels": "Все модели", "repo_id": "ID репозитория", "convert": "Преобразовать", @@ -541,7 +550,7 @@ "pathToConfig": "Путь к конфигурации", "loraTriggerPhrases": "Триггерные фразы LoRA", "mainModelTriggerPhrases": "Триггерные фразы основной модели", - "inplaceInstallDesc": "Устанавливайте модели без копирования файлов. При использовании модели она будет загружаться из этого места. Если этот параметр отключен, файлы модели будут скопированы в каталог моделей, управляемых Invoke, во время установки.", + "inplaceInstallDesc": "Устанавливать модели без перемещения файлов. В этом случае модель будет загружаться из исходной папки. Если опция отключена, файлы модели при установке будут перемещены в каталог моделей Invoke.", "huggingFaceRepoID": "ID репозитория HuggingFace", "installQueue": "Очередь установки", "installAll": "Установить все", @@ -575,8 +584,8 @@ "skippingXDuplicates_one": ", пропуская {{count}} дубликат", "skippingXDuplicates_few": ", пропуская {{count}} дубликата", "skippingXDuplicates_many": ", пропуская {{count}} дубликатов", - "includesNModels": "Включает в себя {{n}} моделей и их зависимостей", - "starterBundleHelpText": "Легко установите все модели, необходимые для начала работы с базовой моделью, включая основную модель, сети управления, IP-адаптеры и многое другое. При выборе комплекта все уже установленные модели будут пропущены." + "includesNModels": "Включает в себя {{n}} моделей и их зависимостей.", + "starterBundleHelpText": "Легко установите все модели, необходимые для начала работы с базовой моделью, включая основную модель, ControlNet, IP-адаптеры и другие. При выборе набора уже установленные модели будут пропущены." }, "parameters": { "images": "Изображения", @@ -632,8 +641,8 @@ "canvasIsFiltering": "Холст фильтруется", "canvasIsTransforming": "Холст трансформируется", "noCLIPEmbedModelSelected": "Для генерации FLUX не выбрана модель CLIP Embed", - "canvasIsRasterizing": "Холст растрируется", - "canvasIsCompositing": "Холст составляется" + "canvasIsRasterizing": "Холст занят (идёт растеризация)", + "canvasIsCompositing": "Холст занят (идёт компоновка)" }, "cfgRescaleMultiplier": "Множитель масштабирования CFG", "patchmatchDownScaleSize": "уменьшить", @@ -660,7 +669,10 @@ "optimizedImageToImage": "Оптимизированное img2img", "sendToCanvas": "Отправить на холст", "guidance": "Точность", - "boxBlur": "Box Blur" + "boxBlur": "Box Blur", + "images_withCount_one": "Изображение", + "images_withCount_few": "Изображения", + "images_withCount_many": "Изображений" }, "settings": { "models": "Модели", @@ -690,7 +702,7 @@ "intermediatesCleared_one": "Очищено {{count}} промежуточное", "intermediatesCleared_few": "Очищено {{count}} промежуточных", "intermediatesCleared_many": "Очищено {{count}} промежуточных", - "clearIntermediatesDesc1": "Очистка промежуточных элементов приведет к сбросу состояния Canvas и ControlNet.", + "clearIntermediatesDesc1": "Очистка промежуточных данных приведёт к сбросу состояния холста и ControlNet.", "intermediatesClearedFailed": "Проблема очистки промежуточных", "reloadingIn": "Перезагрузка через", "informationalPopoversDisabled": "Информационные всплывающие окна отключены", @@ -704,7 +716,7 @@ "serverError": "Ошибка сервера", "connected": "Подключено к серверу", "canceled": "Обработка отменена", - "uploadFailedInvalidUploadDesc": "Это должны быть изображения PNG или JPEG.", + "uploadFailedInvalidUploadDesc": "Допускаются только изображения в формате PNG, JPEG или WEBP.", "parameterNotSet": "Параметр не задан", "parameterSet": "Параметр задан", "problemCopyingImage": "Не удается скопировать изображение", @@ -747,7 +759,12 @@ "sentToUpscale": "Отправить на увеличение", "linkCopied": "Ссылка скопирована", "addedToUncategorized": "Добавлено в активы доски $t(boards.uncategorized)", - "imagesWillBeAddedTo": "Загруженные изображения будут добавлены в активы доски {{boardName}}." + "imagesWillBeAddedTo": "Загруженные изображения будут добавлены в активы доски {{boardName}}.", + "schedulerResetZImageBase": "Планировщик LCM несовместим с моделями Z-Image Base. Переключено на Euler.", + "schedulerReset": "Планировщик сброшен", + "uploadFailedInvalidUploadDesc_withCount_one": "Допускается не более 1 изображения в формате PNG, JPEG или WEBP.", + "uploadFailedInvalidUploadDesc_withCount_few": "Допускается не более {{count}} изображения в формате PNG, JPEG или WEBP.", + "uploadFailedInvalidUploadDesc_withCount_many": "Допускается не более {{count}} изображений в формате PNG, JPEG или WEBP." }, "accessibility": { "uploadImage": "Загрузить изображение", @@ -892,7 +909,13 @@ "saveToGallery": "Сохранить в галерею", "noWorkflows": "Нет рабочих процессов", "noMatchingWorkflows": "Нет совпадающих рабочих процессов", - "workflowHelpText": "Нужна помощь? Ознакомьтесь с нашим руководством Getting Started with Workflows." + "workflowHelpText": "Нужна помощь? Ознакомьтесь с нашим руководством Getting Started with Workflows.", + "generatorImages_one": "{{count}} изображение", + "generatorImages_few": "{{count}} изображения", + "generatorImages_many": "{{count}} изображений", + "generatorNRandomValues_one": "{{count}} случайное значение", + "generatorNRandomValues_few": "{{count}} случайных значения", + "generatorNRandomValues_many": "{{count}} случайных значений" }, "boards": { "autoAddBoard": "Коллекция для автодобавления", @@ -935,7 +958,19 @@ "shared": "Общие коллекции", "noBoards": "Нет коллекций {{boardType}}", "deletedPrivateBoardsCannotbeRestored": "Удалённые коллекции и изображения нельзя восстановить. При выборе «Удалить только коллекцию» изображения будут перемещены в личный раздел «Без категории» автора изображения.", - "updateBoardError": "Ошибка обновления коллекции" + "updateBoardError": "Ошибка обновления коллекции", + "pause": "Пауза", + "resume": "Возобновить", + "restartFailed": "Ошибка перезапуска", + "restartFile": "Перезапустить загрузку", + "restartRequired": "Требуется перезапуск", + "resumeRefused": "Сервер отклонил попытку возобновления. Требуется перезапуск.", + "uncategorizedImages": "Без категории", + "deleteAllUncategorizedImages": "Удалить все изображения без категории", + "deletedImagesCannotBeRestored": "Удалённые изображения нельзя восстановить.", + "hideBoards": "Скрыть коллекции", + "locateInGalery": "Показать в галерее", + "viewBoards": "Просмотреть коллекции" }, "dynamicPrompts": { "seedBehaviour": { @@ -1031,19 +1066,19 @@ "controlNetResizeMode": { "heading": "Режим изменения размера", "paragraphs": [ - "Метод подгонки размера входного изображения Control Adaptor к размеру выходного изображения." + "Метод подгонки размера входного изображения Control Adapter под размер выходного изображения." ] }, "controlNetBeginEnd": { "paragraphs": [ - "Часть процесса шумоподавления, к которой будет применен адаптер контроля.", - "ControlNet, применяемые в начале процесса, направляют композицию, а ControlNet, применяемые в конце, направляют детали." + "Эта настройка определяет, на каком этапе денойзинга (генерации) используется влияние данного слоя.", + "• Начальный шаг (%): Определяет, с какого момента в процессе генерации начинает учитываться влияние данного слоя." ], "heading": "Процент начала/конца шага" }, "dynamicPromptsSeedBehaviour": { "paragraphs": [ - "Управляет использованием сида при создании запросов.", + "Определяет, как используется сид при генерации промптов.", "Для каждой итерации будет использоваться уникальный сид. Используйте это, чтобы изучить варианты запросов для одного сида.", "Например, если у вас 5 запросов, каждое изображение будет использовать один и то же сид.", "для каждого изображения будет использоваться уникальный сид. Это обеспечивает большую вариативность." @@ -1071,8 +1106,8 @@ }, "paramDenoisingStrength": { "paragraphs": [ - "Количество шума, добавляемого к входному изображению.", - "0 приведет к идентичному изображению, а 1 - к совершенно новому." + "Определяет, насколько сгенерированное изображение отличается от растрового слоя (слоёв).", + "Меньшее значение сохраняет больше сходства с объединёнными видимыми растровыми слоями. Большее значение усиливает влияние глобального промпта." ], "heading": "Шумоподавление" }, @@ -1111,7 +1146,7 @@ "controlNetWeight": { "heading": "Вес", "paragraphs": [ - "Вес адаптера управления. Более высокий вес приведет к большему воздействию на окончательное изображение." + "Определяет, насколько сильно слой влияет на процесс генерации." ] }, "controlNet": { @@ -1123,13 +1158,13 @@ "paramCFGScale": { "heading": "Шкала точности (CFG)", "paragraphs": [ - "Контролирует, насколько запрос влияет на процесс генерации.", + "Определяет, насколько сильно промпт влияет на процесс генерации.", "Высокие значения шкалы CFG могут привести к перенасыщению и искажению результатов генерации. " ] }, "controlNetControlMode": { "paragraphs": [ - "Придает больший вес либо запросу, либо ControlNet." + "Смещает приоритет в сторону промпта или ControlNet." ], "heading": "Режим управления" }, @@ -1181,7 +1216,7 @@ "refinerCfgScale": { "heading": "Шкала CFG", "paragraphs": [ - "Контролирует, насколько сильно запрос влияет на процесс генерации.", + "Определяет, насколько сильно промпт влияет на процесс генерации.", "Аналогично CFG шкале генерации." ] }, @@ -1290,24 +1325,24 @@ "ipAdapterMethod": { "heading": "Метод", "paragraphs": [ - "Метод, с помощью которого применяется текущий IP-адаптер." + "Метод определяет, как референсное изображение будет влиять на процесс генерации." ] }, "structure": { "paragraphs": [ - "Структура контролирует, насколько точно выходное изображение будет соответствовать макету оригинала. Низкая структура допускает значительные изменения, в то время как высокая структура строго сохраняет исходную композицию и макет." + "Структура определяет, насколько точно выходное изображение сохраняет компоновку исходного. Низкое значение допускает значительные изменения, а высокое строго сохраняет исходную композицию и расположение элементов." ], "heading": "Структура" }, "scale": { "paragraphs": [ - "Масштаб управляет размером выходного изображения и основывается на кратном разрешении входного изображения. Например, при увеличении в 2 раза изображения 1024x1024 на выходе получится 2048 x 2048." + "Масштаб определяет размер выходного изображения и рассчитывается как кратное разрешению исходного изображения. Например, увеличение в 2 раза для изображения 1024×1024 даст результат 2048×2048." ], "heading": "Масштаб" }, "creativity": { "paragraphs": [ - "Креативность контролирует степень свободы, предоставляемой модели при добавлении деталей. При низкой креативности модель остается близкой к оригинальному изображению, в то время как высокая креативность позволяет вносить больше изменений. При использовании подсказки высокая креативность увеличивает влияние подсказки." + "Креативность определяет степень свободы модели при добавлении деталей. Низкое значение сохраняет больше сходства с исходным изображением, а высокое допускает более значительные изменения. При использовании промпта высокое значение усиливает его влияние." ], "heading": "Креативность" }, @@ -1320,18 +1355,18 @@ "fluxDevLicense": { "heading": "Некоммерческая лицензия", "paragraphs": [ - "Модели FLUX.1 [dev] лицензируются по некоммерческой лицензии FLUX [dev]. Чтобы использовать этот тип модели в коммерческих целях в Invoke, посетите наш веб-сайт, чтобы узнать больше." + "Модели FLUX.1 [dev] распространяются по некоммерческой лицензии FLUX [dev]. Для их коммерческого использования требуется отдельная лицензия." ] }, "optimizedDenoising": { "heading": "Оптимизированный img2img", "paragraphs": [ - "Включите опцию «Оптимизированный img2img», чтобы получить более плавную шкалу Denoise Strength для img2img и перерисовки с моделями Flux. Эта настройка улучшает возможность контролировать степень изменения изображения, но может быть отключена, если вы предпочитаете использовать стандартную шкалу Denoise Strength. Эта настройка все еще находится в стадии настройки и в настоящее время имеет статус бета-версии." + "Включите «Optimized Image-to-Image», чтобы использовать более плавную шкалу Denoise Strength для преобразований image-to-image и инпейнтинга с моделями Flux. Эта настройка улучшает контроль над степенью изменений изображения, однако её можно отключить, если вы предпочитаете стандартную шкалу Denoise Strength. Функция находится в стадии настройки и имеет статус бета-версии." ] }, "paramGuidance": { "paragraphs": [ - "Контролирует, насколько сильно запрос влияет на процесс генерации.", + "Определяет, насколько сильно промпт влияет на процесс генерации.", "Высокие значения точности могут привести к перенасыщению, а высокие или низкие значения точности могут привести к искажению результатов генерации. Точность применима только к моделям FLUX DEV." ], "heading": "Точность" @@ -1363,7 +1398,7 @@ "parameterSet": "Параметр {{parameter}} установлен", "allPrompts": "Все запросы", "imageDimensions": "Размеры изображения", - "canvasV2Metadata": "Холст", + "canvasV2Metadata": "Слои холста", "guidance": "Точность" }, "queue": { @@ -1393,7 +1428,7 @@ "graphQueued": "График поставлен в очередь", "queue": "Очередь", "batch": "Пакет", - "clearQueueAlertDialog": "Очистка очереди немедленно отменяет все элементы обработки и полностью очищает очередь. Ожидающие фильтры будут отменены.", + "clearQueueAlertDialog": "Очистка очереди немедленно отменит все текущие задачи и очистит очередь. Ожидающие фильтры будут отменены, а область предпросмотра на холсте сброшена.", "pending": "В ожидании", "completedIn": "Завершено за", "resumeFailed": "Проблема с возобновлением рендеринга", @@ -1477,7 +1512,7 @@ "workflowEditorMenu": "Меню редактора рабочего процесса", "workflowName": "Имя рабочего процесса", "saveWorkflow": "Сохранить рабочий процесс", - "workflowLibrary": "Библиотека", + "workflowLibrary": "Библиотека схем генерации", "downloadWorkflow": "Сохранить в файл", "workflowSaved": "Рабочий процесс сохранен", "unnamedWorkflow": "Безымянный рабочий процесс", @@ -1560,7 +1595,7 @@ "autoNegative": "Авто негатив", "rectangle": "Прямоугольник", "addNegativePrompt": "Добавить $t(controlLayers.negativePrompt)", - "regionalGuidance": "Региональная точность", + "regionalGuidance": "Региональное влияние", "opacity": "Непрозрачность", "addLayer": "Добавить слой", "moveToFront": "На передний план", @@ -1568,33 +1603,33 @@ "regional": "Региональный", "bookmark": "Закладка для быстрого переключения", "fitBboxToLayers": "Подогнать рамку к слоям", - "mergeVisibleOk": "Объединенные видимые слои", - "mergeVisibleError": "Ошибка объединения видимых слоев", + "mergeVisibleOk": "Объединенные слои", + "mergeVisibleError": "Ошибка объединения слоев", "clearHistory": "Очистить историю", "mergeVisible": "Объединить видимые", "removeBookmark": "Удалить закладку", - "saveLayerToAssets": "Сохранить слой в активы", + "saveLayerToAssets": "Сохранить слой в ресурсы", "clearCaches": "Очистить кэши", "recalculateRects": "Пересчитать прямоугольники", - "saveBboxToGallery": "Сохранить рамку в галерею", + "saveBboxToGallery": "Сохранить область в галерею", "canvas": "Холст", "global": "Глобальный", - "newGlobalReferenceImageError": "Проблема с созданием глобального эталонного изображения", - "newRegionalReferenceImageOk": "Создано региональное эталонное изображение", - "newRegionalReferenceImageError": "Проблема создания регионального эталонного изображения", + "newGlobalReferenceImageError": "Проблема с созданием глобального референсного изображения", + "newRegionalReferenceImageOk": "Создано региональное референсное изображение", + "newRegionalReferenceImageError": "Проблема создания регионального референсного изображения", "newControlLayerOk": "Создан слой управления", "newControlLayerError": "Ошибка создания слоя управления", "newRasterLayerOk": "Создан растровый слой", "newRasterLayerError": "Ошибка создания растрового слоя", - "newGlobalReferenceImageOk": "Создано глобальное эталонное изображение", - "bboxOverlay": "Показать наложение ограничительной рамки", + "newGlobalReferenceImageOk": "Создано глобальное референсное изображение", + "bboxOverlay": "Показать наложение рамки", "saveCanvasToGallery": "Сохранить холст в галерею", - "pullBboxIntoReferenceImageOk": "рамка перенесена в эталонное изображение", - "pullBboxIntoReferenceImageError": "Ошибка переноса рамки в эталонное изображение", + "pullBboxIntoReferenceImageOk": "Рамка перенесена в референсное изображение", + "pullBboxIntoReferenceImageError": "Ошибка переноса рамки в референсное изображение", "regionIsEmpty": "Выбранный регион пуст", "savedToGalleryOk": "Сохранено в галерею", "savedToGalleryError": "Ошибка сохранения в галерею", - "pullBboxIntoLayerOk": "Рамка перенесена в слой", + "pullBboxIntoLayerOk": "Содержимое рамки перенесено в слой", "pullBboxIntoLayerError": "Проблема с переносом рамки в слой", "newLayerFromImage": "Новый слой из изображения", "filter": { @@ -1693,11 +1728,12 @@ "isTransforming": "{{title}} трансформируется" }, "scaledBbox": "Масштабированная рамка", - "bbox": "Ограничительная рамка" + "bbox": "Ограничительная рамка", + "textSessionActive": "Активен режим ввода" }, "canvasContextMenu": { "saveBboxToGallery": "Сохранить рамку в галерею", - "newGlobalReferenceImage": "Новое глобальное эталонное изображение", + "newGlobalReferenceImage": "Новое глобальное референсное изображение", "bboxGroup": "Сохдать из рамки", "canvasGroup": "Холст", "newControlLayer": "Новый контрольный слой", @@ -1709,8 +1745,8 @@ }, "fill": { "solid": "Сплошной", - "fillStyle": "Стиль заполнения", - "fillColor": "Цвет заполнения", + "fillStyle": "Стиль заливки", + "fillColor": "Цвет заливкии", "grid": "Сетка", "horizontal": "Горизонтальная", "diagonal": "Диагональная", @@ -1729,8 +1765,8 @@ "inpaintMask": "Маска перерисовки", "sendToCanvas": "Отправить на холст", "regionalGuidance_withCount_one": "$t(controlLayers.regionalGuidance)", - "regionalGuidance_withCount_few": "Региональных точности", - "regionalGuidance_withCount_many": "Региональных точностей", + "regionalGuidance_withCount_few": "Региональных влияния", + "regionalGuidance_withCount_many": "Региональных влияний", "controlLayer_withCount_one": "$t(controlLayers.controlLayer)", "controlLayer_withCount_few": "Контрольных слоя", "controlLayer_withCount_many": "Контрольных слоев", @@ -1739,9 +1775,9 @@ "inpaintMask_withCount_few": "Маски перерисовки", "inpaintMask_withCount_many": "Масок перерисовки", "controlMode": { - "prompt": "Запрос", + "prompt": "Промпт", "controlMode": "Режим контроля", - "megaControl": "Мега контроль", + "megaControl": "Максимальный контроль", "balanced": "Сбалансированный", "control": "Контроль" }, @@ -1770,24 +1806,25 @@ "showResultsOn": "Показать результаты", "showResultsOff": "Скрыть результаты" }, - "pullBboxIntoReferenceImage": "Поместить рамку в эталонное изображение", + "pullBboxIntoReferenceImage": "Преобразовать рамку в референсное изображение", "enableAutoNegative": "Включить авто негатив", - "maskFill": "Заполнение маски", + "maskFill": "Заливка маски", "tool": { - "move": "Двигать", + "move": "Перемещение", "bbox": "Ограничительная рамка", - "view": "Смотреть", + "view": "Перемещение холста", "brush": "Кисть", "eraser": "Ластик", "rectangle": "Прямоугольник", - "colorPicker": "Подборщик цветов" + "colorPicker": "Пипетка", + "text": "Текст" }, "rasterLayer": "Растровый слой", "enableTransparencyEffect": "Включить эффект прозрачности", "hidingType": "Скрыть {{type}}", "addRegionalGuidance": "Добавить $t(controlLayers.regionalGuidance)", "deleteSelected": "Удалить выбранное", - "pullBboxIntoLayer": "Поместить рамку в слой", + "pullBboxIntoLayer": "Преобразовать рамку в слой", "locked": "Заблокировано", "replaceLayer": "Заменить слой", "width": "Ширина", @@ -1795,15 +1832,15 @@ "addRasterLayer": "Добавить $t(controlLayers.rasterLayer)", "addControlLayer": "Добавить $t(controlLayers.controlLayer)", "addInpaintMask": "Добавить $t(controlLayers.inpaintMask)", - "cropLayerToBbox": "Обрезать слой по ограничительной рамке", - "clipToBbox": "Обрезка штрихов в рамке", - "outputOnlyMaskedRegions": "Вывод только маскированных областей", + "cropLayerToBbox": "Обрезать слой по рамке", + "clipToBbox": "Ограничить мазки рамкой", + "outputOnlyMaskedRegions": "Выводить только сгенерированные области", "duplicate": "Дублировать", "layer_one": "Слой", "layer_few": "Слоя", "layer_many": "Слоев", - "prompt": "Запрос", - "negativePrompt": "Исключающий запрос", + "prompt": "Промпт", + "negativePrompt": "Негативный промпт", "beginEndStepPercentShort": "Начало/конец %", "transform": { "transform": "Трансформировать", @@ -1816,7 +1853,7 @@ "fitModeFill": "Заполнить" }, "disableAutoNegative": "Отключить авто негатив", - "deleteReferenceImage": "Удалить эталонное изображение", + "deleteReferenceImage": "Удалить референсное изображение", "rasterLayer_withCount_one": "$t(controlLayers.rasterLayer)", "rasterLayer_withCount_few": "Растровых слоя", "rasterLayer_withCount_many": "Растровых слоев", @@ -1828,9 +1865,42 @@ "logDebugInfo": "Писать отладочную информацию", "unlocked": "Разблокировано", "showProgressOnCanvas": "Показать прогресс на холсте", - "regionalReferenceImage": "Региональное эталонное изображение", - "globalReferenceImage": "Глобальное эталонное изображение", - "referenceImage": "Эталонное изображение" + "regionalReferenceImage": "Региональное референсное изображение", + "globalReferenceImage": "Глобальное референсное изображение", + "referenceImage": "Референсное изображение", + "text": { + "px": "px", + "alignRight": "По правому краю", + "alignCenter": "По центру", + "alignLeft": "По левому краю", + "strikethrough": "Зачёркнутый", + "italic": "Курсив", + "bold": "Полужирный", + "size": "Размер", + "font": "Шрифт" + }, + "newImg2ImgCanvasFromImage": "Новое изображение из Img2Img", + "sendToCanvasDesc": "При нажатии Invoke результат появляется на холсте в режиме предпросмотра.", + "compositeOperation": { + "blendModes": { + "darken": "Затемнение", + "multiply": "Умножение", + "color-dodge": "Осветление основы", + "color-burn": "Затемнение основы", + "screen": "Экран", + "hard-light": "Жёсткий свет", + "soft-light": "Мягкий свет", + "overlay": "Перекрытие", + "hue": "Тон", + "color": "Цвет", + "source-over": "Обычный" + } + }, + "globalReferenceImage_withCount_one": "$t(controlLayers.globalReferenceImage)", + "globalReferenceImage_withCount_few": "Глобальных референсных изображения", + "globalReferenceImage_withCount_many": "Глобальных референсных изображений", + "regionalGuidance_withCount_hidden": "Региональное влияние (скрыто: {{count}})", + "controlLayers_withCount_hidden": "Слои управления (скрыто: {{count}})" }, "ui": { "tabs": { From 5dc19dafe10c21e36adae93e6f52bb67db0811a0 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Tue, 24 Feb 2026 09:36:44 +0100 Subject: [PATCH 8/9] translationBot(ui): update translation (Italian) Currently translated at 98.1% (2290 of 2334 strings) Translation: InvokeAI/Web UI Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ --- invokeai/frontend/web/public/locales/it.json | 36 +++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index f110b723091..063f083b020 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -822,7 +822,20 @@ "orphanedModelsDeleted": "Eliminato con successo {{count}} modello orfano", "orphanedModelsDeleteErrors": "Alcuni modelli non possono essere eliminati", "orphanedModelsDeleteFailed": "Impossibile eliminare i modelli orfani", - "errorLoadingOrphanedModels": "Errore durante il caricamento dei modelli orfani. Riprova." + "errorLoadingOrphanedModels": "Errore durante il caricamento dei modelli orfani. Riprova.", + "pause": "Pausa", + "pauseAll": "Metti in pausa tutto", + "pauseAllTooltip": "Metti in pausa tutti i download attivi", + "resume": "Riprendi", + "resumeAll": "Riprendi tutto", + "resumeAllTooltip": "Riprendi tutti i download in pausa", + "restartFailed": "Riavvio non riuscito", + "restartFile": "Riavvia il file", + "restartRequired": "Riavvio richiesto", + "resumeRefused": "Ripristino rifiutato dal server. Riavvio richiesto.", + "backendDisconnected": "Backend disconnesso", + "cancelAll": "Annulla tutto", + "cancelAllTooltip": "Annulla tutti i download attivi" }, "parameters": { "images": "Immagini", @@ -1098,7 +1111,12 @@ "kleinEncoderClearedDescription": "Selezionare un encoder Qwen3 compatibile per la nuova variante del modello Klein", "kleinEncoderCleared": "Encoder Qwen3 cancellato", "schedulerReset": "Ripristino campionatore", - "schedulerResetZImageBase": "Il campionatore LCM non è compatibile con i modelli Z-Image Base. Reimpostare su Euler." + "schedulerResetZImageBase": "Il campionatore LCM non è compatibile con i modelli Z-Image Base. Reimpostare su Euler.", + "modelDownloadPaused": "Download del modello in pausa", + "modelDownloadResumed": "Ripresa del download", + "modelDownloadRestartFailed": "Riavvia i download non riusciti", + "modelDownloadRestartFile": "Riavvio del download del file", + "modelDownloadRestartedFromScratch": "Manca una parte del file. Riavviato il download dall'inizio." }, "accessibility": { "invokeProgressBar": "Barra di avanzamento generazione", @@ -1357,7 +1375,13 @@ "locateInGalery": "Trova nella Galleria", "deletedImagesCannotBeRestored": "Le immagini eliminate non possono essere ripristinate.", "hideBoards": "Nascondi bacheche", - "viewBoards": "Visualizza le bacheche" + "viewBoards": "Visualizza le bacheche", + "pause": "Pausa", + "resume": "Riprendi", + "restartFailed": "Riavvio non riuscito", + "restartFile": "Riavvia il file", + "restartRequired": "Riavvio richiesto", + "resumeRefused": "Ripristino rifiutato dal server. Riavvio richiesto." }, "queue": { "queueFront": "Aggiungi all'inizio della coda", @@ -1449,7 +1473,8 @@ "sortOrderDescending": "Discendente", "createdAt": "Creato", "completedAt": "Completato", - "batchFieldValues": "Valori del campo Lotto" + "batchFieldValues": "Valori del campo Lotto", + "paused": "In pausa" }, "models": { "noMatchingModels": "Nessun modello corrispondente", @@ -2557,7 +2582,8 @@ "isEmpty": "{{title}} è vuoto", "isDisabled": "{{title}} è disabilitato" }, - "scaledBbox": "Riquadro scalato" + "scaledBbox": "Riquadro scalato", + "textSessionActive": "L'inserimento del testo è attivo" }, "canvasContextMenu": { "newControlLayer": "Nuovo Livello di Controllo", From d63074cf5a8ac665e5e2836a4306ddd8a6110111 Mon Sep 17 00:00:00 2001 From: Riccardo Giovanetti Date: Sat, 28 Feb 2026 11:03:18 +0100 Subject: [PATCH 9/9] translationBot(ui): update translation (Italian) Currently translated at 97.7% (2319 of 2372 strings) Translation: InvokeAI/Web UI Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/ --- invokeai/frontend/web/public/locales/it.json | 39 +++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/public/locales/it.json b/invokeai/frontend/web/public/locales/it.json index 063f083b020..1134725c850 100644 --- a/invokeai/frontend/web/public/locales/it.json +++ b/invokeai/frontend/web/public/locales/it.json @@ -835,7 +835,8 @@ "resumeRefused": "Ripristino rifiutato dal server. Riavvio richiesto.", "backendDisconnected": "Backend disconnesso", "cancelAll": "Annulla tutto", - "cancelAllTooltip": "Annulla tutti i download attivi" + "cancelAllTooltip": "Annulla tutti i download attivi", + "selectModelToView": "Seleziona un modello per visualizzarne i dettagli" }, "parameters": { "images": "Immagini", @@ -1474,7 +1475,12 @@ "createdAt": "Creato", "completedAt": "Completato", "batchFieldValues": "Valori del campo Lotto", - "paused": "In pausa" + "paused": "In pausa", + "cancelFailedAccessDenied": "Problema durante l'annullamento dell'articolo: accesso negato", + "clearFailedAccessDenied": "Problema durante la cancellazione della coda: accesso negato", + "user": "Utente", + "cannotViewDetails": "Non hai l'autorizzazione per visualizzare i dettagli di questo elemento della coda", + "fieldValuesHidden": "" }, "models": { "noMatchingModels": "Nessun modello corrispondente", @@ -3050,5 +3056,34 @@ }, "lora": { "weight": "Peso" + }, + "auth": { + "login": { + "title": "Accedi a InvokeAI", + "rememberMe": "Ricordami per 7 giorni", + "signIn": "Accedi", + "signingIn": "Accesso in corso...", + "loginFailed": "Accesso non riuscito. Controlla le tue credenziali." + }, + "setup": { + "title": "Benvenuti a InvokeAI", + "subtitle": "Configura il tuo account amministratore per iniziare", + "emailHelper": "Questo sarà il tuo nome utente per accedere", + "displayName": "Nome da visualizzare", + "displayNamePlaceholder": "Amministratore", + "displayNameHelper": "Il tuo nome come apparirà nell'applicazione", + "passwordHelper": "Deve contenere almeno 8 caratteri, tra maiuscole, minuscole e numeri", + "passwordTooShort": "La password deve essere lunga almeno 8 caratteri", + "passwordMissingRequirements": "La password deve contenere maiuscole, minuscole e numeri", + "confirmPassword": "Conferma password", + "confirmPasswordPlaceholder": "Conferma password", + "passwordsDoNotMatch": "Le password non corrispondono", + "createAccount": "Crea un account amministratore", + "creatingAccount": "Impostazione in corso...", + "setupFailed": "Installazione non riuscita. Riprova." + }, + "userMenu": "Menu utente", + "logout": "Esci", + "adminOnlyFeature": "Questa funzionalità è disponibile solo per gli amministratori." } }