provider-chain.json 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. {
  2. "circuit": {
  3. "closed": "Закрыт (Нормально)",
  4. "halfOpen": "Полуоткрыт (Тестирование)",
  5. "open": "Открыт (Сработал)",
  6. "unknown": "Неизвестно"
  7. },
  8. "errors": {
  9. "ENOTFOUND": "Не удалось разрешить DNS",
  10. "ECONNREFUSED": "Соединение отклонено",
  11. "ETIMEDOUT": "Тайм-аут соединения или чтения",
  12. "ECONNRESET": "Соединение сброшено",
  13. "EHOSTUNREACH": "Хост недоступен (проблема маршрутизации сети)",
  14. "ENETUNREACH": "Сеть недоступна (проблема локальной сетевой конфигурации)",
  15. "EPROTO": "Ошибка протокола (ошибка SSL/TLS рукопожатия)",
  16. "CLIENT_ABORT": "Клиент прервал запрос",
  17. "PROVIDER_TIMEOUT": "Тайм-аут ответа провайдера (высокая задержка первого байта)",
  18. "STREAMING_IDLE_TIMEOUT": "Тайм-аут простоя потоковой передачи (провайдер прекратил отправку данных)"
  19. },
  20. "summary": {
  21. "singleSuccess": "{total} провайдеров, {healthy} работоспособных → {provider} ✓",
  22. "sessionReuse": "Повторное использование сессии → {provider} ✓"
  23. },
  24. "description": {
  25. "noDecisionRecord": "Нет записей решений",
  26. "sessionReuse": "Повторное использование сессии - Выбор провайдера",
  27. "sessionId": "ID сессии: {id}",
  28. "unknown": "Неизвестно",
  29. "reuseProvider": "Повторно используемый провайдер: {provider}",
  30. "initialSelection": "Первоначальный выбор: {provider}",
  31. "candidateCount": "{count} провайдеров-кандидатов",
  32. "groupFiltered": "Группа {group} отфильтрована до {count}",
  33. "healthyCount": "{count} после проверки состояния",
  34. "priority": "Приоритет {priority}",
  35. "candidate": "{name}({probability}%)",
  36. "requestChain": "Цепочка запросов:",
  37. "systemError": "Системная ошибка",
  38. "concurrentLimit": "Лимит параллельных запросов",
  39. "http2Fallback": "Откат HTTP/2",
  40. "clientError": "Ошибка клиента",
  41. "endpointPoolExhausted": "Пул конечных точек исчерпан",
  42. "vendorTypeAllTimeout": "Тайм-аут всех конечных точек"
  43. },
  44. "reasons": {
  45. "request_success": "Успешно",
  46. "retry_success": "Повтор успешен",
  47. "retry_failed": "Повтор не удался",
  48. "system_error": "Системная ошибка",
  49. "client_error_non_retryable": "Ошибка клиента",
  50. "concurrent_limit_failed": "Лимит параллельных запросов",
  51. "http2_fallback": "Откат HTTP/2",
  52. "session_reuse": "Повторное использование сессии",
  53. "initial_selection": "Первоначальный выбор",
  54. "endpoint_pool_exhausted": "Пул конечных точек исчерпан",
  55. "vendor_type_all_timeout": "Тайм-аут всех конечных точек типа поставщика"
  56. },
  57. "filterReasons": {
  58. "rate_limited": "Ограничение скорости",
  59. "circuit_open": "Автомат открыт",
  60. "disabled": "Отключен",
  61. "excluded": "Исключен",
  62. "format_type_mismatch": "Несоответствие формата",
  63. "type_mismatch": "Несоответствие типа",
  64. "model_not_allowed": "Модель не разрешена",
  65. "context_1m_disabled": "1M контекст отключен",
  66. "model_not_supported": "Модель не поддерживается",
  67. "group_mismatch": "Несоответствие группы",
  68. "health_check_failed": "Проверка состояния не пройдена",
  69. "endpoint_circuit_open": "Автомат конечной точки открыт",
  70. "endpoint_disabled": "Эндпоинт отключен"
  71. },
  72. "filterDetails": {
  73. "vendor_type_circuit_open": "Временное размыкание типа поставщика",
  74. "circuit_open": "Размыкатель открыт",
  75. "circuit_half_open": "Размыкатель полуоткрыт",
  76. "rate_limited": "Ограничение скорости"
  77. },
  78. "details": {
  79. "selectionMethod": "Метод выбора",
  80. "attemptNumber": "Номер попытки",
  81. "endpoint": "Конечная точка",
  82. "config": "Конфигурация",
  83. "priority": "Приоритет",
  84. "weight": "Вес",
  85. "costMultiplier": "Множитель стоимости",
  86. "groupTag": "Тег группы",
  87. "circuitBreaker": "Автомат защиты",
  88. "circuitDisabled": "Отключен",
  89. "failures": "ошибок",
  90. "modelRedirect": "Перенаправление модели",
  91. "error": "Ошибка",
  92. "errorDetails": "Детали ошибки",
  93. "decisionContext": "Контекст решения",
  94. "beforeHealthCheck": "До проверки состояния",
  95. "afterHealthCheck": "После проверки состояния",
  96. "filteredProviders": "Отфильтрованные провайдеры",
  97. "priorityLevels": "Уровни приоритета",
  98. "candidates": "Кандидаты провайдеров"
  99. },
  100. "technicalTimeline": "Техническая временная шкала",
  101. "timeline": {
  102. "sessionReuse": "Повторное использование сессии",
  103. "sessionReuseSelection": "Повторное использование сессии - Выбор провайдера",
  104. "sessionReuseTitle": "Повторное использование сессии - Выбор провайдера",
  105. "sessionId": "ID сессии: {id}",
  106. "reuseProvider": "Повторно используемый провайдер: {provider}",
  107. "configuration": "Конфигурация",
  108. "priority": "Приоритет",
  109. "weight": "Вес",
  110. "cost": "Стоимость",
  111. "providerConfig": "Конфигурация провайдера: приоритет={priority} вес={weight} стоимость={cost}",
  112. "basedOnCache": "Повторное использование провайдера на основе кеша сессии (в течение 5 минут)",
  113. "sessionCache": "На основе кеша сессии (в течение 5 минут)",
  114. "waitingForResult": "Ожидание результата запроса...",
  115. "waiting": "Ожидание результата запроса...",
  116. "initialSelection": "Первоначальный выбор провайдера",
  117. "initialSelectionTitle": "Первоначальный выбор провайдера",
  118. "systemStatus": "Состояние системы",
  119. "totalProviders": "Всего провайдеров: {count}",
  120. "enabledProviders": "Включено типа {type}: {count}",
  121. "type": "Тип",
  122. "userGroup": "Группа пользователей {group}: {count}",
  123. "healthCheck": "Прошли проверку состояния: {count}",
  124. "filtered": "Отфильтровано",
  125. "priorityLevel": "Приоритет",
  126. "priorityCandidates": "Кандидаты приоритета {priority} ({count})",
  127. "candidates": "Кандидаты",
  128. "candidateInfo": " • {name}: вес={weight} стоимость={cost} вероятность={probability}%",
  129. "selected": "✓ Выбрано: {provider}",
  130. "requestFailed": "Запрос не выполнен (Попытка {attempt})",
  131. "attemptNumber": "Попытка {number}",
  132. "firstAttempt": "Первая попытка",
  133. "nthAttempt": "Попытка {attempt}",
  134. "provider": "Провайдер: {provider}",
  135. "statusCode": "Код состояния: {code}",
  136. "error": "Ошибка: {error}",
  137. "requestDuration": "Длительность запроса: {duration}мс",
  138. "requestDurationSeconds": "Длительность запроса: {duration}с",
  139. "circuitStatus": "Состояние автомата",
  140. "current": "Текущее",
  141. "circuitCurrent": "Текущее состояние: {state}",
  142. "failureCount": "Количество сбоев: {current}/{threshold}",
  143. "untilBreak": "До срабатывания",
  144. "circuitRemaining": "{remaining} попыток до срабатывания автомата",
  145. "remaining": "Осталось попыток: {count}",
  146. "status": "Состояние",
  147. "alreadyBroken": "Уже сработал",
  148. "circuitTriggered": "Предупреждение: Автомат защиты сработал",
  149. "circuitDisabled": "Автомат защиты отключен",
  150. "errorDetails": "Детали ошибки",
  151. "systemError": "Системная ошибка",
  152. "systemErrorFailed": "Системная ошибка (Попытка {attempt})",
  153. "errorType": "Тип ошибки: Системная ошибка",
  154. "errorName": "Ошибка",
  155. "errorCode": "Код ошибки: {code}",
  156. "errorSyscall": "Системный вызов: {syscall}",
  157. "errorMeaning": "Значение: {meaning}",
  158. "meaning": "Значение",
  159. "notCountedInCircuit": "Эта ошибка не учитывается в автомате защиты провайдера",
  160. "systemErrorNote": "Примечание: Эта ошибка не учитывается в автомате защиты провайдера",
  161. "reselection": "Повторный выбор провайдера",
  162. "reselect": "Повторный выбор провайдера",
  163. "excluded": "Исключено: {providers}",
  164. "remainingCandidates": "Оставшиеся кандидаты: {count}",
  165. "requestSuccess": "{label} Запрос выполнен",
  166. "requestSuccessAttempt": "{attempt} Запрос выполнен",
  167. "requestOk": "OK",
  168. "successStatus": "Состояние: {code} OK",
  169. "requestCompleted": "Запрос успешно выполнен",
  170. "completed": "Запрос успешно выполнен",
  171. "concurrentLimitFailed": "Лимит параллельных запросов",
  172. "attemptFailed": "Попытка не удалась (Попытка {attempt})",
  173. "concurrentLimit": "Лимит параллельных запросов",
  174. "concurrentLimitInfo": "Текущих параллельных: {current}/{limit}",
  175. "sessions": "Сессии",
  176. "withPriorityWeight": "(приоритет={priority} вес={weight})",
  177. "unknown": "Неизвестно",
  178. "noDecisionRecord": "Нет записей решений",
  179. "modelRedirect": "Перенаправление модели",
  180. "modelRedirectFrom": " Запрошенная модель: {model}",
  181. "modelRedirectTo": " Перенаправлено на: {model}",
  182. "modelRedirectBilling": " Модель для расчета: {model}",
  183. "http2Fallback": "Откат протокола HTTP/2",
  184. "http2ErrorType": "Тип ошибки HTTP/2: {type}",
  185. "http2FallbackNote": "Прозрачный откат на HTTP/1.1, не учитывается в автомате защиты",
  186. "requestDetails": "Детали запроса (для отладки)",
  187. "requestMethod": "Метод",
  188. "requestUrl": "URL",
  189. "requestHeaders": "Заголовки",
  190. "requestBody": "Тело",
  191. "requestBodyTruncated": "(обрезано)",
  192. "clientErrorNonRetryable": "Ошибка клиента (попытка {attempt}, без повторов)",
  193. "matchedRule": "Совпавшее правило ошибки",
  194. "ruleId": "ID правила: {id}",
  195. "ruleCategory": "Категория: {category}",
  196. "rulePattern": "Шаблон: {pattern}",
  197. "ruleMatchType": "Тип совпадения: {matchType}",
  198. "ruleDescription": "Описание: {description}",
  199. "ruleHasOverride": "Переопределения: response={response}, statusCode={statusCode}",
  200. "clientErrorNote": "Эта ошибка вызвана вводом клиента, не повторяется и не учитывается в автомате защиты.",
  201. "endpointPoolExhausted": "Пул конечных точек исчерпан (все конечные точки недоступны)",
  202. "endpointStats": "Статистика фильтрации конечных точек",
  203. "endpointStatsTotal": "Всего конечных точек: {count}",
  204. "endpointStatsEnabled": "Включено конечных точек: {count}",
  205. "endpointStatsCircuitOpen": "Эндпоинтов с открытым автоматом: {count}",
  206. "endpointStatsAvailable": "Доступных конечных точек: {count}",
  207. "strictBlockNoEndpoints": "Строгий режим: нет доступных кандидатов конечных точек, провайдер пропущен без отката",
  208. "strictBlockSelectorError": "Строгий режим: ошибка селектора конечных точек, провайдер пропущен без отката",
  209. "vendorTypeAllTimeout": "Тайм-аут всех конечных точек типа поставщика (524)",
  210. "vendorTypeAllTimeoutNote": "Все конечные точки этого типа поставщика превысили тайм-аут. Активирован размыкатель типа поставщика."
  211. }
  212. }