from typing import Dict class PromptTranslations: """Класс для работы с переводами промптов""" @staticmethod def get_translations() -> Dict[str, str]: """Возвращает словарь с переводами промптов""" return { # Стили "digital art": "цифровое искусство", "oil painting": "масляная живопись", "watercolor": "акварель", "pencil sketch": "карандашный набросок", "anime style": "аниме стиль", "photorealistic": "фотореалистичный", # Освещение "soft lighting": "мягкое освещение", "dramatic lighting": "драматическое освещение", "cinematic lighting": "кинематографическое освещение", "natural light": "естественное освещение", "studio lighting": "студийное освещение", # Композиция "rule of thirds": "правило третей", "symmetrical": "симметричный", "centered composition": "центральная композиция", "dynamic pose": "динамичная поза", # Камера "close-up shot": "крупный план", "wide angle": "широкий угол", "bokeh": "боке", "depth of field": "глубина резкости", # Цвета "vibrant colors": "яркие цвета", "pastel colors": "пастельные цвета", "monochrome": "монохром", "high contrast": "высокий контраст", # Настроение "peaceful": "умиротворенный", "mysterious": "таинственный", "energetic": "энергичный", "melancholic": "меланхоличный", # Качество "highly detailed": "высокая детализация", "8k uhd": "8k uhd", "masterpiece": "шедевр", "best quality": "лучшее качество", # Негативные промпты "low quality": "низкое качество", "blurry": "размытый", "pixelated": "пикселизированный", "jpeg artifacts": "jpeg артефакты", "compression artifacts": "артефакты сжатия", "watermark": "водяной знак", "signature": "подпись", "text": "текст", "frame": "рамка", "duplicate": "дубликат", "bad composition": "плохая композиция", "unbalanced": "несбалансированный", "cropped": "обрезанный", "out of frame": "за пределами кадра", "bad anatomy": "плохая анатомия", "extra limbs": "лишние конечности", "missing limbs": "отсутствующие конечности", "deformed": "деформированный", "mutated": "мутированный", "3d render": "3d рендер", "cartoon": "мультяшный", "painting": "живопись", "sketch": "набросок", "anime": "аниме", } @staticmethod def translate(text: str) -> str: """Переводит промпт на русский язык""" translations = PromptTranslations.get_translations() return translations.get(text.lower(), text)