@srouterhq/server 0.0.0-stage → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1027) hide show
  1. package/LICENSE +21 -0
  2. package/client/dist/assets/am-TQ7Jmdqe.js +1 -0
  3. package/client/dist/assets/ar-Bf5a7yfC.js +1 -0
  4. package/client/dist/assets/az-CrosE1xH.js +1 -0
  5. package/client/dist/assets/bg-BvWnmcUz.js +1 -0
  6. package/client/dist/assets/bn-ams5TsJp.js +1 -0
  7. package/client/dist/assets/cs-Dh67CaJ_.js +1 -0
  8. package/client/dist/assets/da-9WlT8Iq7.js +1 -0
  9. package/client/dist/assets/de-lWhJJzz7.js +1 -0
  10. package/client/dist/assets/el-Cu7_GhNq.js +1 -0
  11. package/client/dist/assets/es-BZuzsBcP.js +1 -0
  12. package/client/dist/assets/fa-Dwdn-jKS.js +1 -0
  13. package/client/dist/assets/fi-BFrFyOTy.js +1 -0
  14. package/client/dist/assets/fr-XhbtmPpj.js +1 -0
  15. package/client/dist/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  16. package/client/dist/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  17. package/client/dist/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  18. package/client/dist/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  19. package/client/dist/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 +0 -0
  20. package/client/dist/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 +0 -0
  21. package/client/dist/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 +0 -0
  22. package/client/dist/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2 +0 -0
  23. package/client/dist/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 +0 -0
  24. package/client/dist/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2 +0 -0
  25. package/client/dist/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  26. package/client/dist/assets/gu-D0uhLUB8.js +1 -0
  27. package/client/dist/assets/ha-CVlm9pqp.js +1 -0
  28. package/client/dist/assets/he-CMIFeoWr.js +1 -0
  29. package/client/dist/assets/hi-ENTwhBpn.js +1 -0
  30. package/client/dist/assets/hr-fc03vMy_.js +1 -0
  31. package/client/dist/assets/hu-YBo2BIYt.js +1 -0
  32. package/client/dist/assets/id-BEWXYX69.js +1 -0
  33. package/client/dist/assets/ig-BKLZFKka.js +1 -0
  34. package/client/dist/assets/index-D9I4KtvR.js +145 -0
  35. package/client/dist/assets/index-txhEmCdb.css +2 -0
  36. package/client/dist/assets/it-Bzmei1Y2.js +1 -0
  37. package/client/dist/assets/ja-BfcpuqEl.js +1 -0
  38. package/client/dist/assets/ka-CnWjRgLo.js +1 -0
  39. package/client/dist/assets/km-BAjPR3Qj.js +1 -0
  40. package/client/dist/assets/kn-B15WKU5m.js +1 -0
  41. package/client/dist/assets/ko-C61fAB-w.js +1 -0
  42. package/client/dist/assets/lt-CYTr4_YW.js +1 -0
  43. package/client/dist/assets/ml-CtqxgyH3.js +1 -0
  44. package/client/dist/assets/mr-X5TMY7aR.js +1 -0
  45. package/client/dist/assets/ms-DSg8RqPS.js +1 -0
  46. package/client/dist/assets/my-D7RqR8uE.js +1 -0
  47. package/client/dist/assets/ne-DaflxkDj.js +1 -0
  48. package/client/dist/assets/nl-BOqqtsC8.js +1 -0
  49. package/client/dist/assets/no-BSHp_StB.js +1 -0
  50. package/client/dist/assets/or-BkLR9Vub.js +1 -0
  51. package/client/dist/assets/pa-CarJ2XgI.js +1 -0
  52. package/client/dist/assets/pl-C2n0V-0k.js +1 -0
  53. package/client/dist/assets/pt-BR-CqJdNhg2.js +1 -0
  54. package/client/dist/assets/pt-PT-C_HpMyKz.js +1 -0
  55. package/client/dist/assets/ro-DVRZqSAS.js +1 -0
  56. package/client/dist/assets/ru-DwAJG7VC.js +1 -0
  57. package/client/dist/assets/si-BxUezXm0.js +1 -0
  58. package/client/dist/assets/sk-eI1VcIfY.js +1 -0
  59. package/client/dist/assets/sr-CJF3auCr.js +1 -0
  60. package/client/dist/assets/srouter-logo-C6ZfjGIi.svg +14 -0
  61. package/client/dist/assets/sv-nqvwHAq_.js +1 -0
  62. package/client/dist/assets/sw-DWynE2pW.js +1 -0
  63. package/client/dist/assets/ta-BVM12knC.js +1 -0
  64. package/client/dist/assets/te-oyzEkF7_.js +1 -0
  65. package/client/dist/assets/th-COVeE0ZQ.js +1 -0
  66. package/client/dist/assets/tl-DsJANnQz.js +1 -0
  67. package/client/dist/assets/tr-B-Fl-urO.js +1 -0
  68. package/client/dist/assets/uk-C5qketAO.js +1 -0
  69. package/client/dist/assets/ur-QU9KugfV.js +1 -0
  70. package/client/dist/assets/uz-DL9cG_mY.js +1 -0
  71. package/client/dist/assets/vi-CQiVy3Pu.js +1 -0
  72. package/client/dist/assets/yo-DqazMdrZ.js +1 -0
  73. package/client/dist/assets/zh-CN-DnYL_Kio.js +1 -0
  74. package/client/dist/assets/zh-TW-5bdbosKj.js +1 -0
  75. package/client/dist/favicon.svg +14 -0
  76. package/client/dist/icons.svg +24 -0
  77. package/client/dist/index.html +37 -0
  78. package/dist/app.d.ts +4 -0
  79. package/dist/app.d.ts.map +1 -0
  80. package/dist/app.js +372 -0
  81. package/dist/app.js.map +1 -0
  82. package/dist/db/index.d.ts +49 -0
  83. package/dist/db/index.d.ts.map +1 -0
  84. package/dist/db/index.js +203 -0
  85. package/dist/db/index.js.map +1 -0
  86. package/dist/db/migrate/TEMPLATE.d.ts +4 -0
  87. package/dist/db/migrate/TEMPLATE.d.ts.map +1 -0
  88. package/dist/db/migrate/TEMPLATE.js +18 -0
  89. package/dist/db/migrate/TEMPLATE.js.map +1 -0
  90. package/dist/db/migrate/cli.d.ts +2 -0
  91. package/dist/db/migrate/cli.d.ts.map +1 -0
  92. package/dist/db/migrate/cli.js +177 -0
  93. package/dist/db/migrate/cli.js.map +1 -0
  94. package/dist/db/migrate/defaults.d.ts +52 -0
  95. package/dist/db/migrate/defaults.d.ts.map +1 -0
  96. package/dist/db/migrate/defaults.js +126 -0
  97. package/dist/db/migrate/defaults.js.map +1 -0
  98. package/dist/db/migrate/runner.d.ts +16 -0
  99. package/dist/db/migrate/runner.d.ts.map +1 -0
  100. package/dist/db/migrate/runner.js +178 -0
  101. package/dist/db/migrate/runner.js.map +1 -0
  102. package/dist/db/migrations/20260101_000000_legacy_baseline.d.ts +4 -0
  103. package/dist/db/migrations/20260101_000000_legacy_baseline.d.ts.map +1 -0
  104. package/dist/db/migrations/20260101_000000_legacy_baseline.js +2240 -0
  105. package/dist/db/migrations/20260101_000000_legacy_baseline.js.map +1 -0
  106. package/dist/db/migrations/20260627_000001_custom_provider_modalities.d.ts +4 -0
  107. package/dist/db/migrations/20260627_000001_custom_provider_modalities.d.ts.map +1 -0
  108. package/dist/db/migrations/20260627_000001_custom_provider_modalities.js +27 -0
  109. package/dist/db/migrations/20260627_000001_custom_provider_modalities.js.map +1 -0
  110. package/dist/db/migrations/20260627_000002_catalog_model_state.d.ts +4 -0
  111. package/dist/db/migrations/20260627_000002_catalog_model_state.d.ts.map +1 -0
  112. package/dist/db/migrations/20260627_000002_catalog_model_state.js +30 -0
  113. package/dist/db/migrations/20260627_000002_catalog_model_state.js.map +1 -0
  114. package/dist/db/migrations/20260628_120000_request_aggregates.d.ts +6 -0
  115. package/dist/db/migrations/20260628_120000_request_aggregates.d.ts.map +1 -0
  116. package/dist/db/migrations/20260628_120000_request_aggregates.js +104 -0
  117. package/dist/db/migrations/20260628_120000_request_aggregates.js.map +1 -0
  118. package/dist/db/migrations/20260630_000001_github_gpt41_context.d.ts +9 -0
  119. package/dist/db/migrations/20260630_000001_github_gpt41_context.d.ts.map +1 -0
  120. package/dist/db/migrations/20260630_000001_github_gpt41_context.js +22 -0
  121. package/dist/db/migrations/20260630_000001_github_gpt41_context.js.map +1 -0
  122. package/dist/db/migrations/20260706_000001_request_client_info.d.ts +4 -0
  123. package/dist/db/migrations/20260706_000001_request_client_info.d.ts.map +1 -0
  124. package/dist/db/migrations/20260706_000001_request_client_info.js +30 -0
  125. package/dist/db/migrations/20260706_000001_request_client_info.js.map +1 -0
  126. package/dist/db/migrations/20260706_000002_custom_model_tool_support.d.ts +17 -0
  127. package/dist/db/migrations/20260706_000002_custom_model_tool_support.d.ts.map +1 -0
  128. package/dist/db/migrations/20260706_000002_custom_model_tool_support.js +20 -0
  129. package/dist/db/migrations/20260706_000002_custom_model_tool_support.js.map +1 -0
  130. package/dist/db/migrations/20260714_000001_profile_chain_backfill.d.ts +12 -0
  131. package/dist/db/migrations/20260714_000001_profile_chain_backfill.d.ts.map +1 -0
  132. package/dist/db/migrations/20260714_000001_profile_chain_backfill.js +45 -0
  133. package/dist/db/migrations/20260714_000001_profile_chain_backfill.js.map +1 -0
  134. package/dist/db/migrations/20260720_000001_key_health_error.d.ts +5 -0
  135. package/dist/db/migrations/20260720_000001_key_health_error.d.ts.map +1 -0
  136. package/dist/db/migrations/20260720_000001_key_health_error.js +16 -0
  137. package/dist/db/migrations/20260720_000001_key_health_error.js.map +1 -0
  138. package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.d.ts +4 -0
  139. package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.d.ts.map +1 -0
  140. package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.js +38 -0
  141. package/dist/db/migrations/20260726_000001_cooldown_probe_provenance.js.map +1 -0
  142. package/dist/db/migrations/20260726_000002_request_attempts.d.ts +4 -0
  143. package/dist/db/migrations/20260726_000002_request_attempts.d.ts.map +1 -0
  144. package/dist/db/migrations/20260726_000002_request_attempts.js +43 -0
  145. package/dist/db/migrations/20260726_000002_request_attempts.js.map +1 -0
  146. package/dist/db/migrations/20260726_000003_model_source_provenance.d.ts +4 -0
  147. package/dist/db/migrations/20260726_000003_model_source_provenance.d.ts.map +1 -0
  148. package/dist/db/migrations/20260726_000003_model_source_provenance.js +80 -0
  149. package/dist/db/migrations/20260726_000003_model_source_provenance.js.map +1 -0
  150. package/dist/db/migrations/20260726_000004_media_model_meta.d.ts +4 -0
  151. package/dist/db/migrations/20260726_000004_media_model_meta.d.ts.map +1 -0
  152. package/dist/db/migrations/20260726_000004_media_model_meta.js +34 -0
  153. package/dist/db/migrations/20260726_000004_media_model_meta.js.map +1 -0
  154. package/dist/db/migrations/20260726_000005_request_served_model.d.ts +4 -0
  155. package/dist/db/migrations/20260726_000005_request_served_model.d.ts.map +1 -0
  156. package/dist/db/migrations/20260726_000005_request_served_model.js +31 -0
  157. package/dist/db/migrations/20260726_000005_request_served_model.js.map +1 -0
  158. package/dist/db/migrations/20260726_000006_attempt_error_summary.d.ts +4 -0
  159. package/dist/db/migrations/20260726_000006_attempt_error_summary.d.ts.map +1 -0
  160. package/dist/db/migrations/20260726_000006_attempt_error_summary.js +29 -0
  161. package/dist/db/migrations/20260726_000006_attempt_error_summary.js.map +1 -0
  162. package/dist/db/migrations/20260727_000001_agent_compatibility.d.ts +4 -0
  163. package/dist/db/migrations/20260727_000001_agent_compatibility.d.ts.map +1 -0
  164. package/dist/db/migrations/20260727_000001_agent_compatibility.js +41 -0
  165. package/dist/db/migrations/20260727_000001_agent_compatibility.js.map +1 -0
  166. package/dist/db/migrations/20260728_000001_tombstone_provenance.d.ts +12 -0
  167. package/dist/db/migrations/20260728_000001_tombstone_provenance.d.ts.map +1 -0
  168. package/dist/db/migrations/20260728_000001_tombstone_provenance.js +37 -0
  169. package/dist/db/migrations/20260728_000001_tombstone_provenance.js.map +1 -0
  170. package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.d.ts +4 -0
  171. package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.d.ts.map +1 -0
  172. package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.js +145 -0
  173. package/dist/db/migrations/20260729_000001_custom_model_endpoint_identity.js.map +1 -0
  174. package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.d.ts +6 -0
  175. package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.d.ts.map +1 -0
  176. package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.js +52 -0
  177. package/dist/db/migrations/20260802_000001_custom_endpoint_host_labels.js.map +1 -0
  178. package/dist/db/migrations/20260805_000001_key_model_scope.d.ts +6 -0
  179. package/dist/db/migrations/20260805_000001_key_model_scope.d.ts.map +1 -0
  180. package/dist/db/migrations/20260805_000001_key_model_scope.js +17 -0
  181. package/dist/db/migrations/20260805_000001_key_model_scope.js.map +1 -0
  182. package/dist/db/migrations/20260805_000002_client_profiles.d.ts +4 -0
  183. package/dist/db/migrations/20260805_000002_client_profiles.d.ts.map +1 -0
  184. package/dist/db/migrations/20260805_000002_client_profiles.js +33 -0
  185. package/dist/db/migrations/20260805_000002_client_profiles.js.map +1 -0
  186. package/dist/db/migrations/20260810_000001_api_key_proxy.d.ts +4 -0
  187. package/dist/db/migrations/20260810_000001_api_key_proxy.d.ts.map +1 -0
  188. package/dist/db/migrations/20260810_000001_api_key_proxy.js +33 -0
  189. package/dist/db/migrations/20260810_000001_api_key_proxy.js.map +1 -0
  190. package/dist/db/migrations/20260819_000001_custom_model_tombstones.d.ts +4 -0
  191. package/dist/db/migrations/20260819_000001_custom_model_tombstones.d.ts.map +1 -0
  192. package/dist/db/migrations/20260819_000001_custom_model_tombstones.js +19 -0
  193. package/dist/db/migrations/20260819_000001_custom_model_tombstones.js.map +1 -0
  194. package/dist/db/migrations/20260820_000001_playground_conversations.d.ts +4 -0
  195. package/dist/db/migrations/20260820_000001_playground_conversations.d.ts.map +1 -0
  196. package/dist/db/migrations/20260820_000001_playground_conversations.js +47 -0
  197. package/dist/db/migrations/20260820_000001_playground_conversations.js.map +1 -0
  198. package/dist/db/migrations/20260823_000001_server_logs.d.ts +4 -0
  199. package/dist/db/migrations/20260823_000001_server_logs.d.ts.map +1 -0
  200. package/dist/db/migrations/20260823_000001_server_logs.js +53 -0
  201. package/dist/db/migrations/20260823_000001_server_logs.js.map +1 -0
  202. package/dist/db/migrations/20260823_000002_backups_table.d.ts +8 -0
  203. package/dist/db/migrations/20260823_000002_backups_table.d.ts.map +1 -0
  204. package/dist/db/migrations/20260823_000002_backups_table.js +22 -0
  205. package/dist/db/migrations/20260823_000002_backups_table.js.map +1 -0
  206. package/dist/db/migrations/20260823_000003_attempt_key_label.d.ts +19 -0
  207. package/dist/db/migrations/20260823_000003_attempt_key_label.d.ts.map +1 -0
  208. package/dist/db/migrations/20260823_000003_attempt_key_label.js +28 -0
  209. package/dist/db/migrations/20260823_000003_attempt_key_label.js.map +1 -0
  210. package/dist/db/migrations/20260823_000004_profile_auto_include.d.ts +14 -0
  211. package/dist/db/migrations/20260823_000004_profile_auto_include.d.ts.map +1 -0
  212. package/dist/db/migrations/20260823_000004_profile_auto_include.js +25 -0
  213. package/dist/db/migrations/20260823_000004_profile_auto_include.js.map +1 -0
  214. package/dist/db/migrations/20260901_000001_idempotency_claims.d.ts +4 -0
  215. package/dist/db/migrations/20260901_000001_idempotency_claims.d.ts.map +1 -0
  216. package/dist/db/migrations/20260901_000001_idempotency_claims.js +46 -0
  217. package/dist/db/migrations/20260901_000001_idempotency_claims.js.map +1 -0
  218. package/dist/db/migrations/20260901_000002_quota_observation_lookup.d.ts +4 -0
  219. package/dist/db/migrations/20260901_000002_quota_observation_lookup.d.ts.map +1 -0
  220. package/dist/db/migrations/20260901_000002_quota_observation_lookup.js +37 -0
  221. package/dist/db/migrations/20260901_000002_quota_observation_lookup.js.map +1 -0
  222. package/dist/db/migrations/20260901_000003_request_caller.d.ts +4 -0
  223. package/dist/db/migrations/20260901_000003_request_caller.d.ts.map +1 -0
  224. package/dist/db/migrations/20260901_000003_request_caller.js +27 -0
  225. package/dist/db/migrations/20260901_000003_request_caller.js.map +1 -0
  226. package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.d.ts +4 -0
  227. package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.d.ts.map +1 -0
  228. package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.js +35 -0
  229. package/dist/db/migrations/20260902_000001_analytics_latency_percentile_index.js.map +1 -0
  230. package/dist/db/migrations/20260903_000001_mcp_enabled_default.d.ts +4 -0
  231. package/dist/db/migrations/20260903_000001_mcp_enabled_default.d.ts.map +1 -0
  232. package/dist/db/migrations/20260903_000001_mcp_enabled_default.js +37 -0
  233. package/dist/db/migrations/20260903_000001_mcp_enabled_default.js.map +1 -0
  234. package/dist/db/migrations/20260903_000002_response_cache.d.ts +4 -0
  235. package/dist/db/migrations/20260903_000002_response_cache.d.ts.map +1 -0
  236. package/dist/db/migrations/20260903_000002_response_cache.js +53 -0
  237. package/dist/db/migrations/20260903_000002_response_cache.js.map +1 -0
  238. package/dist/db/migrations/20260904_000001_key_monthly_budget.d.ts +13 -0
  239. package/dist/db/migrations/20260904_000001_key_monthly_budget.d.ts.map +1 -0
  240. package/dist/db/migrations/20260904_000001_key_monthly_budget.js +35 -0
  241. package/dist/db/migrations/20260904_000001_key_monthly_budget.js.map +1 -0
  242. package/dist/db/migrations/20260913_000001_request_model_attribution.d.ts +4 -0
  243. package/dist/db/migrations/20260913_000001_request_model_attribution.d.ts.map +1 -0
  244. package/dist/db/migrations/20260913_000001_request_model_attribution.js +68 -0
  245. package/dist/db/migrations/20260913_000001_request_model_attribution.js.map +1 -0
  246. package/dist/db/migrations/20260914_000001_key_monthly_usage.d.ts +5 -0
  247. package/dist/db/migrations/20260914_000001_key_monthly_usage.d.ts.map +1 -0
  248. package/dist/db/migrations/20260914_000001_key_monthly_usage.js +37 -0
  249. package/dist/db/migrations/20260914_000001_key_monthly_usage.js.map +1 -0
  250. package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.d.ts +4 -0
  251. package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.d.ts.map +1 -0
  252. package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.js +28 -0
  253. package/dist/db/migrations/20260915_000001_quota_snapshot_freshness.js.map +1 -0
  254. package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.d.ts +4 -0
  255. package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.d.ts.map +1 -0
  256. package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.js +25 -0
  257. package/dist/db/migrations/20261004_000001_unified_key_sr_prefix.js.map +1 -0
  258. package/dist/db/migrations/20261005_000001_key_budget_period.d.ts +10 -0
  259. package/dist/db/migrations/20261005_000001_key_budget_period.d.ts.map +1 -0
  260. package/dist/db/migrations/20261005_000001_key_budget_period.js +78 -0
  261. package/dist/db/migrations/20261005_000001_key_budget_period.js.map +1 -0
  262. package/dist/db/migrations/20261005_000002_key_budget_period_auto.d.ts +21 -0
  263. package/dist/db/migrations/20261005_000002_key_budget_period_auto.d.ts.map +1 -0
  264. package/dist/db/migrations/20261005_000002_key_budget_period_auto.js +41 -0
  265. package/dist/db/migrations/20261005_000002_key_budget_period_auto.js.map +1 -0
  266. package/dist/db/model-pricing.d.ts +39 -0
  267. package/dist/db/model-pricing.d.ts.map +1 -0
  268. package/dist/db/model-pricing.js +274 -0
  269. package/dist/db/model-pricing.js.map +1 -0
  270. package/dist/db/node-sqlite.d.ts +9 -0
  271. package/dist/db/node-sqlite.d.ts.map +1 -0
  272. package/dist/db/node-sqlite.js +87 -0
  273. package/dist/db/node-sqlite.js.map +1 -0
  274. package/dist/db/types.d.ts +22 -0
  275. package/dist/db/types.d.ts.map +1 -0
  276. package/dist/db/types.js +2 -0
  277. package/dist/db/types.js.map +1 -0
  278. package/dist/docs/docs-page.d.ts +2 -0
  279. package/dist/docs/docs-page.d.ts.map +1 -0
  280. package/dist/docs/docs-page.js +319 -0
  281. package/dist/docs/docs-page.js.map +1 -0
  282. package/dist/docs/openapi.d.ts +1896 -0
  283. package/dist/docs/openapi.d.ts.map +1 -0
  284. package/dist/docs/openapi.js +1096 -0
  285. package/dist/docs/openapi.js.map +1 -0
  286. package/dist/env.d.ts +2 -0
  287. package/dist/env.d.ts.map +1 -0
  288. package/dist/env.js +9 -0
  289. package/dist/env.js.map +1 -0
  290. package/dist/index.d.ts +2 -0
  291. package/dist/index.d.ts.map +1 -0
  292. package/dist/index.js +144 -0
  293. package/dist/index.js.map +1 -0
  294. package/dist/lib/anthropic-documents.d.ts +41 -0
  295. package/dist/lib/anthropic-documents.d.ts.map +1 -0
  296. package/dist/lib/anthropic-documents.js +132 -0
  297. package/dist/lib/anthropic-documents.js.map +1 -0
  298. package/dist/lib/app-version.d.ts +5 -0
  299. package/dist/lib/app-version.d.ts.map +1 -0
  300. package/dist/lib/app-version.js +61 -0
  301. package/dist/lib/app-version.js.map +1 -0
  302. package/dist/lib/attempt-trace.d.ts +23 -0
  303. package/dist/lib/attempt-trace.d.ts.map +1 -0
  304. package/dist/lib/attempt-trace.js +32 -0
  305. package/dist/lib/attempt-trace.js.map +1 -0
  306. package/dist/lib/budget.d.ts +6 -0
  307. package/dist/lib/budget.d.ts.map +1 -0
  308. package/dist/lib/budget.js +40 -0
  309. package/dist/lib/budget.js.map +1 -0
  310. package/dist/lib/client-classifier.d.ts +10 -0
  311. package/dist/lib/client-classifier.d.ts.map +1 -0
  312. package/dist/lib/client-classifier.js +126 -0
  313. package/dist/lib/client-classifier.js.map +1 -0
  314. package/dist/lib/client-context.d.ts +10 -0
  315. package/dist/lib/client-context.d.ts.map +1 -0
  316. package/dist/lib/client-context.js +39 -0
  317. package/dist/lib/client-context.js.map +1 -0
  318. package/dist/lib/config.d.ts +33 -0
  319. package/dist/lib/config.d.ts.map +1 -0
  320. package/dist/lib/config.js +94 -0
  321. package/dist/lib/config.js.map +1 -0
  322. package/dist/lib/content.d.ts +33 -0
  323. package/dist/lib/content.d.ts.map +1 -0
  324. package/dist/lib/content.js +201 -0
  325. package/dist/lib/content.js.map +1 -0
  326. package/dist/lib/credential.d.ts +11 -0
  327. package/dist/lib/credential.d.ts.map +1 -0
  328. package/dist/lib/credential.js +18 -0
  329. package/dist/lib/credential.js.map +1 -0
  330. package/dist/lib/crypto.d.ts +31 -0
  331. package/dist/lib/crypto.d.ts.map +1 -0
  332. package/dist/lib/crypto.js +206 -0
  333. package/dist/lib/crypto.js.map +1 -0
  334. package/dist/lib/custom-provider-cleanup.d.ts +13 -0
  335. package/dist/lib/custom-provider-cleanup.d.ts.map +1 -0
  336. package/dist/lib/custom-provider-cleanup.js +43 -0
  337. package/dist/lib/custom-provider-cleanup.js.map +1 -0
  338. package/dist/lib/db-backup.d.ts +31 -0
  339. package/dist/lib/db-backup.d.ts.map +1 -0
  340. package/dist/lib/db-backup.js +255 -0
  341. package/dist/lib/db-backup.js.map +1 -0
  342. package/dist/lib/endpoint-scope.d.ts +42 -0
  343. package/dist/lib/endpoint-scope.d.ts.map +1 -0
  344. package/dist/lib/endpoint-scope.js +95 -0
  345. package/dist/lib/endpoint-scope.js.map +1 -0
  346. package/dist/lib/env-drift.d.ts +17 -0
  347. package/dist/lib/env-drift.d.ts.map +1 -0
  348. package/dist/lib/env-drift.js +108 -0
  349. package/dist/lib/env-drift.js.map +1 -0
  350. package/dist/lib/error-classify.d.ts +40 -0
  351. package/dist/lib/error-classify.d.ts.map +1 -0
  352. package/dist/lib/error-classify.js +687 -0
  353. package/dist/lib/error-classify.js.map +1 -0
  354. package/dist/lib/error-redaction.d.ts +8 -0
  355. package/dist/lib/error-redaction.d.ts.map +1 -0
  356. package/dist/lib/error-redaction.js +45 -0
  357. package/dist/lib/error-redaction.js.map +1 -0
  358. package/dist/lib/fallback-loop.d.ts +306 -0
  359. package/dist/lib/fallback-loop.d.ts.map +1 -0
  360. package/dist/lib/fallback-loop.js +1336 -0
  361. package/dist/lib/fallback-loop.js.map +1 -0
  362. package/dist/lib/file-permissions.d.ts +98 -0
  363. package/dist/lib/file-permissions.d.ts.map +1 -0
  364. package/dist/lib/file-permissions.js +159 -0
  365. package/dist/lib/file-permissions.js.map +1 -0
  366. package/dist/lib/gemini-wire.d.ts +76 -0
  367. package/dist/lib/gemini-wire.d.ts.map +1 -0
  368. package/dist/lib/gemini-wire.js +392 -0
  369. package/dist/lib/gemini-wire.js.map +1 -0
  370. package/dist/lib/guardrails.d.ts +37 -0
  371. package/dist/lib/guardrails.d.ts.map +1 -0
  372. package/dist/lib/guardrails.js +106 -0
  373. package/dist/lib/guardrails.js.map +1 -0
  374. package/dist/lib/header-value.d.ts +8 -0
  375. package/dist/lib/header-value.d.ts.map +1 -0
  376. package/dist/lib/header-value.js +55 -0
  377. package/dist/lib/header-value.js.map +1 -0
  378. package/dist/lib/image-normalize.d.ts +21 -0
  379. package/dist/lib/image-normalize.d.ts.map +1 -0
  380. package/dist/lib/image-normalize.js +218 -0
  381. package/dist/lib/image-normalize.js.map +1 -0
  382. package/dist/lib/inbound-chat.d.ts +48 -0
  383. package/dist/lib/inbound-chat.d.ts.map +1 -0
  384. package/dist/lib/inbound-chat.js +406 -0
  385. package/dist/lib/inbound-chat.js.map +1 -0
  386. package/dist/lib/key-parser.d.ts +79 -0
  387. package/dist/lib/key-parser.d.ts.map +1 -0
  388. package/dist/lib/key-parser.js +701 -0
  389. package/dist/lib/key-parser.js.map +1 -0
  390. package/dist/lib/key-proxy.d.ts +49 -0
  391. package/dist/lib/key-proxy.d.ts.map +1 -0
  392. package/dist/lib/key-proxy.js +92 -0
  393. package/dist/lib/key-proxy.js.map +1 -0
  394. package/dist/lib/log-redaction.d.ts +28 -0
  395. package/dist/lib/log-redaction.d.ts.map +1 -0
  396. package/dist/lib/log-redaction.js +166 -0
  397. package/dist/lib/log-redaction.js.map +1 -0
  398. package/dist/lib/model-scope.d.ts +9 -0
  399. package/dist/lib/model-scope.d.ts.map +1 -0
  400. package/dist/lib/model-scope.js +29 -0
  401. package/dist/lib/model-scope.js.map +1 -0
  402. package/dist/lib/one-time-code.d.ts +15 -0
  403. package/dist/lib/one-time-code.d.ts.map +1 -0
  404. package/dist/lib/one-time-code.js +41 -0
  405. package/dist/lib/one-time-code.js.map +1 -0
  406. package/dist/lib/output-cap.d.ts +24 -0
  407. package/dist/lib/output-cap.d.ts.map +1 -0
  408. package/dist/lib/output-cap.js +80 -0
  409. package/dist/lib/output-cap.js.map +1 -0
  410. package/dist/lib/password.d.ts +3 -0
  411. package/dist/lib/password.d.ts.map +1 -0
  412. package/dist/lib/password.js +27 -0
  413. package/dist/lib/password.js.map +1 -0
  414. package/dist/lib/process-safety-net.d.ts +32 -0
  415. package/dist/lib/process-safety-net.d.ts.map +1 -0
  416. package/dist/lib/process-safety-net.js +123 -0
  417. package/dist/lib/process-safety-net.js.map +1 -0
  418. package/dist/lib/provider-identity.d.ts +37 -0
  419. package/dist/lib/provider-identity.d.ts.map +1 -0
  420. package/dist/lib/provider-identity.js +110 -0
  421. package/dist/lib/provider-identity.js.map +1 -0
  422. package/dist/lib/provider-size-parser.d.ts +6 -0
  423. package/dist/lib/provider-size-parser.d.ts.map +1 -0
  424. package/dist/lib/provider-size-parser.js +72 -0
  425. package/dist/lib/provider-size-parser.js.map +1 -0
  426. package/dist/lib/provider-timeout.d.ts +17 -0
  427. package/dist/lib/provider-timeout.d.ts.map +1 -0
  428. package/dist/lib/provider-timeout.js +70 -0
  429. package/dist/lib/provider-timeout.js.map +1 -0
  430. package/dist/lib/proxy.d.ts +180 -0
  431. package/dist/lib/proxy.d.ts.map +1 -0
  432. package/dist/lib/proxy.js +1002 -0
  433. package/dist/lib/proxy.js.map +1 -0
  434. package/dist/lib/request-log.d.ts +4 -0
  435. package/dist/lib/request-log.d.ts.map +1 -0
  436. package/dist/lib/request-log.js +161 -0
  437. package/dist/lib/request-log.js.map +1 -0
  438. package/dist/lib/reset-code.d.ts +5 -0
  439. package/dist/lib/reset-code.d.ts.map +1 -0
  440. package/dist/lib/reset-code.js +39 -0
  441. package/dist/lib/reset-code.js.map +1 -0
  442. package/dist/lib/retry-hint.d.ts +14 -0
  443. package/dist/lib/retry-hint.d.ts.map +1 -0
  444. package/dist/lib/retry-hint.js +36 -0
  445. package/dist/lib/retry-hint.js.map +1 -0
  446. package/dist/lib/route-live.d.ts +29 -0
  447. package/dist/lib/route-live.d.ts.map +1 -0
  448. package/dist/lib/route-live.js +97 -0
  449. package/dist/lib/route-live.js.map +1 -0
  450. package/dist/lib/sampling-params.d.ts +183 -0
  451. package/dist/lib/sampling-params.d.ts.map +1 -0
  452. package/dist/lib/sampling-params.js +386 -0
  453. package/dist/lib/sampling-params.js.map +1 -0
  454. package/dist/lib/scheduler.d.ts +13 -0
  455. package/dist/lib/scheduler.d.ts.map +1 -0
  456. package/dist/lib/scheduler.js +11 -0
  457. package/dist/lib/scheduler.js.map +1 -0
  458. package/dist/lib/served-model.d.ts +16 -0
  459. package/dist/lib/served-model.d.ts.map +1 -0
  460. package/dist/lib/served-model.js +0 -0
  461. package/dist/lib/served-model.js.map +1 -0
  462. package/dist/lib/server-logs.d.ts +132 -0
  463. package/dist/lib/server-logs.d.ts.map +1 -0
  464. package/dist/lib/server-logs.js +473 -0
  465. package/dist/lib/server-logs.js.map +1 -0
  466. package/dist/lib/setup-code.d.ts +5 -0
  467. package/dist/lib/setup-code.d.ts.map +1 -0
  468. package/dist/lib/setup-code.js +35 -0
  469. package/dist/lib/setup-code.js.map +1 -0
  470. package/dist/lib/structured-output.d.ts +9 -0
  471. package/dist/lib/structured-output.d.ts.map +1 -0
  472. package/dist/lib/structured-output.js +72 -0
  473. package/dist/lib/structured-output.js.map +1 -0
  474. package/dist/lib/system-prompt.d.ts +30 -0
  475. package/dist/lib/system-prompt.d.ts.map +1 -0
  476. package/dist/lib/system-prompt.js +66 -0
  477. package/dist/lib/system-prompt.js.map +1 -0
  478. package/dist/lib/task-type.d.ts +18 -0
  479. package/dist/lib/task-type.d.ts.map +1 -0
  480. package/dist/lib/task-type.js +92 -0
  481. package/dist/lib/task-type.js.map +1 -0
  482. package/dist/lib/think-tags.d.ts +37 -0
  483. package/dist/lib/think-tags.d.ts.map +1 -0
  484. package/dist/lib/think-tags.js +203 -0
  485. package/dist/lib/think-tags.js.map +1 -0
  486. package/dist/lib/tool-args.d.ts +36 -0
  487. package/dist/lib/tool-args.d.ts.map +1 -0
  488. package/dist/lib/tool-args.js +190 -0
  489. package/dist/lib/tool-args.js.map +1 -0
  490. package/dist/lib/tool-call-rescue.d.ts +62 -0
  491. package/dist/lib/tool-call-rescue.d.ts.map +1 -0
  492. package/dist/lib/tool-call-rescue.js +258 -0
  493. package/dist/lib/tool-call-rescue.js.map +1 -0
  494. package/dist/lib/tool-capability.d.ts +13 -0
  495. package/dist/lib/tool-capability.d.ts.map +1 -0
  496. package/dist/lib/tool-capability.js +70 -0
  497. package/dist/lib/tool-capability.js.map +1 -0
  498. package/dist/lib/tool-validate.d.ts +44 -0
  499. package/dist/lib/tool-validate.d.ts.map +1 -0
  500. package/dist/lib/tool-validate.js +165 -0
  501. package/dist/lib/tool-validate.js.map +1 -0
  502. package/dist/lib/ttfb-budget.d.ts +13 -0
  503. package/dist/lib/ttfb-budget.d.ts.map +1 -0
  504. package/dist/lib/ttfb-budget.js +153 -0
  505. package/dist/lib/ttfb-budget.js.map +1 -0
  506. package/dist/lib/url-guard.d.ts +47 -0
  507. package/dist/lib/url-guard.d.ts.map +1 -0
  508. package/dist/lib/url-guard.js +229 -0
  509. package/dist/lib/url-guard.js.map +1 -0
  510. package/dist/lib/wake-detect.d.ts +12 -0
  511. package/dist/lib/wake-detect.d.ts.map +1 -0
  512. package/dist/lib/wake-detect.js +99 -0
  513. package/dist/lib/wake-detect.js.map +1 -0
  514. package/dist/middleware/errorHandler.d.ts +3 -0
  515. package/dist/middleware/errorHandler.d.ts.map +1 -0
  516. package/dist/middleware/errorHandler.js +45 -0
  517. package/dist/middleware/errorHandler.js.map +1 -0
  518. package/dist/middleware/rateLimit.d.ts +4 -0
  519. package/dist/middleware/rateLimit.d.ts.map +1 -0
  520. package/dist/middleware/rateLimit.js +125 -0
  521. package/dist/middleware/rateLimit.js.map +1 -0
  522. package/dist/middleware/requireAuth.d.ts +3 -0
  523. package/dist/middleware/requireAuth.d.ts.map +1 -0
  524. package/dist/middleware/requireAuth.js +17 -0
  525. package/dist/middleware/requireAuth.js.map +1 -0
  526. package/dist/providers/aclide.d.ts +18 -0
  527. package/dist/providers/aclide.d.ts.map +1 -0
  528. package/dist/providers/aclide.js +174 -0
  529. package/dist/providers/aclide.js.map +1 -0
  530. package/dist/providers/aihorde.d.ts +42 -0
  531. package/dist/providers/aihorde.d.ts.map +1 -0
  532. package/dist/providers/aihorde.js +192 -0
  533. package/dist/providers/aihorde.js.map +1 -0
  534. package/dist/providers/airforce.d.ts +11 -0
  535. package/dist/providers/airforce.d.ts.map +1 -0
  536. package/dist/providers/airforce.js +32 -0
  537. package/dist/providers/airforce.js.map +1 -0
  538. package/dist/providers/base.d.ts +177 -0
  539. package/dist/providers/base.d.ts.map +1 -0
  540. package/dist/providers/base.js +354 -0
  541. package/dist/providers/base.js.map +1 -0
  542. package/dist/providers/blaze.d.ts +11 -0
  543. package/dist/providers/blaze.d.ts.map +1 -0
  544. package/dist/providers/blaze.js +33 -0
  545. package/dist/providers/blaze.js.map +1 -0
  546. package/dist/providers/blockrun.d.ts +14 -0
  547. package/dist/providers/blockrun.d.ts.map +1 -0
  548. package/dist/providers/blockrun.js +36 -0
  549. package/dist/providers/blockrun.js.map +1 -0
  550. package/dist/providers/clod.d.ts +11 -0
  551. package/dist/providers/clod.d.ts.map +1 -0
  552. package/dist/providers/clod.js +39 -0
  553. package/dist/providers/clod.js.map +1 -0
  554. package/dist/providers/cloudflare.d.ts +15 -0
  555. package/dist/providers/cloudflare.d.ts.map +1 -0
  556. package/dist/providers/cloudflare.js +175 -0
  557. package/dist/providers/cloudflare.js.map +1 -0
  558. package/dist/providers/cohere.d.ts +11 -0
  559. package/dist/providers/cohere.d.ts.map +1 -0
  560. package/dist/providers/cohere.js +117 -0
  561. package/dist/providers/cohere.js.map +1 -0
  562. package/dist/providers/dreamprompting.d.ts +11 -0
  563. package/dist/providers/dreamprompting.d.ts.map +1 -0
  564. package/dist/providers/dreamprompting.js +41 -0
  565. package/dist/providers/dreamprompting.js.map +1 -0
  566. package/dist/providers/electronhub.d.ts +10 -0
  567. package/dist/providers/electronhub.d.ts.map +1 -0
  568. package/dist/providers/electronhub.js +56 -0
  569. package/dist/providers/electronhub.js.map +1 -0
  570. package/dist/providers/experiential.d.ts +10 -0
  571. package/dist/providers/experiential.d.ts.map +1 -0
  572. package/dist/providers/experiential.js +33 -0
  573. package/dist/providers/experiential.js.map +1 -0
  574. package/dist/providers/gizmo.d.ts +15 -0
  575. package/dist/providers/gizmo.d.ts.map +1 -0
  576. package/dist/providers/gizmo.js +54 -0
  577. package/dist/providers/gizmo.js.map +1 -0
  578. package/dist/providers/google.d.ts +30 -0
  579. package/dist/providers/google.d.ts.map +1 -0
  580. package/dist/providers/google.js +766 -0
  581. package/dist/providers/google.js.map +1 -0
  582. package/dist/providers/index.d.ts +13 -0
  583. package/dist/providers/index.d.ts.map +1 -0
  584. package/dist/providers/index.js +561 -0
  585. package/dist/providers/index.js.map +1 -0
  586. package/dist/providers/llmtr.d.ts +15 -0
  587. package/dist/providers/llmtr.d.ts.map +1 -0
  588. package/dist/providers/llmtr.js +51 -0
  589. package/dist/providers/llmtr.js.map +1 -0
  590. package/dist/providers/logfare.d.ts +11 -0
  591. package/dist/providers/logfare.d.ts.map +1 -0
  592. package/dist/providers/logfare.js +33 -0
  593. package/dist/providers/logfare.js.map +1 -0
  594. package/dist/providers/lucidity.d.ts +11 -0
  595. package/dist/providers/lucidity.d.ts.map +1 -0
  596. package/dist/providers/lucidity.js +37 -0
  597. package/dist/providers/lucidity.js.map +1 -0
  598. package/dist/providers/modelscope.d.ts +50 -0
  599. package/dist/providers/modelscope.d.ts.map +1 -0
  600. package/dist/providers/modelscope.js +143 -0
  601. package/dist/providers/modelscope.js.map +1 -0
  602. package/dist/providers/moondream.d.ts +17 -0
  603. package/dist/providers/moondream.d.ts.map +1 -0
  604. package/dist/providers/moondream.js +140 -0
  605. package/dist/providers/moondream.js.map +1 -0
  606. package/dist/providers/openai-compat.d.ts +140 -0
  607. package/dist/providers/openai-compat.d.ts.map +1 -0
  608. package/dist/providers/openai-compat.js +537 -0
  609. package/dist/providers/openai-compat.js.map +1 -0
  610. package/dist/providers/opencode-free.d.ts +24 -0
  611. package/dist/providers/opencode-free.d.ts.map +1 -0
  612. package/dist/providers/opencode-free.js +262 -0
  613. package/dist/providers/opencode-free.js.map +1 -0
  614. package/dist/providers/pollinations.d.ts +32 -0
  615. package/dist/providers/pollinations.d.ts.map +1 -0
  616. package/dist/providers/pollinations.js +65 -0
  617. package/dist/providers/pollinations.js.map +1 -0
  618. package/dist/providers/router9.d.ts +16 -0
  619. package/dist/providers/router9.d.ts.map +1 -0
  620. package/dist/providers/router9.js +42 -0
  621. package/dist/providers/router9.js.map +1 -0
  622. package/dist/providers/sail.d.ts +44 -0
  623. package/dist/providers/sail.d.ts.map +1 -0
  624. package/dist/providers/sail.js +302 -0
  625. package/dist/providers/sail.js.map +1 -0
  626. package/dist/providers/septor.d.ts +10 -0
  627. package/dist/providers/septor.d.ts.map +1 -0
  628. package/dist/providers/septor.js +36 -0
  629. package/dist/providers/septor.js.map +1 -0
  630. package/dist/providers/speechify.d.ts +14 -0
  631. package/dist/providers/speechify.d.ts.map +1 -0
  632. package/dist/providers/speechify.js +28 -0
  633. package/dist/providers/speechify.js.map +1 -0
  634. package/dist/providers/speka.d.ts +12 -0
  635. package/dist/providers/speka.d.ts.map +1 -0
  636. package/dist/providers/speka.js +37 -0
  637. package/dist/providers/speka.js.map +1 -0
  638. package/dist/providers/waterfall.d.ts +11 -0
  639. package/dist/providers/waterfall.d.ts.map +1 -0
  640. package/dist/providers/waterfall.js +33 -0
  641. package/dist/providers/waterfall.js.map +1 -0
  642. package/dist/providers/xkiro.d.ts +71 -0
  643. package/dist/providers/xkiro.d.ts.map +1 -0
  644. package/dist/providers/xkiro.js +119 -0
  645. package/dist/providers/xkiro.js.map +1 -0
  646. package/dist/providers/zhipu.d.ts +43 -0
  647. package/dist/providers/zhipu.d.ts.map +1 -0
  648. package/dist/providers/zhipu.js +95 -0
  649. package/dist/providers/zhipu.js.map +1 -0
  650. package/dist/routes/analytics.d.ts +2 -0
  651. package/dist/routes/analytics.d.ts.map +1 -0
  652. package/dist/routes/analytics.js +738 -0
  653. package/dist/routes/analytics.js.map +1 -0
  654. package/dist/routes/anthropic.d.ts +7 -0
  655. package/dist/routes/anthropic.d.ts.map +1 -0
  656. package/dist/routes/anthropic.js +1076 -0
  657. package/dist/routes/anthropic.js.map +1 -0
  658. package/dist/routes/auth.d.ts +2 -0
  659. package/dist/routes/auth.d.ts.map +1 -0
  660. package/dist/routes/auth.js +310 -0
  661. package/dist/routes/auth.js.map +1 -0
  662. package/dist/routes/backups.d.ts +2 -0
  663. package/dist/routes/backups.d.ts.map +1 -0
  664. package/dist/routes/backups.js +127 -0
  665. package/dist/routes/backups.js.map +1 -0
  666. package/dist/routes/cache.d.ts +2 -0
  667. package/dist/routes/cache.d.ts.map +1 -0
  668. package/dist/routes/cache.js +40 -0
  669. package/dist/routes/cache.js.map +1 -0
  670. package/dist/routes/client-profiles.d.ts +2 -0
  671. package/dist/routes/client-profiles.d.ts.map +1 -0
  672. package/dist/routes/client-profiles.js +128 -0
  673. package/dist/routes/client-profiles.js.map +1 -0
  674. package/dist/routes/compression.d.ts +2 -0
  675. package/dist/routes/compression.d.ts.map +1 -0
  676. package/dist/routes/compression.js +82 -0
  677. package/dist/routes/compression.js.map +1 -0
  678. package/dist/routes/conversations.d.ts +3 -0
  679. package/dist/routes/conversations.d.ts.map +1 -0
  680. package/dist/routes/conversations.js +215 -0
  681. package/dist/routes/conversations.js.map +1 -0
  682. package/dist/routes/docs.d.ts +2 -0
  683. package/dist/routes/docs.d.ts.map +1 -0
  684. package/dist/routes/docs.js +21 -0
  685. package/dist/routes/docs.js.map +1 -0
  686. package/dist/routes/embeddings.d.ts +2 -0
  687. package/dist/routes/embeddings.d.ts.map +1 -0
  688. package/dist/routes/embeddings.js +255 -0
  689. package/dist/routes/embeddings.js.map +1 -0
  690. package/dist/routes/fallback.d.ts +2 -0
  691. package/dist/routes/fallback.d.ts.map +1 -0
  692. package/dist/routes/fallback.js +631 -0
  693. package/dist/routes/fallback.js.map +1 -0
  694. package/dist/routes/free-tier.d.ts +22 -0
  695. package/dist/routes/free-tier.d.ts.map +1 -0
  696. package/dist/routes/free-tier.js +175 -0
  697. package/dist/routes/free-tier.js.map +1 -0
  698. package/dist/routes/gemini.d.ts +2 -0
  699. package/dist/routes/gemini.d.ts.map +1 -0
  700. package/dist/routes/gemini.js +218 -0
  701. package/dist/routes/gemini.js.map +1 -0
  702. package/dist/routes/health.d.ts +2 -0
  703. package/dist/routes/health.d.ts.map +1 -0
  704. package/dist/routes/health.js +72 -0
  705. package/dist/routes/health.js.map +1 -0
  706. package/dist/routes/keys.d.ts +17 -0
  707. package/dist/routes/keys.d.ts.map +1 -0
  708. package/dist/routes/keys.js +1787 -0
  709. package/dist/routes/keys.js.map +1 -0
  710. package/dist/routes/logs.d.ts +2 -0
  711. package/dist/routes/logs.d.ts.map +1 -0
  712. package/dist/routes/logs.js +88 -0
  713. package/dist/routes/logs.js.map +1 -0
  714. package/dist/routes/mcp.d.ts +4 -0
  715. package/dist/routes/mcp.d.ts.map +1 -0
  716. package/dist/routes/mcp.js +563 -0
  717. package/dist/routes/mcp.js.map +1 -0
  718. package/dist/routes/media.d.ts +2 -0
  719. package/dist/routes/media.d.ts.map +1 -0
  720. package/dist/routes/media.js +180 -0
  721. package/dist/routes/media.js.map +1 -0
  722. package/dist/routes/models.d.ts +2 -0
  723. package/dist/routes/models.d.ts.map +1 -0
  724. package/dist/routes/models.js +439 -0
  725. package/dist/routes/models.js.map +1 -0
  726. package/dist/routes/ollama.d.ts +7 -0
  727. package/dist/routes/ollama.d.ts.map +1 -0
  728. package/dist/routes/ollama.js +595 -0
  729. package/dist/routes/ollama.js.map +1 -0
  730. package/dist/routes/profiles.d.ts +3 -0
  731. package/dist/routes/profiles.d.ts.map +1 -0
  732. package/dist/routes/profiles.js +431 -0
  733. package/dist/routes/profiles.js.map +1 -0
  734. package/dist/routes/proxy.d.ts +32 -0
  735. package/dist/routes/proxy.d.ts.map +1 -0
  736. package/dist/routes/proxy.js +2793 -0
  737. package/dist/routes/proxy.js.map +1 -0
  738. package/dist/routes/responses.d.ts +1161 -0
  739. package/dist/routes/responses.d.ts.map +1 -0
  740. package/dist/routes/responses.js +1521 -0
  741. package/dist/routes/responses.js.map +1 -0
  742. package/dist/routes/settings.d.ts +2 -0
  743. package/dist/routes/settings.d.ts.map +1 -0
  744. package/dist/routes/settings.js +549 -0
  745. package/dist/routes/settings.js.map +1 -0
  746. package/dist/routes/status.d.ts +3 -0
  747. package/dist/routes/status.d.ts.map +1 -0
  748. package/dist/routes/status.js +214 -0
  749. package/dist/routes/status.js.map +1 -0
  750. package/dist/routes/update.d.ts +31 -0
  751. package/dist/routes/update.d.ts.map +1 -0
  752. package/dist/routes/update.js +536 -0
  753. package/dist/routes/update.js.map +1 -0
  754. package/dist/routes/url-tokens.d.ts +2 -0
  755. package/dist/routes/url-tokens.d.ts.map +1 -0
  756. package/dist/routes/url-tokens.js +31 -0
  757. package/dist/routes/url-tokens.js.map +1 -0
  758. package/dist/scripts/export-catalog.d.ts +2 -0
  759. package/dist/scripts/export-catalog.d.ts.map +1 -0
  760. package/dist/scripts/export-catalog.js +114 -0
  761. package/dist/scripts/export-catalog.js.map +1 -0
  762. package/dist/scripts/rotate-encryption-key.d.ts +81 -0
  763. package/dist/scripts/rotate-encryption-key.d.ts.map +1 -0
  764. package/dist/scripts/rotate-encryption-key.js +232 -0
  765. package/dist/scripts/rotate-encryption-key.js.map +1 -0
  766. package/dist/scripts/routing-sim.d.ts +2 -0
  767. package/dist/scripts/routing-sim.d.ts.map +1 -0
  768. package/dist/scripts/routing-sim.js +130 -0
  769. package/dist/scripts/routing-sim.js.map +1 -0
  770. package/dist/scripts/test-all-models.d.ts +2 -0
  771. package/dist/scripts/test-all-models.d.ts.map +1 -0
  772. package/dist/scripts/test-all-models.js +56 -0
  773. package/dist/scripts/test-all-models.js.map +1 -0
  774. package/dist/services/anthropic-map.d.ts +39 -0
  775. package/dist/services/anthropic-map.d.ts.map +1 -0
  776. package/dist/services/anthropic-map.js +138 -0
  777. package/dist/services/anthropic-map.js.map +1 -0
  778. package/dist/services/auth.d.ts +30 -0
  779. package/dist/services/auth.d.ts.map +1 -0
  780. package/dist/services/auth.js +124 -0
  781. package/dist/services/auth.js.map +1 -0
  782. package/dist/services/auto-discover.d.ts +77 -0
  783. package/dist/services/auto-discover.d.ts.map +1 -0
  784. package/dist/services/auto-discover.js +1047 -0
  785. package/dist/services/auto-discover.js.map +1 -0
  786. package/dist/services/backups.d.ts +67 -0
  787. package/dist/services/backups.d.ts.map +1 -0
  788. package/dist/services/backups.js +444 -0
  789. package/dist/services/backups.js.map +1 -0
  790. package/dist/services/builtin-model-discovery.d.ts +107 -0
  791. package/dist/services/builtin-model-discovery.d.ts.map +1 -0
  792. package/dist/services/builtin-model-discovery.js +296 -0
  793. package/dist/services/builtin-model-discovery.js.map +1 -0
  794. package/dist/services/cache.d.ts +190 -0
  795. package/dist/services/cache.d.ts.map +1 -0
  796. package/dist/services/cache.js +617 -0
  797. package/dist/services/cache.js.map +1 -0
  798. package/dist/services/catalog-sync.d.ts +257 -0
  799. package/dist/services/catalog-sync.d.ts.map +1 -0
  800. package/dist/services/catalog-sync.js +1041 -0
  801. package/dist/services/catalog-sync.js.map +1 -0
  802. package/dist/services/compression/config.d.ts +33 -0
  803. package/dist/services/compression/config.d.ts.map +1 -0
  804. package/dist/services/compression/config.js +158 -0
  805. package/dist/services/compression/config.js.map +1 -0
  806. package/dist/services/compression/engines/aging.d.ts +2 -0
  807. package/dist/services/compression/engines/aging.d.ts.map +1 -0
  808. package/dist/services/compression/engines/aging.js +53 -0
  809. package/dist/services/compression/engines/aging.js.map +1 -0
  810. package/dist/services/compression/engines/custom-filters.d.ts +4 -0
  811. package/dist/services/compression/engines/custom-filters.d.ts.map +1 -0
  812. package/dist/services/compression/engines/custom-filters.js +49 -0
  813. package/dist/services/compression/engines/custom-filters.js.map +1 -0
  814. package/dist/services/compression/engines/dedup.d.ts +2 -0
  815. package/dist/services/compression/engines/dedup.d.ts.map +1 -0
  816. package/dist/services/compression/engines/dedup.js +61 -0
  817. package/dist/services/compression/engines/dedup.js.map +1 -0
  818. package/dist/services/compression/engines/filter-definitions.d.ts +75 -0
  819. package/dist/services/compression/engines/filter-definitions.d.ts.map +1 -0
  820. package/dist/services/compression/engines/filter-definitions.js +45 -0
  821. package/dist/services/compression/engines/filter-definitions.js.map +1 -0
  822. package/dist/services/compression/engines/hard-budget.d.ts +2 -0
  823. package/dist/services/compression/engines/hard-budget.d.ts.map +1 -0
  824. package/dist/services/compression/engines/hard-budget.js +52 -0
  825. package/dist/services/compression/engines/hard-budget.js.map +1 -0
  826. package/dist/services/compression/engines/index.d.ts +9 -0
  827. package/dist/services/compression/engines/index.d.ts.map +1 -0
  828. package/dist/services/compression/engines/index.js +9 -0
  829. package/dist/services/compression/engines/index.js.map +1 -0
  830. package/dist/services/compression/engines/jsoncompact.d.ts +3 -0
  831. package/dist/services/compression/engines/jsoncompact.d.ts.map +1 -0
  832. package/dist/services/compression/engines/jsoncompact.js +145 -0
  833. package/dist/services/compression/engines/jsoncompact.js.map +1 -0
  834. package/dist/services/compression/engines/lite.d.ts +2 -0
  835. package/dist/services/compression/engines/lite.d.ts.map +1 -0
  836. package/dist/services/compression/engines/lite.js +34 -0
  837. package/dist/services/compression/engines/lite.js.map +1 -0
  838. package/dist/services/compression/engines/read-lifecycle.d.ts +2 -0
  839. package/dist/services/compression/engines/read-lifecycle.d.ts.map +1 -0
  840. package/dist/services/compression/engines/read-lifecycle.js +70 -0
  841. package/dist/services/compression/engines/read-lifecycle.js.map +1 -0
  842. package/dist/services/compression/engines/relevance.d.ts +2 -0
  843. package/dist/services/compression/engines/relevance.d.ts.map +1 -0
  844. package/dist/services/compression/engines/relevance.js +74 -0
  845. package/dist/services/compression/engines/relevance.js.map +1 -0
  846. package/dist/services/compression/engines/toolfilter.d.ts +2 -0
  847. package/dist/services/compression/engines/toolfilter.d.ts.map +1 -0
  848. package/dist/services/compression/engines/toolfilter.js +195 -0
  849. package/dist/services/compression/engines/toolfilter.js.map +1 -0
  850. package/dist/services/compression/fidelity-gate.d.ts +12 -0
  851. package/dist/services/compression/fidelity-gate.d.ts.map +1 -0
  852. package/dist/services/compression/fidelity-gate.js +90 -0
  853. package/dist/services/compression/fidelity-gate.js.map +1 -0
  854. package/dist/services/compression/helpers.d.ts +9 -0
  855. package/dist/services/compression/helpers.d.ts.map +1 -0
  856. package/dist/services/compression/helpers.js +52 -0
  857. package/dist/services/compression/helpers.js.map +1 -0
  858. package/dist/services/compression/pipeline.d.ts +7 -0
  859. package/dist/services/compression/pipeline.d.ts.map +1 -0
  860. package/dist/services/compression/pipeline.js +245 -0
  861. package/dist/services/compression/pipeline.js.map +1 -0
  862. package/dist/services/compression/preservation.d.ts +27 -0
  863. package/dist/services/compression/preservation.d.ts.map +1 -0
  864. package/dist/services/compression/preservation.js +109 -0
  865. package/dist/services/compression/preservation.js.map +1 -0
  866. package/dist/services/compression/registry.d.ts +6 -0
  867. package/dist/services/compression/registry.d.ts.map +1 -0
  868. package/dist/services/compression/registry.js +16 -0
  869. package/dist/services/compression/registry.js.map +1 -0
  870. package/dist/services/compression/stats.d.ts +29 -0
  871. package/dist/services/compression/stats.d.ts.map +1 -0
  872. package/dist/services/compression/stats.js +55 -0
  873. package/dist/services/compression/stats.js.map +1 -0
  874. package/dist/services/compression/types.d.ts +90 -0
  875. package/dist/services/compression/types.d.ts.map +1 -0
  876. package/dist/services/compression/types.js +2 -0
  877. package/dist/services/compression/types.js.map +1 -0
  878. package/dist/services/context-handoff.d.ts +22 -0
  879. package/dist/services/context-handoff.d.ts.map +1 -0
  880. package/dist/services/context-handoff.js +164 -0
  881. package/dist/services/context-handoff.js.map +1 -0
  882. package/dist/services/cooldown-probe.d.ts +24 -0
  883. package/dist/services/cooldown-probe.d.ts.map +1 -0
  884. package/dist/services/cooldown-probe.js +181 -0
  885. package/dist/services/cooldown-probe.js.map +1 -0
  886. package/dist/services/custom-endpoint.d.ts +58 -0
  887. package/dist/services/custom-endpoint.d.ts.map +1 -0
  888. package/dist/services/custom-endpoint.js +167 -0
  889. package/dist/services/custom-endpoint.js.map +1 -0
  890. package/dist/services/custom-media-register.d.ts +22 -0
  891. package/dist/services/custom-media-register.d.ts.map +1 -0
  892. package/dist/services/custom-media-register.js +45 -0
  893. package/dist/services/custom-media-register.js.map +1 -0
  894. package/dist/services/custom-model-register.d.ts +50 -0
  895. package/dist/services/custom-model-register.d.ts.map +1 -0
  896. package/dist/services/custom-model-register.js +103 -0
  897. package/dist/services/custom-model-register.js.map +1 -0
  898. package/dist/services/custom-model-seed.d.ts +18 -0
  899. package/dist/services/custom-model-seed.d.ts.map +1 -0
  900. package/dist/services/custom-model-seed.js +42 -0
  901. package/dist/services/custom-model-seed.js.map +1 -0
  902. package/dist/services/custom-model-sync.d.ts +37 -0
  903. package/dist/services/custom-model-sync.d.ts.map +1 -0
  904. package/dist/services/custom-model-sync.js +118 -0
  905. package/dist/services/custom-model-sync.js.map +1 -0
  906. package/dist/services/custom-model-tombstone.d.ts +5 -0
  907. package/dist/services/custom-model-tombstone.d.ts.map +1 -0
  908. package/dist/services/custom-model-tombstone.js +30 -0
  909. package/dist/services/custom-model-tombstone.js.map +1 -0
  910. package/dist/services/declarative-config.d.ts +356 -0
  911. package/dist/services/declarative-config.d.ts.map +1 -0
  912. package/dist/services/declarative-config.js +427 -0
  913. package/dist/services/declarative-config.js.map +1 -0
  914. package/dist/services/degradation.d.ts +40 -0
  915. package/dist/services/degradation.d.ts.map +1 -0
  916. package/dist/services/degradation.js +119 -0
  917. package/dist/services/degradation.js.map +1 -0
  918. package/dist/services/embeddings.d.ts +76 -0
  919. package/dist/services/embeddings.d.ts.map +1 -0
  920. package/dist/services/embeddings.js +319 -0
  921. package/dist/services/embeddings.js.map +1 -0
  922. package/dist/services/fusion.d.ts +162 -0
  923. package/dist/services/fusion.d.ts.map +1 -0
  924. package/dist/services/fusion.js +789 -0
  925. package/dist/services/fusion.js.map +1 -0
  926. package/dist/services/gemini-map.d.ts +14 -0
  927. package/dist/services/gemini-map.d.ts.map +1 -0
  928. package/dist/services/gemini-map.js +78 -0
  929. package/dist/services/gemini-map.js.map +1 -0
  930. package/dist/services/health.d.ts +52 -0
  931. package/dist/services/health.d.ts.map +1 -0
  932. package/dist/services/health.js +352 -0
  933. package/dist/services/health.js.map +1 -0
  934. package/dist/services/idempotency.d.ts +49 -0
  935. package/dist/services/idempotency.d.ts.map +1 -0
  936. package/dist/services/idempotency.js +140 -0
  937. package/dist/services/idempotency.js.map +1 -0
  938. package/dist/services/key-budget.d.ts +74 -0
  939. package/dist/services/key-budget.d.ts.map +1 -0
  940. package/dist/services/key-budget.js +200 -0
  941. package/dist/services/key-budget.js.map +1 -0
  942. package/dist/services/media.d.ts +123 -0
  943. package/dist/services/media.d.ts.map +1 -0
  944. package/dist/services/media.js +954 -0
  945. package/dist/services/media.js.map +1 -0
  946. package/dist/services/model-discovery.d.ts +126 -0
  947. package/dist/services/model-discovery.d.ts.map +1 -0
  948. package/dist/services/model-discovery.js +662 -0
  949. package/dist/services/model-discovery.js.map +1 -0
  950. package/dist/services/model-groups.d.ts +149 -0
  951. package/dist/services/model-groups.d.ts.map +1 -0
  952. package/dist/services/model-groups.js +314 -0
  953. package/dist/services/model-groups.js.map +1 -0
  954. package/dist/services/model-listing.d.ts +18 -0
  955. package/dist/services/model-listing.d.ts.map +1 -0
  956. package/dist/services/model-listing.js +94 -0
  957. package/dist/services/model-listing.js.map +1 -0
  958. package/dist/services/model-retirement.d.ts +29 -0
  959. package/dist/services/model-retirement.d.ts.map +1 -0
  960. package/dist/services/model-retirement.js +86 -0
  961. package/dist/services/model-retirement.js.map +1 -0
  962. package/dist/services/model-state.d.ts +90 -0
  963. package/dist/services/model-state.d.ts.map +1 -0
  964. package/dist/services/model-state.js +342 -0
  965. package/dist/services/model-state.js.map +1 -0
  966. package/dist/services/model-weight-overrides.d.ts +48 -0
  967. package/dist/services/model-weight-overrides.d.ts.map +1 -0
  968. package/dist/services/model-weight-overrides.js +127 -0
  969. package/dist/services/model-weight-overrides.js.map +1 -0
  970. package/dist/services/notification-emitter.d.ts +50 -0
  971. package/dist/services/notification-emitter.d.ts.map +1 -0
  972. package/dist/services/notification-emitter.js +177 -0
  973. package/dist/services/notification-emitter.js.map +1 -0
  974. package/dist/services/opencode-free-sync.d.ts +29 -0
  975. package/dist/services/opencode-free-sync.d.ts.map +1 -0
  976. package/dist/services/opencode-free-sync.js +206 -0
  977. package/dist/services/opencode-free-sync.js.map +1 -0
  978. package/dist/services/penalty-inspector.d.ts +56 -0
  979. package/dist/services/penalty-inspector.d.ts.map +1 -0
  980. package/dist/services/penalty-inspector.js +167 -0
  981. package/dist/services/penalty-inspector.js.map +1 -0
  982. package/dist/services/profile-models.d.ts +5 -0
  983. package/dist/services/profile-models.d.ts.map +1 -0
  984. package/dist/services/profile-models.js +62 -0
  985. package/dist/services/profile-models.js.map +1 -0
  986. package/dist/services/provider-credential.d.ts +19 -0
  987. package/dist/services/provider-credential.d.ts.map +1 -0
  988. package/dist/services/provider-credential.js +51 -0
  989. package/dist/services/provider-credential.js.map +1 -0
  990. package/dist/services/provider-quota.d.ts +64 -0
  991. package/dist/services/provider-quota.d.ts.map +1 -0
  992. package/dist/services/provider-quota.js +563 -0
  993. package/dist/services/provider-quota.js.map +1 -0
  994. package/dist/services/quirks.d.ts +0 -0
  995. package/dist/services/quirks.d.ts.map +1 -0
  996. package/dist/services/quirks.js +0 -0
  997. package/dist/services/quirks.js.map +1 -0
  998. package/dist/services/quota-forecast.d.ts +50 -0
  999. package/dist/services/quota-forecast.d.ts.map +1 -0
  1000. package/dist/services/quota-forecast.js +150 -0
  1001. package/dist/services/quota-forecast.js.map +1 -0
  1002. package/dist/services/quota-outlook.d.ts +4 -0
  1003. package/dist/services/quota-outlook.d.ts.map +1 -0
  1004. package/dist/services/quota-outlook.js +92 -0
  1005. package/dist/services/quota-outlook.js.map +1 -0
  1006. package/dist/services/ratelimit.d.ts +249 -0
  1007. package/dist/services/ratelimit.d.ts.map +1 -0
  1008. package/dist/services/ratelimit.js +1182 -0
  1009. package/dist/services/ratelimit.js.map +1 -0
  1010. package/dist/services/request-retention.d.ts +60 -0
  1011. package/dist/services/request-retention.d.ts.map +1 -0
  1012. package/dist/services/request-retention.js +229 -0
  1013. package/dist/services/request-retention.js.map +1 -0
  1014. package/dist/services/router.d.ts +384 -0
  1015. package/dist/services/router.d.ts.map +1 -0
  1016. package/dist/services/router.js +1986 -0
  1017. package/dist/services/router.js.map +1 -0
  1018. package/dist/services/scoring.d.ts +156 -0
  1019. package/dist/services/scoring.d.ts.map +1 -0
  1020. package/dist/services/scoring.js +435 -0
  1021. package/dist/services/scoring.js.map +1 -0
  1022. package/dist/services/url-tokens.d.ts +15 -0
  1023. package/dist/services/url-tokens.d.ts.map +1 -0
  1024. package/dist/services/url-tokens.js +55 -0
  1025. package/dist/services/url-tokens.js.map +1 -0
  1026. package/package.json +77 -4
  1027. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ var e={nav:{models:`नमूनाहरू`,playground:`खेल मैदान[सम्पादन गर्ने]`,keys:`कुञ्जीहरू`,analytics:`एनालिटिक्स`,premium:`प्रिमियम`,upgrade:`स्तरवृद्धि गर्नुहोस्`,settings:`सेटिङ`,signOut:`साइन आउट गर्नुहोस्`,openMenu:`नेभिगेसन मेनु खोल्नुहोस्`,switchLight:`प्रकाश विषयवस्तुमा स्विच गर्नुहोस्`,switchDark:`गाढा विषयवस्तुमा स्विच गर्नुहोस्`,switchToChinese:`चिनियाँमा स्विच गर्नुहोस्`,switchToEnglish:`अङ्ग्रेजीमा स्विच गर्नुहोस्`,modelsMenu:`नमूना प्रकार ब्राउज गर्नुहोस्`,agents:`एजेन्टहरू`,logs:`लग`,analyticsMenu:`एनालिटिक्स पृष्ठहरू`,notifications:`Notifications`,noNotifications:`No notifications yet`},auth:{createYourAccount:`तपाईँको खाता सिर्जना गर्नुहोस्`,signIn:`साइन इन`,email:`इमेल`,password:`पासवर्ड`,emailPlaceholder:`you@example.com`,passwordPlaceholderSetup:`कम्तिमा ८ क्यारेक्टर`,passwordPlaceholderLogin:`तपाईँको पासवर्ड`,setupDescription:`यो ड्यासबोर्ड सुरक्षित गर्ने इमेल र पासवर्ड सेट गर्नुहोस् ।`,loginDescription:`तपाईँको कुञ्जीहरू, मार्ग, र विश्लेषणहरू प्रबन्ध गर्न साइन इन गर्नुहोस्।`,createAccount:`खाता सिर्जना गर्नुहोस्`,creating:`सिर्जना गर्दैछ...`,signingIn:`साइनिङ गर्दैछ...`,loading:`लोड हुँदैछ...`,newPasswordAutoComplete:`नयाँ-पासवर्ड`,currentPasswordAutoComplete:`हालको पासवर्ड`,serverUnreachableBefore:`सर्भरमा पुग्न सकिँदैन । ब्याकइन्ड चलिरहेको निश्चित गर्नुहोस् (`,serverUnreachableAfter:`).`,setupCode:`सङ्केत सेटअप गर्नुहोस्`,setupCodePlaceholder:`सर्भर लगबाट सङ्केत`,setupCodeHint:`अर्को उपकरणबाट सेट अप गर्न स्टार्टअपमा सर्भर लगहरूमा छापिएको एक-समय कोड आवश्यक पर्दछ।`,changePassword:`पासवर्ड परिवर्तन गर्नुहोस्`,changeEmail:`इमेल परिवर्तन गर्नुहोस्`,forgotPassword:`पासवर्ड बिर्सनुभयो?`,currentPassword:`हालको पासवर्ड`,newPassword:`नयाँ पासवर्ड`,newEmail:`नयाँ इमेल`,resetCode:`रिसेट कोड`,resetCodePlaceholder:`सर्भर लगबाट कोड`,resetCodeHint:`कोड सर्भर लगमा छ। यो कहिल्यै इमेलबाट पठाइँदैन।`,forgotPasswordDescription:`रिसेट कोड बनाउन तलको बटनमा क्लिक गर्नुहोस्। कोड सर्भर लगमा लेखिन्छ, कहिल्यै इमेल गरिँदैन। नयाँ पासवर्ड सेट गर्न यहाँ हाल्नुहोस्।`,requestResetCode:`रिसेट कोड पठाउनुहोस्`,requestingResetCode:`पठाउँदै…`,resetPassword:`पासवर्ड रिसेट गर्नुहोस्`,resettingPassword:`रिसेट हुँदै…`,changingPassword:`परिवर्तन हुँदै…`,changingEmail:`परिवर्तन हुँदै…`,backToLogin:`साइन इनमा फर्कनुहोस्`,passwordChanged:`पासवर्ड सफलतापूर्वक परिवर्तन भयो।`,emailChanged:`इमेल सफलतापूर्वक परिवर्तन भयो।`,passwordReset:`पासवर्ड रिसेट भयो। कृपया साइन इन गर्नुहोस्।`,resetCodeDockerHint:`Docker मा चलाइरहनुभएको छ? कोड कन्टेनर लगमा छ: docker logs <container>।`,desktopSessionFailed:`ड्यासबोर्डले लोकल सर्भरमा साइन इन गर्न सकेन। SRouter बन्द गरेर फेरि खोल्नुहोस्।`},common:{save:`बचत गर्नुहोस्`,saving:`बचत गर्दैछ...`,cancel:`रद्द गर्नुहोस्`,discard:`छोड्नुहोस्`,delete:`मेट्नुहोस्`,confirm:`यकिन गर्नुहोस्`,copy:`प्रतिलिपि बनाउनुहोस्`,copied:`प्रतिलिपि बनाइएको`,copyFailed:`कपी गर्न सकिएन — पाठ छानेर आफैँ कपी गर्नुहोस्`,show:`देखाउनुहोस्`,hide:`लुकाउनुहोस्`,apply:`लागू गर्नुहोस्`,applied:`लागू गरियो`,applying:`लागू गर्दैछ...`,active:`सक्रिय`,inactive:`निस्क्रिय`,never:`कहिल्यै पनि`,loading:`लोड हुँदैछ...`,error:`त्रुटि`,noData:`अहिले सम्म कुनै डेटा छैन`,unsavedChanges:`बचत नगरिएका परिवर्तनहरू`,saveChanges:`परिवर्तनहरू बचत गर्नुहोस्`,remove:`हटाउनुहोस्`,unknownError:`अज्ञात त्रुटि`,model:`नमूना[सम्पादन गर्ने]`,provider:`प्रदायक`,success:`सफलता[सम्पादन गर्ने]`,failures:`असफलताहरू`,dismiss:`खारेज गर्नुहोस्`,status:`वस्तुस्थिति`},settings:{title:`सेटिङ`,language:`भाषा`,theme:`थिम`,themeSystem:`प्रणाली`,themeLight:`उज्यालो`,themeDark:`अँध्यारो`,searchLanguage:`भाषा खोजी गर्नुहोस्...`,noLanguages:`कुनै भाषा फेला परेन`,sections:`सेटिङ खण्डहरू`,sectionGeneral:`सामान्य`,sectionCompression:`कम्प्रेसन`,sectionAdvanced:`उन्नत`,sectionPreview:`पूर्वावलोकन`,generalDescription:`यो ड्यासबोर्डको भाषा र देखावट।`,advancedDescription:`कम्प्रेसन पाइपलाइनका थ्रेसहोल्ड र सुरक्षा स्विचहरू।`,compressionTitle:`प्रम्प्ट कम्प्रेसन`,compressionDescription:`कोड, त्रुटिहरू, पथहरू, नम्बरहरू, र उपकरण परिभाषाहरू सुरक्षित राख्दै राउटिङ अघि अनुरोधको आकार घटाउनुहोस्।`,compressionHelp:`प्रदायकलाई पठाउनुअघि प्रत्येक अनुरोध पुनर्लेखन गर्छ ताकि कम टोकन प्रयोग होस्। कोड, त्रुटि, फाइल पथ र नम्बरहरू सुरक्षित राखिन्छन्, र तिनलाई बिगार्ने कुनै पनि पुनर्लेखन खारेज गरिन्छ।`,compressionMode:`मोड`,compressionModeHelp:`बन्द भएमा अनुरोध जस्ताको तस्तै पठाइन्छ। क्षतिरहित ले दोहोरिएका र खेर गएका पाठ मात्र हटाउँछ। मानक ले उपकरणको आउटपुट पनि छोट्याउँछ। आक्रामक ले थप रूपमा पुराना वार्ता पनि संक्षिप्त पार्छ।`,compressionOff:`बन्द`,compressionLossless:`क्षतिरहित`,compressionStandard:`मानक`,compressionAggressive:`आक्रामक`,compressionLossy:`क्षतियुक्त`,compressionEngines:`इन्जिनहरू`,compressionEnginesHelp:`प्रत्येक इन्जिन एउटा पुनर्लेखन चरण हो। कुन इन्जिन चल्ने भन्ने मोडले निर्धारण गर्छ; यहाँ बन्द गरिएको इन्जिन सबै मोडबाट हटाइन्छ।`,engineDedup:`दोहोरिएका ब्लक`,engineDedupHelp:`वार्तालापमा पहिले नै देखिइसकेको पाठ ब्लकलाई त्यसतर्फको छोटो सन्दर्भले प्रतिस्थापन गर्छ।`,engineLite:`खाली ठाउँ सफाइ`,engineLiteHelp:`लाइनको अन्त्यका खाली ठाउँ हटाउँछ, दोहोरिएका खाली लाइनहरू जोड्छ र दोहोरिएका प्रणाली सन्देश हटाउँछ।`,engineReadLifecycle:`प्रतिस्थापित फाइल पठनहरू`,engineReadLifecycleHelp:`उही फाइल पछि फेरि पढिएमा वा सम्पादन गरिएमा अघिल्लो फाइल पठनलाई एउटा टिप्पणीले प्रतिस्थापन गर्छ।`,engineToolfilter:`उपकरण आउटपुट फिल्टर`,engineToolfilterHelp:`बिल्ड, परीक्षण र इन्स्टलजस्ता आदेश र उपकरणको आउटपुट छोट्याउँछ। त्रुटि र स्ट्याक ट्रेसका लाइनहरू सधैँ रहन्छन्।`,engineJsoncompact:`JSON तालिका`,engineJsoncompactHelp:`उही फिल्डहरू भएका लामा JSON एरेहरूलाई कम्प्याक्ट तालिकाका रूपमा पुनः इन्कोड गर्छ। उल्टाउन मिल्ने भएकाले केही पनि हराउँदैन।`,engineRelevance:`सान्दर्भिकता फिल्टर`,engineRelevanceHelp:`सन्देश आफ्नो आकार सीमाभन्दा बढी भएमा पछिल्लो सन्देशसँग सबैभन्दा कम सम्बन्धित वाक्यहरू हटाउँछ।`,engineAging:`पुराना वार्ता`,engineAgingHelp:`पछिल्ला केही बाहेकका वार्ताहरूलाई पथ, त्रुटि र निर्णयहरू जोगाउने छोटो सारांशमा संक्षिप्त पार्छ।`,engineHardBudget:`टोकन सीमा`,engineHardBudgetHelp:`अनुरोध टोकन लक्ष्यभित्र नअटेसम्म सबैभन्दा कम महत्त्वका लाइनहरू हटाउँछ।`,compressionAutoTrigger:`अनुमानित टोकनभन्दा माथि स्वतः सक्रिय`,compressionAutoTriggerHelp:`अनुमानित टोकन यो सङ्ख्याभन्दा बढी भएका अनुरोधहरू स्वतः आक्रामक मा बदलिन्छन्। निष्क्रिय पार्न खाली छोड्नुहोस्।`,compressionPrefixFreeze:`दोहोरिने प्रम्प्ट उपसर्गहरू स्थिर राख्नुहोस्`,compressionPrefixFreezeHelp:`उही पाठ तीन पटक देखिएपछि प्रणाली प्रम्प्टलाई जस्ताको तस्तै छोड्छ, ताकि प्रदायकतर्फको प्रम्प्ट क्यासिङ काम गरिरहोस्।`,compressionTrustProjectFilters:`परियोजना फिल्टर फाइलहरूमा विश्वास गर्नुहोस्`,compressionTrustProjectFiltersHelp:`कार्य निर्देशिकाबाट पनि उपकरण-आउटपुट फिल्टरहरू लोड गर्छ। पूर्वनिर्धारित रूपमा बन्द, किनभने रिपोजिटरीले यसलाई मोडेलबाट आउटपुट लुकाउन प्रयोग गर्न सक्छ।`,compressionStats:`आकार बचत`,compressionEstimatedTokensSaved:`अनुमानित टोकन बचत`,compressionPreview:`प्रत्यक्ष पूर्वावलोकन`,compressionPreviewDescription:`प्रदायकले के प्राप्त गर्नेछ हेर्न अनुरोधको बडी पाइपलाइनमार्फत पठाउनुहोस्।`,compressionPreviewPlaceholder:`अनुरोध JSON वा सादा पाठ टाँस्नुहोस्`,compressionRunPreview:`पूर्वावलोकन चलाउनुहोस्`,updatesTitle:`अद्यावधिकहरू`,checkForUpdates:`अद्यावधिकका लागि जाँच गर्नुहोस्`,lastChecked:`अन्त्यमा जाँच गरिएको: {when}`,currentVersion:`हालको बिल्ड:`,updateAvailable:`अद्यावधिक उपलब्ध छ`,changelog:`के परिवर्तन भयो`,upToDate:`अद्यावधिक छ`,buildAhead:`यो बिल्ड आधिकारिक main शाखाभन्दा अगाडि छ।`,buildDiverged:`यो बिल्ड आधिकारिक main शाखाबाट अलग भएको छ।`,buildUnknown:`यो अनुकूलित बिल्डलाई आधिकारिक main शाखासँग तुलना गर्न सकिँदैन।`,notGitInstall:`यो स्थापनामा commit जानकारी समावेश छैन।`,checkFailed:`अद्यावधिकहरू जाँच गर्न सकिएन।`,contactsGithub:`जाँचहरू म्यानुअल रूपमा गरिन्छन् र GitHub सँग सम्पर्क गर्छन्।`,autoUpdateCheck:`स्वचालित अद्यावधिक जाँच`,autoUpdateCheckHelp:`दिनमा एक पटक नयाँ रिलिजका लागि GitHub जाँच गर्छ र सम्झना देखाउँछ। पूर्वनिर्धारित रूपमा बन्द।`,openReleases:`GitHub रिलीजहरू खोल्नुहोस्`,restartAfterUpdate:`बिल्ड पूरा भएपछि SRouter पुनः सुरु गर्नुहोस्।`,syncSchedule:`Model Sync`,syncScheduleHint:`How often the model catalog is refreshed from the server`,syncIntervalOff:`Off`,syncInterval6h:`Every 6h`,syncInterval12h:`Every 12h`,syncInterval24h:`Every 24h`},models:JSON.parse(`{"title":"नमूनाहरू","chatModelsTab":"कुराकानी नमूनाहरू","fusionTab":"फ्युजन","embeddingsTab":"सम्मिलित गर्नुहोस्","imageTab":"छवि","videoTab":"Video","audioTab":"अडियो","imageDesc":"पाठ-देखि-छवि उत्पादन मोडेलहरू।","videoDesc":"Text-to-video generation models.","audioDesc":"पाठ-देखि-भाषण र भाषण-देखि-पाठ मोडेलहरू।","mediaHint":"यसबाट उत्पन्न गर्नुहोस्","mediaEmpty":"अहिलेसम्म कुनै मोडेलहरू छैनन्। तिनीहरू क्याटलगबाट समक्रमण गर्छन्।","ttsHeading":"वाचनमा पाठ","sttHeading":"पाठमा वाचन गर्नुहोस्","sttHint":"यसबाट ट्रान्सक्राइब गर्नुहोस्","sttEmpty":"अझै कुनै भाषण-देखि-पाठ मोडेलहरू छैनन्। तिनीहरू क्याटलगबाट समक्रमण गर्छन्।","newBadge":"नयाँ","monthlyTokenBudget":"मासिक टोकन बजेट","remaining":"बाँकी[सम्पादन गर्ने]","used":"प्रयोग गरियो","usedScopeHint":"Chat requests only, since the start of this calendar month, summed over every model in the active chain — custom endpoints included. Traffic you send to a provider outside SRouter is not counted.","legendRemainingTitle":"Remaining / monthly budget for {name} ({platform})","noPublishedQuota":"+{count} with no published quota","noPublishedQuotaTitle":"These models have no documented monthly token budget, so there is no remaining figure to show.","of":"को[सम्पादन गर्ने]","showAllModels":"सबै {count} देखाउनुहोस्","showLess":"कम देखाउनुहोस्","vision":"भिजन","visionTitle":"छवि आगत स्वीकार गर्दछ","tools":"उपकरणहरू","toolsTitle":"संरचित उपकरण कलहरू उत्सर्जन गर्दछ, त्यसैले यो उपकरण-असर अनुरोधहरूको लागि योग्य छ","retired":"बन्द","penalty":"−{value} पेनाल्टी","obs":"{count} obs","tokPerMonth":"{count} टोक/मो","rpmLimit":"{count} आरपीएम","rpdLimit":"{count} RPD","noKey":"कुञ्जी छैन","dragToReorder":"पुन: क्रमबद्ध गर्न तान्नुहोस्","dragToReorderGroup":"नमूना पुन: क्रमबद्ध गर्न तान्नुहोस्","moveToRank":"र्याङ्कमा जानुहोस्","providerCount":"प्रदायकहरू {count} गर्नुहोस्","servedBy":"{providers} द्वारा सेवा गरिएको","viewProviders":"प्रदायक हेर्नुहोस्","backToModels":"मोडेलहरूमा फर्कनुहोस्","providersHeading":"यो मोडेलको सेवा प्रदायक","codeSnippetHeading":"यो मोडेल प्रयोग गर्नुहोस्","modelNotFound":"यो नमूना उपलब्ध छैन, वा यसमा कुनै कन्फिगर गरिएको प्रदायक छैन ।","providerIdsHeading":"प्रदायक नमूना आईडी","providerIdsHint":"प्रत्येक प्रदायकमा असफल हुन एकीकृत मोडेल आईडी पठाउनुहोस्, वा एक प्रदायकलाई पिन गर्न प्रदायक-विशिष्ट आईडी पठाउनुहोस्।","copyModelName":"नमूना नाम प्रतिलिपि बनाउनुहोस्","settingsHeading":"प्रदायक सेटिङ","settingsHint":"क्याटलग मोडेलहरूमा स्थानीय सम्पादनहरू क्याटलग समक्रमणहरूमा राखिन्छ। मेटाइएको क्याटलग मोडेलहरू मेटिन्छन् जबसम्म तपाईं तिनीहरूलाई कन्फिगरेसन मार्फत फेरि थप्नुहुन्न।","catalogModel":"विवरणिका","customModel":"अनुकूल","discoveredModel":"पत्ता लागेको","localOverride":"स्थानीय अधिरोहण","displayName":"नाम प्रदर्शन गर्नुहोस्","sizeLabel":"क्षमता तह","sizeLabelHint":"Frontier/Large/Medium/Small ले इन्टेलिजेन्स अक्ष निर्धारण गर्छन्: माथिल्लो स्तरले सधैँ तल्लो स्तरलाई उछिन्छ, र एउटै स्तरभित्र इन्टेलिजेन्स श्रेणीले अङ्क सार्न जारी राख्छ। मान्यता प्राप्त स्तर नभएको मोडेलले यो अक्षमा सबैभन्दा कम अङ्क पाउँछ, तर इन्टेलिजेन्स तीन अक्षमध्ये एउटा मात्र हो — राम्रो विश्वसनीयता र गति भए त्यो अझै पनि छानिन सक्छ।","sizeLabelNone":"कुनै पनि होइन (सबैभन्दा कम इन्टेलिजेन्स अङ्क)","contextWindow":"प्रसङ्ग","inFallback":"साङ्लोमा","saveModelSettings":"नमूना सेटिङ बचत गर्नुहोस्","aggregateBudget":"{count}/मो","aggregateBudgetTitle":"यस मोडेलका प्रदायकहरूमा प्रति महिना कुल नि: शुल्क टोकनहरू","rateRpm":"{count} RPM","rateRpd":"{count} RPD","rateTitle":"दर-सीमित - कुनै निश्चित मासिक टोकन बजेट छैन","rateLimitUsage":"{kind} {used}/{limit}","rateLimitUsageTitle":"समय-विन्डो दर सीमाको प्रयोग (प्रयोग भएको / सीमा), सबैभन्दा बढी बाँकी क्षमता भएको प्रदायकको","splitOut":"यो प्रतिलिपि मर्ज नगर्नुहोस्","splitOutHint":"यस प्रदायकको प्रतिलिपिलाई एकीकृत मोडेलमा मर्ज गर्नुको सट्टा यसको आफ्नै छुट्टै प्रविष्टि दिनुहोस्। तपाइँ यसलाई प्रतिलिपिको आफ्नै पृष्ठबाट फिर्ता मर्ज गर्न सक्नुहुन्छ।","splitUndo":"फिर्ता मर्ज गर्नुहोस्","splitUndoHint":"यो प्रतिलिपि यसको एकीकृत मोडेलबाट अलग राखिएको छ। फेरि यसको सबै प्रदायकहरूमा असफल हुन यसलाई फेरि मर्ज गर्नुहोस्।","splitBadge":"अलग राखियो","noData":"कुनै डाटा छैन","noDataTitle":"अहिलेसम्म कुनै अनुरोधहरू रेकर्ड गरिएको छैन — यो प्रदायकको लागि विश्वसनीयता र गति मापन गरिएको छैन।","bestOfN":"{count} को उत्कृष्ट","perProviderScores":"प्रति-प्रदायक स्कोरहरू: {list}","columnModel":"नमूना[सम्पादन गर्ने]","columnOn":"मा","noModelsBefore":"कुनै मोडेल उपलब्ध छैन । यसमा API कुञ्जीहरू थप्नुहोस्","keysPageLink":"कुञ्जी पृष्ठ","noModelsAfter":"पहिलो।","hiddenNoKeys":"लुकेको (कुञ्जी छैन): {platforms}","searchPlaceholder":"नमूना वा प्रदायकहरू खोजी गर्नुहोस्...","clearSearch":"खोजी खाली गर्नुहोस्","ctxAny":"कुनै प्रसङ्ग","ctxBadge":"{size} CTX","ctxTitle":"विषयवस्तु सञ्झ्याल","copyModelId":"नमूना आईडी प्रतिलिपि गर्नुहोस्","showingCount":"{total} मोडेलहरूको {shown}","clearFilters":"फिल्टर खाली गर्नुहोस्","noMatches":"कुनै पनि मोडेलहरू तपाईंको फिल्टरहरूसँग मेल खाँदैनन्।","noModelsTitle":"कुनै नमूना कन्फिगर गरिएको छैन","intelligenceRank":"इन्टेलिजेन्स","speedRank":"गति","rankHint":"क्याटलगमा श्रेणी — 1 उत्तम हो।","limitRpm":"RPM","limitRpd":"RPD","limitTpm":"TPM","limitTpd":"TPD","limitRpmHint":"प्रति मिनेट अनुरोध। कुनै सीमा नराख्न खाली छोड्नुहोस्।","limitRpdHint":"प्रति दिन अनुरोध। कुनै सीमा नराख्न खाली छोड्नुहोस्।","limitTpmHint":"प्रति मिनेट टोकन। कुनै सीमा नराख्न खाली छोड्नुहोस्।","limitTpdHint":"प्रति दिन टोकन। कुनै सीमा नराख्न खाली छोड्नुहोस्।","usageThisMonth":"मासिक प्रयोग","usageEmpty":"यो महिना अहिलेसम्म कुनै अनुरोध छैन।","usageRequestsMonth":"यो महिना {count} अनुरोध","aliasMergeHeading":"Merge model aliases","aliasMergeHint":"Requests for the unified model id are also served through these custom-provider aliases (e.g. custom:my-alias).","aliasMergeAdd":"Add","aliasMergeRemove":"Remove","bulkToggle":"Enable or disable every shown model","enableAll":"Enable all","disableAll":"Disable all","enableAllHint":"Turn on every model shown, then Save","disableAllHint":"Turn off every model shown, then Save","enabledOfShown":"{enabled} of {shown} shown models are in the chain"}`),strategies:{explore:`नमापिएका मोडेलहरू अन्वेषण गर्नुहोस्`,exploreHint:`Give models with no reliability or speed data a 10% chance to go first so they build a track record. Your real request is what gets sent, so it may be answered by an untested model. For a custom endpoint, use Probe endpoint on the Keys page to test it without live traffic.`,keySelection:`कुञ्जी चयन`,keySelectionAuto:`स्वतः`,keySelectionLeastRemaining:`सबैभन्दा कम बाँकी`,keySelectionHint:`एउटै प्रदायकका धेरै कुञ्जीमध्ये कसरी छान्ने। स्वतःले हालको पालो कायम राख्छ; सबैभन्दा कम बाँकीले अवलोकन गरिएको कोटा अनुसार कुञ्जीहरू क्रमबद्ध गर्छ र सबैभन्दा बढी बाँकी भएको कुञ्जी पहिले प्रयास गर्छ।`,cooldownCeiling:`सबैभन्दा लामो स्वचालित कूलडाउन`,cooldownCeilingHint:`राउटरका आफ्नै अनुमानले असफल हुँदै गरेको कुञ्जी र मोडेल जोडीलाई कति समयसम्म रोक्न सक्छ भन्ने सीमित गर्छ। भर्‍याङ सामान्यतया २ मिनेट, १० मिनेट, १ घण्टा, २४ घण्टा बढ्छ, र क्रेडिट वा तह त्रुटिले एक दिन रोक्छ। प्रदायकले बताएको पुनः प्रयास समय कहिल्यै छोटो पारिँदैन।`,cooldownCeilingDefault:`पूर्वनिर्धारित (२४ घण्टासम्म)`,cooldownCeiling10m:`१० मिनेट`,cooldownCeiling1h:`१ घण्टा`,cooldownCeiling6h:`६ घण्टा`,moreOptions:`थप विकल्पहरू`,peakActive:`(व्यस्त समय)`,peakActiveHint:`व्यस्त-समय समायोजन अहिले सक्रिय छ, त्यसैले यी प्रिसेटका आफ्नै तौल होइनन्: गतिको तौलको ६०% विश्वसनीयतामा सारिएको छ।`,peakAdjust:`व्यस्त-समय समायोजन`,peakAdjustHint:`पूर्वनिर्धारित रूपमा बन्द। तलको अवधिभित्र गतिको तौलको ६०% विश्वसनीयतामा सर्छ — निःशुल्क रिलेहरू त्यतिबेला सबैभन्दा व्यस्त हुन्छन्, त्यसैले काँचो गतिभन्दा विश्वसनीयताले सफलताको राम्रो अनुमान गर्छ। «सबैभन्दा छिटो» र «सबैभन्दा विश्वसनीय» अछुतो रहन्छन्।`,peakFrom:`देखि`,peakTo:`सम्म`,peakTimezoneLabel:`समय क्षेत्र`,peakUseBrowserTimezone:`ब्राउजरको समय क्षेत्र प्रयोग गर्नुहोस्`,peakTimezoneInvalid:`अज्ञात समय क्षेत्र।`,peakExemptNote:`यो प्रिसेट अछुतो रहन्छ — यो पहिले नै गति/विश्वसनीयता सन्तुलनको एक छेउमा छ।`,title:`राउटिङ रणनीति`,description:`एक मार्ग रणनीति छान्नुहोस्। म्यानुअल मोडमा तपाईं अर्डर सेट गर्न तान्नुहुन्छ; अन्य रणनीतिहरू विश्वसनीयता, गति र बुद्धिमत्तामा प्रत्यक्ष स्कोर द्वारा मार्ग।`,weightsSummary:`विश्वसनीयता {reliability}% · गति {speed}% · बुद्धि {intelligence}%`,guardrails:`रेलिङहरू`,guardrailsTooltip:`सँधै गार्डरेलहरू: नि: शुल्क-कोटा हेडरूम × प्रत्यक्ष दर-सीमा दण्ड। 1.0 भन्दा तल भनेको मोडेल पछाडि राखिएको छ।`,scoreTooltip:`अन्तिम मार्ग स्कोर = तीन अक्षहरूको भारित औसत, रेलिंगले गुणा गर्दछ। पहिले उच्च मार्गहरू।`,modeManualHint:`म्यानुअल मोड: अनुरोधहरूले तलको क्रम पालना गर्दछ, माथिदेखि तलसम्म। पुन: क्रमबद्ध गर्न तान्नुहोस् ।`,modeScoreHint:`प्रत्यक्ष ट्राफिकबाट स्कोर अद्यावधिक हुन्छ। तलको अर्डर अहिले कसरी अनुरोधहरू रूट गरिन्छ भन्ने हो।`,manual:`म्यानुअल`,manualBlurb:`तपाईँले तल सेट गर्नुभएको सही क्रममा मार्ग। पुन: क्रमबद्ध गर्न ह्यान्डलहरू तान्नुहोस् । कुनै स्कोरिंग छैन; चेनलाई माथिदेखि तलसम्म पछ्याइन्छ।`,balanced:`सन्तुलित`,balancedBlurb:`विश्वसनीयता (50%) को नेतृत्व गर्दछ, गति र बुद्धि समान रूपमा (25% प्रत्येक) को साथ। एक समझदार चौतर्फी पूर्वनिर्धारित।`,smartest:`सबैभन्दा चतुर`,smartestBlurb:`अझै पनि काम गर्ने सबैभन्दा सक्षम मोडेललाई प्राथमिकता दिनुहोस्। बुद्धि 55%, विश्वसनीयता 35%, गति 10%।`,fastest:`सब भन्दा छिटो`,fastestBlurb:`अझै पनि काम गर्ने सब भन्दा छिटो मोडेललाई प्राथमिकता दिनुहोस्। गति 55%, विश्वसनीयता 35%, बुद्धि 10%।`,reliable:`सबैभन्दा भरपर्दो`,reliableBlurb:`सबै भन्दा माथि सफलता दर अधिकतम गर्नुहोस्। विश्वसनीयता 70%, गति र बुद्धि 15% प्रत्येक।`,custom:`अनुकूलन गर्नुहोस्`,customBlurb:`स्लाइडरहरूको साथ विश्वसनीयता, गति र बुद्धिमत्ताको आफ्नै सन्तुलन सेट गर्नुहोस्। प्रिसेटको रूपमा एउटै इन्जिन, केवल तपाईंको वजन।`,adjust:`समायोजन गर्नुहोस्`,customWeights:`अनुकूल वजनहरू`,customWeightsHelp:`स्लाइडरहरू स्वतन्त्र छन्; 100% मा स्वत: ब्यालेन्स सेयरहरू।`,weightReliability:`विश्वसनीयता[सम्पादन गर्ने]`,weightSpeed:`गति`,weightIntelligence:`इन्टेलिजेन्स`,weightRequired:`कम्तीमा एउटा तौल शून्यभन्दा माथि हुनुपर्छ ।`,scoreColumn:`प्राप्ताङ्क`},penaltyInspector:{title:`राउटरको चाप`,subtitle:`अन्तिम {minutes} मिनेटबाट पेनाल्टी, कूलडाउन, र असफलताहरू`,rowCount:`{count} सक्रिय गर्नुहोस्`,offChain:`चेन बन्द गर्नुहोस्`,penaltyValue:`पेनाल्टी {value}`,factor:`स्कोर x{factor}`,noCooldown:`कूलडाउन छैन`,cooldownChip:`{key} - {time}`,resetCooldown:`Reset cooldown`,clearAll:`सबै खाली गर्नुहोस्`,clearAllHint:`सबै कूलडाउन, दण्ड र असफलता शृङ्खला अहिले नै हटाउनुहोस्। अर्को वास्तविक नतिजाबाट दबाब फेरि बन्छ।`,errorsHeading:`{count} त्रुटिहरू`,noRecentErrors:`हालैका त्रुटि छैन`,noKey:`कुञ्जी छैन`,reasons:{penalty:`दण्डित गरियो`,cooldown:`कूलडाउन`,recent_errors:`असफल हुँदैछ`}},keys:JSON.parse(`{"pageTitle":"कुञ्जीहरू","pageDescription":"प्रदायक प्रमाणहरू र एकीकृत API कुञ्जी तपाईंको अनुप्रयोगहरूसँग जडान गर्नुहोस्।","tabProviders":"प्रदायकहरू","checklistSummary":"{total} मध्ये {configured} प्रदायकहरू कन्फिगर गरिएको","checklistKeyless":"कुञ्जी आवश्यक छैन","checklistNoKeyTip":"अहिलेसम्म कुनै कुञ्जी थपिएको छैन। थप्न क्लिक गर्नुहोस्।","checklistSignupLink":"खाता बनाउन र कुञ्जी प्राप्त गर्न {provider} खोल्नुहोस्","checklistKeylessTip":"कुञ्जी बिना काम गर्छ।","tabQuotaSignals":"कोटा सङ्केतहरू","tabApiKey":"एकीकृत API कुञ्जी","tabAnthropic":"Anthropic","unifiedKey":"तपाईँको एकीकृत API कुञ्जी","regenerate":"पुन: उत्पन्न गर्नुहोस्","showKey":"देखाउनुहोस्","hideKey":"लुकाउनुहोस्","copyKey":"प्रतिलिपि बनाउनुहोस्","copyFullKey":"पूरा कुञ्जी प्रतिलिपि गर्नुहोस्","copiedKey":"प्रतिलिपि बनाइएको","baseUrl":"आधार URL","endpointChat":"कुराकानी गर्नुहोस्","endpointResponses":"प्रतिक्रियाहरू","endpointEmbeddings":"सम्मिलित गर्नुहोस्","endpointEmbeddingsHint":"model: \\"auto\\" वा सम्मिलित ट्याबबाट परिवार","endpointMessages":"सन्देशहरू","endpointMessagesHint":"Anthropic- मिल्दो (Claude)","quickStart":"Quick start","quickStartDesc":"Use auto for your active routing chain, or auto:fast to prioritize speed across enabled models. Replace $YOUR_KEY with your unified API key.","exampleAuto":"Auto mode (use the active chain)","exampleFast":"Fast mode (prioritize speed)","anthropicTitle":"Claude (Anthropic) मोडेलहरू","anthropicDesc":"यो सर्भरमा Claude वा Anthropic SDK क्लाइन्ट पोइन्ट गर्नुहोस् । Anthropic ग्राहकहरूले Claude मोडेल नामहरू पठाउँछन् - प्रत्येक अटोमा नक्शा गर्नुहोस् (राउटरले नि: शुल्क मोडेल छनौट गर्दछ) वा एक विशिष्ट पिन गर्नुहोस्।","anthropicBaseUrl":"आधार URL","anthropicAuth":"प्रमाणीकरण हेडर","anthropicAuto":"अटो — राउटरले सबैभन्दा राम्रो मोडल छान्छ","anthropicSave":"मानचित्राङ्कन बचत गर्नुहोस्","anthropicSaved":"बचत गरियो","anthropicNote":"Anthropic ग्राहकहरूले उनीहरूको बिल्ट-इन Claude मोडेल नामहरू राख्छन्; माथिको नक्साले निर्णय गर्दछ कि प्रत्येक तपाईंको पूलमा कसरी प्रवेश गर्दछ।","familyDefault":"पूर्वनिर्धारित","familyOpus":"ओपस","familySonnet":"सोनेट","familyHaiku":"हाइकु","selectPlatform":"प्रदायक चयन गर्नुहोस्","addKey":"कुञ्जी थप्नुहोस्","keyAdded":"कुञ्जी थपियो","endpointKeysShareModels":"एउटै एन्डपोइन्टका कुञ्जीहरूले त्यसका मोडेलहरू साझा गर्छन्।","export":"निर्यात गर्नुहोस्","exportAll":"सबै कुञ्जीहरू","exportHealthy":"स्वस्थ मात्र","exportKeys":"API कुञ्जीहरू निर्यात गर्नुहोस्","exportFormat":"ढाँचा","exportHealthyOnly":"स्वस्थ कुञ्जीहरू मात्र","exportHealthyOnlyDesc":"हालै स्वास्थ्य जाँच असफल भएका कुञ्जीहरू समावेश नगर्नुहोस्","exportWillExport":"निर्यात गर्नेछ","exportKey":"कुञ्जी","exportKeys plural":"कुञ्जीहरू","exporting":"निर्यात गर्दैछ...","exportDownload":"डाउनलोड गर्नुहोस्","exportSuccess":"{count} कुञ्जीहरू निर्यात गरियो","adding":"थप्दैछ...","selectProvider":"प्रदायक चयन गर्नुहोस्...","accountId":"खाता आईडी","label":"लेबुल","noKeyNeeded":"(कुञ्जी आवश्यक पर्दैन)","outboundProxy":"आउटबाउन्ड प्रोक्सी","outboundProxyDescription":"प्रोक्सी मार्फत आउटबाउन्ड एलएलएम अनुरोधहरू रूट गर्नुहोस्। SOCKS5, HTTP, र HTTPS समर्थन गर्दछ।","proxyUrl":"प्रोक्सी URL","saveProxy":"बचत गर्नुहोस्","savingProxy":"बचत गर्दैछ...","proxyLoadFailed":"प्रोक्सी सेटिङ लोड गर्न सकेन ।","proxyMode":"Mode","proxyModeForward":"Forward proxy","proxyModeFetchRelay":"Fetch relay","relayToken":"Relay token","relayTokenConfigured":"Configured. Leave unchanged to keep.","relayTokenPlaceholder":"Relay bearer token (optional)","relayHeadersHint":"The relay reads the destination and its own credential from","addCustom":"अनुकूल OpenAI मिल्दो नमूना थप्नुहोस्","addCustomDescription":"पोइन्ट च्याट, एम्बेडिंग, छवि, वा अडियो मोडेलहरू कुनै पनि OpenAI-मिल्दो अन्तिम बिन्दुमा। स्थानीय सर्भरका लागि API कुञ्जी वैकल्पिक छ ।","customType":"प्रकार","customTypeChat":"कुराकानी गर्नुहोस्","customTypeEmbedding":"सम्मिलित गर्दैछ","customTypeImage":"छवि","customTypeAudio":"अडियो","customTypeTranscription":"Transcription","customBaseUrl":"आधार URL","customModels":"नमूनाहरू","customModel":"नमूना[सम्पादन गर्ने]","customDisplayName":"नाम प्रदर्शन गर्नुहोस्","customDisplayNamePerModel":"प्रति-मोडेल","customDisplayNameOptional":"वैकल्पिक","customFamily":"परिवार","customFamilyPlaceholder":"नमूना आईडीमा पूर्वनिर्धारितहरू","customApiKey":"कुञ्जी API गर्नुहोस्","customCapabilities":"क्षमताहरू","addModel":"नमूना थप्नुहोस्","modelAdded":"नमुना थपियो","addModels":"{count} मोडेलहरू थप्नुहोस्","addEmbeddingModel":"सम्मिलित थप्नुहोस्","addImageModel":"छवि नमूना थप्नुहोस्","addAudioModel":"अडियो नमूना थप्नुहोस्","addTranscriptionModel":"Add transcription model","addingCustom":"थप्दैछ...","discoverModels":"मोडेल ल्याउनुहोस्","probeNow":"एन्डपोइन्ट परीक्षण गर्नुहोस्","probeConfirm":"बढीमा ३ परीक्षण अनुरोध पठाउने?","probeCapabilities":"तर्क: {reasoning} · उपकरण: {tools}","probeCapYes":"हो","probeCapNo":"होइन","probeCapUnknown":"अज्ञात","probeSuccess":"{model} {latency}ms मा परीक्षण गरियो","probeFailed":"परीक्षण असफल भयो: {reason}","discoverTitle":"यो एन्डपोइन्टका मोडेलहरू","discoverHint":"दर्ता गर्ने मोडेलहरू छान्नुहोस्। पहिल्यै थपिएका लक रहन्छन्।","discoverEmpty":"यो एन्डपोइन्टले कुनै मोडेल फर्काएन।","discoverAlreadyAdded":"थपियो","discoverSelectAll":"सबै छान्नुहोस्","modelsAdded":"{count} मोडेल थपिए","getApiKey":"कुञ्जी API गर्नुहोस्","deleteKeyConfirm":"यो कुञ्जी मेट्नुहुन्छ? यसलाई पूर्ववत गर्न सकिँदैन ।","checkAll":"सबै जाँच गर्नुहोस्","checking":"जाँच गर्दैछ...","editLabel":"लेबुल सम्पादन गर्नुहोस्","saveLabel":"लेबुल बचत गर्नुहोस्","unifiedKeyDescBefore":"यसलाई आफ्नो OpenAI","unifiedKeyDescAfter":"; यसले यो प्रोक्सीमा अनुरोधहरू प्रमाणित गर्दछ।","serverUnreachableBefore":"सर्भरमा पुग्न सकिँदैन","serverUnreachableAfter":". ब्याकइन्ड चलिरहेको निश्चित गर्नुहोस् । npm run devले दुबै सुरु गर्दछ, र सर्भर लग सर्भर उपसर्ग अन्तर्गत मुद्रण गर्दछ।","paneProviderKey":"प्रदायक कुञ्जी","paneImportFile":"फाइल आयात गर्नुहोस्","paneCustomEndpoint":"अन्तिम बिन्दु अनुकूल गर्नुहोस्","platform":"प्लेटफर्म","hideAdded":"थपिएका प्रदायकहरू लुकाउनुहोस्","apiToken":"API टोकन","keyOptionalPlaceholder":"वैकल्पिक","bearerTokenPlaceholder":"वाहक टोकन","pasteKeyPlaceholder":"यहाँ कुञ्जी टाँस्नुहोस्","pasteSeveral":"धेरै टाँस्नुहोस्","keyOptionalHint":"वैकल्पिक: अज्ञात निःशुल्क तहका लागि खाली छोड्नुहोस् (प्रति IP दर-सीमित), वा आफ्नो खाता प्रयोग गर्न आफ्नै कुञ्जी टाँस्नुहोस्।","enable":"सक्षम पार्नुहोस्","noProviderKeys":"अहिले सम्म प्रदायक कुञ्जी छैन । मार्ग सुरु गर्न माथि एउटा थप्नुहोस्।","filterPlaceholder":"प्रदायक वा कुञ्जीहरू फिल्टर गर्नुहोस्","filterAll":"सबै","filterHealthy":"स्वस्थकर","filterIssues":"मुद्दाहरू","filterDisabled":"अक्षम पारियो","noFilterMatch":"कुनै प्रदायकहरूले तपाईँको फिल्टरसँग मेल खाँदैनन्।","providerCountSummary":"{providers} प्रदायकहरू[सम्पादन गर्ने] कुञ्जीहरू {keys} गर्नुहोस्","summaryHealthy":"{count} स्वस्थ","summaryIssueOne":"{count} समस्या","summaryIssueOther":"{count} मुद्दाहरू","providerActions":"प्रदायक कार्यहरू","routeViaProxy":"प्रोक्सी हुँदै मार्ग","checkNow":"अहिले जाँच गर्नुहोस्","syncModels":"Sync models with upstream","syncModelsResult":"Model list synced: {added} added, {total} live","syncModelsFailed":"Model sync failed: {reason}","syncAllModels":"Sync all providers","syncAllPending":"Syncing…","syncAllResult":"Synced {count} provider(s): {registered} model(s) registered","syncAllFailed":"Sync all failed: {reason}","syncAllNoChanges":"All provider rosters are already up to date","syncAllDialogTitle":"Sync Results","syncAllDialogSummary":"Changes detected in {changed} of {total} providers","syncAllNew":"+{count} new","syncAllUpdated":"{count} updated","syncAllRetired":"{count} retired","syncAllNewModels":"New models","syncAllUpdatedModels":"Updated models","syncAllRetiredModels":"Retired models","syncAllDialogClose":"Done","proxyEnvHintBefore":"मार्फत पनि कन्फिगर गर्न सकिने","proxyEnvHintAfter":"वातावरण चर (प्राथमिकता लिन्छ)। अक्षम पार्नका लागि खाली छोड्नुहोस् । उदाहरणहरू:","importKeys":"प्रदायक कुञ्जीहरू आयात गर्नुहोस्","importKeysDescription":".env, JSON, JSONC, CSV, Markdown, वा पाठ फाइलहरू अपलोड गर्नुहोस्।","importFiles":"फाइलहरू","importFileCount":"{count} चयन गरिएको छ","previewFiles":"पूर्वावलोकन","previewing":"पूर्वावलोकन गर्दैछ...","selected":"चयन गरिएको","provider":"प्रदायक","keyName":"कुञ्जीको नाम","keyValue":"कुञ्जी मान","chooseProvider":"प्रदायक रोज्नुहोस्","noPreviewKeys":"ती फाइलहरूमा कुञ्जीहरू फेला परेन ।","skippedItems":"फड्कियो:","moreItems":"+{count} बढी","importSelected":"{count} आयात गर्नुहोस्","importing":"आयात गर्दैछ...","noImportSelection":"प्रदायकसँग कम्तिमा एउटा पङ्क्ति चयन गर्नुहोस् ।","duplicate":"नक्कल गर्नुहोस्","duplicatesFound":"{count} नक्कली पत्ता लगाइयो - पहिले नै अवस्थित छ र फड्काइनेछ ।","importResult":"आयात गरिएका {imported}; असफल {failed} ।","importModelCount":"+{count} मोडेल","importResultWithModels":"आयात गरिएका {imported}; {models} मोडेल दर्ता गरियो; असफल {failed} ।","confirmRemove":"पुष्टि गर्नुहुन्छ?","quotaSignalsTitle":"कोटा सङ्केतहरू","quotaSignalsEmptyTitle":"अहिले सम्म कोटा अवलोकन छैन","quotaSignalsEmptyDesc":"यो प्रदायकहरूले दर-सीमा हेडरहरू, कोटा त्रुटिहरू, वा प्रमाणीकरण संकेतहरू फिर्ता गरेपछि भरिन्छ।","quotaKeyRef":"कुञ्जी #{id}","quotaPoolRef":"पूल {pool}","quotaLimit":"सीमा","quotaRemaining":"बाँकी","quotaReset":"रिसेट गर्नुहोस्","quotaObserved":"अवलोकन गरियो","tabAgents":"एजेन्टहरू","familyGeminiPro":"Gemini Pro","familyGeminiFlash":"Gemini Flash","familyGeminiFlashLite":"Gemini Flash-Lite","geminiTitle":"Gemini मोडेल म्यापिङ","geminiDesc":"Gemini Pro, Flash र Flash-Lite नामहरूलाई Auto वा कुनै निश्चित क्याटलग मोडेलमा म्याप गर्नुहोस्।","compatibilityTitle":"एजेन्ट अनुकूलता","compatibilityDesc":"ऐच्छिक अनुकूलता सतहहरू र Claude Code मोडेल खोज नियन्त्रण गर्नुहोस्।","ollamaMode":"Ollama इमुलेसन","ollamaModeHint":"खुला लुपब्याकले प्रमाणीकरण नगरिएको LAN ट्राफिक कहिल्यै स्वीकार गर्दैन।","ollamaOff":"बन्द","ollamaLoopback":"लुपब्याकमा खुला","ollamaKeyRequired":"API कुञ्जी आवश्यक","claudeAliases":"Claude Code खोज उपनामहरू","claudeAliasesHint":"गेटवे मोडेल चयनकर्ताले क्याटलग सूचीबद्ध गर्न सकोस् भनेर claude/<model> उपनामहरू उपलब्ध गराउनुहोस्।","mcpServer":"MCP सर्भर","mcpServerHint":"एजेन्ट क्लाइन्टका लागि /mcp एन्डपोइन्ट खोल्छ। नयाँ इन्स्टलमा यो बन्द हुन्छ।","urlTokensTitle":"रद्द गर्न सकिने URL टोकनहरू","urlTokensDesc":"हेडरविहीन क्लाइन्टहरूका लागि मात्र। URL टोकनहरू इतिहास र लगहरूमा चुहिन सक्छन्, त्यसैले आवश्यक नपरेपछि रद्द गर्नुहोस्।","urlTokenLabel":"टोकन लेबल","createUrlToken":"टोकन सिर्जना गर्नुहोस्","urlTokenOnce":"यो टोकन अहिले नै प्रतिलिपि गर्नुहोस्। यो फेरि देखाइने छैन।","revoked":"रद्द गरिएको","revoke":"रद्द गर्नुहोस्","modelScope":"मोडेल दायरा","modelScopeDesc":"यो कुञ्जीलाई निश्चित मोडेल ID हरूमा सीमित गर्नुहोस्। अन्य कुनै पनि मोडेलका लागि राउटरले यो कुञ्जी छोड्छ।","modelScopeAdd":"मोडेल ID लेखेर Enter थिच्नुहोस्","modelScopeEmpty":"कुनै दायरा सेट छैन — यो कुञ्जी आफ्नो प्रदायकका सबै मोडेलका लागि काम गर्छ।","modelScopeClear":"दायरा हटाउनुहोस्","modelScopeBadgeOne":"सीमित · 1 मोडेल","modelScopeBadgeOther":"सीमित · {count} मोडेल","modelPicker":{"title":"यो कुञ्जीले कुन मोडेलहरूलाई सेवा दिनुपर्छ?","hint":"तपाईंको {provider} कुञ्जी थपियो र यसले हाल तलका सबै मोडेललाई सेवा दिन्छ। यो कुञ्जीले प्रयोग गर्न नहुने कुनै पनि मोडेलको चिन्ह हटाउनुहोस् — राउटरले ती मोडेलका लागि यो कुञ्जी छोड्नेछ।","count":"{total} मध्ये {selected} छानिएको","allNote":"सबै छानिएका छन् — केही पनि सुरक्षित गरिँदैन, र पछि क्याटलगमा थपिने मोडेलहरूले पनि यही कुञ्जी प्रयोग गर्नेछन्।","subsetNote":"यो कुञ्जी छानिएका मोडेलहरूमा मात्र सीमित हुनेछ। तपाईं यसलाई पछि कुञ्जीको पङ्क्तिबाट परिवर्तन गर्न सक्नुहुन्छ।","skip":"अहिले होइन","scopedOne":"कुञ्जी 1 मोडेलमा सीमित","scopedOther":"कुञ्जी {count} मोडेलमा सीमित","allSaved":"Key serves every catalog model"},"cpTitle":"क्लाइन्ट प्रोफाइलहरू","cpDesc":"प्रत्येक क्लाइन्टका लागि छुट्टै API कुञ्जी, जसको सिस्टम प्रम्प्ट सर्भरले सधैँ लागू गर्छ।","cpEmpty":"अहिलेसम्म कुनै क्लाइन्ट प्रोफाइल छैन।","cpNameLabel":"नाम","cpNamePlaceholder":"जस्तै: सपोर्ट बोट","cpPromptLabel":"सिस्टम प्रम्प्ट (वैकल्पिक)","cpPromptPlaceholder":"यस कुञ्जीबाट गरिने हरेक अनुरोधअघि सर्भरले थप्ने निर्देशनहरू।","cpCreate":"प्रोफाइल बनाउनुहोस्","cpRotate":"कुञ्जी बदल्नुहोस्","cpKeyOnce":"यो कुञ्जी अहिल्यै कपी गर्नुहोस् — यो फेरि देखाइने छैन।","cpEnabledAria":"प्रोफाइल सक्षम","selectKey":"यो कुञ्जी चयन गर्नुहोस्","bulkSelected":"{count} चयन गरिएको","bulkEnable":"सबै सक्षम पार्नुहोस्","bulkDisable":"सबै अक्षम पार्नुहोस्","bulkDelete":"सबै मेट्नुहोस्","bulkDeleteConfirm":"{count} मेट्ने?","bulkResult":"{done} अद्यावधिक भयो; {failed} असफल ।","bulkDeleteResult":"{done} मेटियो; {failed} असफल ।","testProxy":"Test","testingProxy":"Testing…","proxyTestOk":"Proxy works — {ms}ms round trip","proxyTestFail":"Proxy failed: {reason}","editKey":"कुञ्जी सम्पादन","editPlatformLocked":"सिर्जना पछि प्रदायक र एन्डपोइन्ट परिवर्तन गर्न मिल्दैन।","editCredentialHint":"हालको कुञ्जी राख्न खाली छोड्नुहोस्।","editCredentialPartsRequired":"खाता ID र API टोकन दुवै प्रविष्ट गर्नुहोस्।","editModels":"मोडेल सम्पादन","editModelsHint":"Choose which catalog models this key may serve. Select everything to clear the scope so future catalog models use it too.","editModelsCustomHint":"Choose which registered endpoint models this key may serve. Select everything to clear the scope.","editModelsSync":"Check catalog updates","editModelsSyncing":"Checking…","editModelsSynced":"Model catalog checked","outlookUnavailable":"Unavailable","outlookNoForecasts":"Forecast unavailable. More recent traffic or reliable quota readings are needed.","outlookCoverage":"Forecasts available for {count} of {total} pools.","outlookTraffic":"{count} successful requests through this instance in the last {minutes} minutes.","outlookMinimumTraffic":"An exhaustion forecast needs at least {count} successful requests within {minutes} minutes.","outlookNotReportedHint":"The provider has not reported a usable request balance and limit. Local usage is shown; remaining quota is unavailable.","outlookMissingResetHint":"The provider did not report a valid reset time. Remaining quota cannot support an exhaustion forecast.","outlookConfidenceHint":"This balance is not reliable enough for an exhaustion forecast.","outlookObserved":"Balance observed: {time}","outlookUnavailablePools":"Unavailable quota pools ({count})","outlookTitle":"Quota outlook","outlookInsufficient":"Not enough data","outlookLowBalance":"Low balance","outlookRunningLow":"Running low soon","outlookStale":"Needs fresh data","outlookUnknown":"Unknown","outlookWithinQuota":"Within quota","outlookResetsFirst":"Not before reset","outlookExhausted":"Already exhausted","outlookLastReported":"requests last reported","outlookRequestsLeft":"requests left","outlookNotReported":"Not reported","outlookRate":"Recent rate","outlookRateValue":"{count} req/min","outlookRunsOut":"May run out","outlookStaleHint":"This balance is old or its window has expired. A fresh provider reading is needed.","outlookError":"Could not load quota forecasts. Raw observations are still available below.","outlookRetry":"Retry","outlookAttention":"Quota pools needing attention: {count}","outlookNoWarnings":"No forecast warnings. Pools with insufficient data may still be limited.","outlookHint":"Rates count successful requests through this instance only, not usage elsewhere. Forecasts require recent provider balances and reported resets. Warnings appear below 20% remaining or when quota may run out within two hours, before reset.","outlookRaw":"Raw quota observations","addCustomModel":"अनुकूलित मोडेल थप्नुहोस्","modelId":"मोडेल ID","modelIdRequired":"मोडेल ID आवश्यक छ","modelDisplayName":"प्रदर्शन नाम","modelContextWindow":"सन्दर्भ विन्डो (टोकनहरू)","modelRateLimits":"दर सीमाहरू (वैकल्पिक)","modelSupportsTools":"उपकरण कलिङ समर्थन गर्दछ","modelSupportsToolsHint":"यदि यो मोडेलले प्रकार्य वा उपकरणहरू कल गर्न सक्छ भने सक्षम गर्नुहोस्","modelSupportsVision":"दृष्टि (छवि) समर्थन गर्दछ","modelSupportsVisionHint":"यदि यो मोडेलले छवि इनपुट स्वीकार गर्दछ भने सक्षम गर्नुहोस्","createModel":"मोडेल सिर्जना गर्नुहोस्","modelAddedSuccess":"अनुकूलित मोडेल सफलतापूर्वक थपियो","modelAddFailed":"अनुकूलित मोडेल थप्न असफल भयो","testModel":"परीक्षण गर्नुहोस्","testingModel":"परीक्षण हुँदैछ…","testPassedShort":"सफल","testFailedShort":"असफल","testPassed":"मोडेल परीक्षण {latency}ms मा सफल भयो","testFailed":"मोडेल परीक्षण असफल भयो","testThrottled":"कृपया यो मोडेल पुन: परीक्षण गर्नु अघि {seconds} सेकेन्ड पर्खनुहोस्।","noModelsForProvider":"यस प्रदायकको लागि कुनै मोडेल कन्फिगर गरिएको छैन।","testModels":"मोडेलहरू परीक्षण गर्नुहोस्","syncAllCatalog":"Catalog: +{inserted} added, ~{updated} updated, -{removed} removed","requestCapLabel":"Request cap","tokenCapLabel":"Token cap","budgetPeriodLabel":"Budget period","budgetPeriodDaily":"Daily","budgetPeriodWeekly":"Weekly","budgetPeriodMonthly":"Monthly","budgetPeriodAuto":"Auto (follow provider)","autoResolvedDaily":"Detected provider cycle: daily","autoResolvedMonthly":"Detected provider cycle: monthly","autoResolvedFallback":"Provider cycle unknown, defaulting to monthly","capUnlimitedPlaceholder":"असीमित","capEditHint":"Caps reset at the next period boundary, 00:00 UTC. Leave blank for unlimited.","monthlyUsageLine":"यस महिना {requests} अनुरोध, {tokens} टोकन","monthlyUsageRequests":"{requests} requests","monthlyUsageTokens":"{tokens} tokens","monthlyUsageRequestsRelative":"{used} / {cap} ({remaining} left) requests","monthlyUsageTokensRelative":"{used} / {cap} ({remaining} left) tokens","monthlyUsageReset":"reset {date}"}`),backups:{title:`Backups`,description:`Save the routing data to a .sql file beside the database, and restore it later.`,excludedNote:`A backup carries your providers, models, routing settings and request history. Accounts, sessions and URL tokens are never included, so a dump holds no password hashes or login tokens and restoring one cannot log you out. Provider keys stay encrypted with this server's ENCRYPTION_KEY: a backup can only be restored on a server that still holds that key.`,selectHint:`Back up everything, or pick the tables you need.`,selectAll:`Select all`,deselectAll:`Clear`,fullBackup:`Full backup`,backupSelected:`Back up selected ({count})`,created:`Backup written to {filename}`,list:`Backups on disk`,empty:`No backups yet`,full:`All tables`,tablesCount:`{count} tables`,manual:`Manual`,scheduled:`Scheduled`,preRestore:`Pre-restore`,download:`Download`,restore:`Restore`,confirmRestore:`Replace data?`,restored:`Restored. The previous data was saved as {filename}.`,delete:`Delete backup`,prevPage:`Previous`,nextPage:`Next`,autoTitle:`Automatic backups`,autoHint:`The server writes a full backup on this cadence.`,time:`Time (HH:mm)`,intervalDays:`Every N days`,path:`Folder`,pathPlaceholder:`backups`,pathHint:`Relative to the database directory. Backups cannot be written outside it.`,save:`Save schedule`,saved:`Saved`},status:{healthy:`स्वस्थ छ`,rateLimited:`दर-सिमित`,invalid:`अवैध`,error:`त्रुटि`,unchecked:`जाँच नगरिएको`},analytics:{title:`एनालिटिक्स`,description:`भोल्युम, लेटेन्सी, टोकन प्रयोग, र असफलताहरू अनुरोध गर्नुहोस् ।`,range24h:`24 घण्टा`,range7d:`7d`,range30d:`30d`,range90d:`90 डी`,requests:`अनुरोधहरू`,successRate:`सफलताको दर`,inputTokens:`आगत टोकनहरू`,outputTokens:`निर्गत टोकनहरू`,avgLatency:`औसत विलम्बता`,p95Latency:`P95 लेटेन्सी`,avgTtft:`औसत TTFT`,estSavings:`अनुमानित बचत`,requestsByProvider:`प्रदायकद्वारा अनुरोध`,avgLatencyByProvider:`प्रदायकद्वारा औसत लेटेन्सी`,ttftByProvider:`प्रदायकद्वारा पहिलो टोकनको समय`,ttftEmpty:`पहिलो टोकन रेकर्ड गर्न कुनै समय छैन।`,requestsOverTime:`समयसँगै अनुरोधहरू`,tokensOverTime:`समयसँगै टोकन`,byModel:`नमूनाद्वारा`,byPlatform:`प्लेटफर्म द्वारा`,errors:`त्रुटिहरू`,errorDistribution:`त्रुटि वितरण`,pinnedRequests:`पिन गरिएका अनुरोधहरू`,pinnedHonored:`सम्मानित`,fallbackAttempts:`फलब्याक प्रयासहरू`,savingsHint:"तपाईंले वास्तवमै पछिल्लो {range} मा ${actual} बचत गर्नुभयो। यो भनेको समान टोकनहरू भुक्तान गरिएको एपीआईहरूमा खर्च हुने थियो, प्रति मोडेल मूल्य। देखाइएको संख्याले तपाईंको गतिलाई डेटाको अन्तिम {span} देखि पूर्ण 30 दिनसम्म प्रोजेक्ट गर्दछ।",savingsHintExact:"तपाईंले वास्तवमै पछिल्लो {range} मा ${actual} बचत गर्नुभयो। यो भनेको समान टोकनहरू भुक्तान गरिएको एपीआईहरूमा खर्च हुने थियो, प्रति मोडेल मूल्य। देखाइएको संख्या तपाईंको वास्तविक 30-दिनको कुल हो।",requestsHintPinned:`यी {pinned} अनुरोधहरूले नामद्वारा एक विशिष्ट मोडेल पिन गरे। {honored} पिन गरिएको मोडेलद्वारा सेवा गरिएको थियो; {failed} फरक कुरामा असफल भएँ। बाँकी स्वत: मार्ग थिए।`,requestsHintAuto:`यस अवधिमा सबै अनुरोधहरू स्वत: मार्ग थिए; कुनै पनि क्लाइन्टले नामद्वारा निर्दिष्ट मोडेल पिन गरेन।`,requestsHintTypes:`{chat} कुराकानी गर्नुहोस् र {embedding} एम्बेड अनुरोधहरू गर्नुहोस्।`,rangeLabel24h:`२४ घण्टा`,rangeLabel7d:`७ दिन`,rangeLabel30d:`३० दिन`,rangeLabel90d:`९० दिन`,spanDays:`{count} दिन`,spanHours:`{count} घण्टा`,latencyMs:`विलम्बता (ms)`,latency:`विलम्बता`,pinned:`पिन गरिएको`,inTokens:`टोकनमा`,outTokens:`टोकन आउट गर्नुहोस्`,saved:`बचत गरियो`,message:`सन्देश`,time:`समय`,perModelBreakdown:`प्रति-मोडेल ब्रेकडाउन`,usageByKey:`कुञ्जीद्वारा प्रयोग गर्नुहोस्`,keyColumn:`कुञ्जी`,keyLabelFallback:`कुञ्जी #{id}`,errorsByProvider:`प्रदायकद्वारा त्रुटि`,recentErrors:`हालका त्रुटिहरू`,noErrors:`त्रुटि छैन`,recentCalls:`हालैका कलहरू`,clientIp:`क्लाइन्ट आईपी`,clientAgent:`क्लाइन्ट अनुप्रयोग`,requestedModelHint:`{model} अनुरोध गरियो, फलब्याकद्वारा सेवा गरियो`,attempts:`प्रयासहरू`,filterAll:`सबै`,filterCanceled:`रद्द गरिएका`,providerBreakdown:`प्रत्येक प्रदायक क्रमाङ्कन`,tokensPerSec:`टक/एस`,allProviders:`सबै प्रदायकहरू`,requestDetailTitle:`#{id} अनुरोध गर्नुहोस्`,failoverLadder:`असफल भर्याङ`,failoverLadderHint:`प्रत्येक हप यस अनुरोधले फलब्याक चेनको माध्यमबाट क्रममा।`,noAttemptTrace:`यो अनुरोधका लागि कुनै प्रयास पदचिन्ह रेकर्ड गरिएको थिएन ।`,keyOrdinal:`कुञ्जी #{n}`,keyBadge:`कुञ्जी #{n}`,attemptTimingHint:`अनुरोध सुरुबाट अफसेट सुरु गर्नुहोस् · प्रयास अवधि`,requestedModel:`अनुरोध गरिएको नमूना`,ttft:`TTFT`,requestsByAgent:`एजेन्टद्वारा अनुरोधहरू`,sortBy:`{column} अनुसार क्रमबद्ध गर्नुहोस्`,sortHint:`क्रमबद्धता लोड गरिएका {count} पङ्क्तिहरूमा मात्र लागू हुन्छ`,cacheHitRate:`क्यास हिट दर`,cacheSavedTokens:`{tokens} टोकन बचत`,cacheHitRateHint:`सर्भर सुरु भएदेखि {hits} हिट बनाम {misses} मिस · {requests} प्रदायक कल बचाइयो`},logs:{title:`लग`,description:`लाइभ सर्भर लग। पृष्ठ खुला रहेसम्म नयाँ प्रविष्टिहरू आइरहन्छन्।`,pause:`रोक्नुहोस्`,resume:`पुनः सुरु गर्नुहोस्`,clear:`लग खाली गर्नुहोस्`,cleared:`सर्भर लग खाली गरियो`,levelFilter:`लग स्तरहरू`,levels:{debug:`डिबग`,info:`इन्फो`,warn:`चेतावनी`,error:`त्रुटि`},countsHint:`गणनाहरू सर्भरमा रहेको सम्पूर्ण लग बफरको जम्मा हो, केवल यी फिल्टरसँग मेल खाने प्रविष्टिहरूको होइन।`,searchPlaceholder:`लग सन्देशहरू खोज्नुहोस्...`,jumpToLatest:`पछिल्लोमा जानुहोस्`,showMore:`थप देखाउनुहोस्`,showLess:`कम देखाउनुहोस्`,buffered:`बढीमा {max} बफर गरिएका प्रविष्टिहरूमध्ये {count} देखाइँदै छ`,emptyTitle:`अहिलेसम्म कुनै लग प्रविष्टि छैन`,emptyDescription:`सर्भरले लेख्दै जाँदा प्रविष्टिहरू यहाँ देखिनेछन्। आउटपुटको अपेक्षा गर्नुभएको थियो भने स्तर, प्रदायक वा खोज फिल्टरको दायरा बढाउनुहोस्।`,noLevelsTitle:`कुनै स्तर चयन गरिएको छैन`,noLevelsDescription:`लग आउटपुट हेर्न कम्तीमा एउटा स्तर चालु गर्नुहोस्।`,loadFailed:`सर्भर लग लोड गर्न सकिएन।`},playground:{title:`खेल मैदान[सम्पादन गर्ने]`,description:`राउटर मार्फत एक च्याट पूरा पठाउनुहोस् र जो प्रदायक यो सेवा हेर्नुहोस्.`,autoModel:`स्वत: (फलब्याक श्रृङ्खला)`,fusionModel:`फ्यूजन (बहु-मोडेल संश्लेषण)`,selectModel:`नमूना चयन गर्नुहोस्`,searchModels:`नमूनाहरू खोजी गर्नुहोस्...`,noModelsFound:`कुनै नमूना फेला परेन`,send:`पठाउनुहोस्`,sending:`पठाउँदैछ...`,clear:`खाली गर्नुहोस्`,inputPlaceholder:`सन्देश टाइप गर्नुहोस्... (⏎ पठाउन, ⇧⏎ न्यूलाइनको लागि)`,emptyTitle:`सुरुआतका लागि सन्देश पठाउनुहोस् ।`,emptyDescription:`{model} प्रयोग गर्दै। माथिको चयनकर्तामा मोडेलहरू स्विच गर्नुहोस्।`,noModels:`अहिलेसम्म कुनै मोडेलहरू छैनन्। यो सूची भर्न कुञ्जी पृष्ठमा API कुञ्जी थप्नुहोस् ।`,copyReply:`जवाफ प्रतिलिपि बनाउनुहोस्`,fallback:`फलब्याक`,fallbacks:`फलब्याकहरू`,fusionPanel:`प्यानल`,fusionJudge:`न्यायाधीश[सम्पादन गर्ने]`,fusionTrace:`{count} मोडेल प्रतिक्रियाहरू`,fusionFailed:`कुनै प्रतिक्रिया छैन`,fusionJudgeSynth:`अन्तिम उत्तरको संश्लेषण गरियो`,errorPrefix:`त्रुटि:`,systemPromptLabel:`प्रणाली प्रवर्धन`,systemPromptPlaceholder:`वैकल्पिक छ । तपाईँको कुराकानी भन्दा पहिले प्रणाली सन्देशको रूपमा पठाइयो ।`,showSettings:`सेटिङ देखाउनुहोस्`,hideSettings:`सेटिङ लुकाउनुहोस्`,samplingHeading:`स्याम्पलिङ`,samplingHelp:`बन्द हुँदा प्रदायकको आफ्नै पूर्वनिर्धारित मान लागू हुन्छ। तपाईंले खोल्नुभएका नियन्त्रणहरू मात्र पठाइन्छ।`,samplingDefault:`पूर्वनिर्धारित`,temperature:`तापक्रम`,topP:`Top P`,maxTokens:`अधिकतम टोकन`,errorTitle:`अनुरोध असफल भयो`,attach:`फाइलहरू संलग्न गर्नुहोस्`,attachTooMany:`तपाईं प्रति सन्देश {count} वटासम्म फाइल संलग्न गर्न सक्नुहुन्छ।`,attachTooLarge:`{name} धेरै ठूलो छ। सीमा {max} हो।`,attachUnsupported:`{name} समर्थित छैन। छवि (PNG, JPEG, WebP, GIF) वा पाठ फाइलहरू (TXT, MD, CSV, JSON, LOG) संलग्न गर्नुहोस्।`,attachFailed:`{name} पढ्न सकिएन।`,noVisionBadge:`छवि छैन`,visionWarning:`{model} ले छवि स्वीकार गर्दैन। छवि स्वीकार गर्ने मोडेल वा स्वत: छान्नुहोस्।`,dictate:`बोलेर लेख्नुहोस्`,dictationStop:`रेकर्डिङ रोक्नुहोस्`,dictationTranscribing:`लेखिँदैछ…`,dictationUnavailable:`बोलेर लेख्न अडियो मोडेल प्रदायकहरू थप्नुहोस्।`,dictationModel:`श्रुतलेखन मोडेल`,dictationFailed:`लेख्न असफल: {reason}`,artifactOpen:`पूर्वावलोकन खोल्नुहोस्`,artifactPreview:`पूर्वावलोकन`,artifactCode:`कोड`,artifactClose:`पूर्वावलोकन बन्द गर्नुहोस्`,artifactDownload:`डाउनलोड`,artifactReload:`पूर्वावलोकन पुनः लोड गर्नुहोस्`,artifactHtml:`HTML पृष्ठ`,artifactSvg:`SVG छवि`,artifactLines:`पङ्क्तिहरू`,artifactResize:`पूर्वावलोकनको आकार बदल्नुहोस्`},playgroundSessions:{heading:`कुराकानीहरू`,newConversation:`नयाँ कुराकानी`,showSidebar:`कुराकानीहरू देखाउनुहोस्`,hideSidebar:`कुराकानीहरू लुकाउनुहोस्`,empty:`अहिलेसम्म कुनै सुरक्षित कुराकानी छैन।`,untitled:`शीर्षकविहीन कुराकानी`,rename:`नाम बदल्नुहोस्`,renamePlaceholder:`कुराकानीको नाम`,messageCount:`{count} सन्देश`,justNow:`भर्खरै`,minutesAgo:`{count} मि. अघि`,hoursAgo:`{count} घ. अघि`,daysAgo:`{count} दि. अघि`,loadFailed:`त्यो कुराकानी खोल्न सकिएन।`,renameFailed:`त्यो कुराकानीको नाम बदल्न सकिएन।`,deleteFailed:`त्यो कुराकानी मेट्न सकिएन।`,actions:`वार्तालाप कार्यहरू`,newChat:`नयाँ च्याट`},embeddings:{title:`नमूनाहरू`,description:`एम्बेडिंग केवल एक परिवार भित्र असफल हुन्छ: अर्को प्रदायक द्वारा सेवा गरिएको उही मोडेल। विभिन्न मोडेलहरूबाट भेक्टरहरू असंगत छन्, त्यसैले राउटरले तपाईंमा मोडेलहरू कहिल्यै स्वाप गर्दैन।`,defaultBadge:`पूर्वनिर्धारित · स्वत:`,makeDefault:`पूर्वनिर्धारित बनाउनुहोस्`,moveUp:`माथि सार्नुहोस्`,moveDown:`तल सार्नुहोस्`,usageToday:`{count} आजको जवाफ दिनुहोस्`,usageMonth:`{count} महिना टक गर्नुहोस्`,autoDescription:`model: "auto" पूर्वनिर्धारित परिवारको POST /v1/embeddings मार्गहरूमा जानुहोस्। एक परिवारको नामकरण (वा एक प्रदायक मोडेल आईडी) त्यो परिवारलाई पिन गर्दछ; यो भित्र प्रदायकहरू क्रममा प्रयास गरिन्छ।`,unsavedChanges:`बचत नगरिएका परिवर्तनहरू`,saveChanges:`परिवर्तनहरू बचत गर्नुहोस्`,savingChanges:`बचत गर्दैछ...`,tokMax:`{tokens} अधिकतम`,emptyTitle:`अहिले सम्म कुनै सम्मिलित नमुना छैन`,emptyDesc:`तपाईँले एम्बेडिङलाई समर्थन गर्ने प्रदायक कुञ्जी थप्नु भएपछि सम्मिलित परिवारहरू यहाँ देखा पर्दछ।`,dragToReorder:`प्रदायक पुन: क्रमबद्ध गर्न तान्नुहोस्`},fusion:{title:`फ्युजन`,description:`मोडेलहरूको एक प्यानल समानान्तरमा जवाफ दिन्छ, त्यसपछि एक न्यायाधीशले एक बलियो उत्तरको संश्लेषण गर्दछ। मोडेलको साथ API कल गरेर यसलाई प्रयोग गर्नुहोस् "फ्यूजन"।`,panelSource:`प्यानल स्रोत`,panelSourceHelp:`प्यानल मोडेलहरू कहाँबाट आउँदछन् जब अनुरोधले यसको आफ्नै निर्दिष्ट गर्दैन।`,mode:{auto:`स्वत: (फलब्याक चेन)`,autoHelp:`तपाईंको फलब्याक चेनबाट मोडेलहरूको विविध सेट छान्नुहोस्, तपाईंको सक्रिय मार्ग रणनीति द्वारा क्रमबद्ध।`,explicit:`स्पष्ट प्यानल`,explicitHelp:`तपाईँले तल छनौट गर्नुभएको विशिष्ट मोडेलहरू सँधै प्रयोग गर्नुहोस्।`},panelModels:`प्यानल नमूनाहरू`,selectedCount:`चयन गरिएका {count} {max}`,noModels:`कुनै मोडेलहरू अझै जडान गरिएको छैन। API कुञ्जी थप्नुहोस्, त्यसपछि फलब्याक चेनमा मोडेलहरू सक्षम गर्नुहोस्।`,panelSize:`प्यानलको आकार`,panelSizeHelp:`कति विविध मोडेलहरू स्वचालित रूपमा छनौट गर्ने (1-{max})।`,judge:`न्यायाधीश मोडेल[सम्पादन गर्ने]`,judgeHelp:`मोडेल जसले प्यानलको उत्तरहरू एकमा संश्लेषित गर्दछ। स्वत: तपाईंको शीर्ष-श्रेणीको उपलब्ध मोडेल प्रयोग गर्दछ।`,judgeAuto:`स्वत: (शीर्ष स्थान उपलब्ध छ)`,strategy:`रणनीति[सम्पादन गर्ने]`,strategySynthesize:`संश्लेषण गर्नुहोस् - प्यानललाई एउटा जवाफमा मिश्रण गर्नुहोस्`,strategyBestOf:`सबै भन्दा राम्रो - एकल सबैभन्दा बलियो जवाफ फर्काउनुहोस् (कुनै न्यायाधीश कल छैन)`,strategySynthesizeShort:`संश्लेषण गर्नुहोस्`,strategyBestOfShort:`सबै भन्दा राम्रो`,exposePanel:`प्यानल विवरण प्रदर्शन गर्नुहोस्`,exposePanelHelp:`प्रतिक्रियामा प्रत्येक मोडेलको उत्तर र न्यायाधीश मेटाडेटा x_fusion क्षेत्र अन्तर्गत संलग्न गर्नुहोस्।`,howToUse:`कसरी प्रयोग गर्ने?`,howToUseHelp:`मोडेल "फ्यूजन" संग एक सामान्य च्याट अनुरोध पठाउनुहोस्। यी सेटिङहरू पूर्वनिर्धारित हुन्; कुनै पनि अनुरोधले तिनीहरूलाई "फ्यूजन" फिल्डको साथ ओभरराइड गर्न सक्छ।`,unsavedChanges:`बचत नगरिएका परिवर्तनहरू`,save:`बचत गर्नुहोस्`,searchPlaceholder:`Search models…`,providerFilterLabel:`Filter by provider`,providerAll:`All providers`,noMatch:`No models match your search.`},premium:{title:`प्रिमियम`,description:`प्रत्यक्ष मोडेल क्याटलग, प्रत्येक उपकरणमा।`,loading:`लोड हुँदैछ...`,checkForUpdates:`अद्यावधिकका लागि जाँच गर्नुहोस्`,syncing:`समक्रमण गर्दैछ...`,catalogFeed:`विवरणिका फिड`,liveFeed:`प्रत्यक्ष फिड`,monthlySnapshot:`मासिक स्न्यापसट`,lastChecked:`अन्त्यमा जाँच गरिएको: {when}`,liveDescription:`नयाँ नि: शुल्क मोडेलहरू, कोटा परिवर्तनहरू, र क्विर्क फिक्सहरू पठाइएको केही घण्टा भित्र यहाँ ल्यान्ड गर्दछ। अनुप्रयोगले दिनमा दुई पटक स्वचालित रूपमा जाँच गर्दछ; केही पनि गर्नु पर्दैन ।`,snapshotDescription:`नि: शुल्क स्तर: क्याटलग मासिक स्न्यापशटबाट ताजा हुन्छ, दिनमा दुई पटक स्वचालित रूपमा जाँच गरिन्छ। प्रिमियमले यसलाई लाइभ फिडमा स्विच गर्दछ, प्रत्येक 2-3 दिनमा अद्यावधिक हुन्छ।`,lastSyncProblem:`अन्तिम समक्रमण समस्या: {error}`,license:`इजाजतपत्र`,planAnnual:`प्रिमियम वार्षिक`,planLifetime:`प्रिमियम लाइफटाइम`,expired:`म्याद समाप्त भयो`,inactive:`निस्क्रिय`,lifetimeNote:`आजीवन इजाजतपत्र: कहिल्यै म्याद समाप्त हुँदैन।`,renewsOn:`{date} मा नवीकरण गर्नुहोस्।`,willNotRenew:`नवीकरण हुँदैन । {date} सम्म प्रिमियम, त्यसपछि यो स्थापना नि: शुल्क मासिक क्याटलगमा फर्कन्छ।`,keyInactive:`यो कुञ्जी अब सक्रिय छैन । अनुप्रयोगले नि: शुल्क मासिक क्याटलगमा काम गरिरहेको छ।`,manageSubscription:`सदस्यता प्रबन्ध गर्नुहोस्`,openingPortal:`खोल्दैछ...`,removeKey:`यो यन्त्रबाट कुञ्जी हटाउनुहोस्`,manageHint:`सदस्यता प्रबन्ध गर्नुहोस् Stripe बिलिङ पोर्टल खोल्छ: रद्द गर्नुहोस्, तपाईंको कार्ड अपडेट गर्नुहोस्, वा इनभ्वाइसहरू डाउनलोड गर्नुहोस्। कुञ्जी हटाउँदा मात्र यो यन्त्र निस्क्रिय पार्दछ; तपाईंको खरीद अछुतो छ।`,licenseKey:`इजाजतपत्र कुञ्जी`,licenseKeyPlaceholder:`fla_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`,activate:`सक्रिय पार्नुहोस्`,activating:`सक्रिय पार्दैछ...`,keyHint:`तपाईंको कुञ्जी तपाईंको खरीद ईमेलमा र पोस्ट-चेकआउट पृष्ठमा छ। यो हरायो?`,recoverKey:`वेबसाइटमा यसलाई पुन: प्राप्त गर्नुहोस्`,upsellTitle:`प्रति वर्ष $ 19 को लागि लाइभ गर्नुहोस्`,upsellDescription:`नयाँ नि: शुल्क मोडेलहरू 30 दिन पछिको सट्टामा तिनीहरू अवस्थित छन्। एक कुञ्जी, प्रत्येक उपकरण। कुनै पनि समयमा रद्द गर्नुहोस्; राउटर सधैँका लागि फ्रि रहन्छ ।`,goPremium:`प्रिमियम जानुहोस्`,bundled:`बण्डल गरिएको`,planGeneric:`प्रिमियम`},languages:{en:`English`,"zh-CN":`中文 (简体)`,es:`Español`,fr:`Français`,"pt-BR":`Português (Brasil)`,it:`Italiano`,hi:`हिन्दी`,ar:`العربية`,bn:`বাংলা`,ru:`Русский`,ur:`اردو`,id:`Bahasa Indonesia`,de:`Deutsch`,ja:`日本語`,sw:`Kiswahili`,mr:`मराठी`,te:`తెలుగు`,tr:`Türkçe`,ta:`தமிழ்`,vi:`Tiếng Việt`,ko:`한국어`,fa:`فارسی`,th:`ไทย`,gu:`ગુજરાતી`,pl:`Polski`,uk:`Українська`,kn:`ಕನ್ನಡ`,ml:`മലയാളം`,or:`ଓଡ଼ିଆ`,my:`မြန်မာဘာသာ`,pa:`ਪੰਜਾਬੀ`,ro:`Română`,nl:`Nederlands`,ms:`Bahasa Melayu`,tl:`Filipino`,ha:`Hausa`,yo:`Yorùbá`,ig:`Igbo`,am:`አማርኛ`,uz:`Oʻzbekcha`,az:`Azərbaycanca`,si:`සිංහල`,ne:`नेपाली`,km:`ខ្មែរ`,el:`Ελληνικά`,cs:`Čeština`,hu:`Magyar`,sv:`Svenska`,he:`עברית`,da:`Dansk`,fi:`Suomi`,no:`Norsk`,sk:`Slovenčina`,bg:`Български`,hr:`Hrvatski`,sr:`Српски`,lt:`Lietuvių`,"zh-TW":`中文 (繁體)`,"pt-PT":`Português (Portugal)`,ka:`ქართული`},errors:{boundaryTitle:`केही गलत भयो`,boundaryDescription:`ड्यासबोर्डले अनपेक्षित त्रुटि गर् यो। तपाईंको डाटा सुरक्षित छ । फेरि प्रयास गर्नुहोस् वा मोडेल पृष्ठमा फर्कनुहोस्।`,tryAgain:`पुनः प्रयास गर्नुहोस्`,goHome:`मोडेलहरूमा फर्कनुहोस्`},notFound:{title:`पृष्ठ फेला परेन`,description:`यो पृष्ठ अवस्थित छैन वा सरेको हुन सक्छ ।`},setup:{title:`सुरु हुदैछ`,subtitle:`तपाईंको पहिलो अनुरोधलाई रूट गर्न तीन चरणहरू।`,progress:`{done} of {total}`,step1Title:`प्रदायक कुञ्जी थप्नुहोस्`,step1Desc:`कम्तिमा एउटा प्रदायक खाता जडान गर्नुहोस् । नि: शुल्क कुञ्जीहरूले काम गर्दछ।`,step1Cta:`कुञ्जीहरू थप्नुहोस्`,step2Title:`परीक्षण अनुरोध पठाउनुहोस्`,step2Desc:`खेल मैदानमा कुनै पनि मोडेल छान्नुहोस् र नमस्ते भन्नुहोस्।`,step2Cta:`खेल मैदान खोल्नुहोस्`,step3Title:`तपाईँको अनुप्रयोग जडान गर्नुहोस्`,step3Desc:`कुनै पनि OpenAI-मिल्दो क्लाइन्टसँग तपाईंको एकीकृत API कुञ्जी प्रयोग गर्नुहोस्।`,copyKey:`API कुञ्जी प्रतिलिपि बनाउनुहोस्`,copyUrl:`आधार URL प्रतिलिपि बनाउनुहोस्`,copiedKey:`API कुञ्जी क्लिपबोर्डमा प्रतिलिपि गरियो`,copiedUrl:`क्लिपबोर्डमा आधार URL प्रतिलिपि गरियो`},palette:{title:`आदेश रङदानी`,placeholder:`पृष्ठ, नमूना, कार्य खोजी गर्नुहोस्...`,empty:`परिणाम छैन`,groupPages:`पृष्ठहरू`,groupActions:`कार्यहरू`,groupModels:`नमूनाहरू`,toggleTheme:`गाढा मोड टगल गर्नुहोस्`},validation:{required:`आवश्यक छ`,url:`http:// वा https:// सँग सुरु भएको वैध URL प्रविष्ट गर्नुहोस्`,email:`वैध इमेल ठेगाना प्रविष्ट गर्नुहोस्`,passwordMin:`कम्तिमा {min} क्यारेक्टरहरू`},agents:{title:`कोडिङ एजेन्टहरू`,description:`कोडिङ उपकरणहरूलाई स्वतः सिर्जना गरिएको, ब्याकअप-सुरक्षित कन्फिगरेसनसहित एउटै नि:शुल्क-मोडेल गेटवेमा जोड्नुहोस्।`,apiKey:`API कुञ्जी`,quickstartTitle:`द्रुत सुरुवात`,quickstart:`सबैभन्दा छिटो बाटो: प्रत्यक्ष क्याटलगबाट Claude Code कन्फिगर गर्नुहोस्।`,currentKey:`हालको एकीकृत कुञ्जी:`,seenRecently:`भर्खरै देखिएको`,setupLabel:`स्वचालित सेटअप`,setupHint:`यो उपकरणको कन्फिग फाइल तपाईंका लागि लेख्छ, यही गेटवेतर्फ इंगित गर्दै।`,setupGuideHint:`यो उपकरणका सेटअप चरणहरू देखाउँछ; कुनै फाइल लेखिँदैन।`,manualLabel:`म्यानुअल जडान`,manualHint:`उपकरणकै सेटिङमा राख्न बेस URL र कुञ्जी।`,endpoint:`एन्डपोइन्ट`,documentation:`दस्तावेज`,descriptions:{claude:`Anthropic's terminal agent: it plans, edits files, and runs commands in your repo.`,codex:`OpenAI's terminal agent, which runs your task in a local sandbox first.`,cline:`A VS Code extension that asks you to approve every edit and command.`,continue:`A VS Code and JetBrains extension for inline autocomplete and chat while you type.`,aider:`A command-line pair programmer that turns each change into its own git commit.`,opencode:`A provider-agnostic terminal agent with a full-screen text interface.`,goose:`Block's local agent, extended with MCP servers to reach past your code.`,qwen:`A Gemini CLI fork tuned for Qwen models and large repositories.`,roo:`A VS Code extension with switchable modes: architect, coder, debugger.`,kilo:`A VS Code extension merging Roo and Cline, with an orchestrator that splits up work.`,crush:`Charm's terminal agent, written in Go, with one session per project.`,dsh:`DeepSeek's harness, which keeps every provider as a route you can switch between.`,mimo:`Xiaomi's terminal agent, an OpenCode fork that takes any OpenAI-compatible provider.`,cursor:`The AI-first editor; it calls through Cursor's cloud, so it needs a public URL.`,generic:`Anything else that speaks the OpenAI API, set up by hand from a base URL and key.`,atomcode:`AtomGit's terminal agent, written in Rust, that takes any OpenAI-compatible endpoint.`,openclaw:`तपाईंको आफ्नै मेसिनबाट WhatsApp, Telegram, Discord र अन्यमा जवाफ दिने, सधैं चालु रहने व्यक्तिगत सहायक।`,hermes:`Nous Research को आफैं सुधारिने एजेन्ट, स्थायी मेमोरी र सीपहरूसहित, टर्मिनलमा वा च्याट एपहरूमा।`,pi:`एक न्यूनतम टर्मिनल एजेन्ट, जसलाई तपाईं आफ्नै एक्सटेन्सन, सीप र प्रम्प्ट टेम्प्लेटले आकार दिनुहुन्छ।`}},update:{available:`New version available`,whatsNew:`What's new in v{version}`,publishedOn:`Published {date}`,noNotes:`No release notes were published for this version.`,openRelease:`Open release page`,dismissVersion:`Dismiss this version`,dismiss:`Dismiss`},freeTier:{poolsToggle:`Free-tier pools ({count})`,poolsToggleBare:`Free-tier pools`,summary:`{pools} pools · {budget} tokens/mo counted once per pool · {credits} credits-based · {unpublished} unpublished`,pool:`Pool`,models:`Models`,budget:`Monthly budget`,kind:`Kind`,kindDocumented:`Documented`,kindCredits:`Credits`,kindUnpublished:`Unpublished`,remaining:`Remaining`,resetAt:`Resets at`,disabledModels:`({count} off)`,metricTokens:`tokens`,metricRequests:`requests`,metricCredits:`credits`,metricNeurons:`neurons`,metricOther:`units`,empty:`No enabled models with free-tier budget data.`,poolLabel:`{platform} · shared {scope} pool`,poolLabelBare:`{platform} · shared pool`,poolModels:`{count} models`,poolBudget:`{budget}/mo`,poolBudgetTitle:`One monthly allowance for the whole pool, scaled by the {count} usable keys on this platform. Every model listed under it draws from the same budget.`,poolNoQuota:`no published quota`,poolResets:`resets {time}`,independentBudgets:`independent budgets`},chains:{title:`Fallback chains`,description:`Named chains, each callable as auto:<name> in /v1/models.`,count:`{count} chains`,active:`Active`,default:`Default`,activate:`Activate`,activateHint:`Make this the chain the table below edits and the one auto routes through`,deleteHint:`Delete this chain`,deleteConfirm:`Delete chain "{name}"?`,create:`Create`,createPlaceholder:`Chain name`,createFailed:`Could not create the chain.`,nameRules:`Up to 20 characters: letters, digits, hyphens and underscores.`,startEmpty:`Start empty`,startEmptyHint:`Create the chain with no models in it, and keep new catalog models out of it. Unchecked, it starts as a copy of the default chain.`,curated:`Curated`,curatedHint:`New catalog models are not added to this chain automatically.`,renameHint:`यो चेनको नाम बदल्नुहोस्`,renameConfirm:`चेन "{oldName}" को नाम "{name}" मा बदल्ने? auto:{oldName} बोलाउने क्लाइन्टहरूले auto:{name} मा जानुपर्छ।`,renamePlaceholder:`नयाँ चेन नाम`,renameFailed:`चेनको नाम बदल्न सकिएन।`},notifications:{catalogAdded:`{count} new models added from catalog`,catalogAddedFrom:`{count} new models added for {provider}`,catalogRemoved:`{count} models removed from catalog`,catalogRemovedFrom:`{count} models removed for {provider}`,catalogUpdated:`{count} models updated from latest catalog`,catalogUpdatedFrom:`{count} models updated for {provider}`,discoverAdded:`{count} new models from provider {provider}`,discoverRemoved:`{count} models removed from provider {provider}`,degraded:`Degraded mode active — only {healthy}/{total} providers healthy ({pct}%)`,updateAvailable:`Update available: v{version}`},routingStrip:{canceled:`Canceled`,title:`Live routing`,mode:`Mode`,processing:`Processing…`,idle:`Waiting for a request…`,failed:`Failed`,afterAttempts:`Success after {n} attempts`,activeCount:`{n} active`}};export{e as default};
