diff --git a/web/src/locales/ru.ts b/web/src/locales/ru.ts new file mode 100644 index 000000000..21d798dea --- /dev/null +++ b/web/src/locales/ru.ts @@ -0,0 +1,1361 @@ +export default { + translation: { + common: { + delete: 'Удалить', + deleteModalTitle: 'Вы уверены, что хотите удалить этот элемент?', + ok: 'Да', + cancel: 'Нет', + total: 'Всего', + rename: 'Переименовать', + name: 'Название', + save: 'Сохранить', + namePlaceholder: 'Введите название', + next: 'Далее', + create: 'Создать', + edit: 'Редактировать', + upload: 'Загрузить', + english: 'Английский', + portugueseBr: 'Португальский (Бразилия)', + chinese: 'Упрощенный китайский', + traditionalChinese: 'Традиционный китайский', + language: 'Язык', + languageMessage: 'Пожалуйста, укажите язык!', + languagePlaceholder: 'Выберите язык', + copy: 'Копировать', + copied: 'Скопировано', + comingSoon: 'Скоро будет', + download: 'Скачать', + close: 'Закрыть', + preview: 'Просмотр', + move: 'Переместить', + warn: 'Предупреждение', + action: 'Действие', + s: 'С', + pleaseSelect: 'Выберите', + pleaseInput: 'Введите', + submit: 'Отправить', + embedIntoSite: 'Встроить на веб-страницу', + previousPage: 'Назад', + nextPage: 'Вперед', + add: 'Добавить', + promptPlaceholder: `Введите текст или используйте / для быстрой вставки переменных.`, + mcp: { + namePlaceholder: 'Мой MCP сервер', + nameRequired: + 'Должно быть 1-64 символов и содержать только буквы, цифры, дефисы и подчеркивания.', + urlPlaceholder: 'https://api.example.com/v1/mcp', + tokenPlaceholder: 'например, eyJhbGciOiJIUzI1Ni...', + }, + }, + login: { + login: 'Войти', + signUp: 'Регистрация', + loginDescription: 'Рады снова видеть вас!', + registerDescription: 'Рады приветствовать вас на борту!', + emailLabel: 'Email', + emailPlaceholder: 'Введите email', + passwordLabel: 'Пароль', + passwordPlaceholder: 'Введите пароль', + rememberMe: 'Запомнить меня', + signInTip: 'Нет аккаунта?', + signUpTip: 'Уже есть аккаунт?', + nicknameLabel: 'Никнейм', + nicknamePlaceholder: 'Введите никнейм', + register: 'Создать аккаунт', + continue: 'Продолжить', + title: 'Начните создавать умных помощников.', + description: + 'Зарегистрируйтесь бесплатно, чтобы изучить передовые RAG-технологии. Создавайте базы знаний и ИИ для развития вашего бизнеса.', + review: 'на основе 500+ отзывов', + }, + header: { + knowledgeBase: 'База знаний', + chat: 'Чат', + register: 'Регистрация', + signin: 'Вход', + home: 'Главная', + setting: 'Настройки пользователя', + logout: 'Выйти', + fileManager: 'Управление файлами', + flow: 'Агент', + search: 'Поиск', + welcome: 'Добро пожаловать в', + }, + knowledgeList: { + welcome: 'С возвращением', + description: 'Какие базы знаний вы будете использовать сегодня?', + createKnowledgeBase: 'Создать базу знаний', + name: 'Название', + namePlaceholder: 'Введите название!', + doc: 'Документы', + searchKnowledgePlaceholder: 'Поиск', + noMoreData: `Это всё. Больше ничего нет.`, + }, + knowledgeDetails: { + dataset: 'Набор данных', + testing: 'Тестирование поиска', + files: 'файлы', + configuration: 'Конфигурация', + knowledgeGraph: 'Граф знаний', + name: 'Название', + namePlaceholder: 'Введите название!', + doc: 'Документы', + datasetDescription: + '😉 Пожалуйста, дождитесь завершения обработки файлов перед началом чата с ИИ.', + addFile: 'Добавить файл', + searchFiles: 'Поиск файлов', + localFiles: 'Локальные файлы', + emptyFiles: 'Создать пустой файл', + webCrawl: 'Веб-сканирование', + chunkNumber: 'Количество фрагментов', + uploadDate: 'Дата загрузки', + chunkMethod: 'Метод фрагментации', + enabled: 'Включено', + disabled: 'Отключено', + action: 'Действие', + parsingStatus: 'Статус обработки', + parsingStatusTip: + 'Время обработки документа зависит от нескольких факторов. Включение таких функций, как Граф знаний, RAPTOR, Автоизвлечение вопросов или Автоизвлечение ключевых слов, значительно увеличит время обработки. Если индикатор выполнения завис, обратитесь к FAQ: https://ragflow.io/docs/dev/faq#why-does-my-document-parsing-stall-at-under-one-percent.', + processBeginAt: 'Начато в', + processDuration: 'Длительность', + progressMsg: 'Прогресс', + testingDescription: + 'Проведите тест поиска, чтобы проверить, может ли RAGFlow находить нужный контент для LLM. Если вы изменили настройки по умолчанию (например, вес сходства ключевых слов или порог сходства), имейте в виду, что эти изменения не сохранятся автоматически. Вы должны применить их в настройках чат-ассистента или компонента поиска.', + similarityThreshold: 'Порог сходства', + similarityThresholdTip: + 'RAGFlow использует взвешенное сходство ключевых слов в комбинации с косинусным сходством векторов или реранкингом. Этот параметр устанавливает порог сходства между запросом пользователя и фрагментами. Фрагменты с оценкой ниже порога будут исключены из результатов. По умолчанию порог установлен на 0.2.', + vectorSimilarityWeight: 'Вес сходства ключевых слов', + vectorSimilarityWeightTip: + 'Устанавливает вес сходства ключевых слов в общей оценке сходства. Сумма весов должна быть равна 1.0.', + testText: 'Тестовый текст', + testTextPlaceholder: 'Введите ваш вопрос здесь!', + testingLabel: 'Тестирование', + similarity: 'Комбинированное сходство', + termSimilarity: 'Сходство терминов', + vectorSimilarity: 'Векторное сходство', + hits: 'Найденные результаты', + view: 'Просмотр', + filesSelected: 'Выбрано файлов', + upload: 'Загрузить', + run: 'Обработать', + runningStatus0: 'ОЖИДАЕТ', + runningStatus1: 'ОБРАБАТЫВАЕТ', + runningStatus2: 'ОТМЕНЕНО', + runningStatus3: 'УСПЕШНО', + runningStatus4: 'ОШИБКА', + pageRanges: 'Диапазон страниц', + pageRangesTip: + 'Диапазон страниц для обработки; страницы вне диапазона обрабатываться не будут.', + fromPlaceholder: 'от', + fromMessage: 'Не указан номер начальной страницы', + toPlaceholder: 'до', + toMessage: 'Не указан номер конечной страницы (не включительно)', + layoutRecognize: 'Анализатор PDF', + layoutRecognizeTip: + 'Используйте визуальную модель для анализа макета PDF для эффективного определения заголовков, текстовых блоков, изображений и таблиц. При выборе опции "Простой" извлекается только простой текст из PDF.', + taskPageSize: 'Размер задачи', + taskPageSizeMessage: 'Укажите размер задачи!', + taskPageSizeTip: `При распознавании макета PDF-файл разбивается на части для параллельной обработки. Этот параметр задает размер каждой части.`, + addPage: 'Добавить страницу', + greaterThan: 'Текущее значение должно быть больше предыдущего!', + greaterThanPrevious: + 'Текущее значение должно быть больше предыдущего "до"!', + selectFiles: 'Выбрать файлы', + changeSpecificCategory: 'Изменить категорию', + uploadTitle: 'Перетащите файлы для загрузки', + uploadDescription: + 'Поддерживает одиночную или пакетную загрузку. Для локального RAGFlow: максимальный размер загрузки 1GB, до 32 файлов. Для demo.ragflow.io: максимальный размер загрузки 10MB, до 128 файлов.', + chunk: 'Фрагмент', + bulk: 'Пакетно', + cancel: 'Отмена', + rerankModel: 'Модель реранкинга', + rerankPlaceholder: 'Выберите', + rerankTip: `Опционально. Если оставить пустым, RAGFlow будет использовать комбинацию сходства ключевых слов и векторов. Выбор модели реранкинга заменит векторное сходство на оценку реранкинга.`, + topK: 'Топ-K', + topKTip: `Определяет количество текстовых фрагментов, отправляемых в модель реранкинга.`, + delimiter: `Разделитель текста`, + delimiterTip: + 'Разделитель может состоять из одного или нескольких спецсимволов. Для нескольких символов укажите их в обратных кавычках (``).', + html4excel: 'Excel в HTML', + html4excelTip: `При включении электронные таблицы будут преобразованы в HTML-таблицы.`, + autoKeywords: 'Авто-ключевые слова', + autoKeywordsTip: `Автоматически извлекает N ключевых слов для каждого фрагмента.`, + autoQuestions: 'Авто-вопросы', + autoQuestionsTip: `Автоматически извлекает N вопросов для каждого фрагмента.`, + redo: 'Очистить существующие {{chunkNum}} фрагментов?', + setMetaData: 'Установить метаданные', + pleaseInputJson: 'Введите JSON', + documentMetaTips: `

Метаданные в формате JSON (не индексируются). Добавляются в промпт для LLM, если фрагменты документа включены в промпт.

+

Примеры:

+Метаданные:
+ + { + "Автор": "Алекс Доусон", + "Дата": "2024-11-12" + } +
+Промпт будет:
+

Документ: название_документа

+

Автор: Алекс Доусон

+

Дата: 2024-11-12

+

Релевантные фрагменты:

+ +`, + metaData: 'Метаданные', + deleteDocumentConfirmContent: + 'Документ связан с графом знаний. После удаления связанная информация о узлах и связях будет удалена, но граф не обновится немедленно.', + plainText: 'Простой', + reRankModelWaring: 'Модель реранкинга требует много времени.', + }, + knowledgeConfiguration: { + titleDescription: + 'Обновите конфигурацию базы знаний, особенно метод фрагментации.', + name: 'Название базы знаний', + photo: 'Изображение базы знаний', + photoTip: 'Максимальный размер файла 4 МБ', + description: 'Описание', + language: 'Язык документов', + languageMessage: 'Укажите язык!', + languagePlaceholder: 'Укажите язык!', + permissions: 'Права доступа', + embeddingModel: 'Модель эмбеддинга', + chunkTokenNumber: 'Рекомендуемый размер фрагмента', + chunkTokenNumberMessage: 'Укажите количество токенов для текста', + embeddingModelTip: + 'Модель эмбеддинга по умолчанию. Не может быть изменена после создания фрагментов.', + permissionsTip: + "При установке 'Команда' все участники смогут управлять базой знаний.", + chunkTokenNumberTip: + 'Устанавливает порог токенов для создания фрагмента. Сегменты с меньшим количеством токенов объединяются до превышения порога.', + chunkMethod: 'Метод фрагментации', + chunkMethodTip: 'См. подсказки справа.', + upload: 'Загрузить', + english: 'Английский', + chinese: 'Китайский', + portugueseBr: 'Португальский (Бразилия)', + embeddingModelPlaceholder: 'Выберите модель эмбеддинга.', + chunkMethodPlaceholder: 'Выберите метод фрагментации.', + save: 'Сохранить', + me: 'Только я', + team: 'Команда', + cancel: 'Отмена', + methodTitle: 'Описание метода фрагментации', + methodExamples: 'Примеры', + methodExamplesDescription: 'Скриншоты для пояснения:', + dialogueExamplesTitle: 'просмотр', + methodEmpty: + 'Здесь будет визуальное объяснение категорий баз знаний', + book: `

Поддерживаемые форматы: DOCX, PDF, TXT.

+ Для PDF укажите диапазон страниц.

`, + laws: `

Поддерживаемые форматы: DOCX, PDF, TXT.

+ Юридические документы обрабатываются с учетом их структуры. +

+ Фрагменты соответствуют уровню 'СТАТЬИ'. +

`, + manual: `

Только PDF.

+ Использует заголовки разделов как базовые единицы фрагментации. +

`, + naive: `

Поддерживаемые форматы: MD, MDX, DOCX, XLSX, XLS, PPT, PDF, TXT, JPEG, JPG, PNG, TIF, GIF, CSV, JSON, EML, HTML.

+

'Простой' метод фрагментации:

+

+

  • Использует модель для разделения текста на сегменты.
  • +
  • Объединяет соседние сегменты до превышения порога токенов.
  • `, + paper: `

    Только PDF.

    + Статьи разделяются по разделам (аннотация, 1.1, 1.2 и т.д.).

    + Увеличивает контекст для ИИ-диалогов и вычислительные затраты. +

    `, + presentation: `

    Поддерживаемые форматы: PDF, PPTX.

    + Каждый слайд обрабатывается как отдельный фрагмент.

    `, + qa: ` +

    + Форматы: XLSX, CSV/TXT. +

    +
  • + XLSX/XLS: два столбца без заголовков (вопросы и ответы). +
  • +
  • + CSV/TXT: UTF-8 с разделителем TAB. +
  • + `, + resume: `

    Форматы: DOCX, PDF, TXT. +

    + Резюме структурируются для удобства поиска. +

    + `, + table: `

    Форматы: XLSX, CSV/TXT.

    + Требования: +

    `, + picture: ` +

    Поддерживаются изображения (видео - скоро).

    + Использует OCR для извлечения текста и визуальную LLM для описаний. +

    `, + one: ` +

    Форматы: DOCX, XLSX, XLS, PDF, TXT. +

    + Весь документ обрабатывается как один фрагмент. +

    `, + knowledgeGraph: `

    Форматы: DOCX, EXCEL, PPT, IMAGE, PDF, TXT, MD, JSON, EML + +

    Использует 'Простой'/'Общий' метод фрагментации.

    +

    Фрагменты передаются в LLM для извлечения сущностей и связей.

    +

    Установите Типы сущностей.

    `, + tag: `

    База знаний 'Тег' служит набором тегов. Другие базы используют её для тегирования фрагментов.

    +

    Набор тегов НЕ участвует непосредственно в RAG-процессе.

    +

    Каждый фрагмент - пара описание-тег.

    +

    Форматы: XLSX, CSV/TXT.

    +

    XLSX: два столбца без заголовков (описание и тег).

    +

    CSV/TXT: UTF-8 с разделителем TAB.

    +

    В столбце тегов используйте запятую для разделения тегов.

    +`, + useRaptor: 'Использовать RAPTOR', + useRaptorTip: + 'Включите RAPTOR для многошаговых вопросно-ответных задач.', + prompt: 'Промпт', + promptTip: + 'Опишите задачу для LLM, укажите формат ответа и требования.', + promptMessage: 'Требуется промпт', + promptText: `Пожалуйста, обобщите следующие абзацы. Будьте внимательны с числами, не выдумывайте. Абзацы: + {cluster_content} +Выше представлен контент для обобщения.`, + maxToken: 'Макс. токенов', + maxTokenTip: 'Максимальное количество токенов на суммаризирующий фрагмент.', + maxTokenMessage: 'Требуется макс. токенов', + threshold: 'Порог', + thresholdTip: + 'Минимальное сходство для группировки фрагментов в RAPTOR.', + thresholdMessage: 'Требуется порог', + maxCluster: 'Макс. кластеров', + maxClusterTip: 'Максимальное количество кластеров.', + maxClusterMessage: 'Требуется макс. кластеров', + randomSeed: 'Случайное зерно', + randomSeedMessage: 'Требуется случайное зерно', + entityTypes: 'Типы сущностей', + vietnamese: 'Вьетнамский', + pageRank: 'PageRank', + pageRankTip: `Назначьте более высокий PageRank определенным базам знаний для повышения рейтинга их фрагментов.`, + tagName: 'Тег', + frequency: 'Частота', + searchTags: 'Поиск тегов', + tagCloud: 'Облако', + tagTable: 'Таблица', + tagSet: 'Наборы тегов', + tagSetTip: ` +

    Выберите одну или несколько баз знаний тегов для автоматического тегирования фрагментов.

    +

    Запрос пользователя также будет автоматически тегирован.

    +

    Отличие авто-тегов от авто-ключевых слов:

    + + `, + topnTags: 'Топ-N Тегов', + tags: 'Теги', + addTag: 'Добавить тег', + useGraphRag: 'Извлечь граф знаний', + useGraphRagTip: + 'Постройте граф знаний для улучшения многошаговых вопросно-ответных задач.', + graphRagMethod: 'Метод', + graphRagMethodTip: `Легкий: (По умолчанию) Использует промпты от github.com/HKUDS/LightRAG. Меньше токенов и ресурсов.
    + Общий: Использует промпты от github.com/microsoft/graphrag`, + resolution: 'Разрешение сущностей', + resolutionTip: `Включите для объединения схожих сущностей (например, '2025' и 'год 2025').`, + community: 'Генерация отчетов сообществ', + communityTip: + 'Генерирует сводки для кластеров связанных сущностей в графе знаний.', + theDocumentBeingParsedCannotBeDeleted: + 'Обрабатываемый документ нельзя удалить', + }, + chunk: { + chunk: 'Фрагмент', + bulk: 'Пакетно', + selectAll: 'Выбрать все', + enabledSelected: 'Включить выбранные', + disabledSelected: 'Отключить выбранные', + deleteSelected: 'Удалить выбранные', + search: 'Поиск', + all: 'Все', + enabled: 'Включен', + disabled: 'Отключен', + keyword: 'Ключевое слово', + function: 'Функция', + chunkMessage: 'Введите значение!', + full: 'Полный текст', + ellipse: 'Сокращенный', + graph: 'Граф знаний', + mind: 'Ментальная карта', + question: 'Вопрос', + questionTip: `Если есть заданные вопросы, эмбеддинг фрагмента будет основан на них.`, + chunkResult: 'Результат фрагментации', + chunkResultTip: `Просмотр сегментов, используемых для эмбеддинга и поиска.`, + enable: 'Включить', + disable: 'Отключить', + delete: 'Удалить', + }, + chat: { + newConversation: 'Новый диалог', + createAssistant: 'Создать ассистента', + assistantSetting: 'Настройки ассистента', + promptEngine: 'Промпт-движок', + modelSetting: 'Настройки модели', + chat: 'Чат', + newChat: 'Новый чат', + send: 'Отправить', + sendPlaceholder: 'Сообщение ассистенту...', + chatConfiguration: 'Конфигурация чата', + chatConfigurationDescription: + 'Настройте чат-ассистента для ваших наборов данных (баз знаний)! 💕', + assistantName: 'Имя ассистента', + assistantNameMessage: 'Требуется имя ассистента', + namePlaceholder: 'например, Резюме Jarvis', + assistantAvatar: 'Аватар ассистента', + language: 'Язык', + emptyResponse: 'Пустой ответ', + emptyResponseTip: `Ответ, если в базах знаний не найдено релевантной информации.`, + emptyResponseMessage: `Срабатывает, если ничего не найдено. Очистите поле, если не выбраны базы знаний.`, + setAnOpener: 'Приветственное сообщение', + setAnOpenerInitial: `Привет! Я ваш ассистент, чем могу помочь?`, + setAnOpenerTip: 'Установите приветствие для пользователей.', + knowledgeBases: 'Базы знаний', + knowledgeBasesMessage: 'Выберите', + knowledgeBasesTip: + 'Выберите базы знаний для ассистента. Пустые базы не отображаются.', + system: 'Системный промпт', + systemInitialValue: `Вы умный ассистент. Обобщите контент базы знаний, чтобы ответить на вопрос. Подробно перечислите данные из базы знаний. Если контент не релевантен, включите фразу "Ответ не найден в базе знаний!". Учитывайте историю диалога. + База знаний: + {knowledge} + Выше представлена база знаний.`, + systemMessage: 'Введите текст!', + systemTip: + 'Инструкции для LLM: роль, длина, тон и язык ответов. Используйте //no_thinking для отключения рассуждений.', + topN: 'Топ N', + topNTip: `Выбирает 'Топ N' фрагментов из найденных.`, + variable: 'Переменная', + variableTip: `Переменные делают системные промпты более гибкими. {knowledge} - зарезервированная переменная для найденных фрагментов.`, + add: 'Добавить', + key: 'Ключ', + optional: 'Опционально', + operation: 'Действие', + model: 'Модель', + modelTip: 'Модель чата', + modelMessage: 'Выберите!', + modelEnabledTools: 'Включенные инструменты', + modelEnabledToolsTip: + 'Выберите инструменты для модели чата. Эффективно только для моделей, поддерживающих вызов инструментов.', + freedom: 'Свобода', + improvise: 'Импровизация', + precise: 'Точность', + balance: 'Баланс', + freedomTip: `Сокращенная настройка 'Температуры', 'Top P', 'Штрафа за присутствие' и 'Штрафа за частоту'.`, + temperature: 'Температура', + temperatureMessage: 'Требуется температура', + temperatureTip: `Контролирует случайность предсказаний модели.`, + topP: 'Top P', + topPMessage: 'Требуется Top P', + topPTip: + 'Устанавливает порог для выбора наиболее вероятных слов (ядерная выборка).', + presencePenalty: 'Штраф за присутствие', + presencePenaltyMessage: 'Требуется штраф за присутствие', + presencePenaltyTip: + 'Штрафует слова, уже появившиеся в диалоге.', + frequencyPenalty: 'Штраф за частоту', + frequencyPenaltyMessage: 'Требуется штраф за частоту', + frequencyPenaltyTip: + 'Уменьшает тенденцию модели повторять одни и те же слова.', + maxTokens: 'Макс. токенов', + maxTokensMessage: 'Требуется макс. токенов', + maxTokensTip: `Максимальная длина вывода модели в токенах. По умолчанию 512.`, + maxTokensInvalidMessage: 'Введите корректное число для Макс. токенов.', + maxTokensMinMessage: 'Макс. токенов не может быть меньше 0.', + quote: 'Показать источник', + quoteTip: 'Отображать исходный текст как ссылку.', + selfRag: 'Self-RAG', + selfRagTip: 'См.: https://huggingface.co/papers/2310.11511', + overview: 'ID чата', + pv: 'Количество сообщений', + uv: 'Количество активных пользователей', + speed: 'Скорость вывода токенов', + tokens: 'Потрачено токенов', + round: 'Количество взаимодействий', + thumbUp: 'Удовлетворенность клиентов', + preview: 'Предпросмотр', + embedded: 'Встроенный', + serviceApiEndpoint: 'Конечная точка API сервиса', + apiKey: 'API КЛЮЧ', + apiReference: 'Документация API', + dateRange: 'Диапазон дат:', + backendServiceApi: 'API Сервер', + createNewKey: 'Создать новый ключ', + created: 'Создан', + action: 'Действие', + embedModalTitle: 'Встроить на веб-страницу', + comingSoon: 'Скоро будет', + fullScreenTitle: 'Полное встраивание', + fullScreenDescription: + 'Встройте следующий iframe в нужное место вашего сайта', + partialTitle: 'Частичное встраивание', + extensionTitle: 'Расширение Chrome', + tokenError: 'Сначала создайте API ключ.', + betaError: + 'Сначала получите API ключ RAGFlow на странице системных настроек.', + searching: 'Поиск...', + parsing: 'Обработка', + uploading: 'Загрузка', + uploadFailed: 'Ошибка загрузки', + regenerate: 'Повторить', + read: 'Читать содержимое', + tts: 'Текст в речь', + ttsTip: + 'Выберите модель TTS на странице настроек перед включением этой опции.', + relatedQuestion: 'Связанный вопрос', + answerTitle: 'О', + multiTurn: 'Многоходовая оптимизация', + multiTurnTip: + 'Оптимизирует пользовательские запросы с использованием контекста многоходового диалога. Требует дополнительных токенов LLM.', + howUseId: 'Как использовать ID чата?', + description: 'Описание ассистента', + descriptionPlaceholder: 'например, Чат-ассистент для резюме.', + useKnowledgeGraph: 'Использовать граф знаний', + useKnowledgeGraphTip: + 'Использовать графы знаний для многоходовых вопросов. Увеличивает время поиска.', + keyword: 'Анализ ключевых слов', + keywordTip: `Использовать LLM для анализа вопросов пользователя и извлечения ключевых слов. Увеличивает время ответа.`, + languageTip: + 'Переписывает предложения на выбранном языке или использует язык последнего вопроса.', + avatarHidden: 'Скрыть аватар', + locale: 'Локаль', + selectLanguage: 'Выберите язык', + reasoning: 'Рассуждение', + reasoningTip: `Включите рабочий процесс рассуждений для сложных вопросов, как в Deepseek-R1 или OpenAI o1.`, + tavilyApiKeyTip: + 'Если API ключ установлен, будут использоваться веб-поиски на основе Tavily.', + tavilyApiKeyMessage: 'Введите ваш Tavily API Key', + tavilyApiKeyHelp: 'Как получить?', + crossLanguage: 'Межъязыковый поиск', + crossLanguageTip: `Выберите один или несколько языков для межъязыкового поиска.`, + createChat: 'Создать чат', + }, + setting: { + profile: 'Профиль', + avatar: 'Аватар', + avatarTip: 'Отображается в вашем профиле.', + profileDescription: 'Обновите фото и личные данные.', + maxTokens: 'Макс. токенов', + maxTokensMessage: 'Требуется макс. токенов', + maxTokensTip: `Максимальная длина вывода модели в токенах. По умолчанию 512.`, + maxTokensInvalidMessage: 'Введите корректное число для Макс. токенов.', + maxTokensMinMessage: 'Макс. токенов не может быть меньше 0.', + password: 'Пароль', + passwordDescription: + 'Введите текущий пароль для изменения пароля.', + model: 'Провайдеры моделей', + modelDescription: 'Настройте параметры моделей и API KEY.', + team: 'Команда', + system: 'Система', + logout: 'Выйти', + api: 'API', + username: 'Имя пользователя', + usernameMessage: 'Введите имя пользователя!', + photo: 'Ваше фото', + photoDescription: 'Отображается в вашем профиле.', + colorSchema: 'Цветовая схема', + colorSchemaMessage: 'Выберите цветовую схему!', + colorSchemaPlaceholder: 'выберите цветовую схему', + bright: 'Светлая', + dark: 'Тёмная', + timezone: 'Часовой пояс', + timezoneMessage: 'Укажите часовой пояс!', + timezonePlaceholder: 'выберите часовой пояс', + email: 'Email адрес', + emailDescription: 'После регистрации email нельзя изменить.', + currentPassword: 'Текущий пароль', + currentPasswordMessage: 'Введите пароль!', + newPassword: 'Новый пароль', + changePassword: 'Изменить пароль', + newPasswordMessage: 'Введите пароль!', + newPasswordDescription: + 'Ваш новый пароль должен быть длиннее 8 символов.', + confirmPassword: 'Подтвердите новый пароль', + confirmPasswordMessage: 'Подтвердите пароль!', + confirmPasswordNonMatchMessage: + 'Новые пароли не совпадают!', + cancel: 'Отмена', + addedModels: 'Добавленные модели', + modelsToBeAdded: 'Модели для добавления', + addTheModel: 'Добавить модель', + apiKey: 'API-Ключ', + apiKeyMessage: + 'Введите API ключ (для локальных моделей игнорируйте).', + apiKeyTip: + 'API ключ можно получить у поставщика LLM.', + showMoreModels: 'Показать модели', + hideModels: 'Скрыть модели', + baseUrl: 'Базовый URL', + baseUrlTip: + 'Если ваш API ключ от OpenAI, оставьте пустым. Другие провайдеры предоставляют базовый URL с API ключом.', + modify: 'Изменить', + systemModelSettings: 'Установить модели по умолчанию', + chatModel: 'Модель чата', + chatModelTip: + 'Модель чата по умолчанию для новых баз знаний.', + embeddingModel: 'Модель эмбеддинга', + embeddingModelTip: + 'Модель эмбеддинга по умолчанию для новых баз знаний.', + img2txtModel: 'Модель Img2txt', + img2txtModelTip: + 'Модель описания изображений/видео по умолчанию.', + sequence2txtModel: 'Модель Speech2txt', + sequence2txtModelTip: + 'Модель ASR по умолчанию для преобразования речи в текст.', + rerankModel: 'Модель реранкинга', + rerankModelTip: `Модель реранкинга фрагментов по умолчанию.`, + ttsModel: 'Модель TTS', + ttsModelTip: + 'Модель преобразования текста в речь по умолчанию.', + workspace: 'Рабочее пространство', + upgrade: 'Обновить', + addLlmTitle: 'Добавить LLM', + editLlmTitle: 'Редактировать модель {{name}}', + editModel: 'Редактировать модель', + modelName: 'Название модели', + modelID: 'ID модели', + modelUid: 'UID модели', + modelNameMessage: 'Введите название модели!', + modelType: 'Тип модели', + modelTypeMessage: 'Введите тип модели!', + addLlmBaseUrl: 'Базовый URL', + baseUrlNameMessage: 'Введите базовый URL!', + vision: 'Поддерживает Vision?', + ollamaLink: 'Как интегрировать {{name}}', + FishAudioLink: 'Как использовать FishAudio', + TencentCloudLink: 'Как использовать TencentCloud ASR', + volcModelNameMessage: 'Введите название модели!', + addEndpointID: 'EndpointID модели', + endpointIDMessage: 'Введите EndpointID модели', + addArkApiKey: 'VOLC ARK_API_KEY', + ArkApiKeyMessage: 'Введите ваш ARK_API_KEY', + bedrockModelNameMessage: 'Введите название модели!', + addBedrockEngineAK: 'ACCESS KEY', + bedrockAKMessage: 'Введите ваш ACCESS KEY', + addBedrockSK: 'SECRET KEY', + bedrockSKMessage: 'Введите ваш SECRET KEY', + bedrockRegion: 'Регион AWS', + bedrockRegionMessage: 'Выберите!', + 'us-east-1': 'US East (Вирджиния)', + 'us-west-2': 'US West (Орегон)', + 'ap-southeast-1': 'Азия (Сингапур)', + 'ap-northeast-1': 'Азия (Токио)', + 'eu-central-1': 'Европа (Франкфурт)', + 'us-gov-west-1': 'AWS GovCloud (US-West)', + 'ap-southeast-2': 'Азия (Сидней)', + addHunyuanSID: 'Hunyuan Secret ID', + HunyuanSIDMessage: 'Введите ваш Secret ID', + addHunyuanSK: 'Hunyuan Secret Key', + HunyuanSKMessage: 'Введите ваш Secret Key', + addTencentCloudSID: 'TencentCloud Secret ID', + TencentCloudSIDMessage: 'Введите ваш Secret ID', + addTencentCloudSK: 'TencentCloud Secret Key', + TencentCloudSKMessage: 'Введите ваш Secret Key', + SparkModelNameMessage: 'Выберите модель Spark', + addSparkAPIPassword: 'Spark APIPassword', + SparkAPIPasswordMessage: 'введите ваш APIPassword', + addSparkAPPID: 'Spark APP ID', + SparkAPPIDMessage: 'введите ваш APP ID', + addSparkAPISecret: 'Spark APISecret', + SparkAPISecretMessage: 'введите ваш APISecret', + addSparkAPIKey: 'Spark APIKey', + SparkAPIKeyMessage: 'введите ваш APIKey', + yiyanModelNameMessage: 'Введите название модели', + addyiyanAK: 'yiyan API KEY', + yiyanAKMessage: 'Введите ваш API KEY', + addyiyanSK: 'yiyan Secret KEY', + yiyanSKMessage: 'Введите ваш Secret KEY', + FishAudioModelNameMessage: + 'Дайте имя вашей модели синтеза речи', + addFishAudioAK: 'Fish Audio API KEY', + addFishAudioAKMessage: 'Введите ваш API KEY', + addFishAudioRefID: 'FishAudio Reference ID', + addFishAudioRefIDMessage: + 'Введите Reference ID (оставьте пустым для модели по умолчанию).', + GoogleModelIDMessage: 'Введите ID модели!', + addGoogleProjectID: 'Project ID', + GoogleProjectIDMessage: 'Введите Project ID', + addGoogleServiceAccountKey: + 'Service Account Key (Оставьте пустым для Application Default Credentials)', + GoogleServiceAccountKeyMessage: + 'Введите Google Cloud Service Account Key в формате base64', + addGoogleRegion: 'Регион Google Cloud', + GoogleRegionMessage: 'Введите регион Google Cloud', + modelProvidersWarn: `Сначала добавьте модели эмбеддинга и LLM в Настройки > Провайдеры моделей. Затем установите их в 'Модели по умолчанию'.`, + apiVersion: 'Версия API', + apiVersionMessage: 'Введите версию API', + add: 'Добавить', + updateDate: 'Дата обновления', + role: 'Роль', + invite: 'Пригласить', + agree: 'Принять', + refuse: 'Отклонить', + teamMembers: 'Участники команды', + joinedTeams: 'Присоединенные команды', + sureDelete: 'Удалить этого участника?', + quit: 'Выйти', + sureQuit: 'Покинуть команду?', + secretKey: 'Секретный ключ', + publicKey: 'Публичный ключ', + secretKeyMessage: 'Введите секретный ключ', + publicKeyMessage: 'Введите публичный ключ', + hostMessage: 'Введите хост', + configuration: 'Конфигурация', + langfuseDescription: + 'Трассировка, оценка, управление промптами и метрики для отладки и улучшения вашего LLM-приложения.', + viewLangfuseSDocumentation: "Документация Langfuse", + view: 'Просмотр', + modelsToBeAddedTooltip: + 'Если ваш провайдер не указан, но заявляет о "совместимости с OpenAI API", выберите соответствующую карточку.', + mcp: 'MCP', + }, + message: { + registered: 'Зарегистрирован!', + logout: 'выход', + logged: 'вошел!', + pleaseSelectChunk: 'Выберите фрагмент!', + registerDisabled: 'Регистрация пользователей отключена', + modified: 'Изменено', + created: 'Создано', + deleted: 'Удалено', + renamed: 'Переименовано', + operated: 'Выполнено', + updated: 'Обновлено', + uploaded: 'Загружено', + 200: 'Сервер успешно вернул запрошенные данные.', + 201: 'Данные успешно созданы или изменены.', + 202: 'Запрос поставлен в очередь (асинхронная задача).', + 204: 'Данные успешно удалены.', + 400: 'Ошибка в запросе, сервер не создал/не изменил данные.', + 401: 'Пожалуйста, войдите снова.', + 403: 'Пользователь авторизован, но доступ запрещен.', + 404: 'Запрошенная запись не существует.', + 406: 'Запрошенный формат недоступен.', + 410: 'Ресурс удален и больше не доступен.', + 413: 'Слишком большой общий размер загружаемых файлов.', + 422: 'Ошибка валидации при создании объекта.', + 500: 'Ошибка сервера, проверьте сервер.', + 502: 'Ошибка шлюза.', + 503: 'Сервис недоступен, перегружен или на обслуживании.', + 504: 'Таймаут шлюза.', + requestError: 'Ошибка запроса', + networkAnomalyDescription: + 'Проблемы с сетью, невозможно подключиться к серверу.', + networkAnomaly: 'Сетевая аномалия', + hint: 'Подсказка', + }, + fileManager: { + name: 'Название', + uploadDate: 'Дата загрузки', + knowledgeBase: 'База знаний', + size: 'Размер', + action: 'Действие', + addToKnowledge: 'Связать с Базой Знаний', + pleaseSelect: 'Выберите', + newFolder: 'Новая папка', + file: 'Файл', + uploadFile: 'Загрузить файл', + parseOnCreation: 'Обработать при создании', + directory: 'Директория', + uploadTitle: 'Перетащите файлы для загрузки', + uploadDescription: + 'Поддерживает одиночную или пакетную загрузку. Ограничения: локальный RAGFlow - 1GB/32 файла; demo.ragflow.io - 10MB/128 файлов.', + local: 'Локальные загрузки', + s3: 'S3 загрузки', + preview: 'Просмотр', + fileError: 'Ошибка файла', + uploadLimit: + 'Каждый файл ≤10MB, всего файлов ≤128.', + destinationFolder: 'Целевая папка', + }, + flow: { + cite: 'Источник', + citeTip: 'Источник информации', + name: 'Название', + nameMessage: 'Введите название', + description: 'Описание', + examples: 'Примеры', + to: 'Кому', + msg: 'Сообщения', + msgTip: + 'Вывод переменной вышестоящего компонента или введенный вами текст.', + messagePlaceholder: `Введите текст сообщения, используйте '/' для вставки переменных.`, + messageMsg: 'Введите сообщение или удалите это поле.', + addField: 'Добавить поле', + addMessage: 'Добавить сообщение', + loop: 'Цикл', + loopTip: + 'Максимальное количество циклов компонента. При превышении задача не может быть выполнена.', + yes: 'Да', + no: 'Нет', + key: 'Ключ', + componentId: 'ID компонента', + add: 'Добавить', + operation: 'Действие', + run: 'Запустить', + save: 'Сохранить', + title: 'ID:', + beginDescription: 'Начало потока.', + answerDescription: `Интерфейс между человеком и ботом, принимает ввод пользователя и отображает ответы.`, + retrievalDescription: `Извлекает информацию из указанных баз знаний. Убедитесь, что базы используют одну модель эмбеддинга.`, + generateDescription: `Генерирует ответы с помощью LLM. Убедитесь, что промпт настроен правильно.`, + categorizeDescription: `Классифицирует ввод пользователя в предопределенные категории. Укажите имя, описание и примеры для каждой категории.`, + relevantDescription: `Оценивает релевантность вывода вышестоящего компонента последнему запросу пользователя.`, + rewriteQuestionDescription: `Переписывает пользовательский запрос на основе контекста предыдущих диалогов.`, + messageDescription: + 'Возвращает итоговый вывод рабочего процесса с предопределенным содержимым.', + keywordDescription: `Извлекает топ N результатов из ввода пользователя.`, + switchDescription: `Оценивает условия и направляет поток выполнения.`, + wikipediaDescription: `Ищет на wikipedia.org. Использует TopN для количества результатов.`, + promptText: `Обобщите следующие абзацы. Будьте внимательны с числами. Абзацы: + {input} + Контент для обобщения.`, + createGraph: 'Создать агента', + createFromTemplates: 'Создать из шаблонов', + retrieval: 'Поиск', + generate: 'Генерация', + answer: 'Взаимодействие', + categorize: 'Классификация', + relevant: 'Релевантность', + rewriteQuestion: 'Переписать', + rewrite: 'Переписать', + begin: 'Начало', + message: 'Сообщение', + blank: 'Пустой', + createFromNothing: 'Создать агента с нуля', + addItem: 'Добавить элемент', + addSubItem: 'Добавить подэлемент', + nameRequiredMsg: 'Требуется название', + nameRepeatedMsg: 'Название не должно повторяться', + keywordExtract: 'Ключевые слова', + keywordExtractDescription: `Извлекает ключевые слова из запроса пользователя.`, + baidu: 'Baidu', + baiduDescription: `Ищет на baidu.com.`, + duckDuckGo: 'DuckDuckGo', + duckDuckGoDescription: + 'Ищет на duckduckgo.com.', + channel: 'Канал', + channelTip: `Текстовый или новостной поиск`, + text: 'Текст', + news: 'Новости', + messageHistoryWindowSize: 'Размер окна истории', + messageHistoryWindowSizeTip: + 'Количество сообщений истории, видимых LLM. Учитывайте ограничение токенов модели.', + wikipedia: 'Wikipedia', + pubMed: 'PubMed', + pubMedDescription: + 'Ищет на https://pubmed.ncbi.nlm.nih.gov/.', + email: 'Email', + emailTip: + 'Email обязателен.', + arXiv: 'ArXiv', + arXivDescription: + 'Ищет на https://arxiv.org/.', + sortBy: 'Сортировать по', + submittedDate: 'Дата отправки', + lastUpdatedDate: 'Дата обновления', + relevance: 'Релевантность', + google: 'Google', + googleDescription: + 'Ищет на https://www.google.com/. Требуется API ключ от serpapi.com.', + bing: 'Bing', + bingDescription: + 'Ищет на https://www.bing.com/. Требуется API ключ от microsoft.com.', + apiKey: 'API КЛЮЧ', + country: 'Страна и регион', + language: 'Язык', + googleScholar: 'Google Scholar', + googleScholarDescription: + 'Ищет на https://scholar.google.com/.', + yearLow: 'Год от', + yearHigh: 'Год до', + patents: 'Патенты', + data: 'Данные', + deepL: 'DeepL', + deepLDescription: + 'Перевод с помощью https://www.deepl.com/.', + authKey: 'Ключ авторизации', + sourceLang: 'Исходный язык', + targetLang: 'Целевой язык', + gitHub: 'GitHub', + gitHubDescription: + 'Ищет репозитории на https://github.com/.', + baiduFanyi: 'BaiduFanyi', + baiduFanyiDescription: + 'Перевод с помощью https://fanyi.baidu.com/.', + appid: 'App ID', + secretKey: 'Секретный ключ', + domain: 'Домен', + transType: 'Тип перевода', + baiduSecretKeyOptions: { + translate: 'Общий перевод', + fieldtranslate: 'Специализированный перевод', + }, + baiduDomainOptions: { + it: 'Информационные технологии', + finance: 'Финансы и экономика', + machinery: 'Машиностроение', + senimed: 'Биомедицина', + novel: 'Онлайн литература', + academic: 'Академические статьи', + aerospace: 'Аэрокосмическая', + wiki: 'Гуманитарные науки', + news: 'Новости', + law: 'Законы', + contract: 'Контракты', + }, + baiduSourceLangOptions: { + auto: 'Автоопределение', + zh: 'Китайский', + en: 'Английский', + yue: 'Кантонский', + wyw: 'Классический китайский', + jp: 'Японский', + kor: 'Корейский', + fra: 'Французский', + spa: 'Испанский', + th: 'Тайский', + ara: 'Арабский', + ru: 'Русский', + pt: 'Португальский', + de: 'Немецкий', + it: 'Итальянский', + el: 'Греческий', + nl: 'Голландский', + pl: 'Польский', + bul: 'Болгарский', + est: 'Эстонский', + dan: 'Датский', + fin: 'Финский', + cs: 'Чешский', + rom: 'Румынский', + slo: 'Словенский', + swe: 'Шведский', + hu: 'Венгерский', + cht: 'Традиционный китайский', + vie: 'Вьетнамский', + }, + qWeather: 'QWeather', + qWeatherDescription: + 'Получает погодную информацию с https://www.qweather.com/.', + lang: 'Язык', + type: 'Тип', + webApiKey: 'Web API ключ', + userType: 'Тип пользователя', + timePeriod: 'Период времени', + qWeatherLangOptions: { + zh: 'Упрощенный китайский', + 'zh-hant': 'Традиционный китайский', + en: 'Английский', + de: 'Немецкий', + es: 'Испанский', + fr: 'Французский', + it: 'Итальянский', + ja: 'Японский', + ko: 'Корейский', + ru: 'Русский', + hi: 'Хинди', + th: 'Тайский', + ar: 'Арабский', + pt: 'Португальский', + bn: 'Бенгальский', + ms: 'Малайский', + nl: 'Голландский', + el: 'Греческий', + la: 'Латинский', + sv: 'Шведский', + id: 'Индонезийский', + pl: 'Польский', + tr: 'Турецкий', + cs: 'Чешский', + et: 'Эстонский', + vi: 'Вьетнамский', + fil: 'Филиппинский', + fi: 'Финский', + he: 'Иврит', + is: 'Исландский', + nb: 'Норвежский', + }, + qWeatherTypeOptions: { + weather: 'Прогноз погоды', + indices: 'Индекс погоды', + airquality: 'Качество воздуха', + }, + qWeatherUserTypeOptions: { + free: 'Бесплатный', + paid: 'Платный', + }, + qWeatherTimePeriodOptions: { + now: 'Сейчас', + '3d': '3 дня', + '7d': '7 дней', + '10d': '10 дней', + '15d': '15 дней', + '30d': '30 дней', + }, + publish: 'API', + exeSQL: 'Выполнить SQL', + exeSQLDescription: + 'Выполняет SQL-запросы к реляционным БД (MySQL, PostgreSQL, MariaDB).', + dbType: 'Тип БД', + database: 'База данных', + username: 'Имя пользователя', + host: 'Хост', + port: 'Порт', + password: 'Пароль', + switch: 'Переключатель', + logicalOperator: 'Логический оператор', + switchOperatorOptions: { + equal: 'Равно', + notEqual: 'Не равно', + gt: 'Больше', + ge: 'Больше или равно', + lt: 'Меньше', + le: 'Меньше или равно', + contains: 'Содержит', + notContains: 'Не содержит', + startWith: 'Начинается с', + endWith: 'Заканчивается на', + empty: 'Пусто', + notEmpty: 'Не пусто', + }, + switchLogicOperatorOptions: { + and: 'И', + or: 'ИЛИ', + }, + operator: 'Оператор', + value: 'Значение', + useTemplate: 'Использовать', + wenCai: 'WenCai', + queryType: 'Тип запроса', + wenCaiDescription: + 'Получает финансовую информацию, включая цены акций и новости.', + wenCaiQueryTypeOptions: { + stock: 'Акции', + zhishu: 'Индекс', + fund: 'Фонды', + hkstock: 'Гонконгские акции', + usstock: 'Американские акции', + threeboard: 'Новый внебиржевой рынок', + conbond: 'Конвертируемые облигации', + insurance: 'Страхование', + futures: 'Фьючерсы', + lccp: 'Финансирование', + foreign_exchange: 'Иностранная валюта', + }, + akShare: 'AkShare', + akShareDescription: + 'Получает новости об акциях с https://www.eastmoney.com/.', + yahooFinance: 'YahooFinance', + yahooFinanceDescription: + 'Запрашивает информацию о публичной компании по тикеру.', + crawler: 'Веб-краулер', + crawlerDescription: + 'Скачивает HTML-код с указанного URL.', + proxy: 'Прокси', + crawlerResultOptions: { + html: 'Html', + markdown: 'Markdown', + content: 'Содержимое', + }, + extractType: 'Тип извлечения', + info: 'Информация', + history: 'История', + financials: 'Финансы', + balanceSheet: 'Баланс', + cashFlowStatement: 'Отчет о движении денежных средств', + jin10: 'Jin10', + jin10Description: + 'Получает финансовую информацию с Jin10 Open Platform.', + flashType: 'Тип новости', + filter: 'Фильтр', + contain: 'Содержит', + calendarType: 'Тип календаря', + calendarDatashape: 'Форма данных календаря', + symbolsDatatype: 'Тип данных символов', + symbolsType: 'Тип символов', + jin10TypeOptions: { + flash: 'Экспресс-новости', + calendar: 'Календарь', + symbols: 'Котировки', + news: 'Справка', + }, + jin10FlashTypeOptions: { + '1': 'Рыночные новости', + '2': 'Новости фьючерсов', + '3': 'Новости США-Гонконг', + '4': 'Новости акций', + '5': 'Новости товаров и форекс', + }, + jin10CalendarTypeOptions: { + cj: 'Календарь макроэкономических данных', + qh: 'Календарь фьючерсов', + hk: 'Календарь гонконгского рынка', + us: 'Календарь американского рынка', + }, + jin10CalendarDatashapeOptions: { + data: 'Данные', + event: 'События', + holiday: 'Праздники', + }, + jin10SymbolsTypeOptions: { + GOODS: 'Котировки товаров', + FOREX: 'Котировки форекс', + FUTURE: 'Международные котировки', + CRYPTO: 'Криптовалюты', + }, + jin10SymbolsDatatypeOptions: { + symbols: 'Список товаров', + quotes: 'Последние котировки', + }, + concentrator: 'Концентратор', + concentratorDescription: + 'Принимает вывод вышестоящего компонента и передает его нижестоящим.', + tuShare: 'TuShare', + tuShareDescription: + 'Получает финансовые новости с основных финансовых сайтов.', + tuShareSrcOptions: { + sina: 'Sina', + wallstreetcn: 'wallstreetcn', + '10jqka': 'Straight flush', + eastmoney: 'Eastmoney', + yuncaijing: 'YUNCAIJING', + fenghuang: 'FENGHUANG', + jinrongjie: 'JRJ', + }, + token: 'Токен', + src: 'Источник', + startDate: 'Дата начала', + endDate: 'Дата окончания', + keyword: 'Ключевое слово', + note: 'Примечание', + noteDescription: 'Примечание', + notePlaceholder: 'Введите примечание', + invoke: 'HTTP Запрос', + invokeDescription: `Вызывает удаленные сервисы, используя вывод других компонентов или константы как входные данные.`, + url: 'Url', + method: 'Метод', + timeout: 'Таймаут', + headers: 'Заголовки', + cleanHtml: 'Очистить HTML', + cleanHtmlTip: + 'Включите, если нужен только основной контент из HTML-ответа.', + reference: 'Ссылка', + input: 'Вход', + output: 'Выход', + parameter: 'Параметр', + howUseId: 'Как использовать ID агента?', + content: 'Содержимое', + operationResults: 'Результаты операций', + autosaved: 'Автосохранено', + optional: 'Опционально', + pasteFileLink: 'Вставить ссылку на файл', + testRun: 'Тестовый запуск', + template: 'Шаблон', + templateDescription: + 'Форматирует вывод других компонентов. Поддерживает Jinja2 и замену строк {параметр}.', + emailComponent: 'Email', + emailDescription: 'Отправляет email на указанный адрес.', + smtpServer: 'SMTP Сервер', + smtpPort: 'SMTP Порт', + senderEmail: 'Email отправителя', + authCode: 'Код авторизации', + senderName: 'Имя отправителя', + toEmail: 'Email получателя', + ccEmail: 'Копия (CC)', + emailSubject: 'Тема', + emailContent: 'Содержимое', + smtpServerRequired: 'Введите адрес SMTP сервера', + senderEmailRequired: 'Введите email отправителя', + authCodeRequired: 'Введите код авторизации', + toEmailRequired: 'Введите email получателя', + emailContentRequired: 'Введите содержимое письма', + emailSentSuccess: 'Email успешно отправлен', + emailSentFailed: 'Ошибка отправки email', + dynamicParameters: 'Динамические параметры', + jsonFormatTip: + 'Вышестоящий компонент должен предоставить JSON-строку в формате:', + toEmailTip: 'to_email: Email получателя (Обязательно)', + ccEmailTip: 'cc_email: Копия (CC) (Опционально)', + subjectTip: 'subject: Тема письма (Опционально)', + contentTip: 'content: Содержимое письма (Опционально)', + jsonUploadTypeErrorMessage: 'Загрузите json файл', + jsonUploadContentErrorMessage: 'Ошибка json файла', + iteration: 'Итерация', + iterationDescription: `Циклический компонент, выполняющий логику для каждого элемента входного массива.`, + delimiterTip: ` +Разделитель используется для разбиения входного текста на части для каждой итерации.`, + delimiterOptions: { + comma: 'Запятая', + lineBreak: 'Перенос строки', + tab: 'Табуляция', + underline: 'Подчеркивание', + diagonal: 'Косая черта', + minus: 'Дефис', + semicolon: 'Точка с запятой', + }, + addVariable: 'Добавить переменную', + variableSettings: 'Настройки переменных', + globalVariables: 'Глобальные переменные', + systemPrompt: 'Системный промпт', + addCategory: 'Добавить категорию', + categoryName: 'Название категории', + nextStep: 'Следующий шаг', + variableExtractDescription: + 'Извлекает информацию пользователя в глобальную переменную в течение диалога', + variableExtract: 'Переменные', + variables: 'Переменные', + variablesTip: `Задайте четкие json-ключи с пустыми значениями. Например: + { + "UserCode":"", + "NumberPhone":"" + }`, + datatype: 'MINE тип HTTP запроса', + insertVariableTip: `Введите / Вставьте переменные`, + historyversion: 'История версий', + filename: 'Имя файла', + version: { + created: 'Создано', + details: 'Детали версии', + dsl: 'DSL', + download: 'Скачать', + version: 'Версия', + select: 'Версия не выбрана', + }, + setting: 'Настройки', + settings: { + agentSetting: 'Настройки агента', + title: 'название', + description: 'описание', + upload: 'Загрузить', + photo: 'Фото', + permissions: 'Права доступа', + permissionsTip: 'Установите права для участников команды.', + me: 'я', + team: 'Команда', + }, + noMoreData: 'Нет больше данных', + searchAgentPlaceholder: 'Поиск агента', + footer: { + profile: 'Все права защищены @ React', + }, + layout: { + file: 'файл', + knowledge: 'знания', + chat: 'чат', + }, + prompt: 'Промпт', + promptTip: + 'Опишите задачу для LLM, укажите формат ответа и требования. Используйте / для вставки переменных.', + promptMessage: 'Требуется промпт', + infor: 'Информационный запуск', + knowledgeBasesTip: + 'Выберите базы знаний для ассистента или переменные с ID баз знаний.', + knowledgeBaseVars: 'Переменные базы знаний', + code: 'Код', + codeDescription: 'Позволяет разработчикам писать пользовательскую логику на Python.', + inputVariables: 'Входные переменные', + runningHintText: 'выполняется...🕞', + openingSwitch: 'Приветствие', + openingCopy: 'Приветственное сообщение', + openingSwitchTip: + 'Пользователи увидят это приветствие в начале.', + modeTip: 'Режим определяет, как запускается рабочий процесс.', + beginInputTip: + 'Определите входные параметры для доступа в последующих процессах.', + query: 'Переменные запроса', + agent: 'Агент', + agentDescription: + 'Создает агентов с рассуждениями, использованием инструментов и многопользовательским взаимодействием.', + maxRecords: 'Макс. записей', + createAgent: 'Создать Агента', + stringTransform: 'Обработка текста', + userFillUp: 'Ожидание ответа', + userFillUpDescription: `Приостанавливает рабочий процесс и ожидает сообщения пользователя.`, + codeExec: 'Код', + tavilySearch: 'Tavily Search', + tavilySearchDescription: 'Поиск через сервис Tavily.', + tavilyExtract: 'Tavily Extract', + tavilyExtractDescription: 'Извлечение через Tavily', + log: 'Журнал', + management: 'Управление', + import: 'Импорт', + export: 'Экспорт', + seconds: 'Секунды', + subject: 'Тема', + tag: 'Тег', + tagPlaceholder: 'Введите тег', + descriptionPlaceholder: 'Введите описание', + line: 'Однострочный текст', + paragraph: 'Текст абзаца', + options: 'Выпадающие опции', + file: 'Загрузка файла', + integer: 'Число', + boolean: 'Булево', + + logTimeline: { + begin: 'Готов к началу', + agent: 'Агент думает', + userFillUp: 'Ожидает вас', + retrieval: 'Ищет знания', + message: 'Агент говорит', + awaitResponse: 'Ожидает вас', + switch: 'Выбирает путь', + iteration: 'Пакетная обработка', + categorize: 'Классификация информации', + code: 'Запускает скрипт', + textProcessing: 'Организует текст', + tavilySearch: 'Ищет в интернете', + tavilyExtract: 'Читает страницу', + exeSQL: 'Запрос к БД', + google: 'Поиск в Google', + wikipedia: 'Поиск в Wikipedia', + googleScholar: 'Академический поиск', + gitHub: 'Поиск в GitHub', + email: 'Отправка email', + httpRequest: 'Вызов API', + wenCai: 'Запрос финансовых данных', + }, + goto: 'Ветка неудачи', + comment: 'Значение по умолчанию', + }, + llmTools: { + bad_calculator: { + name: 'Калькулятор', + description: + 'Инструмент для вычисления суммы двух чисел (дает неверный ответ)', + params: { + a: 'Первое число', + b: 'Второе число', + }, + }, + }, + modal: { + okText: 'Подтвердить', + cancelText: 'Отмена', + }, + mcp: { + export: 'Экспорт', + import: 'Импорт', + url: 'URL', + serverType: 'Тип сервера', + addMCP: 'Добавить MCP', + editMCP: 'Редактировать MCP', + }, + search: { + createSearch: 'Создать поиск', + }, + }, +};