provider-chain.json 11 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}ms",
  138. "requestDurationSeconds": "リクエスト時間: {duration}s",
  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} ステータスコード={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. }