From 6e2defe3b6e1acca6b0f6f334b7611fa96005ee7 Mon Sep 17 00:00:00 2001 From: kromskii2 <146603192+kromskii2@users.noreply.github.com> Date: Fri, 14 Mar 2025 19:56:00 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4=D1=8B?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D0=BC=D0=BF=D1=82=D0=BE=D0=B2=20=D0=B8=20?= =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=20=D1=80=D0=B0=D0=B7?= =?UTF-8?q?=D0=BC=D0=B5=D1=80=20=D0=BE=D0=BA=D0=BD=D0=B0=20=D0=BD=D0=B5?= =?UTF-8?q?=D0=B3=D0=B0=D1=82=D0=B8=D0=B2=D0=BD=D1=8B=D1=85=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=BC=D0=BF=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/negative_prompt_window.py | 4 +- modules/prompt_translations.py | 316 ++++++++++++++++++++++++++++++ modules/prompt_window.py | 5 +- 3 files changed, 322 insertions(+), 3 deletions(-) create mode 100644 modules/prompt_translations.py diff --git a/modules/negative_prompt_window.py b/modules/negative_prompt_window.py index 38f8fdc..90cbdac 100644 --- a/modules/negative_prompt_window.py +++ b/modules/negative_prompt_window.py @@ -18,8 +18,8 @@ class NegativePromptWindow(QDialog): self.setStyleSheet(""" QDialog { background-color: #2b2b2b; - min-width: 1500px; - min-height: 700px; + min-width: 1700px; + min-height: 800px; } QScrollArea { background-color: #1e1e1e; diff --git a/modules/prompt_translations.py b/modules/prompt_translations.py new file mode 100644 index 0000000..1c881e1 --- /dev/null +++ b/modules/prompt_translations.py @@ -0,0 +1,316 @@ +PROMPT_TRANSLATIONS = { + # Персонажи + "Девушка": "girl", + "Парень": "boy", + "Мужчина": "man", + "Женщина": "woman", + "Ребенок": "child", + "Малыш": "baby", + "Пожилой человек": "elderly person", + "Старик": "old man", + "Старушка": "old woman", + + # Профессии + "Художник": "artist", + "Музыкант": "musician", + "Писатель": "writer", + "Учитель": "teacher", + "Врач": "doctor", + "Инженер": "engineer", + "Программист": "programmer", + "Повар": "chef", + "Полицейский": "police officer", + "Пожарный": "firefighter", + + # Животные + "Кошка": "cat", + "Собака": "dog", + "Птица": "bird", + "Рыба": "fish", + "Лошадь": "horse", + "Корова": "cow", + "Овца": "sheep", + "Коза": "goat", + "Кролик": "rabbit", + "Хомяк": "hamster", + + # Природа + "Гора": "mountain", + "Море": "sea", + "Океан": "ocean", + "Река": "river", + "Лес": "forest", + "Поле": "field", + "Цветок": "flower", + "Дерево": "tree", + "Трава": "grass", + "Песок": "sand", + + # Погода + "Солнце": "sun", + "Дождь": "rain", + "Снег": "snow", + "Ветер": "wind", + "Туман": "fog", + "Облако": "cloud", + "Гроза": "thunderstorm", + "Радуга": "rainbow", + "Мороз": "frost", + "Иней": "hoarfrost", + + # Время суток + "Утро": "morning", + "День": "day", + "Вечер": "evening", + "Ночь": "night", + "Рассвет": "dawn", + "Закат": "sunset", + "Полдень": "noon", + "Полночь": "midnight", + + # Сезоны + "Весна": "spring", + "Лето": "summer", + "Осень": "autumn", + "Зима": "winter", + + # Эмоции + "Счастье": "happiness", + "Грусть": "sadness", + "Гнев": "anger", + "Страх": "fear", + "Удивление": "surprise", + "Отвращение": "disgust", + "Любовь": "love", + "Ненависть": "hate", + "Спокойствие": "calmness", + "Волнение": "excitement", + + # Действия + "Бег": "running", + "Ходьба": "walking", + "Прыжок": "jumping", + "Плавание": "swimming", + "Танцы": "dancing", + "Пение": "singing", + "Игра": "playing", + "Работа": "working", + "Отдых": "resting", + "Сон": "sleeping", + + # Одежда + "Платье": "dress", + "Рубашка": "shirt", + "Брюки": "pants", + "Юбка": "skirt", + "Куртка": "jacket", + "Пальто": "coat", + "Шапка": "hat", + "Обувь": "shoes", + "Перчатки": "gloves", + "Шарф": "scarf", + + # Цвета + "Красный": "red", + "Синий": "blue", + "Зеленый": "green", + "Желтый": "yellow", + "Белый": "white", + "Черный": "black", + "Серый": "gray", + "Коричневый": "brown", + "Оранжевый": "orange", + "Фиолетовый": "purple", + + # Материалы + "Дерево": "wood", + "Металл": "metal", + "Стекло": "glass", + "Пластик": "plastic", + "Ткань": "fabric", + "Бумага": "paper", + "Камень": "stone", + "Керамика": "ceramics", + "Кожа": "leather", + "Резина": "rubber", + + # Технологии + "Компьютер": "computer", + "Телефон": "phone", + "Планшет": "tablet", + "Робот": "robot", + "Дрон": "drone", + "Смартфон": "smartphone", + "Ноутбук": "laptop", + "Принтер": "printer", + "Камера": "camera", + "Наушники": "headphones", + + # Транспорт + "Машина": "car", + "Велосипед": "bicycle", + "Мотоцикл": "motorcycle", + "Поезд": "train", + "Самолет": "airplane", + "Корабль": "ship", + "Автобус": "bus", + "Трамвай": "tram", + "Метро": "subway", + "Вертолет": "helicopter", + + # Еда + "Фрукты": "fruits", + "Овощи": "vegetables", + "Мясо": "meat", + "Рыба": "fish", + "Хлеб": "bread", + "Молоко": "milk", + "Сок": "juice", + "Кофе": "coffee", + "Чай": "tea", + "Сладости": "sweets", + + # Дом + "Дом": "house", + "Квартира": "apartment", + "Комната": "room", + "Кухня": "kitchen", + "Спальня": "bedroom", + "Ванная": "bathroom", + "Гостиная": "living room", + "Балкон": "balcony", + "Подвал": "basement", + "Чердак": "attic", + + # Музыка + "Гитара": "guitar", + "Пианино": "piano", + "Скрипка": "violin", + "Барабаны": "drums", + "Флейта": "flute", + "Саксофон": "saxophone", + "Труба": "trumpet", + "Бас": "bass", + "Синтезатор": "synthesizer", + "Микрофон": "microphone", + + # Спорт + "Футбол": "football", + "Баскетбол": "basketball", + "Волейбол": "volleyball", + "Теннис": "tennis", + "Хоккей": "hockey", + "Бег": "running", + "Плавание": "swimming", + "Бокс": "boxing", + "Йога": "yoga", + "Гимнастика": "gymnastics", + + # Искусство + "Картина": "painting", + "Рисунок": "drawing", + "Скульптура": "sculpture", + "Фотография": "photography", + "Кино": "movie", + "Театр": "theater", + "Музыка": "music", + "Танец": "dance", + "Поэзия": "poetry", + "Литература": "literature", + + # Наука + "Физика": "physics", + "Химия": "chemistry", + "Биология": "biology", + "Математика": "mathematics", + "Астрономия": "astronomy", + "Геология": "geology", + "Экология": "ecology", + "Психология": "psychology", + "История": "history", + "География": "geography", + + # Время + "Секунда": "second", + "Минута": "minute", + "Час": "hour", + "День": "day", + "Неделя": "week", + "Месяц": "month", + "Год": "year", + "Век": "century", + "Эпоха": "era", + "Период": "period", + + # География + "Страна": "country", + "Город": "city", + "Деревня": "village", + "Река": "river", + "Озеро": "lake", + "Море": "sea", + "Океан": "ocean", + "Гора": "mountain", + "Пустыня": "desert", + "Джунгли": "jungle", + + # Космос + "Солнце": "sun", + "Луна": "moon", + "Звезда": "star", + "Планета": "planet", + "Галактика": "galaxy", + "Вселенная": "universe", + "Астероид": "asteroid", + "Комета": "comet", + "Спутник": "satellite", + "Космический корабль": "spaceship", + + # Фэнтези + "Дракон": "dragon", + "Единорог": "unicorn", + "Фея": "fairy", + "Волшебник": "wizard", + "Ведьма": "witch", + "Гоблин": "goblin", + "Эльф": "elf", + "Гном": "dwarf", + "Орк": "orc", + "Тролль": "troll", + + # Мифология + "Бог": "god", + "Богиня": "goddess", + "Герой": "hero", + "Миф": "myth", + "Легенда": "legend", + "Демон": "demon", + "Ангел": "angel", + "Призрак": "ghost", + "Вампир": "vampire", + "Оборотень": "werewolf", + + # Стили искусства + "Реализм": "realism", + "Импрессионизм": "impressionism", + "Экспрессионизм": "expressionism", + "Сюрреализм": "surrealism", + "Абстракционизм": "abstract art", + "Поп-арт": "pop art", + "Модернизм": "modernism", + "Постмодернизм": "postmodernism", + "Кубизм": "cubism", + "Футуризм": "futurism", + + # Эпохи + "Древний мир": "ancient world", + "Средневековье": "middle ages", + "Ренессанс": "renaissance", + "Барокко": "baroque", + "Классицизм": "classicism", + "Романтизм": "romanticism", + "Викторианская эпоха": "victorian era", + "Модерн": "art nouveau", + "Ар-деко": "art deco", + "Современность": "modern era" +} \ No newline at end of file diff --git a/modules/prompt_window.py b/modules/prompt_window.py index 02ac453..2d5ae4a 100644 --- a/modules/prompt_window.py +++ b/modules/prompt_window.py @@ -3,6 +3,7 @@ from PyQt6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QTreeWidget, QScrollArea, QWidget, QCheckBox, QFrame) from PyQt6.QtCore import Qt, pyqtSignal from .prompt_categories import PROMPT_CATEGORIES +from .prompt_translations import PROMPT_TRANSLATIONS class PromptWindow(QDialog): prompt_selected = pyqtSignal(str) @@ -195,5 +196,7 @@ class PromptWindow(QDialog): def add_selected(self): """Добавление выбранных промптов""" if self.selected_prompts: - prompts_text = ", ".join(sorted(self.selected_prompts)) + # Преобразуем русские названия в английские + translated_prompts = [PROMPT_TRANSLATIONS.get(prompt, prompt) for prompt in self.selected_prompts] + prompts_text = ", ".join(sorted(translated_prompts)) self.prompt_selected.emit(prompts_text) \ No newline at end of file