- /admin/users: list with search, role filter and cursor pages; create with a one-time temporary password; rename, change role, block; reset password; delete - every change is checked against the role policy, a forbidden field rejects the whole patch; the last active admin is locked in the transaction and cannot be demoted, blocked or deleted - role change and blocking revoke access tokens at once; blocking and password reset also end all sessions - /admin/audit: newest-first journal with actor names - path and query parameter errors are problem+json now Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
47 lines
3.4 KiB
JSON
47 lines
3.4 KiB
JSON
{
|
|
"common": {
|
|
"internal": "Что-то пошло не так на сервере. Попробуйте ещё раз",
|
|
"bad_request": "Некорректный запрос",
|
|
"not_found": "Не найдено",
|
|
"method_not_allowed": "Действие не поддерживается"
|
|
},
|
|
"auth": {
|
|
"invalid_credentials": "Неверный логин или пароль",
|
|
"too_many_attempts": "Слишком много попыток входа. Подождите немного",
|
|
"user_blocked": "Учётная запись заблокирована. Обратитесь к администратору",
|
|
"unauthorized": "Войдите, чтобы продолжить",
|
|
"token_expired": "Сессия истекла, войдите снова",
|
|
"token_invalid": "Сессия недействительна, войдите снова",
|
|
"token_revoked": "Сессия завершена, войдите снова",
|
|
"refresh_invalid": "Сессия завершена, войдите снова",
|
|
"refresh_reused": "Сессия завершена из соображений безопасности, войдите снова",
|
|
"refresh_race": "Сессия обновляется, повторите действие",
|
|
"credentials_change_required": "Сначала смените логин и пароль администратора",
|
|
"password_change_required": "Сначала смените временный пароль",
|
|
"current_password_required": "Введите текущий пароль",
|
|
"current_password_invalid": "Текущий пароль указан неверно",
|
|
"bootstrap_not_required": "Учётные данные администратора уже изменены",
|
|
"session_not_found": "Сессия не найдена",
|
|
"forbidden": "Недостаточно прав для этого действия"
|
|
},
|
|
"validation": {
|
|
"password_too_short": "Пароль должен быть не короче {{min}} символов",
|
|
"password_too_long": "Пароль должен быть не длиннее {{max}} символов",
|
|
"password_same_as_username": "Пароль не должен совпадать с логином",
|
|
"password_too_common": "Этот пароль слишком распространён — придумайте другой",
|
|
"password_unchanged": "Новый пароль должен отличаться от текущего",
|
|
"username_invalid": "Логин: от {{min}} до {{max}} символов — латинские буквы, цифры, «.», «_», «-»",
|
|
"username_taken": "Этот логин уже занят",
|
|
"locale_unsupported": "Этот язык не поддерживается",
|
|
"display_name_too_long": "Имя должно быть не длиннее {{max}} символов",
|
|
"ui_prefs_invalid": "Недопустимое значение настройки",
|
|
"client_type_invalid": "Неизвестный тип приложения",
|
|
"role_invalid": "Неизвестная роль",
|
|
"cursor_invalid": "Список устарел, обновите страницу"
|
|
},
|
|
"users": {
|
|
"not_found": "Пользователь не найден",
|
|
"last_admin": "Нельзя понизить, заблокировать или удалить последнего администратора"
|
|
}
|
|
}
|