diff --git a/CODEOWNERS b/CODEOWNERS index a48d80121..7438c9bc6 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,13 +1,12 @@ * @AUTOMATIC1111 -/localizations/ar_AR.json @xmodar @blackneoo -/localizations/de_DE.json @LunixWasTaken -/localizations/es_ES.json @innovaciones -/localizations/fr_FR.json @tumbly -/localizations/it_IT.json @EugenioBuffo -/localizations/ja_JP.json @yuuki76 -/localizations/ko_KR.json @36DB -/localizations/pt_BR.json @M-art-ucci -/localizations/ru_RU.json @kabachuha -/localizations/tr_TR.json @camenduru -/localizations/zh_CN.json @dtlnor @bgluminous -/localizations/zh_TW.json @benlisquare + +# if you were managing a localization and were removed from this file, this is because +# the intended way to do localizations now is via extensions. See: +# https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-extensions +# Make a repo with your localization and since you are still listed as a collaborator +# you can add it to the wiki page yourself. This change is because some people complained +# the git commit log is cluttered with things unrelated to almost everyone and +# because I believe this is the best overall for the project to handle localizations almost +# entirely without my oversight. + + diff --git a/README.md b/README.md index 55c050d5d..33508f311 100644 --- a/README.md +++ b/README.md @@ -155,14 +155,15 @@ The documentation was moved from this README over to the project's [wiki](https: - Swin2SR - https://github.com/mv-lab/swin2sr - LDSR - https://github.com/Hafiidz/latent-diffusion - Ideas for optimizations - https://github.com/basujindal/stable-diffusion -- Doggettx - Cross Attention layer optimization - https://github.com/Doggettx/stable-diffusion, original idea for prompt editing. -- InvokeAI, lstein - Cross Attention layer optimization - https://github.com/invoke-ai/InvokeAI (originally http://github.com/lstein/stable-diffusion) -- Rinon Gal - Textual Inversion - https://github.com/rinongal/textual_inversion (we're not using his code, but we are using his ideas). +- Cross Attention layer optimization - Doggettx - https://github.com/Doggettx/stable-diffusion, original idea for prompt editing. +- Cross Attention layer optimization - InvokeAI, lstein - https://github.com/invoke-ai/InvokeAI (originally http://github.com/lstein/stable-diffusion) +- Textual Inversion - Rinon Gal - https://github.com/rinongal/textual_inversion (we're not using his code, but we are using his ideas). - Idea for SD upscale - https://github.com/jquesnelle/txt2imghd - Noise generation for outpainting mk2 - https://github.com/parlance-zz/g-diffuser-bot - CLIP interrogator idea and borrowing some code - https://github.com/pharmapsychotic/clip-interrogator - Idea for Composable Diffusion - https://github.com/energy-based-model/Compositional-Visual-Generation-with-Composable-Diffusion-Models-PyTorch - xformers - https://github.com/facebookresearch/xformers - DeepDanbooru - interrogator for anime diffusers https://github.com/KichangKim/DeepDanbooru +- Security advice - RyotaK - Initial Gradio script - posted on 4chan by an Anonymous user. Thank you Anonymous user. - (You) diff --git a/javascript/edit-attention.js b/javascript/edit-attention.js index c0d29a749..b947cbecd 100644 --- a/javascript/edit-attention.js +++ b/javascript/edit-attention.js @@ -1,7 +1,6 @@ addEventListener('keydown', (event) => { let target = event.originalTarget || event.composedPath()[0]; - if (!target.hasAttribute("placeholder")) return; - if (!target.placeholder.toLowerCase().includes("prompt")) return; + if (!target.matches("#toprow textarea.gr-text-input[placeholder]")) return; if (! (event.metaKey || event.ctrlKey)) return; diff --git a/javascript/progressbar.js b/javascript/progressbar.js index 7a05726e7..671fde340 100644 --- a/javascript/progressbar.js +++ b/javascript/progressbar.js @@ -3,8 +3,21 @@ global_progressbars = {} galleries = {} galleryObservers = {} +// this tracks laumnches of window.setTimeout for progressbar to prevent starting a new timeout when the previous is still running +timeoutIds = {} + function check_progressbar(id_part, id_progressbar, id_progressbar_span, id_skip, id_interrupt, id_preview, id_gallery){ - var progressbar = gradioApp().getElementById(id_progressbar) + // gradio 3.8's enlightened approach allows them to create two nested div elements inside each other with same id + // every time you use gr.HTML(elem_id='xxx'), so we handle this here + var progressbar = gradioApp().querySelector("#"+id_progressbar+" #"+id_progressbar) + var progressbarParent + if(progressbar){ + progressbarParent = gradioApp().querySelector("#"+id_progressbar) + } else{ + progressbar = gradioApp().getElementById(id_progressbar) + progressbarParent = null + } + var skip = id_skip ? gradioApp().getElementById(id_skip) : null var interrupt = gradioApp().getElementById(id_interrupt) @@ -26,18 +39,26 @@ function check_progressbar(id_part, id_progressbar, id_progressbar_span, id_skip global_progressbars[id_progressbar] = progressbar var mutationObserver = new MutationObserver(function(m){ + if(timeoutIds[id_part]) return; + preview = gradioApp().getElementById(id_preview) gallery = gradioApp().getElementById(id_gallery) if(preview != null && gallery != null){ preview.style.width = gallery.clientWidth + "px" preview.style.height = gallery.clientHeight + "px" + if(progressbarParent) progressbar.style.width = progressbarParent.clientWidth + "px" //only watch gallery if there is a generation process going on check_gallery(id_gallery); var progressDiv = gradioApp().querySelectorAll('#' + id_progressbar_span).length > 0; - if(!progressDiv){ + if(progressDiv){ + timeoutIds[id_part] = window.setTimeout(function() { + timeoutIds[id_part] = null + requestMoreProgress(id_part, id_progressbar_span, id_skip, id_interrupt) + }, 500) + } else{ if (skip) { skip.style.display = "none" } @@ -47,13 +68,10 @@ function check_progressbar(id_part, id_progressbar, id_progressbar_span, id_skip if (galleryObservers[id_gallery]) { galleryObservers[id_gallery].disconnect(); galleries[id_gallery] = null; - } + } } - - } - window.setTimeout(function() { requestMoreProgress(id_part, id_progressbar_span, id_skip, id_interrupt) }, 500) }); mutationObserver.observe( progressbar, { childList:true, subtree:true }) } diff --git a/javascript/ui.js b/javascript/ui.js index 00e80fd67..51d112cdc 100644 --- a/javascript/ui.js +++ b/javascript/ui.js @@ -248,4 +248,6 @@ function update_token_counter(button_id) { function restart_reload(){ document.body.innerHTML='

