86 lines
4.0 KiB
Python
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) |