Enhance localization support by integrating i18next for translations across various components and pages. Update UI elements to utilize translated strings for improved user experience in both English and Russian. Additionally, refactor the Toaster component to support a context-based approach for toast notifications.
This commit is contained in:
190
locales/ru.json
190
locales/ru.json
@@ -1,3 +1,191 @@
|
||||
{
|
||||
"challenge.title": "Challenge"
|
||||
"challenge.admin.common.success": "Успешно",
|
||||
"challenge.admin.common.error": "Ошибка",
|
||||
"challenge.admin.common.cancel": "Отмена",
|
||||
"challenge.admin.common.loading.tasks": "Загрузка заданий...",
|
||||
"challenge.admin.common.not.found": "Ничего не найдено",
|
||||
"challenge.admin.common.validation.error": "Ошибка валидации",
|
||||
"challenge.admin.tasks.updated": "Задание обновлено",
|
||||
"challenge.admin.tasks.created": "Задание создано",
|
||||
"challenge.admin.tasks.validation.fill.required.fields": "Заполните обязательные поля",
|
||||
"challenge.admin.tasks.save.error": "Не удалось сохранить задание",
|
||||
"challenge.admin.tasks.loading": "Загрузка задания...",
|
||||
"challenge.admin.tasks.load.error": "Не удалось загрузить задание",
|
||||
"challenge.admin.tasks.edit.title": "Редактировать задание",
|
||||
"challenge.admin.tasks.create.title": "Создать задание",
|
||||
"challenge.admin.tasks.field.title": "Название задания",
|
||||
"challenge.admin.tasks.field.title.placeholder": "Введите название задания",
|
||||
"challenge.admin.tasks.field.title.helper": "Максимум 255 символов",
|
||||
"challenge.admin.tasks.field.description": "Описание (Markdown)",
|
||||
"challenge.admin.tasks.field.description.placeholder": "# Заголовок задания\n\nОписание задания в формате Markdown...",
|
||||
"challenge.admin.tasks.field.description.helper": "Используйте Markdown для форматирования текста",
|
||||
"challenge.admin.tasks.tab.editor": "Редактор",
|
||||
"challenge.admin.tasks.tab.preview": "Превью",
|
||||
"challenge.admin.tasks.preview.empty": "Предпросмотр появится здесь...",
|
||||
"challenge.admin.tasks.field.hidden.instructions": "🔒 Скрытые инструкции для LLM",
|
||||
"challenge.admin.tasks.field.hidden.instructions.description": "Эти инструкции будут переданы LLM при проверке решений студентов. Студенты их не увидят.",
|
||||
"challenge.admin.tasks.field.hidden.instructions.placeholder": "Например: Проверь, что сложность алгоритма O(n log n). Код должен обрабатывать edge cases...",
|
||||
"challenge.admin.tasks.field.hidden.instructions.helper": "Опционально. Используйте для тонкой настройки проверки LLM.",
|
||||
"challenge.admin.tasks.meta.created": "Создано:",
|
||||
"challenge.admin.tasks.meta.author": "Автор:",
|
||||
"challenge.admin.tasks.meta.updated": "Обновлено:",
|
||||
"challenge.admin.tasks.button.save": "Сохранить изменения",
|
||||
"challenge.admin.tasks.button.create": "Создать задание",
|
||||
"challenge.admin.tasks.list.title": "Задания",
|
||||
"challenge.admin.tasks.list.create.button": "+ Создать задание",
|
||||
"challenge.admin.tasks.list.search.placeholder": "Поиск по названию...",
|
||||
"challenge.admin.tasks.list.empty.title": "Нет заданий",
|
||||
"challenge.admin.tasks.list.empty.description": "Создайте первое задание для начала работы",
|
||||
"challenge.admin.tasks.list.empty.action": "Создать задание",
|
||||
"challenge.admin.tasks.list.search.empty": "По запросу \"{query}\" ничего не найдено",
|
||||
"challenge.admin.tasks.list.table.title": "Название",
|
||||
"challenge.admin.tasks.list.table.creator": "Создатель",
|
||||
"challenge.admin.tasks.list.table.created": "Дата создания",
|
||||
"challenge.admin.tasks.list.table.hidden.instructions": "Скрытые инструкции",
|
||||
"challenge.admin.tasks.list.table.actions": "Действия",
|
||||
"challenge.admin.tasks.list.badge.has.instructions": "🔒 Есть",
|
||||
"challenge.admin.tasks.list.button.edit": "Редактировать",
|
||||
"challenge.admin.tasks.list.button.delete": "Удалить",
|
||||
"challenge.admin.tasks.deleted": "Задание удалено",
|
||||
"challenge.admin.tasks.delete.error": "Не удалось удалить задание",
|
||||
"challenge.admin.tasks.list.loading": "Загрузка заданий...",
|
||||
"challenge.admin.tasks.list.load.error": "Не удалось загрузить список заданий",
|
||||
"challenge.admin.tasks.delete.confirm.title": "Удалить задание",
|
||||
"challenge.admin.tasks.delete.confirm.message": "Вы уверены, что хотите удалить задание \"{title}\"? Это действие нельзя отменить.",
|
||||
"challenge.admin.tasks.delete.confirm.button": "Удалить",
|
||||
"challenge.admin.chains.updated": "Цепочка обновлена",
|
||||
"challenge.admin.chains.created": "Цепочка создана",
|
||||
"challenge.admin.chains.validation.enter.name": "Введите название цепочки",
|
||||
"challenge.admin.chains.validation.add.task": "Добавьте хотя бы одно задание",
|
||||
"challenge.admin.chains.save.error": "Не удалось сохранить цепочку",
|
||||
"challenge.admin.chains.loading": "Загрузка цепочки...",
|
||||
"challenge.admin.chains.load.error": "Не удалось загрузить цепочку",
|
||||
"challenge.admin.chains.tasks.load.error": "Не удалось загрузить список заданий",
|
||||
"challenge.admin.chains.edit.title": "Редактировать цепочку",
|
||||
"challenge.admin.chains.create.title": "Создать цепочку",
|
||||
"challenge.admin.chains.field.name": "Название цепочки",
|
||||
"challenge.admin.chains.field.name.placeholder": "Введите название цепочки",
|
||||
"challenge.admin.chains.selected.tasks": "Задания в цепочке",
|
||||
"challenge.admin.chains.selected.tasks.empty": "Добавьте задания из списка ниже",
|
||||
"challenge.admin.chains.available.tasks": "Доступные задания",
|
||||
"challenge.admin.chains.search.placeholder": "Поиск заданий...",
|
||||
"challenge.admin.chains.all.tasks.added": "Все задания уже добавлены",
|
||||
"challenge.admin.chains.button.add": "+ Добавить",
|
||||
"challenge.admin.chains.button.save": "Сохранить изменения",
|
||||
"challenge.admin.chains.button.create": "Создать цепочку",
|
||||
"challenge.admin.chains.list.title": "Цепочки заданий",
|
||||
"challenge.admin.chains.list.create.button": "+ Создать цепочку",
|
||||
"challenge.admin.chains.list.search.placeholder": "Поиск по названию...",
|
||||
"challenge.admin.chains.list.empty.title": "Нет цепочек",
|
||||
"challenge.admin.chains.list.empty.description": "Создайте первую цепочку заданий",
|
||||
"challenge.admin.chains.list.empty.action": "Создать цепочку",
|
||||
"challenge.admin.chains.list.search.empty": "По запросу \"{query}\" ничего не найдено",
|
||||
"challenge.admin.chains.list.table.name": "Название",
|
||||
"challenge.admin.chains.list.table.tasks.count": "Количество заданий",
|
||||
"challenge.admin.chains.list.table.created": "Дата создания",
|
||||
"challenge.admin.chains.list.table.actions": "Действия",
|
||||
"challenge.admin.chains.list.badge.tasks": "заданий",
|
||||
"challenge.admin.chains.list.button.edit": "Редактировать",
|
||||
"challenge.admin.chains.list.button.delete": "Удалить",
|
||||
"challenge.admin.chains.deleted": "Цепочка удалена",
|
||||
"challenge.admin.chains.delete.error": "Не удалось удалить цепочку",
|
||||
"challenge.admin.chains.list.loading": "Загрузка цепочек...",
|
||||
"challenge.admin.chains.list.load.error": "Не удалось загрузить список цепочек",
|
||||
"challenge.admin.chains.delete.confirm.title": "Удалить цепочку",
|
||||
"challenge.admin.chains.delete.confirm.message": "Вы уверены, что хотите удалить цепочку \"{name}\"? Это действие нельзя отменить.",
|
||||
"challenge.admin.chains.delete.confirm.button": "Удалить",
|
||||
"challenge.admin.dashboard.title": "Dashboard",
|
||||
"challenge.admin.dashboard.loading": "Загрузка статистики...",
|
||||
"challenge.admin.dashboard.load.error": "Не удалось загрузить статистику системы",
|
||||
"challenge.admin.dashboard.stats.users": "Всего пользователей",
|
||||
"challenge.admin.dashboard.stats.tasks": "Всего заданий",
|
||||
"challenge.admin.dashboard.stats.chains": "Всего цепочек",
|
||||
"challenge.admin.dashboard.stats.submissions": "Всего проверок",
|
||||
"challenge.admin.dashboard.submissions.title": "Статистика проверок",
|
||||
"challenge.admin.dashboard.submissions.accepted": "Принято",
|
||||
"challenge.admin.dashboard.submissions.rejected": "Отклонено",
|
||||
"challenge.admin.dashboard.submissions.pending": "Ожидают",
|
||||
"challenge.admin.dashboard.submissions.in.progress": "В процессе",
|
||||
"challenge.admin.dashboard.queue.title": "Статус очереди",
|
||||
"challenge.admin.dashboard.queue.processing": "В обработке",
|
||||
"challenge.admin.dashboard.queue.waiting": "Ожидают в очереди",
|
||||
"challenge.admin.dashboard.queue.total": "Всего в очереди",
|
||||
"challenge.admin.dashboard.queue.utilization": "Загруженность очереди:",
|
||||
"challenge.admin.dashboard.check.time.title": "Среднее время проверки",
|
||||
"challenge.admin.dashboard.check.time.value": "{{time}} сек",
|
||||
"challenge.admin.dashboard.check.time.description": "Время от отправки решения до получения результата",
|
||||
"challenge.admin.users.title": "Пользователи",
|
||||
"challenge.admin.users.loading": "Загрузка пользователей...",
|
||||
"challenge.admin.users.load.error": "Не удалось загрузить список пользователей",
|
||||
"challenge.admin.users.search.placeholder": "Поиск по nickname...",
|
||||
"challenge.admin.users.empty.title": "Нет пользователей",
|
||||
"challenge.admin.users.empty.description": "Пользователи появятся после регистрации",
|
||||
"challenge.admin.users.search.empty": "По запросу \"{query}\" ничего не найдено",
|
||||
"challenge.admin.users.table.nickname": "Nickname",
|
||||
"challenge.admin.users.table.id": "ID",
|
||||
"challenge.admin.users.table.registered": "Дата регистрации",
|
||||
"challenge.admin.users.table.actions": "Действия",
|
||||
"challenge.admin.users.button.stats": "Статистика",
|
||||
"challenge.admin.users.stats.title": "Статистика пользователя",
|
||||
"challenge.admin.users.stats.loading": "Загрузка статистики...",
|
||||
"challenge.admin.users.stats.no.data": "Нет данных",
|
||||
"challenge.admin.users.stats.completed": "Выполнено",
|
||||
"challenge.admin.users.stats.total.submissions": "Всего попыток",
|
||||
"challenge.admin.users.stats.in.progress": "В процессе",
|
||||
"challenge.admin.users.stats.needs.revision": "Требует доработки",
|
||||
"challenge.admin.users.stats.chains.progress": "Прогресс по цепочкам",
|
||||
"challenge.admin.users.stats.tasks": "Задания",
|
||||
"challenge.admin.users.stats.status.completed": "Завершено",
|
||||
"challenge.admin.users.stats.status.needs_revision": "Доработка",
|
||||
"challenge.admin.users.stats.status.in_progress": "В процессе",
|
||||
"challenge.admin.users.stats.status.not_started": "Не начато",
|
||||
"challenge.admin.users.stats.attempts": "Попыток:",
|
||||
"challenge.admin.users.stats.avg.check.time": "Среднее время проверки",
|
||||
"challenge.admin.users.stats.close": "Закрыть",
|
||||
"challenge.admin.submissions.title": "Попытки решений",
|
||||
"challenge.admin.submissions.loading": "Загрузка попыток...",
|
||||
"challenge.admin.submissions.load.error": "Не удалось загрузить список попыток",
|
||||
"challenge.admin.submissions.search.placeholder": "Поиск по пользователю или заданию...",
|
||||
"challenge.admin.submissions.filter.status": "Статус",
|
||||
"challenge.admin.submissions.status.all": "Все статусы",
|
||||
"challenge.admin.submissions.status.accepted": "Принято",
|
||||
"challenge.admin.submissions.status.needs_revision": "Доработка",
|
||||
"challenge.admin.submissions.status.in_progress": "Проверяется",
|
||||
"challenge.admin.submissions.status.pending": "Ожидает",
|
||||
"challenge.admin.submissions.empty.title": "Нет попыток",
|
||||
"challenge.admin.submissions.empty.description": "Попытки появятся после отправки решений",
|
||||
"challenge.admin.submissions.search.empty.title": "Ничего не найдено",
|
||||
"challenge.admin.submissions.search.empty.description": "Попробуйте изменить фильтры",
|
||||
"challenge.admin.submissions.table.user": "Пользователь",
|
||||
"challenge.admin.submissions.table.task": "Задание",
|
||||
"challenge.admin.submissions.table.status": "Статус",
|
||||
"challenge.admin.submissions.table.attempt": "Попытка",
|
||||
"challenge.admin.submissions.table.submitted": "Дата отправки",
|
||||
"challenge.admin.submissions.table.check.time": "Время проверки",
|
||||
"challenge.admin.submissions.table.actions": "Действия",
|
||||
"challenge.admin.submissions.button.details": "Детали",
|
||||
"challenge.admin.submissions.check.time": "{{time}} сек",
|
||||
"challenge.admin.submissions.details.title": "Детали попытки",
|
||||
"challenge.admin.submissions.details.user": "Пользователь",
|
||||
"challenge.admin.submissions.details.status": "Статус",
|
||||
"challenge.admin.submissions.details.submitted": "Отправлено:",
|
||||
"challenge.admin.submissions.details.checked": "Проверено:",
|
||||
"challenge.admin.submissions.details.check.time": "Время проверки:",
|
||||
"challenge.admin.submissions.details.task": "Задание:",
|
||||
"challenge.admin.submissions.details.solution": "Решение пользователя:",
|
||||
"challenge.admin.submissions.details.feedback": "Обратная связь от LLM:",
|
||||
"challenge.admin.submissions.details.close": "Закрыть",
|
||||
"challenge.admin.layout.title": "Challenge Admin",
|
||||
"challenge.admin.layout.nav.dashboard": "Dashboard",
|
||||
"challenge.admin.layout.nav.tasks": "Задания",
|
||||
"challenge.admin.layout.nav.chains": "Цепочки",
|
||||
"challenge.admin.layout.nav.users": "Пользователи",
|
||||
"challenge.admin.layout.nav.submissions": "Попытки",
|
||||
"challenge.admin.layout.button.player": "Открыть проигрыватель",
|
||||
"challenge.admin.layout.button.logout": "Выйти",
|
||||
"challenge.admin.common.loading.default": "Загрузка...",
|
||||
"challenge.admin.common.error.default": "Произошла ошибка при загрузке данных",
|
||||
"challenge.admin.common.retry": "Попробовать снова",
|
||||
"challenge.admin.common.confirm": "Подтвердить",
|
||||
"challenge.admin.common.close": "Закрыть"
|
||||
}
|
||||
Reference in New Issue
Block a user