| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463 | 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: 'Запрос должен быть установлен в промпте',  },  variableConfig: {    '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
 |