Files
openmaic/OpenMAIC/lib/i18n/locales/ru-RU.json
2026-08-16 14:58:47 +08:00

1826 lines
109 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.

{
"common": {
"you": "Вы",
"confirm": "Подтвердить",
"cancel": "Отмена",
"loading": "Загрузка..."
},
"home": {
"slogan": "Generative Learning in Multi-Agent Interactive Classroom"
},
"toolbar": {
"pdfParser": "Парсер",
"pdfUpload": "Загрузить PDF",
"removePdf": "Удалить файл",
"documentExtractor": "Экстрактор",
"courseMaterialUpload": "Загрузить материал курса",
"courseMaterialsSelected": "Выбрано материалов: {{n}}",
"courseMaterialMergeOrder": "Материалы объединяются в порядке, показанном ниже.",
"removeCourseMaterial": "Удалить файл",
"webSearchOn": "Включено",
"webSearchOff": "Нажмите для включения",
"webSearchDesc": "Поиск актуальной информации в интернете перед генерацией",
"webSearchProvider": "Поисковый движок",
"webSearchNoProvider": "Настройте API-ключ поиска в Настройках",
"selectProvider": "Выбрать провайдера",
"configureProvider": "Настроить модель",
"configureProviderHint": "Настройте хотя бы одного провайдера моделей для генерации курсов",
"enterClassroom": "Войти в класс",
"advancedSettings": "Расширенные настройки",
"thinking": "Рассуждение",
"thinkingBudget": "Бюджет",
"default": "По умолчанию",
"on": "Вкл",
"off": "Выкл",
"auto": "Авто",
"dynamic": "Динамически",
"ttsTitle": "Синтез речи",
"ttsHint": "Выберите голос для AI-учителя",
"ttsPreview": "Прослушать",
"ttsPreviewing": "Воспроизведение...",
"interactiveModeHint": "Включить интерактивный режим для более практического контента",
"interactiveModeLabel": "Интерактивный режим"
},
"export": {
"pptx": "Экспорт PPTX",
"resourcePack": "Экспорт ресурсного пакета",
"resourcePackDesc": "PPTX + интерактивные страницы",
"exporting": "Экспорт...",
"exportSuccess": "Экспорт успешен",
"exportFailed": "Ошибка экспорта",
"classroomZip": "Экспорт ZIP класса",
"classroomZipDesc": "Структура курса + медиафайлы",
"inlinePartial": "Не удалось упаковать {{count}} внешн. ресурс(ов); курс может отображаться некорректно офлайн.",
"video": "Экспорт видео",
"videoDesc": "Автономный проект Hyperframes (рендеринг в MP4)",
"videoNoScenes": "Нет сцен для экспорта.",
"videoCompiling": "Компиляция видеошкалы...",
"videoRendering": "Рендеринг слайдов и сбор ресурсов...",
"videoPackaging": "Упаковка видеопроекта...",
"videoSuccess": "Видеопроект экспортирован",
"videoFailed": "Ошибка экспорта видео",
"videoWarnings": "Отсутствует ресурсов: {{assets}}; проблем в отчёте об экспорте: {{diagnostics}}.",
"videoMp4Success": "Видео отрендерено",
"videoServiceUnavailable": "Сервис рендеринга не настроен — ZIP проекта загружен для локального рендеринга.",
"videoResolution": "Разрешение",
"videoFps": "Частота кадров",
"videoQuality": "Качество",
"videoQuality_draft": "Черновик",
"videoQuality_standard": "Стандарт",
"videoQuality_high": "Высокое",
"videoProgress": "{{percent}}%",
"videoProgressWithEta": "{{percent}}% · осталось ~{{remaining}}",
"videoEtaMinSec": "{{min}} мин {{sec}} с",
"videoEtaSec": "{{sec}} с",
"videoRenderMp4": "Рендерить MP4",
"videoDownloadZip": "Скачать ZIP проекта",
"videoServiceHint": "Для рендеринга MP4 нужен сервис рендеринга. Скачайте ZIP для локального рендеринга.",
"videoBurnSubtitles": "Встроить субтитры",
"videoBurnSubtitlesDesc": "Выключено: экспортируйте чистое видео и добавьте файл субтитров в своём редакторе.",
"videoQuizCtaPrompt": "Хотите пройти интерактивный тест?",
"videoPblCtaPrompt": "Хотите попробовать проектное обучение?",
"videoCtaVisit": "Посетите",
"videoDownloadSubtitles": "Скачать субтитры (.srt)",
"subtitlesCompiling": "Компиляция субтитров...",
"subtitlesSuccess": "Субтитры скачаны",
"subtitlesEmpty": "Нет закадрового текста для субтитров",
"subtitlesFailed": "Не удалось скачать субтитры",
"noSlides": "Нет слайдов для экспорта",
"noSlidesSkipped": "В этом курсе нет слайдов — PPTX пропущен",
"nothingToExport": "Нет данных для экспорта"
},
"import": {
"classroom": "Импорт класса",
"pptx": "Импорт PPTX",
"parsing": "Анализ ZIP...",
"parsingPptx": "Анализ PPTX...",
"validating": "Проверка данных...",
"writingMedia": "Запись медиафайлов...",
"writingCourse": "Запись данных курса...",
"success": "Класс успешно импортирован",
"pptxSuccess": "PPTX успешно проанализирован ({{count}} слайдов, вывод в консоли)",
"error": {
"invalidZip": "Недопустимый файл. Выберите корректный файл .maic.zip.",
"invalidPptx": "Не удалось проанализировать PPTX. Проверьте, что файл корректен.",
"parserUnavailable": "Импорт PPTX недоступен: парсер не развёрнут. Повторите установку/синхронизацию.",
"invalidManifest": "Недопустимый файл класса: manifest.json отсутствует или повреждён.",
"missingData": "Недопустимый файл класса: отсутствуют необходимые данные курса.",
"storageFull": "Импорт не удался: хранилище браузера заполнено. Удалите старые классы."
}
},
"chat": {
"lecture": "Лекция",
"noConversations": "Нет диалогов",
"startConversation": "Введите сообщение, чтобы начать диалог",
"noMessages": "Пока нет сообщений",
"ended": "завершено",
"unknown": "Неизвестно",
"stopDiscussion": "Завершить обсуждение",
"endQA": "Завершить вопросы и ответы",
"softClosing": "Продолжить обсуждение",
"error": {
"emptyAgentResponses": "Агенты вернули пустые ответы; обсуждение остановлено. Попробуйте ещё раз или проверьте настройки модели.",
"streamInterrupted": "Поток данных неожиданно прервался; обсуждение не завершено. Попробуйте ещё раз."
},
"tabs": {
"lecture": "Заметки",
"chat": "Чат"
},
"lectureNotes": {
"empty": "Заметки появятся здесь после воспроизведения лекции",
"emptyHint": "Нажмите воспроизведение для начала лекции",
"pageLabel": "Страница {{n}}",
"currentPage": "Текущая",
"jumpToLine": "Jump to this line",
"jumpUnavailable": "Jump unavailable for this line"
},
"badge": {
"qa": "Вопросы",
"discussion": "ДИСКУС",
"lecture": "ЛЕКЦ"
}
},
"actions": {
"names": {
"spotlight": "В центре внимания",
"laser": "Указка",
"wb_open": "Открыть доску",
"wb_draw_text": "Текст на доске",
"wb_draw_shape": "Фигура на доске",
"wb_draw_chart": "График на доске",
"wb_draw_latex": "Формула на доске",
"wb_draw_table": "Таблица на доске",
"wb_draw_line": "Линия на доске",
"wb_clear": "Очистить доску",
"wb_delete": "Удалить элемент",
"wb_close": "Закрыть доску",
"discussion": "Обсуждение"
},
"status": {
"inputStreaming": "Ожидание",
"inputAvailable": "Выполняется",
"outputAvailable": "Завершено",
"outputError": "Ошибка",
"outputDenied": "Отклонено",
"running": "Выполняется",
"result": "Завершено",
"error": "Ошибка"
}
},
"agentBar": {
"readyToLearn": "Готовы учиться вместе?",
"expandedTitle": "Настройка ролей в классе",
"configTooltip": "Нажмите для настройки ролей в классе",
"voiceLabel": "Голос",
"voiceLoading": "Загрузка...",
"voiceAutoAssign": "Голоса будут назначены автоматически",
"searchVoice": "Поиск голосов",
"noMatchingVoices": "Подходящих голосов нет",
"noVoice": "Нет голоса"
},
"proactiveCard": {
"discussion": "Обсуждение",
"join": "Присоединиться",
"skip": "Пропустить",
"pause": "Пауза",
"resume": "Продолжить"
},
"voice": {
"startListening": "Голосовой ввод",
"stopListening": "Остановить запись"
},
"stage": {
"currentScene": "Текущая сцена",
"generating": "Генерация...",
"paused": "Пауза",
"generationFailed": "Ошибка генерации",
"confirmSwitchTitle": "Переключить сцену",
"confirmSwitchMessage": "В данный момент идёт обсуждение. Переключение сцены завершит текущую тему. Продолжить?",
"generatingNextPage": "Сцена генерируется, пожалуйста подождите...",
"courseComplete": "Курс завершён",
"fullscreen": "Полный экран",
"exitFullscreen": "Свернуть",
"editCourse": "Редактировать курс",
"doneEditing": "Завершить редактирование",
"proModeDisabledHint": "Редактирование недоступно на этой странице — откройте слайд курса, чтобы редактировать в Pro-режиме."
},
"edit": {
"proMode": "Pro",
"undo": "Отменить",
"redo": "Повторить",
"delete": "Удалить",
"title": "Редактирование · {{type}}",
"unsupportedScene": "{{type}} пока нельзя редактировать",
"readOnlyBadge": "{{type}} · только просмотр",
"sceneType": {
"slide": "Слайд",
"quiz": "Тест",
"interactive": "Интерактив",
"pbl": "PBL"
},
"multiTab": {
"conflict": {
"title": "Этот курс уже редактируется в другой вкладке",
"body": "Редактирование возможно только в одной вкладке одновременно, чтобы избежать конфликтных изменений. Закройте другую вкладку (или дождитесь истечения её сеанса) перед входом в режим редактирования здесь.",
"actionDismiss": "Понятно"
}
},
"text": {
"toolbar": "Панель текста",
"label": "Текст",
"font": "Шрифт",
"fontDefault": "По умолчанию",
"sizeUp": "Увеличить размер",
"sizeDown": "Уменьшить размер",
"fontSize": "Размер шрифта",
"bold": "Полужирный",
"italic": "Курсив",
"underline": "Подчёркнутый",
"color": "Цвет текста",
"alignLeft": "По левому краю",
"alignCenter": "По центру",
"alignRight": "По правому краю",
"bullet": "Маркированный список",
"colorHex": "Код цвета"
},
"line": {
"toolbar": "Панель линии",
"kind": "Тип линии",
"color": "Цвет линии",
"width": "Толщина линии",
"style": "Стиль линии",
"start": "Начало линии",
"end": "Конец линии",
"straight": "Прямая",
"broken": "Ломаная",
"broken2": "Двойная ломаная",
"curve": "Кривая",
"cubic": "Кубическая кривая",
"solid": "Сплошная",
"dashed": "Штриховая",
"dotted": "Пунктирная",
"none": "Нет",
"arrow": "Стрелка",
"dot": "Точка"
},
"insert": {
"toolbar": "Панель вставки",
"textBox": "Текстовое поле",
"line": "Линия",
"linePresets": {
"straight": "Прямая линия",
"dashed": "Пунктирная линия",
"arrow": "Линия со стрелкой",
"dashedArrow": "Пунктирная линия со стрелкой",
"dottedEnd": "Линия с точкой на конце",
"broken": "Ломаная линия",
"doubleBroken": "Линия с двойным изгибом",
"curve": "Кривая",
"cubic": "Кубическая кривая"
},
"table": "Таблица",
"formula": "Формула",
"chart": "Диаграмма",
"chartBar": "Столбчатая диаграмма",
"chartLine": "Линейная диаграмма",
"chartPie": "Круговая диаграмма",
"tableDimensions": "Таблица {{rows}} x {{columns}}",
"dragToolbar": "Переместить инструменты вставки",
"dragToolbarKeyboard": "Переместить инструменты: нажмите Enter или пробел, затем используйте стрелки",
"image": "Изображение",
"imageDrop": "Перетащите изображение или нажмите, чтобы выбрать файл",
"imageOr": "или вставьте URL изображения",
"imageUrlPlaceholder": "https://…",
"imageInsert": "Вставить",
"video": "Видео",
"videoDrop": "Перетащите видео или нажмите, чтобы выбрать файл",
"videoOr": "или вставьте URL видео",
"videoUrlPlaceholder": "https://…",
"videoInsert": "Вставить",
"audio": "Аудио",
"audioDrop": "Перетащите аудио или нажмите, чтобы выбрать файл",
"audioOr": "или вставьте URL аудио",
"audioUrlPlaceholder": "https://…",
"audioInsert": "Вставить"
},
"asset": {
"drop": "Перетащите файл или нажмите для выбора",
"orUrl": "или вставьте URL файла",
"urlPlaceholder": "https://…",
"insert": "Вставить",
"invalidType": "Неподдерживаемый тип файла",
"readFailed": "Не удалось прочитать файл"
},
"latex": {
"toolbar": "Панель формул",
"editFormula": "Редактировать формулу",
"dialog": "Редактор формул",
"source": "Исходный код LaTeX",
"preview": "Предпросмотр",
"symbols": "Символы",
"presets": "Готовые формулы",
"invalidSource": "Исходный код LaTeX недействителен."
},
"video": {
"toolbar": "Панель видео",
"poster": "Задать обложку"
},
"audio": {
"toolbar": "Панель аудио",
"preview": "Прослушать аудио",
"pause": "Приостановить прослушивание",
"loop": "Повтор"
},
"table": {
"doubleClickToEdit": "Дважды щелкните для редактирования"
},
"nav": {
"addSlide": "Добавить слайд",
"duplicate": "Дублировать",
"delete": "Удалить",
"deleted": "Удалено",
"undo": "Отменить",
"copySuffix": "(копия)",
"untitledSlide": "Безымянный слайд",
"collapse": "Свернуть панель",
"expand": "Развернуть панель",
"dragHandle": "Перетащите, чтобы переупорядочить",
"deckLabel": "Сцены",
"moreActions": "Ещё действия",
"rename": "Переименовать",
"sceneIncomplete": "Содержимое этой страницы не заполнено"
},
"zorder": {
"toFront": "На передний план",
"toBack": "На задний план"
},
"image": {
"toolbar": "Панель изображения",
"replace": "Заменить изображение",
"flipH": "Отразить по горизонтали",
"flipV": "Отразить по вертикали",
"crop": "Обрезать изображение"
},
"contextMenu": {
"horizontalAlignment": "Выравнивание по горизонтали",
"verticalAlignment": "Выравнивание по вертикали",
"selectAll": "Выбрать все",
"copy": "Копировать",
"cut": "Вырезать",
"paste": "Вставить",
"unlock": "Разблокировать",
"lock": "Заблокировать",
"group": "Сгруппировать",
"ungroup": "Разгруппировать",
"bringForward": "Переместить вперед",
"sendBackward": "Переместить назад",
"alignTop": "Выровнять по верхнему краю",
"alignMiddle": "Выровнять по центру",
"alignBottom": "Выровнять по нижнему краю"
},
"background": {
"label": "Фон",
"solid": "Сплошной цвет",
"image": "Изображение",
"color": "Цвет"
},
"common": {
"cancel": "Отмена",
"confirm": "Подтвердить"
},
"quiz": {
"addQuestion": "Добавить вопрос",
"reorder": "Перетащите для сортировки",
"deleteQuestion": "Удалить вопрос",
"untitledQuestion": "Вопрос без названия",
"questionLabel": "Вопрос",
"questionPlaceholder": "Введите вопрос…",
"typeLabel": "Тип",
"pointsLabel": "Баллы",
"optionsLabel": "Варианты",
"optionPlaceholder": "Текст варианта",
"addOption": "Добавить вариант",
"deleteOption": "Удалить вариант",
"markCorrect": "Отметить как правильный",
"moveUp": "Вверх",
"moveDown": "Вниз",
"analysisLabel": "Пояснение",
"analysisPlaceholder": "Показывается после проверки…",
"commentPromptLabel": "Указания по оценке",
"commentPromptPlaceholder": "Как оценивать этот развёрнутый ответ?",
"empty": "Пока нет вопросов",
"emptyHint": "Нажмите «Добавить вопрос», чтобы создать первый.",
"type": {
"single": "Один выбор",
"multiple": "Несколько вариантов",
"short_answer": "Краткий ответ"
},
"shortAnswerGradingNote": "Краткие ответы всегда оцениваются ИИ по указаниям ниже.",
"hint": {
"emptyText": "Вопрос {{n}}: добавьте текст вопроса",
"fewOptions": "Вопрос {{n}}: нужно не менее двух вариантов",
"emptyOption": "Вопрос {{n}}: есть пустой вариант",
"noCorrect": "Вопрос {{n}}: отметьте правильный ответ"
}
},
"cue": {
"speech": "Закадровый текст",
"spotlight": "Прожектор",
"laser": "Лазер",
"whiteboardOpen": "Доска",
"whiteboardText": "Запись",
"whiteboardShape": "Фигура",
"whiteboardLatex": "Формула",
"whiteboardTable": "Таблица",
"action": "Действие",
"discussion": "Обсуждение"
},
"element": {
"toolbar": "Панель элемента",
"text": "Текст",
"image": "Изображение",
"shape": "Фигура",
"line": "Линия",
"chart": "Диаграмма",
"table": "Таблица",
"latex": "Формула",
"video": "Видео",
"audio": "Аудио",
"code": "Код"
},
"agent": {
"expand": "Развернуть ИИ-помощника",
"collapse": "Свернуть",
"stopped": "Остановлено",
"emptyTitle": "Что вы хотите изменить?",
"emptyHint": "Отредактировав этот слайд на холсте, позвольте ИИ заново сгенерировать закадровый текст, соответствующий содержанию.",
"placeholder": "Опишите изменения для этого слайда…",
"stop": "Остановить генерацию",
"empty": {
"lead": "Tell me how to change this slide — I'll redo the content and re-align the narration.",
"boundary": "For fine-grained edits use the editor; add / delete / reorder slides from the left nav.",
"comingSoon": "More capabilities coming soon."
},
"cap": {
"content": {
"label": "Regenerate the slide",
"examples": "“Condense to 3 points”, “Add a real-world example”"
},
"narration": {
"label": "Regenerate the narration script",
"examples": "“Make it more conversational”, “Align with my canvas edits”"
},
"fixHtml": {
"examples": "«Кнопка запуска не работает», «Панели накладываются на мобильном»",
"label": "Исправить ошибку на странице"
},
"elements": {
"label": "Подправить элементы",
"examples": "«Сделай заголовок синим и подними», «Уменьши эту фигуру»"
}
},
"newConversation": "New conversation",
"sessionHistory": "История",
"sessionUntitled": "Без названия",
"sessionDelete": "Удалить",
"sessionEmpty": "Нет истории",
"reasoning": "Рассуждение",
"thought": "Думал",
"interactive": {
"boundary": "Я вношу точечные исправления на странице и не пересоздаю её целиком. Переключайте сцены через навигацию слева.",
"emptyTitle": "Что нужно исправить на этой странице?",
"lead": "Опишите ошибку на этой интерактивной странице — например, кнопку, которая не реагирует, — и я исправлю только её, сохранив всё остальное.",
"placeholder": "Опишите ошибку на этой интерактивной странице…"
},
"thinking": "Думаю…",
"title": "Редактировать с ИИ"
},
"timeline": {
"title": "Сценарий закадрового текста",
"regenAllTts": "Сгенерировать всю озвучку заново",
"voiceAll": "Озвучить всё",
"counts": "{{speech}} реплик · {{cue}} действий",
"panLeft": "Прокрутить влево",
"panRight": "Прокрутить вправо",
"collapseAxis": "Свернуть до оси",
"expandTrack": "Развернуть дорожку",
"emptyHint": "Перетащите действия на ось, чтобы начать, или позвольте MAIC Agent сгенерировать закадровый текст.",
"speechPlaceholder": "Введите эту реплику…",
"reorder": "Перетащите для изменения порядка",
"moveLeft": "Влево",
"moveRight": "Вправо",
"pickElement": "Выбрать элемент",
"bound": "Привязано",
"fieldAction": "Действие",
"fieldElement": "Элемент",
"fieldContent": "Содержимое",
"addDiscussionExists": "Только одно обсуждение на сцену",
"discussionTerminal": "КОНЕЦ",
"discussionTerminalHint": "Обсуждение закрепляется в конце сцены (одно на сцену)",
"discussionTopicPlaceholder": "Тема обсуждения (обязательно)",
"discussionPromptPlaceholder": "Подсказка (необязательно)",
"discussionAgent": "Инициатор",
"discussionAgentUnset": "Не указан",
"addAction": "Добавить действие"
},
"picker": {
"title": "Вставить действие",
"speechDesc": "Произнести реплику — можно озвучить автоматически",
"spotlightDesc": "Выделить элемент на холсте",
"laserDesc": "Указать на элемент лазером",
"discussionDesc": "Задать вопрос и выбрать, кто начнёт"
},
"tts": {
"preview": "Прослушать",
"regenerate": "Сгенерировать озвучку заново",
"statusReady": "Озвучено",
"statusNone": "Не озвучено",
"statusGenerating": "Генерация",
"statusError": "Ошибка"
},
"pick": {
"pickFor": "Выберите элемент для «{{label}}»",
"pickHint": "Нажмите на подсвеченный элемент или список ниже · Esc для отмены",
"pageElements": "Элементы страницы · {{count}}",
"expand": "Развернуть",
"collapse": "Свернуть",
"noElements": "На этом слайде нет элементов для выбора.",
"bindHint": "Нажмите на подсвеченный элемент на холсте для привязки"
},
"regen": {
"title": "Сгенерировать закадровый текст заново",
"running": "Генерация…",
"noActions": "Действия не сгенерированы",
"actionsCount": "{{count}} действий",
"generating": "Генерация",
"notGenerated": "Не сгенерировано",
"updated": "Обновлено"
},
"regenScene": {
"title": "Сгенерировать слайд заново",
"generating": "Генерация",
"updated": "Обновлено",
"notGenerated": "Не сгенерировано",
"elementsCount": "{{count}} элементов",
"restore": "Вернуть прежний вариант",
"restored": "Восстановлено",
"resume": "Вернуть"
},
"readCard": {
"title": "Read slide content",
"reading": "Reading",
"done": "Read",
"failed": "Not read"
},
"fixHtml": {
"editsCount": "Правок: {{count}}",
"fixed": "Исправлено",
"fixing": "Исправляю",
"notFixed": "Не исправлено",
"title": "Исправить интерактивную страницу"
},
"editElements": {
"title": "Правка элементов",
"editing": "Редактирование",
"applied": "Применено",
"notApplied": "Не применено",
"applyFailed": "Редактору не удалось применить изменение элемента. Ничего не изменено.",
"applyPartiallyFailed": "Редактору не удалось применить одно или несколько изменений. Другие изменения могли быть применены."
},
"roster": {
"title": "Состав класса",
"count": "Участников: {{count}}",
"editHint": "Нажмите участника, чтобы редактировать",
"personaLabel": "Персона",
"personaPlaceholder": "Опишите характер роли, стиль преподавания и задачи...",
"noPersona": "Персона не задана",
"unnamed": "Без названия",
"teacherBadge": "Ведущий",
"moveUp": "Переместить вверх",
"moveDown": "Переместить вниз",
"removeFromClass": "Удалить из класса",
"aiClassmates": "AI-одноклассники · {{count}}",
"addRole": "Добавить роль"
}
},
"classroomComplete": {
"title": "Курс завершён",
"trailLabels": {
"slide": "страниц",
"quiz": "тестов",
"interactive": "интерактивов",
"pbl": "проектов"
},
"quizScoreLabel": "Верно {{correct}} из {{total}}",
"encouragement": {
"high": "Отлично — вы справились!",
"mid": "Хорошая работа — продолжайте.",
"low": "Неплохое начало — повторите ещё раз."
}
},
"whiteboard": {
"title": "Интерактивная доска",
"open": "Открыть доску",
"clear": "Очистить доску",
"minimize": "Свернуть доску",
"ready": "Доска готова",
"readyHint": "Элементы появятся здесь, когда AI их добавит",
"clearSuccess": "Доска очищена",
"clearError": "Ошибка очистки доски: ",
"resetView": "Сбросить вид",
"restoreError": "Ошибка восстановления доски: ",
"history": "История",
"restore": "Восстановить",
"noHistory": "Истории пока нет",
"restored": "Доска восстановлена",
"elementCount": "{{count}} элементов"
},
"quiz": {
"title": "Тест",
"subtitle": "Проверьте свои знания",
"questionsCount": "вопросов",
"totalPrefix": "",
"pointsSuffix": "б.",
"startQuiz": "Начать тест",
"multipleChoiceHint": "(Множественный выбор — выберите все правильные ответы)",
"inputPlaceholder": "Введите ваш ответ...",
"charCount": "символов",
"yourAnswer": "Ваш ответ:",
"notAnswered": "Нет ответа",
"aiComment": "Коммент AI",
"singleChoice": "Один ответ",
"multipleChoice": "Несколько",
"shortAnswer": "Развёрнутый ответ",
"analysis": "Анализ: ",
"excellent": "Отлично!",
"keepGoing": "Продолжайте!",
"needsReview": "Требует повторения",
"correct": "верно",
"incorrect": "неверно",
"answering": "В процессе",
"submitAnswers": "Отправить ответы",
"aiGrading": "AI проверяет...",
"aiGradingWait": "Пожалуйста подождите, анализируем ваши ответы",
"quizReport": "Результаты теста",
"retry": "Повторить"
},
"roundtable": {
"teacher": "УЧИТЕЛЬ",
"you": "ВЫ",
"inputPlaceholder": "Введите сообщение...",
"listening": "Слушаю...",
"processing": "Обработка...",
"noSpeechDetected": "Речь не обнаружена, попробуйте ещё раз",
"discussionEnded": "Обсуждение завершено",
"qaEnded": "Вопросы и ответы завершены",
"softClosing": "Продолжить обсуждение",
"thinking": "Размышляет",
"yourTurn": "Ваша очередь",
"stopDiscussion": "Завершить обсуждение",
"autoPlay": "Автовоспр.",
"autoPlayOff": "Остановить",
"speed": "Скорость",
"previousLine": "Previous line",
"nextLine": "Next line",
"lineProgress": "Line {{current}} / {{total}}",
"voiceInput": "Голосовой ввод",
"voiceInputDisabled": "Голосовой ввод отключён",
"textInput": "Текстовый ввод",
"stopRecording": "Остановить запись",
"startRecording": "Начать запись"
},
"pbl": {
"emptyProject": "PBL-проект ещё не создан. Создайте его через генерацию курса.",
"v2": {
"hero": {
"title": "Проектное обучение · Project-Based Learning",
"stage": "Этапы",
"task": "Задания",
"tutor": "Наставник",
"greetingBanner": "Наставник приветствует вас…",
"startProject": "Начать проект",
"continueProject": "Продолжить проект",
"resetProgress": "Сбросить прогресс обучения",
"resetConfirmTitle": "Сбросить прогресс обучения?",
"resetConfirmDescription": "Это удалит весь прогресс по проекту — историю чата, отправленные работы и статусы этапов — и вы начнёте заново. Это действие нельзя отменить.",
"resetConfirmConfirm": "Сбросить",
"resetConfirmCancel": "Отмена",
"startHint": "Нажмите, чтобы войти в рабочее пространство. {{name}} проведёт вас через каждый этап.",
"startError": "Не удалось начать: {{error}}",
"youWillLearn": "Что вы получите",
"instructorTagline": "Сопровождает вас на протяжении всего проекта",
"scenarioCharacter": "Персонаж сценария",
"scenarioCharacterTagline": "Персонаж, с которым вы взаимодействуете в сценарии",
"scenarioFlow": "Этапы",
"close": "Закрыть"
},
"sidebar": {
"title": "План проекта",
"summary": "{{completed}} / {{total}} заданий · {{stages}} этапов",
"enterScenario": "Войти в сцену",
"advanceScene": "Продвинуть сцену",
"continueScene": "Следующий этап",
"stagePrep": "Подготовка",
"stageRoleplay": "Симуляция",
"stageWrapup": "Разбор",
"completeAct": "Завершить эту сцену",
"completeTask": "Готово"
},
"workspace": {
"progressLabel": "Прогресс",
"resizeSidebar": "Изменить ширину панели задач и чата",
"resizeSubmission": "Изменить ширину чата и панели отправки",
"enterFullscreen": "Развернуть на весь экран",
"exitFullscreen": "Выйти из полноэкранного режима",
"exitNativeFullscreen": "Выйти из полноэкранного режима",
"returnToHero": "Назад к обзору проекта",
"breadcrumbOverview": "Обзор",
"breadcrumbCurrent": "Рабочая область"
},
"chat": {
"placeholder": "Обсудите прогресс с {{name}}...",
"placeholderCompleted": "Проект завершён. Посмотрите отчёт.",
"send": "Отправить",
"voiceInput": "Голосовой ввод",
"keyboardHint": "Enter — отправить · Shift+Enter — новая строка",
"readingSubmission": "Чтение ответа…",
"generatingMilestoneFeedback": "Генерация отзыва по этапу…",
"generatingFinalEval": "Генерация итоговой оценки…",
"readingSubmissionWithTitle": "Чтение ответа «{{title}}»…",
"evaluatingTask": "{{name}} · Оценка задания",
"evaluatingFinal": "{{name}} · Итоговая оценка",
"narrating": "Описание сцены…",
"choosePrompt": "Выберите вариант",
"choiceOrType": "Выберите или напишите своё…",
"suggestionsToggle": "Нужны идеи? Посмотрите варианты ответа",
"guidancePointer": "Не знаете, что сказать? Цель и подсказки этой сцены — на панели справа.",
"roleplayHistoryTitle": "История ролевого этапа",
"coachHint": "Подсказка тренера",
"thinking": "{{name}} · Думает",
"typing": "{{name}} · Пишет…",
"submitted": "Работа отправлена",
"evaluatingSubmission": "Оценка вашего ответа…",
"evaluatingSubmissionDetail": "Задание: «{{title}}». Оценка появится здесь после завершения.",
"milestoneFeedbackPending": "Отзыв по этапу появится здесь, когда будет готов.",
"emptyChat": "Сообщений пока нет.",
"emptyChatHint": "Знакомство с проектом под руководством {{name}} начнётся здесь.",
"continueError": "Не удалось продолжить: {{error}}",
"stillTyping": "Всё ещё печатает",
"handoverHint": "Нажмите «Перейти к следующему этапу», чтобы продолжить."
},
"scene": {
"expand": "Развернуть",
"collapse": "Свернуть",
"greetHint": "Нажмите, чтобы поздороваться",
"label": "Сцена"
},
"milestoneCard": {
"title": "Оценка этапа",
"youLearned": "Чему вы научились",
"nextStage": "Следующий этап:",
"continueHint": "Нажмите Continue, чтобы перейти к следующему этапу.",
"alreadyEntered": "Следующий этап начат",
"continueToNext": "Перейти к следующему этапу",
"projectAlmostDone": "🎉 Проект почти завершён — ожидание отчёта"
},
"taskEvalCard": {
"title": "Отзыв на отправленное",
"strengths": "Что получилось хорошо",
"improvements": "Над чем поработать"
},
"briefing": {
"intro": "Вводная из этапа подготовки — здесь её можно открыть в любой момент сцены.",
"tablistLabel": "Вкладки правой панели",
"submissionTab": "Отправка",
"briefingTab": "Сводка",
"setting": "Обстановка",
"learnerRole": "Ваша роль",
"goal": "Цель",
"rules": "Правила",
"cast": "Персонажи",
"identity": "Кто это",
"situation": "Ситуация"
},
"submission": {
"textSubmission": "Текстовая отправка",
"fileTooLarge": "Файл превышает 5 МБ. Разделите или сожмите.",
"contentRequired": "Содержимое не может быть пустым",
"readFileFailed": "Ошибка чтения файла: {{error}}",
"parsingPdf": "Разбор PDF…",
"parsePdfFailed": "Не удалось разобрать PDF: {{error}}",
"pdfNoText": "В этом PDF не найден извлекаемый текст.",
"imageUploadFailed": "Не удалось загрузить изображение: {{error}}",
"imageTooLargeNoStorage": "Изображение слишком большое без настроенного хранилища (локально макс. 2 МБ).",
"imageNeedsCaptionNoVision": "Текущая модель не распознаёт изображения. Добавьте текстовое описание изображения перед отправкой или выберите модель с поддержкой зрения в настройках.",
"unsupportedFileType": "Неподдерживаемый тип файла. Принимаются только текстовые файлы (.txt, .md, .csv, .json, .py и т.д.) и PDF.",
"pasteTab": "Вставить текст / изображение",
"uploadTab": "Загрузить файл",
"pastePlaceholder": "Вставьте код, документ, ответ или изображение / скриншот сюда…",
"uploadPlaceholder": "Загруженное содержимое появится здесь. Можно редактировать перед отправкой...",
"imageCaptionPlaceholder": "Добавьте подпись к изображению (необязательно)…",
"imageSelectedReplace": "Изображение выбрано · нажмите, чтобы заменить",
"removeImage": "Удалить изображение",
"processing": "Обработка…",
"cancelProcessingConfirm": "Файл ещё обрабатывается. Отменить и отклонить эту загрузку?",
"currentTask": "Текущее задание",
"hints": "Подсказки",
"submitOutput": "Отправить",
"evaluating": "Оценка ответа...",
"lockedWhileStreaming": "Наставник отвечает — подождите, прежде чем отправлять.",
"evalFailed": "Ошибка оценки: {{error}}",
"submittedCount": "Отправлено: {{count}}",
"submissionHistory": "История отправок",
"fromTask": "Задача: {{title}}",
"download": "Скачать",
"viewSubmission": "Просмотр работы",
"noActiveTask": "Нет активных заданий.",
"canceling": "Отмена",
"submitting": "Отправка...",
"selectFileHint": "Выбрать файл · макс. 5 МБ · текст / PDF / изображение",
"modalTitle": "Отправить работу",
"modalTaskLabel": "Задание: {{title}}",
"fileRead": "Прочитано: {{filename}} · {{size}} КБ",
"submittedBadge": "Отправлено ({{count}})",
"receiptFile": "Файл: {{filename}}",
"receiptTemplate": "Отправлена работа по заданию ({{label}})."
},
"agentTabs": {
"noAgent": "Для этого проекта не настроен AI-агент."
},
"completion": {
"noWhatsNext": "В итоговой оценке ещё нет рекомендаций.",
"backToWorkspace": "Вернуться к работе",
"completionCta": "Смотреть отчёт",
"title": "Итоговый отчёт",
"whatYouBuilt": "Что вы создали",
"whatYouLearned": "Чему вы научились",
"whatsNext": "Что дальше",
"noDataFallback": "Ещё не записано",
"stageReview": "Обзор этапов",
"summary": "Вы выполнили все {{completed}} / {{total}} заданий в {{stages}} этапах.",
"statConcepts": "Освоено концепций",
"statTurns": "Реплик в диалоге",
"statScope": "Этапов · Задач",
"statDuration": "Затрачено времени",
"statSubmissions": "Отправлено работ",
"coreStageBadge": "Ключевой",
"conceptsInStageLabel": "Освоены концепции:",
"submissionsInStage": "Отправлено работ: {{count}}",
"coreConceptGrasp": "Ключевая концепция «{{concept}}» — {{quality}}",
"stageNoData": "Нет записанных результатов в этом этапе.",
"highlightsTitle": "Ваши достижения",
"scenario": {
"summary": "Вы прошли все {{acts}} акта этого сценария. Вот как прошла ролевая игра.",
"whatYouDidWell": "Что вы сделали хорошо",
"skillsPracticed": "Отработанные навыки",
"statGoals": "Целей достигнуто",
"statActs": "Завершено актов",
"goalReviewTitle": "Разбор по актам",
"goalReviewHint": "В этом сценарии для каждого акта заданы несколько ключевых целей. Вот разбор по тому, как прошёл ваш диалог — в этот раз вы достигли {{achieved}} из {{total}}.",
"goalListTitle": "Что требовал от вас каждый акт",
"goalListHint": "В этом сценарии для каждого акта заданы несколько ключевых целей. Вот обзор того, что требовалось сделать в каждом акте.",
"goalAchieved": "достигнуто",
"goalPartial": "частично",
"goalMissed": "не достигнуто",
"statGoodDecisions": "Удачные решения",
"statScore": "Очки за решения",
"statBeats": "Завершено актов",
"decisionReviewTitle": "Разбор решений",
"good": "удачно",
"ok": "нормально",
"poor": "доработать",
"decisionScore": "Очки за решения: {{score}}",
"castLabel": "Вы общались с: {{names}}"
},
"highlight": {
"independence": "Вы самостоятельно показали {{unlocks}}/{{total}} концепций — без подсказок. Отличное понимание.",
"resilience": "На этапе «{{title}}» вы преодолели {{errors}} ошибок — настоящая стойкость.",
"resilienceGeneral": "Вы преодолели {{errors}} ошибок — настоящая стойкость.",
"completion": "Все задания выполнены. Уверенный прогресс."
},
"synthesisQuality": {
"strong": "Отличное понимание ✅",
"ok": "Хорошее усвоение 👍",
"weak": "Можно укрепить 💪"
},
"durationMinutes": "{{m}} мин",
"durationHours": "{{h}} ч",
"durationHoursMinutes": "{{h}} ч {{m}} мин"
},
"completionCard": {
"title": "Проект завершён · Completion",
"subtitle": "Поздравляем! Проект завершён.",
"description": "На основе ваших данных (время, диалоги, исправление ошибок, освоенные концепции…) мы подготовили итоговый отчёт."
}
}
},
"share": {
"notReady": "Доступно после завершения генерации"
},
"classroom": {
"recentClassrooms": "Недавние",
"today": "Сегодня",
"yesterday": "Вчера",
"daysAgo": "дн. назад",
"slides": "слайдов",
"nameCopied": "Название скопировано",
"deleteConfirmTitle": "Удалить",
"delete": "Удалить",
"rename": "Переименовать",
"renamePlaceholder": "Введите название класса",
"renameFailed": "Не удалось переименовать класс",
"searchPlaceholder": "Поиск курсов...",
"searchAriaLabel": "Поиск курсов",
"clearSearch": "Очистить",
"searchEmpty": "Курсы не найдены",
"newFolderTitle": "Новая папка",
"newFolderDesc": "Группируйте курсы по темам для удобного доступа.",
"newFolderInline": "Новая папка",
"folderNameLabel": "Название папки",
"folderNamePlaceholder": "Напр.: Математика, Английский, Профильные курсы",
"folderNameHint": "Широкие и узкие символы допустимы; пробелы учитываются.",
"folderNameExists": "Папка с таким названием уже существует.",
"folderCountLimit": "Достигнут предел количества папок.",
"folderWidth": "Ширина {{width}}/{{max}}",
"folderCreate": "Создать",
"folderBadge": "Папка",
"folderCourseCountUnit": "курсов",
"deleteFolderTitle": "Удалить папку «{{name}}»",
"deleteFolderEmptyDesc": "Эта папка пуста. Удаление необратимо.",
"deleteFolderUngroupDesc": "Курсы остаются в «Мои курсы», просто без папки.",
"moveToFolder": "Переместить в папку",
"moveToFolderLabel": "Переместить в папку",
"ungrouped": "Без папки",
"searchResults": "Результаты поиска",
"folderCreateFailed": "Не удалось создать папку",
"folderRenameFailed": "Не удалось переименовать папку",
"folderDeleteFailed": "Не удалось удалить папку",
"moveFailed": "Не удалось переместить курс",
"emptyFolderHint": "Эта папка пуста",
"emptyLibraryHint": "Курсов пока нет — создайте выше или импортируйте курс.",
"folderNameEmpty": "Название папки не может быть пустым",
"deleteFolderOnly": "Удалить только папку",
"deleteFolderAndCourses": "Удалить папку и {{count}} курс",
"deleteFolderAndCourses_other": "Удалить папку и {{count}} курсов",
"deleteFolderConfirmRemove": "Папка и её курсы (включая историю чата) будут удалены."
},
"upload": {
"pdfSizeLimit": "Поддержка PDF до 50 МБ",
"courseMaterialSizeLimit": "Документы, презентации, таблицы, изображения, текст — до 50 МБ (список форматов зависит от выбранного парсера)",
"generateFailed": "Ошибка генерации, попробуйте снова",
"requirementPlaceholder": "Расскажите, что вы хотите изучить, например:\n\"Научи меня Python с нуля за 30 минут\"\n\"Объясни преобразование Фурье на доске\"\n\"Как играть в настольную игру Авалон\"",
"requirementRequired": "Пожалуйста, укажите требования к курсу",
"fileTooLarge": "Файл слишком большой. Выберите файл до 50 МБ",
"courseMaterialCountLimit": "Можно загрузить до 5 файлов материалов курса",
"courseMaterialTotalSizeLimit": "Общий размер материалов курса должен быть меньше 150 МБ",
"unsupportedCourseMaterial": "Текущий парсер не поддерживает этот формат. Смените парсер или выберите другой файл."
},
"generation": {
"modeLabel": "Режим генерации",
"normalMode": "Обычная генерация",
"largeMode": "Большая задача",
"pdfLoadFailed": "Не удалось загрузить PDF, попробуйте снова",
"pdfParseFailed": "Ошибка обработки PDF",
"analyzingCourseMaterial": "Анализ документов",
"analyzingCourseMaterialDesc": "Извлечение структуры и содержимого документа...",
"courseMaterialLoadFailed": "Не удалось загрузить материал курса, попробуйте снова",
"courseMaterialParseFailed": "Ошибка обработки материала курса",
"streamNotReadable": "Не удалось прочитать поток генерации",
"generatingOutlines": "Создание структуры курса",
"generatingOutlinesDesc": "Формирование учебной программы...",
"generatingSlideContent": "Генерация содержимого страниц",
"generatingSlideContentDesc": "Создание слайдов, тестов и интерактивного контента...",
"generatingActions": "Генерация учебных действий",
"generatingActionsDesc": "Подготовка нарратива, внимания и взаимодействий...",
"generationComplete": "Генерация завершена!",
"generationFailed": "Ошибка генерации",
"speechFailed": "Ошибка генерации речи",
"retryScene": "Повторить",
"retryingScene": "Перегенерация...",
"backToHome": "На главную",
"sessionNotFound": "Сессия не найдена",
"sessionNotFoundDesc": "Пожалуйста, заполните требования к курсу, чтобы начать генерацию.",
"goBackAndRetry": "Вернуться и повторить",
"classroomReady": "Ваша персонализированная AI-среда обучения успешно создана.",
"aiWorking": "AI-агенты работают...",
"textTruncated": "Текст документа слишком длинный, используются первые {{n}} символов",
"imageTruncated": "Найдено {{total}} изображений, что превышает лимит в {{max}}. Лишние будут описаны текстом",
"agentRevealTitle": "Роли в вашем классе",
"viewAgents": "Просмотреть роли",
"continue": "Продолжить",
"outlineRetrying": "Проблема с генерацией структуры, повтор...",
"outlineEmptyResponse": "Модель не вернула валидную структуру. Проверьте настройки модели и попробуйте снова",
"outlineGenerateFailed": "Ошибка генерации структуры, попробуйте позже",
"sceneGenerateFailed": "Не удалось сгенерировать сцену, попробуйте позже",
"sceneGenerateAuthFailed": "Не удалось сгенерировать сцену: провайдер модели отклонил учетные данные. Проверьте настройки модели.",
"sceneGenerateRateLimited": "Генерация сцены ограничена лимитом запросов. Подождите немного и попробуйте снова.",
"sceneGenerateProviderUnavailable": "Провайдер модели временно недоступен. Попробуйте позже.",
"sceneGenerateInvalidResponse": "Модель не вернула корректное содержимое сцены. Попробуйте другую модель или измените требования курса.",
"reviewOutlineTitle": "Проверьте план курса",
"reviewOutlineDesc": "До создания содержимого можно редактировать, переставлять, удалять и добавлять сцены.",
"reviewOutlineAutoContinue": "Если вы не откроете проверку, генерация содержимого продолжится автоматически.",
"outlineEditorTitle": "План сцен",
"outlineEditorSummary": "Всего сцен: {{count}}. Их можно редактировать, добавлять, удалять и менять местами до начала генерации",
"addFirstScene": "Добавить первую сцену",
"noOutlines": "План сцен пока пуст",
"sceneTitlePlaceholder": "Название сцены",
"sceneTypeSlide": "Слайд",
"sceneTypeQuiz": "Тест",
"sceneTypeInteractive": "Интерактив",
"sceneTypePbl": "PBL",
"sceneDescriptionPlaceholder": "Кратко опишите цель и содержание этой сцены",
"quizQuestionCount": "Количество вопросов",
"quizDifficulty": "Сложность",
"quizType": "Тип вопроса",
"quizDifficultyEasy": "Легко",
"quizDifficultyMedium": "Средне",
"quizDifficultyHard": "Сложно",
"quizTypeSingle": "Один ответ",
"quizTypeMultiple": "Несколько ответов",
"quizTypeText": "Краткий ответ",
"alwaysReviewOutlines": "Всегда проверять план перед генерацией",
"outlineEditorEyebrow": "План, сгенерированный ИИ",
"outlineEditorStreamingProgress": "Генерация · готово сцен: {{count}}",
"outlineEditorStreamingWaiting": "Ожидаем первую сцену…",
"outlineEditorWaitingConfirm": "Ожидание плана…",
"outlineExpandHint": "Нажмите, чтобы проверить",
"reviewOutlineStreamingDesc": "План ещё генерируется. Редактировать можно после завершения.",
"addKeyPoint": "Добавить пункт",
"removeKeyPoint": "Удалить пункт",
"insertSceneHere": "Вставить сцену здесь",
"deleteSceneConfirm": "Удалить эту сцену?",
"deleteSceneConfirmDesc": "Сцена и её ключевые пункты будут удалены из плана.",
"deleteSceneConfirmAction": "Удалить",
"collapseEditor": "Свернуть",
"quizConfigSummary": "{{count}} вопросов",
"interactiveWidgetKind": "Тип виджета",
"widgetSimulation": "Симуляция",
"widgetDiagram": "Диаграмма",
"widgetCode": "Код",
"widgetGame": "Игра",
"widgetVisualization3d": "3D",
"interactiveConcept": "Концепция",
"interactiveConceptPlaceholder": "Изучаемая концепция",
"pblConfigSummary": "Проект",
"pblSubtype": "Тип PBL",
"pblSubtypeProject": "Проект",
"pblSubtypeScenario": "Сценарий",
"pblProjectTopic": "Тема проекта",
"pblProjectTopicPlaceholder": "Тема проекта",
"pblProjectDescription": "Описание",
"pblProjectDescriptionPlaceholder": "Что создадут учащиеся",
"pblScenarioBrief": "Кратко о сценарии",
"pblScenarioBriefPlaceholder": "Ситуация, персонажи и цель практики",
"pblTargetSkills": "Целевые навыки",
"pblAddSkill": "Добавить навык",
"widgetProceduralSkill": "Практический навык",
"removeSkill": "Удалить навык",
"dragSceneHint": "Перетащите для сортировки или нажмите Ctrl/⌘ + ↑ / ↓",
"deleteScene": "Удалить сцену",
"backToRequirements": "Назад к требованиям",
"confirmAndGenerateCourse": "Подтвердить и сгенерировать курс",
"generatingInProgress": "Генерация...",
"webSearching": "Поиск в интернете",
"webSearchingDesc": "Поиск актуальной информации в сети",
"webSearchFailed": "Ошибка веб-поиска",
"outlinesReadyCount": "Готово разделов: {{ready}} / {{total}}",
"jumpToBlankTitle": "Перейти к разделу без заголовка",
"analyzingMediaMaterial": "Анализ аудио/видео"
},
"settings": {
"title": "Настройки",
"description": "Настройка параметров приложения",
"language": "Язык",
"languageDesc": "Выберите язык интерфейса",
"theme": "Тема",
"themeDesc": "Выберите тему оформления (Светлая/Тёмная/Системная)",
"themeOptions": {
"light": "Светлая",
"dark": "Тёмная",
"system": "Системная"
},
"apiKey": "API-ключ",
"apiKeyDesc": "Настройте ваш API-ключ",
"apiBaseUrl": "URL API-эндпоинта",
"apiBaseUrlDesc": "Настройте URL API-эндпоинта",
"apiKeyRequired": "API-ключ не может быть пустым",
"model": "Настройка модели",
"modelDesc": "Настройте AI-модели",
"modelPlaceholder": "Введите или выберите название модели",
"ttsModel": "Модель TTS",
"ttsModelDesc": "Настройте модели TTS",
"ttsModelPlaceholder": "Введите или выберите модель TTS",
"ttsModelOptions": {
"openaiTts": "OpenAI TTS",
"azureTts": "Azure TTS"
},
"availableModels": "Доступные модели",
"modelSelectedViaVoice": "Модель определяется выбором голоса",
"testConnection": "Тест подключения",
"testConnectionDesc": "Проверить доступность текущей конфигурации API",
"testing": "Тестирование...",
"agentSettings": "Настройки агентов",
"agentSettingsDesc": "Выберите агентов для участия в беседе. Выберите 1 для режима одного агента, несколько — для совместного режима.",
"agentMode": "Режим агентов",
"agentModePreset": "Предустановка",
"agentModeAuto": "Автогенерация",
"agentModeAutoDesc": "AI автоматически создаст подходящие роли",
"autoAgentCount": "Количество агентов",
"autoAgentCountDesc": "Количество агентов для автогенерации (включая учителя)",
"atLeastOneAgent": "Выберите хотя бы одного агента",
"singleAgentMode": "Один агент",
"directAnswer": "Прямой ответ",
"multiAgentMode": "Мульти-агент",
"agentsCollaborating": "Совместное обсуждение",
"agentsCollaboratingCount": "{{count}} агентов выбрано для совместного обсуждения",
"priority": "Приоритет",
"actions": "Действия",
"actionCount": "{{count}} действий",
"selectedAgent": "Выбранный агент",
"selectedAgents": "Выбранные агенты",
"required": "Обязательно",
"agentNames": {
"default-1": "AI-учитель",
"default-2": "AI-ассистент",
"default-3": "Весельчак",
"default-4": "Почемучка",
"default-5": "Конспектист",
"default-6": "Мыслитель"
},
"agentRoles": {
"teacher": "Учитель",
"assistant": "Ассистент",
"student": "Ученик"
},
"agentDescriptions": {
"default-1": "Ведущий учитель с понятными и структурированными объяснениями",
"default-2": "Помогает в обучении и разъясняет ключевые моменты",
"default-3": "Привносит юмор и энергию в класс",
"default-4": "Всегда любопытный, любит спрашивать почему и как",
"default-5": "Усердно записывает и систематизирует заметки",
"default-6": "Глубоко размышляет и исследует суть тем"
},
"close": "Закрыть",
"save": "Сохранить",
"providers": "LLM",
"addProviderDescription": "Добавьте провайдеров моделей для расширения доступных AI-моделей",
"providerNames": {
"openai": "OpenAI",
"azure": "Azure OpenAI",
"anthropic": "Claude",
"google": "Gemini",
"bedrock": "Amazon Bedrock",
"deepseek": "DeepSeek",
"qwen": "Qwen",
"kimi": "Kimi",
"minimax": "MiniMax",
"glm": "GLM",
"siliconflow": "SiliconFlow",
"doubao": "Doubao",
"openrouter": "OpenRouter",
"grok": "Grok",
"tencent-hunyuan": "Tencent Hunyuan",
"xiaomi": "Xiaomi MiMo",
"lemonade": "Lemonade (Локальный)",
"ollama": "Ollama (Локальный)",
"tavily": "Tavily",
"bocha": "Bocha",
"brave": "Brave Search",
"baidu": "Baidu",
"claude": "Claude",
"searxng": "SearXNG"
},
"providerTypes": {
"openai": "Протокол OpenAI",
"azure": "Azure OpenAI",
"anthropic": "Протокол Claude",
"google": "Протокол Gemini",
"bedrock": "Amazon Bedrock"
},
"modelCount": "моделей",
"modelSingular": "модель",
"defaultModel": "Модель по умолчанию",
"webSearch": "Веб-поиск",
"mcp": "MCP",
"knowledgeBase": "База знаний",
"documentParser": "Обработка документов",
"conversationSettings": "Беседа",
"keyboardShortcuts": "Горячие клавиши",
"generalSettings": "Общие",
"systemSettings": "Система",
"addProvider": "Добавить",
"importFromClipboard": "Импорт из буфера",
"apiSecret": "API-ключ",
"apiHost": "Base URL",
"azureDeploymentHint": "Укажите конечную точку Azure OpenAI выше, затем добавьте имя каждого развертывания Azure как модель.",
"baseUrlRegion": {
"china": "Китай",
"international": "Международный",
"xiaomiPayg": "Оплата по факту",
"xiaomiTokenPlanCN": "Token Plan Китай",
"xiaomiTokenPlanSGP": "Token Plan Сингапур",
"xiaomiTokenPlanEU": "Token Plan Европа"
},
"requestUrl": "URL запроса",
"models": "Модели",
"comfyuiWorkflows": "Рабочие процессы",
"comfyuiRefresh": "Обновить",
"comfyuiNoWorkflowsFoundPrefix": "JSON-файлы рабочих процессов не найдены в",
"comfyuiAddWorkflowPrefix": "Добавьте файл",
"comfyuiAddWorkflowSuffix": "чтобы начать.",
"comfyuiFolderHintPrefix": "Поместите JSON-файлы рабочих процессов в папку",
"comfyuiFolderHintMiddle": "Имя файла становится отображаемым именем — например",
"comfyuiLoadError": "Не удалось загрузить рабочие процессы: {error}",
"addModel": "Добавить",
"reset": "Сброс",
"fetch": "Получить",
"connectionSuccess": "Подключение успешно",
"connectionFailed": "Ошибка подключения",
"capabilities": {
"vision": "Видение",
"tools": "Инструменты",
"streaming": "Стриминг"
},
"contextWindow": "Контекст",
"contextShort": "кнткс",
"outputWindow": "Вывод",
"addProviderButton": "Добавить",
"addProviderDialog": "Добавить провайдера моделей",
"providerName": "Название",
"providerNamePlaceholder": "напр., Мой OpenAI Proxy",
"providerNameRequired": "Введите название провайдера",
"providerApiMode": "Режим API",
"apiModeOpenAI": "Протокол OpenAI",
"apiModeAnthropic": "Протокол Claude",
"apiModeGoogle": "Протокол Gemini",
"defaultBaseUrl": "Base URL по умолчанию",
"providerIcon": "URL иконки провайдера",
"requiresApiKey": "Требуется API-ключ",
"deleteProvider": "Удалить провайдера",
"deleteProviderConfirm": "Вы уверены, что хотите удалить этого провайдера?",
"addCustomTTSProvider": "Добавить TTS-провайдер",
"addCustomASRProvider": "Добавить ASR-провайдер",
"addCustomAudioProviderDescription": "Добавить OpenAI-совместимый аудио-провайдер",
"customVoices": "Голоса",
"voiceIdPlaceholder": "ID голоса (напр. alloy)",
"voiceNamePlaceholder": "Отображаемое имя",
"addVoice": "Добавить",
"modelNamePlaceholder": "Необязательно",
"defaultModelHint": "Имя модели в API-запросах (напр. kokoro, tts-1)",
"noVoicesAdded": "Голоса ещё не добавлены. Добавьте ниже для выбора в агентах.",
"noModelsAdded": "Модели ещё не добавлены. Добавьте ниже для выбора модели.",
"noModelsWarning": "Добавьте хотя бы одну модель ниже перед использованием этого провайдера.",
"asrNoTranscription": "Транскрипция не получена. Попробуйте говорить громче или дольше.",
"cannotDeleteBuiltIn": "Нельзя удалить встроенного провайдера",
"resetToDefault": "Сбросить на стандартные",
"resetToDefaultDescription": "Восстановить список моделей по умолчанию (API-ключ и Base URL будут сохранены)",
"resetConfirmDescription": "Это удалит все пользовательские модели и восстановит встроенный список. API-ключ и Base URL будут сохранены.",
"confirmReset": "Подтвердить сброс",
"resetSuccess": "Настройки по умолчанию восстановлены",
"saveSuccess": "Настройки сохранены",
"saveFailed": "Не удалось сохранить настройки, попробуйте снова",
"cannotDeleteBuiltInModel": "Нельзя удалить встроенную модель",
"cannotEditBuiltInModel": "Нельзя редактировать встроенную модель",
"modelIdRequired": "Введите ID модели",
"noModelsAvailable": "Нет доступных моделей для тестирования",
"providerMetadata": "Метаданные провайдера",
"editModel": "Редактировать модель",
"editModelDescription": "Изменить конфигурацию и возможности модели",
"addNewModel": "Новая модель",
"modelsManagementDescription": "Управляйте моделями и возможностями, доступными для этого провайдера.",
"addNewModelDescription": "Добавить конфигурацию новой модели",
"modelId": "ID модели",
"modelIdPlaceholder": "напр., gpt-4o",
"modelName": "Отображаемое имя",
"modelCapabilities": "Возможности",
"advancedSettings": "Расширенные настройки",
"contextWindowLabel": "Контекстное окно",
"contextWindowPlaceholder": "напр., 128000",
"outputWindowLabel": "Макс. выходных токенов",
"outputWindowPlaceholder": "напр., 4096",
"testModel": "Тест модели",
"deleteModel": "Удалить",
"cancelEdit": "Отмена",
"saveModel": "Сохранить",
"howToUse": "Как использовать",
"step1ConfigureProvider": "Перейдите в «Провайдеры моделей», выберите или добавьте провайдера и настройте подключение (API-ключ, Base URL и т.д.)",
"step2SelectModel": "Выберите нужную модель в разделе «Активная модель» ниже",
"step3StartUsing": "После сохранения система будет использовать выбранную модель",
"activeModel": "Активная модель",
"activeModelDescription": "Выберите модель для AI-диалогов и генерации контента",
"searchModels": "Поиск моделей",
"noModelsFound": "Подходящих моделей не найдено",
"noConfiguredProviders": "Нет настроенных провайдеров",
"configureProvidersFirst": "Настройте подключение провайдера в разделе «Провайдеры моделей» слева",
"currentlyUsing": "Используется",
"ttsSettings": "Синтез речи",
"asrSettings": "Распознавание речи",
"audioSettings": "Настройки аудио",
"ttsSection": "Синтез речи (TTS)",
"asrSection": "Распознавание речи (ASR)",
"ttsDescription": "TTS (Text-to-Speech) — преобразование текста в речь",
"asrDescription": "ASR (Automatic Speech Recognition) — преобразование речи в текст",
"enableTTS": "Включить синтез речи",
"ttsEnabledDescription": "При включении аудио будет генерироваться во время создания курса",
"ttsVoiceConfigHint": "Голос для каждого агента можно настроить в «Настройке ролей» на главной странице",
"enableASR": "Включить распознавание речи",
"asrEnabledDescription": "При включении ученики смогут использовать микрофон для голосового ввода",
"ttsProvider": "Провайдер TTS",
"ttsLanguageFilter": "Фильтр по языку",
"allLanguages": "Все языки",
"ttsVoice": "Голос",
"ttsSpeed": "Скорость",
"ttsBaseUrl": "Base URL",
"ttsApiKey": "API-ключ",
"doubaoAppId": "App ID",
"doubaoAccessKey": "Access Key",
"asrProvider": "Провайдер ASR",
"asrLanguage": "Язык распознавания",
"asrBaseUrl": "Base URL",
"asrApiKey": "API-ключ",
"enterApiKey": "Введите API-ключ",
"enterCustomBaseUrl": "Введите пользовательский Base URL",
"browserNativeNote": "Встроенный ASR браузера не требует настройки и полностью бесплатен",
"providerOpenAITTS": "OpenAI TTS (gpt-4o-mini-tts)",
"providerAzureTTS": "Azure TTS",
"providerGLMTTS": "GLM TTS",
"providerQwenTTS": "Qwen TTS (Alibaba Cloud Bailian)",
"providerVoxCPMTTS": "VoxCPM2",
"providerDoubaoTTS": "Doubao TTS 2.0 (Volcengine)",
"providerElevenLabsTTS": "ElevenLabs TTS",
"providerMiniMaxTTS": "MiniMax TTS",
"providerLemonadeTTS": "Lemonade TTS (Локальный)",
"providerBrowserNativeTTS": "Встроенный TTS браузера",
"voxcpmBackend": "Бэкенд",
"voxcpmBaseUrlPending": "Введите Base URL, чтобы сформировать URL запроса",
"voxcpmAutoVoiceNoPreview": "Автоголос формируется из контекста агента, поэтому его нельзя прослушать отдельно",
"voxcpmVoicesTitle": "Голоса VoxCPM",
"voxcpmVoicesDescription": "Сохраняются в этом браузере и добавляются в общий пул голосов Agent Bar.",
"voxcpmAutoVoicePrivacyNote": "Автоголос отправляет persona агента в настроенный бэкенд VoxCPM как голосовую подсказку.",
"voxcpmPromptCount": "Prompt {{count}}",
"voxcpmCloneCount": "Клон {{count}}",
"voxcpmCloneUnsupported": "Текущий бэкенд не поддерживает клонирование",
"voxcpmVoicePool": "Пул голосов",
"voxcpmVoiceCount": "{{count}} голосов",
"voxcpmAutoVoice": "Автоголос",
"voxcpmAutoVoiceDescription": "Использовать persona агента как голосовую подсказку",
"voxcpmUnavailable": "Недоступно",
"voxcpmClone": "Клон",
"voxcpmCloneUnsupportedDetail": "Текущий бэкенд не поддерживает клонирование",
"voxcpmNoCustomVoices": "Пользовательских голосов пока нет",
"voxcpmCloneSaveOnly": "Для этого бэкенда доступно только сохранение",
"voxcpmVoiceNamePlaceholder": "Название голоса",
"voxcpmPromptPlaceholder": "Например: ясный естественный голос учителя со средней скоростью",
"voxcpmAddVoice": "Добавить голос",
"voxcpmCloneVoiceNamePlaceholder": "Название клонированного голоса",
"voxcpmUploadReferenceAudio": "Загрузить референсное аудио",
"voxcpmRecord": "Записать",
"voxcpmReferenceAudioLimitHint": "Референсное аудио должно быть не больше 10 МБ / 60 секунд и перед сохранением конвертируется в WAV.",
"voxcpmReferenceTextPlaceholder": "Текст референсного аудио, необязательно",
"voxcpmVoiceDescriptionPlaceholder": "Описание голоса, необязательно",
"voxcpmAddClone": "Добавить клон",
"voxcpmRecordingUnsupported": "Этот браузер не поддерживает запись",
"voxcpmRecordedVoiceName": "Записанный голос",
"voxcpmRecordingFailed": "Не удалось преобразовать запись",
"voxcpmRecordingStartFailed": "Не удалось начать запись",
"voxcpmBaseUrlRequired": "Сначала введите VoxCPM Base URL",
"voxcpmPreviewFailed": "Не удалось прослушать",
"voxcpmVoiceSaved": "Голос VoxCPM сохранен",
"voxcpmVoiceSaveFailed": "Не удалось сохранить голос",
"voxcpmReferenceAudioInvalid": "Недопустимое референсное аудио",
"voxcpmCloneSaved": "Клонированный голос VoxCPM сохранен",
"voxcpmCloneSaveFailed": "Не удалось сохранить клонированный голос",
"voxcpmStopPreview": "Остановить прослушивание",
"voxcpmPreviewVoice": "Прослушать голос",
"voxcpmDeleteVoice": "Удалить голос",
"providerOpenAIWhisper": "OpenAI ASR (gpt-4o-mini-transcribe)",
"providerBrowserNative": "Встроенный ASR браузера",
"providerQwenASR": "Qwen ASR (Alibaba Cloud Bailian)",
"providerFunASRASR": "FunASR (Локальный)",
"providerLemonadeASR": "Lemonade ASR (Локальный)",
"providerAzureASR": "Azure STT",
"providerUnpdf": "unpdf (встроенный)",
"providerMinerU": "MinerU",
"providerMinerUCloud": "MinerU (Облако)",
"browserNativeTTSNote": "Встроенный TTS браузера не требует настройки и полностью бесплатен, использует системные голоса",
"testTTS": "Тест TTS",
"testASR": "Тест ASR",
"testSuccess": "Тест пройден",
"testFailed": "Тест не пройден",
"ttsTestText": "Текст для TTS-теста",
"ttsTestSuccess": "TTS-тест пройден, аудио воспроизведено",
"ttsTestFailed": "TTS-тест не пройден",
"asrTestSuccess": "Распознавание речи успешно",
"asrTestFailed": "Распознавание речи не удалось",
"asrProcessing": "Обработка...",
"asrResult": "Результат распознавания",
"asrNotSupported": "Браузер не поддерживает Speech Recognition API",
"browserTTSNotSupported": "Браузер не поддерживает Speech Synthesis API",
"browserTTSNoVoices": "В текущем браузере нет доступных голосов TTS",
"microphoneAccessDenied": "Доступ к микрофону запрещён",
"microphoneAccessFailed": "Не удалось получить доступ к микрофону",
"asrResultPlaceholder": "Результат распознавания появится после записи",
"useThisProvider": "Использовать этого провайдера",
"fetchVoices": "Загрузить список голосов",
"fetchingVoices": "Загрузка...",
"voicesFetched": "Голоса загружены",
"fetchVoicesFailed": "Не удалось загрузить голоса",
"voiceApiKeyRequired": "Требуется API-ключ",
"voiceBaseUrlRequired": "Требуется Base URL",
"ttsTestTextPlaceholder": "Введите текст для озвучивания",
"ttsTestTextDefault": "Привет, это тестовая речь.",
"startRecording": "Начать запись",
"stopRecording": "Остановить запись",
"recording": "Запись...",
"transcribing": "Транскрибирование...",
"transcriptionResult": "Результат транскрибирования",
"noTranscriptionResult": "Нет результата транскрибирования",
"baseUrlOptional": "Base URL (необязательно)",
"defaultValue": "По умолчанию",
"voiceMarin": "Рекомендуется — лучшее качество",
"voiceCedar": "Рекомендуется — лучшее качество",
"voiceAlloy": "Нейтральный, сбалансированный",
"voiceAsh": "Спокойный, профессиональный",
"voiceBallad": "Элегантный, лиричный",
"voiceCoral": "Тёплый, дружелюбный",
"voiceEcho": "Мужской, чёткий",
"voiceFable": "Повествовательный, яркий",
"voiceNova": "Женский, яркий",
"voiceOnyx": "Мужской, глубокий",
"voiceSage": "Мудрый, уравновешенный",
"voiceShimmer": "Женский, мягкий",
"voiceVerse": "Естественный, плавный",
"glmVoiceTongtong": "Голос по умолчанию",
"glmVoiceChuichui": "Голос Chuichui",
"glmVoiceXiaochen": "Голос Xiaochen",
"glmVoiceJam": "Голос Jam",
"glmVoiceKazi": "Голос Kazi",
"glmVoiceDouji": "Голос Douji",
"glmVoiceLuodo": "Голос Luodo",
"qwenVoiceCherry": "Солнечный, тёплый и естественный",
"qwenVoiceSerena": "Нежный и мягкий",
"qwenVoiceEthan": "Энергичный и живой",
"qwenVoiceChelsie": "Аниме-виртуальная подруга",
"qwenVoiceMomo": "Игривый и весёлый",
"qwenVoiceVivian": "Милый и дерзкий",
"qwenVoiceMoon": "Крутой и красивый",
"qwenVoiceMaia": "Интеллектуальный и нежный",
"qwenVoiceKai": "Спа для ваших ушей",
"qwenVoiceNofish": "Дизайнер с особым произношением",
"qwenVoiceBella": "Маленькая лоли",
"qwenVoiceJennifer": "Кинематографический американский женский голос",
"qwenVoiceRyan": "Быстрый, драматичный",
"qwenVoiceKaterina": "Зрелая леди с запоминающимся ритмом",
"qwenVoiceAiden": "Американский парень",
"qwenVoiceEldricSage": "Спокойный и мудрый старейшина",
"qwenVoiceMia": "Нежная как весенняя вода",
"qwenVoiceMochi": "Умный малыш с детской невинностью",
"qwenVoiceBellona": "Громкий голос, чёткое произношение",
"qwenVoiceVincent": "Уникальный хриплый голос",
"qwenVoiceBunny": "Супер-милая лоли",
"qwenVoiceNeil": "Профессиональный диктор",
"qwenVoiceElias": "Профессиональный инструктор",
"qwenVoiceArthur": "Простой голос, пропитанный годами",
"qwenVoiceNini": "Мягкий и липкий голос",
"qwenVoiceEbona": "Её шёпот как ржавый ключ",
"qwenVoiceSeren": "Нежный и успокаивающий голос",
"qwenVoicePip": "Озорной, но полный детской невинности",
"qwenVoiceStella": "Сладкий девичий голос",
"qwenVoiceBodega": "Энтузиастичный испанский дядя",
"qwenVoiceSonrisa": "Энтузиастичная латиноамериканка",
"qwenVoiceAlek": "Холод, но теплота под шерстяным пальто",
"qwenVoiceDolce": "Ленивый итальянский дядя",
"qwenVoiceSohee": "Нежная, весёлая кореянка",
"qwenVoiceOnoAnna": "Шаловливая подруга детства",
"qwenVoiceLenn": "Рациональный немецкий юноша",
"qwenVoiceEmilien": "Романтический французский брат",
"qwenVoiceAndre": "Магнетический, естественный мужской голос",
"qwenVoiceRadioGol": "Футбольный поэт Rádio Gol!",
"qwenVoiceJada": "Живая шанхайская леди",
"qwenVoiceDylan": "Пекинский парень",
"qwenVoiceLi": "Терпеливый инструктор йоги",
"qwenVoiceMarcus": "Твёрдое сердце — вкус старого Шаньси",
"qwenVoiceRoy": "Юморной тайваньский парень",
"qwenVoicePeter": "Тяньцзиньский комик",
"qwenVoiceSunny": "Милая сычуаньская девушка",
"qwenVoiceEric": "Чэндуский джентльмен",
"qwenVoiceRocky": "Юморной гонконгский парень",
"qwenVoiceKiki": "Милая гонконгская девушка",
"lang_auto": "Авто-определение",
"lang_zh": "中文",
"lang_yue": "粤語",
"lang_en": "English",
"lang_ja": "日本語",
"lang_ko": "한국어",
"lang_es": "Español",
"lang_fr": "Français",
"lang_de": "Deutsch",
"lang_ru": "Русский",
"lang_ar": "العربية",
"lang_pt": "Português",
"lang_it": "Italiano",
"lang_af": "Afrikaans",
"lang_hy": "Հայերեն",
"lang_az": "Azərbaycan",
"lang_be": "Беларуская",
"lang_bs": "Bosanski",
"lang_bg": "Български",
"lang_ca": "Català",
"lang_hr": "Hrvatski",
"lang_cs": "Čeština",
"lang_da": "Dansk",
"lang_nl": "Nederlands",
"lang_et": "Eesti",
"lang_fi": "Suomi",
"lang_gl": "Galego",
"lang_el": "Ελληνικά",
"lang_he": "עברית",
"lang_hi": "हिन्दी",
"lang_hu": "Magyar",
"lang_is": "Íslenska",
"lang_id": "Bahasa Indonesia",
"lang_kn": "ಕನ್ನಡ",
"lang_kk": "Қазақша",
"lang_lv": "Latviešu",
"lang_lt": "Lietuvių",
"lang_mk": "Македонски",
"lang_ms": "Bahasa Melayu",
"lang_mr": "मराठी",
"lang_mi": "Te Reo Māori",
"lang_ne": "नेपाली",
"lang_no": "Norsk",
"lang_fa": "فارسی",
"lang_pl": "Polski",
"lang_ro": "Română",
"lang_sr": "Српски",
"lang_sk": "Slovenčina",
"lang_sl": "Slovenščina",
"lang_sw": "Kiswahili",
"lang_sv": "Svenska",
"lang_tl": "Tagalog",
"lang_fil": "Filipino",
"lang_ta": "தமிழ்",
"lang_th": "ไทย",
"lang_tr": "Türkçe",
"lang_uk": "Українська",
"lang_ur": "اردو",
"lang_vi": "Tiếng Việt",
"lang_cy": "Cymraeg",
"lang_zh-CN": "中文(简体,中国)",
"lang_zh-TW": "中文(繁體,台灣)",
"lang_zh-HK": "粵語(香港)",
"lang_yue-Hant-HK": "粵語(繁體)",
"lang_en-US": "English (United States)",
"lang_en-GB": "English (United Kingdom)",
"lang_en-AU": "English (Australia)",
"lang_en-CA": "English (Canada)",
"lang_en-IN": "English (India)",
"lang_en-NZ": "English (New Zealand)",
"lang_en-ZA": "English (South Africa)",
"lang_ja-JP": "日本語(日本)",
"lang_ko-KR": "한국어(대한민국)",
"lang_de-DE": "Deutsch (Deutschland)",
"lang_fr-FR": "Français (France)",
"lang_es-ES": "Español (España)",
"lang_es-MX": "Español (México)",
"lang_es-AR": "Español (Argentina)",
"lang_es-CO": "Español (Colombia)",
"lang_it-IT": "Italiano (Italia)",
"lang_pt-BR": "Português (Brasil)",
"lang_pt-PT": "Português (Portugal)",
"lang_ru-RU": "Русский (Россия)",
"lang_nl-NL": "Nederlands (Nederland)",
"lang_pl-PL": "Polski (Polska)",
"lang_cs-CZ": "Čeština (Česko)",
"lang_da-DK": "Dansk (Danmark)",
"lang_fi-FI": "Suomi (Suomi)",
"lang_sv-SE": "Svenska (Sverige)",
"lang_no-NO": "Norsk (Norge)",
"lang_tr-TR": "Türkçe (Türkiye)",
"lang_el-GR": "Ελληνικά (Ελλάδα)",
"lang_hu-HU": "Magyar (Magyarország)",
"lang_ro-RO": "Română (România)",
"lang_sk-SK": "Slovenčina (Slovensko)",
"lang_bg-BG": "Български (България)",
"lang_hr-HR": "Hrvatski (Hrvatska)",
"lang_ca-ES": "Català (Espanya)",
"lang_ar-SA": "العربية (السعودية)",
"lang_ar-EG": "العربية (مصر)",
"lang_he-IL": "עברית (ישראל)",
"lang_hi-IN": "हिन्दी (भारत)",
"lang_th-TH": "ไทย (ประเทศไทย)",
"lang_vi-VN": "Tiếng Việt (Việt Nam)",
"lang_id-ID": "Bahasa Indonesia (Indonesia)",
"lang_ms-MY": "Bahasa Melayu (Malaysia)",
"lang_fil-PH": "Filipino (Pilipinas)",
"lang_af-ZA": "Afrikaans (Suid-Afrika)",
"lang_uk-UA": "Українська (Україна)",
"pdfSettings": "Обработка PDF",
"documentParsingSettings": "Обработка документов",
"supportedFormats": "Поддерживаемые форматы",
"mineruSelfHostFormatsNote": "Для обработки PDF и изображений на сервере MinerU требуются дополнительные пакеты mineru[pipeline] или mineru[core]. Облегчённые установки mineru-api могут обрабатывать только документы Office.",
"pdfParsingSettings": "Настройки обработки PDF",
"pdfDescription": "Выберите движок для обработки PDF с поддержкой извлечения текста, изображений и таблиц",
"pdfProvider": "PDF-парсер",
"pdfFeatures": "Поддерживаемые функции",
"pdfApiKey": "API-ключ",
"pdfBaseUrl": "Base URL",
"mineruDescription": "MinerU — коммерческий сервис обработки PDF с поддержкой извлечения таблиц, распознавания формул и анализа макета.",
"mineruApiKeyRequired": "Перед использованием необходимо получить API-ключ на сайте MinerU.",
"mineruWarning": "Внимание",
"mineruCostWarning": "MinerU — коммерческий сервис, использование может быть платным. Проверьте цены на сайте MinerU.",
"enterMinerUApiKey": "Введите MinerU API-ключ",
"mineruLocalDescription": "MinerU поддерживает локальное развёртывание с расширенной обработкой PDF (таблицы, формулы, анализ макета). Требуется предварительное развёртывание сервиса MinerU.",
"mineruServerAddress": "Адрес локального сервера MinerU (напр., http://localhost:8080)",
"mineruApiKeyOptional": "Требуется только если на сервере включена аутентификация",
"mineruCloudApiKeyPlaceholder": "Введите API ключ MinerU Cloud",
"optionalApiKey": "Необязательный API-ключ",
"featureText": "Извлечение текста",
"featureImages": "Извлечение изображений",
"featureTables": "Извлечение таблиц",
"featureFormulas": "Распознавание формул",
"featureLayoutAnalysis": "Анализ макета",
"featureMetadata": "Метаданные",
"enableImageGeneration": "Включить AI-генерацию изображений",
"imageGenerationDisabledHint": "При включении изображения будут автоматически генерироваться во время создания курса",
"imageSettings": "Генерация изображений",
"imageSection": "Текст в изображение",
"imageProvider": "Провайдер генерации изображений",
"imageModel": "Модель генерации изображений",
"providerSeedream": "Seedream (ByteDance)",
"providerOpenAIImage": "OpenAI Image",
"providerQwenImage": "Qwen Image (Alibaba)",
"providerNanoBanana": "Nano Banana (Gemini)",
"providerMiniMaxImage": "MiniMax Image",
"providerGrokImage": "Grok Image (xAI)",
"providerComfyUIImage": "ComfyUI Image",
"providerLemonadeImage": "Lemonade Image (Локальный)",
"testImageGeneration": "Тест генерации изображений",
"testImageConnectivity": "Тест подключения",
"imageConnectivitySuccess": "Подключение к сервису изображений успешно",
"imageConnectivityFailed": "Подключение к сервису изображений не удалось",
"imageTestSuccess": "Тест генерации изображений пройден",
"imageTestFailed": "Тест генерации изображений не пройден",
"imageTestPromptPlaceholder": "Введите описание изображения для теста",
"imageTestPromptDefault": "Милый котёнок сидит на письменном столе",
"imageGenerating": "Генерация изображения...",
"imageGenerationFailed": "Ошибка генерации изображения",
"enableVideoGeneration": "Включить AI-генерацию видео",
"videoGenerationDisabledHint": "При включении видео будут автоматически генерироваться во время создания курса",
"videoSettings": "Генерация видео",
"videoSection": "Текст в видео",
"videoProvider": "Провайдер генерации видео",
"videoModel": "Модель генерации видео",
"providerSeedance": "Seedance (ByteDance)",
"providerKling": "Kling (Kuaishou)",
"providerVeo": "Veo (Google)",
"providerSora": "Sora (OpenAI)",
"providerMiniMaxVideo": "MiniMax Video",
"providerGrokVideo": "Grok Video (xAI)",
"providerHappyHorse": "HappyHorse (Alibaba Cloud)",
"testVideoGeneration": "Тест генерации видео",
"testVideoConnectivity": "Тест подключения",
"videoConnectivitySuccess": "Подключение к видеосервису успешно",
"videoConnectivityFailed": "Подключение к видеосервису не удалось",
"testingConnection": "Тестирование...",
"videoTestSuccess": "Тест генерации видео пройден",
"videoTestFailed": "Тест генерации видео не пройден",
"videoTestPromptDefault": "Милый котёнок гуляет по письменному столу",
"videoGenerating": "Генерация видео (ожид. 1-2 мин.)...",
"videoGenerationWarning": "Генерация видео обычно занимает 1-2 минуты, пожалуйста подождите",
"mediaRetry": "Повторить",
"mediaContentSensitive": "Извините, этот контент не прошёл проверку безопасности.",
"mediaGenerationDisabled": "Генерация отключена в настройках",
"singleAgent": "Один агент",
"multiAgent": "Мульти-агент",
"selectAgents": "Выбрать агентов",
"noVisionWarning": "Текущая модель не поддерживает зрение. Изображения по-прежнему можно размещать на слайдах, но модель не сможет понимать содержимое изображений для оптимизации",
"serverConfigured": "Сервер",
"serverConfiguredNotice": "Этот провайдер управляется сервером и не редактируется здесь. Чтобы использовать свои учётные данные, добавьте отдельного провайдера.",
"ttsProviderEnabledLabel": "Включить этого провайдера",
"ttsProviderEnabledHint": "Если выключено, провайдер скрыт из выбора голоса и не назначается автоматически.",
"ttsProviderUnavailableHint": "Сначала настройте этого провайдера, затем включите.",
"ttsProviderDisabledByAdmin": "Этот провайдер отключён администратором сервера и не может быть включён.",
"optionalOverride": "Необязательно — оставьте пустым для серверной конфигурации",
"setupNeeded": "Требуется настройка",
"modelNotConfigured": "Пожалуйста, выберите модель для начала работы",
"dangerZone": "Опасная зона",
"clearCache": "Очистить локальный кэш",
"clearCacheDescription": "Удалить все локально сохранённые данные, включая записи классов, историю чатов, аудиокэш и настройки приложения. Это действие нельзя отменить.",
"clearCacheConfirmTitle": "Вы уверены, что хотите очистить весь кэш?",
"clearCacheConfirmDescription": "Это навсегда удалит все следующие данные без возможности восстановления:",
"clearCacheConfirmItems": "Классы и сцены, История чатов, Аудио- и графический кэш, Настройки и предпочтения",
"clearCacheConfirmInput": "Введите «УДАЛИТЬ» для продолжения",
"clearCacheConfirmPhrase": "УДАЛИТЬ",
"clearCacheButton": "Удалить все данные навсегда",
"clearCacheSuccess": "Кэш очищен, страница скоро обновится",
"clearCacheFailed": "Не удалось очистить кэш, попробуйте снова",
"clearCacheBlockedByOtherTabs": "Закройте другие вкладки приложения и попробуйте снова.",
"persistUnavailable": "Изменения не сохраняются: приложению не удаётся получить доступ к сохранённым данным. Если перезагрузка не помогает, очистите локальный кэш в настройках.",
"persistChangesLost": "Хранилище снова работает, но изменения, сделанные во время сбоя, сохранить не удалось — они заменены последней сохранённой версией.",
"webSearchSettings": "Веб-поиск",
"webSearchApiKey": "API-ключ поиска",
"webSearchApiKeyPlaceholder": "Введите API-ключ поиска",
"webSearchApiKeyPlaceholderServer": "Серверный ключ настроен, можно ввести свой",
"webSearchApiKeyHint": "Получите API-ключ у выбранного поискового провайдера",
"claudeSearchModel": "Модель поиска",
"claudeSearchModelHint": "Модель Claude, которая выполняет веб-поиск и обобщает результаты.",
"webSearchApiKeyOptional": "API-ключ необязателен. Без него будет использоваться парсинг публичной страницы.",
"searxngServerOnlyNotice": "SearXNG должен быть настроен на сервере. Установите переменную окружения SEARXNG_BASE_URL (или раздел web-search в server-providers.yml). URL экземпляра от клиента не принимаются.",
"baiduSubSources": "Источники поиска Baidu",
"baiduSubSourcesDescription": "Выберите хотя бы один источник Baidu.",
"baiduSubSourceWeb": "Веб-поиск",
"baiduSubSourceWebDescription": "Обычные веб-результаты из Baidu AI Search.",
"baiduSubSourceBaike": "Baidu Baike",
"baiduSubSourceBaikeDescription": "Энциклопедические статьи из Baidu Baike.",
"baiduSubSourceScholar": "Baidu Scholar",
"baiduSubSourceScholarDescription": "Научные публикации из Baidu Scholar.",
"viewDocs": "API документация",
"webSearchBaseUrl": "Base URL",
"webSearchServerConfigured": "Серверный API-ключ поиска настроен",
"optional": "Необязательно",
"selectProvider": "Select Provider",
"customProvider": "Custom",
"presetPickHint": "Picking a provider auto-fills its base URL and protocol; enter your key then click \"Fetch Models\". Not listed? Use \"Custom\".",
"presetCategory": {
"tokenPlan": "Token Plans",
"aggregator": "Aggregators",
"thirdParty": "Vendors",
"official": "Official"
},
"fetchModels": "Fetch Models",
"fetchModelsResult": "Fetched {total} models, added {added}",
"fetchModelsNoEndpoint": "This provider has no model list endpoint — add models manually",
"fetchModelsAuthError": "API key is invalid or expired",
"fetchModelsFailed": "Failed to fetch models",
"usage": {
"title": "Usage",
"refresh": "Refresh",
"disclaimer": "Usage is system-tracked; only server-side calls are counted.",
"totalRequests": "Requests",
"totalTokens": "LLM Tokens",
"dailyTrend": "Daily Token Trend",
"tokens": "Tokens",
"byModel": "By Model",
"model": "Model",
"type": "Type",
"reqs": "Reqs",
"usage": "Usage",
"empty": "No usage data yet",
"kindLlm": "LLM",
"kindImage": "Image",
"kindVideo": "Video",
"kindTts": "Speech",
"kindAsr": "ASR",
"unitToken": "tokens",
"unitImage": "images",
"unitSecond": "sec",
"unitCharacter": "chars"
},
"tokenPlan": {
"nav": "Token Plan",
"title": "Token Plan Setup",
"desc": "Pick your token plan provider and enter the key — it auto-configures every adapted modality (LLM/image/video/speech/web search).",
"selectPlan": "Select Provider",
"apiKey": "API Key",
"enable": "Enable",
"updateKey": "Update key",
"modelsCount": "{{n}} models",
"capabilities": "Capabilities offered",
"offeredNote": "Models offered by this plan. Pick the ones you want on the generation bar — availability depends on your plan tier, and unsupported models will error at generation time."
},
"ttsBrowserNativeTimelineNotice": "Встроенный в браузер TTS не поддерживает функции аудио на таймлайне редактора (прослушивание, повторная генерация и массовая озвучка). Переключитесь на управляемый TTS-провайдер, чтобы генерировать и управлять аудио для каждой строки.",
"alidocmindAccessKeyId": "AccessKey ID",
"alidocmindAccessKeySecret": "AccessKey Secret"
},
"profile": {
"title": "Профиль",
"defaultNickname": "Ученик"
},
"media": {
"imageCapability": "Генерация изображений",
"imageShort": "Изображения",
"imageHint": "Генерация изображений в слайдах",
"videoCapability": "Генерация видео",
"videoShort": "Видео",
"videoHint": "Генерация видео в слайдах",
"ttsCapability": "Синтез речи",
"ttsShort": "Голос",
"ttsHint": "AI-учитель говорит вслух",
"asrCapability": "Распознавание речи",
"asrShort": "Микрофон",
"asrHint": "Голосовой ввод для обсуждения",
"webSearchShort": "Поиск",
"provider": "Провайдер",
"model": "Модель",
"voice": "Голос",
"speed": "Скорость",
"language": "Язык"
},
"accessCode": {
"title": "Введите код доступа",
"placeholder": "Код доступа",
"error": "Неверный код доступа. Попробуйте ещё раз."
}
}