@@ -0,0 +1 @@
1
+ var e={nav:{models:`Modellen`,playground:`Speeltuin`,keys:`Sleutels`,analytics:`Analytics`,premium:`Premie`,upgrade:`Upgrade`,settings:`Instellingen`,signOut:`Uitloggen`,openMenu:`Open navigatiemenu`,switchLight:`Overschakelen naar lichtthema`,switchDark:`Overschakelen naar donker thema`,switchToChinese:`Overstappen naar Chinees`,switchToEnglish:`Overstap naar Engels`,modelsMenu:`Blader door modeltypes`,agents:`Agenten`,logs:`Logs`,analyticsMenu:`Analytics-pagina's`,notifications:`Notifications`,noNotifications:`No notifications yet`},auth:{createYourAccount:`Maak je account aan`,signIn:`Inloggen`,email:`E-mail`,password:`Wachtwoord`,emailPlaceholder:`you@example.com`,passwordPlaceholderSetup:`minstens 8 personages`,passwordPlaceholderLogin:`Je wachtwoord`,setupDescription:`Stel het e-mailadres en wachtwoord in die dit dashboard beschermen.`,loginDescription:`Log in om je sleutels, routering en analyses te beheren.`,createAccount:`Account aanmaken`,creating:`Creëren...`,signingIn:`Inloggen...`,loading:`Laden...`,newPasswordAutoComplete:`Nieuw-wachtwoord`,currentPasswordAutoComplete:`current-password`,serverUnreachableBefore:`Ik kan de server niet bereiken. Zorg dat de backend draait (`,serverUnreachableAfter:`).`,setupCode:`Setupcode`,setupCodePlaceholder:`Code uit de serverlogs`,setupCodeHint:`Voor het instellen vanaf een ander apparaat moet de eenmalige code in de serverlogs bij het opstarten worden afgedrukt.`,changePassword:`Wachtwoord wijzigen`,changeEmail:`E-mail wijzigen`,forgotPassword:`Wachtwoord vergeten?`,currentPassword:`Huidig wachtwoord`,newPassword:`Nieuw wachtwoord`,newEmail:`Nieuw e-mailadres`,resetCode:`Resetcode`,resetCodePlaceholder:`code uit de serverlogs`,resetCodeHint:`De code staat in de serverlog. Hij wordt nooit per e-mail verstuurd.`,forgotPasswordDescription:`Klik op de knop hieronder om een resetcode te genereren. De code wordt naar de serverlog geschreven en nooit per e-mail verstuurd. Voer hem hier in om een nieuw wachtwoord in te stellen.`,requestResetCode:`Resetcode versturen`,requestingResetCode:`Versturen…`,resetPassword:`Wachtwoord resetten`,resettingPassword:`Resetten…`,changingPassword:`Wijzigen…`,changingEmail:`Wijzigen…`,backToLogin:`Terug naar inloggen`,passwordChanged:`Wachtwoord gewijzigd.`,emailChanged:`E-mailadres gewijzigd.`,passwordReset:`Wachtwoord gereset. Log opnieuw in.`,resetCodeDockerHint:`Draait het in Docker? De code staat in de containerlog: docker logs <container>.`,desktopSessionFailed:`Het dashboard kon niet inloggen op de lokale server. Sluit SRouter af en open het opnieuw.`},common:{save:`Sla op`,saving:`Redden...`,cancel:`Annuleren`,discard:`Afgooi`,delete:`Verwijderen`,confirm:`Bevestig`,copy:`Begrepen`,copied:`Gekopieerd`,copyFailed:`Kopiëren mislukt — selecteer de tekst en kopieer handmatig`,show:`Show`,hide:`Verstop`,apply:`Solliciteer`,applied:`Toegepast`,applying:`Solliciteren...`,active:`Actief`,inactive:`Inactief`,never:`nooit`,loading:`Laden...`,error:`Fout`,noData:`Nog geen gegevens`,unsavedChanges:`Wijzigingen die niet opgeslagen zijn`,saveChanges:`Wijzigingen in het opslaan`,remove:`Verwijder`,unknownError:`Onbekende fout`,model:`Model`,provider:`Aanbieder`,success:`Succes`,failures:`Mislukkingen`,dismiss:`Ontslag`,status:`Status`},settings:{title:`Instellingen`,language:`Taal`,theme:`Thema`,themeSystem:`Systeem`,themeLight:`Licht`,themeDark:`Donker`,searchLanguage:`Talen zoeken…`,noLanguages:`Geen talen gevonden`,sections:`Instellingssecties`,sectionGeneral:`Algemeen`,sectionCompression:`Compressie`,sectionAdvanced:`Geavanceerd`,sectionPreview:`Voorbeeld`,generalDescription:`Taal en uiterlijk van dit dashboard.`,advancedDescription:`Drempelwaarden en veiligheidsschakelaars voor de compressiepipeline.`,compressionTitle:`Promptcompressie`,compressionDescription:`Verklein de omvang van verzoeken vóór routering, met behoud van code, fouten, paden, getallen en tooldefinities.`,compressionHelp:`Herschrijft elk verzoek voordat het naar een aanbieder wordt gestuurd, zodat het minder tokens gebruikt. Code, fouten, bestandspaden en getallen zijn beschermd, en elke herschrijving die ze beschadigt wordt verworpen.`,compressionMode:`Modus`,compressionModeHelp:`Uit stuurt verzoeken ongewijzigd door. Verliesvrij verwijdert alleen dubbele en overbodige tekst. Standaard kort daarnaast tooluitvoer in. Agressief vat bovendien oudere gespreksbeurten samen.`,compressionOff:`Uit`,compressionLossless:`Verliesvrij`,compressionStandard:`Standaard`,compressionAggressive:`Agressief`,compressionLossy:`Met verlies`,compressionEngines:`Engines`,compressionEnginesHelp:`Elke engine is één herschrijfstap. De modus bepaalt welke engines draaien; als je er hier één uitschakelt, blijft die in elke modus uit.`,engineDedup:`Herhaalde blokken`,engineDedupHelp:`Vervangt een tekstblok dat eerder in het gesprek voorkwam door een korte verwijzing ernaar.`,engineLite:`Witruimte opschonen`,engineLiteHelp:`Haalt spaties aan het eind van regels weg, voegt herhaalde lege regels samen en verwijdert dubbele systeemberichten.`,engineReadLifecycle:`Achterhaalde bestandslezingen`,engineReadLifecycleHelp:`Vervangt een eerdere bestandslezing door een notitie zodra hetzelfde bestand later opnieuw wordt gelezen of bewerkt.`,engineToolfilter:`Tooluitvoerfilter`,engineToolfilterHelp:`Kort de uitvoer van commando's en tools in, zoals builds, tests en installaties. Regels met fouten en stacktraces blijven altijd behouden.`,engineJsoncompact:`JSON-tabellen`,engineJsoncompactHelp:`Codeert lange JSON-arrays met dezelfde velden opnieuw als een compacte tabel. Omkeerbaar, dus er gaat niets verloren.`,engineRelevance:`Relevantiefilter`,engineRelevanceHelp:`Laat de zinnen weg die het minst met het laatste bericht te maken hebben zodra een bericht zijn omvangbudget overschrijdt.`,engineAging:`Oudere gespreksbeurten`,engineAgingHelp:`Vat de beurten vóór de meest recente samen tot een korte samenvatting die paden, fouten en beslissingen behoudt.`,engineHardBudget:`Tokenplafond`,engineHardBudgetHelp:`Verwijdert de minst waardevolle regels tot het verzoek binnen het tokendoel past.`,compressionAutoTrigger:`Automatisch activeren boven geschat aantal tokens`,compressionAutoTriggerHelp:`Verzoeken die boven dit geschatte aantal tokens uitkomen, schakelen automatisch over naar Agressief. Laat leeg om dit uit te schakelen.`,compressionPrefixFreeze:`Terugkerende promptprefixen bevriezen`,compressionPrefixFreezeHelp:`Laat een systeemprompt ongemoeid zodra dezelfde tekst drie keer is gezien, zodat promptcaching aan de kant van de aanbieder blijft werken.`,compressionTrustProjectFilters:`Projectfilterbestanden vertrouwen`,compressionTrustProjectFiltersHelp:`Laadt ook tooluitvoerfilters uit de werkmap. Staat standaard uit, omdat een repository dit zou kunnen gebruiken om uitvoer voor het model te verbergen.`,compressionStats:`Omvang bespaard`,compressionEstimatedTokensSaved:`Geschat aantal bespaarde tokens`,compressionPreview:`Live voorbeeld`,compressionPreviewDescription:`Stuur een verzoekinhoud door de pipeline om te zien wat een aanbieder zou ontvangen.`,compressionPreviewPlaceholder:`Plak verzoek-JSON of platte tekst`,compressionRunPreview:`Voorbeeld uitvoeren`,updatesTitle:`Updates`,checkForUpdates:`Controleer op updates`,lastChecked:`Laatst gecontroleerd: {when}`,currentVersion:`Huidige build:`,updateAvailable:`Update beschikbaar`,changelog:`Wat is er veranderd`,upToDate:`Up-to-date`,buildAhead:`Deze build loopt voor op de officiële main-branch.`,buildDiverged:`Deze build is afgeweken van de officiële main-branch.`,buildUnknown:`Deze aangepaste build kan niet worden vergeleken met de officiële main-branch.`,notGitInstall:`Deze installatie bevat geen commitinformatie.`,checkFailed:`Kan niet controleren op updates.`,contactsGithub:`Controles worden handmatig uitgevoerd en maken contact met GitHub.`,autoUpdateCheck:`Automatische updatecontrole`,autoUpdateCheckHelp:`Controleert GitHub eenmaal per dag op een nieuwe release en toont een herinnering. Standaard uitgeschakeld.`,openReleases:`GitHub Releases openen`,restartAfterUpdate:`Start SRouter opnieuw nadat de build is voltooid.`,syncSchedule:`Model Sync`,syncScheduleHint:`How often the model catalog is refreshed from the server`,syncIntervalOff:`Off`,syncInterval6h:`Every 6h`,syncInterval12h:`Every 12h`,syncInterval24h:`Every 24h`},models:{title:`Modellen`,chatModelsTab:`Chatmodellen`,fusionTab:`Fusie`,embeddingsTab:`Embeddings`,imageTab:`Afbeelding`,videoTab:`Video`,audioTab:`Audio`,imageDesc:`Tekst-naar-beeld generatiemodellen.`,videoDesc:`Text-to-video generation models.`,audioDesc:`Tekst-naar-spraak en spraak-naar-tekst modellen.`,mediaHint:`Genereer via`,mediaEmpty:`Nog geen modellen. Ze synchroniseren vanuit de catalogus.`,ttsHeading:`Tekst-naar-spraak`,sttHeading:`Spraak-naar-tekst`,sttHint:`Transcribeer via`,sttEmpty:`Nog geen spraak-naar-tekst modellen. Ze synchroniseren vanuit de catalogus.`,newBadge:`Nieuw`,monthlyTokenBudget:`Maandelijks tokenbudget`,remaining:`Overblijft`,used:`Gebruikt`,usedScopeHint:`Alleen chatverzoeken, vanaf het begin van deze kalendermaand, opgeteld over alle modellen in de actieve keten — aangepaste endpoints inbegrepen. Verkeer dat je buiten SRouter om naar een provider stuurt, telt niet mee.`,legendRemainingTitle:`Resterend / maandbudget voor {name} ({platform})`,noPublishedQuota:`+{count} zonder gepubliceerd quotum`,noPublishedQuotaTitle:`Voor deze modellen is geen maandelijks tokenbudget gedocumenteerd, dus er is geen resterend bedrag te tonen.`,of:`van`,showAllModels:`Laat alle {count} modellen zien`,showLess:`Laat minder zien`,vision:`Visie`,visionTitle:`Accepteert beeldinvoer`,tools:`Gereedschappen`,toolsTitle:`Zendt gestructureerde tooloproepen uit, zodat het in aanmerking komt voor tool-bearing verzoeken`,retired:`Uitgefaseerd`,penalty:`−{value} straf`,obs:`{count} obs`,tokPerMonth:`{count} tok/mo`,rpmLimit:`{count} toeren`,rpdLimit:`{count} RPD`,noKey:`Geen sleutel`,dragToReorder:`Slepen om te herschikken`,dragToReorderGroup:`Sleep om model te herschikken`,moveToRank:`Ga naar positie`,providerCount:`{count} aanbieders`,servedBy:`Bediend door {providers}`,viewProviders:`Bekijk aanbieders`,backToModels:`Terug naar modellen`,providersHeading:`Aanbieders die dit model bedienen`,codeSnippetHeading:`Gebruik dit model`,modelNotFound:`Dit model is niet beschikbaar, of er zijn geen geconfigureerde providers.`,providerIdsHeading:`Providermodel-id's`,providerIdsHint:`Stuur de unified model-id om failover te laten lopen bij elke provider, of een provider-specifieke id om één provider vast te pinnen.`,copyModelName:`Kopieer modelnaam`,settingsHeading:`Instellingen voor zorgverlener`,settingsHint:`Lokale bewerkingen van catalogusmodellen worden behouden over catalogus-synchronisaties. Verwijderde catalogusmodellen blijven verwijderd totdat je ze opnieuw toevoegt via de configuratie.`,catalogModel:`Catalogus`,customModel:`Gewoonte`,discoveredModel:`ontdekt`,localOverride:`Lokale overruling`,displayName:`Weergavenaam`,sizeLabel:`Capaciteitsniveau`,sizeLabelHint:`Frontier/Large/Medium/Small bepalen de intelligentie-as: een hoger niveau verslaat altijd een lager niveau, en binnen een niveau blijft de intelligentierang de score verschuiven. Een model zonder herkend niveau scoort het laagst op deze as, maar intelligentie is slechts een van de drie assen — met goede betrouwbaarheid en snelheid kan het alsnog gerouteerd worden.`,sizeLabelNone:`Geen (laagste intelligentiescore)`,contextWindow:`Context`,inFallback:`In keten`,saveModelSettings:`Bewaar modelinstellingen`,aggregateBudget:`{count}/mo`,aggregateBudgetTitle:`Totaal gratis tokens per maand bij de aanbieders van dit model`,rateRpm:`{count} RPM`,rateRpd:`{count} RPD`,rateTitle:`Tariefbeperkt — geen vast maandelijks tokenbudget`,rateLimitUsage:`{kind} {used}/{limit}`,rateLimitUsageTitle:`Rate-limitgebruik binnen het tijdvenster (gebruikt / limiet) van de provider met de meeste ruimte`,splitOut:`Voeg deze kopie niet samen`,splitOutHint:`Geef de kopie van deze provider een eigen afzonderlijke vermelding in plaats van deze samen te voegen in het uniforme model. U kunt het weer samenvoegen vanaf de eigen pagina van de kopie.`,splitUndo:`Terug samenvoegen`,splitUndoHint:`Deze kopie wordt gescheiden gehouden van het uniforme model. Voeg het weer samen om opnieuw een failover te bewerkstelligen voor al zijn providers.`,splitBadge:`gescheiden gehouden`,noData:`geen gegevens`,noDataTitle:`Er zijn nog geen verzoeken geregistreerd: betrouwbaarheid en snelheid zijn ongekend voor deze provider.`,bestOfN:`het beste van {count}`,perProviderScores:`Scores per aanbieder: {list}`,columnModel:`Model`,columnOn:`Op`,noModelsBefore:`Geen modellen beschikbaar. Voeg API toetsen toe aan de`,keysPageLink:`Sleutelpagina`,noModelsAfter:`Eerst.`,hiddenNoKeys:`Verborgen (geen sleutels): {platforms}`,searchPlaceholder:`Zoek naar modellen of aanbieders...`,clearSearch:`Zoek vrij`,ctxAny:`Enige context`,ctxBadge:`{size} ctx`,ctxTitle:`Contextvenster`,copyModelId:`Kopieer model-id`,showingCount:`{shown} van {total} modellen`,clearFilters:`Doorzichtige filters`,noMatches:`Geen enkel model past bij jouw filters.`,noModelsTitle:`Geen modellen geconfigureerd`,intelligenceRank:`Intelligentie`,speedRank:`Snelheid`,rankHint:`Rang in de catalogus — 1 is het beste.`,limitRpm:`RPM`,limitRpd:`RPD`,limitTpm:`TPM`,limitTpd:`TPD`,limitRpmHint:`Verzoeken per minuut. Laat leeg voor geen limiet.`,limitRpdHint:`Verzoeken per dag. Laat leeg voor geen limiet.`,limitTpmHint:`Tokens per minuut. Laat leeg voor geen limiet.`,limitTpdHint:`Tokens per dag. Laat leeg voor geen limiet.`,usageThisMonth:`Maandelijks gebruik`,usageEmpty:`Nog geen verzoeken deze maand.`,usageRequestsMonth:`{count} verz. deze maand`,aliasMergeHeading:`Merge model aliases`,aliasMergeHint:`Requests for the unified model id are also served through these custom-provider aliases (e.g. custom:my-alias).`,aliasMergeAdd:`Add`,aliasMergeRemove:`Remove`,bulkToggle:`Alle getoonde modellen aan- of uitzetten`,enableAll:`Alles aan`,disableAll:`Alles uit`,enableAllHint:`Zet alle getoonde modellen aan en sla op`,disableAllHint:`Zet alle getoonde modellen uit en sla op`,enabledOfShown:`{enabled} van {shown} getoonde modellen zitten in de keten`},strategies:{explore:`Ongemeten modellen verkennen`,exploreHint:`Geeft modellen zonder betrouwbaarheids- of snelheidsgegevens 10% kans om als eerste te worden geprobeerd, zodat ze meetwaarden opbouwen. Wat er uitgaat is je echte verzoek, dus het kan door een ongetest model worden beantwoord. Test een eigen endpoint liever met «Endpoint testen» op de pagina Sleutels, zonder echt verkeer.`,keySelection:`Sleutelkeuze`,keySelectionAuto:`Automatisch`,keySelectionLeastRemaining:`Minste resterend`,keySelectionHint:`Hoe er wordt gekozen tussen meerdere sleutels van dezelfde provider. Automatisch houdt de huidige rotatie aan; Minste resterend rangschikt sleutels op het waargenomen quotum en probeert eerst die met het meeste over.`,cooldownCeiling:`Langste automatische afkoeling`,cooldownCeilingHint:`Begrenst hoe lang de eigen schattingen van de router een falend sleutel-en-modelpaar mogen uitsluiten. De ladder loopt normaal op naar 2 min, 10 min, 1 u, 24 u, en tegoed- of niveaufouten sluiten een dag uit. Door de provider opgegeven wachttijden worden nooit ingekort.`,cooldownCeilingDefault:`Standaard (tot 24 u)`,cooldownCeiling10m:`10 minuten`,cooldownCeiling1h:`1 uur`,cooldownCeiling6h:`6 uur`,moreOptions:`Meer opties`,peakActive:`(piekuren)`,peakActiveHint:`De piekuren-aanpassing is nu actief, dus dit zijn niet de gewichten van de preset zelf: 60% van het snelheidsgewicht is verschoven naar betrouwbaarheid.`,peakAdjust:`Piekuren-aanpassing`,peakAdjustHint:`Standaard uit. Binnen het venster hieronder verschuift 60% van het snelheidsgewicht naar betrouwbaarheid — gratis relays zijn dan het drukst, dus betrouwbaarheid voorspelt succes beter dan pure doorvoer. Snelste en Meest betrouwbaar blijven ongemoeid.`,peakFrom:`Van`,peakTo:`tot`,peakTimezoneLabel:`Tijdzone`,peakUseBrowserTimezone:`Tijdzone van browser gebruiken`,peakTimezoneInvalid:`Onbekende tijdzone.`,peakExemptNote:`Deze preset blijft ongemoeid — die zit al aan één kant van de afweging snelheid/betrouwbaarheid.`,title:`Routingstrategie`,description:`Kies een routeringsstrategie. In de handmatige modus sleep je om de volgorde in te stellen; De andere strategieën worden via live score verzekerd over betrouwbaarheid, snelheid en intelligentie.`,weightsSummary:`betrouwbaarheid {reliability}% · Snelheid {speed}% · intelligentie {intelligence}%`,guardrails:`Leuningen`,guardrailsTooltip:`Altijd-aan-vangrails: gratis quota headroom × live tarieflimietstraf. Onder 1,0 betekent dat het model wordt tegengehouden.`,scoreTooltip:`Eindrouteringsscore = gewogen gemiddelde van de drie assen, vermenigvuldigd met de vangrails. Eerst hogere routes.`,modeManualHint:`Handmatige modus: verzoeken volgen de onderstaande volgorde, van boven tot onder. Sleep om te herordenen.`,modeScoreHint:`Scores worden bijgewerkt vanuit live verkeer. De onderstaande volgorde geeft aan hoe verzoeken momenteel worden doorgestuurd.`,manual:`Handboek`,manualBlurb:`Route in de exacte volgorde die je hieronder hebt ingesteld. Sleep de handgrepen om te herordenen. Geen score; de ketting wordt van boven naar beneden gevolgd.`,balanced:`Gebalanceerd`,balancedBlurb:`Betrouwbaarheid leidt (50%), waarbij snelheid en intelligentie gelijk worden gewogen (25% elk). Een verstandige allround standaard.`,smartest:`Slimste`,smartestBlurb:`Ik geef de voorkeur aan het meest capabele model dat nog werkt. Intelligentie 55%, betrouwbaarheid 35%, snelheid 10%.`,fastest:`Snelste`,fastestBlurb:`Ik geef de voorkeur aan het snelste model dat nog werkt. Snelheid 55%, betrouwbaarheid 35%, intelligentie 10%.`,reliable:`Meest betrouwbaar`,reliableBlurb:`Maximaliseer vooral het slagingspercentage. Betrouwbaarheid 70%, snelheid en intelligentie 15% elk.`,custom:`Gewoonte`,customBlurb:`Stel je eigen balans in tussen betrouwbaarheid, snelheid en intelligentie met schuifregelaars. Dezelfde engine als de presets, alleen je gewichten.`,adjust:`Aanpassen`,customWeights:`Aangepaste gewichten`,customWeightsHelp:`Sliders zijn onafhankelijk; Aandelen automatisch overzien op 100%.`,weightReliability:`Betrouwbaarheid`,weightSpeed:`Snelheid`,weightIntelligence:`Intelligentie`,weightRequired:`Minstens één gewicht moet boven nul liggen.`,scoreColumn:`Partituur`},penaltyInspector:{title:`Routerdruk`,subtitle:`Straffen, cooldowns en mislukkingen van de laatste {minutes} minuten`,rowCount:`{count} actief`,offChain:`Off chain`,penaltyValue:`Straf {value}`,factor:`score x{factor}`,noCooldown:`Geen cooldown`,cooldownChip:`{key} - {time}`,resetCooldown:`Reset cooldown`,clearAll:`Alles wissen`,clearAllHint:`Heft nu elke afkoeling, straf en foutreeks op. De druk bouwt zich opnieuw op uit de volgende echte resultaten.`,errorsHeading:`{count} recente fouten`,noRecentErrors:`Geen recente fouten`,noKey:`Geen sleutel`,reasons:{penalty:`bestraft`,cooldown:`Cooldown`,recent_errors:`Falen`}},keys:JSON.parse(`{"pageTitle":"Sleutels","pageDescription":"Providergegevens en de unified API sleutel waarmee je apps verbinding maken.","tabProviders":"Aanbieders","checklistSummary":"{configured} van {total} aanbieders ingesteld","checklistKeyless":"geen sleutel nodig","checklistNoKeyTip":"Nog geen sleutel toegevoegd. Klik om er een toe te voegen.","checklistSignupLink":"Open {provider} om een account aan te maken en een sleutel te krijgen","checklistKeylessTip":"Werkt zonder sleutel.","tabQuotaSignals":"Quotasignalen","tabApiKey":"Unified API sleutel","tabAnthropic":"Anthropic","unifiedKey":"Je verenigde API sleutel","regenerate":"Regenereer","showKey":"Show","hideKey":"Verstop","copyKey":"Begrepen","copyFullKey":"Volledige sleutel kopiëren","copiedKey":"Gekopieerd","baseUrl":"Basis URL","endpointChat":"Chat","endpointResponses":"Reacties","endpointEmbeddings":"Embeddings","endpointEmbeddingsHint":"model: \\"auto\\" of een familie uit het tabblad Embeddings","endpointMessages":"Boodschappen","endpointMessagesHint":"Anthropic-compatibel (Claude)","quickStart":"Quick start","quickStartDesc":"Use auto for your active routing chain, or auto:fast to prioritize speed across enabled models. Replace $YOUR_KEY with your unified API key.","exampleAuto":"Auto mode (use the active chain)","exampleFast":"Fast mode (prioritize speed)","anthropicTitle":"Claude (Anthropic) modellen","anthropicDesc":"Richt een Claude of Anthropic SDK-client op deze server. Anthropic clients sturen Claude modelnamen — koppelen ze allemaal aan Auto (de router kiest een gratis model) of pinnen een specifieke.","anthropicBaseUrl":"Basis URL","anthropicAuth":"Auth-header","anthropicAuto":"Auto — de frees kiest het beste model","anthropicSave":"Map opslaan","anthropicSaved":"Gered,","anthropicNote":"Anthropic klanten behouden hun ingebouwde Claude modelnamen; De bovenstaande mapping bepaalt hoe elk van hen in je pool terechtkomt.","familyDefault":"Standaard","familyOpus":"Opus","familySonnet":"Sonnet","familyHaiku":"Haiku","selectPlatform":"Selecteer een aanbieder","addKey":"Voeg sleutel toe","keyAdded":"Sleutel toegevoegd","endpointKeysShareModels":"Sleutels voor hetzelfde endpoint delen de modellen ervan.","export":"Export","exportAll":"Alle sleutels","exportHealthy":"Alleen gezond","exportKeys":"Exporteren API sleutels","exportFormat":"Format","exportHealthyOnly":"Alleen gezonde sleutels","exportHealthyOnlyDesc":"Sluit sleutels uit die momenteel niet aan gezondheidscontroles voldoen","exportWillExport":"Zal exporteren","exportKey":"Sleutel","exportKeys plural":"Sleutels","exporting":"Exporteren...","exportDownload":"Download","exportSuccess":"Geëxporteerde {count} sleutels","adding":"En ik voeg toe...","selectProvider":"Kies een zorgverlener...","accountId":"Account-ID","label":"Label","noKeyNeeded":"(geen sleutel nodig)","outboundProxy":"Uitgaande proxy","outboundProxyDescription":"Route uitgaande LLM-verzoeken via een proxy. Ondersteunt SOCKS5, HTTP en HTTPS.","proxyUrl":"Proxy URL","saveProxy":"Sla op","savingProxy":"Redden...","proxyLoadFailed":"Proxy-instellingen konden niet laden.","proxyMode":"Mode","proxyModeForward":"Forward proxy","proxyModeFetchRelay":"Fetch relay","relayToken":"Relay token","relayTokenConfigured":"Configured. Leave unchanged to keep.","relayTokenPlaceholder":"Relay bearer token (optional)","relayHeadersHint":"The relay reads the destination and its own credential from","addCustom":"Voeg een aangepast OpenAI-compatibel model toe","addCustomDescription":"Point chat-, embedding-, afbeeldings- of audiomodellen op elk OpenAI-compatibel eindpunt. De API-sleutel is optioneel voor lokale servers.","customType":"Type","customTypeChat":"Chat","customTypeEmbedding":"Embedding","customTypeImage":"Afbeelding","customTypeAudio":"Audio","customTypeTranscription":"Transcription","customBaseUrl":"Basis URL","customModels":"Modellen","customModel":"Model","customDisplayName":"Weergavenaam","customDisplayNamePerModel":"per model","customDisplayNameOptional":"optioneel","customFamily":"Familie","customFamilyPlaceholder":"Standaard naar model-ID","customApiKey":"API sleutel","customCapabilities":"Capaciteiten","addModel":"Model toevoegen","modelAdded":"Model toegevoegd","addModels":"Voeg {count} modellen toe","addEmbeddingModel":"Voeg embedding toe","addImageModel":"Voeg beeldmodel toe","addAudioModel":"Audiomodel toevoegen","addTranscriptionModel":"Add transcription model","addingCustom":"En ik voeg toe...","discoverModels":"Modellen ophalen","probeNow":"Endpoint testen","probeConfirm":"Maximaal 3 testverzoeken versturen?","probeCapabilities":"redeneren: {reasoning} · tools: {tools}","probeCapYes":"ja","probeCapNo":"nee","probeCapUnknown":"onbekend","probeSuccess":"{model} getest in {latency} ms","probeFailed":"Test mislukt: {reason}","discoverTitle":"Modellen op dit endpoint","discoverHint":"Kies de modellen om te registreren. Al toegevoegde blijven vergrendeld.","discoverEmpty":"Dit endpoint gaf geen modellen terug.","discoverAlreadyAdded":"Toegevoegd","discoverSelectAll":"Alles selecteren","modelsAdded":"{count} modellen toegevoegd","getApiKey":"Haal API sleutel","deleteKeyConfirm":"Deze sleutel verwijderen? Dit kan niet ongedaan worden gemaakt.","checkAll":"Controleer alles","checking":"Controleren...","editLabel":"Label bewerken","saveLabel":"Save label","unifiedKeyDescBefore":"Gebruik dit als je OpenAI","unifiedKeyDescAfter":"; Het authenticeert verzoeken aan deze proxy.","serverUnreachableBefore":"Kan de server niet bereiken op","serverUnreachableAfter":". Zorg dat de backend draait. NPM run dev start beide, en de serverlogs worden geprint onder het serverprefix.","paneProviderKey":"Providersleutel","paneImportFile":"Bestand importeren","paneCustomEndpoint":"Aangepast eindpunt","platform":"Platform","hideAdded":"Toegevoegde providers verbergen","apiToken":"API token","keyOptionalPlaceholder":"Optioneel","bearerTokenPlaceholder":"Dragertoken","pasteKeyPlaceholder":"Hier plak de toets","pasteSeveral":"Meerdere plakken","keyOptionalHint":"Optioneel: laat leeg voor de anonieme gratis laag (rate-limited per IP), of plak je eigen sleutel om je account te gebruiken.","enable":"Enable","noProviderKeys":"Nog geen provider-sleutels. Voeg er hierboven één toe om te beginnen met routeren.","filterPlaceholder":"Filterproviders of sleutels","filterAll":"Allemaal","filterHealthy":"Gezond","filterIssues":"Problemen","filterDisabled":"Gehandicapt","noFilterMatch":"Geen enkele aanbieder past bij jouw filters.","providerCountSummary":"{providers} aanbieders · {keys} sleutels","summaryHealthy":"{count} gezond","summaryIssueOne":"{count} kwestie","summaryIssueOther":"{count} kwesties","providerActions":"Acties van aanbieders","routeViaProxy":"Route via proxy","checkNow":"Controleer nu","syncModels":"Sync models with upstream","syncModelsResult":"Model list synced: {added} added, {total} live","syncModelsFailed":"Model sync failed: {reason}","syncAllModels":"Sync all providers","syncAllPending":"Syncing…","syncAllResult":"Synced {count} provider(s): {registered} model(s) registered","syncAllFailed":"Sync all failed: {reason}","syncAllNoChanges":"All provider rosters are already up to date","syncAllDialogTitle":"Sync Results","syncAllDialogSummary":"Changes detected in {changed} of {total} providers","syncAllNew":"+{count} new","syncAllUpdated":"{count} updated","syncAllRetired":"{count} retired","syncAllNewModels":"New models","syncAllUpdatedModels":"Updated models","syncAllRetiredModels":"Retired models","syncAllDialogClose":"Done","proxyEnvHintBefore":"Ook configureerbaar via de","proxyEnvHintAfter":"omgevingsvariabele (heeft voorrang). Laat leeg staan om uit te schakelen. Voorbeelden:","importKeys":"Providersleutels importeren","importKeysDescription":"Upload .env, JSON, JSONC, CSV, Markdown of tekstbestanden.","importFiles":"Bestanden","importFileCount":"{count} geselecteerd","previewFiles":"Vooruitblik","previewing":"Preview...","selected":"Geselecteerd","provider":"Aanbieder","keyName":"Sleutelnaam","keyValue":"Sleutelwaarde","chooseProvider":"Kies aanbieder","noPreviewKeys":"Geen sleutels gevonden in die bestanden.","skippedItems":"Overgeslagen:","moreItems":"+{count} meer","importSelected":"Import {count}","importing":"Importeren...","noImportSelection":"Selecteer minstens één rij met een zorgverlener.","duplicate":"Duplicate","duplicatesFound":"{count} duplicaat(en) die worden gedetecteerd — bestaan al en zullen worden overgeslagen.","importResult":"Geïmporteerde {imported}; Mislukt {failed}.","importModelCount":"+{count} modellen","importResultWithModels":"Geïmporteerde {imported}; {models} modellen geregistreerd; Mislukt {failed}.","confirmRemove":"Bevestigen?","quotaSignalsTitle":"Quotasignalen","quotaSignalsEmptyTitle":"Nog geen quota-observaties","quotaSignalsEmptyDesc":"Dit vult in nadat providers rate-limit headers, quota-fouten of validatiesignalen teruggeven.","quotaKeyRef":"Belangrijke #{id}","quotaPoolRef":"Zwembad {pool}","quotaLimit":"Limiet","quotaRemaining":"Overige","quotaReset":"Reset","quotaObserved":"Geobserveerd","tabAgents":"Agenten","familyGeminiPro":"Gemini Pro","familyGeminiFlash":"Gemini Flash","familyGeminiFlashLite":"Gemini Flash-Lite","geminiTitle":"Gemini-modeltoewijzing","geminiDesc":"Wijs de namen Gemini Pro, Flash en Flash-Lite toe aan Auto of een specifiek catalogusmodel.","compatibilityTitle":"Agentcompatibiliteit","compatibilityDesc":"Beheer optionele compatibiliteitsfuncties en Claude Code-modeldetectie.","ollamaMode":"Ollama-emulatie","ollamaModeHint":"Open loopback accepteert nooit niet-geauthenticeerd LAN-verkeer.","ollamaOff":"Uit","ollamaLoopback":"Open op loopback","ollamaKeyRequired":"API-sleutel vereist","claudeAliases":"Claude Code-detectiealiassen","claudeAliasesHint":"Stel claude/<model>-aliassen beschikbaar zodat de modelkiezer van de gateway de catalogus kan tonen.","mcpServer":"MCP-server","mcpServerHint":"Stelt het /mcp-eindpunt beschikbaar voor agentclients. Nieuwe installaties beginnen uitgeschakeld.","urlTokensTitle":"Intrekbare URL-tokens","urlTokensDesc":"Alleen voor clients zonder headers. URL-tokens kunnen in geschiedenis en logs terechtkomen, dus trek ze in zodra ze niet meer nodig zijn.","urlTokenLabel":"Tokenlabel","createUrlToken":"Token aanmaken","urlTokenOnce":"Kopieer dit token nu. Het wordt niet opnieuw getoond.","revoked":"Ingetrokken","revoke":"Intrekken","modelScope":"Modelbereik","modelScopeDesc":"Beperk deze sleutel tot specifieke model-ID's. Voor elk ander model slaat de router deze sleutel over.","modelScopeAdd":"Voer een model-ID in en druk op Enter","modelScopeEmpty":"Geen bereik ingesteld — deze sleutel bedient alle modellen van zijn provider.","modelScopeClear":"Bereik wissen","modelScopeBadgeOne":"beperkt · 1 model","modelScopeBadgeOther":"beperkt · {count} modellen","modelPicker":{"title":"Welke modellen moet deze sleutel bedienen?","hint":"Je {provider}-sleutel is toegevoegd en bedient op dit moment alle modellen hieronder. Vink de modellen uit waarvoor deze sleutel niet gebruikt mag worden — de router slaat de sleutel daarvoor over.","count":"{selected} van {total} geselecteerd","allNote":"Alles is geselecteerd — er wordt niets opgeslagen, en modellen die later aan de catalogus worden toegevoegd, gebruiken deze sleutel ook.","subsetNote":"Deze sleutel wordt beperkt tot de geselecteerde modellen. Je kunt dit later wijzigen via de rij van de sleutel.","skip":"Niet nu","scopedOne":"Sleutel beperkt tot 1 model","scopedOther":"Sleutel beperkt tot {count} modellen","allSaved":"Key serves every catalog model"},"cpTitle":"Clientprofielen","cpDesc":"API-sleutels per client, elk met een systeemprompt die de server altijd toepast.","cpEmpty":"Nog geen clientprofielen.","cpNameLabel":"Naam","cpNamePlaceholder":"bijv. Supportbot","cpPromptLabel":"Systeemprompt (optioneel)","cpPromptPlaceholder":"Instructies die de server vóór elk verzoek met deze sleutel plaatst.","cpCreate":"Profiel aanmaken","cpRotate":"Sleutel rouleren","cpKeyOnce":"Kopieer deze sleutel nu — hij wordt niet opnieuw getoond.","cpEnabledAria":"Profiel ingeschakeld","selectKey":"Selecteer deze sleutel","bulkSelected":"{count} geselecteerd","bulkEnable":"Alles inschakelen","bulkDisable":"Alles uitschakelen","bulkDelete":"Alles verwijderen","bulkDeleteConfirm":"{count} verwijderen?","bulkResult":"Bijgewerkt {done}; mislukt {failed}.","bulkDeleteResult":"Verwijderd {done}; mislukt {failed}.","testProxy":"Test","testingProxy":"Testing…","proxyTestOk":"Proxy works — {ms}ms round trip","proxyTestFail":"Proxy failed: {reason}","editKey":"Sleutel bewerken","editPlatformLocked":"Provider en endpoint kunnen na aanmaak niet worden gewijzigd.","editCredentialHint":"Laat leeg om de huidige sleutel te houden.","editCredentialPartsRequired":"Voer zowel de account-ID als het API-token in.","editModels":"Modellen bewerken","editModelsHint":"Choose which catalog models this key may serve. Select everything to clear the scope so future catalog models use it too.","editModelsCustomHint":"Choose which registered endpoint models this key may serve. Select everything to clear the scope.","editModelsSync":"Check catalog updates","editModelsSyncing":"Checking…","editModelsSynced":"Model catalog checked","outlookUnavailable":"Unavailable","outlookNoForecasts":"Forecast unavailable. More recent traffic or reliable quota readings are needed.","outlookCoverage":"Forecasts available for {count} of {total} pools.","outlookTraffic":"{count} successful requests through this instance in the last {minutes} minutes.","outlookMinimumTraffic":"An exhaustion forecast needs at least {count} successful requests within {minutes} minutes.","outlookNotReportedHint":"The provider has not reported a usable request balance and limit. Local usage is shown; remaining quota is unavailable.","outlookMissingResetHint":"The provider did not report a valid reset time. Remaining quota cannot support an exhaustion forecast.","outlookConfidenceHint":"This balance is not reliable enough for an exhaustion forecast.","outlookObserved":"Balance observed: {time}","outlookUnavailablePools":"Unavailable quota pools ({count})","outlookTitle":"Quota outlook","outlookInsufficient":"Not enough data","outlookLowBalance":"Low balance","outlookRunningLow":"Running low soon","outlookStale":"Needs fresh data","outlookUnknown":"Unknown","outlookWithinQuota":"Within quota","outlookResetsFirst":"Not before reset","outlookExhausted":"Already exhausted","outlookLastReported":"requests last reported","outlookRequestsLeft":"requests left","outlookNotReported":"Not reported","outlookRate":"Recent rate","outlookRateValue":"{count} req/min","outlookRunsOut":"May run out","outlookStaleHint":"This balance is old or its window has expired. A fresh provider reading is needed.","outlookError":"Could not load quota forecasts. Raw observations are still available below.","outlookRetry":"Retry","outlookAttention":"Quota pools needing attention: {count}","outlookNoWarnings":"No forecast warnings. Pools with insufficient data may still be limited.","outlookHint":"Rates count successful requests through this instance only, not usage elsewhere. Forecasts require recent provider balances and reported resets. Warnings appear below 20% remaining or when quota may run out within two hours, before reset.","outlookRaw":"Raw quota observations","addCustomModel":"Aangepast model toevoegen","modelId":"Model-ID","modelIdRequired":"Model-ID is vereist","modelDisplayName":"Weergavenaam","modelContextWindow":"Contextvenster (tokens)","modelRateLimits":"Snelheidslimieten (optioneel)","modelSupportsTools":"Ondersteunt tools","modelSupportsToolsHint":"Inschakelen als dit model functie- of tool-aanroepen ondersteunt","modelSupportsVision":"Ondersteunt visie","modelSupportsVisionHint":"Inschakelen als dit model afbeeldingsinvoer accepteert","createModel":"Model aanmaken","modelAddedSuccess":"Aangepast model succesvol toegevoegd","modelAddFailed":"Toevoegen van aangepast model mislukt","testModel":"Testen","testingModel":"Testen…","testPassedShort":"Geslaagd","testFailedShort":"Mislukt","testPassed":"Modeltest geslaagd in {latency}ms","testFailed":"Modeltest mislukt","testThrottled":"Wacht {seconds}s voordat u dit model opnieuw test.","noModelsForProvider":"Geen modellen geconfigureerd voor deze provider.","testModels":"Modellen testen","syncAllCatalog":"Catalog: +{inserted} added, ~{updated} updated, -{removed} removed","requestCapLabel":"Request cap","tokenCapLabel":"Token cap","budgetPeriodLabel":"Budget period","budgetPeriodDaily":"Daily","budgetPeriodWeekly":"Weekly","budgetPeriodMonthly":"Monthly","budgetPeriodAuto":"Auto (follow provider)","autoResolvedDaily":"Detected provider cycle: daily","autoResolvedMonthly":"Detected provider cycle: monthly","autoResolvedFallback":"Provider cycle unknown, defaulting to monthly","capUnlimitedPlaceholder":"Onbeperkt","capEditHint":"Caps reset at the next period boundary, 00:00 UTC. Leave blank for unlimited.","monthlyUsageLine":"{requests} verzoeken, {tokens} tokens deze maand","monthlyUsageRequests":"{requests} requests","monthlyUsageTokens":"{tokens} tokens","monthlyUsageRequestsRelative":"{used} / {cap} ({remaining} left) requests","monthlyUsageTokensRelative":"{used} / {cap} ({remaining} left) tokens","monthlyUsageReset":"reset {date}"}`),backups:{title:`Backups`,description:`Save the routing data to a .sql file beside the database, and restore it later.`,excludedNote:`A backup carries your providers, models, routing settings and request history. Accounts, sessions and URL tokens are never included, so a dump holds no password hashes or login tokens and restoring one cannot log you out. Provider keys stay encrypted with this server's ENCRYPTION_KEY: a backup can only be restored on a server that still holds that key.`,selectHint:`Back up everything, or pick the tables you need.`,selectAll:`Select all`,deselectAll:`Clear`,fullBackup:`Full backup`,backupSelected:`Back up selected ({count})`,created:`Backup written to {filename}`,list:`Backups on disk`,empty:`No backups yet`,full:`All tables`,tablesCount:`{count} tables`,manual:`Manual`,scheduled:`Scheduled`,preRestore:`Pre-restore`,download:`Download`,restore:`Restore`,confirmRestore:`Replace data?`,restored:`Restored. The previous data was saved as {filename}.`,delete:`Delete backup`,prevPage:`Previous`,nextPage:`Next`,autoTitle:`Automatic backups`,autoHint:`The server writes a full backup on this cadence.`,time:`Time (HH:mm)`,intervalDays:`Every N days`,path:`Folder`,pathPlaceholder:`backups`,pathHint:`Relative to the database directory. Backups cannot be written outside it.`,save:`Save schedule`,saved:`Saved`},status:{healthy:`Gezond`,rateLimited:`Tariefbeperkt`,invalid:`ongeldig`,error:`fout`,unchecked:`Ongecontroleerd`},analytics:{title:`Analytics`,description:`Verzoekvolume, latentie, tokengebruik en storingen.`,range24h:`24 uur`,range7d:`7d`,range30d:`30d`,range90d:`90d`,requests:`Verzoeken`,successRate:`Slagingspercentage`,inputTokens:`Invoertokens`,outputTokens:`Uitvoertokens`,avgLatency:`Gemiddelde latentie`,p95Latency:`P95-latentie`,avgTtft:`Gemiddeld TTFT`,estSavings:`Geschatte besparing`,requestsByProvider:`Verzoeken per aanbieder`,avgLatencyByProvider:`Gemiddelde latentie per provider`,ttftByProvider:`Tijd tot eerste token per aanbieder`,ttftEmpty:`Nog geen tijd om eerst het token te registreren.`,requestsOverTime:`Verzoeken in de loop van de tijd`,tokensOverTime:`Tokens in de loop van de tijd`,byModel:`Per model`,byPlatform:`Per perron`,errors:`Fouten`,errorDistribution:`Foutverdeling`,pinnedRequests:`Gepinde verzoeken`,pinnedHonored:`Geëerd`,fallbackAttempts:`Terugvalpogingen`,savingsHint:"Je hebt ${actual} de afgelopen {range} daadwerkelijk opgeslagen. Dat is wat dezelfde tokens zouden kosten op betaalde API's, geprijsd per model. Het getoonde aantal projecteert je tempo van de laatste {span} data tot een volle 30 dagen.",savingsHintExact:"Je hebt ${actual} de afgelopen {range} daadwerkelijk opgeslagen. Dat is wat dezelfde tokens zouden kosten op betaalde API's, geprijsd per model. Het getoonde aantal is je echte totaal van 30 dagen.",requestsHintPinned:`{pinned} van deze verzoeken pinnen een specifiek model bij naam. {honored} werden bediend door het gepinde model; {failed} overgestapt naar een andere. De rest werd automatisch geleid.`,requestsHintAuto:`Alle verzoeken in deze periode werden automatisch doorgestuurd; Geen enkele klant heeft een specifiek model bij naam vastgepind.`,requestsHintTypes:`{chat} chat en {embedding} embeddingverzoeken.`,rangeLabel24h:`24 uur`,rangeLabel7d:`7 dagen`,rangeLabel30d:`30 dagen`,rangeLabel90d:`90 dagen`,spanDays:`{count} dagen`,spanHours:`{count} uur`,latencyMs:`Latentie (ms)`,latency:`Latentie`,pinned:`Vastgezet`,inTokens:`In tokens`,outTokens:`Uit-tokens`,saved:`Gered,`,message:`Boodschap`,time:`Tijd`,perModelBreakdown:`Per-model uitsplitsing`,usageByKey:`Gebruik per sleutel`,keyColumn:`Sleutel`,keyLabelFallback:`Belangrijke #{id}`,errorsByProvider:`Fouten per aanbieder`,recentErrors:`Recente fouten`,noErrors:`Geen fouten`,recentCalls:`Recente oproepen`,clientIp:`Client IP`,clientAgent:`Client-app`,requestedModelHint:`Gevraagd {model}, bediend via reserveplan`,attempts:`Pogingen`,filterAll:`Allemaal`,filterCanceled:`Geannuleerd`,providerBreakdown:`Uitsplitsing per aanbieder`,tokensPerSec:`Tok/s`,allProviders:`Alle aanbieders`,requestDetailTitle:`Verzoek #{id}`,failoverLadder:`Failoverladder`,failoverLadderHint:`Elke sprong die dit verzoek volgde door de terugvalketen, in volgorde.`,noAttemptTrace:`Er is geen poging tot trace geregistreerd voor dit verzoek.`,keyOrdinal:`Belangrijke #{n}`,keyBadge:`Sleutel #{n}`,attemptTimingHint:`Start offset van verzoek start · Duur van de poging`,requestedModel:`Aangevraagd model`,ttft:`TTFT`,requestsByAgent:`Verzoeken per agent`,sortBy:`Sorteren op {column}`,sortHint:`De sortering geldt voor de {count} geladen rijen`,cacheHitRate:`Cache-hitratio`,cacheSavedTokens:`{tokens} tokens bespaard`,cacheHitRateHint:`{hits} hits tegenover {misses} missers sinds de serverstart · {requests} provideraanroepen vermeden`},logs:{title:`Logs`,description:`Live serverlog. Nieuwe regels komen binnen zolang de pagina open staat.`,pause:`Pauzeren`,resume:`Hervatten`,clear:`Logs wissen`,cleared:`Serverlog gewist`,levelFilter:`Logniveaus`,levels:{debug:`Debug`,info:`Info`,warn:`Waarschuwing`,error:`Fout`},countsHint:`De aantallen gelden voor de volledige logbuffer op de server, niet alleen voor de regels die aan deze filters voldoen.`,searchPlaceholder:`Zoek in logberichten…`,jumpToLatest:`Naar de nieuwste`,showMore:`Meer tonen`,showLess:`Minder tonen`,buffered:`{count} van maximaal {max} gebufferde regels getoond`,emptyTitle:`Nog geen logregels`,emptyDescription:`Regels verschijnen hier zodra de server ze schrijft. Verruim de filters voor niveau, aanbieder of zoekopdracht als je uitvoer verwachtte.`,noLevelsTitle:`Geen niveaus geselecteerd`,noLevelsDescription:`Zet minstens één niveau aan om loguitvoer te zien.`,loadFailed:`Kan het serverlog niet laden.`},playground:{title:`Speeltuin`,description:`Stuur een chatvoltooiing via de router en kijk welke provider het bedient.`,autoModel:`Auto (vangketting)`,fusionModel:`Fusie (multi-model synthese)`,selectModel:`Selecteer model`,searchModels:`Zoek modellen...`,noModelsFound:`Geen modellen gevonden`,send:`Verzenden`,sending:`Zend...`,clear:`Vrij`,inputPlaceholder:`Typ een bericht... (⏎ om te verzenden, ⇧⏎ voor nieuwe regel)`,emptyTitle:`Stuur een bericht om te beginnen.`,emptyDescription:`Met {model}. Wissel modellen in de selector hierboven.`,noModels:`Nog geen modellen. Voeg een API-sleutel toe op de pagina Sleutels om deze lijst te vullen.`,copyReply:`Kopieer antwoord`,fallback:`Terugval`,fallbacks:`Terugvallen`,fusionPanel:`Panel`,fusionJudge:`Rechter`,fusionTrace:`{count} modelantwoorden`,fusionFailed:`Geen reactie`,fusionJudgeSynth:`het definitieve antwoord gesynthetiseerd`,errorPrefix:`Fout:`,systemPromptLabel:`Systeemprompt`,systemPromptPlaceholder:`Optioneel. Verzonden als een systeembericht vóór je chat.`,showSettings:`Instellingen tonen`,hideSettings:`Instellingen verbergen`,samplingHeading:`Sampling`,samplingHelp:`Uitgeschakeld geldt de eigen standaard van de aanbieder. Alleen de instellingen die je aanzet worden meegestuurd.`,samplingDefault:`Standaard`,temperature:`Temperatuur`,topP:`Top P`,maxTokens:`Max. tokens`,errorTitle:`Verzoek afgewezen`,attach:`Bestanden bijvoegen`,attachTooMany:`Je kunt maximaal {count} bestanden per bericht bijvoegen.`,attachTooLarge:`{name} is te groot. De limiet is {max}.`,attachUnsupported:`{name} wordt niet ondersteund. Voeg afbeeldingen (PNG, JPEG, WebP, GIF) of tekstbestanden (TXT, MD, CSV, JSON, LOG) toe.`,attachFailed:`Kan {name} niet lezen.`,noVisionBadge:`Geen afbeeldingen`,visionWarning:`{model} accepteert geen afbeeldingen. Kies een model met beeldinvoer of Auto.`,dictate:`Dicteren`,dictationStop:`Opname stoppen`,dictationTranscribing:`Transcriberen…`,dictationUnavailable:`Voeg providers voor audiomodellen toe om dicteren te gebruiken.`,dictationModel:`Dicteermodel`,dictationFailed:`Transcriptie mislukt: {reason}`,artifactOpen:`Voorbeeld openen`,artifactPreview:`Voorbeeld`,artifactCode:`Code`,artifactClose:`Voorbeeld sluiten`,artifactDownload:`Downloaden`,artifactReload:`Voorbeeld herladen`,artifactHtml:`HTML-pagina`,artifactSvg:`SVG-afbeelding`,artifactLines:`regels`,artifactResize:`Voorbeeld vergroten of verkleinen`},playgroundSessions:{heading:`Gesprekken`,newConversation:`Nieuw gesprek`,showSidebar:`Gesprekken tonen`,hideSidebar:`Gesprekken verbergen`,empty:`Nog geen opgeslagen gesprekken.`,untitled:`Naamloos gesprek`,rename:`Naam wijzigen`,renamePlaceholder:`Naam van gesprek`,messageCount:`{count} berichten`,justNow:`zojuist`,minutesAgo:`{count} min geleden`,hoursAgo:`{count} u geleden`,daysAgo:`{count} d geleden`,loadFailed:`Kan dat gesprek niet openen.`,renameFailed:`Kan de naam van dat gesprek niet wijzigen.`,deleteFailed:`Kan dat gesprek niet verwijderen.`,actions:`Gespreksacties`,newChat:`Nieuwe chat`},embeddings:{title:`Modellen`,description:`Embeddings fail-over alleen binnen een gezin: hetzelfde model dat door een andere aanbieder wordt bediend. Vectors van verschillende modellen zijn niet compatibel, dus de router wisselt nooit van model bij jou.`,defaultBadge:`Standaard · Auto`,makeDefault:`Maak default`,moveUp:`Ga naar voren`,moveDown:`Ga naar beneden`,usageToday:`{count} vandaag de vraag`,usageMonth:`{count} deze maand tok`,autoDescription:`model: "auto" op POST /v1/embeddings routes naar de standaardfamilie. Het benoemen van een familie (of een provider-model-id) pint die familie; Zorgverleners binnen deze functie worden op volgorde geprobeerd.`,unsavedChanges:`Wijzigingen die niet opgeslagen zijn`,saveChanges:`Wijzigingen in het opslaan`,savingChanges:`Redden...`,tokMax:`{tokens} tok max`,emptyTitle:`Nog geen embeddingmodellen`,emptyDesc:`Embeddingfamilies verschijnen hier zodra je een provider-sleutel toevoegt die embeddings ondersteunt.`,dragToReorder:`Drag om provider opnieuw te bestellen`},fusion:{title:`Fusie`,description:`Een panel van modellen beantwoordt parallel, waarna een jurylid één sterker antwoord synthetiseert. Gebruik het door de API met model "fusion" te noemen.`,panelSource:`Bron van het paneel`,panelSourceHelp:`Waar de paneelmodellen vandaan komen wanneer een verzoek niet zijn eigen aanvraag specificeert.`,mode:{auto:`Auto (Fallback-keten)`,autoHelp:`Kies een diverse set modellen uit je Fallback Chain, gerangschikt op basis van je actieve routingstrategie.`,explicit:`Expliciet paneel`,explicitHelp:`Gebruik altijd de specifieke modellen die je hieronder kiest.`},panelModels:`Paneelmodellen`,selectedCount:`{count} van {max} geselecteerd`,noModels:`Er zijn nog geen modellen verbonden. Voeg een API-sleutel toe en schakel modellen in in de Fallback-keten in.`,panelSize:`Paneelgrootte`,panelSizeHelp:`Hoeveel verschillende modellen moet je automatisch kiezen (1–{max}).`,judge:`Judge-model`,judgeHelp:`Het model dat de antwoorden van het panel samenvoegt tot één. Auto gebruikt je hoogst gerangschikte beschikbare model.`,judgeAuto:`Auto (hoogst gerangschikt beschikbaar)`,strategy:`Strategie`,strategySynthesize:`Synthetiseer — voeg het paneel samen tot één antwoord`,strategyBestOf:`Het beste van — geef het sterkste antwoord terug (geen jury-oproep)`,strategySynthesizeShort:`Synthesizen`,strategyBestOfShort:`Het beste van`,exposePanel:`Details van het onthullingspaneel`,exposePanelHelp:`Voeg het antwoord van elk model en de rechter metadata toe onder een x_fusion veld in het antwoord.`,howToUse:`Hoe te gebruiken`,howToUseHelp:`Stuur een normaal chatverzoek met model "fusion". Deze instellingen zijn standaard; elk verzoek kan ze overschrijven met een "fusie"-veld.`,unsavedChanges:`Wijzigingen die niet opgeslagen zijn`,save:`Sla op`,searchPlaceholder:`Search models…`,providerFilterLabel:`Filter by provider`,providerAll:`All providers`,noMatch:`No models match your search.`},premium:{title:`Premie`,description:`De live modelcatalogus, op elk apparaat.`,loading:`Laden...`,checkForUpdates:`Controleer op updates`,syncing:`Synchronisatie...`,catalogFeed:`Catalogusfeed`,liveFeed:`Live-uitzending`,monthlySnapshot:`Maandelijkse overzicht`,lastChecked:`Laatst gecontroleerd: {when}`,liveDescription:`Nieuwe gratis modellen, quotawijzigingen en quirk-fixes komen hier binnen enkele uren na verzending. De app controleert automatisch twee keer per dag; Niets te doen.`,snapshotDescription:`Gratis niveau: de catalogus wordt vernieuwd vanaf een maandelijkse snapshot, automatisch twee keer per dag gecontroleerd. Premium schakelt dit over naar de live feed, die elke 2-3 dagen wordt bijgewerkt.`,lastSyncProblem:`Laatste synchronisatieprobleem: {error}`,license:`Licentie`,planAnnual:`Premium Jaarlijks`,planLifetime:`Premium Levenslange Waarde`,expired:`Verlopen`,inactive:`Inactief`,lifetimeNote:`Levenslange licentie: verloopt nooit.`,renewsOn:`Verlengt op {date}.`,willNotRenew:`Zal niet verlengen. Premium tot {date}, daarna valt deze installatie terug op de gratis maandelijkse catalogus.`,keyInactive:`Deze sleutel is niet langer actief. De app blijft werken aan de gratis maandelijkse catalogus.`,manageSubscription:`Beheer van abonnementen`,openingPortal:`Opent...`,removeKey:`Verwijder de sleutel van dit apparaat`,manageHint:`Abonnement beheren opent Stripe's factureringsportaal: annuleren, je kaart bijwerken of facturen downloaden. Het verwijderen van de sleutel schakelt dit apparaat alleen uit; Je aankoop blijft onaangeroerd.`,licenseKey:`Licentiesleutel`,licenseKeyPlaceholder:`fla_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`,activate:`Activeer`,activating:`Activeren...`,keyHint:`Je sleutel staat in je aankoopmail en op de pagina na afrekenen. Kwijtgeraakt?`,recoverKey:`Herstel het op de website`,upsellTitle:`Go live voor $19 per jaar`,upsellDescription:`Nieuwe gratis modellen zodra ze bestaan, in plaats van 30 dagen later. Eén sleutel, elk apparaat. Annuleer op elk moment; De router blijft voor altijd vrij.`,goPremium:`Ga voor Premium`,bundled:`gebundeld`,planGeneric:`Premie`},languages:{en:`English`,"zh-CN":`中文 (简体)`,es:`Español`,fr:`Français`,"pt-BR":`Português (Brasil)`,it:`Italiano`,hi:`हिन्दी`,ar:`العربية`,bn:`বাংলা`,ru:`Русский`,ur:`اردو`,id:`Bahasa Indonesia`,de:`Deutsch`,ja:`日本語`,sw:`Kiswahili`,mr:`मराठी`,te:`తెలుగు`,tr:`Türkçe`,ta:`தமிழ்`,vi:`Tiếng Việt`,ko:`한국어`,fa:`فارسی`,th:`ไทย`,gu:`ગુજરાતી`,pl:`Polski`,uk:`Українська`,kn:`ಕನ್ನಡ`,ml:`മലയാളം`,or:`ଓଡ଼ିଆ`,my:`မြန်မာဘာသာ`,pa:`ਪੰਜਾਬੀ`,ro:`Română`,nl:`Nederlands`,ms:`Bahasa Melayu`,tl:`Filipino`,ha:`Hausa`,yo:`Yorùbá`,ig:`Igbo`,am:`አማርኛ`,uz:`Oʻzbekcha`,az:`Azərbaycanca`,si:`සිංහල`,ne:`नेपाली`,km:`ខ្មែរ`,el:`Ελληνικά`,cs:`Čeština`,hu:`Magyar`,sv:`Svenska`,he:`עברית`,da:`Dansk`,fi:`Suomi`,no:`Norsk`,sk:`Slovenčina`,bg:`Български`,hr:`Hrvatski`,sr:`Српски`,lt:`Lietuvių`,"zh-TW":`中文 (繁體)`,"pt-PT":`Português (Portugal)`,ka:`ქართული`},errors:{boundaryTitle:`Er ging iets mis`,boundaryDescription:`Het dashboard kreeg een onverwachte foutmelding. Je gegevens zijn veilig. Probeer het opnieuw of ga terug naar de modellenpagina.`,tryAgain:`Probeer het nog eens`,goHome:`Terug naar modellen`},notFound:{title:`Pagina niet gevonden`,description:`Deze pagina bestaat niet of kan zijn verplaatst.`},setup:{title:`Beginnen`,subtitle:`Drie stappen om je eerste verzoek te routeren.`,progress:`{done} van {total}`,step1Title:`Voeg een providersleutel toe`,step1Desc:`Verbind ten minste één provider-account. Gratis sleutels werken.`,step1Cta:`Sleutels toevoegen`,step2Title:`Stuur een testverzoek`,step2Desc:`Kies een willekeurig model in de Playground en zeg hallo.`,step2Cta:`Open Speeltuin`,step3Title:`Verbind je app`,step3Desc:`Gebruik je Unified API-sleutel met elke OpenAI-compatibele client.`,copyKey:`Kopieer API sleutel`,copyUrl:`Kopieer basis URL`,copiedKey:`API sleutel gekopieerd naar klembord`,copiedUrl:`Basis URL gekopieerd naar klembord`},palette:{title:`Commandopalet`,placeholder:`Zoek pagina's, modellen, acties...`,empty:`Geen resultaten`,groupPages:`Pagina's`,groupActions:`Acties`,groupModels:`Modellen`,toggleTheme:`Schakel donkere modus`},validation:{required:`Verplicht`,url:`Voer een geldige URL in die begint met http:// of https://`,email:`Voer een geldig e-mailadres in`,passwordMin:`Tenminste {min} personages`},agents:{title:`Codeeragenten`,description:`Verbind codeertools met één gateway voor gratis modellen, met gegenereerde, back-upveilige configuratie.`,apiKey:`API-sleutel`,quickstartTitle:`Snelstart`,quickstart:`Snelste route: configureer Claude Code vanuit de live catalogus.`,currentKey:`Huidige uniforme sleutel:`,seenRecently:`Onlangs gezien`,setupLabel:`Automatische configuratie`,setupHint:`Schrijft het configuratiebestand van deze tool voor je, gericht op deze gateway.`,setupGuideHint:`Toont de configuratiestappen van deze tool; er worden geen bestanden geschreven.`,manualLabel:`Handmatige verbinding`,manualHint:`Basis-URL en sleutel om in de eigen instellingen van de tool in te vullen.`,endpoint:`Endpoint`,documentation:`Documentatie`,descriptions:{claude:`Anthropics terminalagent: plant, bewerkt bestanden en voert commando's uit in je repository.`,codex:`OpenAI's terminalagent, die je taak eerst in een lokale sandbox uitvoert.`,cline:`Een VS Code-extensie die je elke bewerking en elk commando laat goedkeuren.`,continue:`Een extensie voor VS Code en JetBrains, met aanvulling en chat terwijl je typt.`,aider:`Een pair programmer op de opdrachtregel die elke wijziging als eigen git-commit vastlegt.`,opencode:`Een leveranciersonafhankelijke terminalagent met een schermvullende tekstinterface.`,goose:`De lokale agent van Block, uit te breiden met MCP-servers tot voorbij je code.`,qwen:`Een fork van Gemini CLI, afgestemd op Qwen-modellen en grote repository's.`,roo:`Een VS Code-extensie met wisselbare modi: architect, coder, debugger.`,kilo:`Een VS Code-extensie die Roo en Cline samenvoegt, met een orkestrator die het werk opdeelt.`,crush:`Charms terminalagent in Go, met één sessie per project.`,dsh:`DeepSeeks harnas, dat elke aanbieder als een omschakelbare route bewaart.`,mimo:`Xiaomi's terminalagent, een OpenCode-fork die elke OpenAI-compatibele aanbieder aankan.`,cursor:`De AI-gerichte editor; hij loopt via de cloud van Cursor en heeft dus een publieke URL nodig.`,generic:`Elk ander hulpmiddel dat de OpenAI-API spreekt, met de hand ingesteld via basis-URL en sleutel.`,atomcode:`AtomGit's terminalagent, geschreven in Rust, die elk OpenAI-compatibel endpoint aankan.`,openclaw:`Een altijd actieve persoonlijke assistent die vanaf je eigen machine antwoordt op WhatsApp, Telegram, Discord en meer.`,hermes:`De zelfverbeterende agent van Nous Research met blijvend geheugen en skills, in de terminal of in chat-apps.`,pi:`Een minimalistische terminal-agent die je vormgeeft met je eigen extensies, skills en promptsjablonen.`}},update:{available:`New version available`,whatsNew:`What's new in v{version}`,publishedOn:`Published {date}`,noNotes:`No release notes were published for this version.`,openRelease:`Open release page`,dismissVersion:`Dismiss this version`,dismiss:`Dismiss`},freeTier:{poolsToggle:`Gratis-tierpools ({count})`,poolsToggleBare:`Gratis-tierpools`,summary:`{pools} pools · {budget} tokens/maand, per pool één keer geteld · {credits} op tegoed · {unpublished} niet gepubliceerd`,pool:`Pool`,models:`Modellen`,budget:`Maandbudget`,kind:`Soort`,kindDocumented:`Gedocumenteerd`,kindCredits:`Tegoed`,kindUnpublished:`Niet gepubliceerd`,remaining:`Resterend`,resetAt:`Reset op`,disabledModels:`({count} uit)`,metricTokens:`tokens`,metricRequests:`verzoeken`,metricCredits:`tegoeden`,metricNeurons:`neuronen`,metricOther:`eenheden`,empty:`Geen ingeschakelde modellen met gegevens over het gratis budget.`,poolLabel:`{platform} · shared {scope} pool`,poolLabelBare:`{platform} · shared pool`,poolModels:`{count} models`,poolBudget:`{budget}/mo`,poolBudgetTitle:`One monthly allowance for the whole pool, scaled by the {count} usable keys on this platform. Every model listed under it draws from the same budget.`,poolNoQuota:`no published quota`,poolResets:`resets {time}`,independentBudgets:`independent budgets`},chains:{title:`Fallback-ketens`,description:`Benoemde ketens, elk aan te roepen als auto:<name> in /v1/models.`,count:`{count} ketens`,active:`Actief`,default:`Standaard`,activate:`Activeren`,activateHint:`Laat de tabel hieronder deze keten bewerken en auto hierlangs routeren`,deleteHint:`Deze keten verwijderen`,deleteConfirm:`Keten "{name}" verwijderen?`,create:`Aanmaken`,createPlaceholder:`Ketennaam`,createFailed:`De keten kon niet worden aangemaakt.`,nameRules:`Maximaal 20 tekens: letters, cijfers, koppel- en onderstrepingstekens.`,startEmpty:`Leeg beginnen`,startEmptyHint:`Maakt de keten zonder modellen aan en houdt nieuwe catalogusmodellen erbuiten. Niet aangevinkt begint hij als kopie van de standaardketen.`,curated:`Handmatig`,curatedHint:`Nieuwe catalogusmodellen worden niet automatisch aan deze keten toegevoegd.`,renameHint:`Deze keten hernoemen`,renameConfirm:`Keten "{oldName}" hernoemen naar "{name}"? Clients die auto:{oldName} aanroepen moeten overstappen op auto:{name}.`,renamePlaceholder:`Nieuwe ketennaam`,renameFailed:`Kan de naam van die keten niet wijzigen.`},notifications:{catalogAdded:`{count} new models added from catalog`,catalogAddedFrom:`{count} new models added for {provider}`,catalogRemoved:`{count} models removed from catalog`,catalogRemovedFrom:`{count} models removed for {provider}`,catalogUpdated:`{count} models updated from latest catalog`,catalogUpdatedFrom:`{count} models updated for {provider}`,discoverAdded:`{count} new models from provider {provider}`,discoverRemoved:`{count} models removed from provider {provider}`,degraded:`Degraded mode active — only {healthy}/{total} providers healthy ({pct}%)`,updateAvailable:`Update available: v{version}`},routingStrip:{canceled:`Canceled`,title:`Live routing`,mode:`Mode`,processing:`Processing…`,idle:`Waiting for a request…`,failed:`Failed`,afterAttempts:`Success after {n} attempts`,activeCount:`{n} active`}};export{e as default};
@@ -0,0 +1 @@
1
+ var e={nav:{models:`Modeller`,playground:`Lekeplass`,keys:`Nøkler`,analytics:`Analyse`,premium:`Premium`,upgrade:`Oppgradering`,settings:`Innstillinger`,signOut:`Logg ut`,openMenu:`Åpne navigasjonsmeny`,switchLight:`Bytt til lys-tema`,switchDark:`Bytt til mørkt tema`,switchToChinese:`Overgang til kinesisk`,switchToEnglish:`Bytte til engelsk`,modelsMenu:`Bla gjennom modelltyper`,agents:`Agenter`,logs:`Logg`,analyticsMenu:`Analysesider`,notifications:`Notifications`,noNotifications:`No notifications yet`},auth:{createYourAccount:`Opprett kontoen din`,signIn:`Logg inn`,email:`E-post`,password:`Passord`,emailPlaceholder:`you@example.com`,passwordPlaceholderSetup:`minst 8 karakterer`,passwordPlaceholderLogin:`Passordet ditt`,setupDescription:`Sett e-post og passord som beskytter dette dashbordet.`,loginDescription:`Logg inn for å administrere nøkler, ruting og analyser.`,createAccount:`Opprett konto`,creating:`Skaper...`,signingIn:`Logger inn...`,loading:`Laster...`,newPasswordAutoComplete:`ny-passord`,currentPasswordAutoComplete:`Current-Password`,serverUnreachableBefore:`Får ikke tilgang til serveren. Sørg for at backend fungerer (`,serverUnreachableAfter:`).`,setupCode:`Oppsettkode`,setupCodePlaceholder:`kode fra serverloggene`,setupCodeHint:`Oppsett fra en annen enhet krever engangskoden skrevet ut i serverloggene ved oppstart.`,changePassword:`Bytt passord`,changeEmail:`Bytt e-post`,forgotPassword:`Glemt passord?`,currentPassword:`Nåværende passord`,newPassword:`Nytt passord`,newEmail:`Ny e-post`,resetCode:`Tilbakestillingskode`,resetCodePlaceholder:`kode fra serverloggene`,resetCodeHint:`Koden står i serverloggen. Den sendes aldri på e-post.`,forgotPasswordDescription:`Klikk på knappen nedenfor for å lage en tilbakestillingskode. Koden skrives til serverloggen og sendes aldri på e-post. Skriv den inn her for å sette nytt passord.`,requestResetCode:`Send kode`,requestingResetCode:`Sender…`,resetPassword:`Tilbakestill passord`,resettingPassword:`Tilbakestiller…`,changingPassword:`Endrer…`,changingEmail:`Endrer…`,backToLogin:`Tilbake til innlogging`,passwordChanged:`Passordet er endret.`,emailChanged:`E-posten er endret.`,passwordReset:`Passordet er tilbakestilt. Logg inn.`,resetCodeDockerHint:`Kjører du i Docker? Koden står i containerloggen: docker logs <container>.`,desktopSessionFailed:`Dashbordet kunne ikke logge inn på den lokale serveren. Avslutt SRouter og åpne det på nytt.`},common:{save:`Lagre`,saving:`Redde...`,cancel:`Avbryt`,discard:`Kast`,delete:`Slett`,confirm:`Bekreft`,copy:`Kopiert`,copied:`Kopiert`,copyFailed:`Kunne ikke kopiere — merk teksten og kopier manuelt`,show:`Show`,hide:`Gjem deg`,apply:`Søk`,applied:`Anvendt`,applying:`Søker...`,active:`Aktiv`,inactive:`Inaktiv`,never:`Aldri`,loading:`Laster...`,error:`Feil`,noData:`Ingen data ennå`,unsavedChanges:`Ulagrede endringer`,saveChanges:`Endringer i lagring`,remove:`Fjern`,unknownError:`Ukjent feil`,model:`Modell`,provider:`Leverandør`,success:`Suksess`,failures:`Feil`,dismiss:`Avvisning`,status:`Status`},settings:{title:`Innstillinger`,language:`Språk`,theme:`Tema`,themeSystem:`System`,themeLight:`Lys`,themeDark:`Mørk`,searchLanguage:`Søk etter språk…`,noLanguages:`Ingen språk funnet`,sections:`Innstillingsseksjoner`,sectionGeneral:`Generelt`,sectionCompression:`Komprimering`,sectionAdvanced:`Avansert`,sectionPreview:`Forhåndsvisning`,generalDescription:`Språk og utseende for dette dashbordet.`,advancedDescription:`Terskler og sikkerhetsbrytere for komprimeringspipelinen.`,compressionTitle:`Promptkomprimering`,compressionDescription:`Reduser forespørselsstørrelsen før ruting, samtidig som kode, feil, stier, tall og verktøydefinisjoner bevares.`,compressionHelp:`Skriver om hver forespørsel før den sendes til en leverandør, slik at den bruker færre tokens. Kode, feil, filstier og tall er beskyttet, og enhver omskriving som skader dem, forkastes.`,compressionMode:`Modus`,compressionModeHelp:`Av sender forespørsler uendret. Tapsfri fjerner bare duplisert og bortkastet tekst. Standard forkorter også verktøyutdata. Aggressiv komprimerer i tillegg eldre samtaleturer.`,compressionOff:`Av`,compressionLossless:`Tapsfri`,compressionStandard:`Standard`,compressionAggressive:`Aggressiv`,compressionLossy:`Med tap`,compressionEngines:`Motorer`,compressionEnginesHelp:`Hver motor er ett omskrivingstrinn. Modusen bestemmer hvilke motorer som kjører; slår du av én her, holdes den utenfor alle modi.`,engineDedup:`Gjentatte blokker`,engineDedupHelp:`Erstatter en tekstblokk som allerede har forekommet tidligere i samtalen, med en kort henvisning til den.`,engineLite:`Opprydding av mellomrom`,engineLiteHelp:`Fjerner mellomrom på slutten av linjer, slår sammen gjentatte tomme linjer og fjerner dupliserte systemmeldinger.`,engineReadLifecycle:`Erstattede fillesinger`,engineReadLifecycleHelp:`Erstatter en tidligere fillesing med en merknad når den samme filen leses eller redigeres på nytt senere.`,engineToolfilter:`Filter for verktøyutdata`,engineToolfilterHelp:`Forkorter kommando- og verktøyutdata som bygg, tester og installasjoner. Feil- og stack trace-linjer beholdes alltid.`,engineJsoncompact:`JSON-tabeller`,engineJsoncompactHelp:`Koder om lange JSON-arrayer med de samme feltene til en kompakt tabell. Reversibelt, så ingenting går tapt.`,engineRelevance:`Relevansfilter`,engineRelevanceHelp:`Fjerner setningene som er minst relatert til den siste meldingen når en melding overskrider størrelsesbudsjettet sitt.`,engineAging:`Eldre samtaleturer`,engineAgingHelp:`Komprimerer turer utover de siste få til et kort sammendrag som beholder stier, feil og beslutninger.`,engineHardBudget:`Tokentak`,engineHardBudgetHelp:`Fjerner de minst verdifulle linjene til forespørselen passer innenfor tokenmålet.`,compressionAutoTrigger:`Utløs automatisk over estimerte tokens`,compressionAutoTriggerHelp:`Forespørsler som er estimert over så mange tokens, bytter automatisk til Aggressiv. La feltet stå tomt for å deaktivere.`,compressionPrefixFreeze:`Frys gjentakende promptprefikser`,compressionPrefixFreezeHelp:`Lar en systemprompt være urørt når den samme teksten er sett tre ganger, slik at prompt-hurtiglagring hos leverandøren fortsetter å virke.`,compressionTrustProjectFilters:`Stol på prosjektfilterfiler`,compressionTrustProjectFiltersHelp:`Laster også inn filtre for verktøyutdata fra arbeidsmappen. Av som standard, fordi et repositorium kan bruke det til å skjule utdata for modellen.`,compressionStats:`Størrelse spart`,compressionEstimatedTokensSaved:`Estimerte tokens spart`,compressionPreview:`Direkte forhåndsvisning`,compressionPreviewDescription:`Send en forespørselstekst gjennom pipelinen for å se hva en leverandør ville motta.`,compressionPreviewPlaceholder:`Lim inn forespørsels-JSON eller ren tekst`,compressionRunPreview:`Kjør forhåndsvisning`,updatesTitle:`Oppdateringer`,checkForUpdates:`Sjekk etter oppdateringer`,lastChecked:`Sist sjekket: {when}`,currentVersion:`Nåværende bygg:`,updateAvailable:`Oppdatering tilgjengelig`,changelog:`Hva er endret`,upToDate:`Oppdatert`,buildAhead:`Dette bygget ligger foran den offisielle main-grenen.`,buildDiverged:`Dette bygget har skilt lag med den offisielle main-grenen.`,buildUnknown:`Dette egendefinerte bygget kan ikke sammenlignes med den offisielle main-grenen.`,notGitInstall:`Denne installasjonen inneholder ikke commit-informasjon.`,checkFailed:`Kunne ikke se etter oppdateringer.`,contactsGithub:`Oppdateringssjekker kjøres manuelt og kontakter GitHub.`,autoUpdateCheck:`Automatisk oppdateringssjekk`,autoUpdateCheckHelp:`Sjekker GitHub én gang om dagen for en ny utgivelse og viser en påminnelse. Av som standard.`,openReleases:`Åpne GitHub Releases`,restartAfterUpdate:`Start SRouter på nytt etter at byggingen er fullført.`,syncSchedule:`Model Sync`,syncScheduleHint:`How often the model catalog is refreshed from the server`,syncIntervalOff:`Off`,syncInterval6h:`Every 6h`,syncInterval12h:`Every 12h`,syncInterval24h:`Every 24h`},models:{title:`Modeller`,chatModelsTab:`Chat-modeller`,fusionTab:`Fusjon`,embeddingsTab:`Innleiringer`,imageTab:`Bilde`,videoTab:`Video`,audioTab:`Lyd`,imageDesc:`Modeller for tekst-til-bilde-generering.`,videoDesc:`Text-to-video generation models.`,audioDesc:`Tekst-til-tale og tale-til-tekst-modeller.`,mediaHint:`Generer via`,mediaEmpty:`Ingen modeller ennå. De synkroniserer fra katalogen.`,ttsHeading:`Tekst-til-tale`,sttHeading:`Tale til tekst`,sttHint:`Transkriber via`,sttEmpty:`Ingen tale-til-tekst-modeller ennå. De synkroniserer fra katalogen.`,newBadge:`Ny`,monthlyTokenBudget:`Månedlig tokenbudsjett`,remaining:`Gjenværende`,used:`Brukt`,usedScopeHint:`Chat requests only, since the start of this calendar month, summed over every model in the active chain — custom endpoints included. Traffic you send to a provider outside SRouter is not counted.`,legendRemainingTitle:`Remaining / monthly budget for {name} ({platform})`,noPublishedQuota:`+{count} with no published quota`,noPublishedQuotaTitle:`These models have no documented monthly token budget, so there is no remaining figure to show.`,of:`av`,showAllModels:`Vis alle {count} modellene`,showLess:`Vis mindre`,vision:`Visjon`,visionTitle:`Godtar bildeinput`,tools:`Verktøy`,toolsTitle:`Sender ut strukturerte verktøykall, slik at den er kvalifisert for verktøybærende forespørsler`,retired:`Utgått`,penalty:`−{value} straff`,obs:`{count} observasjoner`,tokPerMonth:`{count} tok/mo`,rpmLimit:`{count} rpm`,rpdLimit:`{count} RPD`,noKey:`Ingen nøkkel`,dragToReorder:`Dra for å omorganisere`,dragToReorderGroup:`Dra for å omorganisere modellen`,moveToRank:`Hopp til rang`,providerCount:`{count} leverandører`,servedBy:`Betjent av {providers}`,viewProviders:`Vis leverandører`,backToModels:`Tilbake til modellene`,providersHeading:`Leverandører som betjener denne modellen`,codeSnippetHeading:`Bruk denne modellen`,modelNotFound:`Denne modellen er ikke tilgjengelig, eller den har ingen konfigurerte leverandører.`,providerIdsHeading:`Leverandørmodell-ID-er`,providerIdsHint:`Send den enhetlige modell-ID-en for å failover på tvers av alle leverandører, eller en leverandørspesifikk ID for å feste én leverandør.`,copyModelName:`Kopier modellnavn`,settingsHeading:`Leverandørinnstillinger`,settingsHint:`Lokale redigeringer av katalogmodeller beholdes på tvers av katalogsynkroniseringer. Slettede katalogmodeller forblir slettet til du legger dem til igjen via konfigurasjonen.`,catalogModel:`Katalog`,customModel:`skikk`,discoveredModel:`oppdaget`,localOverride:`Lokal overstyring`,displayName:`Visningsnavn`,sizeLabel:`Kapasitetsnivå`,sizeLabelHint:`Frontier/Large/Medium/Small bestemmer etterretningsaksen: et høyere nivå slår alltid et lavere, og innenfor et nivå flytter etterretningsrangeringen fortsatt poengsummen. En modell uten et gjenkjent nivå får den laveste poengsummen på denne aksen, men etterretning er bare én av tre akser — god pålitelighet og hastighet kan fortsatt gi den ruten.`,sizeLabelNone:`Ingen (laveste etterretningspoeng)`,contextWindow:`Kontekst`,inFallback:`I kjeden`,saveModelSettings:`Lagre modellinnstillinger`,aggregateBudget:`{count}/mo`,aggregateBudgetTitle:`Totalt antall gratis tokens per måned hos denne modellens leverandører`,rateRpm:`{count} RPM`,rateRpd:`{count} RPD`,rateTitle:`Rentebegrenset — ingen fast månedlig tokenbudsjett`,rateLimitUsage:`{kind} {used}/{limit}`,rateLimitUsageTitle:`Bruk av hastighetsgrense i tidsvinduet (brukt / grense) for leverandøren med mest ledig kapasitet`,splitOut:`Ikke slå sammen denne kopien`,splitOutHint:`Gi denne leverandørens kopi sin egen separate oppføring i stedet for å slå den sammen til den enhetlige modellen. Du kan flette den tilbake fra kopiens egen side.`,splitUndo:`Slå sammen tilbake`,splitUndoHint:`Denne kopien holdes atskilt fra sin enhetlige modell. Slå den sammen for å mislykkes på tvers av alle leverandørene igjen.`,splitBadge:`holdt adskilt`,noData:`ingen data`,noDataTitle:`Ingen forespørsler registrert ennå - pålitelighet og hastighet er umålt for denne leverandøren.`,bestOfN:`beste av {count}`,perProviderScores:`Poeng per leverandør: {list}`,columnModel:`Modell`,columnOn:`På`,noModelsBefore:`Ingen modeller tilgjengelig. Legg til API nøkler på`,keysPageLink:`Nøkkelside`,noModelsAfter:`Først.`,hiddenNoKeys:`Skjult (ingen nøkler): {platforms}`,searchPlaceholder:`Søk modeller eller leverandører...`,clearSearch:`Rydd søk`,ctxAny:`Noen kontekst`,ctxBadge:`{size} ctx`,ctxTitle:`Kontekstvindu`,copyModelId:`Kopier modell-id`,showingCount:`{shown} av {total} modeller`,clearFilters:`Gjennomsiktige filtre`,noMatches:`Ingen modeller matcher filtrene dine.`,noModelsTitle:`Ingen modeller konfigurert`,intelligenceRank:`Etterretning`,speedRank:`Hastighet`,rankHint:`Rangering i katalogen — 1 er best.`,limitRpm:`RPM`,limitRpd:`RPD`,limitTpm:`TPM`,limitTpd:`TPD`,limitRpmHint:`Forespørsler per minutt. La stå tomt for ingen grense.`,limitRpdHint:`Forespørsler per dag. La stå tomt for ingen grense.`,limitTpmHint:`Tokens per minutt. La stå tomt for ingen grense.`,limitTpdHint:`Tokens per dag. La stå tomt for ingen grense.`,usageThisMonth:`Månedlig bruk`,usageEmpty:`Ingen forespørsler denne måneden ennå.`,usageRequestsMonth:`{count} forespørsler denne måneden`,aliasMergeHeading:`Merge model aliases`,aliasMergeHint:`Requests for the unified model id are also served through these custom-provider aliases (e.g. custom:my-alias).`,aliasMergeAdd:`Add`,aliasMergeRemove:`Remove`,bulkToggle:`Enable or disable every shown model`,enableAll:`Enable all`,disableAll:`Disable all`,enableAllHint:`Turn on every model shown, then Save`,disableAllHint:`Turn off every model shown, then Save`,enabledOfShown:`{enabled} of {shown} shown models are in the chain`},strategies:{explore:`Utforsk umålte modeller`,exploreHint:`Give models with no reliability or speed data a 10% chance to go first so they build a track record. Your real request is what gets sent, so it may be answered by an untested model. For a custom endpoint, use Probe endpoint on the Keys page to test it without live traffic.`,keySelection:`Nøkkelvalg`,keySelectionAuto:`Automatisk`,keySelectionLeastRemaining:`Minst igjen`,keySelectionHint:`Hvordan det velges mellom flere nøkler hos samme leverandør. Automatisk beholder gjeldende rotasjon; Minst igjen rangerer nøklene etter observert kvote og prøver først den som har mest igjen.`,cooldownCeiling:`Lengste automatiske nedkjøling`,cooldownCeilingHint:`Begrenser hvor lenge ruterens egne gjetninger kan benke et sviktende nøkkel- og modellpar. Stigen øker normalt 2 min, 10 min, 1 t, 24 t, og kreditt- eller nivåfeil benker i en dag. Ventetider oppgitt av leverandøren forkortes aldri.`,cooldownCeilingDefault:`Standard (opptil 24 t)`,cooldownCeiling10m:`10 minutter`,cooldownCeiling1h:`1 time`,cooldownCeiling6h:`6 timer`,moreOptions:`Flere alternativer`,peakActive:`(rushtid)`,peakActiveHint:`Justeringen for rushtid er aktiv akkurat nå, så dette er ikke forhåndsinnstillingens egne vekter: 60 % av hastighetsvekten er flyttet til pålitelighet.`,peakAdjust:`Justering for rushtid`,peakAdjustHint:`Av som standard. Innenfor vinduet nedenfor flyttes 60 % av hastighetsvekten til pålitelighet — gratis reléer er mest belastet da, så pålitelighet forutsier suksess bedre enn ren gjennomstrømning. Raskest og Mest pålitelig røres ikke.`,peakFrom:`Fra`,peakTo:`til`,peakTimezoneLabel:`Tidssone`,peakUseBrowserTimezone:`Bruk nettleserens tidssone`,peakTimezoneInvalid:`Ukjent tidssone.`,peakExemptNote:`Denne forhåndsinnstillingen røres ikke — den ligger allerede i den ene enden av avveiningen mellom hastighet og pålitelighet.`,title:`Routingstrategi`,description:`Velg en rutestrategi. I manuell modus drar du for å sette rekkefølgen; De andre strategiene følger live score på tvers av pålitelighet, hastighet og intelligens.`,weightsSummary:`Pålitelighet {reliability} % · Hastighet {speed} % · Intelligens {intelligence} %`,guardrails:`Rekkverk`,guardrailsTooltip:`Alltid-på-sikkerhetsmekanismer: gratis kvote-headroom × straff for gjeldende prisgrense. Under 1,0 betyr at modellen holdes tilbake.`,scoreTooltip:`Endelig rutingscore = vektet gjennomsnitt av de tre aksene, multiplisert med rekkverkene. Høyere ruter først.`,modeManualHint:`Manuell modus: forespørsler følger rekkefølgen nedenfor, fra topp til bunn. Dra for å omorganisere.`,modeScoreHint:`Resultater oppdateres fra sanntidstrafikk. Rekkefølgen nedenfor viser hvordan forespørsler blir rutet akkurat nå.`,manual:`Manuell`,manualBlurb:`Rut i nøyaktig rekkefølgen du har satt nedenfor. Dra håndtakene for å omorganisere. Ingen scoring; kjeden følges fra topp til bunn.`,balanced:`Balansert`,balancedBlurb:`Pålitelighet leder (50 %), med hastighet og intelligens vektet likt (25 % hver). En fornuftig allround-default.`,smartest:`Smartest`,smartestBlurb:`Foretrekk den mest kapable modellen som fortsatt fungerer. Intelligens 55 %, pålitelighet 35 %, hastighet 10 %.`,fastest:`Raskeste`,fastestBlurb:`Foretrekker den raskeste modellen som fortsatt fungerer. Hastighet 55 %, pålitelighet 35 %, intelligens 10 %.`,reliable:`Mest pålitelig`,reliableBlurb:`Maksimer suksessraten over alt annet. Pålitelighet 70 %, hastighet og intelligens 15 % hver.`,custom:`Skikk`,customBlurb:`Sett din egen balanse mellom pålitelighet, fart og intelligens med skyveknapper. Samme motor som forhåndsinnstillingene, bare vektene dine.`,adjust:`Juster`,customWeights:`Egendefinerte vekter`,customWeightsHelp:`Sliders er uavhengige; Aksjer har automatisk balanse til 100 %.`,weightReliability:`Pålitelighet`,weightSpeed:`Hastighet`,weightIntelligence:`Etterretning`,weightRequired:`Minst én vekt må være over null.`,scoreColumn:`Poengsum`},penaltyInspector:{title:`Frestrykk`,subtitle:`Straffer, nedkjølinger og feil fra de siste {minutes} minuttene`,rowCount:`{count} aktive`,offChain:`Off-chain`,penaltyValue:`Straff {value}`,factor:`score x{factor}`,noCooldown:`Ingen nedkjøling`,cooldownChip:`{key} - {time}`,resetCooldown:`Reset cooldown`,clearAll:`Tøm alt`,clearAllHint:`Opphever straks alle nedkjølinger, straffer og feilserier. Presset bygges opp igjen fra de neste reelle resultatene.`,errorsHeading:`{count} nylige feil`,noRecentErrors:`Ingen nylige feil`,noKey:`Ingen nøkkel`,reasons:{penalty:`Straffet`,cooldown:`Nedkjøling`,recent_errors:`Feiler`}},keys:JSON.parse(`{"pageTitle":"Nøkler","pageDescription":"Leverandørlegitimasjon og den samlede API-nøkkelen appene dine kobler seg til.","tabProviders":"Leverandører","checklistSummary":"{configured} av {total} leverandører konfigurert","checklistKeyless":"ingen nøkkel kreves","checklistNoKeyTip":"Ingen nøkkel er lagt til ennå. Klikk for å legge til en.","checklistSignupLink":"Åpne {provider} for å opprette en konto og få en nøkkel","checklistKeylessTip":"Fungerer uten nøkkel.","tabQuotaSignals":"Kvotesignaler","tabApiKey":"Enhetlig API nøkkel","tabAnthropic":"Anthropic","unifiedKey":"Din felles API-nøkkel","regenerate":"Regenerer","showKey":"Show","hideKey":"Gjem deg","copyKey":"Kopiert","copyFullKey":"Kopier hele nøkkelen","copiedKey":"Kopiert","baseUrl":"Base URL","endpointChat":"Chat","endpointResponses":"Svar","endpointEmbeddings":"Innleiringer","endpointEmbeddingsHint":"model: \\"auto\\" eller en familie fra fanen Embeddings","endpointMessages":"Meldinger","endpointMessagesHint":"Anthropic-kompatibel (Claude)","quickStart":"Quick start","quickStartDesc":"Use auto for your active routing chain, or auto:fast to prioritize speed across enabled models. Replace $YOUR_KEY with your unified API key.","exampleAuto":"Auto mode (use the active chain)","exampleFast":"Fast mode (prioritize speed)","anthropicTitle":"Claude (Anthropic) modeller","anthropicDesc":"Pek en Claude eller Anthropic SDK-klient mot denne serveren. Anthropic klienter sender Claude modellnavn — kartlegg hvert til Auto (ruteren velger en gratis modell) eller fest en spesifik.","anthropicBaseUrl":"Base URL","anthropicAuth":"Auth-header","anthropicAuto":"Auto — ruteren velger den beste modellen","anthropicSave":"Lagre mapping","anthropicSaved":"Reddet","anthropicNote":"Anthropic klienter beholder sine innebygde Claude modellnavn; Kartleggingen ovenfor avgjør hvordan hver av dem går inn i poolen din.","familyDefault":"Default","familyOpus":"Opus","familySonnet":"Sonett","familyHaiku":"Haiku","selectPlatform":"Velg en leverandør","addKey":"Legg til nøkkel","keyAdded":"Nøkkel lagt til","endpointKeysShareModels":"Nøkler for det samme endepunktet deler modellene dets.","export":"Eksport","exportAll":"Alle nøkler","exportHealthy":"Kun sunt","exportKeys":"Eksporter API nøkler","exportFormat":"Format","exportHealthyOnly":"Kun friske nøkler","exportHealthyOnlyDesc":"Ekskluder nøkler som for øyeblikket feiler helsesjekker","exportWillExport":"Vil eksportere","exportKey":"Nøkkel","exportKeys plural":"Nøkler","exporting":"Eksport...","exportDownload":"Last ned","exportSuccess":"Eksporterte {count} nøkler","adding":"Legger til...","selectProvider":"Velg en leverandør...","accountId":"Konto-ID","label":"Plateselskap","noKeyNeeded":"(ingen nøkkel nødvendig)","outboundProxy":"Utgående proxy","outboundProxyDescription":"Rus utgående LLM-forespørsler gjennom en proxy. Støtter SOCKS5, HTTP og HTTPS.","proxyUrl":"Proxy URL","saveProxy":"Lagre","savingProxy":"Redde...","proxyLoadFailed":"Kunne ikke laste proxy-innstillingene.","proxyMode":"Mode","proxyModeForward":"Forward proxy","proxyModeFetchRelay":"Fetch relay","relayToken":"Relay token","relayTokenConfigured":"Configured. Leave unchanged to keep.","relayTokenPlaceholder":"Relay bearer token (optional)","relayHeadersHint":"The relay reads the destination and its own credential from","addCustom":"Legg til en tilpasset OpenAI-kompatibel modell","addCustomDescription":"Point chat-, embedding-, bilde- eller lydmodeller på ethvert OpenAI-kompatibelt endepunkt. API-nøkkelen er valgfri for lokale servere.","customType":"Type","customTypeChat":"Chat","customTypeEmbedding":"Innleiring","customTypeImage":"Bilde","customTypeAudio":"Lyd","customTypeTranscription":"Transcription","customBaseUrl":"Base URL","customModels":"Modeller","customModel":"Modell","customDisplayName":"Visningsnavn","customDisplayNamePerModel":"per modell","customDisplayNameOptional":"valgfritt","customFamily":"Familie","customFamilyPlaceholder":"Standardinnstilling til modell-ID","customApiKey":"API nøkkel","customCapabilities":"Kapasiteter","addModel":"Legg til modell","modelAdded":"Modell lagt til","addModels":"Legg til {count} modeller","addEmbeddingModel":"Legg til embedding","addImageModel":"Legg til bildemodell","addAudioModel":"Legg til lydmodell","addTranscriptionModel":"Add transcription model","addingCustom":"Legger til...","discoverModels":"Hent modeller","probeNow":"Test endepunktet","probeConfirm":"Sende opptil 3 testforespørsler?","probeCapabilities":"resonnering: {reasoning} · verktøy: {tools}","probeCapYes":"ja","probeCapNo":"nei","probeCapUnknown":"ukjent","probeSuccess":"Testet {model} på {latency} ms","probeFailed":"Testen mislyktes: {reason}","discoverTitle":"Modeller på dette endepunktet","discoverHint":"Velg modellene som skal registreres. Allerede lagt til forblir låst.","discoverEmpty":"Dette endepunktet returnerte ingen modeller.","discoverAlreadyAdded":"Lagt til","discoverSelectAll":"Velg alle","modelsAdded":"{count} modeller lagt til","getApiKey":"Få tak i nøkkelen API","deleteKeyConfirm":"Slette denne nøkkelen? Dette kan ikke gjøres om.","checkAll":"Sjekk alt","checking":"Sjekker...","editLabel":"Rediger etikett","saveLabel":"Lagre etikett","unifiedKeyDescBefore":"Bruk dette som ditt OpenAI","unifiedKeyDescAfter":"; Den autentiserer forespørsler til denne proxyen.","serverUnreachableBefore":"Får ikke tilgang til serveren på","serverUnreachableAfter":". Sørg for at backend fungerer. NPM kjører utvikling og starter begge, og serverloggene skrives ut under serverprefikset.","paneProviderKey":"Leverandørnøkkel","paneImportFile":"Importer fil","paneCustomEndpoint":"Egendefinert endepunkt","platform":"Plattform","hideAdded":"Skjul tillagte leverandører","apiToken":"API token","keyOptionalPlaceholder":"Valgfritt","bearerTokenPlaceholder":"Bærerbrikk","pasteKeyPlaceholder":"Lim inn nøkkel her","pasteSeveral":"Lim inn flere","keyOptionalHint":"Valgfritt: la feltet stå tomt for det anonyme gratisnivået (begrenset per IP), eller lim inn din egen nøkkel for å bruke kontoen din.","enable":"Enable","noProviderKeys":"Ingen leverandørnøkler ennå. Legg til en over for å starte rutingen.","filterPlaceholder":"Filterleverandører eller nøkler","filterAll":"Alle","filterHealthy":"Sunt","filterIssues":"Problemstillinger","filterDisabled":"Funksjonshemmet","noFilterMatch":"Ingen leverandører matcher filtrene dine.","providerCountSummary":"{providers} leverandører · {keys} nøkler","summaryHealthy":"{count} sunn","summaryIssueOne":"{count} problem","summaryIssueOther":"{count} problemer","providerActions":"Leverandørhandlinger","routeViaProxy":"Rute via proxy","checkNow":"Sjekk nå","syncModels":"Sync models with upstream","syncModelsResult":"Model list synced: {added} added, {total} live","syncModelsFailed":"Model sync failed: {reason}","syncAllModels":"Sync all providers","syncAllPending":"Syncing…","syncAllResult":"Synced {count} provider(s): {registered} model(s) registered","syncAllFailed":"Sync all failed: {reason}","syncAllNoChanges":"All provider rosters are already up to date","syncAllDialogTitle":"Sync Results","syncAllDialogSummary":"Changes detected in {changed} of {total} providers","syncAllNew":"+{count} new","syncAllUpdated":"{count} updated","syncAllRetired":"{count} retired","syncAllNewModels":"New models","syncAllUpdatedModels":"Updated models","syncAllRetiredModels":"Retired models","syncAllDialogClose":"Done","proxyEnvHintBefore":"Også konfigurerbar via","proxyEnvHintAfter":"miljøvariabel (har forrang). La det stå tomt for å deaktivere. Eksempler:","importKeys":"Importer leverandørnøkler","importKeysDescription":"Last opp .env, JSON, JSONC, CSV, Markdown eller tekstfiler.","importFiles":"Filer","importFileCount":"{count} utvalgt","previewFiles":"Forhåndsvisning","previewing":"Forhåndsvisning...","selected":"Utvalgt","provider":"Leverandør","keyName":"Nøkkelnavn","keyValue":"Nøkkelverdi","chooseProvider":"Velg leverandør","noPreviewKeys":"Ingen nøkler funnet i de filene.","skippedItems":"Hoppet over:","moreItems":"+{count} mer","importSelected":"Importer {count}","importing":"Importerer...","noImportSelection":"Velg minst én rad med en leverandør.","duplicate":"Duplikat","duplicatesFound":"{count} duplikat(er) oppdaget — eksisterer allerede og vil bli hoppet over.","importResult":"Importerte {imported}; mislyktes {failed}.","importModelCount":"+{count} modeller","importResultWithModels":"Importerte {imported}; registrerte {models} modeller; mislyktes {failed}.","confirmRemove":"Bekreft?","quotaSignalsTitle":"Kvotesignaler","quotaSignalsEmptyTitle":"Ingen kvoteobservasjoner ennå","quotaSignalsEmptyDesc":"Dette fylles ut etter at leverandører returnerer rate-limit-headers, kvotefeil eller valideringssignaler.","quotaKeyRef":"Nøkkel #{id}","quotaPoolRef":"Pool {pool}","quotaLimit":"Grense","quotaRemaining":"Gjenværende","quotaReset":"Tilbakestilling","quotaObserved":"Observert","tabAgents":"Agenter","familyGeminiPro":"Gemini Pro","familyGeminiFlash":"Gemini Flash","familyGeminiFlashLite":"Gemini Flash-Lite","geminiTitle":"Gemini-modelltilordning","geminiDesc":"Tilordne navnene Gemini Pro, Flash og Flash-Lite til Auto eller en bestemt katalogmodell.","compatibilityTitle":"Agentkompatibilitet","compatibilityDesc":"Styr valgfrie kompatibilitetsflater og modelloppdaging for Claude Code.","ollamaMode":"Ollama-emulering","ollamaModeHint":"Åpen loopback godtar aldri uautentisert LAN-trafikk.","ollamaOff":"Av","ollamaLoopback":"Åpen på loopback","ollamaKeyRequired":"API-nøkkel kreves","claudeAliases":"Oppdagingsaliaser for Claude Code","claudeAliasesHint":"Eksponer claude/<model>-aliaser slik at gatewayens modellvelger kan liste opp katalogen.","mcpServer":"MCP-server","mcpServerHint":"Eksponerer /mcp-endepunktet for agentklienter. Nye installasjoner starter avslått.","urlTokensTitle":"Tilbakekallbare URL-tokener","urlTokensDesc":"Kun for klienter uten headere. URL-tokener kan lekke inn i historikk og logger, så tilbakekall dem når de ikke lenger trengs.","urlTokenLabel":"Tokenetikett","createUrlToken":"Opprett token","urlTokenOnce":"Kopier dette tokenet nå. Det vises ikke igjen.","revoked":"Tilbakekalt","revoke":"Tilbakekall","modelScope":"Modellomfang","modelScopeDesc":"Begrens denne nøkkelen til bestemte modell-ID-er. For alle andre modeller hopper ruteren over nøkkelen.","modelScopeAdd":"Skriv inn en modell-ID og trykk Enter","modelScopeEmpty":"Ingen avgrensning satt — nøkkelen betjener alle modellene til leverandøren sin.","modelScopeClear":"Fjern avgrensning","modelScopeBadgeOne":"begrenset · 1 modell","modelScopeBadgeOther":"begrenset · {count} modeller","modelPicker":{"title":"Hvilke modeller skal denne nøkkelen betjene?","hint":"{provider}-nøkkelen din er lagt til og betjener for øyeblikket alle modellene nedenfor. Fjern haken ved modellene nøkkelen ikke får brukes til — ruteren hopper da over den for disse.","count":"{selected} av {total} valgt","allNote":"Alt er valgt — ingenting lagres, og modeller som legges til i katalogen senere, vil også bruke denne nøkkelen.","subsetNote":"Nøkkelen begrenses til de valgte modellene. Du kan endre dette senere fra nøkkelens rad.","skip":"Ikke nå","scopedOne":"Nøkkel begrenset til 1 modell","scopedOther":"Nøkkel begrenset til {count} modeller","allSaved":"Key serves every catalog model"},"cpTitle":"Klientprofiler","cpDesc":"API-nøkler per klient, hver med en systemprompt som serveren alltid bruker.","cpEmpty":"Ingen klientprofiler ennå.","cpNameLabel":"Navn","cpNamePlaceholder":"f.eks. Supportbot","cpPromptLabel":"Systemprompt (valgfritt)","cpPromptPlaceholder":"Instruksjoner som serveren setter inn før hver forespørsel med denne nøkkelen.","cpCreate":"Opprett profil","cpRotate":"Roter nøkkel","cpKeyOnce":"Kopier denne nøkkelen nå — den vises ikke igjen.","cpEnabledAria":"Profil aktivert","selectKey":"Velg denne nøkkelen","bulkSelected":"{count} valgt","bulkEnable":"Aktiver alle","bulkDisable":"Deaktiver alle","bulkDelete":"Slett alle","bulkDeleteConfirm":"Slette {count}?","bulkResult":"Oppdaterte {done}; mislyktes {failed}.","bulkDeleteResult":"Slettet {done}; mislyktes {failed}.","testProxy":"Test","testingProxy":"Testing…","proxyTestOk":"Proxy works — {ms}ms round trip","proxyTestFail":"Proxy failed: {reason}","editKey":"Rediger nøkkel","editPlatformLocked":"Leverandøren og endepunktet kan ikke endres etter oppretting.","editCredentialHint":"La feltet stå tomt for å beholde gjeldende nøkkel.","editCredentialPartsRequired":"Skriv inn både kontoidentifikator og API-token.","editModels":"Rediger modeller","editModelsHint":"Choose which catalog models this key may serve. Select everything to clear the scope so future catalog models use it too.","editModelsCustomHint":"Choose which registered endpoint models this key may serve. Select everything to clear the scope.","editModelsSync":"Check catalog updates","editModelsSyncing":"Checking…","editModelsSynced":"Model catalog checked","outlookUnavailable":"Unavailable","outlookNoForecasts":"Forecast unavailable. More recent traffic or reliable quota readings are needed.","outlookCoverage":"Forecasts available for {count} of {total} pools.","outlookTraffic":"{count} successful requests through this instance in the last {minutes} minutes.","outlookMinimumTraffic":"An exhaustion forecast needs at least {count} successful requests within {minutes} minutes.","outlookNotReportedHint":"The provider has not reported a usable request balance and limit. Local usage is shown; remaining quota is unavailable.","outlookMissingResetHint":"The provider did not report a valid reset time. Remaining quota cannot support an exhaustion forecast.","outlookConfidenceHint":"This balance is not reliable enough for an exhaustion forecast.","outlookObserved":"Balance observed: {time}","outlookUnavailablePools":"Unavailable quota pools ({count})","outlookTitle":"Quota outlook","outlookInsufficient":"Not enough data","outlookLowBalance":"Low balance","outlookRunningLow":"Running low soon","outlookStale":"Needs fresh data","outlookUnknown":"Unknown","outlookWithinQuota":"Within quota","outlookResetsFirst":"Not before reset","outlookExhausted":"Already exhausted","outlookLastReported":"requests last reported","outlookRequestsLeft":"requests left","outlookNotReported":"Not reported","outlookRate":"Recent rate","outlookRateValue":"{count} req/min","outlookRunsOut":"May run out","outlookStaleHint":"This balance is old or its window has expired. A fresh provider reading is needed.","outlookError":"Could not load quota forecasts. Raw observations are still available below.","outlookRetry":"Retry","outlookAttention":"Quota pools needing attention: {count}","outlookNoWarnings":"No forecast warnings. Pools with insufficient data may still be limited.","outlookHint":"Rates count successful requests through this instance only, not usage elsewhere. Forecasts require recent provider balances and reported resets. Warnings appear below 20% remaining or when quota may run out within two hours, before reset.","outlookRaw":"Raw quota observations","addCustomModel":"Legg til tilpasset modell","modelId":"Modell-ID","modelIdRequired":"Modell-ID er påkrevd","modelDisplayName":"Visningsnavn","modelContextWindow":"Kontekstvindu (tokens)","modelRateLimits":"Hastighetsgrenser (valgfritt)","modelSupportsTools":"Støtter verktøykall","modelSupportsToolsHint":"Aktiver hvis denne modellen kan kalle funksjoner og verktøy","modelSupportsVision":"Støtter visjon","modelSupportsVisionHint":"Aktiver hvis denne modellen godtar bildeinndata","createModel":"Opprett modell","modelAddedSuccess":"Tilpasset modell lagt til","modelAddFailed":"Kunne ikke legge til tilpasset modell","testModel":"Test","testingModel":"Tester…","testPassedShort":"Bestått","testFailedShort":"Mislyktes","testPassed":"Modelltest bestått på {latency}ms","testFailed":"Modelltest mislyktes","testThrottled":"Vent {seconds}s før du tester denne modellen igjen.","noModelsForProvider":"Ingen modeller konfigurert for denne tilbyderen.","testModels":"Test modeller","syncAllCatalog":"Catalog: +{inserted} added, ~{updated} updated, -{removed} removed","requestCapLabel":"Request cap","tokenCapLabel":"Token cap","budgetPeriodLabel":"Budget period","budgetPeriodDaily":"Daily","budgetPeriodWeekly":"Weekly","budgetPeriodMonthly":"Monthly","budgetPeriodAuto":"Auto (follow provider)","autoResolvedDaily":"Detected provider cycle: daily","autoResolvedMonthly":"Detected provider cycle: monthly","autoResolvedFallback":"Provider cycle unknown, defaulting to monthly","capUnlimitedPlaceholder":"Ubegrenset","capEditHint":"Caps reset at the next period boundary, 00:00 UTC. Leave blank for unlimited.","monthlyUsageLine":"{requests} forespørsler, {tokens} tokens denne måneden","monthlyUsageRequests":"{requests} requests","monthlyUsageTokens":"{tokens} tokens","monthlyUsageRequestsRelative":"{used} / {cap} ({remaining} left) requests","monthlyUsageTokensRelative":"{used} / {cap} ({remaining} left) tokens","monthlyUsageReset":"reset {date}"}`),backups:{title:`Backups`,description:`Save the routing data to a .sql file beside the database, and restore it later.`,excludedNote:`A backup carries your providers, models, routing settings and request history. Accounts, sessions and URL tokens are never included, so a dump holds no password hashes or login tokens and restoring one cannot log you out. Provider keys stay encrypted with this server's ENCRYPTION_KEY: a backup can only be restored on a server that still holds that key.`,selectHint:`Back up everything, or pick the tables you need.`,selectAll:`Select all`,deselectAll:`Clear`,fullBackup:`Full backup`,backupSelected:`Back up selected ({count})`,created:`Backup written to {filename}`,list:`Backups on disk`,empty:`No backups yet`,full:`All tables`,tablesCount:`{count} tables`,manual:`Manual`,scheduled:`Scheduled`,preRestore:`Pre-restore`,download:`Download`,restore:`Restore`,confirmRestore:`Replace data?`,restored:`Restored. The previous data was saved as {filename}.`,delete:`Delete backup`,prevPage:`Previous`,nextPage:`Next`,autoTitle:`Automatic backups`,autoHint:`The server writes a full backup on this cadence.`,time:`Time (HH:mm)`,intervalDays:`Every N days`,path:`Folder`,pathPlaceholder:`backups`,pathHint:`Relative to the database directory. Backups cannot be written outside it.`,save:`Save schedule`,saved:`Saved`},status:{healthy:`Sunt`,rateLimited:`Prisbegrenset`,invalid:`Ugyldig`,error:`feil`,unchecked:`ukontrollert`},analytics:{title:`Analyse`,description:`Forespørselsvolum, forsinkelse, tokenbruk og feil.`,range24h:`24 timer`,range7d:`7d`,range30d:`30d`,range90d:`90d`,requests:`Forespørsler`,successRate:`Suksessrate`,inputTokens:`Inndatatokens`,outputTokens:`Utdatatokens`,avgLatency:`Gjennomsnittlig latens`,p95Latency:`P95-latens`,avgTtft:`Gjennomsnittlig TTFT`,estSavings:`Estimert sparing`,requestsByProvider:`Forespørsler fra leverandør`,avgLatencyByProvider:`Gjennomsnittlig latens per leverandør`,ttftByProvider:`Tid til første token etter leverandør`,ttftEmpty:`Ingen tid til første token er registrert ennå.`,requestsOverTime:`Forespørsler over tid`,tokensOverTime:`Tokens over tid`,byModel:`Etter modell`,byPlatform:`Etter plattform`,errors:`Feil`,errorDistribution:`Feilfordeling`,pinnedRequests:`Festede forespørsler`,pinnedHonored:`Hedret`,fallbackAttempts:`Forsøk på tilbaketrekning`,savingsHint:"Du har faktisk lagret ${actual} de siste {range}. Det er det de samme tokenene ville kostet på betalte API-er, priset per modell. Tallet som vises projiserer tempoet ditt fra siste {span} data til hele 30 dager.",savingsHintExact:"Du har faktisk lagret ${actual} de siste {range}. Det er det de samme tokenene ville kostet på betalte API-er, priset per modell. Tallet som vises er din reelle 30-dagers total.",requestsHintPinned:`{pinned} av disse forespørslene festet en spesifikk modell ved navn. {honored} ble betjent av den pinnede modellen; {failed} gikk over til en annen. Resten ble automatisk rutet.`,requestsHintAuto:`Alle forespørsler i denne perioden ble automatisk rutet; Ingen kunde festet en spesifikk modell ved navn.`,requestsHintTypes:`{chat} chatte og {embedding} innbyggingsforespørsler.`,rangeLabel24h:`24 timer`,rangeLabel7d:`7 dager`,rangeLabel30d:`30 dager`,rangeLabel90d:`90 dager`,spanDays:`{count} dager`,spanHours:`{count} timer`,latencyMs:`Latens (ms)`,latency:`Latens`,pinned:`Festet`,inTokens:`I brikker`,outTokens:`Ut-brikker`,saved:`Reddet`,message:`Melding`,time:`Tid`,perModelBreakdown:`Oppdeling per modell`,usageByKey:`Bruk etter nøkkel`,keyColumn:`Nøkkel`,keyLabelFallback:`Nøkkel#{id}`,errorsByProvider:`Feil etter leverandør`,recentErrors:`Nylige feil`,noErrors:`Ingen feil`,recentCalls:`Nylige oppdrag`,clientIp:`Klient-IP`,clientAgent:`Klientapp`,requestedModelHint:`Bedt om {model}, betjent som reserveplan`,attempts:`Forsøk`,filterAll:`Alle`,filterCanceled:`Avbrutt`,providerBreakdown:`Fordeling per leverandør`,tokensPerSec:`Tok/s`,allProviders:`Alle tilbydere`,requestDetailTitle:`Forespørsel #{id}`,failoverLadder:`Failover-stige`,failoverLadderHint:`Hvert hopp denne forespørselen tok gjennom fallback-kjeden, i rekkefølge.`,noAttemptTrace:`Ingen forsøksspor ble registrert for denne forespørselen.`,keyOrdinal:`Nøkkel #{n}`,keyBadge:`Nøkkel #{n}`,attemptTimingHint:`Startforskyvning fra forespørselsstart · Forsøksvarighet`,requestedModel:`Etterspurt modell`,ttft:`TTFT`,requestsByAgent:`Forespørsler per agent`,sortBy:`Sorter etter {column}`,sortHint:`Sorteringen gjelder de {count} innlastede radene`,cacheHitRate:`Cache-treffrate`,cacheSavedTokens:`{tokens} tokens spart`,cacheHitRateHint:`{hits} treff mot {misses} bom siden serveren startet · {requests} leverandørkall unngått`},logs:{title:`Logg`,description:`Live serverlogg. Nye oppføringer kommer inn mens siden er åpen.`,pause:`Sett på pause`,resume:`Fortsett`,clear:`Tøm loggen`,cleared:`Serverloggen er tømt`,levelFilter:`Loggnivåer`,levels:{debug:`Debug`,info:`Info`,warn:`Advarsel`,error:`Feil`},countsHint:`Tallene gjelder hele loggbufferen på serveren, ikke bare oppføringene som treffer disse filtrene.`,searchPlaceholder:`Søk i loggmeldinger…`,jumpToLatest:`Gå til nyeste`,showMore:`Vis mer`,showLess:`Vis mindre`,buffered:`Viser {count} av opptil {max} bufrede oppføringer`,emptyTitle:`Ingen loggoppføringer ennå`,emptyDescription:`Oppføringer vises her etter hvert som serveren skriver dem. Utvid filtrene for nivå, leverandør eller søk hvis du ventet utdata.`,noLevelsTitle:`Ingen nivåer valgt`,noLevelsDescription:`Slå på minst ett nivå for å se loggutdata.`,loadFailed:`Kunne ikke laste inn serverloggen.`},playground:{title:`Lekeplass`,description:`Send en chat-fullføring via ruteren og se hvilken leverandør som betjener den.`,autoModel:`Auto (reservekjede)`,fusionModel:`Fusjon (multi-modellsyntese)`,selectModel:`Velg modell`,searchModels:`Søk modeller...`,noModelsFound:`Ingen modeller funnet`,send:`Send`,sending:`Sender...`,clear:`Klart`,inputPlaceholder:`Skriv en melding... (⏎ for å sende, ⇧⏎ for nylinje)`,emptyTitle:`Send en melding for å komme i gang.`,emptyDescription:`Å bruke {model}. Bytt modell i velgeren over.`,noModels:`Ingen modeller ennå. Legg til en API-tast på Nøkler-siden for å fylle ut denne listen.`,copyReply:`Kopier svar`,fallback:`Tilbakefall`,fallbacks:`Fallbacks`,fusionPanel:`Panel`,fusionJudge:`Dommer`,fusionTrace:`{count} modellresponser`,fusionFailed:`Ingen respons`,fusionJudgeSynth:`syntetiserte det endelige svaret`,errorPrefix:`Feil:`,systemPromptLabel:`Systemprompt`,systemPromptPlaceholder:`Valgfritt. Sendt som en systemmelding før chatten din.`,showSettings:`Vis innstillinger`,hideSettings:`Skjul innstillinger`,samplingHeading:`Sampling`,samplingHelp:`Når den er av, gjelder leverandørens egen standard. Bare kontrollene du slår på, sendes med.`,samplingDefault:`Default`,temperature:`Temperatur`,topP:`Top P`,maxTokens:`Maks. tokens`,errorTitle:`Forespørselen ble avvist`,attach:`Legg ved filer`,attachTooMany:`Du kan legge ved opptil {count} filer per melding.`,attachTooLarge:`{name} er for stor. Grensen er {max}.`,attachUnsupported:`{name} støttes ikke. Legg ved bilder (PNG, JPEG, WebP, GIF) eller tekstfiler (TXT, MD, CSV, JSON, LOG).`,attachFailed:`Kunne ikke lese {name}.`,noVisionBadge:`Ingen bilder`,visionWarning:`{model} godtar ikke bilder. Velg en modell med bildeinput eller Auto.`,dictate:`Dikter`,dictationStop:`Stopp opptak`,dictationTranscribing:`Transkriberer…`,dictationUnavailable:`Legg til leverandører av lydmodeller for å kunne diktere.`,dictationModel:`Dikteringsmodell`,dictationFailed:`Transkripsjon mislyktes: {reason}`,artifactOpen:`Åpne forhåndsvisning`,artifactPreview:`Forhåndsvisning`,artifactCode:`Kode`,artifactClose:`Lukk forhåndsvisning`,artifactDownload:`Last ned`,artifactReload:`Last inn forhåndsvisningen på nytt`,artifactHtml:`HTML-side`,artifactSvg:`SVG-bilde`,artifactLines:`linjer`,artifactResize:`Endre størrelse på forhåndsvisning`},playgroundSessions:{heading:`Samtaler`,newConversation:`Ny samtale`,showSidebar:`Vis samtaler`,hideSidebar:`Skjul samtaler`,empty:`Ingen lagrede samtaler ennå.`,untitled:`Samtale uten navn`,rename:`Gi nytt navn`,renamePlaceholder:`Samtalens navn`,messageCount:`{count} meldinger`,justNow:`akkurat nå`,minutesAgo:`for {count} min siden`,hoursAgo:`for {count} t siden`,daysAgo:`for {count} d siden`,loadFailed:`Kunne ikke åpne den samtalen.`,renameFailed:`Kunne ikke gi den samtalen nytt navn.`,deleteFailed:`Kunne ikke slette den samtalen.`,actions:`Samtalehandlinger`,newChat:`Ny chat`},embeddings:{title:`Modeller`,description:`Embeddinger failover kun innenfor en familie: samme modell som leveres av en annen leverandør. Vektorer fra forskjellige modeller er inkompatible, så ruteren bytter aldri modell på deg.`,defaultBadge:`Standard · Auto`,makeDefault:`Gjør default`,moveUp:`Flytt deg opp`,moveDown:`Flytt deg ned`,usageToday:`{count} krav i dag`,usageMonth:`{count} tok denne måneden`,autoDescription:`model: "auto" på POST /v1/embeddings ruter til standardfamilien. Å navngi en familie (eller en leverandørmodell-ID) pinner den familien; Leverandører innenfor den blir prøvd i rekkefølge.`,unsavedChanges:`Ulagrede endringer`,saveChanges:`Endringer i lagring`,savingChanges:`Redde...`,tokMax:`{tokens} tok max`,emptyTitle:`Ingen innbeddingsmodeller ennå`,emptyDesc:`Embedding-familier vises her når du legger til en leverandørnøkkel som støtter embeddings.`,dragToReorder:`Dra for å omorganisere leverandøren`},fusion:{title:`Fusjon`,description:`Et panel av modeller svarer parallelt, deretter syntetiserer en dommer ett sterkere svar. Bruk det ved å kalle API med modell for «fusion».`,panelSource:`Panelkilde`,panelSourceHelp:`Hvor panelmodellene kommer fra når en forespørsel ikke spesifiserer sin egen.`,mode:{auto:`Auto (Fallback-kjede)`,autoHelp:`Velg et variert utvalg modeller fra Fallback-kjeden din, rangert etter din aktive rutestrategi.`,explicit:`Eksplisitt panel`,explicitHelp:`Bruk alltid de spesifikke modellene du velger nedenfor.`},panelModels:`Panelmodeller`,selectedCount:`{count} av {max} valgt`,noModels:`Ingen modeller er koblet til ennå. Legg til en API-nøkkel, og aktiver deretter modeller i Fallback-kjeden.`,panelSize:`Panelstørrelse`,panelSizeHelp:`Hvor mange forskjellige modeller skal man velge automatisk (1–{max}).`,judge:`Dommermodell`,judgeHelp:`Modellen som syntetiserer panelets svar til ett. Auto bruker din høyest rangerte modell.`,judgeAuto:`Auto (høyest rangert tilgjengelig)`,strategy:`Strategi`,strategySynthesize:`Syntetiser — bland panelet til ett svar`,strategyBestOf:`Best av — returner det aller sterkeste svaret (ingen dommeravgjørelse)`,strategySynthesizeShort:`Syntes`,strategyBestOfShort:`Best av`,exposePanel:`Detaljer i eksponeringspanelet`,exposePanelHelp:`Legg ved hver modells svar og dommermetadata under et x_fusion felt i svaret.`,howToUse:`Hvordan bruke`,howToUseHelp:`Send en vanlig chatforespørsel med modellen "fusion". Disse innstillingene er standard; Enhver forespørsel kan overstyre dem med et "fusjonsfelt".`,unsavedChanges:`Ulagrede endringer`,save:`Lagre`,searchPlaceholder:`Search models…`,providerFilterLabel:`Filter by provider`,providerAll:`All providers`,noMatch:`No models match your search.`},premium:{title:`Premium`,description:`Den levende modellkatalogen, på alle enheter.`,loading:`Laster...`,checkForUpdates:`Sjekk etter oppdateringer`,syncing:`Synkronisering...`,catalogFeed:`Katalogfeed`,liveFeed:`Direktesending`,monthlySnapshot:`Månedlig oversikt`,lastChecked:`Sist sjekket: {when}`,liveDescription:`Nye gratis modeller, kvoteendringer og quirk-fikser lander her innen timer etter at de er sendt. Appen sjekker automatisk to ganger om dagen; Ingenting å gjøre.`,snapshotDescription:`Gratis nivå: katalogen oppdateres fra et månedlig øyeblikksbilde, sjekket automatisk to ganger daglig. Premium bytter dette til live-feeden, oppdatert hver 2.-3. dag.`,lastSyncProblem:`Siste synkroniseringsproblem: {error}`,license:`Lisens`,planAnnual:`Årlig premie`,planLifetime:`Premium livstid`,expired:`Utløpt`,inactive:`Inaktiv`,lifetimeNote:`Livstidslisens: utløper aldri.`,renewsOn:`Fornyer på {date}.`,willNotRenew:`Vil ikke fornye. Premium frem til {date}, så faller denne installasjonen tilbake til den gratis månedlige katalogen.`,keyInactive:`Denne nøkkelen er ikke lenger aktiv. Appen fortsetter å jobbe med den gratis månedlige katalogen.`,manageSubscription:`Administrer abonnement`,openingPortal:`Åpner...`,removeKey:`Fjern nøkkelen fra denne enheten`,manageHint:`Administrer abonnement åpner Stripe sin faktureringsportal: kanseller, oppdater kortet ditt, eller last ned fakturaer. Å fjerne nøkkelen deaktiverer bare denne enheten; Kjøpet ditt er urørt.`,licenseKey:`Lisensnøkkel`,licenseKeyPlaceholder:`fla_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`,activate:`Aktiver`,activating:`Aktiverer...`,keyHint:`Nøkkelen din er i kjøps-e-posten og på siden etter utsjekk. Mistet den?`,recoverKey:`Hent det tilbake på nettsiden`,upsellTitle:`Gå live for 19 dollar i året`,upsellDescription:`Nye gratis modeller i det øyeblikket de finnes, i stedet for 30 dager senere. Én nøkkel, hver enhet. Avbestill når som helst; Ruteren er gratis for alltid.`,goPremium:`Velg Premium`,bundled:`Bundled`,planGeneric:`Premium`},languages:{en:`English`,"zh-CN":`中文 (简体)`,es:`Español`,fr:`Français`,"pt-BR":`Português (Brasil)`,it:`Italiano`,hi:`हिन्दी`,ar:`العربية`,bn:`বাংলা`,ru:`Русский`,ur:`اردو`,id:`Bahasa Indonesia`,de:`Deutsch`,ja:`日本語`,sw:`Kiswahili`,mr:`मराठी`,te:`తెలుగు`,tr:`Türkçe`,ta:`தமிழ்`,vi:`Tiếng Việt`,ko:`한국어`,fa:`فارسی`,th:`ไทย`,gu:`ગુજરાતી`,pl:`Polski`,uk:`Українська`,kn:`ಕನ್ನಡ`,ml:`മലയാളം`,or:`ଓଡ଼ିଆ`,my:`မြန်မာဘာသာ`,pa:`ਪੰਜਾਬੀ`,ro:`Română`,nl:`Nederlands`,ms:`Bahasa Melayu`,tl:`Filipino`,ha:`Hausa`,yo:`Yorùbá`,ig:`Igbo`,am:`አማርኛ`,uz:`Oʻzbekcha`,az:`Azərbaycanca`,si:`සිංහල`,ne:`नेपाली`,km:`ខ្មែរ`,el:`Ελληνικά`,cs:`Čeština`,hu:`Magyar`,sv:`Svenska`,he:`עברית`,da:`Dansk`,fi:`Suomi`,no:`Norsk`,sk:`Slovenčina`,bg:`Български`,hr:`Hrvatski`,sr:`Српски`,lt:`Lietuvių`,"zh-TW":`中文 (繁體)`,"pt-PT":`Português (Portugal)`,ka:`ქართული`},errors:{boundaryTitle:`Noe gikk galt`,boundaryDescription:`Dashbordet fikk en uventet feil. Dataene dine er trygge. Prøv igjen eller gå tilbake til modellsiden.`,tryAgain:`Prøv igjen`,goHome:`Tilbake til modellene`},notFound:{title:`Side ikke funnet`,description:`Denne siden eksisterer ikke eller kan ha flyttet seg.`},setup:{title:`Å komme i gang`,subtitle:`Tre steg for å rute din første forespørsel.`,progress:`{done} av {total}`,step1Title:`Legg til en leverandørnøkkel`,step1Desc:`Koble til minst én leverandørkonto. Gratis nøkler fungerer.`,step1Cta:`Legg til nøkler`,step2Title:`Send en testforespørsel`,step2Desc:`Velg hvilken som helst modell i lekeplassen og si hei.`,step2Cta:`Åpen lekeplassen`,step3Title:`Koble til appen din`,step3Desc:`Bruk din Unified API-nøkkel med hvilken som helst OpenAI-kompatibel klient.`,copyKey:`Kopier API nøkkelen`,copyUrl:`Kopier base URL`,copiedKey:`API tast kopiert til utklippstavle`,copiedUrl:`Base URL kopiert til klippebrett`},palette:{title:`Kommandopalett`,placeholder:`Søkesider, modeller, handlinger...`,empty:`Ingen resultater`,groupPages:`Sider`,groupActions:`Handlinger`,groupModels:`Modeller`,toggleTheme:`Slå av mørk modus`},validation:{required:`Påkrevd`,url:`Skriv inn en gyldig URL som starter med http:// eller https://`,email:`Skriv inn en gyldig e-postadresse`,passwordMin:`I hvert fall {min} karakterer`},agents:{title:`Kodeagenter`,description:`Koble kodeverktøy til én gateway for gratis modeller med generert, sikkerhetskopivennlig konfigurasjon.`,apiKey:`API-nøkkel`,quickstartTitle:`Hurtigstart`,quickstart:`Raskeste vei: konfigurer Claude Code fra live-katalogen.`,currentKey:`Gjeldende samlenøkkel:`,seenRecently:`Nylig sett`,setupLabel:`Automatisk oppsett`,setupHint:`Skriver verktøyets konfigurasjonsfil for deg, rettet mot denne gatewayen.`,setupGuideHint:`Viser verktøyets oppsettstrinn; ingen filer skrives.`,manualLabel:`Manuell tilkobling`,manualHint:`Basis-URL og nøkkel til verktøyets egne innstillinger.`,endpoint:`Endepunkt`,documentation:`Dokumentasjon`,descriptions:{claude:`Anthropic's terminal agent: it plans, edits files, and runs commands in your repo.`,codex:`OpenAI's terminal agent, which runs your task in a local sandbox first.`,cline:`A VS Code extension that asks you to approve every edit and command.`,continue:`A VS Code and JetBrains extension for inline autocomplete and chat while you type.`,aider:`A command-line pair programmer that turns each change into its own git commit.`,opencode:`A provider-agnostic terminal agent with a full-screen text interface.`,goose:`Block's local agent, extended with MCP servers to reach past your code.`,qwen:`A Gemini CLI fork tuned for Qwen models and large repositories.`,roo:`A VS Code extension with switchable modes: architect, coder, debugger.`,kilo:`A VS Code extension merging Roo and Cline, with an orchestrator that splits up work.`,crush:`Charm's terminal agent, written in Go, with one session per project.`,dsh:`DeepSeek's harness, which keeps every provider as a route you can switch between.`,mimo:`Xiaomi's terminal agent, an OpenCode fork that takes any OpenAI-compatible provider.`,cursor:`The AI-first editor; it calls through Cursor's cloud, so it needs a public URL.`,generic:`Anything else that speaks the OpenAI API, set up by hand from a base URL and key.`,atomcode:`AtomGit's terminal agent, written in Rust, that takes any OpenAI-compatible endpoint.`,openclaw:`En alltid tilgjengelig personlig assistent som svarer på WhatsApp, Telegram, Discord og mer fra din egen maskin.`,hermes:`Nous Researchs selvforbedrende agent med varig minne og ferdigheter, i terminalen eller i chat-apper.`,pi:`En minimal terminalagent du former med egne utvidelser, ferdigheter og promptmaler.`}},update:{available:`New version available`,whatsNew:`What's new in v{version}`,publishedOn:`Published {date}`,noNotes:`No release notes were published for this version.`,openRelease:`Open release page`,dismissVersion:`Dismiss this version`,dismiss:`Dismiss`},freeTier:{poolsToggle:`Free-tier pools ({count})`,poolsToggleBare:`Free-tier pools`,summary:`{pools} pools · {budget} tokens/mo counted once per pool · {credits} credits-based · {unpublished} unpublished`,pool:`Pool`,models:`Models`,budget:`Monthly budget`,kind:`Kind`,kindDocumented:`Documented`,kindCredits:`Credits`,kindUnpublished:`Unpublished`,remaining:`Remaining`,resetAt:`Resets at`,disabledModels:`({count} off)`,metricTokens:`tokens`,metricRequests:`requests`,metricCredits:`credits`,metricNeurons:`neurons`,metricOther:`units`,empty:`No enabled models with free-tier budget data.`,poolLabel:`{platform} · shared {scope} pool`,poolLabelBare:`{platform} · shared pool`,poolModels:`{count} models`,poolBudget:`{budget}/mo`,poolBudgetTitle:`One monthly allowance for the whole pool, scaled by the {count} usable keys on this platform. Every model listed under it draws from the same budget.`,poolNoQuota:`no published quota`,poolResets:`resets {time}`,independentBudgets:`independent budgets`},chains:{title:`Fallback chains`,description:`Named chains, each callable as auto:<name> in /v1/models.`,count:`{count} chains`,active:`Active`,default:`Default`,activate:`Activate`,activateHint:`Make this the chain the table below edits and the one auto routes through`,deleteHint:`Delete this chain`,deleteConfirm:`Delete chain "{name}"?`,create:`Create`,createPlaceholder:`Chain name`,createFailed:`Could not create the chain.`,nameRules:`Up to 20 characters: letters, digits, hyphens and underscores.`,startEmpty:`Start empty`,startEmptyHint:`Create the chain with no models in it, and keep new catalog models out of it. Unchecked, it starts as a copy of the default chain.`,curated:`Curated`,curatedHint:`New catalog models are not added to this chain automatically.`,renameHint:`Gi denne kjeden nytt navn`,renameConfirm:`Gi kjeden "{oldName}" navnet "{name}"? Klienter som kaller auto:{oldName} må bytte til auto:{name}.`,renamePlaceholder:`Nytt kjedenavn`,renameFailed:`Kunne ikke gi den kjeden nytt navn.`},notifications:{catalogAdded:`{count} new models added from catalog`,catalogAddedFrom:`{count} new models added for {provider}`,catalogRemoved:`{count} models removed from catalog`,catalogRemovedFrom:`{count} models removed for {provider}`,catalogUpdated:`{count} models updated from latest catalog`,catalogUpdatedFrom:`{count} models updated for {provider}`,discoverAdded:`{count} new models from provider {provider}`,discoverRemoved:`{count} models removed from provider {provider}`,degraded:`Degraded mode active — only {healthy}/{total} providers healthy ({pct}%)`,updateAvailable:`Update available: v{version}`},routingStrip:{canceled:`Canceled`,title:`Live routing`,mode:`Mode`,processing:`Processing…`,idle:`Waiting for a request…`,failed:`Failed`,afterAttempts:`Success after {n} attempts`,activeCount:`{n} active`}};export{e as default};