mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-02 03:55:55 +00:00
1352 lines
75 KiB
TypeScript
1352 lines
75 KiB
TypeScript
const ruRU = {
|
||
sidebar: {
|
||
home: 'Главная',
|
||
extensions: 'Расширения',
|
||
installedPlugins: 'Установленные плагины',
|
||
pluginMarket: 'Маркетплейс',
|
||
mcpServers: 'MCP-серверы',
|
||
pluginPages: 'Страницы плагинов',
|
||
pluginPagesTooltip:
|
||
'Визуальные страницы, предоставляемые установленными плагинами',
|
||
quickStart: 'Быстрый старт',
|
||
},
|
||
common: {
|
||
login: 'Войти',
|
||
logout: 'Выйти',
|
||
accountOptions: 'Настройки',
|
||
account: 'Аккаунт',
|
||
integration: 'Интеграция',
|
||
email: 'Электронная почта',
|
||
password: 'Пароль',
|
||
welcome: 'С возвращением в LangBot 👋',
|
||
continueToLogin: 'Войдите, чтобы продолжить',
|
||
loginSuccess: 'Вход выполнен успешно',
|
||
loginFailed: 'Ошибка входа, проверьте адрес электронной почты и пароль',
|
||
loginLoadError: 'Не удалось подключиться к серверу',
|
||
loginLoadErrorDesc:
|
||
'Не удалось подключиться к серверу LangBot. Убедитесь, что сервис запущен, и повторите попытку.',
|
||
retry: 'Повторить',
|
||
enterEmail: 'Введите адрес электронной почты',
|
||
enterPassword: 'Введите пароль',
|
||
invalidEmail: 'Пожалуйста, введите корректный адрес электронной почты',
|
||
emptyPassword: 'Пожалуйста, введите пароль',
|
||
language: 'Язык',
|
||
helpDocs: 'Помощь',
|
||
featureRequest: 'Запрос функции',
|
||
starOnGitHub: 'Поставить звезду на GitHub',
|
||
create: 'Создать',
|
||
edit: 'Редактировать',
|
||
delete: 'Удалить',
|
||
add: 'Добавить',
|
||
select: 'Выбрать',
|
||
cancel: 'Отмена',
|
||
submit: 'Отправить',
|
||
error: 'Ошибка',
|
||
success: 'Успешно',
|
||
save: 'Сохранить',
|
||
saving: 'Сохранение...',
|
||
confirm: 'Подтвердить',
|
||
confirmDelete: 'Подтвердить удаление',
|
||
deleteConfirmation: 'Вы уверены, что хотите удалить это?',
|
||
selectOption: 'Выберите вариант',
|
||
selectPreset: 'Выберите шаблон',
|
||
required: 'Обязательно',
|
||
enable: 'Включить',
|
||
name: 'Название',
|
||
description: 'Описание',
|
||
icon: 'Иконка',
|
||
close: 'Закрыть',
|
||
deleteSuccess: 'Успешно удалено',
|
||
deleteError: 'Ошибка удаления: ',
|
||
addRound: 'Добавить раунд',
|
||
copy: 'Копировать',
|
||
copySuccess: 'Скопировано',
|
||
copyFailed: 'Ошибка копирования',
|
||
test: 'Тест',
|
||
forgotPassword: 'Забыли пароль?',
|
||
agreementNotice: 'Продолжая, вы соглашаетесь с нашей',
|
||
privacyPolicy: 'Политикой конфиденциальности',
|
||
and: 'и',
|
||
dataCollectionPolicy: 'Политикой сбора данных',
|
||
dataCollectionPolicyUrl: 'https://link.langbot.app/en/docs/data-policy',
|
||
loading: 'Загрузка...',
|
||
fieldRequired: 'Это поле обязательно для заполнения',
|
||
or: 'или',
|
||
loginWithSpace: 'Войти через Space',
|
||
spaceLoginRecommended:
|
||
'Рекомендуется: Используйте официальные стабильные API моделей и облачные сервисы',
|
||
loginLocal: 'Войти с локальной учётной записью',
|
||
loginWithPassword: 'Войти с паролем',
|
||
spaceLoginTitle: 'Войти через Space',
|
||
spaceLoginDescription:
|
||
'Отсканируйте QR-код или перейдите по ссылке ниже для авторизации',
|
||
spaceLoginUserCode: 'Ваш код',
|
||
spaceLoginExpires: 'Код истекает через {{seconds}} секунд',
|
||
spaceLoginWaiting: 'Ожидание авторизации...',
|
||
spaceLoginSuccess: 'Авторизация успешна',
|
||
spaceLoginFailed: 'Ошибка входа через Space',
|
||
spaceLoginExpired: 'Код авторизации истёк, попробуйте снова',
|
||
spaceLoginCancel: 'Отмена',
|
||
spaceLoginVisitLink: 'Перейти по ссылке',
|
||
spaceLoginProcessing: 'Вход через Space',
|
||
spaceLoginProcessingDescription:
|
||
'Пожалуйста, подождите, пока мы завершим вход...',
|
||
spaceLoginSuccessDescription: 'Перенаправление в LangBot...',
|
||
spaceLoginError: 'Ошибка входа',
|
||
spaceLoginNoCode: 'Отсутствует код авторизации',
|
||
backToLogin: 'Вернуться к входу',
|
||
backToHome: 'На главную',
|
||
spaceAccountCannotChangePassword:
|
||
'Для аккаунтов Space невозможно изменить пароль здесь',
|
||
theme: 'Тема',
|
||
changePassword: 'Изменить пароль',
|
||
currentPassword: 'Текущий пароль',
|
||
newPassword: 'Новый пароль',
|
||
confirmNewPassword: 'Подтвердите новый пароль',
|
||
enterCurrentPassword: 'Введите текущий пароль',
|
||
enterNewPassword: 'Введите новый пароль',
|
||
enterConfirmPassword: 'Подтвердите новый пароль',
|
||
currentPasswordRequired: 'Текущий пароль обязателен',
|
||
newPasswordRequired: 'Новый пароль обязателен',
|
||
confirmPasswordRequired: 'Подтверждение пароля обязательно',
|
||
passwordsDoNotMatch: 'Пароли не совпадают',
|
||
changePasswordSuccess: 'Пароль успешно изменён',
|
||
changePasswordFailed:
|
||
'Не удалось изменить пароль, проверьте текущий пароль',
|
||
apiIntegration: 'API-интеграция',
|
||
apiKeys: 'API-ключи',
|
||
manageApiIntegration: 'Управление API-интеграцией',
|
||
manageApiKeys: 'Управление API-ключами',
|
||
createApiKey: 'Создать API-ключ',
|
||
apiKeyName: 'Имя API-ключа',
|
||
apiKeyDescription: 'Описание API-ключа',
|
||
apiKeyValue: 'Значение API-ключа',
|
||
apiKeyCreated: 'API-ключ успешно создан',
|
||
apiKeyDeleted: 'API-ключ успешно удалён',
|
||
apiKeyDeleteConfirm: 'Вы уверены, что хотите удалить этот API-ключ?',
|
||
apiKeyNameRequired: 'Имя API-ключа обязательно',
|
||
copyApiKey: 'Копировать API-ключ',
|
||
apiKeyCopied: 'API-ключ скопирован в буфер обмена',
|
||
noApiKeys: 'API-ключи не настроены',
|
||
apiKeyHint:
|
||
'API-ключи позволяют внешним системам получать доступ к API сервисов LangBot',
|
||
webhooks: 'Вебхуки',
|
||
createWebhook: 'Создать вебхук',
|
||
webhookName: 'Имя вебхука',
|
||
webhookUrl: 'URL вебхука',
|
||
webhookDescription: 'Описание вебхука',
|
||
webhookEnabled: 'Включён',
|
||
webhookCreated: 'Вебхук успешно создан',
|
||
webhookDeleted: 'Вебхук успешно удалён',
|
||
webhookDeleteConfirm: 'Вы уверены, что хотите удалить этот вебхук?',
|
||
webhookNameRequired: 'Имя вебхука обязательно',
|
||
webhookUrlRequired: 'URL вебхука обязателен',
|
||
noWebhooks: 'Вебхуки не настроены',
|
||
webhookHint:
|
||
'Вебхуки позволяют LangBot отправлять события личных и групповых сообщений во внешние системы',
|
||
actions: 'Действия',
|
||
apiKeyCreatedMessage:
|
||
'Пожалуйста, скопируйте этот API-ключ. Если кнопка не работает, скопируйте вручную.',
|
||
none: 'Нет',
|
||
more: 'Ещё ({{count}})',
|
||
less: 'Свернуть',
|
||
noItems: 'Нет элементов',
|
||
},
|
||
notFound: {
|
||
title: 'Страница не найдена',
|
||
description: 'Запрашиваемая страница не существует.',
|
||
back: 'Назад',
|
||
home: 'Главная',
|
||
help: 'Помощь',
|
||
},
|
||
models: {
|
||
title: 'Модели',
|
||
description: 'Настройка и управление моделями, используемыми в конвейерах',
|
||
createModel: 'Создать модель',
|
||
editModel: 'Редактировать модель',
|
||
getModelListError: 'Не удалось получить список моделей: ',
|
||
modelName: 'Название модели',
|
||
modelProvider: 'Провайдер модели',
|
||
modelBaseURL: 'Базовый URL',
|
||
modelAbilities: 'Возможности модели',
|
||
saveSuccess: 'Успешно сохранено',
|
||
saveError: 'Ошибка сохранения: ',
|
||
createSuccess: 'Успешно создано',
|
||
createError: 'Ошибка создания: ',
|
||
deleteSuccess: 'Успешно удалено',
|
||
deleteError: 'Ошибка удаления: ',
|
||
deleteConfirmation: 'Вы уверены, что хотите удалить эту модель?',
|
||
modelNameRequired: 'Название модели не может быть пустым',
|
||
modelProviderRequired: 'Провайдер модели не может быть пустым',
|
||
requestURLRequired: 'URL запроса не может быть пустым',
|
||
apiKeyRequired: 'API-ключ не может быть пустым',
|
||
keyNameRequired: 'Имя ключа не может быть пустым',
|
||
mustBeValidNumber: 'Должно быть корректным числом',
|
||
mustBeTrueOrFalse: 'Должно быть true или false',
|
||
requestURL: 'URL запроса',
|
||
scanURL: 'URL сканирования моделей',
|
||
scanURLPlaceholder:
|
||
'Оставьте пустым для использования URL запроса + /models',
|
||
scanURLDescription:
|
||
'Укажите фактический эндпоинт списка моделей, если сканирование моделей использует другой адрес, нежели вызов модели.',
|
||
apiKey: 'API-ключ',
|
||
abilities: 'Возможности',
|
||
selectModelAbilities: 'Выберите возможности модели',
|
||
visionAbility: 'Распознавание изображений',
|
||
functionCallAbility: 'Вызов функций',
|
||
extraParameters: 'Дополнительные параметры',
|
||
addParameter: 'Добавить параметр',
|
||
keyName: 'Имя ключа',
|
||
type: 'Тип',
|
||
value: 'Значение',
|
||
string: 'Строка',
|
||
number: 'Число',
|
||
boolean: 'Логический',
|
||
object: 'Объект',
|
||
objectJsonPlaceholder: '{ "type": "disabled" }',
|
||
invalidJsonObject: 'Значение должно быть допустимым объектом JSON',
|
||
selectModelProvider: 'Выберите провайдера модели',
|
||
modelProviderDescription:
|
||
'Пожалуйста, введите название модели, предоставленное провайдером',
|
||
modelManufacturer: 'Производитель модели',
|
||
aggregationPlatform: 'Платформа агрегации',
|
||
selfDeployed: 'Самостоятельное развёртывание',
|
||
builtin: 'Встроенный',
|
||
selectModel: 'Выберите модель',
|
||
testSuccess: 'Тест успешен',
|
||
testError: 'Тест не пройден, проверьте конфигурацию модели',
|
||
llmModels: 'LLM-модели',
|
||
localProvider: 'Локальный',
|
||
localProviderDescription: 'Модели, настроенные и управляемые локально',
|
||
spaceProviderDescription:
|
||
'Модели, синхронизированные из вашего аккаунта Space',
|
||
spaceDisabledForLocalAccount:
|
||
'Войдите через Space, чтобы использовать облачные модели',
|
||
syncModels: 'Синхронизировать',
|
||
syncSuccess:
|
||
'Синхронизация завершена: {{created}} создано, {{updated}} обновлено',
|
||
syncError: 'Ошибка синхронизации: ',
|
||
spaceModelReadOnly: 'Модели Space доступны только для чтения',
|
||
noSpaceModels:
|
||
'Нет моделей Space. Нажмите «Синхронизировать», чтобы загрузить модели из Space.',
|
||
noLocalModels:
|
||
'Нет локальных моделей. Нажмите «Создать», чтобы добавить модель.',
|
||
providerCount: '{{count}} провайдеров',
|
||
addModel: 'Добавить модель',
|
||
manualAdd: 'Вручную',
|
||
scanAdd: 'Сканировать',
|
||
scanModels: 'Сканировать модели',
|
||
scanModelsHint:
|
||
'Прочитайте доступные модели от текущего провайдера, затем выберите, какие из них добавить.',
|
||
scannedModels: 'Отсканированные модели',
|
||
scanDebug: 'Информация об отладке',
|
||
searchScannedModels: 'Поиск отсканированных моделей',
|
||
noScannedModels:
|
||
'Пока нет результатов. Нажмите кнопку выше для сканирования.',
|
||
noScannedModelsMatch: 'Нет подходящих моделей',
|
||
addSelectedModels: 'Добавить выбранные',
|
||
addSelectedModelsSuccess: 'Добавлено моделей: {{count}}',
|
||
selectAll: 'Выбрать все',
|
||
alreadyAdded: 'Уже добавлено',
|
||
addLLMModel: 'Добавить LLM-модель',
|
||
addEmbeddingModel: 'Добавить Embedding-модель',
|
||
provider: 'Провайдер',
|
||
existingProvider: 'Существующий провайдер',
|
||
newProvider: 'Новый провайдер',
|
||
selectProvider: 'Выберите провайдера',
|
||
requester: 'Тип провайдера',
|
||
selectRequester: 'Выберите тип провайдера',
|
||
langbotModelsDescription: 'Облачные модели на базе LangBot Space',
|
||
credits: 'Кредиты',
|
||
loginWithSpace: 'Войти через Space',
|
||
loginToUseModels: 'Войдите через Space, чтобы использовать облачные модели',
|
||
noModels: 'Модели не настроены',
|
||
langbotModels: 'Модели LangBot',
|
||
spaceTrialTooltip:
|
||
'Доступны бесплатные пробные кредиты! Войдите через Space, чтобы получить доступ к облачным моделям без настройки.',
|
||
unlockModels: 'Войдите для использования',
|
||
editProvider: 'Редактировать провайдера',
|
||
addProvider: 'Добавить провайдера',
|
||
addProviderHint:
|
||
'Добавьте провайдеров для использования моделей из других источников',
|
||
addProviderHintSimple: 'Добавьте провайдеров для использования моделей',
|
||
noProviders: 'Провайдеров пока нет',
|
||
providerName: 'Имя провайдера',
|
||
providerNameRequired: 'Имя провайдера обязательно',
|
||
requesterRequired: 'Тип провайдера обязателен',
|
||
providerSaved: 'Провайдер сохранён',
|
||
providerCreated: 'Провайдер создан',
|
||
providerSaveError: 'Ошибка сохранения провайдера: ',
|
||
providerDeleted: 'Провайдер удалён',
|
||
providerDeleteError: 'Ошибка удаления провайдера: ',
|
||
deleteProviderConfirmation:
|
||
'Вы уверены, что хотите удалить этого провайдера?',
|
||
loadError: 'Не удалось загрузить данные',
|
||
chat: 'Чат',
|
||
embedding: 'Embedding',
|
||
rerank: 'Переранжирование',
|
||
rerankUrlTooltip:
|
||
'Полный URL для эндпоинта переранжирования (напр.: https://dashscope.aliyuncs.com/compatible-api/v1/reranks)',
|
||
rerankPathTooltip:
|
||
'Путь, добавляемый к базовому URL (по умолчанию: rerank, некоторые сервисы используют reranks)',
|
||
modelsCount: '{{count}} модель(ей)',
|
||
expandModels: 'Развернуть',
|
||
collapseModels: 'Свернуть',
|
||
fallback: {
|
||
primary: 'Основная модель',
|
||
fallbackList: 'Резервные модели',
|
||
addFallback: 'Добавить резервную модель',
|
||
},
|
||
},
|
||
bots: {
|
||
title: 'Боты',
|
||
description:
|
||
'Создание и управление ботами — точками входа LangBot для подключения к различным платформам',
|
||
createBot: 'Создать бота',
|
||
selectFromSidebar: 'Выберите бота из боковой панели',
|
||
editBot: 'Редактировать бота',
|
||
getBotListError: 'Не удалось получить список ботов: ',
|
||
botName: 'Имя бота',
|
||
botDescription: 'Описание бота',
|
||
botNameRequired: 'Имя бота не может быть пустым',
|
||
botDescriptionRequired: 'Описание бота не может быть пустым',
|
||
adapterRequired: 'Адаптер не может быть пустым',
|
||
defaultDescription: 'Бот',
|
||
getBotConfigError: 'Не удалось получить конфигурацию бота: ',
|
||
saveSuccess: 'Успешно сохранено',
|
||
saveError: 'Ошибка сохранения: ',
|
||
createSuccess:
|
||
'Успешно создано. Пожалуйста, включите или измените привязанный конвейер',
|
||
createError: 'Ошибка создания: ',
|
||
deleteSuccess: 'Успешно удалено',
|
||
deleteError: 'Ошибка удаления: ',
|
||
deleteConfirmation: 'Вы уверены, что хотите удалить этого бота?',
|
||
platformAdapter: 'Выбор платформы/адаптера',
|
||
selectAdapter: 'Выберите адаптер',
|
||
adapterConfig: 'Настройка адаптера',
|
||
viewAdapterDocs: 'Документация',
|
||
bindPipeline: 'Привязать конвейер',
|
||
selectPipeline: 'Выберите конвейер',
|
||
selectBot: 'Выберите бота',
|
||
botLogTitle: 'Журнал бота',
|
||
enableAutoRefresh: 'Автообновление',
|
||
session: 'Сессия',
|
||
yesterday: 'Вчера',
|
||
earlier: 'Ранее',
|
||
dateFormat: '{{day}}.{{month}}',
|
||
setBotEnableError: 'Не удалось изменить статус бота',
|
||
log: 'Журнал',
|
||
configuration: 'Настройки',
|
||
logs: 'Журналы',
|
||
basicInfo: 'Основная информация',
|
||
basicInfoDescription: 'Задайте имя и описание бота',
|
||
routingConnection: 'Маршрутизация и подключение',
|
||
routingConnectionDescription:
|
||
'Привяжите конвейер, обрабатывающий сообщения для этого бота',
|
||
routingRules: 'Правила условной маршрутизации',
|
||
routingRulesDescription:
|
||
'Правила проверяются по порядку; первое совпадение направляет в соответствующий конвейер. При отсутствии совпадений используется конвейер по умолчанию.',
|
||
addRoutingRule: 'Добавить правило',
|
||
ruleTypeLauncherType: 'Тип сессии',
|
||
ruleTypeLauncherId: 'ID сессии',
|
||
ruleTypeMessageContent: 'Содержимое сообщения',
|
||
operatorEq: 'Равно',
|
||
operatorNeq: 'Не равно',
|
||
operatorContains: 'Содержит',
|
||
operatorNotContains: 'Не содержит',
|
||
operatorStartsWith: 'Начинается с',
|
||
operatorRegex: 'Регулярное выражение',
|
||
operatorHas: 'Содержит',
|
||
operatorNotHas: 'Не содержит',
|
||
ruleTypeMessageHasElement: 'Элемент сообщения',
|
||
ruleValueElementPlaceholder: 'Выберите тип элемента',
|
||
elementImage: 'Изображение',
|
||
elementVoice: 'Голос',
|
||
elementFile: 'Файл',
|
||
elementForward: 'Пересланное',
|
||
elementFace: 'Эмодзи',
|
||
elementAt: '@Упоминание',
|
||
elementAtAll: '@Все',
|
||
elementQuote: 'Цитата',
|
||
ruleValuePlaceholder: 'Значение для сопоставления',
|
||
ruleValueLauncherIdPlaceholder: 'ID группы или пользователя',
|
||
ruleValueMessagePlaceholder: 'Текст сообщения',
|
||
ruleValuePrefixPlaceholder: 'Напр., !draw',
|
||
ruleValueRegexpPlaceholder: 'Напр., ^/help',
|
||
pipelineDiscard: 'Отклонить сообщение',
|
||
sessionTypePerson: 'Личный чат',
|
||
sessionTypeGroup: 'Групповой чат',
|
||
adapterConfigDescription: 'Настройте выбранный адаптер платформы',
|
||
dangerZone: 'Опасная зона',
|
||
dangerZoneDescription: 'Необратимые и деструктивные действия',
|
||
deleteBotAction: 'Удалить этого бота',
|
||
deleteBotHint:
|
||
'После удаления все связанные настройки будут безвозвратно удалены.',
|
||
webhookUrl: 'URL обратного вызова Webhook',
|
||
webhookUrlCopied: 'URL Webhook скопирован',
|
||
webhookUrlHint:
|
||
'Нажмите на поле ввода, чтобы выделить всё, затем Ctrl+C (Mac: Cmd+C) для копирования, или нажмите кнопку',
|
||
webhookUrlHintEither:
|
||
'Используйте любой из двух URL выше в настройках вашей платформы',
|
||
webhookSaasHint:
|
||
'Для Webhook требуется публично доступный домен. LangBot Cloud предоставляет готовую публичную конечную точку для вашего бота.',
|
||
webhookSaasLink: 'Подробнее о LangBot Cloud',
|
||
adapterCategory: {
|
||
popular: 'Популярные',
|
||
china: 'Китай',
|
||
global: 'Глобальные',
|
||
protocol: 'Протокол',
|
||
},
|
||
logLevel: 'Уровень журнала',
|
||
allLevels: 'Все уровни',
|
||
selectLevel: 'Выберите уровень',
|
||
levelsSelected: 'уровней выбрано',
|
||
viewDetailedLogs: 'Подробные журналы',
|
||
viewDetails: 'Подробности',
|
||
collapse: 'Свернуть',
|
||
imagesAttached: 'изображений прикреплено',
|
||
noLogs: 'Журналов пока нет',
|
||
sessionMonitor: {
|
||
title: 'Сессии',
|
||
sessions: 'Сессии',
|
||
noSessions: 'Сессии не найдены',
|
||
selectSession: 'Выберите сессию для просмотра сообщений',
|
||
noMessages: 'В этой сессии нет сообщений',
|
||
messages: 'сообщений',
|
||
messageCount: '{{count}} сообщений',
|
||
loading: 'Загрузка...',
|
||
loadingSessions: 'Загрузка сессий...',
|
||
loadingMessages: 'Загрузка сообщений...',
|
||
user: 'Пользователь',
|
||
variables: 'Переменные',
|
||
platform: 'Платформа',
|
||
lastActive: 'Последняя активность',
|
||
refresh: 'Обновить',
|
||
active: 'Активна',
|
||
inactive: 'Неактивна',
|
||
discarded: 'Отклонена',
|
||
userMessage: 'Пользователь',
|
||
botMessage: 'Ассистент',
|
||
},
|
||
},
|
||
plugins: {
|
||
title: 'Расширения',
|
||
description:
|
||
'Установка и настройка плагинов для расширения функциональности. Выберите их в настройках конвейера',
|
||
createPlugin: 'Создать плагин',
|
||
editPlugin: 'Редактировать плагин',
|
||
installed: 'Установленные',
|
||
marketplace: 'Маркетплейс',
|
||
arrange: 'Сортировка плагинов',
|
||
install: 'Установить',
|
||
installPlugin: 'Установить плагин',
|
||
onlySupportGithub:
|
||
'В настоящее время поддерживается установка только с GitHub',
|
||
enterGithubLink: 'Введите ссылку на GitHub плагина',
|
||
installing: 'Установка плагина...',
|
||
installSuccess: 'Плагин успешно установлен',
|
||
installFailed: 'Ошибка установки плагина:',
|
||
searchPlugin: 'Поиск плагинов',
|
||
sortBy: 'Сортировать по',
|
||
mostStars: 'Больше всего звёзд',
|
||
recentlyAdded: 'Недавно добавленные',
|
||
recentlyUpdated: 'Недавно обновлённые',
|
||
noMatchingPlugins: 'Подходящие плагины не найдены',
|
||
loading: 'Загрузка...',
|
||
getPluginListError: 'Не удалось получить список плагинов:',
|
||
noPluginInstalled: 'Плагины не установлены',
|
||
pluginConfig: 'Настройка плагина',
|
||
pluginSort: 'Порядок плагинов',
|
||
pluginSortDescription:
|
||
'Порядок плагинов влияет на очерёдность обработки одного события. Перетащите карточку плагина для сортировки',
|
||
pluginSortSuccess: 'Порядок плагинов обновлён',
|
||
pluginSortError: 'Ошибка сортировки плагинов: ',
|
||
pluginNoConfig: 'У плагина нет параметров настройки.',
|
||
systemDisabled: 'Система плагинов отключена',
|
||
systemDisabledDesc:
|
||
'Система плагинов не включена. Измените конфигурацию согласно документации',
|
||
connectionError: 'Ошибка подключения системы плагинов',
|
||
connectionErrorDesc:
|
||
'Проверьте конфигурацию системы плагинов или обратитесь к администратору.',
|
||
errorDetails: 'Подробности ошибки',
|
||
loadingStatus: 'Проверка статуса системы плагинов...',
|
||
failedToGetStatus: 'Не удалось получить статус системы плагинов',
|
||
pluginSystemNotReady:
|
||
'Система плагинов не готова, невозможно выполнить эту операцию',
|
||
debugInfo: 'Отладочная информация',
|
||
debugInfoTitle: 'Отладочная информация плагина',
|
||
debugUrl: 'URL для отладки',
|
||
debugKey: 'Ключ отладки',
|
||
noDebugKey: '(Не задан)',
|
||
debugKeyDisabled:
|
||
'Ключ отладки не задан, аутентификация при отладке плагина не требуется',
|
||
failedToGetDebugInfo: 'Не удалось получить отладочную информацию',
|
||
copiedToClipboard: 'Скопировано в буфер обмена',
|
||
deleting: 'Удаление...',
|
||
deletePlugin: 'Удалить плагин',
|
||
cancel: 'Отмена',
|
||
saveConfig: 'Сохранить настройки',
|
||
saving: 'Сохранение...',
|
||
confirmDeletePlugin:
|
||
'Вы уверены, что хотите удалить плагин ({{author}}/{{name}})?',
|
||
deleteDataCheckbox:
|
||
'Также удалить конфигурацию плагина и постоянное хранилище',
|
||
confirmDelete: 'Подтвердить удаление',
|
||
deleteError: 'Ошибка удаления: ',
|
||
close: 'Закрыть',
|
||
deleteConfirm: 'Подтверждение удаления',
|
||
deleteSuccess: 'Удаление успешно',
|
||
modifyFailed: 'Ошибка изменения: ',
|
||
componentName: {
|
||
Tool: 'Инструмент',
|
||
EventListener: 'Обработчик событий',
|
||
Command: 'Команда',
|
||
KnowledgeEngine: 'Движок знаний',
|
||
Parser: 'Парсер',
|
||
Page: 'Страница',
|
||
},
|
||
uploadLocal: 'Загрузить локально',
|
||
debugging: 'Отладка',
|
||
uploadLocalPlugin: 'Загрузить локальный плагин',
|
||
dragToUpload: 'Перетащите файл плагина сюда для загрузки',
|
||
unsupportedFileType:
|
||
'Неподдерживаемый тип файла, поддерживаются только файлы .lbpkg и .zip',
|
||
uploadingPlugin: 'Загрузка плагина...',
|
||
uploadSuccess: 'Загрузка успешна',
|
||
uploadFailed: 'Ошибка загрузки',
|
||
selectFileToUpload: 'Выберите файл плагина для загрузки',
|
||
askConfirm:
|
||
'Вы уверены, что хотите установить плагин "{{name}}" ({{version}})?',
|
||
fromGithub: 'С GitHub',
|
||
fromLocal: 'Из локального файла',
|
||
fromMarketplace: 'Из маркетплейса',
|
||
componentsList: 'Компоненты: ',
|
||
noComponents: 'Нет компонентов',
|
||
delete: 'Удалить плагин',
|
||
update: 'Обновить плагин',
|
||
new: 'Новый',
|
||
updateConfirm: 'Подтверждение обновления',
|
||
confirmUpdatePlugin:
|
||
'Вы уверены, что хотите обновить плагин ({{author}}/{{name}})?',
|
||
confirmUpdate: 'Подтвердить обновление',
|
||
updating: 'Обновление...',
|
||
updateSuccess: 'Плагин успешно обновлён',
|
||
updateError: 'Ошибка обновления: ',
|
||
saveConfigSuccessNormal: 'Конфигурация успешно сохранена',
|
||
saveConfigError: 'Ошибка сохранения конфигурации: ',
|
||
config: 'Настройки',
|
||
readme: 'Документация',
|
||
viewSource: 'Исходный код',
|
||
loadingReadme: 'Загрузка документации...',
|
||
noReadme: 'Этот плагин не предоставляет документацию README',
|
||
fileUpload: {
|
||
tooLarge: 'Размер файла превышает лимит 10 МБ',
|
||
success: 'Файл успешно загружен',
|
||
failed: 'Ошибка загрузки файла',
|
||
uploading: 'Загрузка...',
|
||
chooseFile: 'Выбрать файл',
|
||
addFile: 'Добавить файл',
|
||
},
|
||
installFromGithub: 'С GitHub',
|
||
enterRepoUrl: 'Введите URL репозитория GitHub',
|
||
repoUrlPlaceholder: 'Напр., https://github.com/owner/repo',
|
||
fetchingReleases: 'Загрузка релизов...',
|
||
selectRelease: 'Выберите релиз',
|
||
noReleasesFound: 'Релизы не найдены',
|
||
fetchReleasesError: 'Не удалось загрузить релизы: ',
|
||
selectAsset: 'Выберите файл для установки',
|
||
noAssetsFound: 'В этом релизе нет файлов .lbpkg',
|
||
fetchAssetsError: 'Не удалось загрузить файлы: ',
|
||
backToReleases: 'Назад к релизам',
|
||
backToRepoUrl: 'Назад к URL репозитория',
|
||
backToAssets: 'Назад к файлам',
|
||
releaseTag: 'Тег: {{tag}}',
|
||
releaseName: 'Название: {{name}}',
|
||
publishedAt: 'Опубликовано: {{date}}',
|
||
prerelease: 'Предварительный релиз',
|
||
assetSize: 'Размер: {{size}}',
|
||
confirmInstall: 'Подтвердить установку',
|
||
installFromGithubDesc: 'Установить плагин из GitHub Release',
|
||
goToMarketplace: 'Перейти в маркетплейс',
|
||
installProgress: {
|
||
title: 'Установка {{name}}',
|
||
titleGeneric: 'Установка плагина',
|
||
overallProgress: 'Общий прогресс',
|
||
downloading: 'Загрузка плагина',
|
||
installingDeps: 'Установка зависимостей',
|
||
initializing: 'Инициализация настроек',
|
||
launching: 'Запуск плагина',
|
||
completed: 'Завершено',
|
||
failed: 'Ошибка',
|
||
downloadSize: 'Размер пакета: {{size}}',
|
||
depsInfo: '{{count}} зависимостей для установки',
|
||
depsProgress:
|
||
'{{installed}}/{{total}} установлено · {{remaining}} осталось',
|
||
installComplete: 'Плагин успешно установлен',
|
||
dismiss: 'Закрыть',
|
||
background: 'В фоновом режиме',
|
||
taskQueue: 'Задачи установки',
|
||
clearCompleted: 'Очистить завершённые',
|
||
noTasks: 'Нет задач установки',
|
||
},
|
||
},
|
||
market: {
|
||
searchPlaceholder: 'Поиск плагинов...',
|
||
searchResults: 'Найдено {{count}} плагинов',
|
||
totalPlugins: 'Всего {{count}} плагинов',
|
||
noPlugins: 'Нет доступных плагинов',
|
||
noResults: 'Подходящие плагины не найдены',
|
||
loadingMore: 'Загрузка ещё...',
|
||
loading: 'Загрузка...',
|
||
allLoaded: 'Все плагины отображены',
|
||
install: 'Установить',
|
||
installConfirm:
|
||
'Вы уверены, что хотите установить плагин "{{name}}" ({{version}})?',
|
||
downloadComplete: 'Плагин "{{name}}" загружен',
|
||
installFailed: 'Ошибка установки, попробуйте позже',
|
||
loadFailed: 'Не удалось получить список плагинов, попробуйте позже',
|
||
noDescription: 'Описание отсутствует',
|
||
notFound: 'Информация о плагине не найдена',
|
||
sortBy: 'Сортировать по',
|
||
sort: {
|
||
recentlyAdded: 'Недавно добавленные',
|
||
recentlyUpdated: 'Недавно обновлённые',
|
||
mostDownloads: 'Больше всего загрузок',
|
||
leastDownloads: 'Меньше всего загрузок',
|
||
},
|
||
downloads: 'загрузок',
|
||
download: 'Скачать',
|
||
repository: 'Репозиторий',
|
||
downloadFailed: 'Ошибка загрузки',
|
||
noReadme: 'Этот плагин не предоставляет документацию README',
|
||
description: 'Описание',
|
||
tagLabel: 'Теги',
|
||
submissionTitle: 'У вас есть плагин на рассмотрении: {{name}}',
|
||
submissionPending: 'Ваш плагин находится на рассмотрении: {{name}}',
|
||
submissionApproved: 'Ваш плагин одобрен: {{name}}',
|
||
submissionRejected: 'Ваш плагин отклонён: {{name}}',
|
||
clickToRevoke: 'Отозвать',
|
||
revokeSuccess: 'Успешно отозвано',
|
||
revokeFailed: 'Ошибка отзыва',
|
||
submissionDetails: 'Детали заявки на плагин',
|
||
markAsRead: 'Отметить как прочитанное',
|
||
markAsReadSuccess: 'Отмечено как прочитанное',
|
||
markAsReadFailed: 'Не удалось отметить как прочитанное',
|
||
filterByComponent: 'Компонент',
|
||
allComponents: 'Все компоненты',
|
||
requestPlugin: 'Запросить плагин',
|
||
viewDetails: 'Подробнее',
|
||
deprecated: 'Устаревший',
|
||
deprecatedTooltip:
|
||
'Пожалуйста, установите соответствующий плагин движка знаний.',
|
||
tags: {
|
||
filterByTags: 'Фильтр по тегам',
|
||
selected: 'выбрано',
|
||
selectTags: 'Выберите теги',
|
||
clearAll: 'Очистить всё',
|
||
noTags: 'Нет доступных тегов',
|
||
},
|
||
},
|
||
mcp: {
|
||
title: 'MCP',
|
||
createServer: 'Добавить MCP-сервер',
|
||
editServer: 'Редактировать MCP-сервер',
|
||
deleteServer: 'Удалить MCP-сервер',
|
||
confirmDeleteServer: 'Вы уверены, что хотите удалить этот MCP-сервер?',
|
||
confirmDeleteTitle: 'Удаление MCP-сервера',
|
||
getServerListError: 'Не удалось получить список MCP-серверов: ',
|
||
serverName: 'Имя сервера',
|
||
serverMode: 'Режим подключения',
|
||
selectMode: 'Выберите режим',
|
||
stdio: 'Режим Stdio',
|
||
sse: 'Режим SSE',
|
||
http: 'Режим HTTP',
|
||
noServerInstalled: 'MCP-серверы не настроены',
|
||
serverNameRequired: 'Имя сервера не может быть пустым',
|
||
commandRequired: 'Команда не может быть пустой',
|
||
urlRequired: 'URL не может быть пустым',
|
||
timeoutMustBePositive: 'Таймаут должен быть положительным числом',
|
||
command: 'Команда',
|
||
args: 'Аргументы',
|
||
env: 'Переменные окружения',
|
||
url: 'URL',
|
||
headers: 'Заголовки',
|
||
timeout: 'Таймаут',
|
||
addArgument: 'Добавить аргумент',
|
||
addEnvVar: 'Добавить переменную окружения',
|
||
addHeader: 'Добавить заголовок',
|
||
keyName: 'Имя ключа',
|
||
value: 'Значение',
|
||
testing: 'Тестирование...',
|
||
connecting: 'Подключение...',
|
||
testSuccess: 'Тест успешен',
|
||
testFailed: 'Тест не пройден: ',
|
||
testError: 'Ошибка тестирования',
|
||
refreshSuccess: 'Обновление успешно',
|
||
refreshFailed: 'Ошибка обновления: ',
|
||
connectionSuccess: 'Подключение успешно',
|
||
connectionFailed: 'Не удалось подключиться, проверьте URL',
|
||
connectionFailedStatus: 'Ошибка подключения',
|
||
toolsFound: 'инструментов',
|
||
unknownError: 'Неизвестная ошибка',
|
||
noToolsFound: 'Инструменты не найдены',
|
||
parseResultFailed: 'Не удалось разобрать результат теста',
|
||
noResultReturned: 'Тест не вернул результат',
|
||
getTaskFailed: 'Не удалось получить статус задачи',
|
||
noTaskId: 'Не удалось получить ID задачи',
|
||
deleteSuccess: 'Успешно удалено',
|
||
deleteFailed: 'Ошибка удаления: ',
|
||
deleteError: 'Ошибка удаления: ',
|
||
saveSuccess: 'Успешно сохранено',
|
||
saveError: 'Ошибка сохранения: ',
|
||
createSuccess: 'Успешно создано',
|
||
createFailed: 'Ошибка создания: ',
|
||
createError: 'Ошибка создания: ',
|
||
loadFailed: 'Ошибка загрузки',
|
||
modifyFailed: 'Ошибка изменения: ',
|
||
toolCount: 'Инструменты: {{count}}',
|
||
statusConnected: 'Подключён',
|
||
statusDisconnected: 'Отключён',
|
||
statusError: 'Ошибка подключения',
|
||
statusDisabled: 'Отключён',
|
||
loading: 'Загрузка...',
|
||
starCount: 'Звёзды: {{count}}',
|
||
install: 'Установить',
|
||
installFromGithub: 'Установить MCP-сервер с GitHub',
|
||
add: 'Добавить',
|
||
name: 'Название',
|
||
nameRequired: 'Название не может быть пустым',
|
||
sseTimeout: 'Таймаут SSE',
|
||
sseTimeoutDescription: 'Таймаут для установления SSE-соединения',
|
||
extraParametersDescription:
|
||
'Дополнительные параметры для настройки поведения MCP-сервера',
|
||
timeoutMustBeNumber: 'Таймаут должен быть числом',
|
||
timeoutNonNegative: 'Таймаут не может быть отрицательным',
|
||
sseTimeoutMustBeNumber: 'Таймаут SSE должен быть числом',
|
||
sseTimeoutNonNegative: 'Таймаут SSE не может быть отрицательным',
|
||
updateSuccess: 'Успешно обновлено',
|
||
updateFailed: 'Ошибка обновления: ',
|
||
selectFromSidebar: 'Выберите MCP-сервер из боковой панели',
|
||
dangerZone: 'Опасная зона',
|
||
dangerZoneDescription:
|
||
'Необратимые и деструктивные действия для этого MCP-сервера.',
|
||
deleteMCPAction: 'Удалить этот MCP-сервер',
|
||
deleteMCPHint:
|
||
'После удаления конфигурация этого MCP-сервера не может быть восстановлена.',
|
||
},
|
||
pipelines: {
|
||
title: 'Конвейеры',
|
||
description:
|
||
'Конвейеры определяют поток обработки событий сообщений и привязываются к ботам',
|
||
createPipeline: 'Создать конвейер',
|
||
selectFromSidebar: 'Выберите конвейер из боковой панели',
|
||
editPipeline: 'Редактировать конвейер',
|
||
chat: 'Чат',
|
||
configuration: 'Настройки',
|
||
debugChat: 'Отладочный чат',
|
||
getPipelineListError: 'Не удалось получить список конвейеров: ',
|
||
daysAgo: 'дней назад',
|
||
today: 'Сегодня',
|
||
updateTime: 'Обновлено ',
|
||
defaultBadge: 'По умолчанию',
|
||
sortBy: 'Сортировать по',
|
||
newestCreated: 'Сначала новые',
|
||
earliestCreated: 'Сначала старые',
|
||
recentlyEdited: 'Недавно изменённые',
|
||
earliestEdited: 'Давно изменённые',
|
||
basicInfo: 'Основная информация',
|
||
basicInfoDescription: 'Задайте название, иконку и описание конвейера',
|
||
aiCapabilities: 'ИИ',
|
||
triggerConditions: 'Триггер',
|
||
safetyControls: 'Безопасность',
|
||
outputProcessing: 'Вывод',
|
||
nameRequired: 'Название не может быть пустым',
|
||
descriptionRequired: 'Описание не может быть пустым',
|
||
createSuccess: 'Успешно создано. Отредактируйте параметры конвейера',
|
||
createError: 'Ошибка создания: ',
|
||
saveSuccess: 'Успешно сохранено',
|
||
saveError: 'Ошибка сохранения: ',
|
||
copySuffix: ' Копия',
|
||
deleteConfirmation:
|
||
'Вы уверены, что хотите удалить этот конвейер? Боты, привязанные к нему, перестанут работать.',
|
||
defaultPipelineCannotDelete: 'Конвейер по умолчанию нельзя удалить',
|
||
deleteSuccess: 'Успешно удалено',
|
||
deleteError: 'Ошибка удаления: ',
|
||
copyConfirmTitle: 'Подтверждение копирования',
|
||
copyConfirmation:
|
||
'Вы уверены, что хотите скопировать этот конвейер? Будет создан новый конвейер со всеми настройками.',
|
||
unsavedChanges: 'У вас есть несохранённые изменения',
|
||
dangerZone: 'Опасная зона',
|
||
dangerZoneDescription: 'Необратимые и деструктивные действия',
|
||
deletePipelineAction: 'Удалить этот конвейер',
|
||
deletePipelineHint:
|
||
'После удаления боты, привязанные к этому конвейеру, перестанут работать.',
|
||
copyPipelineAction: 'Копировать этот конвейер',
|
||
copyPipelineHint: 'Создать новый конвейер с дублированием всех настроек.',
|
||
extensions: {
|
||
title: 'Расширения',
|
||
loadError: 'Не удалось загрузить плагины',
|
||
saveSuccess: 'Успешно сохранено',
|
||
saveError: 'Ошибка сохранения',
|
||
noPluginsAvailable: 'Нет доступных плагинов',
|
||
disabled: 'Отключено',
|
||
noPluginsSelected: 'Плагины не выбраны',
|
||
addPlugin: 'Добавить плагин',
|
||
selectPlugins: 'Выберите плагины',
|
||
pluginsTitle: 'Плагины',
|
||
mcpServersTitle: 'MCP-серверы',
|
||
noMCPServersSelected: 'MCP-серверы не выбраны',
|
||
addMCPServer: 'Добавить MCP-сервер',
|
||
selectMCPServers: 'Выберите MCP-серверы',
|
||
toolCount: '{{count}} инструментов',
|
||
noPluginsInstalled: 'Нет установленных плагинов',
|
||
noMCPServersConfigured: 'Нет настроенных MCP-серверов',
|
||
selectAll: 'Выбрать все',
|
||
enableAllPlugins: 'Включить все плагины',
|
||
enableAllMCPServers: 'Включить все MCP-серверы',
|
||
allPluginsEnabled: 'Все плагины включены',
|
||
allMCPServersEnabled: 'Все MCP-серверы включены',
|
||
},
|
||
debugDialog: {
|
||
title: 'Чат конвейера',
|
||
selectPipeline: 'Выберите конвейер',
|
||
sessionType: 'Тип сессии',
|
||
privateChat: 'Личный чат',
|
||
groupChat: 'Групповой чат',
|
||
send: 'Отправить',
|
||
reset: 'Сбросить диалог',
|
||
inputPlaceholder: 'Отправить {{type}} сообщение...',
|
||
noMessages: 'Нет сообщений',
|
||
userMessage: 'Пользователь',
|
||
botMessage: 'Бот',
|
||
sendFailed: 'Ошибка отправки',
|
||
resetSuccess: 'Диалог успешно сброшен',
|
||
resetFailed: 'Ошибка сброса',
|
||
loadMessagesFailed: 'Не удалось загрузить сообщения',
|
||
loadPipelinesFailed: 'Не удалось загрузить конвейеры',
|
||
atTips: 'Упомянуть бота',
|
||
streaming: 'Потоковая передача',
|
||
streamOutput: 'Поток',
|
||
connected: 'WebSocket подключён',
|
||
disconnected: 'WebSocket отключён',
|
||
connectionError: 'Ошибка подключения WebSocket',
|
||
connectionFailed: 'Ошибка подключения WebSocket',
|
||
notConnected: 'WebSocket не подключён, повторите попытку позже',
|
||
imageUploadFailed: 'Ошибка загрузки изображения',
|
||
reply: 'Ответить',
|
||
replyTo: 'Ответ на',
|
||
showMarkdown: 'Показать Markdown',
|
||
showRaw: 'Показать исходный текст',
|
||
allMembers: 'Все участники',
|
||
file: 'Файл',
|
||
voice: 'Голос',
|
||
uploadImage: 'Загрузить изображение',
|
||
uploading: 'Загрузка...',
|
||
},
|
||
monitoring: {
|
||
title: 'Мониторинг',
|
||
description:
|
||
'Просмотр журналов выполнения и ошибок конвейера (за последние 24 часа)',
|
||
detailedLogs: 'Подробные журналы',
|
||
},
|
||
},
|
||
knowledge: {
|
||
title: 'Знания',
|
||
createKnowledgeBase: 'Создать базу знаний',
|
||
selectFromSidebar: 'Выберите базу знаний из боковой панели',
|
||
editKnowledgeBase: 'Редактировать базу знаний',
|
||
selectKnowledgeBase: 'Выберите базу знаний',
|
||
selectKnowledgeBases: 'Выберите базы знаний',
|
||
addKnowledgeBase: 'Добавить базу знаний',
|
||
noKnowledgeBaseSelected: 'Базы знаний не выбраны',
|
||
empty: 'Пусто',
|
||
editDocument: 'Документы',
|
||
description: 'Настройка баз знаний для улучшения ответов LLM',
|
||
metadata: 'Метаданные',
|
||
documents: 'Документы',
|
||
kbNameRequired: 'Название базы знаний не может быть пустым',
|
||
kbDescriptionRequired: 'Описание базы знаний не может быть пустым',
|
||
embeddingModelUUIDRequired: 'Модель Embedding не может быть пустой',
|
||
daysAgo: 'дней назад',
|
||
today: 'Сегодня',
|
||
kbName: 'Название базы знаний',
|
||
kbDescription: 'Описание базы знаний',
|
||
topK: 'Top K',
|
||
topKRequired: 'Top K не может быть пустым',
|
||
topKMax: 'Максимальное значение Top K — 30',
|
||
topKdescription:
|
||
'Указывает количество релевантных документов для извлечения, от 1 до 30.',
|
||
defaultDescription: 'База знаний',
|
||
embeddingModelUUID: 'Модель Embedding',
|
||
selectEmbeddingModel: 'Выберите модель Embedding',
|
||
embeddingModelDescription:
|
||
'Используется для векторизации текста. Настроить можно на странице моделей',
|
||
updateTime: 'Обновлено ',
|
||
cannotChangeEmbeddingModel:
|
||
'Модель Embedding нельзя изменить после создания базы знаний',
|
||
updateKnowledgeBaseSuccess: 'База знаний успешно обновлена',
|
||
updateKnowledgeBaseFailed: 'Ошибка обновления базы знаний: ',
|
||
documentsTab: {
|
||
name: 'Название',
|
||
status: 'Статус',
|
||
noResults: 'Нет документов',
|
||
dragAndDrop: 'Перетащите файлы сюда или нажмите для загрузки',
|
||
uploading: 'Загрузка...',
|
||
supportedFormats:
|
||
'Поддерживаются PDF, Word, TXT, Markdown, HTML, ZIP и другие форматы',
|
||
uploadSuccess: 'Файл успешно загружен!',
|
||
uploadError: 'Ошибка загрузки файла: ',
|
||
uploadingFile: 'Загрузка файла...',
|
||
fileSizeExceeded:
|
||
'Размер файла превышает 10 МБ. Разделите на файлы меньшего размера.',
|
||
actions: 'Действия',
|
||
delete: 'Удалить файл',
|
||
fileDeleteSuccess: 'Файл успешно удалён',
|
||
fileDeleteFailed: 'Ошибка удаления файла: ',
|
||
processing: 'Обработка',
|
||
completed: 'Завершено',
|
||
failed: 'Ошибка',
|
||
selectParser: 'Выберите парсер',
|
||
builtInParser: 'Предоставлено движком знаний',
|
||
noParserAvailable:
|
||
'Нет парсера, поддерживающего этот тип файла. Установите плагин-парсер для этого формата.',
|
||
installParserHint: 'Найти плагины-парсеры в маркетплейсе →',
|
||
confirmUpload: 'Загрузить',
|
||
cancelUpload: 'Отмена',
|
||
},
|
||
deleteKnowledgeBaseConfirmation:
|
||
'Вы уверены, что хотите удалить эту базу знаний? Все документы будут удалены.',
|
||
retrieve: 'Тест извлечения',
|
||
retrieveTest: 'Тест извлечения',
|
||
query: 'Запрос',
|
||
queryPlaceholder: 'Введите текст запроса...',
|
||
distance: 'Расстояние',
|
||
content: 'Содержимое',
|
||
fileName: 'Имя файла',
|
||
noResults: 'Нет результатов',
|
||
retrieveError: 'Ошибка извлечения: ',
|
||
unknownEngine: 'Неизвестный движок',
|
||
knowledgeEngine: 'Движок знаний',
|
||
knowledgeEngineRequired: 'Движок знаний обязателен',
|
||
selectKnowledgeEngine: 'Выберите движок знаний',
|
||
builtInEngine: 'Встроенный движок',
|
||
cannotChangeKnowledgeEngine: 'Движок знаний нельзя изменить после создания',
|
||
basicInfo: 'Основная информация',
|
||
basicInfoDescription: 'Задайте название, иконку и описание базы знаний',
|
||
engineSettings: 'Настройки движка',
|
||
engineSettingsDescription: 'Конфигурация выбранного движка знаний',
|
||
engineSettingsReadonly: 'только чтение в режиме редактирования',
|
||
retrievalSettings: 'Настройки извлечения',
|
||
retrievalSettingsDescription:
|
||
'Настройте способ извлечения документов из базы знаний',
|
||
dangerZone: 'Опасная зона',
|
||
dangerZoneDescription: 'Необратимые и деструктивные действия',
|
||
deleteKbAction: 'Удалить эту базу знаний',
|
||
deleteKbHint:
|
||
'После удаления все документы и данные будут безвозвратно удалены.',
|
||
noEnginesAvailable: 'Нет доступных движков баз знаний',
|
||
installEngineHint: 'Сначала установите плагин «Движок знаний»',
|
||
createKnowledgeBaseFailed: 'Ошибка создания базы знаний: ',
|
||
loadKnowledgeBaseFailed: 'Ошибка загрузки базы знаний: ',
|
||
deleteKnowledgeBaseFailed: 'Ошибка удаления базы знаний: ',
|
||
getKnowledgeBaseListError: 'Не удалось получить список баз знаний: ',
|
||
embeddingModel: 'Модель Embedding',
|
||
embeddingModelRequired: 'Модель Embedding обязательна для этого движка',
|
||
addExternal: 'Добавить внешнюю базу знаний',
|
||
createExternalSuccess: 'Внешняя база знаний успешно создана',
|
||
updateExternalSuccess: 'Внешняя база знаний успешно обновлена',
|
||
deleteExternalSuccess: 'Внешняя база знаний успешно удалена',
|
||
retriever: 'Ретривер',
|
||
selectRetriever: 'Выберите ретривер...',
|
||
retrieverConfiguration: 'Настройка ретривера',
|
||
retrieverInstallInfo: 'Вы можете установить плагины ретривера знаний из',
|
||
retrieverMarketLink: 'маркетплейса',
|
||
migration: {
|
||
title: 'Миграция базы знаний',
|
||
description:
|
||
'Новая версия переработала базы знаний в архитектуру на основе плагинов. Требуется миграция данных. Старые данные автоматически сохранены в базе данных.',
|
||
detected:
|
||
'Найдено {{total}} баз знаний для миграции ({{internal}} внутренних, {{external}} внешних).',
|
||
startWithInstall: 'Автоустановка плагина и миграция',
|
||
startDataOnly: 'Только миграция данных',
|
||
dataOnlyHint:
|
||
'«Только миграция данных» подходит для офлайн/интранет-сред. Установите плагин вручную после миграции.',
|
||
dismiss: 'Отклонить исходные данные',
|
||
running: 'Миграция баз знаний, пожалуйста, подождите...',
|
||
success: 'Миграция базы знаний завершена',
|
||
error: 'Ошибка миграции базы знаний: ',
|
||
dismissError: 'Ошибка операции',
|
||
retry: 'Повторить',
|
||
},
|
||
},
|
||
register: {
|
||
title: 'Инициализация LangBot 👋',
|
||
description: 'Вы впервые запускаете LangBot',
|
||
adminAccountNote:
|
||
'Указанная учётная запись будет настроена как администратор',
|
||
register: 'Регистрация',
|
||
initWithSpace: 'Инициализация через Space',
|
||
spaceRecommended:
|
||
'Рекомендуется: Используйте официальные стабильные API моделей и облачные сервисы',
|
||
spaceInfoTip1:
|
||
'Space предоставляет единую службу аутентификации без загрузки конфиденциальной информации.',
|
||
spaceInfoTip2:
|
||
'Вход через Space даёт доступ к моделям LangBot и облачным сервисам, включая бесплатные кредиты для быстрого старта.',
|
||
spaceInfoTip3:
|
||
'Способ входа не влияет на другие функции. Вы можете настроить модели из других источников в любое время.',
|
||
registerLocal: 'Зарегистрировать локальную учётную запись',
|
||
registerWithPassword: 'Зарегистрироваться с email и паролем',
|
||
initSuccess: 'Инициализация успешна, пожалуйста, войдите',
|
||
initFailed: 'Ошибка инициализации: ',
|
||
},
|
||
resetPassword: {
|
||
title: 'Сброс пароля 🔐',
|
||
description:
|
||
'Введите ключ восстановления и новый пароль для сброса пароля учётной записи',
|
||
recoveryKey: 'Ключ восстановления',
|
||
recoveryKeyDescription:
|
||
'Хранится в `system.recovery_key` файла конфигурации `data/config.yaml`',
|
||
newPassword: 'Новый пароль',
|
||
enterRecoveryKey: 'Введите ключ восстановления',
|
||
enterNewPassword: 'Введите новый пароль',
|
||
recoveryKeyRequired: 'Ключ восстановления не может быть пустым',
|
||
newPasswordRequired: 'Новый пароль не может быть пустым',
|
||
resetPassword: 'Сбросить пароль',
|
||
resetting: 'Сброс...',
|
||
resetSuccess: 'Пароль успешно сброшен, пожалуйста, войдите',
|
||
resetFailed: 'Ошибка сброса пароля, проверьте email и ключ восстановления',
|
||
backToLogin: 'Вернуться к входу',
|
||
},
|
||
embedding: {
|
||
description: 'Управление моделями Embedding для векторизации текста',
|
||
createModel: 'Создать модель Embedding',
|
||
editModel: 'Редактировать модель Embedding',
|
||
getModelListError: 'Не удалось получить список моделей Embedding: ',
|
||
embeddingModels: 'Embedding',
|
||
extraParametersDescription:
|
||
'Будут добавлены к телу запроса, например encoding_format, dimensions и т.д.',
|
||
},
|
||
llm: {
|
||
description: 'Управление LLM-моделями для генерации диалогов',
|
||
llmModels: 'LLM',
|
||
extraParametersDescription:
|
||
'Будут добавлены к телу запроса, например max_tokens, temperature, top_p и т.д.',
|
||
},
|
||
version: {
|
||
newVersionAvailable: 'Доступна новая версия',
|
||
viewUpdateGuide: 'Руководство по обновлению',
|
||
noReleaseNotes: 'Примечания к выпуску недоступны',
|
||
},
|
||
account: {
|
||
settings: 'Настройки аккаунта',
|
||
setPassword: 'Установить пароль',
|
||
passwordSetSuccess: 'Пароль успешно установлен',
|
||
passwordStatus: 'Локальный пароль',
|
||
passwordSet: 'Установлен',
|
||
passwordNotSet: 'Не установлен',
|
||
passwordSetDescription:
|
||
'Пароль установлен, вы можете входить с email и паролем',
|
||
spaceStatus: 'Аккаунт Space',
|
||
spaceBound: 'Привязан',
|
||
spaceNotBound: 'Не привязан',
|
||
spaceBoundDescription:
|
||
'Аккаунт Space привязан, доступны официальные API моделей и облачные сервисы',
|
||
bindSpace: 'Привязать аккаунт Space',
|
||
bindSpaceDescription:
|
||
'Привяжите для использования официальных API моделей и облачных сервисов',
|
||
bindSpaceButton: 'Привязать',
|
||
bindSpaceConfirmTitle: 'Подтверждение привязки',
|
||
bindSpaceConfirmDescription:
|
||
'Вы собираетесь привязать локальный экземпляр к аккаунту Space',
|
||
bindSpaceWarning:
|
||
'После привязки ваш email для входа будет изменён с {{localEmail}} на email аккаунта Space.',
|
||
bindSpaceSuccess: 'Аккаунт Space успешно привязан',
|
||
bindSpaceFailed: 'Не удалось привязать аккаунт Space',
|
||
bindSpaceInvalidState:
|
||
'Недействительный запрос привязки. Повторите попытку из настроек аккаунта.',
|
||
setPasswordHint: 'Установите пароль для входа с email и паролем',
|
||
spaceEmailMismatch:
|
||
'Email входа через Space не совпадает с email локальной учётной записи',
|
||
},
|
||
monitoring: {
|
||
title: 'Мониторинг',
|
||
description:
|
||
'Мониторинг активности ботов, вызовов LLM и производительности системы',
|
||
overview: 'Обзор',
|
||
totalMessages: 'Всего сообщений',
|
||
llmCallsCount: 'Вызовы LLM',
|
||
modelCallsCount: 'Вызовы моделей',
|
||
successRate: 'Доля успешных',
|
||
activeSessions: 'Активные сессии',
|
||
last24Hours: 'За последние 24 часа',
|
||
filters: {
|
||
title: 'Фильтры',
|
||
bot: 'Бот',
|
||
pipeline: 'Конвейер',
|
||
allBots: 'Все боты',
|
||
selectBot: 'Выберите бота',
|
||
allPipelines: 'Все конвейеры',
|
||
selectPipeline: 'Выберите конвейер',
|
||
loading: 'Загрузка...',
|
||
timeRange: 'Период',
|
||
customRange: 'Произвольный период',
|
||
from: 'С',
|
||
to: 'По',
|
||
apply: 'Применить',
|
||
reset: 'Сбросить фильтры',
|
||
lastHour: 'За последний час',
|
||
last6Hours: 'За последние 6 часов',
|
||
last24Hours: 'За последние 24 часа',
|
||
last7Days: 'За последние 7 дней',
|
||
last30Days: 'За последние 30 дней',
|
||
},
|
||
tabs: {
|
||
messages: 'Записи сообщений',
|
||
llmCalls: 'Вызовы LLM',
|
||
embeddingCalls: 'Вызовы Embedding',
|
||
modelCalls: 'Вызовы моделей',
|
||
feedback: 'Обратная связь',
|
||
sessions: 'Анализ сессий',
|
||
errors: 'Журнал ошибок',
|
||
},
|
||
messageList: {
|
||
timestamp: 'Время',
|
||
bot: 'Бот',
|
||
pipeline: 'Конвейер',
|
||
message: 'Сообщение',
|
||
sessionId: 'ID сессии',
|
||
status: 'Статус',
|
||
actions: 'Действия',
|
||
viewDetails: 'Подробнее',
|
||
copyId: 'Копировать ID',
|
||
noMessages: 'Сообщения не найдены',
|
||
noMessagesDescription: 'Попробуйте изменить фильтры или проверьте позже',
|
||
loading: 'Загрузка сообщений...',
|
||
loadMore: 'Загрузить ещё',
|
||
autoRefresh: 'Автообновление',
|
||
platform: 'Роль',
|
||
user: 'Пользователь',
|
||
level: 'Уровень',
|
||
runner: 'Обработчик',
|
||
viewConversation: 'Просмотр диалога',
|
||
},
|
||
llmCalls: {
|
||
title: 'Вызовы LLM',
|
||
model: 'Модель',
|
||
tokens: 'Токены',
|
||
duration: 'Длительность',
|
||
cost: 'Стоимость',
|
||
noData: 'Вызовы LLM не найдены',
|
||
inputTokens: 'Входные токены',
|
||
outputTokens: 'Выходные токены',
|
||
totalTokens: 'Всего токенов',
|
||
avgDuration: 'Средняя длительность',
|
||
calls: 'Вызовы',
|
||
},
|
||
embeddingCalls: {
|
||
title: 'Вызовы Embedding',
|
||
model: 'Модель',
|
||
tokens: 'Токены',
|
||
duration: 'Длительность',
|
||
noData: 'Вызовы Embedding не найдены',
|
||
promptTokens: 'Токены запроса',
|
||
totalTokens: 'Всего токенов',
|
||
inputCount: 'Количество входов',
|
||
knowledgeBase: 'База знаний',
|
||
queryText: 'Запрос',
|
||
},
|
||
modelCalls: {
|
||
title: 'Вызовы моделей',
|
||
llmModel: 'LLM',
|
||
embeddingModel: 'Embedding',
|
||
embeddingCall: 'Embedding',
|
||
retrieveCall: 'Извлечение',
|
||
noData: 'Вызовы моделей не найдены',
|
||
},
|
||
sessions: {
|
||
sessionId: 'ID сессии',
|
||
messageCount: 'Сообщений',
|
||
duration: 'Длительность',
|
||
lastActivity: 'Последняя активность',
|
||
noSessions: 'Сессии не найдены',
|
||
startTime: 'Время начала',
|
||
messageStats: 'Статистика сообщений',
|
||
totalMessages: 'Всего сообщений',
|
||
successMessages: 'Успешных',
|
||
errorMessages: 'С ошибками',
|
||
llmStats: 'Статистика LLM',
|
||
noData: 'Сессия не найдена',
|
||
},
|
||
errors: {
|
||
title: 'Ошибки',
|
||
errorType: 'Тип ошибки',
|
||
errorMessage: 'Сообщение об ошибке',
|
||
occurredAt: 'Время возникновения',
|
||
noErrors: 'Ошибки не найдены',
|
||
stackTrace: 'Стек вызовов',
|
||
},
|
||
feedback: {
|
||
title: 'Обратная связь',
|
||
totalFeedback: 'Всего отзывов',
|
||
totalLikes: 'Лайков',
|
||
totalDislikes: 'Дизлайков',
|
||
satisfactionRate: 'Уровень удовлетворённости',
|
||
like: 'Нравится',
|
||
dislike: 'Не нравится',
|
||
noFeedback: 'Отзывов пока нет',
|
||
noFeedbackDescription: 'Отзывы пользователей будут отображаться здесь',
|
||
feedbackList: 'Список отзывов',
|
||
feedbackContent: 'Содержание отзыва',
|
||
contextInfo: 'Контекстная информация',
|
||
userId: 'ID пользователя',
|
||
messageId: 'ID сообщения',
|
||
streamId: 'ID потока',
|
||
inaccurateReasons: 'Причины неточности',
|
||
platform: 'Платформа',
|
||
exportFeedback: 'Экспорт отзывов',
|
||
},
|
||
queries: {
|
||
title: 'Запросы',
|
||
},
|
||
messageDetails: {
|
||
noData: 'Нет вызовов LLM или ошибок для этого запроса',
|
||
},
|
||
queryVariables: {
|
||
title: 'Переменные запроса',
|
||
},
|
||
trafficChart: {
|
||
title: 'Обзор трафика',
|
||
messages: 'Сообщения',
|
||
llmCalls: 'Вызовы LLM',
|
||
noData: 'Нет данных о трафике',
|
||
},
|
||
viewMonitoring: 'Мониторинг',
|
||
refreshData: 'Обновить данные',
|
||
exportData: 'Экспорт данных',
|
||
export: {
|
||
title: 'Экспорт данных',
|
||
exporting: 'Экспорт...',
|
||
messages: 'Сообщения',
|
||
llmCalls: 'Вызовы LLM',
|
||
embeddingCalls: 'Вызовы Embedding',
|
||
errors: 'Журнал ошибок',
|
||
sessions: 'Сессии',
|
||
feedback: 'Отзывы пользователей',
|
||
},
|
||
},
|
||
storageAnalysis: {
|
||
title: 'Анализ хранилища',
|
||
description: 'Проверьте использование хранилища и кандидатов на очистку',
|
||
openDialog: 'Открыть анализ',
|
||
dialogTitle: 'Анализ хранилища',
|
||
generatedAt: 'Создано {{time}}',
|
||
loading: 'Загрузка...',
|
||
refresh: 'Обновить',
|
||
totalSize: 'Общий размер',
|
||
binaryStorage: 'Бинарное хранилище плагинов',
|
||
uploadCleanup: 'Просроченные загрузки',
|
||
logCleanup: 'Просроченные журналы',
|
||
sections: 'Разделы хранилища',
|
||
monitoringTables: 'Таблицы мониторинга',
|
||
runtimeTasks: 'Задачи runtime',
|
||
cleanupPolicy: 'Политика очистки',
|
||
uploadRetention: 'Хранение загрузок',
|
||
logRetention: 'Хранение журналов',
|
||
databaseType: 'Тип базы данных',
|
||
days: 'дн.',
|
||
missing: 'Нет',
|
||
expiredUploads: 'Просроченные загрузки',
|
||
expiredLogs: 'Просроченные журналы',
|
||
noExpiredUploads: 'Нет просроченных загруженных файлов',
|
||
noExpiredLogs: 'Нет просроченных журналов',
|
||
sectionNames: {
|
||
database: 'База данных',
|
||
logs: 'Журналы',
|
||
storage: 'Загруженные файлы',
|
||
vector_store: 'Векторное хранилище',
|
||
plugins: 'Плагины',
|
||
mcp: 'MCP',
|
||
temp: 'Временные файлы',
|
||
},
|
||
},
|
||
limitation: {
|
||
maxBotsReached:
|
||
'Достигнуто максимальное количество ботов ({{max}}). Удалите существующего бота перед созданием нового.',
|
||
maxPipelinesReached:
|
||
'Достигнуто максимальное количество конвейеров ({{max}}). Удалите существующий конвейер перед созданием нового.',
|
||
maxExtensionsReached:
|
||
'Достигнуто максимальное количество расширений ({{max}}). Удалите существующий MCP-сервер или плагин перед добавлением нового.',
|
||
},
|
||
wizard: {
|
||
sidebarDescription: 'Создать бота с пошаговым руководством',
|
||
loading: 'Загрузка мастера...',
|
||
loadError: 'Не удалось загрузить данные мастера',
|
||
skip: 'Пропустить',
|
||
skipConfirmMessage:
|
||
'Вы можете вернуться к мастеру быстрого старта из меню аккаунта позже или создать бота вручную.',
|
||
skipConfirmOk: 'ОК',
|
||
prev: 'Назад',
|
||
next: 'Далее',
|
||
finish: 'Создать и развернуть',
|
||
confirmCreateBot: 'Подтвердить, создать бота',
|
||
createSuccess: 'Конвейер создан и привязан к боту!',
|
||
botCreateSuccess: 'Бот успешно создан!',
|
||
botSaveSuccess: 'Конфигурация бота сохранена и включена!',
|
||
createError: 'Не удалось создать ресурсы',
|
||
spaceAuthError: 'Не удалось инициировать авторизацию через Space',
|
||
skipSaveError: 'Не удалось сохранить статус пропуска. Повторите попытку.',
|
||
completeSaveError:
|
||
'Не удалось сохранить статус завершения. Повторите попытку.',
|
||
step: {
|
||
platform: 'Платформа',
|
||
botConfig: 'Настройка бота',
|
||
aiEngine: 'ИИ-движок',
|
||
done: 'Готово',
|
||
},
|
||
platform: {
|
||
title: 'Выберите платформу',
|
||
description: 'Выберите мессенджер, к которому подключится ваш бот.',
|
||
},
|
||
botConfig: {
|
||
title: 'Настройте бота',
|
||
description: 'Настройте бота и проверьте его работу перед продолжением.',
|
||
saveBot: 'Сохранить и включить бота',
|
||
resaveBot: 'Пересохранить конфигурацию',
|
||
botSaved:
|
||
'Конфигурация бота сохранена и включена. Проверьте журналы для подтверждения подключения.',
|
||
logsTitle: 'Журналы бота',
|
||
logsDescription:
|
||
'Отслеживайте активность бота для проверки подключения к платформе.',
|
||
},
|
||
aiEngine: {
|
||
title: 'Выберите ИИ-движок',
|
||
description:
|
||
'Выберите ИИ-движок, который будет управлять интеллектом вашего бота.',
|
||
},
|
||
spaceBanner: {
|
||
message:
|
||
'Подключитесь к LangBot Space для бесплатных пробных кредитов и мгновенной настройки!',
|
||
action: 'Авторизация через Space',
|
||
},
|
||
config: {
|
||
botInfo: 'Информация о боте',
|
||
botNamePlaceholder: 'Введите имя бота',
|
||
botDescPlaceholder: 'Введите описание бота (необязательно)',
|
||
platformConfig: 'Настройка {{platform}}',
|
||
aiConfig: 'Настройка {{engine}}',
|
||
},
|
||
done: {
|
||
title: 'Всё готово!',
|
||
description:
|
||
'Ваш бот создан и подключён к конвейеру ИИ. Теперь вы можете управлять им из рабочей панели.',
|
||
backToWorkbench: 'Вернуться к рабочей панели',
|
||
},
|
||
},
|
||
pluginPages: {
|
||
selectFromSidebar: 'Выберите страницу плагина на боковой панели',
|
||
invalidPage: 'Недопустимая страница плагина',
|
||
},
|
||
};
|
||
|
||
export default ruRU;
|