vojo/public/locales/ru.json
heaven 303d3c74c1 feat(auth): rebrand auth pages to Vojo with mascot, glassmorphism, and i18n
Rework the entire authentication UI to match the Vojo brand:

- Add mascot video with purple gradient halo behind the auth form
- Glassmorphism card (backdrop-blur, semi-transparent bg) with JS-driven
  layout ported from element-web (ResizeObserver + requestAnimationFrame)
- Custom folds theme overrides via color token references (not hardcoded
  CSS variable hashes) for transparent inputs and white primary button
- Server edit modal dialog replacing browser prompt, with proper
  role="dialog", aria-modal, and Escape key support
- Footer: "Powered by Matrix · Hosted on Yandex Cloud"

Localization:
- Add ru.json, update en.json and de.json with all auth page keys
- Wire up react-i18next t() across all auth components
- Set fallbackLng to 'ru' while preserving LanguageDetector for en/de

Cleanup:
- Remove SSO login flow (SSOLogin, getSSOFlow, SSO rendering)
- Remove token login flow (TokenLogin.tsx, getTokenFlow, loginToken param)
- Strip unused imports (useState, usePathWithOrigin, useClientConfig)
- Fix ESLint: nested ternary → if-return, consistent-return, a11y

Config: vojo.chat as default and only homeserver.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 00:27:34 +03:00

55 lines
3.8 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"Organisms": {
"RoomCommon": {
"changed_room_name": " изменил(а) название комнаты"
}
},
"Auth": {
"title_login": "Войти",
"title_register": "Регистрация",
"title_reset_password": "Сброс пароля",
"homeserver": "Домашний сервер",
"homeserver_edit": "Редактировать",
"homeserver_dialog_title": "Домашний сервер",
"homeserver_dialog_desc": "Укажите адрес домашнего сервера Matrix, к которому хотите подключиться.",
"homeserver_dialog_placeholder": "example.com",
"homeserver_dialog_cancel": "Отмена",
"homeserver_dialog_confirm": "Продолжить",
"username_placeholder": "Имя пользователя",
"password_placeholder": "Пароль",
"forgot_password": "Забыли пароль?",
"login_button": "Войти",
"new_here": "Впервые здесь?",
"create_account": "Создать учётную запись",
"already_have_account": "Уже есть аккаунт?",
"remember_password": "Вспомнили пароль?",
"loading_server": "Поиск сервера...",
"loading_connecting": "Подключение к {{url}}...",
"loading_auth_flows": "Загрузка...",
"error_server_not_found": "Не удалось найти сервер.",
"error_server_config_invalid": "Не удалось подключиться. Конфигурация сервера {{host}} некорректна.",
"error_server_base_url_invalid": "Не удалось подключиться. Неверный base_url сервера.",
"error_server_unavailable": "Не удалось подключиться к серверу.",
"error_auth_flows": "Не удалось загрузить потоки авторизации.",
"error_client_unsupported": "Этот клиент не поддерживает авторизацию на сервере \"{{server}}\".",
"error_custom_server_not_allowed": "Вход с пользовательским сервером не разрешён.",
"error_matrix_id_server": "Не удалось найти сервер Matrix ID.",
"error_invalid_credentials": "Неверное имя пользователя или пароль.",
"error_account_deactivated": "Эта учётная запись была деактивирована.",
"error_invalid_request": "Не удалось войти. Часть данных запроса некорректна.",
"error_rate_limited": "Слишком много попыток. Попробуйте позже.",
"error_unknown": "Не удалось войти. Неизвестная ошибка.",
"register_disabled": "Регистрация отключена на этом сервере.",
"register_rate_limited": "Слишком много попыток. Попробуйте позже.",
"register_invalid_request": "Неверный запрос. Не удалось получить параметры регистрации.",
"register_unsupported": "Это приложение не поддерживает регистрацию на данном сервере.",
"reset_description": "Сервер <strong>{{server}}</strong> отправит вам письмо для сброса пароля.",
"reset_email_label": "Email",
"reset_new_password": "Новый пароль",
"reset_confirm_password": "Подтвердите пароль",
"reset_button": "Сбросить пароль",
"reset_error_fallback": "Не удалось сбросить пароль.",
"reset_success_message": "Пароль успешно сброшен. Войдите с новым паролем.",
"reset_success_login": "Войти"
}
}