| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- ERROR_TRANSLATIONS = {
- "ru": {
- "missing": "Это поле обязательно для заполнения",
- "string_too_short": "Слишком коротко, минимум {min_length} символов",
- "value_error.email": "Некорректный email",
- "value_error.any_str.min_length": "Минимальная длина {limit_value} симв.",
- "type_error.integer": "Должно быть целым числом",
- "email_already_registered": "Email уже зарегистрирован",
- "incorrect_credentials": "Неверный email или пароль",
- "user_not_found": "Пользователь не найден",
- "invalid_token": "Недействительный токен",
- "flood_control": "Слишком много сообщений. Пожалуйста, подождите 10 секунд."
- },
- "me": {
- "missing": "Ovo polje je obavezno",
- "string_too_short": "Previše kratko, min {min_length} karaktera",
- "value_error.email": "Neispravan email",
- "value_error.any_str.min_length": "Minimalna dužina {limit_value} kar.",
- "type_error.integer": "Mora biti cijeli broj",
- "email_already_registered": "Email je već registrovan",
- "incorrect_credentials": "Neispravan email ili lozinka",
- "user_not_found": "Korisnik nije pronađen",
- "invalid_token": "Neispravan token",
- "flood_control": "Previše poruka. Molimo sačekajte 10 sekundi."
- },
- "ua": {
- "missing": "Це поле обов'язкове",
- "string_too_short": "Занадто коротко, мінімум {min_length} символів",
- "value_error.email": "Некоректний email",
- "value_error.any_str.min_length": "Мінімальна довжина {limit_value} симв.",
- "type_error.integer": "Має бути цілим числом",
- "email_already_registered": "Email вже зареєстрований",
- "incorrect_credentials": "Невірний email або пароль",
- "user_not_found": "Користувача не знайдено",
- "invalid_token": "Недійсний токен",
- "flood_control": "Занадто багато повідомлень. Будь ласка, зачекайте 10 секунд."
- },
- "en": {
- "missing": "Field is required",
- "string_too_short": "Too short, min {min_length} characters",
- "value_error.email": "Invalid email format",
- "email_already_registered": "Email already registered",
- "incorrect_credentials": "Incorrect email or password",
- "user_not_found": "User not found",
- "invalid_token": "Invalid or expired token",
- "flood_control": "Too many messages. Please wait 10 seconds."
- }
- }
- def translate_error(error_type: str, lang: str, **kwargs) -> str:
- lang = lang.lower() if lang else "en"
- if lang not in ERROR_TRANSLATIONS:
- lang = "en"
-
- translations = ERROR_TRANSLATIONS[lang]
- template = translations.get(error_type, translations.get(error_type.split('.')[-1], None))
-
- if not template:
- # Fallback to English if not found in current lang
- template = ERROR_TRANSLATIONS["en"].get(error_type, "Validation error")
-
- try:
- return template.format(**kwargs)
- except:
- return template
|