mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-06-30 13:45:09 +08:00
Add Russian language (#7860)
Co-authored-by: d8rt8v <alex@ydertev.ru> Co-authored-by: crazywoola <427733928@qq.com>
This commit is contained in:
parent
a8b9e01b3e
commit
35f13c7327
@ -49,6 +49,7 @@ export const NOTICE_I18N = {
|
|||||||
ko_KR: '중요 공지',
|
ko_KR: '중요 공지',
|
||||||
pl_PL: 'Ważne ogłoszenie',
|
pl_PL: 'Ważne ogłoszenie',
|
||||||
uk_UA: 'Важливе повідомлення',
|
uk_UA: 'Важливе повідомлення',
|
||||||
|
ru_RU: 'Важное Уведомление',
|
||||||
vi_VN: 'Thông báo quan trọng',
|
vi_VN: 'Thông báo quan trọng',
|
||||||
it_IT: 'Avviso Importante',
|
it_IT: 'Avviso Importante',
|
||||||
fa_IR: 'هشدار مهم',
|
fa_IR: 'هشدار مهم',
|
||||||
@ -74,6 +75,8 @@ export const NOTICE_I18N = {
|
|||||||
'Nasz system będzie niedostępny od 19:00 do 24:00 UTC 28 sierpnia w celu aktualizacji. W przypadku pytań prosimy o kontakt z naszym zespołem wsparcia (support@dify.ai). Doceniamy Twoją cierpliwość.',
|
'Nasz system będzie niedostępny od 19:00 do 24:00 UTC 28 sierpnia w celu aktualizacji. W przypadku pytań prosimy o kontakt z naszym zespołem wsparcia (support@dify.ai). Doceniamy Twoją cierpliwość.',
|
||||||
uk_UA:
|
uk_UA:
|
||||||
'Наша система буде недоступна з 19:00 до 24:00 UTC 28 серпня для оновлення. Якщо у вас виникнуть запитання, будь ласка, зв’яжіться з нашою службою підтримки (support@dify.ai). Дякуємо за терпіння.',
|
'Наша система буде недоступна з 19:00 до 24:00 UTC 28 серпня для оновлення. Якщо у вас виникнуть запитання, будь ласка, зв’яжіться з нашою службою підтримки (support@dify.ai). Дякуємо за терпіння.',
|
||||||
|
ru_RU:
|
||||||
|
'Наша система будет недоступна с 19:00 до 24:00 UTC 28 августа для обновления. По вопросам, пожалуйста, обращайтесь в нашу службу поддержки (support@dify.ai). Спасибо за ваше терпение',
|
||||||
vi_VN:
|
vi_VN:
|
||||||
'Hệ thống của chúng tôi sẽ ngừng hoạt động từ 19:00 đến 24:00 UTC vào ngày 28 tháng 8 để nâng cấp. Nếu có thắc mắc, vui lòng liên hệ với nhóm hỗ trợ của chúng tôi (support@dify.ai). Chúng tôi đánh giá cao sự kiên nhẫn của bạn.',
|
'Hệ thống của chúng tôi sẽ ngừng hoạt động từ 19:00 đến 24:00 UTC vào ngày 28 tháng 8 để nâng cấp. Nếu có thắc mắc, vui lòng liên hệ với nhóm hỗ trợ của chúng tôi (support@dify.ai). Chúng tôi đánh giá cao sự kiên nhẫn của bạn.',
|
||||||
tr_TR:
|
tr_TR:
|
||||||
|
@ -68,7 +68,7 @@
|
|||||||
"name": "Русский (Россия)",
|
"name": "Русский (Россия)",
|
||||||
"prompt_name": "Russian",
|
"prompt_name": "Russian",
|
||||||
"example": " Привет, Dify!",
|
"example": " Привет, Dify!",
|
||||||
"supported": false
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"value": "it-IT",
|
"value": "it-IT",
|
||||||
|
87
web/i18n/ru-RU/app-annotation.ts
Normal file
87
web/i18n/ru-RU/app-annotation.ts
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
const translation = {
|
||||||
|
title: 'Аннотации',
|
||||||
|
name: 'Ответить на аннотацию',
|
||||||
|
editBy: 'Ответ отредактирован {{author}}',
|
||||||
|
noData: {
|
||||||
|
title: 'Нет аннотаций',
|
||||||
|
description: 'Вы можете редактировать аннотации во время отладки приложения или импортировать их массово здесь для получения качественного ответа.',
|
||||||
|
},
|
||||||
|
table: {
|
||||||
|
header: {
|
||||||
|
question: 'вопрос',
|
||||||
|
answer: 'ответ',
|
||||||
|
createdAt: 'создано',
|
||||||
|
hits: 'попаданий',
|
||||||
|
actions: 'действия',
|
||||||
|
addAnnotation: 'Добавить аннотацию',
|
||||||
|
bulkImport: 'Массовый импорт',
|
||||||
|
bulkExport: 'Массовый экспорт',
|
||||||
|
clearAll: 'Очистить все аннотации',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
editModal: {
|
||||||
|
title: 'Редактировать ответ аннотации',
|
||||||
|
queryName: 'Запрос пользователя',
|
||||||
|
answerName: 'Storyteller Bot',
|
||||||
|
yourAnswer: 'Ваш ответ',
|
||||||
|
answerPlaceholder: 'Введите ваш ответ здесь',
|
||||||
|
yourQuery: 'Ваш запрос',
|
||||||
|
queryPlaceholder: 'Введите ваш запрос здесь',
|
||||||
|
removeThisCache: 'Удалить эту аннотацию',
|
||||||
|
createdAt: 'Создано',
|
||||||
|
},
|
||||||
|
addModal: {
|
||||||
|
title: 'Добавить ответ аннотации',
|
||||||
|
queryName: 'Вопрос',
|
||||||
|
answerName: 'Ответ',
|
||||||
|
answerPlaceholder: 'Введите ответ здесь',
|
||||||
|
queryPlaceholder: 'Введите вопрос здесь',
|
||||||
|
createNext: 'Добавить еще один аннотированный ответ',
|
||||||
|
},
|
||||||
|
batchModal: {
|
||||||
|
title: 'Массовый импорт',
|
||||||
|
csvUploadTitle: 'Перетащите сюда ваш CSV-файл или ',
|
||||||
|
browse: 'выберите файл',
|
||||||
|
tip: 'CSV-файл должен соответствовать следующей структуре:',
|
||||||
|
question: 'вопрос',
|
||||||
|
answer: 'ответ',
|
||||||
|
contentTitle: 'содержимое фрагмента',
|
||||||
|
content: 'содержимое',
|
||||||
|
template: 'Скачать шаблон здесь',
|
||||||
|
cancel: 'Отмена',
|
||||||
|
run: 'Запустить пакет',
|
||||||
|
runError: 'Ошибка запуска пакета',
|
||||||
|
processing: 'В процессе пакетной обработки',
|
||||||
|
completed: 'Импорт завершен',
|
||||||
|
error: 'Ошибка импорта',
|
||||||
|
ok: 'ОК',
|
||||||
|
},
|
||||||
|
errorMessage: {
|
||||||
|
answerRequired: 'Ответ обязателен',
|
||||||
|
queryRequired: 'Вопрос обязателен',
|
||||||
|
},
|
||||||
|
viewModal: {
|
||||||
|
annotatedResponse: 'Ответ аннотации',
|
||||||
|
hitHistory: 'История попаданий',
|
||||||
|
hit: 'Попадание',
|
||||||
|
hits: 'Попадания',
|
||||||
|
noHitHistory: 'Нет истории попаданий',
|
||||||
|
},
|
||||||
|
hitHistoryTable: {
|
||||||
|
query: 'Запрос',
|
||||||
|
match: 'Совпадение',
|
||||||
|
response: 'Ответ',
|
||||||
|
source: 'Источник',
|
||||||
|
score: 'Оценка',
|
||||||
|
time: 'Время',
|
||||||
|
},
|
||||||
|
initSetup: {
|
||||||
|
title: 'Начальная настройка ответа аннотации',
|
||||||
|
configTitle: 'Настройка ответа аннотации',
|
||||||
|
confirmBtn: 'Сохранить и включить',
|
||||||
|
configConfirmBtn: 'Сохранить',
|
||||||
|
},
|
||||||
|
embeddingModelSwitchTip: 'Модель векторизации текста аннотаций, переключение между моделями будет осуществлено повторно, что приведет к дополнительным затратам.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
83
web/i18n/ru-RU/app-api.ts
Normal file
83
web/i18n/ru-RU/app-api.ts
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
const translation = {
|
||||||
|
apiServer: 'API Сервер',
|
||||||
|
apiKey: 'API Ключ',
|
||||||
|
status: 'Статус',
|
||||||
|
disabled: 'Отключено',
|
||||||
|
ok: 'В работе',
|
||||||
|
copy: 'Копировать',
|
||||||
|
copied: 'Скопировано',
|
||||||
|
play: 'Запустить',
|
||||||
|
pause: 'Приостановить',
|
||||||
|
playing: 'Запущено',
|
||||||
|
loading: 'Загрузка',
|
||||||
|
merMaind: {
|
||||||
|
rerender: 'Перезапустить рендеринг',
|
||||||
|
},
|
||||||
|
never: 'Никогда',
|
||||||
|
apiKeyModal: {
|
||||||
|
apiSecretKey: 'Секретный ключ API',
|
||||||
|
apiSecretKeyTips: 'Чтобы предотвратить злоупотребление API, защитите свой API ключ. Избегайте использования его в виде plain-текста во фронтенд-коде. :)',
|
||||||
|
createNewSecretKey: 'Создать новый секретный ключ',
|
||||||
|
secretKey: 'Секретный ключ',
|
||||||
|
created: 'СОЗДАН',
|
||||||
|
lastUsed: 'ПОСЛЕДНЕЕ ИСПОЛЬЗОВАНИЕ',
|
||||||
|
generateTips: 'Храните этот ключ в безопасном и доступном месте.',
|
||||||
|
},
|
||||||
|
actionMsg: {
|
||||||
|
deleteConfirmTitle: 'Удалить этот секретный ключ?',
|
||||||
|
deleteConfirmTips: 'Это действие необратимо.',
|
||||||
|
ok: 'ОК',
|
||||||
|
},
|
||||||
|
completionMode: {
|
||||||
|
title: 'API приложения',
|
||||||
|
info: 'Для высококачественной генерации текста, такой как статьи, резюме и переводы, используйте API completion-messages с пользовательским вводом. Генерация текста основана на параметрах модели и шаблонах подсказок, установленных в Dify Prompt Engineering.',
|
||||||
|
createCompletionApi: 'Создать completion-message',
|
||||||
|
createCompletionApiTip: 'Создайте completion-message для поддержки режима вопросов и ответов.',
|
||||||
|
inputsTips: '(Необязательно) Укажите поля пользовательского ввода в виде пар ключ-значение, соответствующих переменным в Prompt Eng. Ключ - это имя переменной, Значение - это значение параметра. Если тип поля - Выбор, отправленное Значение должно быть одним из предустановленных вариантов.',
|
||||||
|
queryTips: 'Текстовое содержимое пользовательского ввода.',
|
||||||
|
blocking: 'Блокирующий тип, ожидает завершения выполнения и возвращает результаты. (Запросы могут быть прерваны, если процесс длительный)',
|
||||||
|
streaming: ' Ответ в рамках потока. Реализация потоковой передачи ответов на основе SSE (Server-Sent Events).',
|
||||||
|
messageFeedbackApi: 'Обратная связь по сообщению (лайк)',
|
||||||
|
messageFeedbackApiTip: 'Оцените полученные сообщения от имени конечных пользователей с помощью лайков или дизлайков. Эти данные видны на странице Журналы и аннотации и используются для будущей тонкой настройки модели.',
|
||||||
|
messageIDTip: 'Идентификатор сообщения',
|
||||||
|
ratingTip: 'лайк или дизлайк, null - отмена',
|
||||||
|
parametersApi: 'Получить информацию о параметрах приложения',
|
||||||
|
parametersApiTip: 'Получить настроенные входные параметры, включая имена переменных, имена полей, типы и значения по умолчанию. Обычно используется для отображения этих полей в форме или заполнения значений по умолчанию после загрузки клиента.',
|
||||||
|
},
|
||||||
|
chatMode: {
|
||||||
|
title: 'API приложения чата',
|
||||||
|
info: 'Для универсальных диалоговых приложений, использующих формат вопросов и ответов, вызовите API chat-messages, чтобы начать диалог. Поддерживайте текущие разговоры, передавая возвращенный conversation_id. Параметры ответа и шаблоны зависят от настроек Dify Prompt Eng.',
|
||||||
|
createChatApi: 'Создать сообщение чата',
|
||||||
|
createChatApiTip: 'Создайте новое сообщение разговора или продолжите существующий диалог.',
|
||||||
|
inputsTips: '(Необязательно) Укажите поля пользовательского ввода в виде пар ключ-значение, соответствующих переменным в Prompt Eng. Ключ - это имя переменной, Значение - это значение параметра. Если тип поля - Выбор, отправленное Значение должно быть одним из предустановленных вариантов.',
|
||||||
|
queryTips: 'Содержимое пользовательского ввода/вопроса',
|
||||||
|
blocking: 'Блокирующий тип, ожидает завершения выполнения и возвращает результаты. (Запросы могут быть прерваны, если процесс длительный)',
|
||||||
|
streaming: 'потоковая передача возвращает. Реализация потоковой передачи возврата на основе SSE (Server-Sent Events).',
|
||||||
|
conversationIdTip: '(Необязательно) Идентификатор разговора: оставьте пустым для первого разговора; передайте conversation_id из контекста, чтобы продолжить диалог.',
|
||||||
|
messageFeedbackApi: 'Обратная связь конечного пользователя по сообщению, лайк',
|
||||||
|
messageFeedbackApiTip: 'Оцените полученные сообщения от имени конечных пользователей с помощью лайков или дизлайков. Эти данные видны на странице Журналы и аннотации и используются для будущей тонкой настройки модели.',
|
||||||
|
messageIDTip: 'Идентификатор сообщения',
|
||||||
|
ratingTip: 'лайк или дизлайк, null - отмена',
|
||||||
|
chatMsgHistoryApi: 'Получить историю сообщений чата',
|
||||||
|
chatMsgHistoryApiTip: 'Первая страница возвращает последние `limit` строк, которые находятся в обратном порядке.',
|
||||||
|
chatMsgHistoryConversationIdTip: 'Идентификатор разговора',
|
||||||
|
chatMsgHistoryFirstId: 'Идентификатор первой записи чата на текущей странице. По умолчанию - нет.',
|
||||||
|
chatMsgHistoryLimit: 'Сколько чатов возвращается за один запрос',
|
||||||
|
conversationsListApi: 'Получить список разговоров',
|
||||||
|
conversationsListApiTip: 'Получает список сеансов текущего пользователя. По умолчанию возвращаются последние 20 сеансов.',
|
||||||
|
conversationsListFirstIdTip: 'Идентификатор последней записи на текущей странице, по умолчанию - нет.',
|
||||||
|
conversationsListLimitTip: 'Сколько чатов возвращается за один запрос',
|
||||||
|
conversationRenamingApi: 'Переименование разговора',
|
||||||
|
conversationRenamingApiTip: 'Переименовать разговоры; имя отображается в многосессионных клиентских интерфейсах.',
|
||||||
|
conversationRenamingNameTip: 'Новое имя',
|
||||||
|
parametersApi: 'Получить информацию о параметрах приложения',
|
||||||
|
parametersApiTip: 'Получить настроенные входные параметры, включая имена переменных, имена полей, типы и значения по умолчанию. Обычно используется для отображения этих полей в форме или заполнения значений по умолчанию после загрузки клиента.',
|
||||||
|
},
|
||||||
|
develop: {
|
||||||
|
requestBody: 'Тело запроса',
|
||||||
|
pathParams: 'Параметры пути',
|
||||||
|
query: 'Запрос',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
463
web/i18n/ru-RU/app-debug.ts
Normal file
463
web/i18n/ru-RU/app-debug.ts
Normal file
@ -0,0 +1,463 @@
|
|||||||
|
const translation = {
|
||||||
|
pageTitle: {
|
||||||
|
line1: 'PROMPT',
|
||||||
|
line2: 'Engineering',
|
||||||
|
},
|
||||||
|
orchestrate: 'Оркестрация',
|
||||||
|
promptMode: {
|
||||||
|
simple: 'Переключиться в экспертный режим для редактирования всего ПРОМПТА',
|
||||||
|
advanced: 'Экспертный режим',
|
||||||
|
switchBack: 'Переключиться обратно',
|
||||||
|
advancedWarning: {
|
||||||
|
title: 'Вы переключились в экспертный режим, и после изменения ПРОМПТА вы НЕ СМОЖЕТЕ вернуться в базовый режим.',
|
||||||
|
description: 'В экспертном режиме вы можете редактировать весь ПРОМПТ.',
|
||||||
|
learnMore: 'Узнать больше',
|
||||||
|
ok: 'ОК',
|
||||||
|
},
|
||||||
|
operation: {
|
||||||
|
addMessage: 'Добавить сообщение',
|
||||||
|
},
|
||||||
|
contextMissing: 'Отсутствует компонент контекста, эффективность промпта может быть невысокой.',
|
||||||
|
},
|
||||||
|
operation: {
|
||||||
|
applyConfig: 'Опубликовать',
|
||||||
|
resetConfig: 'Сбросить',
|
||||||
|
debugConfig: 'Отладка',
|
||||||
|
addFeature: 'Добавить функцию',
|
||||||
|
automatic: 'Сгенерировать',
|
||||||
|
stopResponding: 'Остановить ответ',
|
||||||
|
agree: 'лайк',
|
||||||
|
disagree: 'дизлайк',
|
||||||
|
cancelAgree: 'Отменить лайк',
|
||||||
|
cancelDisagree: 'Отменить дизлайк',
|
||||||
|
userAction: 'Пользователь ',
|
||||||
|
},
|
||||||
|
notSetAPIKey: {
|
||||||
|
title: 'Ключ поставщика LLM не установлен',
|
||||||
|
trailFinished: 'Пробный период закончен',
|
||||||
|
description: 'Ключ поставщика LLM не установлен, его необходимо установить перед отладкой.',
|
||||||
|
settingBtn: 'Перейти к настройкам',
|
||||||
|
},
|
||||||
|
trailUseGPT4Info: {
|
||||||
|
title: 'В настоящее время не поддерживается gpt-4',
|
||||||
|
description: 'Чтобы использовать gpt-4, пожалуйста, установите API ключ.',
|
||||||
|
},
|
||||||
|
feature: {
|
||||||
|
groupChat: {
|
||||||
|
title: 'Улучшение чата',
|
||||||
|
description: 'Добавление настроек предварительного разговора для приложений может улучшить пользовательский опыт.',
|
||||||
|
},
|
||||||
|
groupExperience: {
|
||||||
|
title: 'Улучшение опыта',
|
||||||
|
},
|
||||||
|
conversationOpener: {
|
||||||
|
title: 'Начальное сообщение',
|
||||||
|
description: 'В чат-приложении первое предложение, которое ИИ активно говорит пользователю, обычно используется в качестве приветствия.',
|
||||||
|
},
|
||||||
|
suggestedQuestionsAfterAnswer: {
|
||||||
|
title: 'Последующие вопросы',
|
||||||
|
description: 'Настройка предложения следующих вопросов может улучшить чат для пользователей.',
|
||||||
|
resDes: '3 предложения для следующего вопроса пользователя.',
|
||||||
|
tryToAsk: 'Попробуйте спросить',
|
||||||
|
},
|
||||||
|
moreLikeThis: {
|
||||||
|
title: 'Больше похожего',
|
||||||
|
description: 'Сгенерируйте несколько текстов одновременно, а затем отредактируйте и продолжайте генерировать',
|
||||||
|
generateNumTip: 'Количество генерируемых каждый раз',
|
||||||
|
tip: 'Использование этой функции приведет к дополнительным расходам токенов',
|
||||||
|
},
|
||||||
|
speechToText: {
|
||||||
|
title: 'Преобразование речи в текст',
|
||||||
|
description: 'После включения вы можете использовать голосовой ввод.',
|
||||||
|
resDes: 'Голосовой ввод включен',
|
||||||
|
},
|
||||||
|
textToSpeech: {
|
||||||
|
title: 'Преобразование текста в речь',
|
||||||
|
description: 'После включения текст можно преобразовать в речь.',
|
||||||
|
resDes: 'Преобразование текста в аудио включено',
|
||||||
|
},
|
||||||
|
citation: {
|
||||||
|
title: 'Цитаты и ссылки',
|
||||||
|
description: 'После включения отображается исходный документ и атрибутированная часть сгенерированного контента.',
|
||||||
|
resDes: 'Цитаты и ссылки включены',
|
||||||
|
},
|
||||||
|
annotation: {
|
||||||
|
title: 'Ответ аннотации',
|
||||||
|
description: 'Вы можете вручную добавить высококачественный ответ в кэш для приоритетного сопоставления с похожими вопросами пользователей.',
|
||||||
|
resDes: 'Ответ аннотации включен',
|
||||||
|
scoreThreshold: {
|
||||||
|
title: 'Порог оценки',
|
||||||
|
description: 'Используется для установки порога сходства для ответа аннотации.',
|
||||||
|
easyMatch: 'Простое совпадение',
|
||||||
|
accurateMatch: 'Точное совпадение',
|
||||||
|
},
|
||||||
|
matchVariable: {
|
||||||
|
title: 'Переменная соответствия',
|
||||||
|
choosePlaceholder: 'Выберите переменную соответствия',
|
||||||
|
},
|
||||||
|
cacheManagement: 'Аннотации',
|
||||||
|
cached: 'Аннотировано',
|
||||||
|
remove: 'Удалить',
|
||||||
|
removeConfirm: 'Удалить эту аннотацию?',
|
||||||
|
add: 'Добавить аннотацию',
|
||||||
|
edit: 'Редактировать аннотацию',
|
||||||
|
},
|
||||||
|
dataSet: {
|
||||||
|
title: 'Контекст',
|
||||||
|
noData: 'Вы можете импортировать знания в качестве контекста',
|
||||||
|
words: 'Слова',
|
||||||
|
textBlocks: 'Текстовые блоки',
|
||||||
|
selectTitle: 'Выберите справочные знания',
|
||||||
|
selected: 'Знания выбраны',
|
||||||
|
noDataSet: 'Знания не найдены',
|
||||||
|
toCreate: 'Перейти к созданию',
|
||||||
|
notSupportSelectMulti: 'В настоящее время поддерживаются только одни знания',
|
||||||
|
queryVariable: {
|
||||||
|
title: 'Переменная запроса',
|
||||||
|
tip: 'Эта переменная будет использоваться в качестве входных данных запроса для поиска контекста, получая информацию о контексте, связанную с вводом этой переменной.',
|
||||||
|
choosePlaceholder: 'Выберите переменную запроса',
|
||||||
|
noVar: 'Нет переменных',
|
||||||
|
noVarTip: 'пожалуйста, создайте переменную в разделе Переменные',
|
||||||
|
unableToQueryDataSet: 'Невозможно запросить знания',
|
||||||
|
unableToQueryDataSetTip: 'Не удалось успешно запросить знания, пожалуйста, выберите переменную запроса контекста в разделе контекста.',
|
||||||
|
ok: 'ОК',
|
||||||
|
contextVarNotEmpty: 'переменная запроса контекста не может быть пустой',
|
||||||
|
deleteContextVarTitle: 'Удалить переменную "{{varName}}"?',
|
||||||
|
deleteContextVarTip: 'Эта переменная была установлена в качестве переменной запроса контекста, и ее удаление повлияет на нормальное использование знаний. Если вам все еще нужно удалить ее, пожалуйста, выберите ее заново в разделе контекста.',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tools: {
|
||||||
|
title: 'Инструменты',
|
||||||
|
tips: 'Инструменты предоставляют стандартный метод вызова API, принимая пользовательский ввод или переменные в качестве параметров запроса для запроса внешних данных в качестве контекста.',
|
||||||
|
toolsInUse: '{{count}} инструментов используется',
|
||||||
|
modal: {
|
||||||
|
title: 'Инструмент',
|
||||||
|
toolType: {
|
||||||
|
title: 'Тип инструмента',
|
||||||
|
placeholder: 'Пожалуйста, выберите тип инструмента',
|
||||||
|
},
|
||||||
|
name: {
|
||||||
|
title: 'Имя',
|
||||||
|
placeholder: 'Пожалуйста, введите имя',
|
||||||
|
},
|
||||||
|
variableName: {
|
||||||
|
title: 'Имя переменной',
|
||||||
|
placeholder: 'Пожалуйста, введите имя переменной',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
conversationHistory: {
|
||||||
|
title: 'История разговоров',
|
||||||
|
description: 'Установить префиксы имен для ролей разговора',
|
||||||
|
tip: 'История разговоров не включена, пожалуйста, добавьте <histories> в промпт выше.',
|
||||||
|
learnMore: 'Узнать больше',
|
||||||
|
editModal: {
|
||||||
|
title: 'Редактировать имена ролей разговора',
|
||||||
|
userPrefix: 'Префикс пользователя',
|
||||||
|
assistantPrefix: 'Префикс помощника',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
toolbox: {
|
||||||
|
title: 'НАБОР ИНСТРУМЕНТОВ',
|
||||||
|
},
|
||||||
|
moderation: {
|
||||||
|
title: 'Модерация контента',
|
||||||
|
description: 'Обеспечьте безопасность выходных данных модели, используя API модерации или поддерживая список чувствительных слов.',
|
||||||
|
allEnabled: 'ВХОДНОЙ/ВЫХОДНОЙ контент включен',
|
||||||
|
inputEnabled: 'ВХОДНОЙ контент включен',
|
||||||
|
outputEnabled: 'ВЫХОДНОЙ контент включен',
|
||||||
|
modal: {
|
||||||
|
title: 'Настройки модерации контента',
|
||||||
|
provider: {
|
||||||
|
title: 'Поставщик',
|
||||||
|
openai: 'Модерация OpenAI',
|
||||||
|
openaiTip: {
|
||||||
|
prefix: 'Для модерации OpenAI требуется ключ API OpenAI, настроенный в ',
|
||||||
|
suffix: '.',
|
||||||
|
},
|
||||||
|
keywords: 'Ключевые слова',
|
||||||
|
},
|
||||||
|
keywords: {
|
||||||
|
tip: 'По одному на строку, разделенные разрывами строк. До 100 символов на строку.',
|
||||||
|
placeholder: 'По одному на строку, разделенные разрывами строк',
|
||||||
|
line: 'Строка',
|
||||||
|
},
|
||||||
|
content: {
|
||||||
|
input: 'Модерировать ВХОДНОЙ контент',
|
||||||
|
output: 'Модерировать ВЫХОДНОЙ контент',
|
||||||
|
preset: 'Предустановленные ответы',
|
||||||
|
placeholder: 'Здесь содержимое предустановленных ответов',
|
||||||
|
condition: 'Модерация ВХОДНОГО и ВЫХОДНОГО контента включена хотя бы одна',
|
||||||
|
fromApi: 'Предустановленные ответы возвращаются API',
|
||||||
|
errorMessage: 'Предустановленные ответы не могут быть пустыми',
|
||||||
|
supportMarkdown: 'Markdown поддерживается',
|
||||||
|
},
|
||||||
|
openaiNotConfig: {
|
||||||
|
before: 'Для модерации OpenAI требуется ключ API OpenAI, настроенный в',
|
||||||
|
after: '',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
generate: {
|
||||||
|
title: 'Генератор промпта',
|
||||||
|
description: 'Генератор промпта использует настроенную модель для оптимизации промпта для повышения качества и улучшения структуры. Пожалуйста, напишите четкие и подробные инструкции.',
|
||||||
|
tryIt: 'Попробуйте',
|
||||||
|
instruction: 'Инструкции',
|
||||||
|
instructionPlaceHolder: 'Напишите четкие и конкретные инструкции.',
|
||||||
|
generate: 'Сгенерировать',
|
||||||
|
resTitle: 'Сгенерированный промпт',
|
||||||
|
noDataLine1: 'Опишите свой случай использования слева,',
|
||||||
|
noDataLine2: 'предварительный просмотр оркестрации будет показан здесь.',
|
||||||
|
apply: 'Применить',
|
||||||
|
loading: 'Оркестрация приложения для вас...',
|
||||||
|
overwriteTitle: 'Перезаписать существующую конфигурацию?',
|
||||||
|
overwriteMessage: 'Применение этого промпта перезапишет существующую конфигурацию.',
|
||||||
|
template: {
|
||||||
|
pythonDebugger: {
|
||||||
|
name: 'Отладчик Python',
|
||||||
|
instruction: 'Бот, который может генерировать и отлаживать ваш код на основе ваших инструкций',
|
||||||
|
},
|
||||||
|
translation: {
|
||||||
|
name: 'Переводчик',
|
||||||
|
instruction: 'Переводчик, который может переводить на несколько языков',
|
||||||
|
},
|
||||||
|
professionalAnalyst: {
|
||||||
|
name: 'Профессиональный аналитик',
|
||||||
|
instruction: 'Извлекайте информацию, выявляйте риски и извлекайте ключевую информацию из длинных отчетов в одну записку',
|
||||||
|
},
|
||||||
|
excelFormulaExpert: {
|
||||||
|
name: 'Эксперт по формулам Excel',
|
||||||
|
instruction: 'Чат-бот, который может помочь начинающим пользователям понять, использовать и создавать формулы Excel на основе инструкций пользователя',
|
||||||
|
},
|
||||||
|
travelPlanning: {
|
||||||
|
name: 'Планировщик путешествий',
|
||||||
|
instruction: 'Помощник по планированию путешествий - это интеллектуальный инструмент, разработанный, чтобы помочь пользователям без труда планировать свои поездки',
|
||||||
|
},
|
||||||
|
SQLSorcerer: {
|
||||||
|
name: 'SQL-ассистент',
|
||||||
|
instruction: 'Преобразуйте повседневный язык в SQL-запросы',
|
||||||
|
},
|
||||||
|
GitGud: {
|
||||||
|
name: 'Git gud',
|
||||||
|
instruction: 'Генерируйте соответствующие команды Git на основе описанных пользователем действий по управлению версиями',
|
||||||
|
},
|
||||||
|
meetingTakeaways: {
|
||||||
|
name: 'Итоги совещания',
|
||||||
|
instruction: 'Извлекайте из совещаний краткие резюме, включая темы обсуждения, ключевые выводы и элементы действий',
|
||||||
|
},
|
||||||
|
writingsPolisher: {
|
||||||
|
name: 'Редактор',
|
||||||
|
instruction: 'Используйте LLM, чтобы улучшить свои письменные работы',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
resetConfig: {
|
||||||
|
title: 'Подтвердить сброс?',
|
||||||
|
message:
|
||||||
|
'Сброс отменяет изменения, восстанавливая последнюю опубликованную конфигурацию.',
|
||||||
|
},
|
||||||
|
errorMessage: {
|
||||||
|
nameOfKeyRequired: 'имя ключа: {{key}} обязательно',
|
||||||
|
valueOfVarRequired: 'значение {{key}} не может быть пустым',
|
||||||
|
queryRequired: 'Требуется текст запроса.',
|
||||||
|
waitForResponse:
|
||||||
|
'Пожалуйста, дождитесь завершения ответа на предыдущее сообщение.',
|
||||||
|
waitForBatchResponse:
|
||||||
|
'Пожалуйста, дождитесь завершения ответа на пакетное задание.',
|
||||||
|
notSelectModel: 'Пожалуйста, выберите модель',
|
||||||
|
waitForImgUpload: 'Пожалуйста, дождитесь загрузки изображения',
|
||||||
|
},
|
||||||
|
chatSubTitle: 'Инструкции',
|
||||||
|
completionSubTitle: 'Префикс Промпта',
|
||||||
|
promptTip:
|
||||||
|
'Промпт направляют ответы ИИ с помощью инструкций и ограничений. Вставьте переменные, такие как {{input}}. Этот Промпт не будет видна пользователям.',
|
||||||
|
formattingChangedTitle: 'Форматирование изменено',
|
||||||
|
formattingChangedText:
|
||||||
|
'Изменение форматирования приведет к сбросу области отладки, вы уверены?',
|
||||||
|
variableTitle: 'Переменные',
|
||||||
|
variableTip:
|
||||||
|
'Пользователи заполняют переменные в форме, автоматически заменяя переменные в промпте.',
|
||||||
|
notSetVar: 'Переменные позволяют пользователям вводить промпты или вступительные замечания при заполнении форм. Вы можете попробовать ввести "{{input}}" в промптах.',
|
||||||
|
autoAddVar: 'В предварительной промпте упоминаются неопределенные переменные, хотите ли вы добавить их в форму пользовательского ввода?',
|
||||||
|
variableTable: {
|
||||||
|
key: 'Ключ переменной',
|
||||||
|
name: 'Имя поля пользовательского ввода',
|
||||||
|
optional: 'Необязательно',
|
||||||
|
type: 'Тип ввода',
|
||||||
|
action: 'Действия',
|
||||||
|
typeString: 'Строка',
|
||||||
|
typeSelect: 'Выбор',
|
||||||
|
},
|
||||||
|
varKeyError: {
|
||||||
|
canNoBeEmpty: '{{key}} обязательно',
|
||||||
|
tooLong: '{{key}} слишком длинное. Не может быть длиннее 30 символов',
|
||||||
|
notValid: '{{key}} недействительно. Может содержать только буквы, цифры и подчеркивания',
|
||||||
|
notStartWithNumber: '{{key}} не может начинаться с цифры',
|
||||||
|
keyAlreadyExists: '{{key}} уже существует',
|
||||||
|
},
|
||||||
|
otherError: {
|
||||||
|
promptNoBeEmpty: 'Промпт не может быть пустой',
|
||||||
|
historyNoBeEmpty: 'История разговоров должна быть установлена в промпте',
|
||||||
|
queryNoBeEmpty: 'Запрос должен быть установлен в промпте',
|
||||||
|
},
|
||||||
|
variableConig: {
|
||||||
|
'addModalTitle': 'Добавить поле ввода',
|
||||||
|
'editModalTitle': 'Редактировать поле ввода',
|
||||||
|
'description': 'Настройка для переменной {{varName}}',
|
||||||
|
'fieldType': 'Тип поля',
|
||||||
|
'string': 'Короткий текст',
|
||||||
|
'text-input': 'Короткий текст',
|
||||||
|
'paragraph': 'Абзац',
|
||||||
|
'select': 'Выбор',
|
||||||
|
'number': 'Число',
|
||||||
|
'notSet': 'Не задано, попробуйте ввести {{input}} в префикс промпта',
|
||||||
|
'stringTitle': 'Параметры текстового поля формы',
|
||||||
|
'maxLength': 'Максимальная длина',
|
||||||
|
'options': 'Варианты',
|
||||||
|
'addOption': 'Добавить вариант',
|
||||||
|
'apiBasedVar': 'Переменная на основе API',
|
||||||
|
'varName': 'Имя переменной',
|
||||||
|
'labelName': 'Имя метки',
|
||||||
|
'inputPlaceholder': 'Пожалуйста, введите',
|
||||||
|
'content': 'Содержимое',
|
||||||
|
'required': 'Обязательно',
|
||||||
|
'errorMsg': {
|
||||||
|
labelNameRequired: 'Имя метки обязательно',
|
||||||
|
varNameCanBeRepeat: 'Имя переменной не может повторяться',
|
||||||
|
atLeastOneOption: 'Требуется хотя бы один вариант',
|
||||||
|
optionRepeat: 'Есть повторяющиеся варианты',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
vision: {
|
||||||
|
name: 'Зрение',
|
||||||
|
description: 'Включение зрения позволит модели принимать изображения и отвечать на вопросы о них.',
|
||||||
|
settings: 'Настройки',
|
||||||
|
visionSettings: {
|
||||||
|
title: 'Настройки зрения',
|
||||||
|
resolution: 'Разрешение',
|
||||||
|
resolutionTooltip: `Низкое разрешение позволит модели получать версию изображения с низким разрешением 512 x 512 и представлять изображение с бюджетом 65 токенов. Это позволяет API возвращать ответы быстрее и потреблять меньше входных токенов для случаев использования, не требующих высокой детализации.
|
||||||
|
\n
|
||||||
|
Высокое разрешение сначала позволит модели увидеть изображение с низким разрешением, а затем создаст детальные фрагменты входных изображений в виде квадратов 512 пикселей на основе размера входного изображения. Каждый из детальных фрагментов использует вдвое больший бюджет токенов, в общей сложности 129 токенов.`,
|
||||||
|
high: 'Высокое',
|
||||||
|
low: 'Низкое',
|
||||||
|
uploadMethod: 'Метод загрузки',
|
||||||
|
both: 'Оба',
|
||||||
|
localUpload: 'Локальная загрузка',
|
||||||
|
url: 'URL',
|
||||||
|
uploadLimit: 'Лимит загрузки',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
voice: {
|
||||||
|
name: 'Голос',
|
||||||
|
defaultDisplay: 'Голос по умолчанию',
|
||||||
|
description: 'Настройки преобразования текста в речь',
|
||||||
|
settings: 'Настройки',
|
||||||
|
voiceSettings: {
|
||||||
|
title: 'Настройки голоса',
|
||||||
|
language: 'Язык',
|
||||||
|
resolutionTooltip: 'Язык, поддерживаемый преобразованием текста в речь.',
|
||||||
|
voice: 'Голос',
|
||||||
|
autoPlay: 'Автовоспроизведение',
|
||||||
|
autoPlayEnabled: 'Включить',
|
||||||
|
autoPlayDisabled: 'Выключить',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
openingStatement: {
|
||||||
|
title: 'Начальное сообщение',
|
||||||
|
add: 'Добавить',
|
||||||
|
writeOpener: 'Написать начальное сообщение',
|
||||||
|
placeholder: 'Напишите здесь свое начальное сообщение, вы можете использовать переменные, попробуйте ввести {{variable}}.',
|
||||||
|
openingQuestion: 'Начальные вопросы',
|
||||||
|
noDataPlaceHolder:
|
||||||
|
'Начало разговора с пользователем может помочь ИИ установить более тесную связь с ним в диалоговых приложениях.',
|
||||||
|
varTip: 'Вы можете использовать переменные, попробуйте ввести {{variable}}',
|
||||||
|
tooShort: 'Для генерации вступительного замечания к разговору требуется не менее 20 слов начального промпта.',
|
||||||
|
notIncludeKey: 'Начальный промпт не включает переменную: {{key}}. Пожалуйста, добавьте её в начальную промпт.',
|
||||||
|
},
|
||||||
|
modelConfig: {
|
||||||
|
model: 'Модель',
|
||||||
|
setTone: 'Установить тон ответов',
|
||||||
|
title: 'Модель и параметры',
|
||||||
|
modeType: {
|
||||||
|
chat: 'Чат',
|
||||||
|
completion: 'Завершение',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
inputs: {
|
||||||
|
title: 'Отладка и предварительный просмотр',
|
||||||
|
noPrompt: 'Попробуйте написать промпт во входных данных предварительного промпта',
|
||||||
|
userInputField: 'Поле пользовательского ввода',
|
||||||
|
noVar: 'Заполните значение переменной, которое будет автоматически заменяться в промпте каждый раз при запуске нового сеанса.',
|
||||||
|
chatVarTip:
|
||||||
|
'Заполните значение переменной, которое будет автоматически заменяться в промпте каждый раз при запуске нового сеанса',
|
||||||
|
completionVarTip:
|
||||||
|
'Заполните значение переменной, которое будет автоматически заменяться в промпте каждый раз при отправке вопроса.',
|
||||||
|
previewTitle: 'Предварительный просмотр промпта',
|
||||||
|
queryTitle: 'Содержимое запроса',
|
||||||
|
queryPlaceholder: 'Пожалуйста, введите текст запроса.',
|
||||||
|
run: 'ЗАПУСТИТЬ',
|
||||||
|
},
|
||||||
|
result: 'Выходной текст',
|
||||||
|
datasetConfig: {
|
||||||
|
settingTitle: 'Настройки поиска',
|
||||||
|
knowledgeTip: 'Нажмите кнопку "+", чтобы добавить знания',
|
||||||
|
retrieveOneWay: {
|
||||||
|
title: 'Поиск N-к-1',
|
||||||
|
description: 'На основе намерения пользователя и описаний знаний агент автономно выбирает наилучшие знания для запроса. Лучше всего подходит для приложений с различными, ограниченными знаниями.',
|
||||||
|
},
|
||||||
|
retrieveMultiWay: {
|
||||||
|
title: 'Многопутный поиск',
|
||||||
|
description: 'На основе намерения пользователя выполняет запросы по всем знаниям, извлекает соответствующий текст из нескольких источников и выбирает наилучшие результаты, соответствующие запросу пользователя, после повторного ранжирования.',
|
||||||
|
},
|
||||||
|
rerankModelRequired: 'Требуется rerank-модель ',
|
||||||
|
params: 'Параметры',
|
||||||
|
top_k: 'Top K',
|
||||||
|
top_kTip: 'Используется для фильтрации фрагментов, наиболее похожих на вопросы пользователей. Система также будет динамически корректировать значение Top K в зависимости от max_tokens выбранной модели.',
|
||||||
|
score_threshold: 'Порог оценки',
|
||||||
|
score_thresholdTip: 'Используется для установки порога сходства для фильтрации фрагментов.',
|
||||||
|
retrieveChangeTip: 'Изменение режима индексации и режима поиска может повлиять на приложения, связанные с этими знаниями.',
|
||||||
|
},
|
||||||
|
debugAsSingleModel: 'Отладка как одной модели',
|
||||||
|
debugAsMultipleModel: 'Отладка как нескольких моделей',
|
||||||
|
duplicateModel: 'Дублировать',
|
||||||
|
publishAs: 'Опубликовать как',
|
||||||
|
assistantType: {
|
||||||
|
name: 'Тип помощника',
|
||||||
|
chatAssistant: {
|
||||||
|
name: 'Базовый помощник',
|
||||||
|
description: 'Создайте помощника на основе чата, используя большую языковую модель',
|
||||||
|
},
|
||||||
|
agentAssistant: {
|
||||||
|
name: 'Агент-помощник',
|
||||||
|
description: 'Создайте интеллектуального агента, который может автономно выбирать инструменты для выполнения задач',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
agent: {
|
||||||
|
agentMode: 'Режим агента',
|
||||||
|
agentModeDes: 'Установите тип режима вывода для агента',
|
||||||
|
agentModeType: {
|
||||||
|
ReACT: 'ReAct',
|
||||||
|
functionCall: 'Вызов функции',
|
||||||
|
},
|
||||||
|
setting: {
|
||||||
|
name: 'Настройки агента',
|
||||||
|
description: 'Настройки агента-помощника позволяют установить режим агента и расширенные функции, такие как встроенные промпты, доступные только в типе агента.',
|
||||||
|
maximumIterations: {
|
||||||
|
name: 'Максимальное количество итераций',
|
||||||
|
description: 'Ограничьте количество итераций, которые может выполнить агент-помощник',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
buildInPrompt: 'Встроенный промпт',
|
||||||
|
firstPrompt: 'Первый промпт',
|
||||||
|
nextIteration: 'Следующая итерация',
|
||||||
|
promptPlaceholder: 'Напишите здесь свой первый промпт',
|
||||||
|
tools: {
|
||||||
|
name: 'Инструменты',
|
||||||
|
description: 'Использование инструментов может расширить возможности LLM, такие как поиск в Интернете или выполнение научных расчетов',
|
||||||
|
enabled: 'Включено',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
95
web/i18n/ru-RU/app-log.ts
Normal file
95
web/i18n/ru-RU/app-log.ts
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
const translation = {
|
||||||
|
title: 'Логирование',
|
||||||
|
description: 'В логах записывается состояние работы приложения, включая пользовательский ввод и ответы ИИ.',
|
||||||
|
dateTimeFormat: 'DD.MM.YYYY HH:mm',
|
||||||
|
table: {
|
||||||
|
header: {
|
||||||
|
updatedTime: 'Время обновления',
|
||||||
|
time: 'Время создания',
|
||||||
|
endUser: 'Конечный пользователь или аккаунт',
|
||||||
|
input: 'Ввод',
|
||||||
|
output: 'Вывод',
|
||||||
|
summary: 'Заголовок',
|
||||||
|
messageCount: 'Количество сообщений',
|
||||||
|
userRate: 'Оценка пользователя',
|
||||||
|
adminRate: 'Оценка оп.',
|
||||||
|
startTime: 'ВРЕМЯ НАЧАЛА',
|
||||||
|
status: 'СТАТУС',
|
||||||
|
runtime: 'ВРЕМЯ ВЫПОЛНЕНИЯ',
|
||||||
|
tokens: 'ТОКЕНЫ',
|
||||||
|
user: 'Конечный пользователь или аккаунт',
|
||||||
|
version: 'ВЕРСИЯ',
|
||||||
|
},
|
||||||
|
pagination: {
|
||||||
|
previous: 'Предыдущий',
|
||||||
|
next: 'Следующий',
|
||||||
|
},
|
||||||
|
empty: {
|
||||||
|
noChat: 'Еще нет чатов',
|
||||||
|
noOutput: 'Нет вывода',
|
||||||
|
element: {
|
||||||
|
title: 'Есть кто-нибудь?',
|
||||||
|
content: 'Наблюдайте и аннотируйте взаимодействия между конечными пользователями и приложениями ИИ здесь, чтобы постоянно повышать точность ИИ. Вы можете попробовать <shareLink>поделиться</shareLink> или <testLink>протестировать</testLink> веб-приложение самостоятельно, а затем вернуться на эту страницу.',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
detail: {
|
||||||
|
time: 'Время',
|
||||||
|
conversationId: 'Идентификатор разговора',
|
||||||
|
promptTemplate: 'Шаблон подсказки',
|
||||||
|
promptTemplateBeforeChat: 'Шаблон подсказки перед чатом · Как системное сообщение',
|
||||||
|
annotationTip: 'Улучшения, отмеченные {{user}}',
|
||||||
|
timeConsuming: '',
|
||||||
|
second: 'с',
|
||||||
|
tokenCost: 'Потрачено токенов',
|
||||||
|
loading: 'загрузка',
|
||||||
|
operation: {
|
||||||
|
like: 'лайк',
|
||||||
|
dislike: 'дизлайк',
|
||||||
|
addAnnotation: 'Добавить улучшение',
|
||||||
|
editAnnotation: 'Редактировать улучшение',
|
||||||
|
annotationPlaceholder: 'Введите ожидаемый ответ, который вы хотите получить от ИИ, который может быть использован для тонкой настройки модели и постоянного улучшения качества генерации текста в будущем.',
|
||||||
|
},
|
||||||
|
variables: 'Переменные',
|
||||||
|
uploadImages: 'Загруженные изображения',
|
||||||
|
},
|
||||||
|
filter: {
|
||||||
|
period: {
|
||||||
|
today: 'Сегодня',
|
||||||
|
last7days: 'Последние 7 дней',
|
||||||
|
last4weeks: 'Последние 4 недели',
|
||||||
|
last3months: 'Последние 3 месяца',
|
||||||
|
last12months: 'Последние 12 месяцев',
|
||||||
|
monthToDate: 'С начала месяца',
|
||||||
|
quarterToDate: 'С начала квартала',
|
||||||
|
yearToDate: 'С начала года',
|
||||||
|
allTime: 'Все время',
|
||||||
|
},
|
||||||
|
annotation: {
|
||||||
|
all: 'Все',
|
||||||
|
annotated: 'Аннотированные улучшения ({{count}} элементов)',
|
||||||
|
not_annotated: 'Не аннотировано',
|
||||||
|
},
|
||||||
|
sortBy: 'Сортировать по:',
|
||||||
|
descending: 'по убыванию',
|
||||||
|
ascending: 'по возрастанию',
|
||||||
|
},
|
||||||
|
workflowTitle: 'Журналы рабочих процессов',
|
||||||
|
workflowSubtitle: 'Журнал записал работу Automate.',
|
||||||
|
runDetail: {
|
||||||
|
title: 'Журнал разговоров',
|
||||||
|
workflowTitle: 'Подробная информация о журнале',
|
||||||
|
},
|
||||||
|
promptLog: 'Журнал подсказок',
|
||||||
|
agentLog: 'Журнал агента',
|
||||||
|
viewLog: 'Просмотреть журнал',
|
||||||
|
agentLogDetail: {
|
||||||
|
agentMode: 'Режим агента',
|
||||||
|
toolUsed: 'Использованный инструмент',
|
||||||
|
iterations: 'Итерации',
|
||||||
|
iteration: 'Итерация',
|
||||||
|
finalProcessing: 'Окончательная обработка',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
168
web/i18n/ru-RU/app-overview.ts
Normal file
168
web/i18n/ru-RU/app-overview.ts
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
const translation = {
|
||||||
|
welcome: {
|
||||||
|
firstStepTip: 'Чтобы начать,',
|
||||||
|
enterKeyTip: 'введите свой ключ API OpenAI ниже',
|
||||||
|
getKeyTip: 'Получите свой ключ API на панели инструментов OpenAI',
|
||||||
|
placeholder: 'Ваш ключ API OpenAI (например, sk-xxxx)',
|
||||||
|
},
|
||||||
|
apiKeyInfo: {
|
||||||
|
cloud: {
|
||||||
|
trial: {
|
||||||
|
title: 'Вы используете пробную квоту {{providerName}}.',
|
||||||
|
description: 'Пробная квота предоставляется для тестирования. Прежде чем пробная квота будет исчерпана, пожалуйста, настройте своего собственного поставщика модели или приобретите дополнительную квоту.',
|
||||||
|
},
|
||||||
|
exhausted: {
|
||||||
|
title: 'Ваша пробная квота была исчерпана, пожалуйста, настройте свой APIKey.',
|
||||||
|
description: 'Вы исчерпали свою пробную квоту. Пожалуйста, настройте своего собственного поставщика модели или приобретите дополнительную квоту.',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
selfHost: {
|
||||||
|
title: {
|
||||||
|
row1: 'Чтобы начать,',
|
||||||
|
row2: 'сначала настройте своего поставщика модели.',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
callTimes: 'Количество вызовов',
|
||||||
|
usedToken: 'Использованные токены',
|
||||||
|
setAPIBtn: 'Перейти к настройке поставщика модели',
|
||||||
|
tryCloud: 'Или попробуйте облачную версию Dify с бесплатной квотой',
|
||||||
|
},
|
||||||
|
overview: {
|
||||||
|
title: 'Обзор',
|
||||||
|
appInfo: {
|
||||||
|
explanation: 'Готовое к использованию веб-приложение ИИ',
|
||||||
|
accessibleAddress: 'Публичный URL',
|
||||||
|
preview: 'Предварительный просмотр',
|
||||||
|
regenerate: 'Перегенерировать',
|
||||||
|
regenerateNotice: 'Вы хотите перегенерировать публичный URL?',
|
||||||
|
preUseReminder: 'Пожалуйста, включите веб-приложение перед продолжением.',
|
||||||
|
settings: {
|
||||||
|
entry: 'Настройки',
|
||||||
|
title: 'Настройки веб-приложения',
|
||||||
|
webName: 'Название веб-приложения',
|
||||||
|
webDesc: 'Описание веб-приложения',
|
||||||
|
webDescTip: 'Этот текст будет отображаться на стороне клиента, предоставляя базовые инструкции по использованию приложения',
|
||||||
|
webDescPlaceholder: 'Введите описание веб-приложения',
|
||||||
|
language: 'Язык',
|
||||||
|
workflow: {
|
||||||
|
title: 'Рабочий процесс',
|
||||||
|
subTitle: 'Подробности рабочего процесса',
|
||||||
|
show: 'Показать',
|
||||||
|
hide: 'Скрыть',
|
||||||
|
showDesc: 'Показать или скрыть подробности рабочего процесса в веб-приложении',
|
||||||
|
},
|
||||||
|
chatColorTheme: 'Цветовая тема чата',
|
||||||
|
chatColorThemeDesc: 'Установите цветовую тему чат-бота',
|
||||||
|
chatColorThemeInverted: 'Инвертированные цвета',
|
||||||
|
invalidHexMessage: 'Неверное HEX-значение',
|
||||||
|
sso: {
|
||||||
|
label: 'SSO аутентификация',
|
||||||
|
title: 'WebApp SSO',
|
||||||
|
description: 'Все пользователи должны войти в систему с помощью SSO перед использованием WebApp',
|
||||||
|
tooltip: 'Обратитесь к администратору, чтобы включить WebApp SSO',
|
||||||
|
},
|
||||||
|
more: {
|
||||||
|
entry: 'Показать больше настроек',
|
||||||
|
copyright: 'Авторские права',
|
||||||
|
copyRightPlaceholder: 'Введите имя автора или организации',
|
||||||
|
privacyPolicy: 'Политика конфиденциальности',
|
||||||
|
privacyPolicyPlaceholder: 'Введите ссылку на политику конфиденциальности',
|
||||||
|
privacyPolicyTip: 'Помогает посетителям понять, какие данные собирает приложение, см. <privacyPolicyLink>Политику конфиденциальности</privacyPolicyLink> Dify.',
|
||||||
|
customDisclaimer: 'Пользовательский отказ от ответственности',
|
||||||
|
customDisclaimerPlaceholder: 'Введите текст пользовательского отказа от ответственности',
|
||||||
|
customDisclaimerTip: 'Текст пользовательского отказа от ответственности будет отображаться на стороне клиента, предоставляя дополнительную информацию о приложении',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
embedded: {
|
||||||
|
entry: 'Встраивание',
|
||||||
|
title: 'Встроить на веб-сайт',
|
||||||
|
explanation: 'Выберите способ встраивания чат-приложения на свой веб-сайт',
|
||||||
|
iframe: 'Чтобы добавить чат-приложение в любое место на вашем веб-сайте, добавьте этот iframe в свой HTML-код.',
|
||||||
|
scripts: 'Чтобы добавить чат-приложение в правый нижний угол вашего веб-сайта, добавьте этот код в свой HTML.',
|
||||||
|
chromePlugin: 'Установите расширение Dify Chatbot для Chrome',
|
||||||
|
copied: 'Скопировано',
|
||||||
|
copy: 'Копировать',
|
||||||
|
},
|
||||||
|
qrcode: {
|
||||||
|
title: 'QR-код ссылки',
|
||||||
|
scan: 'Сканировать, чтобы поделиться',
|
||||||
|
download: 'Скачать QR-код',
|
||||||
|
},
|
||||||
|
customize: {
|
||||||
|
way: 'способ',
|
||||||
|
entry: 'Настроить',
|
||||||
|
title: 'Настроить веб-приложение ИИ',
|
||||||
|
explanation: 'Вы можете настроить внешний интерфейс веб-приложения в соответствии со своими потребностями.',
|
||||||
|
way1: {
|
||||||
|
name: 'Создайте форк клиентского кода, измените его и разверните на Vercel (рекомендуется)',
|
||||||
|
step1: 'Создайте форк клиентского кода и измените его',
|
||||||
|
step1Tip: 'Нажмите здесь, чтобы создать форк исходного кода в своей учетной записи GitHub и изменить код',
|
||||||
|
step1Operation: 'Dify-WebClient',
|
||||||
|
step2: 'Развернуть на Vercel',
|
||||||
|
step2Tip: 'Нажмите здесь, чтобы импортировать репозиторий в Vercel и развернуть',
|
||||||
|
step2Operation: 'Импортировать репозиторий',
|
||||||
|
step3: 'Настроить переменные среды',
|
||||||
|
step3Tip: 'Добавьте следующие переменные среды в Vercel',
|
||||||
|
},
|
||||||
|
way2: {
|
||||||
|
name: 'Напишите клиентский код для вызова API и разверните его на сервере',
|
||||||
|
operation: 'Документация',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
apiInfo: {
|
||||||
|
title: 'API серверной части',
|
||||||
|
explanation: 'Легко интегрируется в ваше приложение',
|
||||||
|
accessibleAddress: 'Конечная точка API сервиса',
|
||||||
|
doc: 'Справочник по API',
|
||||||
|
},
|
||||||
|
status: {
|
||||||
|
running: 'В работе',
|
||||||
|
disable: 'Отключено',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
analysis: {
|
||||||
|
title: 'Анализ',
|
||||||
|
ms: 'мс',
|
||||||
|
tokenPS: 'Токен/с',
|
||||||
|
totalMessages: {
|
||||||
|
title: 'Всего сообщений',
|
||||||
|
explanation: 'Ежедневное количество взаимодействий с ИИ.',
|
||||||
|
},
|
||||||
|
totalConversations: {
|
||||||
|
title: 'Всего чатов',
|
||||||
|
explanation: 'Ежедневное количество чатов с LLM; проектирование/отладка не учитываются.',
|
||||||
|
},
|
||||||
|
activeUsers: {
|
||||||
|
title: 'Активные пользователи',
|
||||||
|
explanation: 'Уникальные пользователи, участвующие в вопросах и ответах с LLM; проектирование/отладка не учитываются.',
|
||||||
|
},
|
||||||
|
tokenUsage: {
|
||||||
|
title: 'Использование токенов',
|
||||||
|
explanation: 'Отражает ежедневное использование токенов языковой модели для приложения, полезно для целей контроля затрат.',
|
||||||
|
consumed: 'Потрачено',
|
||||||
|
},
|
||||||
|
avgSessionInteractions: {
|
||||||
|
title: 'Среднее количество взаимодействий за сеанс',
|
||||||
|
explanation: 'Количество непрерывных взаимодействий пользователя с LLM; для приложений на основе чатов.',
|
||||||
|
},
|
||||||
|
avgUserInteractions: {
|
||||||
|
title: 'Среднее количество взаимодействий пользователя',
|
||||||
|
explanation: 'Отражает ежедневную частоту использования пользователями. Эта метрика отражает активность пользователей.',
|
||||||
|
},
|
||||||
|
userSatisfactionRate: {
|
||||||
|
title: 'Уровень удовлетворенности пользователей',
|
||||||
|
explanation: 'Количество лайков на 1000 сообщений. Это указывает на долю ответов, которыми пользователи довольны.',
|
||||||
|
},
|
||||||
|
avgResponseTime: {
|
||||||
|
title: 'Среднее время ответа',
|
||||||
|
explanation: 'Время (мс) для обработки/ответа LLM; для текстовых приложений.',
|
||||||
|
},
|
||||||
|
tps: {
|
||||||
|
title: 'Скорость вывода токенов',
|
||||||
|
explanation: 'Измерьте производительность LLM. Подсчитайте скорость вывода токенов LLM от начала запроса до завершения вывода.',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
133
web/i18n/ru-RU/app.ts
Normal file
133
web/i18n/ru-RU/app.ts
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
const translation = {
|
||||||
|
createApp: 'СОЗДАТЬ ПРИЛОЖЕНИЕ',
|
||||||
|
types: {
|
||||||
|
all: 'Все',
|
||||||
|
chatbot: 'Чат-бот',
|
||||||
|
agent: 'Агент',
|
||||||
|
workflow: 'Рабочий процесс',
|
||||||
|
completion: 'Завершение',
|
||||||
|
},
|
||||||
|
duplicate: 'Дублировать',
|
||||||
|
duplicateTitle: 'Дублировать приложение',
|
||||||
|
export: 'Экспортировать DSL',
|
||||||
|
exportFailed: 'Ошибка экспорта DSL.',
|
||||||
|
importDSL: 'Импортировать файл DSL',
|
||||||
|
createFromConfigFile: 'Создать из файла DSL',
|
||||||
|
importFromDSL: 'Импортировать из DSL',
|
||||||
|
importFromDSLFile: 'Из файла DSL',
|
||||||
|
importFromDSLUrl: 'Из URL',
|
||||||
|
importFromDSLUrlPlaceholder: 'Вставьте ссылку DSL сюда',
|
||||||
|
deleteAppConfirmTitle: 'Удалить это приложение?',
|
||||||
|
deleteAppConfirmContent:
|
||||||
|
'Удаление приложения необратимо. Пользователи больше не смогут получить доступ к вашему приложению, и все настройки подсказок и журналы будут безвозвратно удалены.',
|
||||||
|
appDeleted: 'Приложение удалено',
|
||||||
|
appDeleteFailed: 'Не удалось удалить приложение',
|
||||||
|
join: 'Присоединяйтесь к сообществу',
|
||||||
|
communityIntro:
|
||||||
|
'Общайтесь с членами команды, участниками и разработчиками на разных каналах.',
|
||||||
|
roadmap: 'Посмотреть наш roadmap',
|
||||||
|
newApp: {
|
||||||
|
startFromBlank: 'Создать с нуля',
|
||||||
|
startFromTemplate: 'Создать из шаблона',
|
||||||
|
captionAppType: 'Какой тип приложения вы хотите создать?',
|
||||||
|
chatbotDescription: 'Создайте приложение на основе чата. Это приложение использует формат вопросов и ответов, позволяя общаться непрерывно.',
|
||||||
|
completionDescription: 'Создайте приложение, которое генерирует высококачественный текст на основе подсказок, например, генерирует статьи, резюме, переводы и многое другое.',
|
||||||
|
completionWarning: 'Этот тип приложения больше не будет поддерживаться.',
|
||||||
|
agentDescription: 'Создайте интеллектуального агента, который может автономно выбирать инструменты для выполнения задач',
|
||||||
|
workflowDescription: 'Создайте приложение, которое генерирует высококачественный текст на основе рабочего процесса, организованного с высокой степенью настройки. Подходит для опытных пользователей.',
|
||||||
|
workflowWarning: 'В настоящее время находится в бета-версии',
|
||||||
|
chatbotType: 'Метод организации чат-бота',
|
||||||
|
basic: 'Базовый',
|
||||||
|
basicTip: 'Для начинающих, можно переключиться на Chatflow позже',
|
||||||
|
basicFor: 'ДЛЯ НАЧИНАЮЩИХ',
|
||||||
|
basicDescription: 'Базовый конструктор позволяет создать приложение чат-бота с помощью простых настроек, без возможности изменять встроенные подсказки. Подходит для начинающих.',
|
||||||
|
advanced: 'Chatflow',
|
||||||
|
advancedFor: 'Для продвинутых пользователей',
|
||||||
|
advancedDescription: 'Организация рабочего процесса организует чат-ботов в виде рабочих процессов, предлагая высокую степень настройки, включая возможность редактирования встроенных подсказок. Подходит для опытных пользователей.',
|
||||||
|
captionName: 'Значок и название приложения',
|
||||||
|
appNamePlaceholder: 'Дайте вашему приложению имя',
|
||||||
|
captionDescription: 'Описание',
|
||||||
|
appDescriptionPlaceholder: 'Введите описание приложения',
|
||||||
|
useTemplate: 'Использовать этот шаблон',
|
||||||
|
previewDemo: 'Предварительный просмотр',
|
||||||
|
chatApp: 'Ассистент',
|
||||||
|
chatAppIntro:
|
||||||
|
'Я хочу создать приложение на основе чата. Это приложение использует формат вопросов и ответов, позволяя общаться непрерывно.',
|
||||||
|
agentAssistant: 'Новый Ассистент Агента',
|
||||||
|
completeApp: 'Генератор текста',
|
||||||
|
completeAppIntro:
|
||||||
|
'Я хочу создать приложение, которое генерирует высококачественный текст на основе подсказок, например, генерирует статьи, резюме, переводы и многое другое.',
|
||||||
|
showTemplates: 'Я хочу выбрать из шаблона',
|
||||||
|
hideTemplates: 'Вернуться к выбору режима',
|
||||||
|
Create: 'Создать',
|
||||||
|
Cancel: 'Отмена',
|
||||||
|
nameNotEmpty: 'Имя не может быть пустым',
|
||||||
|
appTemplateNotSelected: 'Пожалуйста, выберите шаблон',
|
||||||
|
appTypeRequired: 'Пожалуйста, выберите тип приложения',
|
||||||
|
appCreated: 'Приложение создано',
|
||||||
|
appCreateFailed: 'Не удалось создать приложение',
|
||||||
|
},
|
||||||
|
editApp: 'Редактировать информацию',
|
||||||
|
editAppTitle: 'Редактировать информацию о приложении',
|
||||||
|
editDone: 'Информация о приложении обновлена',
|
||||||
|
editFailed: 'Не удалось обновить информацию о приложении',
|
||||||
|
iconPicker: {
|
||||||
|
ok: 'ОК',
|
||||||
|
cancel: 'Отмена',
|
||||||
|
emoji: 'Эмодзи',
|
||||||
|
image: 'Изображение',
|
||||||
|
},
|
||||||
|
switch: 'Переключиться на Workflow',
|
||||||
|
switchTipStart: 'Для вас будет создана новая копия Workflow. Новая копия ',
|
||||||
|
switchTip: 'не позволит',
|
||||||
|
switchTipEnd: ' переключиться обратно на базовую организацию.',
|
||||||
|
switchLabel: 'Копия приложения, которая будет создана',
|
||||||
|
removeOriginal: 'Удалить исходное приложение',
|
||||||
|
switchStart: 'Переключиться',
|
||||||
|
typeSelector: {
|
||||||
|
all: 'ВСЕ типы',
|
||||||
|
chatbot: 'Чат-бот',
|
||||||
|
agent: 'Агент',
|
||||||
|
workflow: 'Рабочий процесс',
|
||||||
|
completion: 'Завершение',
|
||||||
|
},
|
||||||
|
tracing: {
|
||||||
|
title: 'Отслеживание производительности приложения',
|
||||||
|
description: 'Настройка стороннего поставщика LLMOps и отслеживание производительности приложения.',
|
||||||
|
config: 'Настройка',
|
||||||
|
view: 'Просмотр',
|
||||||
|
collapse: 'Свернуть',
|
||||||
|
expand: 'Развернуть',
|
||||||
|
tracing: 'Отслеживание',
|
||||||
|
disabled: 'Отключено',
|
||||||
|
disabledTip: 'Пожалуйста, сначала настройте провайдера LLM',
|
||||||
|
enabled: 'В работе',
|
||||||
|
tracingDescription: 'Запись полного контекста выполнения приложения, включая вызовы LLM, контекст, подсказки, HTTP-запросы и многое другое, на стороннюю платформу трассировки.',
|
||||||
|
configProviderTitle: {
|
||||||
|
configured: 'Настроено',
|
||||||
|
notConfigured: 'Настройте провайдера, чтобы включить трассировку',
|
||||||
|
moreProvider: 'Больше провайдеров',
|
||||||
|
},
|
||||||
|
langsmith: {
|
||||||
|
title: 'LangSmith',
|
||||||
|
description: 'Универсальная платформа для разработчиков для каждого этапа жизненного цикла приложения на базе LLM.',
|
||||||
|
},
|
||||||
|
langfuse: {
|
||||||
|
title: 'Langfuse',
|
||||||
|
description: 'Трассировка, оценка, управление подсказками и метрики для отладки и улучшения вашего приложения LLM.',
|
||||||
|
},
|
||||||
|
inUse: 'Используется',
|
||||||
|
configProvider: {
|
||||||
|
title: 'Настройка ',
|
||||||
|
placeholder: 'Введите ваш {{key}}',
|
||||||
|
project: 'Проект',
|
||||||
|
publicKey: 'Публичный ключ',
|
||||||
|
secretKey: 'Секретный ключ',
|
||||||
|
viewDocsLink: 'Посмотреть документацию {{key}}',
|
||||||
|
removeConfirmTitle: 'Удалить конфигурацию {{key}}?',
|
||||||
|
removeConfirmContent: 'Текущая конфигурация используется, ее удаление отключит функцию трассировки.',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
118
web/i18n/ru-RU/billing.ts
Normal file
118
web/i18n/ru-RU/billing.ts
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
const translation = {
|
||||||
|
currentPlan: 'Текущий тарифный план',
|
||||||
|
upgradeBtn: {
|
||||||
|
plain: 'Обновить тарифный план',
|
||||||
|
encourage: 'Обновить сейчас',
|
||||||
|
encourageShort: 'Обновить',
|
||||||
|
},
|
||||||
|
viewBilling: 'Управление счетами и подписками',
|
||||||
|
buyPermissionDeniedTip: 'Пожалуйста, свяжитесь с администратором вашей организации, чтобы подписаться',
|
||||||
|
plansCommon: {
|
||||||
|
title: 'Выберите тарифный план, который подходит именно вам',
|
||||||
|
yearlyTip: 'Получите 2 месяца бесплатно, подписавшись на год!',
|
||||||
|
mostPopular: 'Самый популярный',
|
||||||
|
planRange: {
|
||||||
|
monthly: 'Ежемесячно',
|
||||||
|
yearly: 'Ежегодно',
|
||||||
|
},
|
||||||
|
month: 'месяц',
|
||||||
|
year: 'год',
|
||||||
|
save: 'Сэкономить ',
|
||||||
|
free: 'Бесплатно',
|
||||||
|
currentPlan: 'Текущий тарифный план',
|
||||||
|
contractSales: 'Связаться с отделом продаж',
|
||||||
|
contractOwner: 'Связаться с руководителем команды',
|
||||||
|
startForFree: 'Начать бесплатно',
|
||||||
|
getStartedWith: 'Начать с ',
|
||||||
|
contactSales: 'Связаться с отделом продаж',
|
||||||
|
talkToSales: 'Поговорить с отделом продаж',
|
||||||
|
modelProviders: 'Поставщики моделей',
|
||||||
|
teamMembers: 'Участники команды',
|
||||||
|
annotationQuota: 'Квота аннотаций',
|
||||||
|
buildApps: 'Создать приложения',
|
||||||
|
vectorSpace: 'Векторное пространство',
|
||||||
|
vectorSpaceBillingTooltip: 'Каждый 1 МБ может хранить около 1,2 миллиона символов векторизованных данных (оценка с использованием Embeddings OpenAI, варьируется в зависимости от модели).',
|
||||||
|
vectorSpaceTooltip: 'Векторное пространство - это система долговременной памяти, необходимая LLM для понимания ваших данных.',
|
||||||
|
documentsUploadQuota: 'Квота загрузки документов',
|
||||||
|
documentProcessingPriority: 'Приоритет обработки документов',
|
||||||
|
documentProcessingPriorityTip: 'Для более высокого приоритета обработки документов, пожалуйста, обновите свой тарифный план.',
|
||||||
|
documentProcessingPriorityUpgrade: 'Обрабатывайте больше данных с большей точностью и на более высоких скоростях.',
|
||||||
|
priority: {
|
||||||
|
'standard': 'Стандартный',
|
||||||
|
'priority': 'Приоритетный',
|
||||||
|
'top-priority': 'Высокий приоритет',
|
||||||
|
},
|
||||||
|
logsHistory: 'История журналов',
|
||||||
|
customTools: 'Пользовательские инструменты',
|
||||||
|
unavailable: 'Недоступно',
|
||||||
|
days: 'дней',
|
||||||
|
unlimited: 'Неограниченно',
|
||||||
|
support: 'Поддержка',
|
||||||
|
supportItems: {
|
||||||
|
communityForums: 'Форумы сообщества',
|
||||||
|
emailSupport: 'Поддержка по электронной почте',
|
||||||
|
priorityEmail: 'Приоритетная поддержка по электронной почте и в чате',
|
||||||
|
logoChange: 'Изменение логотипа',
|
||||||
|
SSOAuthentication: 'SSO аутентификация',
|
||||||
|
personalizedSupport: 'Персональная поддержка',
|
||||||
|
dedicatedAPISupport: 'Выделенная поддержка API',
|
||||||
|
customIntegration: 'Пользовательская интеграция и поддержка',
|
||||||
|
ragAPIRequest: 'Запросы RAG API',
|
||||||
|
bulkUpload: 'Массовая загрузка документов',
|
||||||
|
agentMode: 'Режим агента',
|
||||||
|
workflow: 'Рабочий процесс',
|
||||||
|
llmLoadingBalancing: 'Балансировка нагрузки LLM',
|
||||||
|
llmLoadingBalancingTooltip: 'Добавьте несколько ключей API к моделям, эффективно обходя ограничения скорости API.',
|
||||||
|
},
|
||||||
|
comingSoon: 'Скоро',
|
||||||
|
member: 'Участник',
|
||||||
|
memberAfter: 'Участник',
|
||||||
|
messageRequest: {
|
||||||
|
title: 'Кредиты на сообщения',
|
||||||
|
tooltip: 'Квоты вызова сообщений для различных тарифных планов, использующих модели OpenAI (кроме gpt4). Сообщения, превышающие лимит, будут использовать ваш ключ API OpenAI.',
|
||||||
|
},
|
||||||
|
annotatedResponse: {
|
||||||
|
title: 'Ограничения квоты аннотаций',
|
||||||
|
tooltip: 'Ручное редактирование и аннотирование ответов обеспечивает настраиваемые высококачественные возможности ответов на вопросы для приложений. (Применимо только в чат-приложениях)',
|
||||||
|
},
|
||||||
|
ragAPIRequestTooltip: 'Относится к количеству вызовов API, вызывающих только возможности обработки базы знаний Dify.',
|
||||||
|
receiptInfo: 'Только владелец команды и администратор команды могут подписываться и просматривать информацию о выставлении счетов',
|
||||||
|
},
|
||||||
|
plans: {
|
||||||
|
sandbox: {
|
||||||
|
name: 'Песочница',
|
||||||
|
description: '200 бесплатных пробных использований GPT',
|
||||||
|
includesTitle: 'Включает:',
|
||||||
|
},
|
||||||
|
professional: {
|
||||||
|
name: 'Профессиональный',
|
||||||
|
description: 'Для частных лиц и небольших команд, чтобы разблокировать больше возможностей по доступной цене.',
|
||||||
|
includesTitle: 'Все в бесплатном плане, плюс:',
|
||||||
|
},
|
||||||
|
team: {
|
||||||
|
name: 'Команда',
|
||||||
|
description: 'Сотрудничайте без ограничений и наслаждайтесь высочайшей производительностью.',
|
||||||
|
includesTitle: 'Все в профессиональном плане, плюс:',
|
||||||
|
},
|
||||||
|
enterprise: {
|
||||||
|
name: 'Корпоративный',
|
||||||
|
description: 'Получите полный набор возможностей и поддержку для крупномасштабных критически важных систем.',
|
||||||
|
includesTitle: 'Все в командном плане, плюс:',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
vectorSpace: {
|
||||||
|
fullTip: 'Векторное пространство заполнено.',
|
||||||
|
fullSolution: 'Обновите свой тарифный план, чтобы получить больше места.',
|
||||||
|
},
|
||||||
|
apps: {
|
||||||
|
fullTipLine1: 'Обновите свой тарифный план, чтобы',
|
||||||
|
fullTipLine2: 'создавать больше приложений.',
|
||||||
|
},
|
||||||
|
annotatedResponse: {
|
||||||
|
fullTipLine1: 'Обновите свой тарифный план, чтобы',
|
||||||
|
fullTipLine2: 'аннотировать больше разговоров.',
|
||||||
|
quotaTitle: 'Квота ответов аннотаций',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
576
web/i18n/ru-RU/common.ts
Normal file
576
web/i18n/ru-RU/common.ts
Normal file
@ -0,0 +1,576 @@
|
|||||||
|
const translation = {
|
||||||
|
api: {
|
||||||
|
success: 'Успешно',
|
||||||
|
actionSuccess: 'Действие выполнено успешно',
|
||||||
|
saved: 'Сохранено',
|
||||||
|
create: 'Создано',
|
||||||
|
remove: 'Удалено',
|
||||||
|
},
|
||||||
|
operation: {
|
||||||
|
create: 'Создать',
|
||||||
|
confirm: 'Подтвердить',
|
||||||
|
cancel: 'Отмена',
|
||||||
|
clear: 'Очистить',
|
||||||
|
save: 'Сохранить',
|
||||||
|
saveAndEnable: 'Сохранить и включить',
|
||||||
|
edit: 'Редактировать',
|
||||||
|
add: 'Добавить',
|
||||||
|
added: 'Добавлено',
|
||||||
|
refresh: 'Перезапустить',
|
||||||
|
reset: 'Сбросить',
|
||||||
|
search: 'Поиск',
|
||||||
|
change: 'Изменить',
|
||||||
|
remove: 'Удалить',
|
||||||
|
send: 'Отправить',
|
||||||
|
copy: 'Копировать',
|
||||||
|
lineBreak: 'Разрыв строки',
|
||||||
|
sure: 'Я уверен',
|
||||||
|
download: 'Скачать',
|
||||||
|
delete: 'Удалить',
|
||||||
|
settings: 'Настройки',
|
||||||
|
setup: 'Настроить',
|
||||||
|
getForFree: 'Получить бесплатно',
|
||||||
|
reload: 'Перезагрузить',
|
||||||
|
ok: 'ОК',
|
||||||
|
log: 'Журнал',
|
||||||
|
learnMore: 'Узнать больше',
|
||||||
|
params: 'Параметры',
|
||||||
|
duplicate: 'Дублировать',
|
||||||
|
rename: 'Переименовать',
|
||||||
|
},
|
||||||
|
errorMsg: {
|
||||||
|
fieldRequired: '{{field}} обязательно',
|
||||||
|
urlError: 'URL должен начинаться с http:// или https://',
|
||||||
|
},
|
||||||
|
placeholder: {
|
||||||
|
input: 'Пожалуйста, введите',
|
||||||
|
select: 'Пожалуйста, выберите',
|
||||||
|
},
|
||||||
|
voice: {
|
||||||
|
language: {
|
||||||
|
zhHans: 'Китайский',
|
||||||
|
zhHant: 'Традиционный китайский',
|
||||||
|
enUS: 'Английский',
|
||||||
|
deDE: 'Немецкий',
|
||||||
|
frFR: 'Французский',
|
||||||
|
esES: 'Испанский',
|
||||||
|
itIT: 'Итальянский',
|
||||||
|
thTH: 'Тайский',
|
||||||
|
idID: 'Индонезийский',
|
||||||
|
jaJP: 'Японский',
|
||||||
|
koKR: 'Корейский',
|
||||||
|
ptBR: 'Португальский',
|
||||||
|
ruRU: 'Русский',
|
||||||
|
ukUA: 'Украинский',
|
||||||
|
viVN: 'Вьетнамский',
|
||||||
|
plPL: 'Польский',
|
||||||
|
roRO: 'Румынский',
|
||||||
|
hiIN: 'Хинди',
|
||||||
|
trTR: 'Турецкий',
|
||||||
|
faIR: 'Персидский',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unit: {
|
||||||
|
char: 'символов',
|
||||||
|
},
|
||||||
|
actionMsg: {
|
||||||
|
noModification: 'На данный момент нет изменений.',
|
||||||
|
modifiedSuccessfully: 'Изменено успешно',
|
||||||
|
modifiedUnsuccessfully: 'Изменено неудачно',
|
||||||
|
copySuccessfully: 'Скопировано успешно',
|
||||||
|
paySucceeded: 'Оплата прошла успешно',
|
||||||
|
payCancelled: 'Оплата отменена',
|
||||||
|
generatedSuccessfully: 'Сгенерировано успешно',
|
||||||
|
generatedUnsuccessfully: 'Сгенерировано неудачно',
|
||||||
|
},
|
||||||
|
model: {
|
||||||
|
params: {
|
||||||
|
temperature: 'Temperature',
|
||||||
|
temperatureTip:
|
||||||
|
'Контролирует случайность: более низкое значение приводит к менее случайным завершениям. По мере приближения температуры к нулю модель станет детерминированной и повторяющейся.',
|
||||||
|
top_p: 'Top P',
|
||||||
|
top_pTip:
|
||||||
|
'Контролирует разнообразие с помощью ядерной выборки: 0,5 означает, что рассматривается половина всех вариантов, взвешенных по вероятности.',
|
||||||
|
presence_penalty: 'Presence penalty',
|
||||||
|
presence_penaltyTip:
|
||||||
|
'Насколько штрафовать новые токены в зависимости от того, появляются ли они в тексте до сих пор.\nУвеличивает вероятность того, что модель будет говорить о новых темах.',
|
||||||
|
frequency_penalty: 'Frequency penalty',
|
||||||
|
frequency_penaltyTip:
|
||||||
|
'Насколько штрафовать новые токены в зависимости от их существующей частоты в тексте до сих пор.\nУменьшает вероятность того, что модель будет повторять одну и ту же строку дословно.',
|
||||||
|
max_tokens: 'Максимальное количество токенов',
|
||||||
|
max_tokensTip:
|
||||||
|
'Используется для ограничения максимальной длины ответа в токенах. \nБольшие значения могут ограничивать пространство, оставленное для подсказок, журналов чата и знаний. \nРекомендуется установить его ниже двух третей\ngpt-4-1106-preview, gpt-4-vision-preview max token (input 128k output 4k)',
|
||||||
|
maxTokenSettingTip: 'Ваша настройка максимального количества токенов высока, что потенциально ограничивает пространство для подсказок, запросов и данных. Подумайте о том, чтобы установить его ниже 2/3.',
|
||||||
|
setToCurrentModelMaxTokenTip: 'Максимальное количество токенов обновлено до 80% максимального количества токенов текущей модели {{maxToken}}.',
|
||||||
|
stop_sequences: 'Стоп-последовательности',
|
||||||
|
stop_sequencesTip: 'До четырех последовательностей, где API прекратит генерировать дальнейшие токены. Возвращаемый текст не будет содержать стоп-последовательность.',
|
||||||
|
stop_sequencesPlaceholder: 'Введите последовательность и нажмите Tab',
|
||||||
|
},
|
||||||
|
tone: {
|
||||||
|
Creative: 'Творческий',
|
||||||
|
Balanced: 'Сбалансированный',
|
||||||
|
Precise: 'Точный',
|
||||||
|
Custom: 'Пользовательский',
|
||||||
|
},
|
||||||
|
addMoreModel: 'Перейдите в настройки, чтобы добавить больше моделей',
|
||||||
|
},
|
||||||
|
menus: {
|
||||||
|
status: 'бета',
|
||||||
|
explore: 'Исследовать',
|
||||||
|
apps: 'Студия',
|
||||||
|
plugins: 'Плагины',
|
||||||
|
pluginsTips: 'Интегрируйте сторонние плагины или создавайте совместимые с ChatGPT AI-плагины.',
|
||||||
|
datasets: 'Знания',
|
||||||
|
datasetsTips: 'СКОРО: Импортируйте свои собственные текстовые данные или записывайте данные в режиме реального времени через Webhook для улучшения контекста LLM.',
|
||||||
|
newApp: 'Новое приложение',
|
||||||
|
newDataset: 'Создать знания',
|
||||||
|
tools: 'Инструменты',
|
||||||
|
},
|
||||||
|
userProfile: {
|
||||||
|
settings: 'Настройки',
|
||||||
|
emailSupport: 'Поддержка по электронной почте',
|
||||||
|
workspace: 'Рабочее пространство',
|
||||||
|
createWorkspace: 'Создать рабочее пространство',
|
||||||
|
helpCenter: 'Помощь',
|
||||||
|
roadmapAndFeedback: 'Обратная связь',
|
||||||
|
community: 'Сообщество',
|
||||||
|
about: 'О нас',
|
||||||
|
logout: 'Выйти',
|
||||||
|
},
|
||||||
|
settings: {
|
||||||
|
accountGroup: 'АККАУНТ',
|
||||||
|
workplaceGroup: 'РАБОЧЕЕ ПРОСТРАНСТВО',
|
||||||
|
account: 'Моя учетная запись',
|
||||||
|
members: 'Участники',
|
||||||
|
billing: 'Оплата',
|
||||||
|
integrations: 'Интеграции',
|
||||||
|
language: 'Язык',
|
||||||
|
provider: 'Поставщик модели',
|
||||||
|
dataSource: 'Источник данных',
|
||||||
|
plugin: 'Плагины',
|
||||||
|
apiBasedExtension: 'API расширение',
|
||||||
|
},
|
||||||
|
account: {
|
||||||
|
avatar: 'Аватар',
|
||||||
|
name: 'Имя',
|
||||||
|
email: 'Электронная почта',
|
||||||
|
password: 'Пароль',
|
||||||
|
passwordTip: 'Вы можете установить постоянный пароль, если не хотите использовать временные коды входа',
|
||||||
|
setPassword: 'Установить пароль',
|
||||||
|
resetPassword: 'Сбросить пароль',
|
||||||
|
currentPassword: 'Текущий пароль',
|
||||||
|
newPassword: 'Новый пароль',
|
||||||
|
confirmPassword: 'Подтвердите пароль',
|
||||||
|
notEqual: 'Два пароля различаются.',
|
||||||
|
langGeniusAccount: 'Учетная запись Dify',
|
||||||
|
langGeniusAccountTip: 'Ваша учетная запись Dify и связанные с ней пользовательские данные.',
|
||||||
|
editName: 'Редактировать имя',
|
||||||
|
showAppLength: 'Показать {{length}} приложений',
|
||||||
|
delete: 'Удалить учетную запись',
|
||||||
|
deleteTip: 'Удаление вашей учетной записи приведет к безвозвратному удалению всех ваших данных, и их невозможно будет восстановить.',
|
||||||
|
deleteConfirmTip: 'Для подтверждения, пожалуйста, отправьте следующее с вашего зарегистрированного адреса электронной почты на ',
|
||||||
|
},
|
||||||
|
members: {
|
||||||
|
team: 'Команда',
|
||||||
|
invite: 'Добавить',
|
||||||
|
name: 'ИМЯ',
|
||||||
|
lastActive: 'ПОСЛЕДНЯЯ АКТИВНОСТЬ',
|
||||||
|
role: 'РОЛИ',
|
||||||
|
pending: 'Ожидание...',
|
||||||
|
owner: 'Владелец',
|
||||||
|
admin: 'Администратор',
|
||||||
|
adminTip: 'Может создавать приложения и управлять настройками команды',
|
||||||
|
normal: 'Обычный',
|
||||||
|
normalTip: 'Может только использовать приложения, не может создавать приложения',
|
||||||
|
builder: 'Разработчик',
|
||||||
|
builderTip: 'Может создавать и редактировать собственные приложения',
|
||||||
|
editor: 'Редактор',
|
||||||
|
editorTip: 'Может создавать и редактировать приложения',
|
||||||
|
datasetOperator: 'Администратор знаний',
|
||||||
|
datasetOperatorTip: 'Может управлять только базой знаний',
|
||||||
|
inviteTeamMember: 'Добавить участника команды',
|
||||||
|
inviteTeamMemberTip: 'Они могут получить доступ к данным вашей команды сразу после входа в систему.',
|
||||||
|
email: 'Электронная почта',
|
||||||
|
emailInvalid: 'Неверный формат электронной почты',
|
||||||
|
emailPlaceholder: 'Пожалуйста, введите адреса электронной почты',
|
||||||
|
sendInvite: 'Отправить приглашение',
|
||||||
|
invitedAsRole: 'Приглашен как пользователь с ролью {{role}}',
|
||||||
|
invitationSent: 'Приглашение отправлено',
|
||||||
|
invitationSentTip: 'Приглашение отправлено, и они могут войти в Dify, чтобы получить доступ к данным вашей команды.',
|
||||||
|
invitationLink: 'Ссылка для приглашения',
|
||||||
|
failedinvitationEmails: 'Следующие пользователи не были успешно приглашены',
|
||||||
|
ok: 'ОК',
|
||||||
|
removeFromTeam: 'Удалить из команды',
|
||||||
|
removeFromTeamTip: 'Удалить доступ к команде',
|
||||||
|
setAdmin: 'Назначить администратором',
|
||||||
|
setMember: 'Назначить обычным участником',
|
||||||
|
setBuilder: 'Назначить разработчиком',
|
||||||
|
setEditor: 'Назначить редактором',
|
||||||
|
disinvite: 'Отменить приглашение',
|
||||||
|
deleteMember: 'Удалить участника',
|
||||||
|
you: '(Вы)',
|
||||||
|
},
|
||||||
|
integrations: {
|
||||||
|
connected: 'Подключено',
|
||||||
|
google: 'Google',
|
||||||
|
googleAccount: 'Войти с помощью учетной записи Google',
|
||||||
|
github: 'GitHub',
|
||||||
|
githubAccount: 'Войти с помощью учетной записи GitHub',
|
||||||
|
connect: 'Подключить',
|
||||||
|
},
|
||||||
|
language: {
|
||||||
|
displayLanguage: 'Язык отображения',
|
||||||
|
timezone: 'Часовой пояс',
|
||||||
|
},
|
||||||
|
provider: {
|
||||||
|
apiKey: 'Ключ API',
|
||||||
|
enterYourKey: 'Введите свой ключ API здесь',
|
||||||
|
invalidKey: 'Неверный ключ API OpenAI',
|
||||||
|
validatedError: 'Ошибка валидации: ',
|
||||||
|
validating: 'Проверка ключа...',
|
||||||
|
saveFailed: 'Ошибка сохранения ключа API',
|
||||||
|
apiKeyExceedBill: 'Этот API-ключ не имеет доступной квоты, пожалуйста, прочитайте',
|
||||||
|
addKey: 'Добавить ключ',
|
||||||
|
comingSoon: 'Скоро',
|
||||||
|
editKey: 'Редактировать',
|
||||||
|
invalidApiKey: 'Неверный ключ API',
|
||||||
|
azure: {
|
||||||
|
apiBase: 'Базовый API',
|
||||||
|
apiBasePlaceholder: 'Базовый URL-адрес API вашей конечной точки Azure OpenAI.',
|
||||||
|
apiKey: 'Ключ API',
|
||||||
|
apiKeyPlaceholder: 'Введите свой ключ API здесь',
|
||||||
|
helpTip: 'Узнать о службе Azure OpenAI',
|
||||||
|
},
|
||||||
|
openaiHosted: {
|
||||||
|
openaiHosted: 'Размещенный OpenAI',
|
||||||
|
onTrial: 'ПРОБНАЯ ВЕРСИЯ',
|
||||||
|
exhausted: 'КВОТА ИСЧЕРПАНА',
|
||||||
|
desc: 'Хостинговая служба OpenAI, предоставляемая Dify, позволяет вам использовать такие модели, как GPT-3.5. Прежде чем ваша пробная квота будет исчерпана, вам необходимо настроить других поставщиков моделей.',
|
||||||
|
callTimes: 'Количество вызовов',
|
||||||
|
usedUp: 'Пробная квота исчерпана. Добавьте собственного поставщика модели.',
|
||||||
|
useYourModel: 'В настоящее время используется собственный поставщик модели.',
|
||||||
|
close: 'Закрыть',
|
||||||
|
},
|
||||||
|
anthropicHosted: {
|
||||||
|
anthropicHosted: 'Anthropic Claude',
|
||||||
|
onTrial: 'ПРОБНАЯ ВЕРСИЯ',
|
||||||
|
exhausted: 'КВОТА ИСЧЕРПАНА',
|
||||||
|
desc: 'Мощная модель, которая отлично справляется с широким спектром задач, от сложных диалогов и создания творческого контента до подробных инструкций.',
|
||||||
|
callTimes: 'Количество вызовов',
|
||||||
|
usedUp: 'Пробная квота исчерпана. Добавьте собственного поставщика модели.',
|
||||||
|
useYourModel: 'В настоящее время используется собственный поставщик модели.',
|
||||||
|
close: 'Закрыть',
|
||||||
|
},
|
||||||
|
anthropic: {
|
||||||
|
using: 'Возможность встраивания использует',
|
||||||
|
enableTip: 'Чтобы включить модель Anthropic, вам необходимо сначала привязаться к OpenAI или Azure OpenAI Service.',
|
||||||
|
notEnabled: 'Не включено',
|
||||||
|
keyFrom: 'Получите свой ключ API от Anthropic',
|
||||||
|
},
|
||||||
|
encrypted: {
|
||||||
|
front: 'Ваш API-ключ будет зашифрован и сохранен с использованием',
|
||||||
|
back: ' технологии.',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
modelProvider: {
|
||||||
|
notConfigured: 'Системная модель еще не полностью настроена, и некоторые функции могут быть недоступны.',
|
||||||
|
systemModelSettings: 'Настройки системной модели',
|
||||||
|
systemModelSettingsLink: 'Зачем нужно настраивать системную модель?',
|
||||||
|
selectModel: 'Выберите свою модель',
|
||||||
|
setupModelFirst: 'Пожалуйста, сначала настройте свою модель',
|
||||||
|
systemReasoningModel: {
|
||||||
|
key: 'Модель системного мышления',
|
||||||
|
tip: 'Установите модель вывода по умолчанию, которая будет использоваться для создания приложений, а также такие функции, как генерация имени диалога и предложение следующего вопроса, также будут использовать модель вывода по умолчанию.',
|
||||||
|
},
|
||||||
|
embeddingModel: {
|
||||||
|
key: 'Модель встраивания',
|
||||||
|
tip: 'Установите модель по умолчанию для обработки встраивания документов знаний, как поиск, так и импорт знаний используют эту модель встраивания для обработки векторизации. Переключение приведет к несоответствию векторного измерения между импортированными знаниями и вопросом, что приведет к сбою поиска. Чтобы избежать сбоя поиска, пожалуйста, не переключайте эту модель по своему усмотрению.',
|
||||||
|
required: 'Модель встраивания обязательна',
|
||||||
|
},
|
||||||
|
speechToTextModel: {
|
||||||
|
key: 'Модель преобразования речи в текст',
|
||||||
|
tip: 'Установите модель по умолчанию для ввода речи в текст в разговоре.',
|
||||||
|
},
|
||||||
|
ttsModel: {
|
||||||
|
key: 'Модель преобразования текста в речь',
|
||||||
|
tip: 'Установите модель по умолчанию для ввода текста в речь в разговоре.',
|
||||||
|
},
|
||||||
|
rerankModel: {
|
||||||
|
key: 'Модель повторного ранжирования',
|
||||||
|
tip: 'Модель повторного ранжирования изменит порядок списка документов-кандидатов на основе семантического соответствия запросу пользователя, улучшая результаты семантического ранжирования',
|
||||||
|
},
|
||||||
|
apiKey: 'API-КЛЮЧ',
|
||||||
|
quota: 'Квота',
|
||||||
|
searchModel: 'Поиск модели',
|
||||||
|
noModelFound: 'Модель не найдена для {{model}}',
|
||||||
|
models: 'Модели',
|
||||||
|
showMoreModelProvider: 'Показать больше поставщиков моделей',
|
||||||
|
selector: {
|
||||||
|
tip: 'Эта модель была удалена. Пожалуйста, добавьте модель или выберите другую модель.',
|
||||||
|
emptyTip: 'Нет доступных моделей',
|
||||||
|
emptySetting: 'Пожалуйста, перейдите в настройки для настройки',
|
||||||
|
rerankTip: 'Пожалуйста, настройте модель повторного ранжирования',
|
||||||
|
},
|
||||||
|
card: {
|
||||||
|
quota: 'КВОТА',
|
||||||
|
onTrial: 'Пробная версия',
|
||||||
|
paid: 'Платный',
|
||||||
|
quotaExhausted: 'Квота исчерпана',
|
||||||
|
callTimes: 'Количество вызовов',
|
||||||
|
tokens: 'Токены',
|
||||||
|
buyQuota: 'Купить квоту',
|
||||||
|
priorityUse: 'Приоритетное использование',
|
||||||
|
removeKey: 'Удалить API-ключ',
|
||||||
|
tip: 'Приоритет будет отдаваться платной квоте. Пробная квота будет использоваться после исчерпания платной квоты.',
|
||||||
|
},
|
||||||
|
item: {
|
||||||
|
deleteDesc: '{{modelName}} используются в качестве моделей системного мышления. Некоторые функции будут недоступны после удаления. Пожалуйста, подтвердите.',
|
||||||
|
freeQuota: 'БЕСПЛАТНАЯ КВОТА',
|
||||||
|
},
|
||||||
|
addApiKey: 'Добавьте свой API-ключ',
|
||||||
|
invalidApiKey: 'Неверный API-ключ',
|
||||||
|
encrypted: {
|
||||||
|
front: 'Ваш API-ключ будет зашифрован и сохранен с использованием',
|
||||||
|
back: ' технологии.',
|
||||||
|
},
|
||||||
|
freeQuota: {
|
||||||
|
howToEarn: 'Как заработать',
|
||||||
|
},
|
||||||
|
addMoreModelProvider: 'ДОБАВИТЬ БОЛЬШЕ ПОСТАВЩИКОВ МОДЕЛЕЙ',
|
||||||
|
addModel: 'Добавить модель',
|
||||||
|
modelsNum: '{{num}} Моделей',
|
||||||
|
showModels: 'Показать модели',
|
||||||
|
showModelsNum: 'Показать {{num}} моделей',
|
||||||
|
collapse: 'Свернуть',
|
||||||
|
config: 'Настройка',
|
||||||
|
modelAndParameters: 'Модель и параметры',
|
||||||
|
model: 'Модель',
|
||||||
|
featureSupported: '{{feature}} поддерживается',
|
||||||
|
callTimes: 'Количество вызовов',
|
||||||
|
credits: 'Кредиты на сообщения',
|
||||||
|
buyQuota: 'Купить квоту',
|
||||||
|
getFreeTokens: 'Получить бесплатные токены',
|
||||||
|
priorityUsing: 'Приоритетное использование',
|
||||||
|
deprecated: 'Устаревший',
|
||||||
|
confirmDelete: 'Подтвердить удаление?',
|
||||||
|
quotaTip: 'Оставшиеся доступные бесплатные токены',
|
||||||
|
loadPresets: 'Загрузить предустановки',
|
||||||
|
parameters: 'ПАРАМЕТРЫ',
|
||||||
|
loadBalancing: 'Балансировка нагрузки',
|
||||||
|
loadBalancingDescription: 'Снизьте нагрузку с помощью нескольких наборов учетных данных.',
|
||||||
|
loadBalancingHeadline: 'Балансировка нагрузки',
|
||||||
|
configLoadBalancing: 'Настроить балансировку нагрузки',
|
||||||
|
modelHasBeenDeprecated: 'Эта модель устарела',
|
||||||
|
providerManaged: 'Управляется поставщиком',
|
||||||
|
providerManagedDescription: 'Используйте один набор учетных данных, предоставленный поставщиком модели.',
|
||||||
|
defaultConfig: 'Настройка по умолчанию',
|
||||||
|
apiKeyStatusNormal: 'Статус APIKey в норме',
|
||||||
|
apiKeyRateLimit: 'Достигнут предел скорости, доступен через {{seconds}}s',
|
||||||
|
addConfig: 'Добавить конфигурацию',
|
||||||
|
editConfig: 'Редактировать конфигурацию',
|
||||||
|
loadBalancingLeastKeyWarning: 'Для включения балансировки нагрузки необходимо включить не менее 2 ключей.',
|
||||||
|
loadBalancingInfo: 'По умолчанию балансировка нагрузки использует стратегию Round-robin. Если срабатывает ограничение скорости, будет применен 1-минутный период охлаждения.',
|
||||||
|
upgradeForLoadBalancing: 'Обновите свой тарифный план, чтобы включить балансировку нагрузки.',
|
||||||
|
},
|
||||||
|
dataSource: {
|
||||||
|
add: 'Добавить источник данных',
|
||||||
|
connect: 'Подключить',
|
||||||
|
configure: 'Настроить',
|
||||||
|
notion: {
|
||||||
|
title: 'Notion',
|
||||||
|
description: 'Использование Notion в качестве источника данных для знаний.',
|
||||||
|
connectedWorkspace: 'Подключенное рабочее пространство',
|
||||||
|
addWorkspace: 'Добавить рабочее пространство',
|
||||||
|
connected: 'Подключено',
|
||||||
|
disconnected: 'Отключено',
|
||||||
|
changeAuthorizedPages: 'Изменить авторизованные страницы',
|
||||||
|
pagesAuthorized: 'Авторизованные страницы',
|
||||||
|
sync: 'Синхронизировать',
|
||||||
|
remove: 'Удалить',
|
||||||
|
selector: {
|
||||||
|
pageSelected: 'Выбранные страницы',
|
||||||
|
searchPages: 'Поиск страниц...',
|
||||||
|
noSearchResult: 'Нет результатов поиска',
|
||||||
|
addPages: 'Добавить страницы',
|
||||||
|
preview: 'ПРЕДПРОСМОТР',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
website: {
|
||||||
|
title: 'Веб-сайт',
|
||||||
|
description: 'Импортировать контент с веб-сайтов с помощью веб-краулера.',
|
||||||
|
with: 'С',
|
||||||
|
configuredCrawlers: 'Настроенные краулеры',
|
||||||
|
active: 'Активный',
|
||||||
|
inactive: 'Неактивный',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
plugin: {
|
||||||
|
serpapi: {
|
||||||
|
apiKey: 'Ключ API',
|
||||||
|
apiKeyPlaceholder: 'Введите свой ключ API',
|
||||||
|
keyFrom: 'Получите свой ключ SerpAPI на странице учетной записи SerpAPI',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
apiBasedExtension: {
|
||||||
|
title: 'API-расширения обеспечивают централизованное управление API, упрощая настройку для удобного использования в приложениях Dify.',
|
||||||
|
link: 'Узнайте, как разработать собственное API-расширение.',
|
||||||
|
linkUrl: 'https://docs.dify.ai/features/extension/api_based_extension',
|
||||||
|
add: 'Добавить API Extension',
|
||||||
|
selector: {
|
||||||
|
title: 'API Extension',
|
||||||
|
placeholder: 'Пожалуйста, выберите API-расширение',
|
||||||
|
manage: 'Управление API-расширением',
|
||||||
|
},
|
||||||
|
modal: {
|
||||||
|
title: 'Добавить API-расширение',
|
||||||
|
editTitle: 'Редактировать API-расширение',
|
||||||
|
name: {
|
||||||
|
title: 'Имя',
|
||||||
|
placeholder: 'Пожалуйста, введите имя',
|
||||||
|
},
|
||||||
|
apiEndpoint: {
|
||||||
|
title: 'API Endpoint',
|
||||||
|
placeholder: 'Пожалуйста, введите конечную точку API',
|
||||||
|
},
|
||||||
|
apiKey: {
|
||||||
|
title: 'API-ключ',
|
||||||
|
placeholder: 'Пожалуйста, введите API-ключ',
|
||||||
|
lengthError: 'Длина API-ключа не может быть меньше 5 символов',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
type: 'Тип',
|
||||||
|
},
|
||||||
|
about: {
|
||||||
|
changeLog: 'Журнал изменений',
|
||||||
|
updateNow: 'Обновить сейчас',
|
||||||
|
nowAvailable: 'Dify {{version}} теперь доступен.',
|
||||||
|
latestAvailable: 'Dify {{version}} - последняя доступная версия.',
|
||||||
|
},
|
||||||
|
appMenus: {
|
||||||
|
overview: 'Мониторинг',
|
||||||
|
promptEng: 'Оркестрация',
|
||||||
|
apiAccess: 'Доступ к API',
|
||||||
|
logAndAnn: 'Журналы и аннотации',
|
||||||
|
logs: 'Журналы',
|
||||||
|
},
|
||||||
|
environment: {
|
||||||
|
testing: 'ТЕСТИРОВАНИЕ',
|
||||||
|
development: 'РАЗРАБОТКА',
|
||||||
|
},
|
||||||
|
appModes: {
|
||||||
|
completionApp: 'Генератор текста',
|
||||||
|
chatApp: 'Чат-приложение',
|
||||||
|
},
|
||||||
|
datasetMenus: {
|
||||||
|
documents: 'Документы',
|
||||||
|
hitTesting: 'Тестирование поиска',
|
||||||
|
settings: 'Настройки',
|
||||||
|
emptyTip: 'Знания не были связаны, пожалуйста, перейдите в приложение или плагин, чтобы завершить связывание.',
|
||||||
|
viewDoc: 'Просмотреть документацию',
|
||||||
|
relatedApp: 'связанные приложения',
|
||||||
|
},
|
||||||
|
voiceInput: {
|
||||||
|
speaking: 'Говорите сейчас...',
|
||||||
|
converting: 'Преобразование в текст...',
|
||||||
|
notAllow: 'микрофон не авторизован',
|
||||||
|
},
|
||||||
|
modelName: {
|
||||||
|
'gpt-3.5-turbo': 'GPT-3.5-Turbo',
|
||||||
|
'gpt-3.5-turbo-16k': 'GPT-3.5-Turbo-16K',
|
||||||
|
'gpt-4': 'GPT-4',
|
||||||
|
'gpt-4-32k': 'GPT-4-32K',
|
||||||
|
'text-davinci-003': 'Text-Davinci-003',
|
||||||
|
'text-embedding-ada-002': 'Text-Embedding-Ada-002',
|
||||||
|
'whisper-1': 'Whisper-1',
|
||||||
|
'claude-instant-1': 'Claude-Instant',
|
||||||
|
'claude-2': 'Claude-2',
|
||||||
|
},
|
||||||
|
chat: {
|
||||||
|
renameConversation: 'Переименовать разговор',
|
||||||
|
conversationName: 'Название разговора',
|
||||||
|
conversationNamePlaceholder: 'Пожалуйста, введите название разговора',
|
||||||
|
conversationNameCanNotEmpty: 'Название разговора обязательно',
|
||||||
|
citation: {
|
||||||
|
title: 'ЦИТАТЫ',
|
||||||
|
linkToDataset: 'Ссылка на знания',
|
||||||
|
characters: 'Символы:',
|
||||||
|
hitCount: 'Количество совпадений:',
|
||||||
|
vectorHash: 'Векторный хэш:',
|
||||||
|
hitScore: 'Оценка совпадения:',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
promptEditor: {
|
||||||
|
placeholder: 'Напишите здесь свое ключевое слово подсказки, введите \'{\', чтобы вставить переменную, введите \'/\', чтобы вставить блок содержимого подсказки',
|
||||||
|
context: {
|
||||||
|
item: {
|
||||||
|
title: 'Контекст',
|
||||||
|
desc: 'Вставить шаблон контекста',
|
||||||
|
},
|
||||||
|
modal: {
|
||||||
|
title: '{{num}} знаний в контексте',
|
||||||
|
add: 'Добавить контекст ',
|
||||||
|
footer: 'Вы можете управлять контекстами в разделе «Контекст» ниже.',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
history: {
|
||||||
|
item: {
|
||||||
|
title: 'История разговоров',
|
||||||
|
desc: 'Вставить шаблон исторического сообщения',
|
||||||
|
},
|
||||||
|
modal: {
|
||||||
|
title: 'ПРИМЕР',
|
||||||
|
user: 'Привет',
|
||||||
|
assistant: 'Привет! Как я могу вам помочь сегодня?',
|
||||||
|
edit: 'Редактировать имена ролей разговора',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
variable: {
|
||||||
|
item: {
|
||||||
|
title: 'Переменные и внешние инструменты',
|
||||||
|
desc: 'Вставить переменные и внешние инструменты',
|
||||||
|
},
|
||||||
|
outputToolDisabledItem: {
|
||||||
|
title: 'Переменные',
|
||||||
|
desc: 'Вставить переменные',
|
||||||
|
},
|
||||||
|
modal: {
|
||||||
|
add: 'Новая переменная',
|
||||||
|
addTool: 'Новый инструмент',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
query: {
|
||||||
|
item: {
|
||||||
|
title: 'Запрос',
|
||||||
|
desc: 'Вставить шаблон запроса пользователя',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
existed: 'Уже существует в подсказке',
|
||||||
|
},
|
||||||
|
imageUploader: {
|
||||||
|
uploadFromComputer: 'Загрузить с компьютера',
|
||||||
|
uploadFromComputerReadError: 'Ошибка чтения изображения, повторите попытку.',
|
||||||
|
uploadFromComputerUploadError: 'Ошибка загрузки изображения, загрузите еще раз.',
|
||||||
|
uploadFromComputerLimit: 'Загружаемые изображения не могут превышать {{size}} МБ',
|
||||||
|
pasteImageLink: 'Вставить ссылку на изображение',
|
||||||
|
pasteImageLinkInputPlaceholder: 'Вставьте ссылку на изображение здесь',
|
||||||
|
pasteImageLinkInvalid: 'Неверная ссылка на изображение',
|
||||||
|
imageUpload: 'Загрузка изображения',
|
||||||
|
},
|
||||||
|
tag: {
|
||||||
|
placeholder: 'Все теги',
|
||||||
|
addNew: 'Добавить новый тег',
|
||||||
|
noTag: 'Нет тегов',
|
||||||
|
noTagYet: 'Еще нет тегов',
|
||||||
|
addTag: 'Добавить теги',
|
||||||
|
editTag: 'Редактировать теги',
|
||||||
|
manageTags: 'Управление тегами',
|
||||||
|
selectorPlaceholder: 'Введите для поиска или создания',
|
||||||
|
create: 'Создать',
|
||||||
|
delete: 'Удалить тег',
|
||||||
|
deleteTip: 'Тег используется, удалить его?',
|
||||||
|
created: 'Тег успешно создан',
|
||||||
|
failed: 'Ошибка создания тега',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
30
web/i18n/ru-RU/custom.ts
Normal file
30
web/i18n/ru-RU/custom.ts
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
const translation = {
|
||||||
|
custom: 'Настройка',
|
||||||
|
upgradeTip: {
|
||||||
|
prefix: 'Обновите свой тарифный план, чтобы',
|
||||||
|
suffix: 'настроить свой бренд.',
|
||||||
|
},
|
||||||
|
webapp: {
|
||||||
|
title: 'Настроить бренд веб-приложения',
|
||||||
|
removeBrand: 'Удалить Powered by Dify',
|
||||||
|
changeLogo: 'Изменить изображение бренда Powered by',
|
||||||
|
changeLogoTip: 'Формат SVG или PNG с минимальным размером 40x40px',
|
||||||
|
},
|
||||||
|
app: {
|
||||||
|
title: 'Настроить бренд заголовка приложения',
|
||||||
|
changeLogoTip: 'Формат SVG или PNG с минимальным размером 80x80px',
|
||||||
|
},
|
||||||
|
upload: 'Загрузить',
|
||||||
|
uploading: 'Загрузка',
|
||||||
|
uploadedFail: 'Ошибка загрузки изображения, пожалуйста изображение, загрузите еще раз.',
|
||||||
|
change: 'Изменить',
|
||||||
|
apply: 'Применить',
|
||||||
|
restore: 'Восстановить значения по умолчанию',
|
||||||
|
customize: {
|
||||||
|
contactUs: ' свяжитесь с нами ',
|
||||||
|
prefix: 'Чтобы настроить логотип бренда в приложении, пожалуйста,',
|
||||||
|
suffix: 'чтобы перейти на корпоративную версию.',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
161
web/i18n/ru-RU/dataset-creation.ts
Normal file
161
web/i18n/ru-RU/dataset-creation.ts
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
const translation = {
|
||||||
|
steps: {
|
||||||
|
header: {
|
||||||
|
creation: 'Создать базу знаний',
|
||||||
|
update: 'Добавить данные',
|
||||||
|
},
|
||||||
|
one: 'Выберите источник данных',
|
||||||
|
two: 'Предварительная обработка и очистка текста',
|
||||||
|
three: 'Выполнить и завершить',
|
||||||
|
},
|
||||||
|
error: {
|
||||||
|
unavailable: 'Эта база знаний недоступна',
|
||||||
|
},
|
||||||
|
firecrawl: {
|
||||||
|
configFirecrawl: 'Настроить 🔥Firecrawl',
|
||||||
|
apiKeyPlaceholder: 'Ключ API с firecrawl.dev',
|
||||||
|
getApiKeyLinkText: 'Получите свой ключ API с firecrawl.dev',
|
||||||
|
},
|
||||||
|
stepOne: {
|
||||||
|
filePreview: 'Предварительный просмотр файла',
|
||||||
|
pagePreview: 'Предварительный просмотр страницы',
|
||||||
|
dataSourceType: {
|
||||||
|
file: 'Импортировать из файла',
|
||||||
|
notion: 'Синхронизировать из Notion',
|
||||||
|
web: 'Синхронизировать с веб-сайта',
|
||||||
|
},
|
||||||
|
uploader: {
|
||||||
|
title: 'Загрузить файл',
|
||||||
|
button: 'Перетащите файл или',
|
||||||
|
browse: 'Обзор',
|
||||||
|
tip: 'Поддерживаются {{supportTypes}}. Максимум {{size}} МБ каждый.',
|
||||||
|
validation: {
|
||||||
|
typeError: 'Тип файла не поддерживается',
|
||||||
|
size: 'Файл слишком большой. Максимум {{size}} МБ',
|
||||||
|
count: 'Несколько файлов не поддерживаются',
|
||||||
|
filesNumber: 'Вы достигли лимита пакетной загрузки {{filesNumber}} файлов.',
|
||||||
|
},
|
||||||
|
cancel: 'Отмена',
|
||||||
|
change: 'Изменить',
|
||||||
|
failed: 'Ошибка загрузки',
|
||||||
|
},
|
||||||
|
notionSyncTitle: 'Notion не подключен',
|
||||||
|
notionSyncTip: 'Чтобы синхронизировать данные из Notion, сначала необходимо установить соединение с Notion.',
|
||||||
|
connect: 'Перейти к подключению',
|
||||||
|
button: 'Далее',
|
||||||
|
emptyDatasetCreation: 'Я хочу создать пустую базу знаний',
|
||||||
|
modal: {
|
||||||
|
title: 'Создать пустую базу знаний',
|
||||||
|
tip: 'Пустая база знаний не будет содержать документов, и вы можете загружать документы в любое время.',
|
||||||
|
input: 'Название базы знаний',
|
||||||
|
placeholder: 'Пожалуйста, введите',
|
||||||
|
nameNotEmpty: 'Название не может быть пустым',
|
||||||
|
nameLengthInvaild: 'Название должно быть от 1 до 40 символов',
|
||||||
|
cancelButton: 'Отмена',
|
||||||
|
confirmButton: 'Создать',
|
||||||
|
failed: 'Ошибка создания',
|
||||||
|
},
|
||||||
|
website: {
|
||||||
|
fireCrawlNotConfigured: 'Firecrawl не настроен',
|
||||||
|
fireCrawlNotConfiguredDescription: 'Настройте Firecrawl с API-ключом.',
|
||||||
|
configure: 'Настроить',
|
||||||
|
run: 'Запустить',
|
||||||
|
firecrawlTitle: 'Извлечь веб-контент с помощью 🔥Firecrawl',
|
||||||
|
firecrawlDoc: 'Документация Firecrawl',
|
||||||
|
firecrawlDocLink: 'https://docs.dify.ai/guides/knowledge-base/sync-from-website',
|
||||||
|
options: 'Опции',
|
||||||
|
crawlSubPage: 'Сканировать подстраницы',
|
||||||
|
limit: 'Лимит',
|
||||||
|
maxDepth: 'Максимальная глубина',
|
||||||
|
excludePaths: 'Исключить пути',
|
||||||
|
includeOnlyPaths: 'Включить только пути',
|
||||||
|
extractOnlyMainContent: 'Извлекать только основной контент (без заголовков, навигации, футеров и т. д.)',
|
||||||
|
exceptionErrorTitle: 'Произошло исключение при запуске задания Firecrawl:',
|
||||||
|
unknownError: 'Неизвестная ошибка',
|
||||||
|
totalPageScraped: 'Всего просканировано страниц:',
|
||||||
|
selectAll: 'Выбрать все',
|
||||||
|
resetAll: 'Сбросить все',
|
||||||
|
scrapTimeInfo: 'Всего просканировано {{total}} страниц за {{time}} секунд',
|
||||||
|
preview: 'Предварительный просмотр',
|
||||||
|
maxDepthTooltip: 'Максимальная глубина сканирования относительно введенного URL. Глубина 0 сканирует только страницу введенного URL, глубина 1 сканирует URL и все, что находится после введенного URL + один /, и так далее.',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
stepTwo: {
|
||||||
|
segmentation: 'Настройки фрагментации',
|
||||||
|
auto: 'Автоматически',
|
||||||
|
autoDescription: 'Автоматически устанавливать правила фрагментации и предварительной обработки. Пользователям, не знакомым с системой, рекомендуется выбрать этот вариант.',
|
||||||
|
custom: 'Пользовательский',
|
||||||
|
customDescription: 'Настроить правила фрагментации, длину фрагментов, правила предварительной обработки и т. д.',
|
||||||
|
separator: 'Идентификатор сегмента',
|
||||||
|
separatorPlaceholder: 'Например, новая строка (\\\\n) или специальный разделитель (например, "***")',
|
||||||
|
maxLength: 'Максимальная длина фрагмента',
|
||||||
|
overlap: 'Перекрытие фрагментов',
|
||||||
|
overlapTip: 'Установка перекрытия фрагментов может сохранить семантическую связь между ними, улучшая эффект поиска. Рекомендуется установить 10%-25% от максимального размера фрагмента.',
|
||||||
|
overlapCheck: 'перекрытие фрагментов не должно превышать максимальную длину фрагмента',
|
||||||
|
rules: 'Правила предварительной обработки текста',
|
||||||
|
removeExtraSpaces: 'Заменить последовательные пробелы, новые строки и табуляции',
|
||||||
|
removeUrlEmails: 'Удалить все URL-адреса и адреса электронной почты',
|
||||||
|
removeStopwords: 'Удалить стоп-слова, такие как "a", "an", "the"',
|
||||||
|
preview: 'Подтвердить и просмотреть',
|
||||||
|
reset: 'Сбросить',
|
||||||
|
indexMode: 'Режим индексации',
|
||||||
|
qualified: 'Высокое качество',
|
||||||
|
recommend: 'Рекомендуется',
|
||||||
|
qualifiedTip: 'Вызов интерфейса встраивания системы по умолчанию для обработки, чтобы обеспечить более высокую точность при запросах пользователей.',
|
||||||
|
warning: 'Пожалуйста, сначала настройте ключ API поставщика модели.',
|
||||||
|
click: 'Перейти к настройкам',
|
||||||
|
economical: 'Экономичный',
|
||||||
|
economicalTip: 'Используйте автономные векторные движки, индексы ключевых слов и т. д., чтобы снизить точность, не тратя токены',
|
||||||
|
QATitle: 'Сегментация в формате вопрос-ответ',
|
||||||
|
QATip: 'Включение этой опции приведет к потреблению большего количества токенов',
|
||||||
|
QALanguage: 'Сегментировать с помощью',
|
||||||
|
emstimateCost: 'Оценка',
|
||||||
|
emstimateSegment: 'Оценочное количество фрагментов',
|
||||||
|
segmentCount: 'фрагментов',
|
||||||
|
calculating: 'Вычисление...',
|
||||||
|
fileSource: 'Предварительная обработка документов',
|
||||||
|
notionSource: 'Предварительная обработка страниц',
|
||||||
|
websiteSource: 'Предварительная обработка веб-сайта',
|
||||||
|
other: 'и другие ',
|
||||||
|
fileUnit: ' файлов',
|
||||||
|
notionUnit: ' страниц',
|
||||||
|
webpageUnit: ' страниц',
|
||||||
|
previousStep: 'Предыдущий шаг',
|
||||||
|
nextStep: 'Сохранить и обработать',
|
||||||
|
save: 'Сохранить и обработать',
|
||||||
|
cancel: 'Отмена',
|
||||||
|
sideTipTitle: 'Зачем нужна фрагментация и предварительная обработка?',
|
||||||
|
sideTipP1: 'При обработке текстовых данных фрагментация и очистка являются двумя важными этапами предварительной обработки.',
|
||||||
|
sideTipP2: 'Сегментация разбивает длинный текст на абзацы, чтобы модели могли лучше его понимать. Это улучшает качество и релевантность результатов модели.',
|
||||||
|
sideTipP3: 'Очистка удаляет ненужные символы и форматы, делая знания более чистыми и легкими для анализа.',
|
||||||
|
sideTipP4: 'Правильная фрагментация и очистка улучшают производительность модели, обеспечивая более точные и ценные результаты.',
|
||||||
|
previewTitle: 'Предварительный просмотр',
|
||||||
|
previewTitleButton: 'Предварительный просмотр',
|
||||||
|
previewButton: 'Переключение в формат вопрос-ответ',
|
||||||
|
previewSwitchTipStart: 'Текущий предварительный просмотр фрагмента находится в текстовом формате, переключение на предварительный просмотр в формате вопрос-ответ',
|
||||||
|
previewSwitchTipEnd: ' потребляет дополнительные токены',
|
||||||
|
characters: 'символов',
|
||||||
|
indexSettedTip: 'Чтобы изменить метод индексации, пожалуйста, перейдите в ',
|
||||||
|
retrivalSettedTip: 'Чтобы изменить метод индексации, пожалуйста, перейдите в ',
|
||||||
|
datasetSettingLink: 'настройки базы знаний.',
|
||||||
|
},
|
||||||
|
stepThree: {
|
||||||
|
creationTitle: '🎉 База знаний создана',
|
||||||
|
creationContent: 'Мы автоматически назвали базу знаний, вы можете изменить ее в любое время',
|
||||||
|
label: 'Название базы знаний',
|
||||||
|
additionTitle: '🎉 Документ загружен',
|
||||||
|
additionP1: 'Документ был загружен в базу знаний',
|
||||||
|
additionP2: ', вы можете найти его в списке документов базы знаний.',
|
||||||
|
stop: 'Остановить обработку',
|
||||||
|
resume: 'Возобновить обработку',
|
||||||
|
navTo: 'Перейти к документу',
|
||||||
|
sideTipTitle: 'Что дальше',
|
||||||
|
sideTipContent: 'После завершения индексации документа база знаний может быть интегрирована в приложение в качестве контекста, вы можете найти настройку контекста на странице prompt orchestration. Вы также можете создать-workflow приложение как отдельный как независимый плагин.',
|
||||||
|
modelTitle: 'Вы уверены, что хотите остановить встраивание?',
|
||||||
|
modelContent: 'Если вам нужно будет возобновить обработку позже, вы продолжите с того места, где остановились.',
|
||||||
|
modelButtonConfirm: 'Подтвердить',
|
||||||
|
modelButtonCancel: 'Отмена',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
352
web/i18n/ru-RU/dataset-documents.ts
Normal file
352
web/i18n/ru-RU/dataset-documents.ts
Normal file
@ -0,0 +1,352 @@
|
|||||||
|
const translation = {
|
||||||
|
list: {
|
||||||
|
title: 'Документы',
|
||||||
|
desc: 'Здесь отображаются все файлы базы знаний, и вся база знаний может быть связана с цитатами Dify или проиндексирована с помощью чата.',
|
||||||
|
addFile: 'Добавить файл',
|
||||||
|
addPages: 'Добавить страницы',
|
||||||
|
addUrl: 'Добавить URL',
|
||||||
|
table: {
|
||||||
|
header: {
|
||||||
|
fileName: 'НАЗВАНИЕ ФАЙЛА',
|
||||||
|
words: 'СЛОВА',
|
||||||
|
hitCount: 'КОЛИЧЕСТВО ОБРАЩЕНИЙ',
|
||||||
|
uploadTime: 'ВРЕМЯ ЗАГРУЗКИ',
|
||||||
|
status: 'СТАТУС',
|
||||||
|
action: 'ДЕЙСТВИЕ',
|
||||||
|
},
|
||||||
|
rename: 'Переименовать',
|
||||||
|
name: 'Название',
|
||||||
|
},
|
||||||
|
action: {
|
||||||
|
uploadFile: 'Загрузить новый файл',
|
||||||
|
settings: 'Настройки сегментации',
|
||||||
|
addButton: 'Добавить фрагмент',
|
||||||
|
add: 'Добавить фрагмент',
|
||||||
|
batchAdd: 'Пакетное добавление',
|
||||||
|
archive: 'Архивировать',
|
||||||
|
unarchive: 'Разархивировать',
|
||||||
|
delete: 'Удалить',
|
||||||
|
enableWarning: 'Архивный файл не может быть включен',
|
||||||
|
sync: 'Синхронизировать',
|
||||||
|
},
|
||||||
|
index: {
|
||||||
|
enable: 'Включить',
|
||||||
|
disable: 'Отключить',
|
||||||
|
all: 'Все',
|
||||||
|
enableTip: 'Файл может быть проиндексирован',
|
||||||
|
disableTip: 'Файл не может быть проиндексирован',
|
||||||
|
},
|
||||||
|
status: {
|
||||||
|
queuing: 'В очереди',
|
||||||
|
indexing: 'Индексация',
|
||||||
|
paused: 'Приостановлено',
|
||||||
|
error: 'Ошибка',
|
||||||
|
available: 'Доступно',
|
||||||
|
enabled: 'Включено',
|
||||||
|
disabled: 'Отключено',
|
||||||
|
archived: 'Архивировано',
|
||||||
|
},
|
||||||
|
empty: {
|
||||||
|
title: 'Пока нет документов',
|
||||||
|
upload: {
|
||||||
|
tip: 'Вы можете загружать файлы, синхронизировать с веб-сайта или из веб-приложений, таких как Notion, GitHub и т. д.',
|
||||||
|
},
|
||||||
|
sync: {
|
||||||
|
tip: 'Dify будет периодически загружать файлы из вашего Notion и завершать обработку.',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
delete: {
|
||||||
|
title: 'Вы уверены, что хотите удалить?',
|
||||||
|
content: 'Если вам нужно будет возобновить обработку позже, вы продолжите с того места, где остановились',
|
||||||
|
},
|
||||||
|
batchModal: {
|
||||||
|
title: 'Пакетное добавление фрагментов',
|
||||||
|
csvUploadTitle: 'Перетащите сюда свой CSV-файл или ',
|
||||||
|
browse: 'обзор',
|
||||||
|
tip: 'CSV-файл должен соответствовать следующей структуре:',
|
||||||
|
question: 'вопрос',
|
||||||
|
answer: 'ответ',
|
||||||
|
contentTitle: 'содержимое фрагмента',
|
||||||
|
content: 'содержимое',
|
||||||
|
template: 'Скачать шаблон здесь',
|
||||||
|
cancel: 'Отмена',
|
||||||
|
run: 'Запустить пакет',
|
||||||
|
runError: 'Ошибка запуска пакета',
|
||||||
|
processing: 'В процессе пакетной обработки',
|
||||||
|
completed: 'Импорт завершен',
|
||||||
|
error: 'Ошибка импорта',
|
||||||
|
ok: 'ОК',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
metadata: {
|
||||||
|
title: 'Метаданные',
|
||||||
|
desc: 'Маркировка метаданных для документов позволяет ИИ своевременно получать к ним доступ и раскрывать источник ссылок для пользователей.',
|
||||||
|
dateTimeFormat: 'D MMMM YYYY, HH:mm',
|
||||||
|
docTypeSelectTitle: 'Пожалуйста, выберите тип документа',
|
||||||
|
docTypeChangeTitle: 'Изменить тип документа',
|
||||||
|
docTypeSelectWarning:
|
||||||
|
'Если тип документа будет изменен, заполненные сейчас метаданные больше не будут сохранены',
|
||||||
|
firstMetaAction: 'Поехали',
|
||||||
|
placeholder: {
|
||||||
|
add: 'Добавить ',
|
||||||
|
select: 'Выбрать ',
|
||||||
|
},
|
||||||
|
source: {
|
||||||
|
upload_file: 'Загрузить файл',
|
||||||
|
notion: 'Синхронизировать из Notion',
|
||||||
|
github: 'Синхронизировать из Github',
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
book: 'Книга',
|
||||||
|
webPage: 'Веб-страница',
|
||||||
|
paper: 'Статья',
|
||||||
|
socialMediaPost: 'Пост в социальных сетях',
|
||||||
|
personalDocument: 'Личный документ',
|
||||||
|
businessDocument: 'Деловой документ',
|
||||||
|
IMChat: 'Чат в мессенджере',
|
||||||
|
wikipediaEntry: 'Статья в Википедии',
|
||||||
|
notion: 'Синхронизировать из Notion',
|
||||||
|
github: 'Синхронизировать из Github',
|
||||||
|
technicalParameters: 'Технические параметры',
|
||||||
|
},
|
||||||
|
field: {
|
||||||
|
processRule: {
|
||||||
|
processDoc: 'Обработка документа',
|
||||||
|
segmentRule: 'Правило фрагментации',
|
||||||
|
segmentLength: 'Длина фрагментов',
|
||||||
|
processClean: 'Очистка текста',
|
||||||
|
},
|
||||||
|
book: {
|
||||||
|
title: 'Название',
|
||||||
|
language: 'Язык',
|
||||||
|
author: 'Автор',
|
||||||
|
publisher: 'Издатель',
|
||||||
|
publicationDate: 'Дата публикации',
|
||||||
|
ISBN: 'ISBN',
|
||||||
|
category: 'Категория',
|
||||||
|
},
|
||||||
|
webPage: {
|
||||||
|
title: 'Название',
|
||||||
|
url: 'URL',
|
||||||
|
language: 'Язык',
|
||||||
|
authorPublisher: 'Автор/Издатель',
|
||||||
|
publishDate: 'Дата публикации',
|
||||||
|
topicsKeywords: 'Темы/Ключевые слова',
|
||||||
|
description: 'Описание',
|
||||||
|
},
|
||||||
|
paper: {
|
||||||
|
title: 'Название',
|
||||||
|
language: 'Язык',
|
||||||
|
author: 'Автор',
|
||||||
|
publishDate: 'Дата публикации',
|
||||||
|
journalConferenceName: 'Название журнала/конференции',
|
||||||
|
volumeIssuePage: 'Том/Выпуск/Страница',
|
||||||
|
DOI: 'DOI',
|
||||||
|
topicsKeywords: 'Темы/Ключевые слова',
|
||||||
|
abstract: 'Аннотация',
|
||||||
|
},
|
||||||
|
socialMediaPost: {
|
||||||
|
platform: 'Платформа',
|
||||||
|
authorUsername: 'Автор/Имя пользователя',
|
||||||
|
publishDate: 'Дата публикации',
|
||||||
|
postURL: 'URL поста',
|
||||||
|
topicsTags: 'Темы/Теги',
|
||||||
|
},
|
||||||
|
personalDocument: {
|
||||||
|
title: 'Название',
|
||||||
|
author: 'Автор',
|
||||||
|
creationDate: 'Дата создания',
|
||||||
|
lastModifiedDate: 'Дата последнего изменения',
|
||||||
|
documentType: 'Тип документа',
|
||||||
|
tagsCategory: 'Теги/Категория',
|
||||||
|
},
|
||||||
|
businessDocument: {
|
||||||
|
title: 'Название',
|
||||||
|
author: 'Автор',
|
||||||
|
creationDate: 'Дата создания',
|
||||||
|
lastModifiedDate: 'Дата последнего изменения',
|
||||||
|
documentType: 'Тип документа',
|
||||||
|
departmentTeam: 'Отдел/Команда',
|
||||||
|
},
|
||||||
|
IMChat: {
|
||||||
|
chatPlatform: 'Платформа чата',
|
||||||
|
chatPartiesGroupName: 'Участники чата/Название группы',
|
||||||
|
participants: 'Участники',
|
||||||
|
startDate: 'Дата начала',
|
||||||
|
endDate: 'Дата окончания',
|
||||||
|
topicsKeywords: 'Темы/Ключевые слова',
|
||||||
|
fileType: 'Тип файла',
|
||||||
|
},
|
||||||
|
wikipediaEntry: {
|
||||||
|
title: 'Название',
|
||||||
|
language: 'Язык',
|
||||||
|
webpageURL: 'URL веб-страницы',
|
||||||
|
editorContributor: 'Редактор/Автор',
|
||||||
|
lastEditDate: 'Дата последнего редактирования',
|
||||||
|
summaryIntroduction: 'Краткое содержание/Введение',
|
||||||
|
},
|
||||||
|
notion: {
|
||||||
|
title: 'Название',
|
||||||
|
language: 'Язык',
|
||||||
|
author: 'Автор',
|
||||||
|
createdTime: 'Время создания',
|
||||||
|
lastModifiedTime: 'Время последнего изменения',
|
||||||
|
url: 'URL',
|
||||||
|
tag: 'Тег',
|
||||||
|
description: 'Описание',
|
||||||
|
},
|
||||||
|
github: {
|
||||||
|
repoName: 'Название репозитория',
|
||||||
|
repoDesc: 'Описание репозитория',
|
||||||
|
repoOwner: 'Владелец репозитория',
|
||||||
|
fileName: 'Название файла',
|
||||||
|
filePath: 'Путь к файлу',
|
||||||
|
programmingLang: 'Язык программирования',
|
||||||
|
url: 'URL',
|
||||||
|
license: 'Лицензия',
|
||||||
|
lastCommitTime: 'Время последнего коммита',
|
||||||
|
lastCommitAuthor: 'Автор последнего коммита',
|
||||||
|
},
|
||||||
|
originInfo: {
|
||||||
|
originalFilename: 'Исходное имя файла',
|
||||||
|
originalFileSize: 'Исходный размер файла',
|
||||||
|
uploadDate: 'Дата загрузки',
|
||||||
|
lastUpdateDate: 'Дата последнего обновления',
|
||||||
|
source: 'Источник',
|
||||||
|
},
|
||||||
|
technicalParameters: {
|
||||||
|
segmentSpecification: 'Спецификация фрагментов',
|
||||||
|
segmentLength: 'Длина фрагментов',
|
||||||
|
avgParagraphLength: 'Средняя длина абзаца',
|
||||||
|
paragraphs: 'Абзацы',
|
||||||
|
hitCount: 'Количество обращений',
|
||||||
|
embeddingTime: 'Время встраивания',
|
||||||
|
embeddedSpend: 'Потрачено на встраивание',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
languageMap: {
|
||||||
|
zh: 'Китайский',
|
||||||
|
en: 'Английский',
|
||||||
|
es: 'Испанский',
|
||||||
|
fr: 'Французский',
|
||||||
|
de: 'Немецкий',
|
||||||
|
ja: 'Японский',
|
||||||
|
ko: 'Корейский',
|
||||||
|
ru: 'Русский',
|
||||||
|
ar: 'Арабский',
|
||||||
|
pt: 'Португальский',
|
||||||
|
it: 'Итальянский',
|
||||||
|
nl: 'Голландский',
|
||||||
|
pl: 'Польский',
|
||||||
|
sv: 'Шведский',
|
||||||
|
tr: 'Турецкий',
|
||||||
|
he: 'Иврит',
|
||||||
|
hi: 'Хинди',
|
||||||
|
da: 'Датский',
|
||||||
|
fi: 'Финский',
|
||||||
|
no: 'Норвежский',
|
||||||
|
hu: 'Венгерский',
|
||||||
|
el: 'Греческий',
|
||||||
|
cs: 'Чешский',
|
||||||
|
th: 'Тайский',
|
||||||
|
id: 'Индонезийский',
|
||||||
|
},
|
||||||
|
categoryMap: {
|
||||||
|
book: {
|
||||||
|
fiction: 'Художественная литература',
|
||||||
|
biography: 'Биография',
|
||||||
|
history: 'История',
|
||||||
|
science: 'Наука',
|
||||||
|
technology: 'Технологии',
|
||||||
|
education: 'Образование',
|
||||||
|
philosophy: 'Философия',
|
||||||
|
religion: 'Религия',
|
||||||
|
socialSciences: 'Социальные науки',
|
||||||
|
art: 'Искусство',
|
||||||
|
travel: 'Путешествия',
|
||||||
|
health: 'Здоровье',
|
||||||
|
selfHelp: 'Самопомощь',
|
||||||
|
businessEconomics: 'Бизнес/Экономика',
|
||||||
|
cooking: 'Кулинария',
|
||||||
|
childrenYoungAdults: 'Детская/Подростковая литература',
|
||||||
|
comicsGraphicNovels: 'Комиксы/Графические романы',
|
||||||
|
poetry: 'Поэзия',
|
||||||
|
drama: 'Драматургия',
|
||||||
|
other: 'Другое',
|
||||||
|
},
|
||||||
|
personalDoc: {
|
||||||
|
notes: 'Заметки',
|
||||||
|
blogDraft: 'Черновик блога',
|
||||||
|
diary: 'Дневник',
|
||||||
|
researchReport: 'Научный отчет',
|
||||||
|
bookExcerpt: 'Отрывок из книги',
|
||||||
|
schedule: 'Расписание',
|
||||||
|
list: 'Список',
|
||||||
|
projectOverview: 'Обзор проекта',
|
||||||
|
photoCollection: 'Коллекция фотографий',
|
||||||
|
creativeWriting: 'Творческое письмо',
|
||||||
|
codeSnippet: 'Фрагмент кода',
|
||||||
|
designDraft: 'Черновик дизайна',
|
||||||
|
personalResume: 'Личное резюме',
|
||||||
|
other: 'Другое',
|
||||||
|
},
|
||||||
|
businessDoc: {
|
||||||
|
meetingMinutes: 'Протокол собрания',
|
||||||
|
researchReport: 'Научный отчет',
|
||||||
|
proposal: 'Предложение',
|
||||||
|
employeeHandbook: 'Справочник сотрудника',
|
||||||
|
trainingMaterials: 'Учебные материалы',
|
||||||
|
requirementsDocument: 'Документ с требованиями',
|
||||||
|
designDocument: 'Проектный документ',
|
||||||
|
productSpecification: 'Спецификация продукта',
|
||||||
|
financialReport: 'Финансовый отчет',
|
||||||
|
marketAnalysis: 'Анализ рынка',
|
||||||
|
projectPlan: 'План проекта',
|
||||||
|
teamStructure: 'Структура команды',
|
||||||
|
policiesProcedures: 'Политики и процедуры',
|
||||||
|
contractsAgreements: 'Договоры и соглашения',
|
||||||
|
emailCorrespondence: 'Переписка по электронной почте',
|
||||||
|
other: 'Другое',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
embedding: {
|
||||||
|
processing: 'Расчет эмбеддингов...',
|
||||||
|
paused: 'Расчет эмбеддингов приостановлен',
|
||||||
|
completed: 'Встраивание завершено',
|
||||||
|
error: 'Ошибка расчета эмбеддингов',
|
||||||
|
docName: 'Предварительная обработка документа',
|
||||||
|
mode: 'Правило сегментации',
|
||||||
|
segmentLength: 'Длина фрагментов',
|
||||||
|
textCleaning: 'Предварительная очистка текста',
|
||||||
|
segments: 'Абзацы',
|
||||||
|
highQuality: 'Режим высокого качества',
|
||||||
|
economy: 'Экономичный режим',
|
||||||
|
estimate: 'Оценочное потребление',
|
||||||
|
stop: 'Остановить обработку',
|
||||||
|
resume: 'Возобновить обработку',
|
||||||
|
automatic: 'Автоматически',
|
||||||
|
custom: 'Пользовательский',
|
||||||
|
previewTip: 'Предварительный просмотр абзацев будет доступен после завершения расчета эмбеддингов',
|
||||||
|
},
|
||||||
|
segment: {
|
||||||
|
paragraphs: 'Абзацы',
|
||||||
|
keywords: 'Ключевые слова',
|
||||||
|
addKeyWord: 'Добавить ключевое слово',
|
||||||
|
keywordError: 'Максимальная длина ключевого слова - 20',
|
||||||
|
characters: 'символов',
|
||||||
|
hitCount: 'Количество обращений',
|
||||||
|
vectorHash: 'Векторный хэш: ',
|
||||||
|
questionPlaceholder: 'добавьте вопрос здесь',
|
||||||
|
questionEmpty: 'Вопрос не может быть пустым',
|
||||||
|
answerPlaceholder: 'добавьте ответ здесь',
|
||||||
|
answerEmpty: 'Ответ не может быть пустым',
|
||||||
|
contentPlaceholder: 'добавьте содержимое здесь',
|
||||||
|
contentEmpty: 'Содержимое не может быть пустым',
|
||||||
|
newTextSegment: 'Новый текстовый сегмент',
|
||||||
|
newQaSegment: 'Новый сегмент вопрос-ответ',
|
||||||
|
delete: 'Удалить этот фрагмент?',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
28
web/i18n/ru-RU/dataset-hit-testing.ts
Normal file
28
web/i18n/ru-RU/dataset-hit-testing.ts
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
const translation = {
|
||||||
|
title: 'Тестирование поиска',
|
||||||
|
desc: 'Проверьте эффективность поиска в базе знаний на основе заданного текста запроса.',
|
||||||
|
dateTimeFormat: 'DD.MM.YYYY HH:mm',
|
||||||
|
recents: 'Недавние',
|
||||||
|
table: {
|
||||||
|
header: {
|
||||||
|
source: 'Источник',
|
||||||
|
text: 'Текст',
|
||||||
|
time: 'Время',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
input: {
|
||||||
|
title: 'Исходный текст',
|
||||||
|
placeholder: 'Пожалуйста, введите текст, рекомендуется использовать короткое повествовательное предложение.',
|
||||||
|
countWarning: 'До 200 символов.',
|
||||||
|
indexWarning: 'Только база знаний высокого качества.',
|
||||||
|
testing: 'Тестирование',
|
||||||
|
},
|
||||||
|
hit: {
|
||||||
|
title: 'НАЙДЕННЫЕ АБЗАЦЫ',
|
||||||
|
emptyTip: 'Результаты тестирования поиска будут отображаться здесь',
|
||||||
|
},
|
||||||
|
noRecentTip: 'Здесь нет результатов недавних запросов',
|
||||||
|
viewChart: 'Посмотреть ВЕКТОРНУЮ ДИАГРАММУ',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
35
web/i18n/ru-RU/dataset-settings.ts
Normal file
35
web/i18n/ru-RU/dataset-settings.ts
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
const translation = {
|
||||||
|
title: 'Настройки базы знаний',
|
||||||
|
desc: 'Здесь вы можете изменить свойства и методы работы базы знаний.',
|
||||||
|
form: {
|
||||||
|
name: 'Название базы знаний',
|
||||||
|
namePlaceholder: 'Пожалуйста, введите название базы знаний',
|
||||||
|
nameError: 'Название не может быть пустым',
|
||||||
|
desc: 'Описание базы знаний',
|
||||||
|
descInfo: 'Пожалуйста, напишите четкое текстовое описание, чтобы обрисовать содержание базы знаний. Это описание будет использоваться в качестве основы для сопоставления при выборе из нескольких баз знаний для вывода.',
|
||||||
|
descPlaceholder: 'Опишите, что находится в этой базе знаний. Подробное описание позволяет ИИ своевременно получать доступ к содержимому базы знаний. Если оставить пустым, Dify будет использовать стратегию поиска по умолчанию.',
|
||||||
|
descWrite: 'Узнайте, как написать хорошее описание базы знаний.',
|
||||||
|
permissions: 'Разрешения',
|
||||||
|
permissionsOnlyMe: 'Только я',
|
||||||
|
permissionsAllMember: 'Все участники команды',
|
||||||
|
permissionsInvitedMembers: 'Отдельные участники команды',
|
||||||
|
me: '(Вы)',
|
||||||
|
indexMethod: 'Метод индексации',
|
||||||
|
indexMethodHighQuality: 'Высокое качество',
|
||||||
|
indexMethodHighQualityTip: 'Вызов модели встраивания для обработки, чтобы обеспечить более высокую точность при запросах пользователей.',
|
||||||
|
indexMethodEconomy: 'Экономичный',
|
||||||
|
indexMethodEconomyTip: 'Используйте автономные векторные движки, индексы ключевых слов и т. д., чтобы снизить точность, не тратя токены',
|
||||||
|
embeddingModel: 'Модель встраивания',
|
||||||
|
embeddingModelTip: 'Изменить встроенную модель, пожалуйста, перейдите в ',
|
||||||
|
embeddingModelTipLink: 'Настройки',
|
||||||
|
retrievalSetting: {
|
||||||
|
title: 'Настройки поиска',
|
||||||
|
learnMore: 'Узнать больше',
|
||||||
|
description: ' о методе поиска.',
|
||||||
|
longDescription: ' о методе поиска, вы можете изменить это в любое время в настройках базы знаний.',
|
||||||
|
},
|
||||||
|
save: 'Сохранить',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
76
web/i18n/ru-RU/dataset.ts
Normal file
76
web/i18n/ru-RU/dataset.ts
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
const translation = {
|
||||||
|
knowledge: 'База знаний',
|
||||||
|
documentCount: ' документов',
|
||||||
|
wordCount: ' тыс. слов',
|
||||||
|
appCount: ' связанных приложений',
|
||||||
|
createDataset: 'Создать базу знаний',
|
||||||
|
createDatasetIntro: 'Импортируйте свои собственные текстовые данные или записывайте данные в режиме реального времени через Webhook для улучшения контекста LLM.',
|
||||||
|
deleteDatasetConfirmTitle: 'Удалить эту базу знаний?',
|
||||||
|
deleteDatasetConfirmContent:
|
||||||
|
'Удаление базы знаний необратимо. Пользователи больше не смогут получить доступ к вашей базе знаний, и все настройки подсказок и журналы будут безвозвратно удалены.',
|
||||||
|
datasetUsedByApp: 'База знаний используется некоторыми приложениями. Приложения больше не смогут использовать эту базу знаний, и все настройки подсказок и журналы будут безвозвратно удалены.',
|
||||||
|
datasetDeleted: 'База знаний удалена',
|
||||||
|
datasetDeleteFailed: 'Не удалось удалить базу знаний',
|
||||||
|
didYouKnow: 'Знаете ли вы?',
|
||||||
|
intro1: 'Базу знаний можно интегрировать в приложение Dify ',
|
||||||
|
intro2: 'в качестве контекста',
|
||||||
|
intro3: ',',
|
||||||
|
intro4: 'или ее ',
|
||||||
|
intro5: 'можно создать',
|
||||||
|
intro6: ' как отдельный плагин индекса ChatGPT для публикации',
|
||||||
|
unavailable: 'Недоступно',
|
||||||
|
unavailableTip: 'Модель встраивания недоступна, необходимо настроить модель встраивания по умолчанию',
|
||||||
|
datasets: 'БАЗЫ ЗНАНИЙ',
|
||||||
|
datasetsApi: 'ДОСТУП К API',
|
||||||
|
retrieval: {
|
||||||
|
semantic_search: {
|
||||||
|
title: 'Векторный поиск',
|
||||||
|
description: 'Создайте встраивания запросов и найдите фрагмент текста, наиболее похожий на его векторное представление.',
|
||||||
|
},
|
||||||
|
full_text_search: {
|
||||||
|
title: 'Полнотекстовый поиск',
|
||||||
|
description: 'Индексируйте все термины в документе, позволяя пользователям искать любой термин и извлекать соответствующий фрагмент текста, содержащий эти термины.',
|
||||||
|
},
|
||||||
|
hybrid_search: {
|
||||||
|
title: 'Гибридный поиск',
|
||||||
|
description: 'Выполняйте полнотекстовый поиск и векторный поиск одновременно, переранжируйте, чтобы выбрать наилучшее соответствие запросу пользователя. Пользователи могут выбрать установку весов или настройку модели переранжирования.',
|
||||||
|
recommend: 'Рекомендуется',
|
||||||
|
},
|
||||||
|
invertedIndex: {
|
||||||
|
title: 'Инвертированный индекс',
|
||||||
|
description: 'Инвертированный индекс - это структура, используемая для эффективного поиска. Организованный по терминам, каждый термин указывает на документы или веб-страницы, содержащие его.',
|
||||||
|
},
|
||||||
|
change: 'Изменить',
|
||||||
|
changeRetrievalMethod: 'Изменить метод поиска',
|
||||||
|
},
|
||||||
|
docsFailedNotice: 'документов не удалось проиндексировать',
|
||||||
|
retry: 'Повторить попытку',
|
||||||
|
indexingTechnique: {
|
||||||
|
high_quality: 'HQ',
|
||||||
|
economy: 'ECO',
|
||||||
|
},
|
||||||
|
indexingMethod: {
|
||||||
|
semantic_search: 'ВЕКТОР',
|
||||||
|
full_text_search: 'ПОЛНЫЙ ТЕКСТ',
|
||||||
|
hybrid_search: 'ГИБРИД',
|
||||||
|
invertedIndex: 'ИНВЕРТИРОВАННЫЙ',
|
||||||
|
},
|
||||||
|
mixtureHighQualityAndEconomicTip: 'Для смешивания высококачественных и экономичных баз знаний требуется модель переранжирования.',
|
||||||
|
inconsistentEmbeddingModelTip: 'Модель переранжирования требуется, если модели встраивания выбранных баз знаний несовместимы.',
|
||||||
|
retrievalSettings: 'Настройки поиска',
|
||||||
|
rerankSettings: 'Настройки переранжирования',
|
||||||
|
weightedScore: {
|
||||||
|
title: 'Взвешенная оценка',
|
||||||
|
description: 'Регулируя назначенные веса, эта стратегия переранжирования определяет, следует ли отдавать приоритет семантическому или ключевому соответствию.',
|
||||||
|
semanticFirst: 'Семантика в первую очередь',
|
||||||
|
keywordFirst: 'Ключевые слова в первую очередь',
|
||||||
|
customized: 'Настраиваемый',
|
||||||
|
semantic: 'Семантика',
|
||||||
|
keyword: 'Ключевые слова',
|
||||||
|
},
|
||||||
|
nTo1RetrievalLegacy: 'Поиск N-к-1 будет официально прекращен с сентября. Рекомендуется использовать новейший многопутный поиск для получения лучших результатов.',
|
||||||
|
nTo1RetrievalLegacyLink: 'Узнать больше',
|
||||||
|
nTo1RetrievalLegacyLinkText: ' Поиск N-к-1 будет официально прекращен в сентябре.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
41
web/i18n/ru-RU/explore.ts
Normal file
41
web/i18n/ru-RU/explore.ts
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
const translation = {
|
||||||
|
title: 'Обзор',
|
||||||
|
sidebar: {
|
||||||
|
discovery: 'Открытия',
|
||||||
|
chat: 'Чат',
|
||||||
|
workspace: 'Рабочее пространство',
|
||||||
|
action: {
|
||||||
|
pin: 'Закрепить',
|
||||||
|
unpin: 'Открепить',
|
||||||
|
rename: 'Переименовать',
|
||||||
|
delete: 'Удалить',
|
||||||
|
},
|
||||||
|
delete: {
|
||||||
|
title: 'Удалить приложение',
|
||||||
|
content: 'Вы уверены, что хотите удалить это приложение?',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
apps: {
|
||||||
|
title: 'Обзор приложений от Dify',
|
||||||
|
description: 'Используйте эти шаблонные приложения мгновенно или настройте свои собственные приложения на основе шаблонов.',
|
||||||
|
allCategories: 'Рекомендуемые',
|
||||||
|
},
|
||||||
|
appCard: {
|
||||||
|
addToWorkspace: 'Добавить в рабочее пространство',
|
||||||
|
customize: 'Настроить',
|
||||||
|
},
|
||||||
|
appCustomize: {
|
||||||
|
title: 'Создать приложение из {{name}}',
|
||||||
|
subTitle: 'Значок и название приложения',
|
||||||
|
nameRequired: 'Название приложения обязательно',
|
||||||
|
},
|
||||||
|
category: {
|
||||||
|
Assistant: 'Ассистент',
|
||||||
|
Writing: 'Написание',
|
||||||
|
Translate: 'Перевод',
|
||||||
|
Programming: 'Программирование',
|
||||||
|
HR: 'HR',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
4
web/i18n/ru-RU/layout.ts
Normal file
4
web/i18n/ru-RU/layout.ts
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
const translation = {
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
75
web/i18n/ru-RU/login.ts
Normal file
75
web/i18n/ru-RU/login.ts
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
const translation = {
|
||||||
|
pageTitle: 'Привет, давайте начнем!👋',
|
||||||
|
welcome: 'Добро пожаловать в Dify, пожалуйста, войдите, чтобы продолжить.',
|
||||||
|
email: 'Адрес электронной почты',
|
||||||
|
emailPlaceholder: 'Ваш адрес электронной почты',
|
||||||
|
password: 'Пароль',
|
||||||
|
passwordPlaceholder: 'Ваш пароль',
|
||||||
|
name: 'Имя пользователя',
|
||||||
|
namePlaceholder: 'Ваше имя пользователя',
|
||||||
|
forget: 'Забыли пароль?',
|
||||||
|
signBtn: 'Войти',
|
||||||
|
sso: 'Продолжить с SSO',
|
||||||
|
installBtn: 'Настроить',
|
||||||
|
setAdminAccount: 'Настройка учетной записи администратора',
|
||||||
|
setAdminAccountDesc: 'Максимальные привилегии для учетной записи администратора, которые можно использовать для создания приложений, управления поставщиками LLM и т. д.',
|
||||||
|
createAndSignIn: 'Создать и войти',
|
||||||
|
oneMoreStep: 'Еще один шаг',
|
||||||
|
createSample: 'На основе этой информации мы создадим для вас пример приложения',
|
||||||
|
invitationCode: 'Пригласительный код',
|
||||||
|
invitationCodePlaceholder: 'Ваш пригласительный код',
|
||||||
|
interfaceLanguage: 'Язык интерфейса',
|
||||||
|
timezone: 'Часовой пояс',
|
||||||
|
go: 'Перейти к Dify',
|
||||||
|
sendUsMail: 'Отправьте нам по электронной почте свое представление, и мы обработаем запрос на приглашение.',
|
||||||
|
acceptPP: 'Я прочитал и принимаю политику конфиденциальности',
|
||||||
|
reset: 'Пожалуйста, выполните следующую команду, чтобы сбросить пароль',
|
||||||
|
withGitHub: 'Продолжить с GitHub',
|
||||||
|
withGoogle: 'Продолжить с Google',
|
||||||
|
rightTitle: 'Раскройте весь потенциал LLM',
|
||||||
|
rightDesc: 'Без труда создавайте визуально привлекательные, работоспособные и улучшаемые приложения ИИ.',
|
||||||
|
tos: 'Условия обслуживания',
|
||||||
|
pp: 'Политика конфиденциальности',
|
||||||
|
tosDesc: 'Регистрируясь, вы соглашаетесь с нашими',
|
||||||
|
goToInit: 'Если вы не инициализировали учетную запись, перейдите на страницу инициализации',
|
||||||
|
donthave: 'Нет?',
|
||||||
|
invalidInvitationCode: 'Неверный пригласительный код',
|
||||||
|
accountAlreadyInited: 'Учетная запись уже инициализирована',
|
||||||
|
forgotPassword: 'Забыли пароль?',
|
||||||
|
resetLinkSent: 'Ссылка для сброса отправлена',
|
||||||
|
sendResetLink: 'Отправить ссылку для сброса',
|
||||||
|
backToSignIn: 'Вернуться к входу',
|
||||||
|
forgotPasswordDesc: 'Пожалуйста, введите свой адрес электронной почты, чтобы сбросить пароль. Мы отправим вам электронное письмо с инструкциями о том, как сбросить пароль.',
|
||||||
|
checkEmailForResetLink: 'Пожалуйста, проверьте свою электронную почту на наличие ссылки для сброса пароля. Если она не появится в течение нескольких минут, обязательно проверьте папку со спамом.',
|
||||||
|
passwordChanged: 'Войдите сейчас',
|
||||||
|
changePassword: 'Изменить пароль',
|
||||||
|
changePasswordTip: 'Пожалуйста, введите новый пароль для своей учетной записи',
|
||||||
|
invalidToken: 'Неверный или просроченный токен',
|
||||||
|
confirmPassword: 'Подтвердите пароль',
|
||||||
|
confirmPasswordPlaceholder: 'Подтвердите свой новый пароль',
|
||||||
|
passwordChangedTip: 'Ваш пароль был успешно изменен',
|
||||||
|
error: {
|
||||||
|
emailEmpty: 'Адрес электронной почты обязателен',
|
||||||
|
emailInValid: 'Пожалуйста, введите действительный адрес электронной почты',
|
||||||
|
nameEmpty: 'Имя обязательно',
|
||||||
|
passwordEmpty: 'Пароль обязателен',
|
||||||
|
passwordLengthInValid: 'Пароль должен содержать не менее 8 символов',
|
||||||
|
passwordInvalid: 'Пароль должен содержать буквы и цифры, а длина должна быть больше 8',
|
||||||
|
},
|
||||||
|
license: {
|
||||||
|
tip: 'Перед запуском Dify Community Edition ознакомьтесь с лицензией GitHub',
|
||||||
|
link: 'Лицензия с открытым исходным кодом',
|
||||||
|
},
|
||||||
|
join: 'Присоединиться',
|
||||||
|
joinTipStart: 'Приглашаем вас присоединиться к',
|
||||||
|
joinTipEnd: 'команде на Dify',
|
||||||
|
invalid: 'Ссылка истекла',
|
||||||
|
explore: 'Изучить Dify',
|
||||||
|
activatedTipStart: 'Вы присоединились к команде',
|
||||||
|
activatedTipEnd: '',
|
||||||
|
activated: 'Войдите сейчас',
|
||||||
|
adminInitPassword: 'Пароль инициализации администратора',
|
||||||
|
validate: 'Проверить',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
4
web/i18n/ru-RU/register.ts
Normal file
4
web/i18n/ru-RU/register.ts
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
const translation = {
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
29
web/i18n/ru-RU/run-log.ts
Normal file
29
web/i18n/ru-RU/run-log.ts
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
const translation = {
|
||||||
|
input: 'ВВОД',
|
||||||
|
result: 'РЕЗУЛЬТАТ',
|
||||||
|
detail: 'ДЕТАЛИ',
|
||||||
|
tracing: 'ТРАССИРОВКА',
|
||||||
|
resultPanel: {
|
||||||
|
status: 'СТАТУС',
|
||||||
|
time: 'ПРОШЕДШЕЕ ВРЕМЯ',
|
||||||
|
tokens: 'ВСЕГО ТОКЕНОВ',
|
||||||
|
},
|
||||||
|
meta: {
|
||||||
|
title: 'МЕТАДАННЫЕ',
|
||||||
|
status: 'Статус',
|
||||||
|
version: 'Версия',
|
||||||
|
executor: 'Исполнитель',
|
||||||
|
startTime: 'Время начала',
|
||||||
|
time: 'Прошедшее время',
|
||||||
|
tokens: 'Всего токенов',
|
||||||
|
steps: 'Шаги выполнения',
|
||||||
|
},
|
||||||
|
resultEmpty: {
|
||||||
|
title: 'Этот запуск выводит только формат JSON,',
|
||||||
|
tipLeft: 'пожалуйста, перейдите на ',
|
||||||
|
link: 'панель деталей',
|
||||||
|
tipRight: ' чтобы просмотреть его.',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
74
web/i18n/ru-RU/share-app.ts
Normal file
74
web/i18n/ru-RU/share-app.ts
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
const translation = {
|
||||||
|
common: {
|
||||||
|
welcome: '',
|
||||||
|
appUnavailable: 'Приложение недоступно',
|
||||||
|
appUnkonwError: 'Приложение недоступно',
|
||||||
|
},
|
||||||
|
chat: {
|
||||||
|
newChat: 'Новый чат',
|
||||||
|
pinnedTitle: 'Закрепленные',
|
||||||
|
unpinnedTitle: 'Чаты',
|
||||||
|
newChatDefaultName: 'Новый разговор',
|
||||||
|
resetChat: 'Сбросить разговор',
|
||||||
|
powerBy: 'Работает на',
|
||||||
|
prompt: 'Подсказка',
|
||||||
|
privatePromptConfigTitle: 'Настройки разговора',
|
||||||
|
publicPromptConfigTitle: 'Начальная подсказка',
|
||||||
|
configStatusDes: 'Перед началом вы можете изменить настройки разговора',
|
||||||
|
configDisabled:
|
||||||
|
'Для этого сеанса использовались настройки предыдущего сеанса.',
|
||||||
|
startChat: 'Начать чат',
|
||||||
|
privacyPolicyLeft:
|
||||||
|
'Пожалуйста, ознакомьтесь с ',
|
||||||
|
privacyPolicyMiddle:
|
||||||
|
'политикой конфиденциальности',
|
||||||
|
privacyPolicyRight:
|
||||||
|
', предоставленной разработчиком приложения.',
|
||||||
|
deleteConversation: {
|
||||||
|
title: 'Удалить разговор',
|
||||||
|
content: 'Вы уверены, что хотите удалить этот разговор?',
|
||||||
|
},
|
||||||
|
tryToSolve: 'Попробуйте решить',
|
||||||
|
temporarySystemIssue: 'Извините, временная проблема с системой.',
|
||||||
|
},
|
||||||
|
generation: {
|
||||||
|
tabs: {
|
||||||
|
create: 'Запустить один раз',
|
||||||
|
batch: 'Запустить пакетно',
|
||||||
|
saved: 'Сохраненные',
|
||||||
|
},
|
||||||
|
savedNoData: {
|
||||||
|
title: 'Вы еще не сохранили ни одного результата!',
|
||||||
|
description: 'Начните генерировать контент, и вы найдете свои сохраненные результаты здесь.',
|
||||||
|
startCreateContent: 'Начать создавать контент',
|
||||||
|
},
|
||||||
|
title: 'Завершение ИИ',
|
||||||
|
queryTitle: 'Содержимое запроса',
|
||||||
|
completionResult: 'Результат завершения',
|
||||||
|
queryPlaceholder: 'Напишите содержимое вашего запроса...',
|
||||||
|
run: 'Выполнить',
|
||||||
|
copy: 'Копировать',
|
||||||
|
resultTitle: 'Завершение ИИ',
|
||||||
|
noData: 'ИИ даст вам то, что вы хотите, здесь.',
|
||||||
|
csvUploadTitle: 'Перетащите сюда свой CSV-файл или ',
|
||||||
|
browse: 'обзор',
|
||||||
|
csvStructureTitle: 'CSV-файл должен соответствовать следующей структуре:',
|
||||||
|
downloadTemplate: 'Скачать шаблон здесь',
|
||||||
|
field: 'Поле',
|
||||||
|
batchFailed: {
|
||||||
|
info: '{{num}} неудачных выполнений',
|
||||||
|
retry: 'Повторить попытку',
|
||||||
|
outputPlaceholder: 'Нет выходного содержимого',
|
||||||
|
},
|
||||||
|
errorMsg: {
|
||||||
|
empty: 'Пожалуйста, введите содержимое в загруженный файл.',
|
||||||
|
fileStructNotMatch: 'Загруженный CSV-файл не соответствует структуре.',
|
||||||
|
emptyLine: 'Строка {{rowIndex}} пуста',
|
||||||
|
invalidLine: 'Строка {{rowIndex}}: значение {{varName}} не может быть пустым',
|
||||||
|
moreThanMaxLengthLine: 'Строка {{rowIndex}}: значение {{varName}} не может превышать {{maxLength}} символов',
|
||||||
|
atLeastOne: 'Пожалуйста, введите хотя бы одну строку в загруженный файл.',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
153
web/i18n/ru-RU/tools.ts
Normal file
153
web/i18n/ru-RU/tools.ts
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
const translation = {
|
||||||
|
title: 'Инструменты',
|
||||||
|
createCustomTool: 'Создать пользовательский инструмент',
|
||||||
|
customToolTip: 'Узнать больше о пользовательских инструментах Dify',
|
||||||
|
type: {
|
||||||
|
all: 'Все',
|
||||||
|
builtIn: 'Встроенные',
|
||||||
|
custom: 'Пользовательские',
|
||||||
|
workflow: 'Рабочий процесс',
|
||||||
|
},
|
||||||
|
contribute: {
|
||||||
|
line1: 'Я заинтересован в',
|
||||||
|
line2: 'внесении инструментов в Dify.',
|
||||||
|
viewGuide: 'Посмотреть руководство',
|
||||||
|
},
|
||||||
|
author: 'Автор',
|
||||||
|
auth: {
|
||||||
|
unauthorized: 'Авторизовать',
|
||||||
|
authorized: 'Авторизовано',
|
||||||
|
setup: 'Настроить авторизацию для использования',
|
||||||
|
setupModalTitle: 'Настроить авторизацию',
|
||||||
|
setupModalTitleDescription: 'После настройки учетных данных все участники рабочего пространства смогут использовать этот инструмент при оркестровке приложений.',
|
||||||
|
},
|
||||||
|
includeToolNum: 'Включено {{num}} инструментов',
|
||||||
|
addTool: 'Добавить инструмент',
|
||||||
|
addToolModal: {
|
||||||
|
type: 'тип',
|
||||||
|
category: 'категория',
|
||||||
|
add: 'добавить',
|
||||||
|
added: 'добавлено',
|
||||||
|
manageInTools: 'Управлять в инструментах',
|
||||||
|
emptyTitle: 'Нет доступных инструментов рабочего процесса',
|
||||||
|
emptyTip: 'Перейдите в "Рабочий процесс -> Опубликовать как инструмент"',
|
||||||
|
},
|
||||||
|
createTool: {
|
||||||
|
title: 'Создать пользовательский инструмент',
|
||||||
|
editAction: 'Настроить',
|
||||||
|
editTitle: 'Редактировать пользовательский инструмент',
|
||||||
|
name: 'Название',
|
||||||
|
toolNamePlaceHolder: 'Введите название инструмента',
|
||||||
|
nameForToolCall: 'Название вызова инструмента',
|
||||||
|
nameForToolCallPlaceHolder: 'Используется для машинного распознавания, например getCurrentWeather, list_pets',
|
||||||
|
nameForToolCallTip: 'Поддерживаются только цифры, буквы и подчеркивания.',
|
||||||
|
description: 'Описание',
|
||||||
|
descriptionPlaceholder: 'Краткое описание назначения инструмента, например, получить температуру для определенного местоположения.',
|
||||||
|
schema: 'Схема',
|
||||||
|
schemaPlaceHolder: 'Введите свою схему OpenAPI здесь',
|
||||||
|
viewSchemaSpec: 'Посмотреть спецификацию OpenAPI-Swagger',
|
||||||
|
importFromUrl: 'Импортировать из URL',
|
||||||
|
importFromUrlPlaceHolder: 'https://...',
|
||||||
|
urlError: 'Пожалуйста, введите действительный URL',
|
||||||
|
examples: 'Примеры',
|
||||||
|
exampleOptions: {
|
||||||
|
json: 'Погода (JSON)',
|
||||||
|
yaml: 'Зоомагазин (YAML)',
|
||||||
|
blankTemplate: 'Пустой шаблон',
|
||||||
|
},
|
||||||
|
availableTools: {
|
||||||
|
title: 'Доступные инструменты',
|
||||||
|
name: 'Название',
|
||||||
|
description: 'Описание',
|
||||||
|
method: 'Метод',
|
||||||
|
path: 'Путь',
|
||||||
|
action: 'Действия',
|
||||||
|
test: 'Тест',
|
||||||
|
},
|
||||||
|
authMethod: {
|
||||||
|
title: 'Метод авторизации',
|
||||||
|
type: 'Тип авторизации',
|
||||||
|
keyTooltip: 'Ключ заголовка HTTP, вы можете оставить его как "Authorization", если не знаете, что это такое, или установить его на пользовательское значение',
|
||||||
|
types: {
|
||||||
|
none: 'Нет',
|
||||||
|
api_key: 'Ключ API',
|
||||||
|
apiKeyPlaceholder: 'Название заголовка HTTP для ключа API',
|
||||||
|
apiValuePlaceholder: 'Введите ключ API',
|
||||||
|
},
|
||||||
|
key: 'Ключ',
|
||||||
|
value: 'Значение',
|
||||||
|
},
|
||||||
|
authHeaderPrefix: {
|
||||||
|
title: 'Тип авторизации',
|
||||||
|
types: {
|
||||||
|
basic: 'Базовый',
|
||||||
|
bearer: 'Bearer',
|
||||||
|
custom: 'Пользовательский',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
privacyPolicy: 'Политика конфиденциальности',
|
||||||
|
privacyPolicyPlaceholder: 'Пожалуйста, введите политику конфиденциальности',
|
||||||
|
toolInput: {
|
||||||
|
title: 'Входные данные инструмента',
|
||||||
|
name: 'Название',
|
||||||
|
required: 'Обязательно',
|
||||||
|
method: 'Метод',
|
||||||
|
methodSetting: 'Настройка',
|
||||||
|
methodSettingTip: 'Пользователь заполняет конфигурацию инструмента',
|
||||||
|
methodParameter: 'Параметр',
|
||||||
|
methodParameterTip: 'LLM заполняет во время вывода',
|
||||||
|
label: 'Теги',
|
||||||
|
labelPlaceholder: 'Выберите теги (необязательно)',
|
||||||
|
description: 'Описание',
|
||||||
|
descriptionPlaceholder: 'Описание значения параметра',
|
||||||
|
},
|
||||||
|
customDisclaimer: 'Пользовательский отказ от ответственности',
|
||||||
|
customDisclaimerPlaceholder: 'Пожалуйста, введите пользовательский отказ от ответственности',
|
||||||
|
confirmTitle: 'Подтвердить сохранение?',
|
||||||
|
confirmTip: 'Приложения, использующие этот инструмент, будут затронуты',
|
||||||
|
deleteToolConfirmTitle: 'Удалить этот инструмент?',
|
||||||
|
deleteToolConfirmContent: 'Удаление инструмента необратимо. Пользователи больше не смогут получить доступ к вашему инструменту.',
|
||||||
|
},
|
||||||
|
test: {
|
||||||
|
title: 'Тест',
|
||||||
|
parametersValue: 'Параметры и значение',
|
||||||
|
parameters: 'Параметры',
|
||||||
|
value: 'Значение',
|
||||||
|
testResult: 'Результаты теста',
|
||||||
|
testResultPlaceholder: 'Результат теста будет отображаться здесь',
|
||||||
|
},
|
||||||
|
thought: {
|
||||||
|
using: 'Использование',
|
||||||
|
used: 'Использовано',
|
||||||
|
requestTitle: 'Запрос к',
|
||||||
|
responseTitle: 'Ответ от',
|
||||||
|
},
|
||||||
|
setBuiltInTools: {
|
||||||
|
info: 'Информация',
|
||||||
|
setting: 'Настройка',
|
||||||
|
toolDescription: 'Описание инструмента',
|
||||||
|
parameters: 'параметры',
|
||||||
|
string: 'строка',
|
||||||
|
number: 'число',
|
||||||
|
required: 'Обязательно',
|
||||||
|
infoAndSetting: 'Информация и настройки',
|
||||||
|
},
|
||||||
|
noCustomTool: {
|
||||||
|
title: 'Нет пользовательских инструментов!',
|
||||||
|
content: 'Добавьте и управляйте своими пользовательскими инструментами здесь для создания приложений ИИ.',
|
||||||
|
createTool: 'Создать инструмент',
|
||||||
|
},
|
||||||
|
noSearchRes: {
|
||||||
|
title: 'Извините, результаты не найдены!',
|
||||||
|
content: 'Мы не смогли найти никаких инструментов, соответствующих вашему поиску.',
|
||||||
|
reset: 'Сбросить поиск',
|
||||||
|
},
|
||||||
|
builtInPromptTitle: 'Подсказка',
|
||||||
|
toolRemoved: 'Инструмент удален',
|
||||||
|
notAuthorized: 'Инструмент не авторизован',
|
||||||
|
howToGet: 'Как получить',
|
||||||
|
openInStudio: 'Открыть в Studio',
|
||||||
|
toolNameUsageTip: 'Название вызова инструмента для рассуждений агента и подсказок',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
540
web/i18n/ru-RU/workflow.ts
Normal file
540
web/i18n/ru-RU/workflow.ts
Normal file
@ -0,0 +1,540 @@
|
|||||||
|
const translation = {
|
||||||
|
common: {
|
||||||
|
undo: 'Отменить',
|
||||||
|
redo: 'Повторить',
|
||||||
|
editing: 'Редактирование',
|
||||||
|
autoSaved: 'Автосохранено',
|
||||||
|
unpublished: 'Не опубликовано',
|
||||||
|
published: 'Опубликовано',
|
||||||
|
publish: 'Опубликовать',
|
||||||
|
update: 'Обновить',
|
||||||
|
run: 'Запустить',
|
||||||
|
running: 'Выполняется',
|
||||||
|
inRunMode: 'В режиме выполнения',
|
||||||
|
inPreview: 'В режиме предпросмотра',
|
||||||
|
inPreviewMode: 'В режиме предпросмотра',
|
||||||
|
preview: 'Предпросмотр',
|
||||||
|
viewRunHistory: 'Посмотреть историю запусков',
|
||||||
|
runHistory: 'История запусков',
|
||||||
|
goBackToEdit: 'Вернуться к редактору',
|
||||||
|
conversationLog: 'Журнал разговоров',
|
||||||
|
features: 'Функции',
|
||||||
|
debugAndPreview: 'Предпросмотр',
|
||||||
|
restart: 'Перезапустить',
|
||||||
|
currentDraft: 'Текущий черновик',
|
||||||
|
currentDraftUnpublished: 'Текущий черновик не опубликован',
|
||||||
|
latestPublished: 'Последняя опубликованная версия',
|
||||||
|
publishedAt: 'Опубликовано',
|
||||||
|
restore: 'Восстановить',
|
||||||
|
runApp: 'Запустить приложение',
|
||||||
|
batchRunApp: 'Пакетный запуск приложения',
|
||||||
|
accessAPIReference: 'Доступ к справочнику API',
|
||||||
|
embedIntoSite: 'Встроить на сайт',
|
||||||
|
addTitle: 'Добавить заголовок...',
|
||||||
|
addDescription: 'Добавить описание...',
|
||||||
|
noVar: 'Нет переменной',
|
||||||
|
searchVar: 'Поиск переменной',
|
||||||
|
variableNamePlaceholder: 'Имя переменной',
|
||||||
|
setVarValuePlaceholder: 'Установить значение переменной',
|
||||||
|
needConnecttip: 'Этот шаг ни к чему не подключен',
|
||||||
|
maxTreeDepth: 'Максимальный предел {{depth}} узлов на ветку',
|
||||||
|
needEndNode: 'Необходимо добавить блок "Конец"',
|
||||||
|
needAnswerNode: 'Необходимо добавить блок "Ответ"',
|
||||||
|
workflowProcess: 'Процесс рабочего процесса',
|
||||||
|
notRunning: 'Еще не запущено',
|
||||||
|
previewPlaceholder: 'Введите текст в поле ниже, чтобы начать отладку чат-бота',
|
||||||
|
effectVarConfirm: {
|
||||||
|
title: 'Удалить переменную',
|
||||||
|
content: 'Переменная используется в других узлах. Вы все еще хотите удалить ее?',
|
||||||
|
},
|
||||||
|
insertVarTip: 'Нажмите клавишу "/" чтобы быстро вставить',
|
||||||
|
processData: 'Обработка данных',
|
||||||
|
input: 'Вход',
|
||||||
|
output: 'Выход',
|
||||||
|
jinjaEditorPlaceholder: 'Введите "/" или "{" для вставки переменной',
|
||||||
|
viewOnly: 'Только просмотр',
|
||||||
|
showRunHistory: 'Показать историю запусков',
|
||||||
|
enableJinja: 'Включить поддержку шаблонов Jinja',
|
||||||
|
learnMore: 'Узнать больше',
|
||||||
|
copy: 'Копировать',
|
||||||
|
duplicate: 'Дублировать',
|
||||||
|
addBlock: 'Добавить блок',
|
||||||
|
pasteHere: 'Вставить сюда',
|
||||||
|
pointerMode: 'Режим указателя',
|
||||||
|
handMode: 'Режим руки',
|
||||||
|
model: 'Модель',
|
||||||
|
workflowAsTool: 'Рабочий процесс как инструмент',
|
||||||
|
configureRequired: 'Требуется настройка',
|
||||||
|
configure: 'Настроить',
|
||||||
|
manageInTools: 'Управление в инструментах',
|
||||||
|
workflowAsToolTip: 'После обновления рабочего процесса требуется перенастройка инструмента.',
|
||||||
|
viewDetailInTracingPanel: 'Посмотреть подробности',
|
||||||
|
syncingData: 'Синхронизация данных, всего несколько секунд.',
|
||||||
|
importDSL: 'Импортировать DSL',
|
||||||
|
importDSLTip: 'Текущий черновик будет перезаписан. Экспортируйте рабочий процесс в качестве резервной копии перед импортом.',
|
||||||
|
backupCurrentDraft: 'Резервное копирование текущего черновика',
|
||||||
|
chooseDSL: 'Выберите файл DSL(yml)',
|
||||||
|
overwriteAndImport: 'Перезаписать и импортировать',
|
||||||
|
importFailure: 'Ошибка импорта',
|
||||||
|
importSuccess: 'Импорт успешно завершен',
|
||||||
|
},
|
||||||
|
env: {
|
||||||
|
envPanelTitle: 'Переменные среды',
|
||||||
|
envDescription: 'Переменные среды могут использоваться для хранения конфиденциальной информации и учетных данных. Они доступны только для чтения и могут быть отделены от файла DSL во время экспорта.',
|
||||||
|
envPanelButton: 'Добавить переменную',
|
||||||
|
modal: {
|
||||||
|
title: 'Добавить переменную среды',
|
||||||
|
editTitle: 'Редактировать переменную среды',
|
||||||
|
type: 'Тип',
|
||||||
|
name: 'Имя',
|
||||||
|
namePlaceholder: 'Имя переменной среды',
|
||||||
|
value: 'Значение',
|
||||||
|
valuePlaceholder: 'Значение переменной среды',
|
||||||
|
secretTip: 'Используется для определения конфиденциальной информации или данных, с настройками DSL, настроенными для предотвращения утечки.',
|
||||||
|
},
|
||||||
|
export: {
|
||||||
|
title: 'Экспортировать секретные переменные среды?',
|
||||||
|
checkbox: 'Экспортировать секретные значения',
|
||||||
|
ignore: 'Экспортировать DSL',
|
||||||
|
export: 'Экспортировать DSL с секретными значениями ',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
chatVariable: {
|
||||||
|
panelTitle: 'Переменные разговора',
|
||||||
|
panelDescription: 'Переменные разговора используются для хранения интерактивной информации, которую LLM необходимо запомнить, включая историю разговоров, загруженные файлы, пользовательские настройки. Они доступны для чтения и записи. ',
|
||||||
|
docLink: 'Посетите нашу документацию, чтобы узнать больше.',
|
||||||
|
button: 'Добавить переменную',
|
||||||
|
modal: {
|
||||||
|
title: 'Добавить переменную разговора',
|
||||||
|
editTitle: 'Редактировать переменную разговора',
|
||||||
|
name: 'Имя',
|
||||||
|
namePlaceholder: 'Имя переменной',
|
||||||
|
type: 'Тип',
|
||||||
|
value: 'Значение по умолчанию',
|
||||||
|
valuePlaceholder: 'Значение по умолчанию, оставьте пустым, чтобы не устанавливать',
|
||||||
|
description: 'Описание',
|
||||||
|
descriptionPlaceholder: 'Опишите переменную',
|
||||||
|
editInJSON: 'Редактировать в JSON',
|
||||||
|
oneByOne: 'Добавлять по одному',
|
||||||
|
editInForm: 'Редактировать в форме',
|
||||||
|
arrayValue: 'Значение',
|
||||||
|
addArrayValue: 'Добавить значение',
|
||||||
|
objectKey: 'Ключ',
|
||||||
|
objectType: 'Тип',
|
||||||
|
objectValue: 'Значение по умолчанию',
|
||||||
|
},
|
||||||
|
storedContent: 'Сохраненный контент',
|
||||||
|
updatedAt: 'Обновлено в ',
|
||||||
|
},
|
||||||
|
changeHistory: {
|
||||||
|
title: 'История изменений',
|
||||||
|
placeholder: 'Вы еще ничего не изменили',
|
||||||
|
clearHistory: 'Очистить историю',
|
||||||
|
hint: 'Подсказка',
|
||||||
|
hintText: 'Ваши действия по редактированию отслеживаются в истории изменений, которая хранится на вашем устройстве в течение этого сеанса. Эта история будет очищена, когда вы покинете редактор.',
|
||||||
|
stepBackward_one: '{{count}} шаг назад',
|
||||||
|
stepBackward_other: '{{count}} шагов назад',
|
||||||
|
stepForward_one: '{{count}} шаг вперед',
|
||||||
|
stepForward_other: '{{count}} шагов вперед',
|
||||||
|
sessionStart: 'Начало сеанса',
|
||||||
|
currentState: 'Текущее состояние',
|
||||||
|
nodeTitleChange: 'Изменено название блока',
|
||||||
|
nodeDescriptionChange: 'Изменено описание блока',
|
||||||
|
nodeDragStop: 'Блок перемещен',
|
||||||
|
nodeChange: 'Блок изменен',
|
||||||
|
nodeConnect: 'Блок подключен',
|
||||||
|
nodePaste: 'Блок вставлен',
|
||||||
|
nodeDelete: 'Блок удален',
|
||||||
|
nodeAdd: 'Блок добавлен',
|
||||||
|
nodeResize: 'Размер блока изменен',
|
||||||
|
noteAdd: 'Заметка добавлена',
|
||||||
|
noteChange: 'Заметка изменена',
|
||||||
|
noteDelete: 'Заметка удалена',
|
||||||
|
edgeDelete: 'Блок отключен',
|
||||||
|
},
|
||||||
|
errorMsg: {
|
||||||
|
fieldRequired: '{{field}} обязательно для заполнения',
|
||||||
|
authRequired: 'Требуется авторизация',
|
||||||
|
invalidJson: '{{field}} неверный JSON',
|
||||||
|
fields: {
|
||||||
|
variable: 'Имя переменной',
|
||||||
|
variableValue: 'Значение переменной',
|
||||||
|
code: 'Код',
|
||||||
|
model: 'Модель',
|
||||||
|
rerankModel: 'Модель переранжирования',
|
||||||
|
},
|
||||||
|
invalidVariable: 'Неверная переменная',
|
||||||
|
},
|
||||||
|
singleRun: {
|
||||||
|
testRun: 'Тестовый запуск ',
|
||||||
|
startRun: 'Начать запуск',
|
||||||
|
running: 'Выполняется',
|
||||||
|
testRunIteration: 'Итерация тестового запуска',
|
||||||
|
back: 'Назад',
|
||||||
|
iteration: 'Итерация',
|
||||||
|
},
|
||||||
|
tabs: {
|
||||||
|
'searchBlock': 'Поиск блока',
|
||||||
|
'blocks': 'Блоки',
|
||||||
|
'searchTool': 'Поиск инструмента',
|
||||||
|
'tools': 'Инструменты',
|
||||||
|
'allTool': 'Все',
|
||||||
|
'builtInTool': 'Встроенные',
|
||||||
|
'customTool': 'Пользовательские',
|
||||||
|
'workflowTool': 'Рабочий процесс',
|
||||||
|
'question-understand': 'Понимание вопроса',
|
||||||
|
'logic': 'Логика',
|
||||||
|
'transform': 'Преобразование',
|
||||||
|
'utilities': 'Утилиты',
|
||||||
|
'noResult': 'Ничего не найдено',
|
||||||
|
},
|
||||||
|
blocks: {
|
||||||
|
'start': 'Начало',
|
||||||
|
'end': 'Конец',
|
||||||
|
'answer': 'Ответ',
|
||||||
|
'llm': 'LLM',
|
||||||
|
'knowledge-retrieval': 'Поиск знаний',
|
||||||
|
'question-classifier': 'Классификатор вопросов',
|
||||||
|
'if-else': 'ЕСЛИ/ИНАЧЕ',
|
||||||
|
'code': 'Код',
|
||||||
|
'template-transform': 'Шаблон',
|
||||||
|
'http-request': 'HTTP-запрос',
|
||||||
|
'variable-assigner': 'Агрегатор переменных',
|
||||||
|
'variable-aggregator': 'Агрегатор переменных',
|
||||||
|
'assigner': 'Назначение переменной',
|
||||||
|
'iteration-start': 'Начало итерации',
|
||||||
|
'iteration': 'Итерация',
|
||||||
|
'parameter-extractor': 'Извлечение параметров',
|
||||||
|
},
|
||||||
|
blocksAbout: {
|
||||||
|
'start': 'Определите начальные параметры для запуска рабочего процесса',
|
||||||
|
'end': 'Определите конец и тип результата рабочего процесса',
|
||||||
|
'answer': 'Определите содержимое ответа в чате',
|
||||||
|
'llm': 'Вызов больших языковых моделей для ответа на вопросы или обработки естественного языка',
|
||||||
|
'knowledge-retrieval': 'Позволяет запрашивать текстовый контент, связанный с вопросами пользователей, из базы знаний',
|
||||||
|
'question-classifier': 'Определите условия классификации вопросов пользователей, LLM может определить, как будет развиваться разговор на основе описания классификации',
|
||||||
|
'if-else': 'Позволяет разделить рабочий процесс на две ветки на основе условий if/else',
|
||||||
|
'code': 'Выполните фрагмент кода Python или NodeJS для реализации пользовательской логики',
|
||||||
|
'template-transform': 'Преобразование данных в строку с использованием синтаксиса шаблонов Jinja',
|
||||||
|
'http-request': 'Разрешить отправку запросов на сервер по протоколу HTTP',
|
||||||
|
'variable-assigner': 'Объединение переменных из нескольких ветвей в одну переменную для унифицированной настройки подчиненных узлов.',
|
||||||
|
'assigner': 'Узел назначения переменной используется для назначения значений записываемым переменным (например, переменным разговора).',
|
||||||
|
'variable-aggregator': 'Объединение переменных из нескольких ветвей в одну переменную для унифицированной настройки подчиненных узлов.',
|
||||||
|
'iteration': 'Выполнение нескольких шагов над объектом списка до тех пор, пока не будут выведены все результаты.',
|
||||||
|
'parameter-extractor': 'Используйте LLM для извлечения структурированных параметров из естественного языка для вызова инструментов или HTTP-запросов.',
|
||||||
|
},
|
||||||
|
operator: {
|
||||||
|
zoomIn: 'Увеличить',
|
||||||
|
zoomOut: 'Уменьшить',
|
||||||
|
zoomTo50: 'Масштаб 50%',
|
||||||
|
zoomTo100: 'Масштаб 100%',
|
||||||
|
zoomToFit: 'По размеру',
|
||||||
|
},
|
||||||
|
panel: {
|
||||||
|
userInputField: 'Поле ввода пользователя',
|
||||||
|
changeBlock: 'Изменить блок',
|
||||||
|
helpLink: 'Ссылка на справку',
|
||||||
|
about: 'О программе',
|
||||||
|
createdBy: 'Создано ',
|
||||||
|
nextStep: 'Следующий шаг',
|
||||||
|
addNextStep: 'Добавить следующий блок в этот рабочий процесс',
|
||||||
|
selectNextStep: 'Выбрать следующий блок',
|
||||||
|
runThisStep: 'Выполнить этот шаг',
|
||||||
|
checklist: 'Контрольный список',
|
||||||
|
checklistTip: 'Убедитесь, что все проблемы решены перед публикацией',
|
||||||
|
checklistResolved: 'Все проблемы решены',
|
||||||
|
organizeBlocks: 'Организовать блоки',
|
||||||
|
change: 'Изменить',
|
||||||
|
optional: '(необязательно)',
|
||||||
|
},
|
||||||
|
nodes: {
|
||||||
|
common: {
|
||||||
|
outputVars: 'Выходные переменные',
|
||||||
|
insertVarTip: 'Вставить переменную',
|
||||||
|
memory: {
|
||||||
|
memory: 'Память',
|
||||||
|
memoryTip: 'Настройки памяти чата',
|
||||||
|
windowSize: 'Размер окна',
|
||||||
|
conversationRoleName: 'Имя роли разговора',
|
||||||
|
user: 'Префикс пользователя',
|
||||||
|
assistant: 'Префикс помощника',
|
||||||
|
},
|
||||||
|
memories: {
|
||||||
|
title: 'Воспоминания',
|
||||||
|
tip: 'Память чата',
|
||||||
|
builtIn: 'Встроенные',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
start: {
|
||||||
|
required: 'обязательно',
|
||||||
|
inputField: 'Поле ввода',
|
||||||
|
builtInVar: 'Встроенные переменные',
|
||||||
|
outputVars: {
|
||||||
|
query: 'Ввод пользователя',
|
||||||
|
memories: {
|
||||||
|
des: 'История разговоров',
|
||||||
|
type: 'тип сообщения',
|
||||||
|
content: 'содержимое сообщения',
|
||||||
|
},
|
||||||
|
files: 'Список файлов',
|
||||||
|
},
|
||||||
|
noVarTip: 'Установите входные данные, которые можно использовать в рабочем процессе',
|
||||||
|
},
|
||||||
|
end: {
|
||||||
|
outputs: 'Выходы',
|
||||||
|
output: {
|
||||||
|
type: 'тип вывода',
|
||||||
|
variable: 'выходная переменная',
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
'none': 'Нет',
|
||||||
|
'plain-text': 'Простой текст',
|
||||||
|
'structured': 'Структурированный',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
answer: {
|
||||||
|
answer: 'Ответ',
|
||||||
|
outputVars: 'Выходные переменные',
|
||||||
|
},
|
||||||
|
llm: {
|
||||||
|
model: 'модель',
|
||||||
|
variables: 'переменные',
|
||||||
|
context: 'контекст',
|
||||||
|
contextTooltip: 'Вы можете импортировать знания как контекст',
|
||||||
|
notSetContextInPromptTip: 'Чтобы включить функцию контекста, пожалуйста, заполните переменную контекста в PROMPT.',
|
||||||
|
prompt: 'подсказка',
|
||||||
|
roleDescription: {
|
||||||
|
system: 'Дайте высокоуровневые инструкции для разговора',
|
||||||
|
user: 'Предоставьте инструкции, запросы или любой текстовый ввод для модели',
|
||||||
|
assistant: 'Ответы модели на основе сообщений пользователя',
|
||||||
|
},
|
||||||
|
addMessage: 'Добавить сообщение',
|
||||||
|
vision: 'зрение',
|
||||||
|
files: 'Файлы',
|
||||||
|
resolution: {
|
||||||
|
name: 'Разрешение',
|
||||||
|
high: 'Высокое',
|
||||||
|
low: 'Низкое',
|
||||||
|
},
|
||||||
|
outputVars: {
|
||||||
|
output: 'Создать контент',
|
||||||
|
usage: 'Информация об использовании модели',
|
||||||
|
},
|
||||||
|
singleRun: {
|
||||||
|
variable: 'Переменная',
|
||||||
|
},
|
||||||
|
sysQueryInUser: 'sys.query в сообщении пользователя обязателен',
|
||||||
|
},
|
||||||
|
knowledgeRetrieval: {
|
||||||
|
queryVariable: 'Переменная запроса',
|
||||||
|
knowledge: 'Знания',
|
||||||
|
outputVars: {
|
||||||
|
output: 'Извлеченные сегментированные данные',
|
||||||
|
content: 'Сегментированный контент',
|
||||||
|
title: 'Сегментированный заголовок',
|
||||||
|
icon: 'Сегментированный значок',
|
||||||
|
url: 'Сегментированный URL',
|
||||||
|
metadata: 'Другие метаданные',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
http: {
|
||||||
|
inputVars: 'Входные переменные',
|
||||||
|
api: 'API',
|
||||||
|
apiPlaceholder: 'Введите URL, введите "/" для вставки переменной',
|
||||||
|
notStartWithHttp: 'API должен начинаться с http:// или https://',
|
||||||
|
key: 'Ключ',
|
||||||
|
value: 'Значение',
|
||||||
|
bulkEdit: 'Массовое редактирование',
|
||||||
|
keyValueEdit: 'Редактирование ключа-значения',
|
||||||
|
headers: 'Заголовки',
|
||||||
|
params: 'Параметры',
|
||||||
|
body: 'Тело',
|
||||||
|
outputVars: {
|
||||||
|
body: 'Содержимое ответа',
|
||||||
|
statusCode: 'Код состояния ответа',
|
||||||
|
headers: 'Список заголовков ответа JSON',
|
||||||
|
files: 'Список файлов',
|
||||||
|
},
|
||||||
|
authorization: {
|
||||||
|
'authorization': 'Авторизация',
|
||||||
|
'authorizationType': 'Тип авторизации',
|
||||||
|
'no-auth': 'Нет',
|
||||||
|
'api-key': 'API-ключ',
|
||||||
|
'auth-type': 'Тип аутентификации',
|
||||||
|
'basic': 'Базовая',
|
||||||
|
'bearer': 'Bearer',
|
||||||
|
'custom': 'Пользовательская',
|
||||||
|
'api-key-title': 'API-ключ',
|
||||||
|
'header': 'Заголовок',
|
||||||
|
},
|
||||||
|
insertVarPlaceholder: 'введите "/" для вставки переменной',
|
||||||
|
timeout: {
|
||||||
|
title: 'Тайм-аут',
|
||||||
|
connectLabel: 'Тайм-аут подключения',
|
||||||
|
connectPlaceholder: 'Введите тайм-аут подключения в секундах',
|
||||||
|
readLabel: 'Тайм-аут чтения',
|
||||||
|
readPlaceholder: 'Введите тайм-аут чтения в секундах',
|
||||||
|
writeLabel: 'Тайм-аут записи',
|
||||||
|
writePlaceholder: 'Введите тайм-аут записи в секундах',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
code: {
|
||||||
|
inputVars: 'Входные переменные',
|
||||||
|
outputVars: 'Выходные переменные',
|
||||||
|
advancedDependencies: 'Расширенные зависимости',
|
||||||
|
advancedDependenciesTip: 'Добавьте сюда некоторые предварительно загруженные зависимости, которые занимают больше времени для потребления или не являются встроенными по умолчанию',
|
||||||
|
searchDependencies: 'Поиск зависимостей',
|
||||||
|
},
|
||||||
|
templateTransform: {
|
||||||
|
inputVars: 'Входные переменные',
|
||||||
|
code: 'Код',
|
||||||
|
codeSupportTip: 'Поддерживает только Jinja2',
|
||||||
|
outputVars: {
|
||||||
|
output: 'Преобразованный контент',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ifElse: {
|
||||||
|
if: 'Если',
|
||||||
|
else: 'Иначе',
|
||||||
|
elseDescription: 'Используется для определения логики, которая должна быть выполнена, когда условие if не выполняется.',
|
||||||
|
and: 'и',
|
||||||
|
or: 'или',
|
||||||
|
operator: 'Оператор',
|
||||||
|
notSetVariable: 'Пожалуйста, сначала установите переменную',
|
||||||
|
comparisonOperator: {
|
||||||
|
'contains': 'содержит',
|
||||||
|
'not contains': 'не содержит',
|
||||||
|
'start with': 'начинается с',
|
||||||
|
'end with': 'заканчивается на',
|
||||||
|
'is': 'равно',
|
||||||
|
'is not': 'не равно',
|
||||||
|
'empty': 'пусто',
|
||||||
|
'not empty': 'не пусто',
|
||||||
|
'null': 'null',
|
||||||
|
'not null': 'не null',
|
||||||
|
},
|
||||||
|
enterValue: 'Введите значение',
|
||||||
|
addCondition: 'Добавить условие',
|
||||||
|
conditionNotSetup: 'Условие НЕ настроено',
|
||||||
|
selectVariable: 'Выберите переменную...',
|
||||||
|
},
|
||||||
|
variableAssigner: {
|
||||||
|
title: 'Назначить переменные',
|
||||||
|
outputType: 'Тип вывода',
|
||||||
|
varNotSet: 'Переменная не установлена',
|
||||||
|
noVarTip: 'Добавьте переменные, которые нужно назначить',
|
||||||
|
type: {
|
||||||
|
string: 'Строка',
|
||||||
|
number: 'Число',
|
||||||
|
object: 'Объект',
|
||||||
|
array: 'Массив',
|
||||||
|
},
|
||||||
|
aggregationGroup: 'Группа агрегации',
|
||||||
|
aggregationGroupTip: 'Включение этой функции позволяет агрегатору переменных агрегировать несколько наборов переменных.',
|
||||||
|
addGroup: 'Добавить группу',
|
||||||
|
outputVars: {
|
||||||
|
varDescribe: 'Вывод {{groupName}}',
|
||||||
|
},
|
||||||
|
setAssignVariable: 'Установить переменную назначения',
|
||||||
|
},
|
||||||
|
assigner: {
|
||||||
|
'assignedVariable': 'Назначенная переменная',
|
||||||
|
'writeMode': 'Режим записи',
|
||||||
|
'writeModeTip': 'Режим добавления: доступен только для переменных массива.',
|
||||||
|
'over-write': 'Перезаписать',
|
||||||
|
'append': 'Добавить',
|
||||||
|
'plus': 'Плюс',
|
||||||
|
'clear': 'Очистить',
|
||||||
|
'setVariable': 'Установить переменную',
|
||||||
|
'variable': 'Переменная',
|
||||||
|
},
|
||||||
|
tool: {
|
||||||
|
toAuthorize: 'Авторизовать',
|
||||||
|
inputVars: 'Входные переменные',
|
||||||
|
outputVars: {
|
||||||
|
text: 'контент, сгенерированный инструментом',
|
||||||
|
files: {
|
||||||
|
title: 'файлы, сгенерированные инструментом',
|
||||||
|
type: 'Поддерживаемый тип. Сейчас поддерживаются только изображения',
|
||||||
|
transfer_method: 'Метод передачи. Значение - remote_url или local_file',
|
||||||
|
url: 'URL изображения',
|
||||||
|
upload_file_id: 'Идентификатор загруженного файла',
|
||||||
|
},
|
||||||
|
json: 'json, сгенерированный инструментом',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
questionClassifiers: {
|
||||||
|
model: 'модель',
|
||||||
|
inputVars: 'Входные переменные',
|
||||||
|
outputVars: {
|
||||||
|
className: 'Имя класса',
|
||||||
|
},
|
||||||
|
class: 'Класс',
|
||||||
|
classNamePlaceholder: 'Введите имя вашего класса',
|
||||||
|
advancedSetting: 'Расширенные настройки',
|
||||||
|
topicName: 'Название темы',
|
||||||
|
topicPlaceholder: 'Введите название вашей темы',
|
||||||
|
addClass: 'Добавить класс',
|
||||||
|
instruction: 'Инструкция',
|
||||||
|
instructionTip: 'Введите дополнительные инструкции, чтобы помочь классификатору вопросов лучше понять, как классифицировать вопросы.',
|
||||||
|
instructionPlaceholder: 'Введите вашу инструкцию',
|
||||||
|
},
|
||||||
|
parameterExtractor: {
|
||||||
|
inputVar: 'Входная переменная',
|
||||||
|
extractParameters: 'Извлечь параметры',
|
||||||
|
importFromTool: 'Импортировать из инструментов',
|
||||||
|
addExtractParameter: 'Добавить параметр для извлечения',
|
||||||
|
addExtractParameterContent: {
|
||||||
|
name: 'Имя',
|
||||||
|
namePlaceholder: 'Имя извлекаемого параметра',
|
||||||
|
type: 'Тип',
|
||||||
|
typePlaceholder: 'Тип извлекаемого параметра',
|
||||||
|
description: 'Описание',
|
||||||
|
descriptionPlaceholder: 'Описание извлекаемого параметра',
|
||||||
|
required: 'Обязательный',
|
||||||
|
requiredContent: 'Обязательный используется только в качестве ссылки для вывода модели, а не для обязательной проверки вывода параметра.',
|
||||||
|
},
|
||||||
|
extractParametersNotSet: 'Параметры для извлечения не настроены',
|
||||||
|
instruction: 'Инструкция',
|
||||||
|
instructionTip: 'Введите дополнительные инструкции, чтобы помочь извлекателю параметров понять, как извлекать параметры.',
|
||||||
|
advancedSetting: 'Расширенные настройки',
|
||||||
|
reasoningMode: 'Режим рассуждения',
|
||||||
|
reasoningModeTip: 'Вы можете выбрать соответствующий режим рассуждения, основываясь на способности модели реагировать на инструкции для вызова функций или подсказки.',
|
||||||
|
isSuccess: 'Успешно. В случае успеха значение равно 1, в случае сбоя - 0.',
|
||||||
|
errorReason: 'Причина ошибки',
|
||||||
|
},
|
||||||
|
iteration: {
|
||||||
|
deleteTitle: 'Удалить узел итерации?',
|
||||||
|
deleteDesc: 'Удаление узла итерации приведет к удалению всех дочерних узлов',
|
||||||
|
input: 'Вход',
|
||||||
|
output: 'Выходные переменные',
|
||||||
|
iteration_one: '{{count}} Итерация',
|
||||||
|
iteration_other: '{{count}} Итераций',
|
||||||
|
currentIteration: 'Текущая итерация',
|
||||||
|
},
|
||||||
|
note: {
|
||||||
|
addNote: 'Добавить заметку',
|
||||||
|
editor: {
|
||||||
|
placeholder: 'Напишите свою заметку...',
|
||||||
|
small: 'Маленький',
|
||||||
|
medium: 'Средний',
|
||||||
|
large: 'Большой',
|
||||||
|
bold: 'Жирный',
|
||||||
|
italic: 'Курсив',
|
||||||
|
strikethrough: 'Зачеркнутый',
|
||||||
|
link: 'Ссылка',
|
||||||
|
openLink: 'Открыть',
|
||||||
|
unlink: 'Удалить ссылку',
|
||||||
|
enterUrl: 'Введите URL...',
|
||||||
|
invalidUrl: 'Неверный URL',
|
||||||
|
bulletList: 'Маркированный список',
|
||||||
|
showAuthor: 'Показать автора',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tracing: {
|
||||||
|
stopBy: 'Остановлено {{user}}',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
export default translation
|
Loading…
x
Reference in New Issue
Block a user