feat: harden support, localize knowledge and add operator availability [skip ci]
Source-only publication of reviewed commit 64e96a7f423673dc29ad56485be9fc79bce8af1c.
Passed in isolation: focused frontend/backend tests, race checks, TypeScript typecheck, lint, Go compilation, Flowgram build, and deterministic SDK build/tests.
Not accepted as a production release: Next.js export/native assembly remains blocked by environment memory limits; browser interaction and MySQL staging acceptance remain unverified. No production server, database/schema, runtime configuration, deployment, release tag, or workflow execution was performed.
Expected source tree: 0a4a7528e9.
This commit is contained in:
@@ -26,7 +26,11 @@
|
||||
"actions": "Действия",
|
||||
"name": "Название",
|
||||
"saving": "Сохранение...",
|
||||
"reset": "Сбросить"
|
||||
"reset": "Сбросить",
|
||||
"operationFailed": "Не удалось выполнить операцию. Повторите попытку.",
|
||||
"loadFailed": "Не удалось загрузить данные. Повторите попытку.",
|
||||
"enabled": "Включено",
|
||||
"disabled": "Отключено"
|
||||
},
|
||||
"language": {
|
||||
"enUS": "English",
|
||||
@@ -531,9 +535,9 @@
|
||||
"messageSummary": "[Сообщение]",
|
||||
"closedTitle": "Диалог завершён",
|
||||
"closedDescription": "Этот диалог поддержки закрыт. Спасибо, что обратились к нам.",
|
||||
"connecting": "Подключение",
|
||||
"connected": "Поддержка на связи",
|
||||
"disconnected": "Нет связи",
|
||||
"connecting": "Подключение чата",
|
||||
"connected": "Чат подключён",
|
||||
"disconnected": "Чат отключён",
|
||||
"retry": "Переподключиться",
|
||||
"moreActions": "Другие действия",
|
||||
"minimize": "Свернуть окно",
|
||||
@@ -583,7 +587,12 @@
|
||||
"startFirstRequest": "Создайте первое обращение",
|
||||
"openRequestCount": "Открыто {open} из {total}",
|
||||
"loadConversationsFailed": "Не удалось загрузить список обращений",
|
||||
"createConversationFailed": "Не удалось создать обращение"
|
||||
"createConversationFailed": "Не удалось создать обращение",
|
||||
"dismissedTitle": "Окно чата закрыто",
|
||||
"dismissedDescription": "Ваше обращение не завершено. Вы можете вернуться и продолжить разговор.",
|
||||
"returnToChat": "Вернуться в чат",
|
||||
"sendUnavailable": "Диалог недоступен. Вернитесь к нему или повторите попытку перед отправкой.",
|
||||
"sendInProgress": "Сообщение уже отправляется."
|
||||
},
|
||||
"dashboardHome": {
|
||||
"rangeToday": "Сегодня",
|
||||
@@ -2493,7 +2502,23 @@
|
||||
"debugAnswer": "Отладочный ответ",
|
||||
"answerResult": "Результат ответа",
|
||||
"searchHits": "Совпадения поиска",
|
||||
"hitsSummary": "Совпадений: {count} · {latency}мс"
|
||||
"hitsSummary": "Совпадений: {count} · {latency}мс",
|
||||
"unknownType": "Неизвестный тип",
|
||||
"unknownStatus": "Неизвестный статус",
|
||||
"indexFailureSummary": "Не удалось выполнить индексацию. Проверьте настройки индексации и повторите попытку.",
|
||||
"requestId": "Идентификатор запроса",
|
||||
"rerank": "Переранжирование",
|
||||
"topScore": "Лучшая оценка",
|
||||
"promptTokens": "Входные токены",
|
||||
"completionTokens": "Выходные токены",
|
||||
"traceData": "Данные трассировки",
|
||||
"chunkNumber": "Фрагмент №{number}",
|
||||
"providerValue": "Стратегия: {value}",
|
||||
"scoreValue": "Оценка: {value}",
|
||||
"rerankValue": "Оценка переранжирования: {value}",
|
||||
"historyRecordedNotice": "Прошлые ответы и фрагменты показаны в исходном виде. Смена языка интерфейса не изменяет историю.",
|
||||
"faqNumber": "FAQ №{number}",
|
||||
"documentNumber": "Документ №{number}"
|
||||
},
|
||||
"scaffold": {
|
||||
"moduleBoard": "Доска поставки модулей",
|
||||
@@ -3370,8 +3395,8 @@
|
||||
"statusReady": "Готово к приёму обращений",
|
||||
"statusNeedsSetup": "Требуется настройка (готово {ready} из {total} шагов)",
|
||||
"stepsProgress": "Готово {ready} из {total} шагов",
|
||||
"quickSetupAll": "Настроить всё в 1 клик",
|
||||
"quickSetupRunning": "Применение настроек...",
|
||||
"quickSetupAll": "Проверить недостающие настройки",
|
||||
"quickSetupRunning": "Подготовка плана...",
|
||||
"quickFixSuccess": "Настройки применены, проверка маршрутизации обновлена",
|
||||
"refresh": "Проверить снова",
|
||||
"openSettings": "Открыть настройки",
|
||||
@@ -3394,12 +3419,12 @@
|
||||
"description": "Требуется как минимум одна активная команда для объединения операторов и привязки расписания смен."
|
||||
},
|
||||
"schedules": {
|
||||
"title": "Расписания смен (активны сейчас)",
|
||||
"description": "Команде нужно активное расписание на текущее время, иначе обращения остаются в очереди нерабочих часов."
|
||||
"title": "Рабочее время поддержки",
|
||||
"description": "У команды сейчас должно быть рабочее время по выбранному календарю: датированным сменам или недельному расписанию. Вне рабочих часов обращения остаются в очереди."
|
||||
},
|
||||
"operators": {
|
||||
"title": "Профили операторов и доступная емкость",
|
||||
"description": "Операторы должны быть активны, состоять в команде, включить автоназначение, иметь статус «Свободен» и доступный лимит диалогов."
|
||||
"description": "Для назначения нужны активные учётная запись и профиль, рабочее время команды, подключение к платформе, готовность принимать обращения, отсутствие действующего отпуска и включённое автоназначение. Лимит одновременных обращений не должен быть достигнут."
|
||||
},
|
||||
"ai_agents": {
|
||||
"title": "AI-агенты и передача человеку",
|
||||
@@ -3433,7 +3458,15 @@
|
||||
"channel_no_agent": "Канал не подключен к AI-агенту.",
|
||||
"channel_agent_disabled": "Канал указывает на отключенного или удаленного AI-агента.",
|
||||
"channel_zero_rollout": "У канала охват AI-агента равен 0%.",
|
||||
"no_end_to_end_path": "Ни один канал не может доставить запрос до доступного оператора прямо сейчас."
|
||||
"no_end_to_end_path": "Ни один канал не может доставить запрос до доступного оператора прямо сейчас.",
|
||||
"agent_unpublished": "У агента нет опубликованной версии. Опубликуйте его в настройках перед использованием в канале.",
|
||||
"channel_agent_unpublished": "Канал связан с неопубликованным агентом. Опубликуйте его или выберите опубликованного агента.",
|
||||
"operator_offline": "У оператора нет активного подключения к платформе поддержки.",
|
||||
"operator_break": "Оператор на перерыве и не может получать новые назначения.",
|
||||
"operator_unavailable": "Оператор недоступен для новых назначений.",
|
||||
"operator_vacation": "У оператора сейчас действует запланированный отпуск.",
|
||||
"operator_outside_hours": "Оператор сейчас вне рабочего времени по расписанию.",
|
||||
"operator_availability_unavailable": "Не удалось определить текущую доступность оператора."
|
||||
},
|
||||
"operatorBlockers": {
|
||||
"not_authenticated": "Вы не вошли в систему.",
|
||||
@@ -3443,25 +3476,31 @@
|
||||
"team_off_hours": "Ваша команда сейчас не на смене (нет активного расписания).",
|
||||
"auto_assign_disabled": "Автоматическое назначение диалогов выключено в вашем профиле.",
|
||||
"status_busy": "Ваш статус установлен в «Занят».",
|
||||
"at_capacity": "Вы достигли лимита одновременных диалогов."
|
||||
"at_capacity": "Вы достигли лимита одновременных диалогов.",
|
||||
"offline": "Нет активного подключения к платформе поддержки.",
|
||||
"break": "Перерыв: новые назначения приостановлены.",
|
||||
"unavailable": "Недоступен для новых назначений.",
|
||||
"vacation": "Действует запланированный отпуск.",
|
||||
"availability_unavailable": "Не удалось определить текущую доступность.",
|
||||
"user_disabled": "Учётная запись отключена или удалена."
|
||||
},
|
||||
"quickFixLabels": {
|
||||
"quick_setup_all": "Настроить всё в 1 клик",
|
||||
"ensure_team_and_schedule": "Создать/включить команду и расписание 24/7",
|
||||
"quick_setup_all": "Проверить недостающие настройки",
|
||||
"ensure_team_and_schedule": "Проверить настройку группы",
|
||||
"enable_my_operator_profile": "Включить мой приём и статус «Свободен»",
|
||||
"fix_ai_agent_handoff": "Настроить передачу оператору и привязать команды",
|
||||
"ensure_default_channel": "Создать/исправить веб-канал по умолчанию"
|
||||
},
|
||||
"simulator": {
|
||||
"title": "Симулятор маршрутизации к оператору",
|
||||
"description": "Протестируйте путь входящего сообщения клиента через канал и узнайте результат на каждом узле маршрутизации.",
|
||||
"description": "Проверка текущей доступности маршрута только с оператором без изменений. Поведение ИИ и частичный запуск не моделируются; сообщения не отправляются.",
|
||||
"selectChannelPlaceholder": "Выберите канал для симуляции...",
|
||||
"runSimulation": "Запустить симуляцию",
|
||||
"running": "Симуляция...",
|
||||
"outcomeSuccess": "Запрос ДОЙДЁТ до оператора: {operator}",
|
||||
"outcomeBlocked": "Запрос НЕ ДОЙДЁТ до оператора",
|
||||
"outcomeSuccess": "Сейчас доступен оператор: {operator}",
|
||||
"outcomeBlocked": "Передача оператору не подтверждена",
|
||||
"outcomes": {
|
||||
"assigned_to_operator": "Успех: обращение назначено свободному оператору.",
|
||||
"assigned_to_operator": "Для маршрута только с оператором сейчас есть подходящий сотрудник. Это проверка без изменений, не гарантия доставки.",
|
||||
"blocked_no_channel": "Заблокировано: каналы не созданы или запрошенный канал не найден.",
|
||||
"blocked_channel_disabled": "Заблокировано: данный канал отключен.",
|
||||
"blocked_zero_rollout": "Заблокировано: охват AI-агента в канале равен 0%.",
|
||||
@@ -3469,7 +3508,10 @@
|
||||
"blocked_ai_only_mode": "Заблокировано: AI-агент работает в режиме «Только ИИ» и не переключает на человека.",
|
||||
"blocked_agent_no_teams": "Заблокировано: у AI-агента не указаны активные команды для перевода.",
|
||||
"queued_off_hours_no_schedule": "В очереди: у команд сейчас нет активного расписания смен (нерабочие часы).",
|
||||
"queued_no_eligible_operator": "В очереди: смена активна, но нет свободных операторов с доступной емкостью."
|
||||
"queued_no_eligible_operator": "В очереди: смена активна, но нет свободных операторов с доступной емкостью.",
|
||||
"ai_execution_not_simulated": "Поведение ИИ не моделируется; передача оператору не подтверждена.",
|
||||
"partial_rollout_not_simulated": "Частичный запуск не моделируется; передача оператору не подтверждена.",
|
||||
"blocked_agent_unpublished": "Маршрутизация к оператору не подтверждена для неопубликованного агента. Сначала опубликуйте его."
|
||||
},
|
||||
"hops": {
|
||||
"channel": "Канал",
|
||||
@@ -3491,7 +3533,10 @@
|
||||
"blocked_agent_no_teams": "Агенту не назначены активные команды",
|
||||
"queued_off_hours_no_schedule": "Нет активного расписания на текущее время (нерабочие часы)",
|
||||
"queued_no_eligible_operator": "В активных командах нет свободных операторов с доступной емкостью",
|
||||
"assigned_to_operator": "Назначено подходящему оператору"
|
||||
"assigned_to_operator": "Назначено подходящему оператору",
|
||||
"ai_execution_not_simulated": "Поведение ИИ не моделируется; передача оператору не подтверждена.",
|
||||
"partial_rollout_not_simulated": "Частичный запуск не моделируется; передача оператору не подтверждена.",
|
||||
"blocked_agent_unpublished": "Маршрутизация к оператору не подтверждена для неопубликованного агента. Сначала опубликуйте его."
|
||||
},
|
||||
"candidateTableTitle": "Оценка кандидатов-операторов",
|
||||
"colOperator": "Оператор",
|
||||
@@ -3505,12 +3550,19 @@
|
||||
"eligibleBadge": "Подходит",
|
||||
"skipReasons": {
|
||||
"profile_disabled": "Профиль отключен",
|
||||
"user_disabled": "Аккаунт пользователя отключен",
|
||||
"user_disabled": "Учётная запись отключена или удалена.",
|
||||
"team_not_in_agent": "Команда не входит в настройки агента",
|
||||
"team_off_hours": "Вне расписания команды",
|
||||
"auto_assign_off": "Автоназначение выключено",
|
||||
"status_busy": "Статус «Занят»",
|
||||
"at_capacity": "Лимит диалогов исчерпан"
|
||||
"at_capacity": "Лимит диалогов исчерпан",
|
||||
"offline": "Нет активного подключения к платформе поддержки.",
|
||||
"break": "Перерыв: новые назначения приостановлены.",
|
||||
"unavailable": "Недоступен для новых назначений.",
|
||||
"vacation": "Действует запланированный отпуск.",
|
||||
"availability_unavailable": "Не удалось определить текущую доступность.",
|
||||
"auto_assign_disabled": "Автоматическое назначение отключено.",
|
||||
"no_team": "Нет назначенной активной команды."
|
||||
}
|
||||
},
|
||||
"banner": {
|
||||
@@ -3520,6 +3572,185 @@
|
||||
"headerIndicator": {
|
||||
"readyLabel": "Приём включен",
|
||||
"blockedLabel": "Приём заблокирован ({count})"
|
||||
},
|
||||
"preview": {
|
||||
"review": "Просмотреть изменения",
|
||||
"title": "Проверка изменений перед применением",
|
||||
"description": "Изменятся только указанные записи и поля. Смены не добавляются. Остальные настройки и доли запуска сохранятся. После сохранения ожидающие диалоги могут быть распределены.",
|
||||
"noChanges": "Безопасных автоматических изменений нет. Выберите группу, маршрут или рабочие часы в соответствующих настройках.",
|
||||
"apply": "Применить проверенные изменения",
|
||||
"create": "Создать",
|
||||
"update": "Изменить",
|
||||
"notApplied": "Проверенные изменения не были применены.",
|
||||
"manageSchedules": "Настроить рабочие часы"
|
||||
},
|
||||
"repairFields": {
|
||||
"name": "Название",
|
||||
"leader_user_id": "ID руководителя группы",
|
||||
"status": "Статус (0 включён, 1 отключён)",
|
||||
"user_id": "ID пользователя",
|
||||
"team_id": "ID группы / название новой группы",
|
||||
"team_ids": "Группы маршрутизации",
|
||||
"service_status": "Доступность (0 свободен, 1 занят)",
|
||||
"auto_assign_enabled": "Автоматическое назначение",
|
||||
"max_concurrent_count": "Лимит одновременных диалогов",
|
||||
"priority_level": "Приоритет назначения",
|
||||
"receive_offline_message": "Принимать сообщения офлайн",
|
||||
"service_mode": "Режим (1 только ИИ, 2 только оператор, 3 сначала ИИ)",
|
||||
"rollout_percent": "Доля запуска агента (%)",
|
||||
"handoff_mode": "Режим передачи (2 очередь группы)",
|
||||
"fallback_mode": "Резервный режим",
|
||||
"auto_handoff_on_failure": "Передавать оператору при сбое",
|
||||
"reply_timeout_seconds": "Тайм-аут ответа (сек.)",
|
||||
"max_steps": "Максимум шагов ИИ",
|
||||
"channel_id": "Идентификатор канала",
|
||||
"channel_type": "Тип канала",
|
||||
"ai_agent_id": "ID агента / название нового агента",
|
||||
"ai_agent_rollout_percent": "Доля запуска канала (%)",
|
||||
"config_json": "Настройки канала"
|
||||
},
|
||||
"repairWarnings": {
|
||||
"schedules_unchanged": "Рабочие часы не изменены. Настройте смены явно: время вне смены не является ошибкой настройки.",
|
||||
"active_team_required": "Выберите или включите группу в настройках перед связыванием новых записей.",
|
||||
"disabled_configuration_preserved": "Выбранная конфигурация отключена или имеет нулевую долю запуска и оставлена без изменений.",
|
||||
"agent_team_selection_required": "Выберите нужные группы в настройках агента. Группы не добавлялись автоматически.",
|
||||
"channel_selection_required": "Выберите агента и долю запуска в настройках канала. Существующая маршрутизация сохранена.",
|
||||
"existing_configuration_preserved": "Существующие настройки сохранены. Проверьте оставшиеся проблемы готовности в соответствующих настройках.",
|
||||
"dispatch_failed": "Изменения сохранены, но распределение ожидающих диалогов не удалось. Проверьте очередь, не применяйте исправление повторно.",
|
||||
"readiness_refresh_failed": "Не удалось обновить диагностику. Загрузите её снова: сохранённые изменения не отменены.",
|
||||
"agent_publication_required": "Опубликуйте нужного агента в его настройках перед созданием канала. Мастер не публикует агентов и не обходит это требование."
|
||||
}
|
||||
},
|
||||
"supportAvailability": {
|
||||
"title": "Доступность поддержки",
|
||||
"description": "Настройте часы работы и часовые пояса. Подключение, рабочий статус и возможность принимать обращения учитываются отдельно.",
|
||||
"loading": "Загрузка доступности…",
|
||||
"myStatus": "Моя доступность",
|
||||
"retryStatus": "Статус неизвестен. Повторить",
|
||||
"operatorStatus": "Доступность: {name}",
|
||||
"presenceHelp": "«На платформе» означает активное подключение к платформе поддержки с учётом вкладок и устройств. Это не означает готовность принимать новые обращения.",
|
||||
"online": "На платформе",
|
||||
"offline": "Не подключён",
|
||||
"workingStatus": "Рабочий статус",
|
||||
"statusHelp": "Статус сохраняется между сеансами. Занятость, перерыв, недоступность и действующий отпуск блокируют новые назначения. Вход в систему их не сбрасывает.",
|
||||
"statusSaved": "Доступность сохранена",
|
||||
"saveFailed": "Не удалось сохранить изменения. Введённые данные сохранены в форме.",
|
||||
"loadFailed": "Не удалось загрузить доступность",
|
||||
"saveStatus": "Сохранить статус",
|
||||
"saving": "Сохранение…",
|
||||
"cancel": "Отмена",
|
||||
"retry": "Повторить",
|
||||
"refresh": "Обновить",
|
||||
"discardTitle": "Отменить несохранённые изменения?",
|
||||
"discardDescription": "Изменения ещё не сохранены. Выйти без сохранения?",
|
||||
"discard": "Отменить изменения",
|
||||
"vacationStart": "Начало отпуска",
|
||||
"vacationEnd": "Окончание отпуска (не включительно)",
|
||||
"vacationTimezone": "Введите даты в часовом поясе браузера: {timezone}.",
|
||||
"vacationExact": "Точный интервал UTC: {start} → {end}.",
|
||||
"vacationHelp": "В этот период новые назначения отключены, даже если вы войдёте в систему. Вне периода действует сохранённый статус: {status}. Текущие обращения автоматически не передаются.",
|
||||
"cancelVacationHelp": "Сохранение другого статуса отменит запланированный отпуск.",
|
||||
"invalidVacation": "Укажите корректные начало и окончание, причём окончание должно быть позже начала. Время, пропущенное при переводе часов, недопустимо.",
|
||||
"calendar": "Календарь поддержки",
|
||||
"editCalendar": "Изменить календарь",
|
||||
"saveCalendar": "Сохранить календарь",
|
||||
"calendarSaved": "Календарь поддержки сохранён",
|
||||
"readOnly": "У вас доступ только для просмотра.",
|
||||
"deploymentDefault": "Настройки по умолчанию",
|
||||
"selectScope": "Выберите общие настройки или команду",
|
||||
"deploymentTimezone": "Часовой пояс IANA по умолчанию",
|
||||
"teamTimezone": "Часовой пояс команды",
|
||||
"timezoneHelp": "Используйте имя IANA, например Europe/Moscow или America/New_York, а не фиксированное смещение UTC.",
|
||||
"inheritTimezoneHelp": "Оставьте пустым для наследования общего часового пояса. Переопределение не меняет сохранённые датированные смены.",
|
||||
"effectiveTimezone": "Применяемый часовой пояс: {timezone}",
|
||||
"scheduleMode": "Режим календаря",
|
||||
"legacy": "Существующие датированные смены",
|
||||
"recurring": "Недельное расписание и исключения",
|
||||
"legacyHelp": "Существующие датированные смены сохраняются и не пересчитываются в новый часовой пояс. Недельное расписание применяется только после явного выбора и сохранения этого режима.",
|
||||
"viewDatedShifts": "Открыть датированные смены",
|
||||
"legacyActive": "Часы работы по-прежнему определяются существующими датированными сменами. Недельное расписание автоматически не создаётся.",
|
||||
"confirmCalendarTitle": "Применить календарь поддержки?",
|
||||
"confirmRecurring": "Переключить выбранную область на недельное расписание и исключения? Датированные смены останутся сохранёнными, но в этом режиме не будут определять доступность.",
|
||||
"confirmCalendar": "Эти настройки меняют время назначения новых обращений. Изменение общего часового пояса затронет команды, которые его наследуют. Датированные смены останутся без изменений.",
|
||||
"weeklyHours": "Недельное расписание",
|
||||
"hoursHelp": "Добавьте несколько интервалов для смен с перерывом. Окончание раньше начала означает переход на следующий день. Одинаковые начало и конец недопустимы. Дни без интервалов закрыты. Для полного дня используйте 00:00–24:00.",
|
||||
"noWeeklyHours": "Недельных интервалов нет. В этом режиме поддержка открывается только по явно заданным исключениям.",
|
||||
"addPeriod": "Добавить интервал",
|
||||
"removePeriod": "Удалить интервал",
|
||||
"day": "День",
|
||||
"start": "Начало",
|
||||
"end": "Окончание",
|
||||
"exceptions": "Праздники и исключения по датам",
|
||||
"exceptionsHelp": "Исключение заменяет недельное расписание на эту местную дату. Закрытая дата блокирует весь день, включая ночной интервал с предыдущего дня.",
|
||||
"noExceptions": "Исключений по датам нет",
|
||||
"addException": "Добавить исключение",
|
||||
"removeException": "Удалить исключение",
|
||||
"date": "Дата",
|
||||
"closedDay": "Закрыто весь день",
|
||||
"preview": "Проверка календаря",
|
||||
"previewHelp": "Проверьте форму без сохранения. Введите момент проверки в часовом поясе браузера ({timezone}) или оставьте пустым для текущего момента. Результат показан в часовом поясе календаря.",
|
||||
"previewAt": "Момент проверки (необязательно)",
|
||||
"runPreview": "Проверить календарь",
|
||||
"previewing": "Проверка…",
|
||||
"previewFailed": "Не удалось проверить календарь",
|
||||
"previewStale": "Форма изменилась. Повторите проверку.",
|
||||
"scheduleOpen": "В этот момент расписание открыто.",
|
||||
"scheduleClosed": "В этот момент расписание закрыто.",
|
||||
"nextOpening": "Следующее открытие по расписанию: {time}",
|
||||
"noNextOpening": "В периоде проверки не найдено следующего открытия.",
|
||||
"notPresencePromise": "Часы по расписанию не гарантируют подключение или доступность оператора.",
|
||||
"invalidTimezone": "Укажите корректный часовой пояс IANA. Общий часовой пояс не может быть пустым.",
|
||||
"invalidHours": "Используйте интервалы ЧЧ:мм с разными началом и окончанием. Для открытого исключения нужен хотя бы один интервал.",
|
||||
"invalidExceptionDate": "Для каждого исключения нужна корректная, неповторяющаяся дата.",
|
||||
"invalidPreviewTime": "Укажите корректное время проверки в часовом поясе браузера.",
|
||||
"noPermission": "У вас нет прав на просмотр календаря. Свой рабочий статус можно изменить отдельно.",
|
||||
"noTeams": "Нет команд для настройки календаря.",
|
||||
"publicChecking": "Проверяем доступность операторов…",
|
||||
"publicNextOpening": "Следующее открытие по расписанию: {time}. Наличие оператора не гарантируется.",
|
||||
"offlineDeprecated": "Устаревшая настройка сохранена для совместимости. Она не разрешает новые назначения отключённым операторам.",
|
||||
"manageStatus": "Изменить доступность",
|
||||
"statusSeparate": "Рабочий статус и отпуск настраиваются отдельно от профиля оператора.",
|
||||
"status": {
|
||||
"ready": "Готов принимать",
|
||||
"busy": "Занят",
|
||||
"break": "Перерыв",
|
||||
"unavailable": "Недоступен",
|
||||
"vacation": "В отпуске",
|
||||
"unknown": "Неизвестный статус"
|
||||
},
|
||||
"reason": {
|
||||
"eligible": "Может принимать новые назначения",
|
||||
"profile_disabled": "Профиль оператора отключён администратором",
|
||||
"user_disabled": "Учётная запись отключена",
|
||||
"team_disabled": "Команда отключена",
|
||||
"outside_hours": "Вне рабочего времени по расписанию",
|
||||
"offline": "Нет активного подключения к платформе поддержки",
|
||||
"busy": "Занят: новые назначения приостановлены",
|
||||
"break": "Перерыв: новые назначения приостановлены",
|
||||
"unavailable": "Недоступен для новых назначений",
|
||||
"vacation": "Действует запланированный отпуск",
|
||||
"auto_assign_disabled": "Автоматическое назначение отключено",
|
||||
"capacity": "Достигнут лимит одновременных обращений",
|
||||
"unknown": "Не удалось определить возможность назначения"
|
||||
},
|
||||
"public": {
|
||||
"available": "Операторы сейчас доступны",
|
||||
"outside_hours": "Сейчас нерабочее время поддержки",
|
||||
"temporarily_absent": "Сейчас нет оператора для нового обращения",
|
||||
"capacity": "Операторы сейчас полностью загружены",
|
||||
"unknown": "Доступность операторов неизвестна"
|
||||
},
|
||||
"weekday": {
|
||||
"1": "Понедельник",
|
||||
"2": "Вторник",
|
||||
"3": "Среда",
|
||||
"4": "Четверг",
|
||||
"5": "Пятница",
|
||||
"6": "Суббота",
|
||||
"7": "Воскресенье"
|
||||
},
|
||||
"dstOccurrence": "{field}: это время встречается дважды. Выберите точный момент UTC.",
|
||||
"chooseOccurrence": "Выберите вариант времени",
|
||||
"datedShiftsNotice": "Эти датированные смены определяют доступность только в режиме существующих смен. В недельном режиме они сохраняются, но не действуют. При возврате они вновь применяются без изменений."
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user