Source-reviewed hardening changes and regression tests. UNBUILT / UNTESTED: not a deployable release. Go formatting, compilation, automated regression tests, full frontend validation and staging acceptance remain required. See docs/hardening/VALIDATION.md. Main remains the original clean snapshot; no upstream Git history imported.
579 lines
63 KiB
YAML
579 lines
63 KiB
YAML
# Modified in the independent hardening fork; upstream notices retained.
|
||
error.e0001: "ИИ-агент не найден"
|
||
error.e0002: "ИИ-агент не найден."
|
||
error.e0003: "ИИ-агент не найден или отключён."
|
||
error.e0004: "ИИ-агент не найден или не включён."
|
||
error.e0005: "Введите название ИИ-агента."
|
||
error.e0006: "Это название ИИ-агента уже используется."
|
||
error.e0007: "ИИ-агент не найден или не включён."
|
||
error.e0008: "Конфигурация ИИ, связанная с этим ИИ-агентом, не существует."
|
||
error.e0009: "Конфигурация ИИ не найдена."
|
||
error.e0010: "Выберите конфигурацию ИИ."
|
||
error.e0011: "Конфигурация ИИ не включена."
|
||
error.e0012: "Конфигурация ИИ не найдена."
|
||
error.e0014: "Контрольная точка не найдена."
|
||
error.e0015: "Контрольная точка не принадлежит этому ИИ-агенту."
|
||
error.e0016: "toolCode инструмента MCP не совпадает с serverCode."
|
||
error.e0017: "toolCode инструмента MCP не совпадает с toolName."
|
||
error.e0018: "Некорректный формат toolCode инструмента MCP."
|
||
error.e0019: "Обязательны toolCode, serverCode и toolName инструмента MCP."
|
||
error.e0020: "Настраивать можно только инструменты MCP."
|
||
error.e0021: "Некорректная конфигурация инструмента MCP."
|
||
error.e0022: "Excel-файл пуст."
|
||
error.e0023: "Не удалось разобрать Excel-файл."
|
||
error.e0024: "Не удалось прочитать Excel-файл."
|
||
error.e0025: "Вопрос FAQ не найден."
|
||
error.e0026: "Базы знаний FAQ не поддерживают документы."
|
||
error.e0027: "Graph Tools могут содержать только инструменты Graph."
|
||
error.e0028: "Некорректный формат конфигурации Graph Tools."
|
||
error.e0029: "Содержимое HTML-сообщения пусто."
|
||
error.e0030: "Изображения в HTML-сообщениях должны использовать загруженные файлы."
|
||
error.e0031: "Некорректный формат массива JSON."
|
||
error.e0032: "Обязательна конечная точка MCP."
|
||
error.e0033: "Сервер MCP не включён."
|
||
error.e0034: "Конфигурация сервера MCP не найдена."
|
||
error.e0035: "MCP не включён."
|
||
error.e0036: "Не задан clientId для OIDC."
|
||
error.e0037: "Не задан clientSecret для OIDC."
|
||
error.e0038: "Отсутствует id_token OIDC."
|
||
error.e0039: "Не задан issuer для OIDC."
|
||
error.e0040: "Не задан redirectUrl для OIDC."
|
||
error.e0041: "Обязателен код авторизации OIDC."
|
||
error.e0042: "Данные пользователя OIDC не найдены."
|
||
error.e0043: "Идентификатор пользователя OIDC не найден."
|
||
error.e0044: "Не задан секрет входа через OIDC."
|
||
error.e0045: "Вход через OIDC не включён."
|
||
error.e0046: "Состояние входа через OIDC недействительно или истекло."
|
||
error.e0047: "Системный пользователь, связанный с этой учётной записью OIDC, не существует."
|
||
error.e0048: "Не задан accessKeyId для OSS."
|
||
error.e0049: "Не задан accessKeySecret для OSS."
|
||
error.e0050: "Не задан bucket для OSS."
|
||
error.e0051: "Не задана конечная точка для OSS."
|
||
error.e0052: "Некорректный идентификатор навыка."
|
||
error.e0053: "Навык не найден."
|
||
error.e0054: "Навык не найден или не включён."
|
||
error.e0055: "Введите название навыка."
|
||
error.e0056: "Навык не включён."
|
||
error.e0057: "Навык обязателен."
|
||
error.e0058: "Такой навык уже существует."
|
||
error.e0059: "Положение веб-канала должно быть left или right."
|
||
error.e0060: "Некорректная конфигурация веб-канала."
|
||
error.e0061: "Обязателен идентификатор ИИ-агента."
|
||
error.e0062: "Канал не найден."
|
||
error.e0063: "Обязателен идентификатор контрольной точки."
|
||
error.e0064: "Обязателен идентификатор диалога."
|
||
error.e0065: "Обязателен идентификатор клиента."
|
||
error.e0066: "Обязательны идентификатор документа или идентификатор FAQ."
|
||
error.e0067: "Некорректный статус индексации."
|
||
error.e0068: "Обязателен openKfID."
|
||
error.e0069: "Этот openKfId уже используется другим каналом."
|
||
error.e0070: "Обязателен код сервера."
|
||
error.e0071: "Обязателен идентификатор определения навыка."
|
||
error.e0072: "Обращение обязательно."
|
||
error.e0073: "Сервер MCP, привязанный к этому коду инструмента, не существует или не включён."
|
||
error.e0074: "Обязателен код инструмента."
|
||
error.e0075: "Некорректный формат кода инструмента."
|
||
error.e0076: "Обязательно название инструмента."
|
||
error.e0077: "tool_search поддерживает только вызов toolCode инструмента MCP."
|
||
error.e0078: "Сообщение пользователя обязательно."
|
||
error.e0079: "Загруженный файл превышает допустимый размер."
|
||
error.e0080: "Неподдерживаемый тип отправителя."
|
||
error.e0081: "Неподдерживаемый тип операции чтения."
|
||
error.e0082: "Неподдерживаемый тип хранилища файлов."
|
||
error.e0083: "Тег нельзя переместить внутрь самого себя."
|
||
error.e0084: "Каталог нельзя переместить внутрь самого себя."
|
||
error.e0085: "Нельзя добавлять или изменять расписание для прошедших дат."
|
||
error.e0086: "Обязателен контекст транзакции."
|
||
error.e0087: "Отзывать сообщения может только их отправитель."
|
||
error.e0088: "Восстановить можно только удалённые навыки."
|
||
error.e0089: "Поддерживаются только файлы .xlsx."
|
||
error.e0090: "Поддерживаются только изображения."
|
||
error.e0091: "Отзывать можно только сообщения агента."
|
||
error.e0092: "Можно задать только один основной способ связи."
|
||
error.e0093: "Не задан AgentID для WeCom."
|
||
error.e0094: "Обязателен openKfID для WeCom."
|
||
error.e0095: "Обязателен media ID для WeCom."
|
||
error.e0096: "Обязателен идентификатор клиента WeCom."
|
||
error.e0097: "Этот номер телефона WeCom уже используется системным пользователем."
|
||
error.e0098: "Канал WeCom не связан с ИИ-агентом."
|
||
error.e0099: "ИИ-агент, связанный с этим каналом WeCom, не существует или отключён."
|
||
error.e0100: "WeCom не включён или его конфигурация неполная."
|
||
error.e0101: "Обязателен идентификатор сообщения WeCom."
|
||
error.e0102: "Некорректная конфигурация канала WeCom."
|
||
error.e0103: "В конфигурации канала WeCom отсутствует openKfId."
|
||
error.e0104: "Этот идентификатор пользователя WeCom уже используется как системное имя пользователя."
|
||
error.e0105: "Не удалось получить идентификатор пользователя WeCom."
|
||
error.e0106: "Данные пользователя WeCom не найдены."
|
||
error.e0107: "Не задан URL-адрес обратного вызова входа через WeCom."
|
||
error.e0108: "Не задан секрет входа через WeCom."
|
||
error.e0109: "Вход через WeCom не включён."
|
||
error.e0110: "Состояние входа через WeCom недействительно."
|
||
error.e0111: "Состояние входа через WeCom недействительно или истекло."
|
||
error.e0112: "Системный пользователь, связанный с этой учётной записью WeCom, не существует."
|
||
error.e0113: "WeCom вернул пустой media_id изображения."
|
||
error.e0114: "WeCom вернул пустой идентификатор сообщения."
|
||
error.e0115: "Этот адрес электронной почты WeCom уже используется системным пользователем."
|
||
error.e0116: "Диалог не найден."
|
||
error.e0117: "Диалог не принадлежит этому ИИ-агенту."
|
||
error.e0118: "Диалог не принадлежит этому клиенту."
|
||
error.e0119: "Этот диалог закрыт."
|
||
error.e0120: "Этот диалог ещё не назначен оператору, поэтому отправка сообщений пока недоступна."
|
||
error.e0121: "Некорректный фильтр диалогов."
|
||
error.e0122: "Выберите провайдера."
|
||
error.e0123: "Некорректная политика резервного переключения."
|
||
error.e0124: "Компания не найдена."
|
||
error.e0125: "Введите название компании."
|
||
error.e0126: "Это название компании уже используется."
|
||
error.e0127: "Связанный пользователь не найден."
|
||
error.e0128: "Укажите причину закрытия."
|
||
error.e0129: "Неподдерживаемый тип содержимого."
|
||
error.e0130: "Неподдерживаемая стратегия разбиения на фрагменты."
|
||
error.e0131: "Не удалось создать диалог."
|
||
error.e0132: "Одна запись расписания не может охватывать несколько дней."
|
||
error.e0133: "Некорректные параметры запроса."
|
||
error.e0134: "Передавать можно только активные диалоги."
|
||
error.e0135: "Назначать можно только диалоги в очереди."
|
||
error.e0136: "Автоматически назначать можно только диалоги в очереди."
|
||
error.e0137: "Автоматически назначать можно только неназначенные диалоги в очереди."
|
||
error.e0138: "Перемещать можно только вопросы FAQ из текущей базы знаний."
|
||
error.e0139: "Перемещать можно только документы из текущей базы знаний."
|
||
error.e0140: "Изменять порядок можно только каталогов одной базы знаний и одного уровня."
|
||
error.e0141: "Тег с таким названием уже существует на этом уровне."
|
||
error.e0142: "Каталог с таким названием уже существует на этом уровне."
|
||
error.e0143: "Включённые конфигурации ИИ нельзя удалить."
|
||
error.e0144: "Таймаут ответа не может быть меньше 0."
|
||
error.e0145: "В сообщении с изображением отсутствует assetId."
|
||
error.e0146: "Изображение не найдено."
|
||
error.e0147: "Введите базовый URL-адрес."
|
||
error.e0148: "Введите описание хода работ."
|
||
error.e0149: "Обязателен внешний идентификатор пользователя."
|
||
error.e0150: "Внешняя идентификация не инициализирована."
|
||
error.e0151: "Обнаружены конфликтующие записи расписания. Сначала устраните конфликты."
|
||
error.e0152: "Каталог с подкаталогами нельзя переместить на второй уровень."
|
||
error.e0153: "Некоторые теги обращения недопустимы."
|
||
error.e0154: "Некоторые теги обращения отключены."
|
||
error.e0155: "Клиент не найден."
|
||
error.e0156: "Введите имя клиента."
|
||
error.e0157: "Обязательна сессия поддержки."
|
||
error.e0158: "Параметры сессии поддержки заполнены не полностью."
|
||
error.e0159: "Не задан секрет сессии поддержки."
|
||
error.e0160: "Сессия поддержки истекла."
|
||
error.e0161: "Проверка сессии поддержки не пройдена."
|
||
error.e0162: "Введите идентификатор оператора и отображаемое имя."
|
||
error.e0163: "Этот идентификатор оператора уже используется."
|
||
error.e0164: "Профиль оператора не найден."
|
||
error.e0165: "Некорректный статус оператора."
|
||
error.e0166: "Эта команда операторов связана с ИИ-агентами и не может быть удалена."
|
||
error.e0167: "Эта команда операторов содержит связанные профили операторов и не может быть удалена."
|
||
error.e0168: "У этой команды операторов есть расписание, поэтому её нельзя удалить."
|
||
error.e0169: "Команда операторов не найдена."
|
||
error.e0170: "Введите название команды операторов."
|
||
error.e0171: "Это название команды операторов уже используется."
|
||
error.e0172: "Расписание команды операторов не найдено."
|
||
error.e0173: "Команда операторов не включена."
|
||
error.e0174: "Некорректный статус команды операторов."
|
||
error.e0175: "Некорректная длина пароля."
|
||
error.e0176: "Не удалось прочитать файл импорта."
|
||
error.e0177: "Некорректный режим импорта."
|
||
error.e0178: "Обращение не найдено."
|
||
error.e0179: "Введите описание обращения."
|
||
error.e0180: "Некорректный источник обращения."
|
||
error.e0181: "Введите заголовок обращения."
|
||
error.e0182: "Некорректный статус обращения."
|
||
error.e0183: "Закрытые диалоги нельзя связывать с клиентами."
|
||
error.e0184: "Сначала восстановите этот удалённый навык, затем измените его статус."
|
||
error.e0185: "Этот ИИ-агент связан с каналами и не может быть удалён."
|
||
error.e0186: "Системное сообщение не найдено."
|
||
error.e0187: "Текущая привязка OIDC отключена."
|
||
error.e0188: "Текущая привязка WeCom отключена."
|
||
error.e0189: "Этот диалог сейчас не обрабатывается ИИ."
|
||
error.e0190: "Этот диалог уже назначен."
|
||
error.e0191: "Этот диалог уже назначен другому оператору."
|
||
error.e0192: "Этот диалог уже перехвачен оператором поддержки."
|
||
error.e0193: "Этот диалог не назначен оператору."
|
||
error.e0194: "Поддержка человеком сейчас работает не в часы обслуживания."
|
||
error.e0195: "Чтение файлов из этого хранилища пока не поддерживается."
|
||
error.e0196: "Этот канал не поддерживает секрет JWT пользователя."
|
||
error.e0197: "Этот диалог нельзя закрыть в его текущем статусе."
|
||
error.e0198: "Текущая учётная запись входа не является внутренним сотрудником компании."
|
||
error.e0199: "Эта база знаний не является базой знаний FAQ."
|
||
error.e0200: "Текущая системная учётная запись отключена."
|
||
error.e0201: "Некорректная конфигурация канала «Официальный аккаунт WeChat»."
|
||
error.e0202: "Обязателен код авторизации WeChat."
|
||
error.e0203: "Быстрый ответ не найден."
|
||
error.e0204: "Компания не найдена."
|
||
error.e0205: "Команда операторов не найдена."
|
||
error.e0206: "Этот номер телефона уже используется."
|
||
error.e0207: "Введите описание навыка."
|
||
error.e0208: "Канал не найден."
|
||
error.e0209: "Канал не существует или отключён."
|
||
error.e0210: "Ошибка канала."
|
||
error.e0211: "Канал не инициализирован."
|
||
error.e0212: "Обязателен получатель."
|
||
error.e0213: "Доступ к этому файлу невозможен."
|
||
error.e0214: "Файл не найден."
|
||
error.e0215: "Обязателен текст."
|
||
error.e0216: "Обязателен список текстовых элементов."
|
||
error.e0217: "Содержимое текстового сообщения пусто."
|
||
error.e0218: "Документ не найден."
|
||
error.e0219: "Базы знаний документов не поддерживают стратегию разбиения FAQ на фрагменты."
|
||
error.e0220: "Введите новый пароль."
|
||
error.e0221: "У вас нет прав закрывать этот диалог."
|
||
error.e0222: "У вас нет прав доступа к этому диалогу."
|
||
error.e0223: "У вас нет прав передавать этот диалог."
|
||
error.e0224: "У вас нет прав связывать этот диалог."
|
||
error.e0225: "У вас нет прав на выполнение этого действия."
|
||
error.e0226: "У вас нет прав на выполнение этого действия."
|
||
error.e0227: "Некорректный формат времени."
|
||
error.e0228: "День недели должен быть от 1 до 7."
|
||
error.e0229: "Максимум одновременных диалогов не может быть меньше 0."
|
||
error.e0230: "Некорректный режим обслуживания."
|
||
error.e0231: "Подходящий канал WeCom не найден."
|
||
error.e0232: "Не удалось сформировать ни одной записи расписания."
|
||
error.auth.expired: "Сессия истекла. Войдите снова."
|
||
error.auth.passwordLoginDisabled: "Вход по имени пользователя и паролю отключён. Используйте SSO."
|
||
error.auth.staffSsoOnPortal: "Единый вход доступен только сотрудникам поддержки. Войдите по email и паролю."
|
||
error.e0234: "Не настроена ни одна доступная конфигурация ИИ."
|
||
error.e0235: "Не настроена ни одна доступная модель эмбеддингов."
|
||
error.e0236: "Разрешение не найдено."
|
||
error.e0237: "Стандартный вопрос уже существует и был пропущен."
|
||
error.e0238: "Тег не найден."
|
||
error.e0239: "Введите название тега."
|
||
error.e0240: "Введите заголовок и содержимое."
|
||
error.e0241: "Журнал извлечения не найден."
|
||
error.e0242: "Введите название модели."
|
||
error.e0243: "Выберите тип модели."
|
||
error.e0244: "Сообщение не найдено."
|
||
error.e0245: "Обязательно содержимое сообщения."
|
||
error.e0246: "Это сообщение отозвано."
|
||
error.e0247: "Введите название канала."
|
||
error.e0248: "Этот код канала уже используется."
|
||
error.e0249: "Некорректный статус канала."
|
||
error.e0250: "Некорректный тип канала."
|
||
error.e0251: "Родительский тег не найден."
|
||
error.e0252: "Родительский каталог не найден."
|
||
error.e0253: "Родительский каталог не принадлежит текущей базе знаний."
|
||
error.e0254: "Некорректное значение статуса."
|
||
error.e0255: "Пользователь не найден."
|
||
error.e0256: "Пользователь не существует или отключён."
|
||
error.e0257: "Введите имя пользователя."
|
||
error.e0258: "Введите имя пользователя и пароль."
|
||
error.e0259: "Это имя пользователя уже используется."
|
||
error.e0260: "Неверное имя пользователя или пароль."
|
||
error.e0261: "Обязательно имя пользователя."
|
||
error.e0262: "Обязателен идентификатор пользователя."
|
||
error.e0263: "Обязательна идентификация пользователя."
|
||
error.e0264: "Идентификация пользователя истекла."
|
||
error.e0265: "Проверка идентификации пользователя не пройдена."
|
||
error.e0266: "Проверка идентификации пользователя не настроена."
|
||
error.e0267: "Учётные данные входа аннулированы."
|
||
error.e0268: "Срок действия учётных данных входа истёк."
|
||
error.e0269: "Некорректные учётные данные входа."
|
||
error.e0270: "Слишком много неудачных попыток входа. Повторите попытку позже."
|
||
error.e0271: "Заявка на вход недействительна или истекла."
|
||
error.e0272: "Обязателен результат входа."
|
||
error.e0273: "Каталог не найден."
|
||
error.e0274: "Каталоги нельзя переносить в другую базу знаний."
|
||
error.e0275: "Обязательно название каталога."
|
||
error.e0276: "Целевой оператор не найден."
|
||
error.e0277: "Целевой оператор должен отличаться от текущего исполнителя."
|
||
error.e0278: "Выберите целевого оператора."
|
||
error.e0279: "Целевой инструмент не авторизован для текущего диалога."
|
||
error.e0280: "Некорректный формат похожих вопросов."
|
||
error.e0281: "Эта база знаний содержит вопросы FAQ и не может быть удалена."
|
||
error.e0282: "Эта база знаний содержит документы и не может быть удалена."
|
||
error.e0283: "База знаний не найдена."
|
||
error.e0284: "База знаний обязательна."
|
||
error.e0285: "База знаний не включена."
|
||
error.e0286: "Каталог этой базы знаний недоступен."
|
||
error.e0287: "Каталог базы знаний не найден."
|
||
error.e0288: "Этот каталог не принадлежит текущей базе знаний."
|
||
error.e0289: "Каталоги базы знаний поддерживают не более двух уровней."
|
||
error.e0290: "Неподдерживаемый тип базы знаний."
|
||
error.e0291: "Отключённые роли нельзя назначать."
|
||
error.e0292: "Введите ответ."
|
||
error.e0293: "Встроенные системные роли нельзя удалить."
|
||
error.e0294: "Пользователь с ролью руководителя команды не найден."
|
||
error.e0295: "Дата окончания должна быть позже даты начала или совпадать с ней."
|
||
error.e0296: "Время окончания должно быть позже времени начала."
|
||
error.e0297: "Отсутствует столбец со стандартным вопросом."
|
||
error.e0298: "Отсутствует столбец с ответом."
|
||
error.e0299: "Способ связи не найден."
|
||
error.e0300: "Способ связи обязателен."
|
||
error.e0301: "Некорректный тип способа связи."
|
||
error.e0302: "Представление не найдено."
|
||
error.e0303: "Введите название представления."
|
||
error.e0304: "Некорректный формат фильтра представления."
|
||
error.e0305: "Роль не найдена."
|
||
error.e0306: "Введите название роли и её код."
|
||
error.e0307: "Эта роль назначена пользователям и не может быть удалена."
|
||
error.e0308: "Этот код роли уже используется."
|
||
error.e0309: "У этой команды операторов уже есть расписание в выбранном периоде."
|
||
error.e0310: "У этого тега есть вложенные теги, поэтому его нельзя удалить."
|
||
error.e0311: "Этот тег связан с диалогами и не может быть удалён."
|
||
error.e0312: "Этот тег связан с обращениями и не может быть удалён."
|
||
error.e0313: "Этот канал не поддерживает публичную конфигурацию поддержки."
|
||
error.e0314: "У этого пользователя уже есть профиль оператора."
|
||
error.e0315: "Этот каталог содержит вопросы FAQ и не может быть удалён."
|
||
error.e0316: "Этот каталог содержит подкаталоги и не может быть удалён."
|
||
error.e0317: "Этот каталог содержит документы и не может быть удалён."
|
||
error.e0318: "Такой способ связи уже существует."
|
||
error.e0319: "Чтобы пометить навык удалённым, используйте метод удаления."
|
||
error.e0320: "Выберите хотя бы одну базу знаний."
|
||
error.e0321: "Выберите ИИ-агента."
|
||
error.e0322: "Выберите изображение для загрузки."
|
||
error.e0323: "Выберите файл для загрузки."
|
||
error.e0324: "Выберите вложение для загрузки."
|
||
error.e0325: "Выберите пользователя для связывания."
|
||
error.e0326: "Выберите команду операторов."
|
||
error.e0327: "Выберите файл для импорта."
|
||
error.e0328: "Выберите команду операторов."
|
||
error.e0329: "Выберите день недели."
|
||
error.e0330: "Выберите вопросы FAQ для удаления."
|
||
error.e0331: "Выберите документы для удаления."
|
||
error.e0332: "Выберите вопросы FAQ для перемещения."
|
||
error.e0333: "Выберите документы для перемещения."
|
||
error.e0334: "Исполнитель не найден."
|
||
error.path.invalid: "Некорректный параметр пути."
|
||
error.invalidParam: "Некорректный параметр."
|
||
error.e0336: "Некорректный режим передачи человеку."
|
||
error.e0337: "Уведомление не найдено."
|
||
error.e0338: "Этот адрес электронной почты уже используется."
|
||
error.e0339: "Введите название конфигурации."
|
||
error.e0340: "Введите вопрос."
|
||
error.e0341: "Вопрос не может превышать 500 символов."
|
||
error.e0342: "Вложение не найдено."
|
||
error.e0343: "Загрузка вложения ещё не завершена."
|
||
error.e0344: "Некорректный формат полезной нагрузки сообщения с вложением."
|
||
error.e0345: "В сообщении с вложением отсутствует assetId."
|
||
error.e0346: "В сообщении с вложением отсутствует полезная нагрузка."
|
||
error.e0347: "Режим очереди по умолчанию требует хотя бы одной команды операторов."
|
||
error.e0348: "Загрузка файлов этого типа запрещена по соображениям безопасности."
|
||
error.e0354: "Слишком много запросов. Подождите немного и повторите попытку."
|
||
error.profile.nicknameRequired: "Введите отображаемое имя."
|
||
error.profile.nicknameTooLong: "Отображаемое имя не может превышать 100 символов."
|
||
error.profile.avatarTooLong: "Ссылка на аватар не может превышать 255 символов."
|
||
error.profile.emailInvalid: "Введите корректный адрес электронной почты."
|
||
error.notFound: "Не найдено"
|
||
error.knowledgeBase.referencedByAgent: "На эту базу знаний ссылается ИИ-агент «%s». Сначала удалите привязку."
|
||
error.knowledgeBase.referencedByAgents: "На эту базу знаний ссылаются ИИ-агенты: %d. Сначала удалите привязки."
|
||
error.agentTeamSchedule.batchLimit: "За один раз можно создать не более %d записей расписания."
|
||
error.agentTeamSchedule.conflictRange: "У этой команды операторов уже есть расписание с %s по %s."
|
||
error.knowledgeFAQImport.duplicateQuestionInFile: "Стандартный вопрос повторяется в этом же файле. Первое вхождение — в строке %d."
|
||
error.mcp.listToolsFailed: "Не удалось получить список инструментов MCP: %v"
|
||
error.mcp.callToolFailed: "Не удалось вызвать инструмент MCP: %v"
|
||
error.mcp.connectServerFailed: "Не удалось подключиться к серверу MCP: %v"
|
||
error.wxwork.unsupportedOutboundMessageType: "Неподдерживаемый тип исходящего сообщения WeCom: %s"
|
||
error.wxwork.currentUnsupportedOutboundMessageType: "Этот тип исходящего сообщения WeCom пока не поддерживается: %s"
|
||
error.param.required: "Обязательный параметр %s."
|
||
error.oidc.loginDisabled: "Вход через OIDC не включён."
|
||
error.oidc.stateSecretMissing: "Не задан секрет входа через OIDC."
|
||
error.oidc.profileMissing: "Данные пользователя OIDC не существуют."
|
||
error.oidc.bindingDisabled: "Текущая привязка OIDC отключена."
|
||
error.oidc.boundUserMissing: "Системный пользователь, привязанный к этой учётной записи OIDC, не существует."
|
||
error.wxwork.loginDisabled: "Вход через WeCom не включён."
|
||
error.wxwork.loginSecretMissing: "Не задан секрет входа через WeCom."
|
||
error.wxwork.profileMissing: "Данные пользователя WeCom не существуют."
|
||
error.wxwork.bindingDisabled: "Текущая привязка WeCom отключена."
|
||
error.wxwork.boundUserMissing: "Системный пользователь, привязанный к этой учётной записи WeCom, не существует."
|
||
error.wxwork.userIDMissing: "Не удалось получить идентификатор пользователя WeCom."
|
||
error.wxwork.userIDTaken: "Этот идентификатор пользователя WeCom уже используется как системное имя пользователя."
|
||
error.wxwork.mobileTaken: "Этот номер телефона WeCom уже используется системным пользователем."
|
||
error.wxwork.emailTaken: "Этот адрес электронной почты WeCom уже используется системным пользователем."
|
||
error.wxwork.configIncomplete: "WeCom не включён или его конфигурация неполная."
|
||
error.customerSession.secretMissing: "Не задан секрет сессии клиента."
|
||
error.conversation.createFailed: "Не удалось создать диалог."
|
||
error.conversation.tooManyOpen: "У вас уже %d открытых обращений. Закройте одно из них, прежде чем создать новое."
|
||
error.conversation.tagNotFound: "Тег не найден."
|
||
error.aiConfig.noneEnabled: "Не настроена ни одна доступная конфигурация ИИ."
|
||
error.embeddingModel.noneEnabled: "Не настроена ни одна доступная модель эмбеддингов."
|
||
error.agentTeamSchedule.startAtInvalid: "Некорректный формат времени начала."
|
||
error.agentTeamSchedule.startAtInvalidWithFormat: "Некорректный формат времени начала. Используйте yyyy-MM-dd HH:mm:ss или RFC3339."
|
||
error.agentTeamSchedule.endAtInvalid: "Некорректный формат времени окончания."
|
||
error.agentTeamSchedule.endAtInvalidWithFormat: "Некорректный формат времени окончания. Используйте yyyy-MM-dd HH:mm:ss или RFC3339."
|
||
error.agentTeamSchedule.startDateInvalid: "Некорректный формат даты начала."
|
||
error.agentTeamSchedule.startDateInvalidWithFormat: "Некорректный формат даты начала. Используйте yyyy-MM-dd."
|
||
error.agentTeamSchedule.endDateInvalid: "Некорректный формат даты окончания."
|
||
error.agentTeamSchedule.endDateInvalidWithFormat: "Некорректный формат даты окончания. Используйте yyyy-MM-dd."
|
||
error.agentTeamSchedule.startTimeInvalid: "Некорректный формат времени начала."
|
||
error.agentTeamSchedule.startTimeInvalidWithFormat: "Некорректный формат времени начала. Используйте HH:mm или HH:mm:ss."
|
||
error.agentTeamSchedule.endTimeInvalid: "Некорректный формат времени окончания."
|
||
error.agentTeamSchedule.endTimeInvalidWithFormat: "Некорректный формат времени окончания. Используйте HH:mm или HH:mm:ss."
|
||
tool.builtin.toolSearch.title: "Поиск и запуск динамических инструментов"
|
||
tool.builtin.toolSearch.description: "Ищет доступные агенту инструменты MCP и запускает выбранный инструмент после подтверждения его toolCode. Подходит для редких инструментов; не должен заменять фиксированные встроенные инструменты рабочего процесса."
|
||
tool.builtin.toolSearch.appendix: |-
|
||
Когда нужны редкие возможности MCP, отдавайте предпочтение инструменту tool_search и соблюдайте эти правила:
|
||
1. Сначала вызовите tool_search, чтобы найти нужный динамический инструмент, затем продолжите работу с выбранным реальным инструментом.
|
||
2. Не предполагайте, что в начале доступны все редкие инструменты: последующим вызовам модели передаются только инструменты, выбранные через tool_search.
|
||
3. Если задачу уже решает фиксированный встроенный инструмент, отдавайте предпочтение ему и не злоупотребляйте tool_search.
|
||
tool.builtin.skill.title: "Загрузка инструкций навыка"
|
||
tool.builtin.skill.description: "Загружает специализированные инструкции навыка для текущего агента, когда нужны дополнительные указания по конкретной задаче."
|
||
tool.graph.triageServiceRequest.title: "Маршрутизация обращения"
|
||
tool.graph.triageServiceRequest.description: "Анализирует текущий диалог и определяет, нужно ли продолжить ответ, подготовить черновик обращения или передать человеку, включая черновик обращения, когда создание обращения целесообразно."
|
||
tool.graph.triageServiceRequest.appendix: |-
|
||
Когда нужно выбрать между продолжением ответа, созданием обращения и передачей человеку, сначала вызовите triage_service_request и соблюдайте эти правила:
|
||
1. Инструмент возвращает recommendedAction и включает ticketDraft, если требуется создание обращения.
|
||
2. Если recommendedAction=continue_answering, продолжайте уточнять или отвечать, а не переходить сразу к эскалации.
|
||
3. Если recommendedAction=prepare_ticket, используйте ticketDraft или соберите недостающие поля перед вызовом create_ticket_with_confirmation.
|
||
4. Если recommendedAction=handoff_to_human, убедитесь, что причина достаточно обоснована, перед вызовом handoff_to_human.
|
||
5. Когда путь эскалации неясен, используйте этот инструмент вместо сложного маршрутного решения только по основному промпту.
|
||
tool.graph.analyzeConversation.title: "Анализ рисков и сводки диалога"
|
||
tool.graph.analyzeConversation.description: "Составляет сводку текущего диалога, выявляет признаки риска и рекомендует продолжить ответ, создать обращение или передать человеку."
|
||
tool.graph.analyzeConversation.appendix: |-
|
||
Когда диалог может быть связан с эскалацией, возвратом, компенсацией, явным негативным оттенком, созданием обращения или передачей человеку, сначала вызовите analyze_conversation и соблюдайте эти правила:
|
||
1. Инструмент возвращает структурированную сводку, признаки риска и рекомендацию по следующему шагу. Он не создаёт обращения и не передаёт диалог человеку.
|
||
2. Если инструмент рекомендует handoff_to_human, подтвердите условия передачи перед вызовом handoff_to_human.
|
||
3. Если инструмент рекомендует prepare_ticket, вызовите prepare_ticket_draft или соберите больше информации перед созданием обращения.
|
||
4. Если инструмент рекомендует continue_answering, продолжайте уточнять и отвечать, а не эскалировать преждевременно.
|
||
tool.graph.prepareTicketDraft.title: "Подготовка черновика обращения"
|
||
tool.graph.prepareTicketDraft.description: "Преобразует текущий диалог и собранные сведения в черновик обращения с предлагаемыми заголовком, описанием, недостающими полями и уточняющими вопросами."
|
||
tool.graph.prepareTicketDraft.appendix: |-
|
||
Когда пользователь просит создать обращение, подать жалобу, сообщить о проблеме или запросить послепродажное обслуживание, но заголовок или описание всё ещё неясны, сначала вызовите prepare_ticket_draft и соблюдайте эти правила:
|
||
1. Инструмент готовит черновик обращения и возвращает предлагаемые заголовок, описание, недостающие поля и уточняющие вопросы.
|
||
2. Если ready=false, задавайте уточняющие вопросы на основе missingFields и followUpQuestions, а не создавайте обращение сразу.
|
||
3. Если ready=true, используйте результат, чтобы решить, стоит ли вызвать create_ticket_with_confirmation.
|
||
4. Этот инструмент только готовит черновик. Он не создаёт обращение.
|
||
tool.graph.createTicketConfirm.title: "Создание обращения с подтверждением"
|
||
tool.graph.createTicketConfirm.description: "Проводит создание обращения: подготовка параметров, подтверждение клиентом, фактическое создание и передача результата."
|
||
tool.graph.createTicketConfirm.appendix: |-
|
||
Вы можете вызвать create_ticket_with_confirmation, когда собрано достаточно информации, но соблюдайте эти правила:
|
||
1. Рассматривайте этот инструмент только тогда, когда пользователь прямо просит отправить обращение, подать жалобу, сообщить о проблеме или запросить послепродажное обслуживание.
|
||
2. Перед вызовом подготовьте понятный заголовок обращения и описание проблемы. Если сведения всё ещё разрознены, сначала вызовите prepare_ticket_draft или задайте уточняющие вопросы.
|
||
3. Когда вы готовы создать обращение, вы обязаны вызвать create_ticket_with_confirmation. Не ограничивайтесь текстовым заявлением, что обращение создано.
|
||
4. Этот Graph Tool сначала запрашивает подтверждение пользователя. Обращение создаётся только после подтверждения; если пользователь отменяет, сценарий завершается.
|
||
5. Если пользователь лишь задаёт вопросы, жалуется в общем виде или выражает недовольство, не прося явно об обращении, продолжайте уточнять, а не создавайте обращение проактивно.
|
||
tool.graph.handoffConversation.title: "Передача человеку с подтверждением"
|
||
tool.graph.handoffConversation.description: "Проводит передачу человеку: подготовка причины, подтверждение клиентом, фактическая передача и передача результата."
|
||
tool.graph.handoffConversation.appendix: |-
|
||
Вы можете вызвать handoff_to_human после подтверждения, что нужна помощь человека, но соблюдайте эти правила:
|
||
1. Вызывайте этот инструмент только тогда, когда пользователь прямо просит оператора или вы определили, что вопрос должен решаться человеком.
|
||
2. Перед вызовом чётко сформулируйте причину передачи. Если причина неясна, сначала задайте уточняющий вопрос.
|
||
3. Когда вы решили передать диалог, вы обязаны вызвать handoff_to_human. Не ограничивайтесь текстовым заявлением, что соединили пользователя с человеком.
|
||
4. Этот Graph Tool сначала запрашивает подтверждение пользователя. Передача выполняется только после подтверждения; если пользователь отменяет, сценарий завершается.
|
||
5. Если вопрос ещё можно решить в текущем диалоге, продолжайте помогать, а не эскалировать преждевременно.
|
||
6. Если инструмент вернул terminal=true и shouldRetry=false, сценарий передачи завершён. Не вызывайте его повторно.
|
||
conversation.handoff.waiting: "Мы соединяем вас с оператором поддержки. Пожалуйста, подождите."
|
||
conversation.handoff.offHours: "Поддержка сейчас не активна. Ваш запрос поставлен в очередь и будет рассмотрен оператором позже."
|
||
notification.ticketAssigned.title: "Обращение назначено"
|
||
notification.ticketAssigned.line: "Обращение %s назначено на вас."
|
||
notification.ticketAssigned.reason: "Причина назначения: %s"
|
||
notification.conversationTransferred.title: "Диалог передан"
|
||
notification.conversationAutoAssigned.title: "Диалог назначен автоматически"
|
||
notification.conversationAssigned.title: "Диалог назначен"
|
||
notification.conversationAssigned.line: "Диалог #%s назначен на вас."
|
||
notification.conversationAssigned.reason: "Причина назначения: %s"
|
||
notification.conversationTransferred.reason: "Причина передачи: %s"
|
||
notification.ticketAssigned.wxwork.no: "Номер обращения: %s"
|
||
notification.ticketAssigned.wxwork.title: "Заголовок: %s"
|
||
notification.ticketAssigned.wxwork.status: "Статус: %s"
|
||
notification.assignee: "Исполнитель: %s"
|
||
notification.conversationAssigned.wxwork.id: "Идентификатор диалога: #%d"
|
||
notification.conversationAssigned.wxwork.summary: "Сводка: %s"
|
||
notification.conversationAssigned.wxwork.channel: "Канал: %s"
|
||
notification.conversationAssigned.wxwork.status: "Статус: %s"
|
||
notification.time: "Время: %s"
|
||
graph.confirmOrCancel: "Ответьте «Подтвердить» или «Отмена»."
|
||
graph.needExplicitConfirmation: "Мне нужно ваше явное подтверждение. Ответьте «Подтвердить» или «Отмена»."
|
||
graph.confirmationExpired: "Срок действия подтверждения истёк. Начните заново."
|
||
graph.cancelCreateTicket: "Создание обращения отменено."
|
||
graph.cancelHandoff: "Передача человеку отменена."
|
||
graph.ticketCreated: "Обращение создано. Номер: %s. Заголовок: %s."
|
||
graph.createTicketConfirmPrompt: |-
|
||
Я готов создать для вас обращение.
|
||
Заголовок: %s
|
||
Описание: %s
|
||
Ответьте «Подтвердить» или «Отмена».
|
||
graph.defaultHandoffReason: "Пользователю нужна помощь человека."
|
||
graph.handoffConfirmPrompt: |-
|
||
Я готов соединить вас с оператором поддержки.
|
||
Причина: %s
|
||
Ответьте «Подтвердить» или «Отмена».
|
||
conversation.interrupt.defaultPrompt: "Пожалуйста, предоставьте больше информации и попробуйте снова."
|
||
conversation.summary.image: "[Изображение]"
|
||
error.auth.invalidSignature: "Недействительная подпись."
|
||
error.email.channelNotFound: "Активный почтовый канал не найден."
|
||
error.email.channelConfigInvalid: "Конфигурация почтового канала недействительна."
|
||
error.email.requestEmailInvalid: "Укажите корректный адрес электронной почты."
|
||
error.email.requestMessageRequired: "Текст обращения не может быть пустым."
|
||
error.email.requestSecretNotConfigured: "Секрет передан, но в этой конфигурации он не задан для проверки."
|
||
error.email.request.acknowledgement: "Спасибо за обращение. Мы получили ваш запрос, команда уже работает над ним. Ответ придёт на этот адрес, а в этом же письме можно дописать детали."
|
||
error.email.request.chatContinuation: "Мы получили ваше сообщение, пока чат был ещё активен, поэтому добавили его туда. Продолжите в чате — так команда ответит вам сразу."
|
||
email.contact.verifiedRemark: "Адрес подтверждён отправляющей интеграцией."
|
||
email.contact.unverifiedRemark: "Указан отправителем самостоятельно, не подтверждён."
|
||
error.email.channelIdRequired: "Необходимо указать канал."
|
||
error.email.probeRequiresSmtp: "Так проверить можно только привязку по SMTP."
|
||
error.email.smtpHostMissing: "Для этого канала не настроен SMTP-хост."
|
||
error.email.probeFailed: "Не удалось подключиться к почтовому серверу: %s"
|
||
error.branding.companyNameInvalid: "Название платформы должно быть текстом."
|
||
error.branding.companyNameTooLong: "Название платформы не длиннее 120 символов."
|
||
error.branding.companyLogoUrlInvalid: "Логотип должен быть относительным путём или адресом http(s)."
|
||
error.branding.companyLogoUrlTooLong: "Адрес логотипа не длиннее 500 символов."
|
||
systemConfig.branding.companyName.title: "Название платформы"
|
||
systemConfig.branding.companyName.description: "Отображается в шапке портала, в консоли и в заголовках страниц."
|
||
systemConfig.branding.companyLogoUrl.title: "Логотип платформы"
|
||
systemConfig.branding.companyLogoUrl.description: "Оставьте пустым, чтобы использовать встроенный логотип."
|
||
conversation.summary.attachment: "[Вложение]"
|
||
conversation.summary.recalled: "Это сообщение было отозвано."
|
||
ticket.defaultConversationTitle: "Обращение из диалога"
|
||
error.docPage.sortScopeMismatch: "Сортируемые страницы должны быть полным набором с одним и тем же родителем"
|
||
error.docPage.sortDuplicate: "Порядок сортировки страниц содержит повторяющиеся записи"
|
||
error.docPage.notFound: "Страница документа не существует"
|
||
error.docPage.invalidStatus: "Некорректный статус страницы документа"
|
||
error.docPage.invalidSlug: "Slug может содержать только буквы, цифры и дефисы (-)"
|
||
error.docPage.slugRequired: "Введите slug"
|
||
error.docPage.slugDuplicate: "Slug должен быть уникален в пределах одной родительской страницы"
|
||
error.docPage.publishParentFirst: "Сначала опубликуйте родительскую страницу"
|
||
error.docPage.unpublishChildrenFirst: "Сначала снимите с публикации опубликованные дочерние страницы"
|
||
error.supportConfig.navigationRequired: "Настройте хотя бы один пункт навигации"
|
||
error.supportConfig.navigationInvalidJSON: "Конфигурация меню навигации должна быть корректным массивом JSON"
|
||
error.supportConfig.navigationTooMany: "Верхний уровень навигации не может содержать больше 20 пунктов"
|
||
error.supportConfig.navigationChildrenTooMany: "Каждый пункт навигации не может содержать больше 20 вложенных пунктов"
|
||
error.supportConfig.navigationTooDeep: "Меню навигации поддерживает не более двух уровней"
|
||
error.supportConfig.navigationTitleRequired: "Введите заголовок пункта навигации"
|
||
error.supportConfig.navigationTitleTooLong: "Заголовок пункта навигации не может превышать 64 символа"
|
||
error.supportConfig.navigationURLRequired: "Введите URL-адрес пункта навигации"
|
||
error.supportConfig.navigationURLInvalid: "URL-адреса навигации должны быть внутренними путями или URL-адресами http/https"
|
||
error.supportConfig.navigationVisibleRequired: "Отобразите хотя бы один пункт навигации"
|
||
error.supportConfig.validationFailed: "Проверка конфигурации не пройдена"
|
||
error.supportConfig.groupUnsupported: "Неподдерживаемая группа конфигурации"
|
||
error.supportConfig.keyUnsupported: "Неподдерживаемый ключ конфигурации: %v"
|
||
error.supportConfig.emptyPayload: "Отправьте хотя бы один элемент конфигурации"
|
||
systemConfig.support.navigationMenu.title: "Меню навигации центра поддержки"
|
||
systemConfig.support.navigationMenu.description: "Меню навигации для публичной шапки центра поддержки и мобильных представлений"
|
||
systemConfig.support.navigationMenu.default.home: "Главная"
|
||
systemConfig.support.navigationMenu.default.docs: "Документы"
|
||
systemConfig.support.navigationMenu.default.community: "Сообщество"
|
||
tool.graph.createTicketConfirm.info: "Graph Tool. Обрабатывает подготовку параметров обращения, подтверждение пользователем, фактическое создание обращения и возврат результата. Используйте только тогда, когда пользователь прямо просит создать обращение и заголовок с описанием понятны."
|
||
tool.graph.createTicketConfirm.param.title: "Заголовок обращения. Кратко описывает проблему."
|
||
tool.graph.createTicketConfirm.param.description: "Описание обращения. Чётко фиксирует проблему пользователя, симптомы и запрос."
|
||
tool.graph.handoffConversation.info: "Graph Tool. Обрабатывает подготовку причины передачи, подтверждение пользователем, фактическую передачу человеку и возврат результата. Используйте только тогда, когда пользователь прямо просит оператора либо вы подтвердили, что требуется человек. Не повторяйте вызов, если результат содержит terminal=true и shouldRetry=false."
|
||
tool.graph.handoffConversation.param.reason: "Причина передачи. Кратко объясните, зачем нужен человек: прямой просьбы пользователя, ручной проверки или послепродажного обслуживания."
|
||
tool.graph.triageServiceRequest.info: "Graph Tool. Анализирует текущий диалог и определяет, нужно ли продолжить ответ, подготовить черновик обращения или передать человеку. Когда рекомендуется создание обращения, возвращает структурированную рекомендацию по черновику."
|
||
tool.graph.triageServiceRequest.param.goal: "Цель анализа, например нужно ли эскалировать, создать обращение или передать человеку."
|
||
tool.graph.triageServiceRequest.param.observedIssue: "Основная проблема или спорный вопрос, выявленный в диалоге."
|
||
tool.graph.triageServiceRequest.param.needTicket: "Нужно ли сосредоточиться на оценке создания обращения."
|
||
tool.graph.triageServiceRequest.param.needHumanHandoff: "Нужно ли сосредоточиться на оценке передачи человеку."
|
||
tool.graph.triageServiceRequest.param.additionalContext: "Дополнительный контекст, например уже выявленные признаки риска или ограничения."
|
||
tool.graph.analyzeConversation.info: "Graph Tool. Составляет сводку текущего диалога, выявляет признаки риска по жалобам, платежам и тональности и рекомендует продолжить ответ, создать обращение или передать человеку."
|
||
tool.graph.analyzeConversation.param.goal: "Цель анализа, например передать человеку, создать обращение или провести проверку рисков."
|
||
tool.graph.analyzeConversation.param.observedIssue: "Основная проблема или запрос, выявленный в диалоге."
|
||
tool.graph.analyzeConversation.param.needQualityCheck: "Нужно ли сосредоточиться на проверке рисков или качества."
|
||
tool.graph.analyzeConversation.param.additionalContext: "Дополнительный контекст, например уже выявленные спорные моменты, суть жалобы или бизнес-ограничения."
|
||
tool.graph.prepareTicketDraft.info: "Graph Tool. Готовит черновик обращения на основе текущего диалога и собранных сведений. Используйте перед create_ticket_with_confirmation, когда содержимое обращения нужно структурировать."
|
||
tool.graph.prepareTicketDraft.param.title: "Подготовленный заголовок обращения. Необязательно."
|
||
tool.graph.prepareTicketDraft.param.description: "Подготовленное описание обращения. Необязательно."
|
||
tool.graph.prepareTicketDraft.param.issue: "Проблема или сообщение об ошибке, с которым сталкивается пользователь."
|
||
tool.graph.prepareTicketDraft.param.impact: "Область воздействия, например невозможность войти, оформить заказ или прерывание работы."
|
||
tool.graph.prepareTicketDraft.param.expectedOutcome: "Ожидаемый результат или запрос пользователя."
|
||
tool.graph.prepareTicketDraft.param.currentAttempt: "Предпринятые шаги по устранению. Необязательно."
|
||
error.setup.invalidQuickFixAction: "Неподдерживаемое действие быстрой настройки: %v"
|
||
error.setup.authRequired: "Войдите в систему для запуска диагностики или быстрой настройки"
|
||
error.setup.previewRequired: "Перед применением изменений просмотрите план и явно подтвердите его токен."
|
||
error.setup.previewChanged: "После предварительного просмотра настройки изменились. Просмотрите новый план."
|
||
error.setup.targetRequired: "Выберите конкретную запись или задайте нужную конфигурацию в её настройках."
|
||
error.setup.targetUnavailable: "Выбранная запись недоступна, удалена или не подходит. Она не была восстановлена."
|
||
error.setup.persistenceFailed: "Не удалось прочитать или сохранить настройки. Неполное исправление не было сохранено."
|
||
error.setup.bypassUnsupported: "Эта диагностика не поддерживает обход ИИ. Проверьте маршрут только с оператором или протестируйте ИИ отдельно."
|
||
error.channel.configChanged: "Настройки канала изменились. Перезагрузите их и проверьте изменения перед повторным сохранением."
|
||
error.channel.configUpdateFailed: "Не удалось сохранить настройки канала. Попробуйте ещё раз."
|