Files
art/modules/data/prompt_translations.py
2025-03-15 09:36:28 +07:00

86 lines
4.0 KiB
Python

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)