{ "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": "Неверный код доступа. Попробуйте ещё раз." } }