Reloading...

'; setTimeout(function(){location.reload()},2000) + + return [] } diff --git a/launch.py b/launch.py index ff2f74baf..5fa115606 100644 --- a/launch.py +++ b/launch.py @@ -142,7 +142,7 @@ def prepare_enviroment(): stable_diffusion_commit_hash = os.environ.get('STABLE_DIFFUSION_COMMIT_HASH', "69ae4b35e0a0f6ee1af8bb9a5d0016ccb27e36dc") taming_transformers_commit_hash = os.environ.get('TAMING_TRANSFORMERS_COMMIT_HASH', "24268930bf1dce879235a7fddd0b2355b84d7ea6") - k_diffusion_commit_hash = os.environ.get('K_DIFFUSION_COMMIT_HASH', "f4e99857772fc3a126ba886aadf795a332774878") + k_diffusion_commit_hash = os.environ.get('K_DIFFUSION_COMMIT_HASH', "60e5042ca0da89c14d1dd59d73883280f8fce991") codeformer_commit_hash = os.environ.get('CODEFORMER_COMMIT_HASH', "c5b4593074ba6214284d6acd5f1719b6c5d739af") blip_commit_hash = os.environ.get('BLIP_COMMIT_HASH', "48211a1594f1321b00f14c9f7a5b4813144b2fb9") @@ -238,12 +238,15 @@ def tests(argv): proc.kill() -def start_webui(): - print(f"Launching Web UI with arguments: {' '.join(sys.argv[1:])}") +def start(): + print(f"Launching {'API server' if '--nowebui' in sys.argv else 'Web UI'} with arguments: {' '.join(sys.argv[1:])}") import webui - webui.webui() + if '--nowebui' in sys.argv: + webui.api_only() + else: + webui.webui() if __name__ == "__main__": prepare_enviroment() - start_webui() + start() diff --git a/localizations/de_DE.json b/localizations/de_DE.json index 56d54b54b..5e2544469 100644 --- a/localizations/de_DE.json +++ b/localizations/de_DE.json @@ -70,7 +70,7 @@ "None": "Nichts", "Prompt matrix": "Promptmatrix", "Prompts from file or textbox": "Prompts aus Datei oder Textfeld", - "X/Y plot": "X/Y Graf", + "X/Y plot": "X/Y Graph", "Put variable parts at start of prompt": "Variable teile am start des Prompt setzen", "Iterate seed every line": "Iterate seed every line", "List of prompt inputs": "List of prompt inputs", @@ -455,4 +455,4 @@ "Only applies to inpainting models. Determines how strongly to mask off the original image for inpainting and img2img. 1.0 means fully masked, which is the default behaviour. 0.0 means a fully unmasked conditioning. Lower values will help preserve the overall composition of the image, but will struggle with large changes.": "Gilt nur für Inpainting-Modelle. Legt fest, wie stark das Originalbild für Inpainting und img2img maskiert werden soll. 1.0 bedeutet vollständig maskiert, was das Standardverhalten ist. 0.0 bedeutet eine vollständig unmaskierte Konditionierung. Niedrigere Werte tragen dazu bei, die Gesamtkomposition des Bildes zu erhalten, sind aber bei großen Änderungen problematisch.", "List of setting names, separated by commas, for settings that should go to the quick access bar at the top, rather than the usual setting tab. See modules/shared.py for setting names. Requires restarting to apply.": "Liste von Einstellungsnamen, getrennt durch Kommas, für Einstellungen, die in der Schnellzugriffsleiste oben erscheinen sollen, anstatt in dem üblichen Einstellungs-Tab. Siehe modules/shared.py für Einstellungsnamen. Erfordert einen Neustart zur Anwendung.", "If this values is non-zero, it will be added to seed and used to initialize RNG for noises when using samplers with Eta. You can use this to produce even more variation of images, or you can use this to match images of other software if you know what you are doing.": "Wenn dieser Wert ungleich Null ist, wird er zum Seed addiert und zur Initialisierung des RNG für Noise bei der Verwendung von Samplern mit Eta verwendet. Dies kann verwendet werden, um noch mehr Variationen von Bildern zu erzeugen, oder um Bilder von anderer Software zu erzeugen, wenn Sie wissen, was Sie tun." -} \ No newline at end of file +} diff --git a/localizations/es_ES.json b/localizations/es_ES.json index d9ca4ef7f..9ba66c5bc 100644 --- a/localizations/es_ES.json +++ b/localizations/es_ES.json @@ -5,18 +5,21 @@ "❮": "❮", "❯": "❯", "Loading...": "Cargando...", - "view": "mostrar", - "api": "api", - "•": "•", - "built with gradio": "Construido con Gradio", + "view": "Mostrar ", + "api": "API", + "•": " • ", + "Construido con Gradio": "Construido con Gradio", "Stable Diffusion checkpoint": "Stable Diffusion checkpoint", "txt2img": "txt2img", "img2img": "img2img", "Extras": "Extras", - "PNG Info": "PNG Info", - "Checkpoint Merger": "Checkpoint Merger", - "Train": "Train", + "PNG Info": "Info PNG", + "Checkpoint Merger": "Fusionar Checkpoints", + "Train": "Entrenar", + "Deforum": "Deforum", + "Image Browser": "Navegador de Imágenes", "Settings": "Ajustes", + "Extensions": "Extensiones", "Prompt": "Prompt", "Negative prompt": "Prompt negativo", "Run": "Ejecutar", @@ -27,15 +30,15 @@ "Style 2": "Estilo 2", "Label": "Etiqueta", "File": "Archivo", - "Drop File Here": "Suelta el Archivo Aquí", + "Coloque el archivo aquí": "Suelta el archivo aquí", "-": "-", "o": "o", - "Click to Upload": "Click para Cargar", + "Haga click para cargar": "Haz click para cargar", "Image": "Imagen", "Check progress": "Comprobar progreso", "Check progress (first)": "Comprobar progreso (inicial)", "Sampling Steps": "Sampling Steps", - "Sampling method": "Sampling method", + "Sampling method": "Método de Sampling", "Euler a": "Euler a", "Euler": "Euler", "LMS": "LMS", @@ -57,33 +60,34 @@ "Firstpass width": "Ancho original", "Firstpass height": "Alto original", "Denoising strength": "Denoising strength", - "Batch count": "Batch count", - "Batch size": "Batch size", - "CFG Scale": "CFG Scale", + "Batch count": "Cantidad del Batch", + "Batch size": "Tamaño del Batch", + "CFG Scale": "Escala CFG", "Seed": "Seed", "Extra": "Extra", - "Variation seed": "Variation seed", - "Variation strength": "Variation strength", + "Variation seed": "Seed de variación", + "Variation strength": "Fuerza de variación", "Resize seed from width": "Redimensionar seed del ancho", "Resize seed from height": "Redimensionar seed del alto", "Script": "Script", "None": "Ninguno", - "Prompt matrix": "Prompt matrix", + "Prompt matrix": "Prompt en matriz", "Prompts from file or textbox": "Prompts desde archivo o campo de texto", - "X/Y plot": "X/Y plot", + "X/Y plot": "Tabla X/Y", "Put variable parts at start of prompt": "Poner partes variables al inicio del prompt", - "Show Textbox": "Mostrar Campo de texto", - "File with inputs": "Archivo con inputs", - "Prompts": "Prompts", - "X type": "X type", + "Iterate seed every line": "Repetir seed en cada línea", + "Use same random seed for all lines": "Utiliza el mismo seed aleatorio para todas las líneas", + "List of prompt inputs": "Listado de prompts", + "Upload prompt inputs": "Cargar archivo de prompts", + "X type": "X", "Nothing": "Nada", "Var. seed": "Var. seed", - "Var. strength": "Var. strength", + "Var. strength": "Var. fuerza", "Steps": "Steps", "Prompt S/R": "Prompt S/R", "Prompt order": "Prompt order", "Sampler": "Sampler", - "Checkpoint name": "Checkpoint name", + "Checkpoint name": "Nombre Checkpoint", "Hypernetwork": "Hypernetwork", "Hypernet str.": "Hypernet str.", "Sigma Churn": "Sigma Churn", @@ -93,13 +97,13 @@ "Eta": "Eta", "Clip skip": "Clip skip", "Denoising": "Denoising", - "X values": "X values", - "Y type": "Y type", - "Y values": "Y values", + "Cond. Image Mask Weight": "Cond. Image Mask Weight", + "X values": "Valores X", + "Y type": "Y", + "Y values": "Valores Y", "Draw legend": "Agregar leyenda", "Include Separate Images": "Incluir Imágenes Separadas", "Keep -1 for seeds": "Mantener -1 para seeds", - "Drop Image Here": "Suelta la Imagen Aquí", "Save": "Guardar", "Send to img2img": "Enviar a img2img", "Send to inpaint": "Enviar a inpaint", @@ -110,22 +114,23 @@ "Inpaint": "Inpaint", "Batch img2img": "Batch img2img", "Image for img2img": "Imagen para img2img", - "Image for inpainting with mask": "Imagen para inpainting con mask", - "Mask": "Mask", - "Mask blur": "Mask blur", - "Mask mode": "Mask mode", - "Draw mask": "Dibujar mask", - "Upload mask": "Cargar mask", - "Masking mode": "Masking mode", - "Inpaint masked": "Inpaint masked", - "Inpaint not masked": "Inpaint not masked", - "Masked content": "Masked content", - "fill": "fill", + "Coloque la imagen aquí": "Suelta la imagen aquí", + "Image for inpainting with mask": "Imagen para inpainting con máscara", + "Mask": "Máscara", + "Mask blur": "Difuminar máscara", + "Mask mode": "Modo máscara", + "Draw mask": "Dibujar máscara", + "Upload mask": "Cargar máscara", + "Masking mode": "Modo de enmascarado", + "Inpaint masked": "Inpaint con enmascarado", + "Inpaint not masked": "Inpaint sin enmascarado", + "Masked content": "Contenido enmascarado", + "fill": "rellenar", "original": "original", "latent noise": "latent noise", "latent nothing": "latent nothing", "Inpaint at full resolution": "Inpaint a resolución completa", - "Inpaint at full resolution padding, pixels": "Inpaint a resolución completa padding, pixeles", + "Inpaint at full resolution padding, pixels": "Inpaint a resolución completa con relleno, en pixeles", "Process images in a directory on the same machine where the server is running.": "Procesa imágenes en un directorio en la misma máquina donde se ejecuta el servidor.", "Use an empty output directory to save pictures normally instead of writing to the output directory.": "Usa un directorio de salida vacío para guardar imágenes normalmente en lugar de escribir en el directorio de salida.", "Input directory": "Directorio de entrada", @@ -139,15 +144,16 @@ "Outpainting mk2": "Outpainting mk2", "Poor man's outpainting": "Poor man's outpainting", "SD upscale": "SD upscale", + "Deforum-webui (use tab extension instead!)": "Deforum-webui (utiliza la extensión en su lugar!)", "should be 2 or lower.": "debe ser 2 o menos.", - "Override `Sampling method` to Euler?(this method is built for it)": "Anular `Sampling method` a Euler? (este método está diseñado para ello)", - "Override `prompt` to the same value as `original prompt`?(and `negative prompt`)": "Anular `prompt` al mismo valor `prompt original`? (y `prompt negativo`)", + "Override `Sampling method` to Euler?(this method is built for it)": "Invalidar `Sampling method` a Euler? (este método está diseñado para ello)", + "Override `prompt` to the same value as `original prompt`?(and `negative prompt`)": "Invalidar `prompt` al mismo valor `prompt original`? (y `prompt negativo`)", "Original prompt": "Prompt original", "Original negative prompt": "Promp negativo original", - "Override `Sampling Steps` to the same value as `Decode steps`?": "Anular `Sampling Steps` al mismo valor de `Decode steps`?", + "Override `Sampling Steps` to the same value as `Decode steps`?": "Invalidar `Sampling Steps` al mismo valor de `Decode steps`?", "Decode steps": "Decode steps", - "Override `Denoising strength` to 1?": "Anular `Denoising strength` a 1?", - "Decode CFG scale": "Decode CFG scale", + "Override `Denoising strength` to 1?": "Invalidar `Denoising strength` a 1?", + "Decode CFG scale": "Decodificar escala CFG", "Randomness": "Aleatoriedad", "Sigma adjustment for finding noise for image": "Ajuste Sigma para encontrar ruido para la imagen.", "Loops": "Loops", @@ -165,29 +171,35 @@ "Tile overlap": "Solapar mosaicos", "Upscaler": "Upscaler", "Lanczos": "Lanczos", + "Nearest": "Nearest", "LDSR": "LDSR", - "SwinIR 4x": "SwinIR 4x", + "ESRGAN_4x": "ESRGAN_4x", "ScuNET GAN": "ScuNET GAN", "ScuNET PSNR": "ScuNET PSNR", - "ESRGAN_4x": "ESRGAN_4x", + "SwinIR 4x": "SwinIR 4x", + "Deforum v0.5-webui-beta": "Deforum v0.5-webui-beta", + "This script is deprecated. Please use the full Deforum extension instead.": "Este script está obsoleto. Utiliza la extensión completa de Deforum en su lugar.", + "Update instructions:": "Instrucciones para actualizar:", + "github.com/deforum-art/deforum-for-automatic1111-webui/blob/automatic1111-webui/README.md": "github.com/deforum-art/deforum-for-automatic1111-webui/blob/automatic1111-webui/README.md", + "discord.gg/deforum": "discord.gg/deforum", "Single Image": "Imagen Única", "Batch Process": "Batch Process", "Batch from Directory": "Batch desde Directorio", "Source": "Origen", - "Show result images": "Mostrar resultados de imágenes", + "Show result images": "Mostrar imágenes generadas", "Scale by": "Escalar por", "Scale to": "Escalar a", "Resize": "Redimensionar", "Crop to fit": "Recortar para ajustar", - "Upscaler 2 visibility": "Upscaler 2 visibilidad", - "GFPGAN visibility": "GFPGAN visibilidad", - "CodeFormer visibility": "CodeFormer visibilidad", - "CodeFormer weight (0 = maximum effect, 1 = minimum effect)": "CodeFormer peso (0 = efecto máximo, 1 = efecto mínimo)", - "Open output directory": "Abrir directorio de salida", + "Upscaler 2 visibility": "Visibilidad Upscaler 2", + "GFPGAN visibility": "Visibilidad GFPGAN", + "CodeFormer visibility": "Visibilidad CodeFormer", + "CodeFormer weight (0 = maximum effect, 1 = minimum effect)": "Influencia CodeFormer (0 = efecto máximo, 1 = efecto mínimo)", + "Upscale Before Restoring Faces": "Escalar antes de Restaurar Rostros", "Send to txt2img": "Enviar a txt2img", - "A merger of the two checkpoints will be generated in your": "Se generará una fusión de los dos checkpoints en su", - "checkpoint": "checkpoint", - "directory.": "directorio.", + "A merger of the two checkpoints will be generated in your": "Se generará una fusión de los dos checkpoints en tu ", + "checkpoint": "directorio ", + "directory.": "de modelos.", "Primary model (A)": "Modelo primario (A)", "Secondary model (B)": "Modelo secundario (B)", "Tertiary model (C)": "Modelo terciario (C)", @@ -215,6 +227,36 @@ "leakyrelu": "leakyrelu", "elu": "elu", "swish": "swish", + "tanh": "tanh", + "sigmoid": "sigmoid", + "celu": "celu", + "gelu": "gelu", + "glu": "glu", + "hardshrink": "hardshrink", + "hardsigmoid": "hardsigmoid", + "hardtanh": "hardtanh", + "logsigmoid": "logsigmoid", + "logsoftmax": "logsoftmax", + "mish": "mish", + "prelu": "prelu", + "rrelu": "rrelu", + "relu6": "relu6", + "selu": "selu", + "silu": "silu", + "softmax": "softmax", + "softmax2d": "softmax2d", + "softmin": "softmin", + "softplus": "softplus", + "softshrink": "softshrink", + "softsign": "softsign", + "tanhshrink": "tanhshrink", + "threshold": "threshold", + "Select Layer weights initialization. relu-like - Kaiming, sigmoid-like - Xavier is recommended": "Seleccionar inicialización de modelos de capa. relu-like - Kaiming, sigmoid-like - Xavier es el recomendado", + "Normal": "Normal", + "KaimingUniform": "KaimingUniform", + "KaimingNormal": "KaimingNormal", + "XavierUniform": "XavierUniform", + "XavierNormal": "XavierNormal", "Add layer normalization": "Agregar normalización de capa", "Use dropout": "Usar dropout", "Overwrite Old Hypernetwork": "Sobrescribir Hypernetwork Anterior", @@ -226,11 +268,16 @@ "prepend": "anteponer", "append": "añadir", "Create flipped copies": "Crear copias volteadas", - "Split oversized images": "Dividir imágenes grandes", - "Use BLIP for caption": "Usar BLIP para subtítulo", - "Use deepbooru for caption": "Usar deepbooru para subtítulo", - "Split image threshold": "Threshold imagen dividida", - "Split image overlap ratio": "Overlap ratio imagen dividida", + "Split oversized images": "Dividir imágenes muy grandes", + "Auto focal point crop": "Recorte de punto focal automático", + "Use BLIP for caption": "Usar BLIP para leyenda", + "Use deepbooru for caption": "Usar deepbooru para leyenda", + "Split image threshold": "Umbral en imagen dividida", + "Split image overlap ratio": "Relación de superposición en imagen dividida", + "Focal point face weight": "Peso de la cara del punto focal", + "Focal point entropy weight": "Focal point entropy weight", + "Focal point edges weight": "Focal point edges weight", + "Create debug image": "Crear imagen de depuración", "Preprocess": "Preproceso", "Train an embedding or Hypernetwork; you must specify a directory with a set of 1:1 ratio images": "Entrenar un embedding o Hypernetwork; debes especificar un directorio con un conjunto de imágenes con una proporción de 1:1 ", "[wiki]": "[wiki]", @@ -245,13 +292,194 @@ "Save a copy of embedding to log directory every N steps, 0 to disable": "Guarda una copia de embedding en el directorio log cada N pasos, 0 para deshabilitar", "Save images with embedding in PNG chunks": "Guarda imágenes con embedding en fragmentos PNG", "Read parameters (prompt, etc...) from txt2img tab when making previews": "Leer parámetros (prompt, etc...) desde la pestaña txt2img al hacer vistas previas", - "Train Hypernetwork": "Train Hypernetwork", - "Train Embedding": "Train Embedding", + "Train Hypernetwork": "Entrenar Hypernetwork", + "Train Embedding": "Entrenar Embedding", + "Info and links": "Información y enlaces", + "▼": "▼", + "Made by deforum.github.io, port for AUTOMATIC1111's webui maintained by kabachuha": "Desarrolado por deforum.github.io, port para AUTOMATIC1111's webui mantenido por kabachuha", + "Original Deforum Github repo github.com/deforum/stable-diffusion": "Deforum Github repo github.com/deforum/stable-diffusion", + "This fork for auto1111's webui github.com/deforum-art/deforum-for-automatic1111-webui": "Fork para auto1111's webui github.com/deforum-art/deforum-for-automatic1111-webui", + "Join the official Deforum Discord discord.gg/deforum to share your creations and suggestions": "Únete al Discord oficial Deforum discord.gg/deforum para compartir tus creaciones y sugerencias", + "User guide for v0.5 docs.google.com/document/d/1pEobUknMFMkn8F5TMsv8qRzamXX_75BShMMXV8IFslI/edit": "Guía de usuario v0.5 docs.google.com/document/d/1pEobUknMFMkn8F5TMsv8qRzamXX_75BShMMXV8IFslI/edit", + "Math keyframing explanation docs.google.com/document/d/1pfW1PwbDIuW0cv-dnuyYj1UzPqe23BlSLTJsqazffXM/edit?usp=sharing": "Explicación de fotogramas matemáticos docs.google.com/document/d/1pfW1PwbDIuW0cv-dnuyYj1UzPqe23BlSLTJsqazffXM/edit?usp=sharing", + "Keyframes": "Keyframes", + "Prompts": "Prompts", + "Init": "Init", + "Video output": "Salida de vídeo", + "Run settings": "Ejecutar ajustes", + "Import settings from file": "Importar ajustes desde archivo", + "Override settings": "Invalidar ajustes", + "Custom settings file": "Archivo de ajustes personalizados", + "Sampling settings": "Ajustes de sampling", + "override_these_with_webui": "override_these_with_webui", + "W": "Ancho", + "H": "Alto", + "seed": "seed", + "sampler": "sampler", + "Enable extras": "Activar extras", + "subseed": "subseed", + "subseed_strength": "subseed_strength", + "steps": "steps", + "ddim_eta": "ddim_eta", + "n_batch": "n_batch", + "make_grid": "make_grid", + "grid_rows": "grid_rows", + "save_settings": "save_settings", + "save_samples": "save_samples", + "display_samples": "display_samples", + "save_sample_per_step": "save_sample_per_step", + "show_sample_per_step": "show_sample_per_step", + "Batch settings": "Ajustes de batch", + "batch_name": "batch_name", + "filename_format": "filename_format", + "seed_behavior": "seed_behavior", + "iter": "iter", + "fixed": "fixed", + "random": "random", + "schedule": "schedule", + "Animation settings": "Ajustes de animación", + "animation_mode": "animation_mode", + "2D": "2D", + "3D": "3D", + "Video Input": "Entrada de Video", + "max_frames": "max_frames", + "border": "border", + "replicate": "replicate", + "wrap": "wrap", + "Motion parameters:": "Parámetros de movimiento:", + "2D and 3D settings": "Ajustes 2D y 3D", + "angle": "angle", + "zoom": "zoom", + "translation_x": "translation_x", + "translation_y": "translation_y", + "3D settings": "Ajustes 3D", + "translation_z": "translation_z", + "rotation_3d_x": "rotation_3d_x", + "rotation_3d_y": "rotation_3d_y", + "rotation_3d_z": "rotation_3d_z", + "Prespective flip — Low VRAM pseudo-3D mode:": "Prespective flip — Modo Low VRAM pseudo-3D:", + "flip_2d_perspective": "flip_2d_perspective", + "perspective_flip_theta": "perspective_flip_theta", + "perspective_flip_phi": "perspective_flip_phi", + "perspective_flip_gamma": "perspective_flip_gamma", + "perspective_flip_fv": "perspective_flip_fv", + "Generation settings:": "Ajustes de generación:", + "noise_schedule": "noise_schedule", + "strength_schedule": "strength_schedule", + "contrast_schedule": "contrast_schedule", + "cfg_scale_schedule": "cfg_scale_schedule", + "3D Fov settings:": "Ajustes 3D Fov:", + "fov_schedule": "fov_schedule", + "near_schedule": "near_schedule", + "far_schedule": "far_schedule", + "To enable seed schedule select seed behavior — 'schedule'": "Para habilitar el seed schedule, selecciona el comportamiento del seed — 'schedule'", + "seed_schedule": "seed_schedule", + "Coherence:": "Coherencia:", + "color_coherence": "color_coherence", + "Match Frame 0 HSV": "Match Frame 0 HSV", + "Match Frame 0 LAB": "Match Frame 0 LAB", + "Match Frame 0 RGB": "Match Frame 0 RGB", + "diffusion_cadence": "diffusion_cadence", + "3D Depth Warping:": "3D Depth Warping:", + "use_depth_warping": "use_depth_warping", + "midas_weight": "midas_weight", + "near_plane": "near_plane", + "far_plane": "far_plane", + "fov": "fov", + "padding_mode": "padding_mode", + "reflection": "reflection", + "zeros": "zeros", + "sampling_mode": "sampling_mode", + "bicubic": "bicubic", + "bilinear": "bilinear", + "nearest": "nearest", + "save_depth_maps": "save_depth_maps", + "`animation_mode: None` batches on list of *prompts*. (Batch mode disabled atm, only animation_prompts are working)": "`animation_mode: None` batches en lista de *prompts*. (Modo batch deshabilitado por el momento, solamente animation_prompts esta funcionando)", + "*Important change from vanilla Deforum!*": "*Cambios importantes en Deforum!*", + "This script uses the built-in webui weighting settings.": "Este script utiliza la configuración de pesos integrados.", + "So if you want to use math functions as prompt weights,": "Entonces, si deseas usar funciones matemáticas con pesos en los prompts,", + "keep the values above zero in both parts": "manten los valores por encima de cero en ambas partes", + "Negative prompt part can be specified with --neg": "La parte de prompt negativo se puede especificar utilizando --neg", + "batch_prompts (disabled atm)": "batch_prompts (deshabilitado por el momento)", + "animation_prompts": "animation_prompts", + "Init settings": "Ajustes Init", + "use_init": "use_init", + "from_img2img_instead_of_link": "from_img2img_instead_of_link", + "strength_0_no_init": "strength_0_no_init", + "strength": "strength", + "init_image": "init_image", + "use_mask": "use_mask", + "use_alpha_as_mask": "use_alpha_as_mask", + "invert_mask": "invert_mask", + "overlay_mask": "overlay_mask", + "mask_file": "mask_file", + "mask_brightness_adjust": "mask_brightness_adjust", + "mask_overlay_blur": "mask_overlay_blur", + "Video Input:": "Entrada de Video:", + "video_init_path": "video_init_path", + "extract_nth_frame": "extract_nth_frame", + "overwrite_extracted_frames": "overwrite_extracted_frames", + "use_mask_video": "use_mask_video", + "video_mask_path": "video_mask_path", + "Interpolation (turned off atm)": "Interpolación (apagado por el momento)", + "interpolate_key_frames": "interpolate_key_frames", + "interpolate_x_frames": "interpolate_x_frames", + "Resume animation:": "Reanudar animación:", + "resume_from_timestring": "resume_from_timestring", + "resume_timestring": "resume_timestring", + "Video output settings": "Ajustes video de salida", + "skip_video_for_run_all": "skip_video_for_run_all", + "fps": "fps", + "output_format": "output_format", + "PIL gif": "PIL gif", + "FFMPEG mp4": "FFMPEG mp4", + "ffmpeg_location": "ffmpeg_location", + "add_soundtrack": "add_soundtrack", + "soundtrack_path": "soundtrack_path", + "use_manual_settings": "use_manual_settings", + "render_steps": "render_steps", + "max_video_frames": "max_video_frames", + "path_name_modifier": "path_name_modifier", + "x0_pred": "x0_pred", + "x": "x", + "image_path": "image_path", + "mp4_path": "mp4_path", + "Click here after the generation to show the video": "Haz click aquí después de la generación para mostrar el video", + "NOTE: If the 'Generate' button doesn't work, go in Settings and click 'Restart Gradio and Refresh...'.": "NOTA: Si el botón 'Generar' no funciona, ve a los Ajustes y presiona 'Reinciar Gradio y Refrescar...'.", + "Save Settings": "Guardar Ajustes", + "Load Settings": "Cargar Ajustes", + "Path relative to the webui folder": "Ruta relativa al folder principal", + "Save Video Settings": "Guardar Ajustes de Video", + "Load Video Settings": "Cargar Ajustes de Video", + "Favorites": "Favoritos", + "Others": "Otros", + "Images directory": "Directorio de Imágenes", + "Dropdown": "Menú desplegable", + "First Page": "Primera Página", + "Prev Page": "Página Anterior", + "Page Index": "Índice de Página", + "Next Page": "Página Siguiente", + "End Page": "Última Página", + "delete next": "eliminar siguiente", + "Delete": "Eliminar", + "sort by": "ordenar por", + "path name": "nombre de ruta", + "date": "fecha", + "keyword": "palabra clave", + "Generate Info": "Generar Info", + "File Name": "Nombre de Archivo", + "Move to favorites": "Mover a favoritos", + "Renew Page": "Recargar Página", + "Number": "Número", + "set_index": "set_index", + "load_switch": "load_switch", + "turn_page_switch": "turn_page_switch", + "Checkbox": "Checkbox", "Apply settings": "Aplicar ajustes", "Saving images/grids": "Guardar imágenes/grids", "Always save all generated images": "Siempre guardar imágenes generadas", "File format for images": "Formato de archivo para imágenes", - "Images filename pattern": "Patrón nombre archivo imágenes", + "Images filename pattern": "Patrón en nombre archivo imágenes", "Add number to filename when saving": "Agregar número al nombre de archivo al guardar", "Always save all generated image grids": "Siempre guardar grids de imágenes generadas", "File format for grids": "Formato de archivo para grids", @@ -262,6 +490,8 @@ "Save text information about generation parameters as chunks to png files": "Guardar información de texto sobre parámetros de generación como fragmentos en archivos png", "Create a text file next to every image with generation parameters.": "Crear un archivo de texto junto a cada imagen con parámetros de generación.", "Save a copy of image before doing face restoration.": "Guardar una copia de la imagen antes de restaurar rostro.", + "Save a copy of image before applying highres fix.": "Guardar una copia de la imagen antes de aplicar highres fix.", + "Save a copy of image before applying color correction to img2img results": "Guarda una copia de la imagen antes de aplicar la corrección de color a los resultados de img2img", "Quality for saved jpeg images": "Calidad para imágenes jpeg guardadas", "If PNG image is larger than 4MB or any dimension is larger than 4000, downscale and save copy as JPG": "Si la imagen PNG es más grande de 4 MB o cualquier dimensión es más grande que 4000, reduce la escala y guarda la copia como JPG", "Use original name for output filename during batch process in extras tab": "Use el nombre original para el nombre del archivo de salida durante el batch process en la pestaña extras", @@ -291,23 +521,26 @@ "Upscaler for img2img": "Upscaler para img2img", "Upscale latent space image when doing hires. fix": "Upscale latent space al aplicar hires. fix", "Face restoration": "Restauración de rostro", - "CodeFormer weight parameter; 0 = maximum effect; 1 = minimum effect": "CodeFormer parámetro peso; 0 = máximo efecto; 1 = mínimo efecto", + "CodeFormer weight parameter; 0 = maximum effect; 1 = minimum effect": "Parámetro influencia CodeFormer; 0 = máximo efecto; 1 = mínimo efecto", "Move face restoration model from VRAM into RAM after processing": "Mover modelo de restauración de rostro del VRAM al RAM después de procesar", "System": "Sistema", "VRAM usage polls per second during generation. Set to 0 to disable.": "Sondeos de uso de VRAM por segundo durante la generación. Establecer en 0 para deshabilitar.", "Always print all generation info to standard output": "Imprime siempre toda la información de generación en la salida estándar", "Add a second progress bar to the console that shows progress for an entire job.": "Agrega una segunda barra de progreso a la consola que muestra el progreso de un trabajo completo.", "Training": "Entrenamiento", - "Move VAE and CLIP to RAM when training hypernetwork. Saves VRAM.": "Mover VAE y CLIP al RAM al entrenar un hypernetwork. Ahorra VRAM.", + "Move VAE and CLIP to RAM when training if possible. Saves VRAM.": "Mover VAE y CLIP al RAM al entrenar cuando sea posible. Ahorra VRAM.", "Filename word regex": "Filename word regex", "Filename join string": "Filename join string", "Number of repeats for a single input image per epoch; used only for displaying epoch number": "Número de repeticiones para una sola imagen de entrada por epoch; utilizado solo para mostrar el número epoch", "Save an csv containing the loss to log directory every N steps, 0 to disable": "Guarda un csv que contenga la pérdida en el directorio log cada N pasos, 0 para deshabilitar", + "Use cross attention optimizations while training": "Utiliza optimizaciones de atención cruzada durante el entrenamiento", "Stable Diffusion": "Stable Diffusion", "Checkpoints to cache in RAM": "Checkpoints al cache en RAM", + "SD VAE": "SD VAE", + "auto": "auto", "Hypernetwork strength": "Hypernetwork strength", + "Inpainting conditioning mask strength": "Fuerza de la máscara en acondicionamiento Inpainting", "Apply color correction to img2img results to match original colors.": "Aplica la corrección de color a los resultados de img2img para que coincidan con los colores originales.", - "Save a copy of image before applying color correction to img2img results": "Guarda una copia de la imagen antes de aplicar la corrección de color a los resultados de img2img", "With img2img, do exactly the amount of steps the slider specifies (normally you'd do less with less denoising).": "Con img2img, hace exactamente la cantidad de pasos que especifica el slider (normalmente haría menos con menos eliminación de ruido).", "Enable quantization in K samplers for sharper and cleaner results. This may change existing seeds. Requires restart to apply.": "Habilita la cuantificación en K samplers para obtener resultados más nítidos y limpios. Esto puede cambiar los seeds existentes. Requiere reiniciar para aplicar.", "Emphasis: use (text) to make model pay more attention to text and [text] to make it pay less attention": "Énfasis: utiliza (texto) para que el modelo preste más atención al texto y [texto] para que preste menos atención", @@ -324,7 +557,7 @@ "Interrogate: minimum description length (excluding artists, etc..)": "Interrogar: longitud mínima de la descripción (excluyendo artistas, etc.)", "Interrogate: maximum description length": "Interrogar: longitud máxima de la descripción", "CLIP: maximum number of lines in text file (0 = No limit)": "CLIP: número máximo de líneas en el archivo de texto (0 = Sin límite)", - "Interrogate: deepbooru score threshold": "Interrogar: deepbooru score threshold", + "Interrogate: deepbooru score threshold": "Interrogar: deepbooru umbral de puntuación", "Interrogate: deepbooru sort alphabetically": "Interrogar: deepbooru ordenar alfabéticamente", "use spaces for tags in deepbooru": "usar espacios para etiquetas en deepbooru", "escape (\\) brackets in deepbooru (so they are used as literal brackets and not for emphasis)": "corchetes de escape (\\) en deepbooru (por lo que se usan como corchetes literales y no para enfatizar)", @@ -337,13 +570,26 @@ "Add model hash to generation information": "Agregar hash de modelo a la información de generación", "Add model name to generation information": "Agregar nombre de modelo a la información de generación", "When reading generation parameters from text into UI (from PNG info or pasted text), do not change the selected model/checkpoint.": "Al leer los parámetros de generación del texto en la interfaz de usuario (desde PNG Info o texto pegado), no cambia el modelo/checkpoint seleccionado.", + "Send seed when sending prompt or image to other interface": "Enviar seed cuando se envíe el prompt o imagen a otra interfase", "Font for image grids that have text": "Tipografía para grids de imágenes que tienen texto", "Enable full page image viewer": "Habilitar visor de imágenes de página completa", "Show images zoomed in by default in full page image viewer": "Mostrar imágenes ampliadas de forma predeterminada en el visor de imágenes de página completa", "Show generation progress in window title.": "Muestra el progreso de la generación en el título de la ventana del navegador.", "Quicksettings list": "Lista de ajustes rápidos", "Localization (requires restart)": "Traducción (requiere reiniciar)", - "Sampler parameters": "Parámetros sampler", + "fr_FR": "fr_FR", + "tr_TR": "tr_TR", + "it_IT": "it_IT", + "de_DE": "de_DE", + "ru_RU": "ru_RU", + "ja_JP": "ja_JP", + "es_ES": "es_ES", + "ko_KR": "ko_KR", + "zh_TW": "zh_TW", + "zh_CN": "zh_CN", + "ar_AR": "ar_AR", + "pt_BR": "pt_BR", + "Sampler parameters": "Parámetros del sampler", "Hide samplers in user interface (requires restart)": "Ocultar samplers en interfaz de usuario (requiere reiniciar)", "eta (noise multiplier) for DDIM": "eta (noise multiplier) para DDIM", "eta (noise multiplier) for ancestral samplers": "eta (noise multiplier) para ancestral samplers", @@ -354,10 +600,35 @@ "sigma tmin": "sigma tmin", "sigma noise": "sigma noise", "Eta noise seed delta": "Eta noise seed delta", + "Images Browser": "Navegador de Imágenes", + "Preload images at startup": "Precargar imágenes al iniciar", + "Number of columns on the page": "Número de columnas en la página", + "Number of rows on the page": "Número de filas en la página", + "Minimum number of pages per load": "Número mínimo de páginas por carga", "Request browser notifications": "Solicitar notificaciones del navegador", "Download localization template": "Descargar plantilla de traducción", "Reload custom script bodies (No ui updates, No restart)": "Recargar custom script bodies (Sin actualizar UI, Sin reiniciar)", "Restart Gradio and Refresh components (Custom Scripts, ui.py, js and css only)": "Reiniciar Gradio y Refrescar componentes (Custom Scripts, ui.py, js y css)", + "Installed": "Instaladas", + "Available": "Disponibles", + "Install from URL": "Instalar desde URL", + "Apply and restart UI": "Aplicar y reiniciar UI", + "Check for updates": "Buscar actualizaciones", + "Extension": "Extensión", + "URL": "URL", + "Update": "Actualizar", + "deforum-for-automatic1111-webui": "deforum-for-automatic1111-webui", + "https://github.com/deforum-art/deforum-for-automatic1111-webui": "https://github.com/deforum-art/deforum-for-automatic1111-webui", + "unknown": "desconocido", + "stable-diffusion-webui-images-browser": "stable-diffusion-webui-images-browser", + "https://github.com/yfszzx/stable-diffusion-webui-images-browser": "https://github.com/yfszzx/stable-diffusion-webui-images-browser", + "Load from:": "Cargar desde:", + "Extension index URL": "URL índice de extensiones", + "URL for extension's git repository": "URL repositorio git de extensión", + "Local directory name": "Nombre directorio local", + "Install": "Instalar", + "Ver": "Ver", + "Entrenar un embedding o Hypernetwork; debes especificar un directorio con un conjunto de imágenes con una proporción de 1:1": "Entrenar un embedding o Hypernetwork; debes especificar un directorio con un conjunto de imágenes con una proporción de 1:1", "Prompt (press Ctrl+Enter or Alt+Enter to generate)": "Prompt (presiona Ctrl+Enter o Alt+Enter para generar)", "Negative prompt (press Ctrl+Enter or Alt+Enter to generate)": "Prompt negativo (presiona Ctrl+Enter o Alt+Enter para generar)", "Add a random artist to the prompt.": "Agregar un artista aleatorio al prompt.", @@ -387,16 +658,16 @@ "Separate values for Y axis using commas.": "Separar valores para Y usando comas.", "Write image to a directory (default - log/images) and generation parameters into csv file.": "Escribe la imagen en un directorio (predeterminado: log/images) y los parámetros de generación en el archivo csv.", "Open images output directory": "Abrir directorio de imágenes", - "How much to blur the mask before processing, in pixels.": "Cuánto blur al mask antes de procesar, en píxeles.", - "What to put inside the masked area before processing it with Stable Diffusion.": "Qué poner dentro del área con mask antes de procesarlo con Stable Diffusion.", + "How much to blur the mask before processing, in pixels.": "Cuánto difuminado a la máscara antes de procesarla, en píxeles.", + "What to put inside the masked area before processing it with Stable Diffusion.": "Qué poner dentro del área enmascarada antes de procesarla con Stable Diffusion.", "fill it with colors of the image": "rellenarlo con los colores de la imagen", "keep whatever was there originally": "mantener lo que estaba allí originalmente", "fill it with latent space noise": "rellenarlo con latent space noise", "fill it with latent space zeroes": "rellenarlo con latent space zeroes", - "Upscale masked region to target resolution, do inpainting, downscale back and paste into original image": "Upscale la región con mask a la resolución objetivo, vuelve a pintar, reduce la escala hacia atrás y pégala en la imagen original", - "Resize image to target resolution. Unless height and width match, you will get incorrect aspect ratio.": "Cambia el tamaño de la imagen a la resolución destino. A menos que la altura y el ancho coincidan, obtendrás una relación de aspecto incorrecta.", + "Upscale masked region to target resolution, do inpainting, downscale back and paste into original image": "Escalar la región con máscara a la resolución objetivo, vuelve a pintar, reduce la escala hacia atrás y pégala en la imagen original", + "Resize image to target resolution. Unless height and width match, you will get incorrect aspect ratio.": "Cambia el tamaño de la imagen a la resolución objetivo. A menos que la altura y el ancho coincidan, obtendrás una relación de aspecto incorrecta.", "Resize the image so that entirety of target resolution is filled with the image. Crop parts that stick out.": "Cambia el tamaño de la imagen para que la totalidad de la resolución destino se llene con la imagen. Recorta las partes que sobresalen.", - "Resize the image so that entirety of image is inside target resolution. Fill empty space with image's colors.": "Cambia el tamaño de la imagen para que la totalidad de la imagen esté dentro de la resolución de destino. Rellena el espacio vacío con los colores de la imagen.", + "Resize the image so that entirety of image is inside target resolution. Fill empty space with image's colors.": "Cambia el tamaño de la imagen para que la totalidad de la imagen esté dentro de la resolución objetivo. Rellena el espacio vacío con los colores de la imagen.", "How many times to repeat processing an image and using it as input for the next iteration": "Cuántas veces repetir el procesamiento de una imagen y usarla como entrada para la próxima iteración", "In loopback mode, on each loop the denoising strength is multiplied by this value. <1 means decreasing variety so your sequence will converge on a fixed picture. >1 means increasing variety so your sequence will become more and more chaotic.": "En modo loopback, en cada bucle, la fuerza de eliminación de ruido se multiplica por este valor. <1 significa variedad decreciente, por lo que su secuencia convergerá en una imagen fija. >1 significa aumentar la variedad, por lo que su secuencia se volverá cada vez más caótica.", "For SD upscale, how much overlap in pixels should there be between tiles. Tiles overlap so that when they are merged back into one picture, there is no clearly visible seam.": "Para SD upscale, cuánta superposición en píxeles debe haber entre mosaicos. Los mosaicos se superponen de modo que cuando se fusionan nuevamente en una imagen, no hay una unión claramente visible.", @@ -407,12 +678,15 @@ "1st and last digit must be 1. ex:'1, 2, 1'": "Primer y último dígito debe ser 1. ej:'1, 2, 1'", "Path to directory with input images": "Ruta al directorio con imágenes de entrada", "Path to directory where to write outputs": "Ruta al directorio donde escribir salidas", + "Input images directory": "Directorio de imágenes de entrada", "Use following tags to define how filenames for images are chosen: [steps], [cfg], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [prompt_words], [date], [datetime], [datetime], [datetime